WO2002086733A1 - System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels - Google Patents

System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels Download PDF

Info

Publication number
WO2002086733A1
WO2002086733A1 PCT/IL2001/001199 IL0101199W WO02086733A1 WO 2002086733 A1 WO2002086733 A1 WO 2002086733A1 IL 0101199 W IL0101199 W IL 0101199W WO 02086733 A1 WO02086733 A1 WO 02086733A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
parcel
parcels
request
image data
Prior art date
Application number
PCT/IL2001/001199
Other languages
French (fr)
Inventor
Isaac Levanon
Yonathan Lavi
Original Assignee
Flyover Technologies, Inc.
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27559415&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=WO2002086733(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Flyover Technologies, Inc. filed Critical Flyover Technologies, Inc.
Priority to KR10-2003-7008610A priority Critical patent/KR20040035585A/en
Priority to JP2002584184A priority patent/JP2004527046A/en
Publication of WO2002086733A1 publication Critical patent/WO2002086733A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/403Edge-driven scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4092Image resolution transcoding, e.g. client/server architecture
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG

Definitions

  • the present invention is related to network based, image distribution systems and, in particular, to a system and methods for efficiently selecting and distributing image parcels through a narrowband or otherwise limited bandwidth communications channel to support presentation of high- resolution images subject to dynamic viewing frustums.
  • the Internet and other network systems provide a unique opportunity to transmit complex images, typically large scale bit-maps, particularly those approaching photo-realistic levels, over large distances.
  • images are geographic, topographic, and other highly detailed maps.
  • the data storage requirements and often proprietary nature of such images are such that conventional interests are to transfer the images on an as-needed basis.
  • the image data is transferred over a relatively high-bandwidth network to client computer systems that, in turn, render the image.
  • Client systems typically implement a local image navigation system to provide zoom and pan functions based on user interaction.
  • full resolution image presentation is subject to the inherent transfer latency of the network.
  • Different conventional systems have been proposed to reduce the latency affect by transmitting the image in highly compressed formats that support progressive resolution build-up of the image within the current client field of view.
  • Using a transform compressed image transfer function increases the field of the image, that can be transferred over a fixed bandwidth network in unit time.
  • Progressive image resolution transmission typically using a differential resolution method, permits an approximate image to be quickly presented with image details being continuously added overtime.
  • Tzou in U.S. Patent Number 4,698,689, describes a two- dimensional data transform system that supports transmission of differential coefficients to represent an image. Subsequent transmitted coefficient sets are progressively accumulated with prior transmitted sets to provide a succeedingly refined image.
  • the inverse-transform function performed by the client computer is, however, highly compute intensive.
  • images are sub-divided into a regular array. This enables the inverse-transform function on the client, which is time-critical, to deal with substantially smaller coefficient data sets.
  • the array size in Tzou is fixed, which leads to progressively larger coefficient data sets as the detail level of the image increases. Consequently, there is an inherently increasing latency in resolving finer levels of detail.
  • the Yap et al. system also employs a progressive encoding transform to compress the image transfer stream.
  • the transform also operates on a subdivided image, but the division is indexed to the encoding level of the transform.
  • the encoded transform coefficient data sets are, therefore, of constant size, which supports a modest improvement in the algorithmic performance of the inverse transform operation required on the client.
  • Yap et al. adds utilization of client image panning or other image pointing input information to support a foveation-based operator to influence the retrieval order of the subdivided image blocks.
  • This two- dimensional navigation information is ussd to identify a foveal region that is presumed to be the gaze point of a client system user.
  • the foveation operator defines the corresponding image block as the center point of an ordered retrieval of coefficient sets representing a variable resolution image.
  • the gaze point image block represents the area of highest image resolution, with resolution reduction as a function of distance from the gaze point determined by the foveation operator.
  • This technique thus progressively builds image resolution at the gaze point and succeedingly outward based on a relatively compute intensive function. Shifts in the gaze point can be responded to with relative speed by preferentially retrieving coefficient sets at and near the new foveal region.
  • conventionj_ ⁇ l image visualization systems also presume that the client is supported by a complete operating system. Indeed, many expect and require an extensive set of graphics abstraction layers to be provided by the client system to support the presentation of the delivered image data. In general, these abstraction layers are conventionally considered required to handle the mapping of the image data resolution to the display resolution capabilities of the client system. That is, resolution resolved image data provided to the client is unconstrained by any limitation in the client system to actuallydisplaythe corresponding image. Consequently, substantial processor performance and memory can be conventionally devoted to handling image data that is not or cannot be displayed.
  • Another problem is that small clients are generally constrained to generally to very limited network bandwidths, particularly when operating under wireless conditions. Such limited bandwidth conditions may exist due to either the direct technological constraints dictated by the use of a low bandwidth data channel or indirect constraints imposed on relatively high- bandwidth channels by high concurrent user loads.
  • Cellular connected PDAs and webphones are examples of small clients that are frequently constrained by limited bandwidth conditions.
  • the conventionally realizable maximum network transmission bandwidth for such small devices may range from below one kilobit per second to several tens of kilobits per second. While Yap et al. states that the described system can work over low bandwidth lines, little more than utilizing wavelet-based data compression is advanced as permitting effective operation at low communications bandwidths.
  • Yap et al. simply relies on the data packet transfer protocols to provide for an efficient transfer of the compressed image data.
  • Reliable transport protocols however, merely mask packet losses and the resultant, sometimes extended, recovery latencies. When such covered erjors occur, however, the aggregate bandwidth of the connection is reduced and the client system can stall waiting for further image data to process.
  • ⁇ general purpose of the present invention is to provide an efficient system and methods of optimally presenting image data on client systems with potentially limited processing performance, resources, and communications bandwidth.
  • the parcel request subsystem includes a parcel request queue and is operative to request discrete image data parcels in a priority order and to store received image data parcels in a parcel data store.
  • the parcel request subsystem is responsive to an image parcel request of assigned priority to place the image parcel request in the parcel request queue ordered in correspondence with the assigned priority.
  • the parcel rendering subsystem is coupled to the parcel data store to selectively retrieve and render received image data parcels to a display memory. The parcel rendering system provides the parcel request subsystem with the image parcel request of the assigned priority.
  • An advantage of the present invention is that both image parcel data requests and the rendering of image data are optimized to address the display based on the display resolution of. the client system.
  • Another advantage of the present invention is that the prioritization of image parcel requests is based on an adaptable parameter that minimizes the computational complexity of determining request prioritization and, in turn, the progressive improvement in display resolution within the field of view presented on a client display.
  • a further advantage of the present invention is that the client software system requires relatively minimal client processing power and storage capacity. Compute intensive numerical calculations are minimally required and image parcel data is compactly stored in efficient data structures.
  • the client software system is very small and easily downloaded to conventional computer systems or embedded in conventional dedicated function devices, including portable devices, such as PDAs and webphones.
  • Still another advantage of the present invention is that image parcel data requests and presentation can be readily optimized to use low to very low bandwidth network connections.
  • the software system of the present invention provides for re-prioritization of image parcel data requests and presentation in circumstances where the rate of point-of-view navigation exceeds the data request rate.
  • Yet another advantage of the present invention is that image parcel data rendering is performed without requiring any complex underlying hardware or software display subsystem.
  • the client software system of the present invention includes a bit-map rendering engine that draws directly to the video memory of the display, thus placing minimal requirements on any underlying embedded or disk operating system and display drivers. Complex graphics and animation abstraction layers are not required.
  • Still another advantage of the present invention is that image parcel block compression is used to obtain fixed size transmission data blocks.
  • Image parcel data is recoverable from transmission data using a relatively simple client decompression algorithm.
  • Using fixed size transmission data blocks enables image data parcels to be delivered to the client in bounded time frames.
  • a yet further advantage of the present invention is that multiple data forms can be transferred to the client software system for concurrent display.
  • Sparse array overlay data, correlated positionallyto the image parcel data and generally insensitive to image parcel resolution, can be initially or progressively provided to the client for parsing and parallel presentation on a client display image view.
  • Figure 1 depicts a preferred system environment within which various embodiments of the present invention can be utilized
  • Figure 2 is a block diagram illustrating the preparation of image parcel and overlay data set that are to be stored by and served from a network server system in accordance with a preferred embodiment of the present invention
  • FIG. 3 is a block diagram of a client system image presentation system constructed in accordance with a preferred embodiment of the present invention.
  • Figure 4 provides a data block diagram illustrating an optimized client image block processing path constructed in accordance with a preferred embodiment of the present invention
  • Figure 5 is a process flow diagram showing a main processing thread implemented in a preferred embodiment of the present invention.
  • Figure 6 provides a process flow diagram showing a network request thread implemented in a preferred embodiment of the present invention
  • Figure 7 provides ⁇ process flow diagram showing a display image rendering thread implemented in a preferred embodiment of the present invention
  • Figure 8 provides a process flow diagram showing the parcel map processing performed preliminary to the rendering of image data parcels in accordance with a preferred embodiment of the present invention
  • Figure 9 provides a process flow diagram detailing the rendering and progressive prioritization of image parcel data download requests in accordance with a preferred embodiment of the present invention.
  • Figure 1 0 provides a process flow diagram detailing the determination of an optimal detail level for image parcel presentation for a current viewing frustum in accordance with a preferred embodiment of the present invention.
  • a network server system 1 2 operating as a data store and server of image data, is responsive to requests received through a communications network, such as the Internet 1 4 generally and various tiers of internet service providers (ISPs) including a wireless connectivity provider 1 6.
  • ISPs internet service providers
  • Client systems including conventional workstations and personal computers 1 8 and smaller, typically dedicated function devices often linked through wireless network connections, such as PDAs, webphones 20, and automobile navigation systems, source image requests to the network server 1 2, provide a client display and enable image navigational input by a user of the client system.
  • a dedicated function client system 20 may be connected through a separate or plug-in local network server 22, preferably implementing a small, embedded Web server, to a fixed or remov ⁇ ble storage local image repository 24.
  • client system 1 8, 20 displays are operated at some fixed resolution generally dependent on the underlying display hardware of the client systems 1 8, 20.
  • the image navigation capability supported by the present invention encompasses a viewing frustum placed within a three-dimensional space over the imaged displayed on the client 1 8, 20.
  • Client user navigational inputs are supported to control the x, y lateral, rotational and z height positioning of the viewing frustum over the image as well as the camera angle of incidence relative to the plane of the image.
  • the software implemented on the client systems 1 8, 20 supports a three- dimensional transform of the image data provided from the server 12, 22.
  • a network image server system 30 stores a combination of source image data 32 and source overlay data 34.
  • the source image data 32 is typically high-resolution bit-map satellite imagery of geographic regions, which can be obtained from commercial suppliers.
  • the overlay image data 34 is typically a discrete data file providing image annotation information at defined coordinates relative to the source image data 32.
  • image annotations include, for example, street, D ⁇ ilding and landmark names, as well as representative 2 and 3D objects, graphical icons, decals, line segments, and text and other characters.
  • the network image server system 30 preferably pre-processes the source image data 32 and source overlay data 34 to forms preferred for storage and serving by the network server 1 2, 22.
  • the source image data 32 is preferably pre-processed to obtain a series K, .N of derivative images of progressively lower image resolution.
  • the source image data 32, corresponding to the series image K 0 is also subdivided into a regular array such that each resulting image parcel of the array has a 64 by 64 pixel resolution where the image data has a color or bit per pixel depth of 1 6 bits, which represents a data parcel size of 8K bytes.
  • the resolution of the series K,. N of derivative images is preferably related to that of the source image data 32 or predecessor image in the series by a factor of four.
  • the array subdivision is likewise related by a factor of four such that each image parcel is of a fixed 8K byte size.
  • the image parcels are further compressed and stored by the network server 1 2, 22.
  • the preferred compression algorithm implements a fixed 4:1 compression ratio such that each compressed and stored image parcel has a fixed 2K byte size.
  • the image parcels are preferably stored in a file of defined configuration such that any image parcel can be located by specification of a K D , X, Y value, representing the image set resolution index D and corresponding image array coordinate.
  • the source overlay data 34 is preferably pre-processed 36 into either an open XML format, such as the Geography Markup Language (GML), which is an XML based encoding standard for geographic information developed by the OpenGIS Consortium (OGC; www.opengis.org), or a proprietary binary representation.
  • GML Geography Markup Language
  • the XML/GML representation is preferred as permitting easier interchange between different commercial entities, while the binary representation is preferred as more compact and readily transferable to a client system 1 8, 20.
  • the source overlay data 34 is pre-processed to contain the annotation data preferably in a resolution independent form associated with a display coordinate specification relative to the source image data 32.
  • the XML, GML or binary overlay data may be compressed prior to storage on the network server 1 2, 22.
  • the preferred architecture 40 of a client system 1 8, 20, for purposes of implementing the present invention, is shown in Figure 3.
  • the architecture 40 is preferably implemented by a software plug-in or application executed by the client system 1 8, 20 and that utilizes basic software and hardware services provided by the client system 1 8, 20.
  • a parcel request client 42 preferably implements an HTML client that supports HTML-based interactions with the server 1 2, 22 using the underlying network protocol stack and hardware network interface provided by the client systems 1 8, 20.
  • a central parcel processing control block 44 preferably implements the client process and control algorithms. The control block 44 directs the transfer of received image parcels and XML/GML/binary overlay data to a local parcel data store 46.
  • image data parcels are stored in conventional quadtree data structures, where tree nodes of depth D correspond to the stored image parcels of a derivative image of resolution K D .
  • the XML/GML/binary overlay data is preferably stored as a data object that can be subsequently read by an XML/GML/binary parser implemented as part of the control block 44.
  • the control block 44 is also responsible for decompressing and directing the rendering of image parcels to a local display by a rendering engine 48.
  • the rendering engine 48 writes to the video memory of the underlying client display hardware relying on only generic graphics acceleration hardware capabilities. In general, the relied on capabilities include bit-bit and related bit-oriented functions that are readily supported by current conventional display controller hardware.
  • the rendering engine 48 is optimized to perform image parcel texture mapping without reliance on complex floating point operations, permitting even relatively simple processors to efficiently execute the rendering engine 48. Ch ⁇ nges in the viewing frustum are determined from user input navigation commands by a frustum navigation block 50.
  • the input navigation controls are modeled for three-dimensional fly-over navigation of the displayed image. The navigation controls support point-of-view rotation, translation, attitude, and altitude over the displayed image. The effective change in viewing frustum as determined by the frustum navigation block 50 is provided to the control block 44.
  • the control block 44 determines the ordered priority of image parcels to be requested from the server 1 2, 22 to support the progressive rendering of the displayed image.
  • the image parcel requests are placed in a request queue 52 for issuance by the parcel request client 42.
  • the pending requests are issued in priority order, thereby dynamically reflecting changes in the viewing frustum with minimum latency.
  • FIG. 4 An optimal image parcel data flow 60, as configured for use in the preferred embodiments of the present invention, is shown in Figure 4.
  • the TCP/IP network protocol is used to deliver image parcels to the clients 1 8, 20.
  • entire image parcels are preferably delivered in corresponding data packets. This preference maximizes data delivery while avoiding the substantial latency and processing overhead of managing image parcel data split over multiple network packets.
  • a 2K byte compressed image parcel 62 is delivered as the data payload of a TCP/IP packet 64. Uncompressed, the 8K byte image parcel 62 is recognized as part of the present invention as being within the nominally smallest LI data cache 66 size of conventional microprocessors 68.
  • the texture map rendering algorithm can executewith minimum memory management overhead, thus optimally utilizing the processing capability of the microprocessor 68. Additionally, the writing of video data as a product of the rendering algorithm is uniform, thereby improving the apparent video stability of the display to the user.
  • the client architecture 40 preferably executes in multiple process threads, with additional threads being utilized for individual network data request transactions.
  • an image parcel management process 80 implements a loop that determines image parcels subject to update 82 and creates corresponding image parcel download requests 84. Navigation events that alter the viewing frustum are considered in part to determine the current field of view.
  • the quad-tree data structures are examined 86 to identify viewable image parcels of higher resolution than currently available in the parcel data store 46.
  • a pool of image request threads is preferably utilized to manage the image parcel download operations.
  • a pool of four network request threads is utilized.
  • the number of pool threads is determined as a balance between the available system resources and the network response latency, given the available bandwidth of the network connection.
  • four concurrent threads are able to support a relatively continuous delivery of image data parcels to the client 20 for display processing.
  • a free request thread is employed to issue 88 a corresponding network request to the server 1 2, 22.
  • the corresponding thread recovers 90 the image parcel data.
  • the received image parcel is then stored 92 in a corresponding quad-tree data structure node.
  • a memory management process 94 runs to monitor use of the parcel data store 46 and selectively remove image parcels to free memory for newly requested image parcels.
  • the memory management process 94 operates to preferentially remove image parcels that are the furthest from the current viewing frustum and that have the highest data structure depth. Child node image parcels are always removed before a parent node parcel is removed.
  • a preferred network request management process 100 is shown in Figure 6.
  • the process 1 00 waits 1 02 on the existence of a download request in the priority request queue 52.
  • the process 1 00 then waits on a network request pool thread to become free 104.
  • the process 1 00 examines 1 06 all of the pending requests in the priority request queue 52 and selects 1 08 the request with the highest assigned priority.
  • sequentially enqueued requests can be selectively issued out of order based on an independently assigned request priority.
  • the request is then issued 1 10 and the request management process 1 00 leaves the request thread waiting on a network response.
  • Figure 7 presents a preferred-display management process 1 20.
  • Event driven user navigation information is evaluated 1 22 to determine a current viewing frustum location and orientation within a three-dimensional space relative to the displayed image.
  • An algorithmic priority selection 1 24 of a next image parcel to render is then performed.
  • the selected image parcel is then rendered 1 26 to the display memory 70.
  • the rendering operation preferably performs a texture map transform of the parcel data corresponding to the current viewing frustum location and orientation.
  • the overlay data is then parsed or is pre-parsed to determine 1 28 whether the image coordinates of any overlay annotation correspond to the current image parcel location. If the coordinates match, the overlay annotation is rendered 1 30 to the video display memory 70.
  • the process 1 20 then continues with the next selection 1 24 of an image parcel to render, subject to any change in the viewing frustum location and orientation.
  • any outstanding requests in the priority request queue 52 are preferably cleared 142 in response to a change in the viewing frustum location and orientation.
  • the effective altitude of the viewing frustum and the resolution of the client display are then used as a basis for determining an optimal level of detail L that will be displayed.
  • the detail level L value operates as a floor defining the maximum resolution K L of image data that can be effectively viewed on the client display given the location and orientation of the viewing frustum.
  • the image display space is progressively split 146 by four to one reductions into polygons.
  • the quad-tree data structures holding existing image parcel data in the parcel data store 46 are concurrently traced 1 48 to establish a correspondence with the polygon map. Where the trace of a quad-tree data structure completes 1 50 to a node index of L for a polygon P, the node corresponding image parcel is associated with polygon P.
  • the polygon P will not be further subdivided and no higher resolution image parcels will be requested for any portion of the image within the area represented by polygon P.
  • the image parcel associated with the node is associated with the polygon P'.
  • This polygon P' will be subject to further subdivision and progressive requests for image parcels of higher resolution up to the detail level L.
  • a display image is then rendered 1 60 beginning with the maximum depth polygons previously found. Iterating over, the set of maximum depth polygons, any polygons outside of the viewing frustum are skipped 1 62. Polygons that are at least partially visible are clipped to the applicable bounds of the viewing frustum 1 64. The polygon corresponding image parcel data is then texture mapped 166 into the polygon corresponding coordinates of the video memory 70. If the node index depth of the rendered image parcel is at least equal to the prior determined optimal detail level L 1 68, the iteration over the polygons P continues.
  • the polygon P' is subdivided into four polygons and correspondingly represented by the creation of fourchild nodes within the associated quad-tree data structure 1 72.
  • Four image parcel download requests are then created 1 74.
  • the download priority associated with each request is determined 1 76 by execution of a function S that operates on a 2D polygon argument P and returns a real number representing the request priority.
  • the function argument P is a list of real (x, y) coordinates of the vertices of the current polygon in screen coordinates after being clipped to fit within the current viewing frustum. That is, the function S works over general polygons in a two-dimensional space, whose vertices are specified by the series ⁇ ( ⁇ 0 ) / y0 )) > ( x (2) ,y(2)),... ,(x(n),y(n)) ⁇ .
  • the argument P vertices sent to S represent the position of the vertices composing each of the polygons, after being clipping to the viewing frustum, viewable within the display space having the fixed resolution [xRes, yRes].
  • the clipped polygons are all within the rectangle [0, xRes] x [0, yRes].
  • the function S then returns a real value that is equal to the area covered by the argument polygon P vertices subject to the applied coordinate transformation.
  • the accumulated priority for any image parcel pending download is the sum of the values of returned by the function S for each of the viewable polygons that require some part of the image parcel as the source data for texture map rendering of the polygon.
  • the priority operation of the request queue 52 is such that download requests will be issued preferentially for image parcels with the largest priority value.
  • the value of the control parameter d can be adjusted to ultimately affect the behavior of the function S in determining the download request priority.
  • image parcels with lower resolution levels will accumulate greater priority values due to the larger number of polygons that may use a given low resolution image parcel as a rendering data source. Such lower resolution image parcels are therefore more likely to be preferentially downloaded. In accordance with the present invention, this generally assures th at a complete image of at least low resolution will be available for rendering.
  • the control parameter d as applied in execution of the function S, well as the area distortion produced by the projection transform also influences the value returned by the function S such that relatively higher- resolution image parcels near the image view point will occasionally achieve a higher priority than relatively remote and partially viewed image parcels of lower resolution.
  • Using values smaller than 1 for the control parameter d results in requests with a higher priority for parcels covering areas near the focal point of the viewer, which is presumed to be the center point of the display space, relative to requests for parcels further from the center point in absolute terms and of the same resolution depth D.
  • the priority assigned to image parcel requests effectively in luences the order of requests based on the relative contribution of the image parcel data to the total display quality of the image.
  • a value of 0.35 for the control parameter d for small screen devices, such as PDAs and webphones has been found to produce desirable results.
  • the computed priorities of each of the four newly created image parcel requests are then assigned 1 78 and the requests are enqueued in the priority request queue 52.
  • the next polygpn P is then considered in the loop of the image parcel rendering process 1 60.
  • the preferred algorithm 1 80 for determining the detail level L value for a given viewing frustum is shown in Figure 1 0.
  • the optimal detail level L is effectively the limit at which the resolution of image parcel data functionally exceeds the resolution of the client display.
  • the viewpoint or camera position of the viewing frustum is determined 1 82 relative to the displayed image.
  • a nearest polygon P of depth D is then determined 1 84 from the effective altitude and attitude of the viewpoint.
  • the nearest point A of the polygon P is then determined 1 86.
  • the point A may be within the interior or an edge of the polygon P, though most likely be located at a vertex of the polygon P.
  • the optimum level of detail L at point A is then computed 1 88 as the base-4 logarithm of the number of pixels on the screen that would be covered by a single pixel from an image parcel of the lowest resolution K N image, which is the quad-tree root image and corresponds to an image area covering the entire image map.
  • the point A optimal detail level L is preferably computed analytically from the local value of the Jacobian of the projective transform used to transform the three dimensional image coordinate space to screen coordinates, evaluated at the point A.
  • the detail level L is taken as the optimal detail level L 1 90.
  • an image parcel or corresponding section of the closest resolution image parcel associated with a parent node in the quad-tree data structure relative to the depth level L will be used as the texture for rendering the polygon P.
  • the depth D is less than that of the optimal detail level L
  • the polygon P is effectively split into quadrants and the optimal level of detail is reevaluated.
  • the process 1 80 thus continues iteratively until the optimal detail level L is found.

Abstract

Dynamic visualization of image data provided through a network communications channel (Fig.14) is performed by a client system including a parcel request subsystem and a parcel rendering subsystem. The parcel request subsystem includes a parcel request queue (52) an is operative to request discrete image data parcels in a priority order and to store received image data parcels in a parcel data store. The parcel request subsystem is responsive to an image parcel request of assigned priority to place the image parcel request in the parcel request queue ordered in correspondence with the assigned priority. The parcel rendering subsystem (48) is coupled to the parcel data store to selectively retrieve and render received image data parcels (42) to a display memory. The parcel rendering system provides the parcel request subsystem with the image parcel request of the assigned priority (52).

Description

SYSTEM AND METHODS FOR NETWORK IMAGE
DELIVERY WITH DYNAMIC VIEWING FRUSTUM OPTIMIZED
FOR LIMITED BANDWIDTH COMMUNICATION CHANNELS
This application claims the benefit of U.S. Provisional Application Nos. 00/258,488, 60/258,489, 60/258,465, 60/258,468, 60/258,466, and 60/258,467, all filed December 27, 2000.
Cross- Reference to Related Applications The present application is related to the co-pending application Optimized Image Delivery over Limited Bandwidth Communication Channels, Levanon et al., filed concurrently herewith and which is assigned to the Assignee of the present Application.
Background of the Invention Field of the Invention:
The present invention is related to network based, image distribution systems and, in particular, to a system and methods for efficiently selecting and distributing image parcels through a narrowband or otherwise limited bandwidth communications channel to support presentation of high- resolution images subject to dynamic viewing frustums. Description of the Related Art:
The Internet and other network systems provide a unique opportunity to transmit complex images, typically large scale bit-maps, particularly those approaching photo-realistic levels, over large distances. In common application, the images are geographic, topographic, and other highly detailed maps. The data storage requirements and often proprietary nature of such images are such that conventional interests are to transfer the images on an as-needed basis.
In conventional fixed-site applications, the image data is transferred over a relatively high-bandwidth network to client computer systems that, in turn, render the image. Client systems typically implement a local image navigation system to provide zoom and pan functions based on user interaction. As well recognized problem with such conventional systems is that full resolution image presentation is subject to the inherent transfer latency of the network. Different conventional systems have been proposed to reduce the latency affect by transmitting the image in highly compressed formats that support progressive resolution build-up of the image within the current client field of view. Using a transform compressed image transfer function increases the field of the image, that can be transferred over a fixed bandwidth network in unit time. Progressive image resolution transmission, typically using a differential resolution method, permits an approximate image to be quickly presented with image details being continuously added overtime.
Tzou, in U.S. Patent Number 4,698,689, describes a two- dimensional data transform system that supports transmission of differential coefficients to represent an image. Subsequent transmitted coefficient sets are progressively accumulated with prior transmitted sets to provide a succeedingly refined image. The inverse-transform function performed by the client computer is, however, highly compute intensive. In order to simplify the transform implementation and further reduce the latency of presenting any portion of an approximate image, images are sub-divided into a regular array. This enables the inverse-transform function on the client, which is time-critical, to deal with substantially smaller coefficient data sets. The array size in Tzou is fixed, which leads to progressively larger coefficient data sets as the detail level of the image increases. Consequently, there is an inherently increasing latency in resolving finer levels of detail.
An image visualization system proposed by Yap et al., U.S. Patent Number 6, 1 82, 1 1 4, overcomes some of the foregoing problems. The Yap et al. system also employs a progressive encoding transform to compress the image transfer stream. The transform also operates on a subdivided image, but the division is indexed to the encoding level of the transform. The encoded transform coefficient data sets are, therefore, of constant size, which supports a modest improvement in the algorithmic performance of the inverse transform operation required on the client.
Yap et al. adds utilization of client image panning or other image pointing input information to support a foveation-based operator to influence the retrieval order of the subdivided image blocks. This two- dimensional navigation information is ussd to identify a foveal region that is presumed to be the gaze point of a client system user. The foveation operator defines the corresponding image block as the center point of an ordered retrieval of coefficient sets representing a variable resolution image. The gaze point image block represents the area of highest image resolution, with resolution reduction as a function of distance from the gaze point determined by the foveation operator. This technique thus progressively builds image resolution at the gaze point and succeedingly outward based on a relatively compute intensive function. Shifts in the gaze point can be responded to with relative speed by preferentially retrieving coefficient sets at and near the new foveal region.
Significant problems remain in permitting the convenient and effective use of complex images by many different types of client systems, even with the improvements provided by the various conventional systems. In particular, the implementation of conventional image visualization systems is generally unworkable for smaller, often dedicated or embedded, clients where use of image visualization would clearly be beneficial. Conventional approaches effectively presume that client systems have an excess of computing performance, memory and storage. Small clients, however, typically have restricted performance processors with no dedicated floatingpoint support, little general purpose memory, and extremely limited persistent storage capabilities, particularly relative to common image sizes. A personal digital assistant (PDA) is a characteristic small client. Embedded, low-cost kiosk and automobile navigation systems are other typical examples. Such systems are not readily capable, if at all, of performing complex, compute- intensive Fourier or wavelet transforms, particularly within a highly restricted memory address space.
As a consequence of the presumption that the client is a substantial computing system, conventionj_ιl image visualization systems also presume that the client is supported by a complete operating system. Indeed, many expect and require an extensive set of graphics abstraction layers to be provided by the client system to support the presentation of the delivered image data. In general, these abstraction layers are conventionally considered required to handle the mapping of the image data resolution to the display resolution capabilities of the client system. That is, resolution resolved image data provided to the client is unconstrained by any limitation in the client system to actuallydisplaythe corresponding image. Consequently, substantial processor performance and memory can be conventionally devoted to handling image data that is not or cannot be displayed.
Another problem is that small clients are generally constrained to generally to very limited network bandwidths, particularly when operating under wireless conditions. Such limited bandwidth conditions may exist due to either the direct technological constraints dictated by the use of a low bandwidth data channel or indirect constraints imposed on relatively high- bandwidth channels by high concurrent user loads. Cellular connected PDAs and webphones are examples of small clients that are frequently constrained by limited bandwidth conditions. The conventionally realizable maximum network transmission bandwidth for such small devices may range from below one kilobit per second to several tens of kilobits per second. While Yap et al. states that the described system can work over low bandwidth lines, little more than utilizing wavelet-based data compression is advanced as permitting effective operation at low communications bandwidths. While reducing the amount of data that must be carried from the server to the client is significant, Yap et al. simply relies on the data packet transfer protocols to provide for an efficient transfer of the compressed image data. Reliable transport protocols, however, merely mask packet losses and the resultant, sometimes extended, recovery latencies. When such covered erjors occur, however, the aggregate bandwidth of the connection is reduced and the client system can stall waiting for further image data to process.
Consequently, there remains a need for an image visualization system that can support small client systems, place few requirements on the supporting client hardware and software resources, and efficiently utilize low to very low bandwidth network connections.
Summary of the Invention Thus, α general purpose of the present invention is to provide an efficient system and methods of optimally presenting image data on client systems with potentially limited processing performance, resources, and communications bandwidth.
This is achieved in the present invention by providing for the dynamic visualization of image data provided through a network communications channel by a client system including a parcel request subsystem and a parcel rendering subsystem. The parcel request subsystem includes a parcel request queue and is operative to request discrete image data parcels in a priority order and to store received image data parcels in a parcel data store. The parcel request subsystem is responsive to an image parcel request of assigned priority to place the image parcel request in the parcel request queue ordered in correspondence with the assigned priority. The parcel rendering subsystem is coupled to the parcel data store to selectively retrieve and render received image data parcels to a display memory. The parcel rendering system provides the parcel request subsystem with the image parcel request of the assigned priority.
An advantage of the present invention is that both image parcel data requests and the rendering of image data are optimized to address the display based on the display resolution of. the client system.
Another advantage of the present invention is that the prioritization of image parcel requests is based on an adaptable parameter that minimizes the computational complexity of determining request prioritization and, in turn, the progressive improvement in display resolution within the field of view presented on a client display.
A further advantage of the present invention is that the client software system requires relatively minimal client processing power and storage capacity. Compute intensive numerical calculations are minimally required and image parcel data is compactly stored in efficient data structures. The client software system is very small and easily downloaded to conventional computer systems or embedded in conventional dedicated function devices, including portable devices, such as PDAs and webphones.
Still another advantage of the present invention is that image parcel data requests and presentation can be readily optimized to use low to very low bandwidth network connections. The software system of the present invention provides for re-prioritization of image parcel data requests and presentation in circumstances where the rate of point-of-view navigation exceeds the data request rate.
Yet another advantage of the present invention is that image parcel data rendering is performed without requiring any complex underlying hardware or software display subsystem. The client software system of the present invention includes a bit-map rendering engine that draws directly to the video memory of the display, thus placing minimal requirements on any underlying embedded or disk operating system and display drivers. Complex graphics and animation abstraction layers are not required.
Still another advantage of the present invention is that image parcel block compression is used to obtain fixed size transmission data blocks. Image parcel data is recoverable from transmission data using a relatively simple client decompression algorithm. Using fixed size transmission data blocks enables image data parcels to be delivered to the client in bounded time frames.
A yet further advantage of the present invention is that multiple data forms can be transferred to the client software system for concurrent display. Sparse array overlay data, correlated positionallyto the image parcel data and generally insensitive to image parcel resolution, can be initially or progressively provided to the client for parsing and parallel presentation on a client display image view.
Brief Description of the Drawings
These and other advantages and features of the present invention will become better understood upon consideration of the following detailed description of the invention when considered in connection with the accompanying drawings, in which like reference numerals designate like parts throughout the figures thereof, and wherein:
Figure 1 depicts a preferred system environment within which various embodiments of the present invention can be utilized;
Figure 2 is a block diagram illustrating the preparation of image parcel and overlay data set that are to be stored by and served from a network server system in accordance with a preferred embodiment of the present invention;
Figure 3 is a block diagram of a client system image presentation system constructed in accordance with a preferred embodiment of the present invention;
Figure 4 provides a data block diagram illustrating an optimized client image block processing path constructed in accordance with a preferred embodiment of the present invention;
Figure 5 is a process flow diagram showing a main processing thread implemented in a preferred embodiment of the present invention;
Figure 6 provides a process flow diagram showing a network request thread implemented in a preferred embodiment of the present invention; Figure 7 provides α process flow diagram showing a display image rendering thread implemented in a preferred embodiment of the present invention;
Figure 8 provides a process flow diagram showing the parcel map processing performed preliminary to the rendering of image data parcels in accordance with a preferred embodiment of the present invention;
Figure 9 provides a process flow diagram detailing the rendering and progressive prioritization of image parcel data download requests in accordance with a preferred embodiment of the present invention; and
Figure 1 0 provides a process flow diagram detailing the determination of an optimal detail level for image parcel presentation for a current viewing frustum in accordance with a preferred embodiment of the present invention.
Detailed Description of the Invention The preferred operational environment 10 of the present invention is generally shown in Figure 1 . A network server system 1 2, operating as a data store and server of image data, is responsive to requests received through a communications network, such as the Internet 1 4 generally and various tiers of internet service providers (ISPs) including a wireless connectivity provider 1 6. Client systems, including conventional workstations and personal computers 1 8 and smaller, typically dedicated function devices often linked through wireless network connections, such as PDAs, webphones 20, and automobile navigation systems, source image requests to the network server 1 2, provide a client display and enable image navigational input by a user of the client system. Alternately, a dedicated function client system 20 may be connected through a separate or plug-in local network server 22, preferably implementing a small, embedded Web server, to a fixed or removαble storage local image repository 24. Characteristically, the client system 1 8, 20 displays are operated at some fixed resolution generally dependent on the underlying display hardware of the client systems 1 8, 20.
The image navigation capability supported by the present invention encompasses a viewing frustum placed within a three-dimensional space over the imaged displayed on the client 1 8, 20. Client user navigational inputs are supported to control the x, y lateral, rotational and z height positioning of the viewing frustum over the image as well as the camera angle of incidence relative to the plane of the image. To effect these controls, the software implemented on the client systems 1 8, 20 supports a three- dimensional transform of the image data provided from the server 12, 22.
In accordance with the preferred embodiments of the present invention, as generally illustrated in Figure 2, a network image server system 30 stores a combination of source image data 32 and source overlay data 34. The source image data 32 is typically high-resolution bit-map satellite imagery of geographic regions, which can be obtained from commercial suppliers. The overlay image data 34 is typically a discrete data file providing image annotation information at defined coordinates relative to the source image data 32. In the preferred embodiments of the present invention, image annotations include, for example, street, Dυilding and landmark names, as well as representative 2 and 3D objects, graphical icons, decals, line segments, and text and other characters.
The network image server system 30 preferably pre-processes the source image data 32 and source overlay data 34 to forms preferred for storage and serving by the network server 1 2, 22. The source image data 32 is preferably pre-processed to obtain a series K,.N of derivative images of progressively lower image resolution. The source image data 32, corresponding to the series image K0, is also subdivided into a regular array such that each resulting image parcel of the array has a 64 by 64 pixel resolution where the image data has a color or bit per pixel depth of 1 6 bits, which represents a data parcel size of 8K bytes. The resolution of the series K,. N of derivative images is preferably related to that of the source image data 32 or predecessor image in the series by a factor of four. The array subdivision is likewise related by a factor of four such that each image parcel is of a fixed 8K byte size.
In the preferred embodiment of the present invention, the image parcels are further compressed and stored by the network server 1 2, 22. The preferred compression algorithm implements a fixed 4:1 compression ratio such that each compressed and stored image parcel has a fixed 2K byte size. The image parcels are preferably stored in a file of defined configuration such that any image parcel can be located by specification of a KD, X, Y value, representing the image set resolution index D and corresponding image array coordinate.
The source overlay data 34 is preferably pre-processed 36 into either an open XML format, such as the Geography Markup Language (GML), which is an XML based encoding standard for geographic information developed by the OpenGIS Consortium (OGC; www.opengis.org), or a proprietary binary representation. The XML/GML representation is preferred as permitting easier interchange between different commercial entities, while the binary representation is preferred as more compact and readily transferable to a client system 1 8, 20. In both cases, the source overlay data 34 is pre-processed to contain the annotation data preferably in a resolution independent form associated with a display coordinate specification relative to the source image data 32. The XML, GML or binary overlay data may be compressed prior to storage on the network server 1 2, 22. The preferred architecture 40 of a client system 1 8, 20, for purposes of implementing the present invention, is shown in Figure 3. The architecture 40 is preferably implemented by a software plug-in or application executed by the client system 1 8, 20 and that utilizes basic software and hardware services provided by the client system 1 8, 20. A parcel request client 42 preferably implements an HTML client that supports HTML-based interactions with the server 1 2, 22 using the underlying network protocol stack and hardware network interface provided by the client systems 1 8, 20. A central parcel processing control block 44 preferably implements the client process and control algorithms. The control block 44 directs the transfer of received image parcels and XML/GML/binary overlay data to a local parcel data store 46. Preferably image data parcels are stored in conventional quadtree data structures, where tree nodes of depth D correspond to the stored image parcels of a derivative image of resolution KD. The XML/GML/binary overlay data is preferably stored as a data object that can be subsequently read by an XML/GML/binary parser implemented as part of the control block 44.
The control block 44 is also responsible for decompressing and directing the rendering of image parcels to a local display by a rendering engine 48. Preferably, the rendering engine 48 writes to the video memory of the underlying client display hardware relying on only generic graphics acceleration hardware capabilities. In general, the relied on capabilities include bit-bit and related bit-oriented functions that are readily supported by current conventional display controller hardware. The rendering engine 48 is optimized to perform image parcel texture mapping without reliance on complex floating point operations, permitting even relatively simple processors to efficiently execute the rendering engine 48. Chαnges in the viewing frustum are determined from user input navigation commands by a frustum navigation block 50. In the preferred embodiments of the present invention, the input navigation controls are modeled for three-dimensional fly-over navigation of the displayed image. The navigation controls support point-of-view rotation, translation, attitude, and altitude over the displayed image. The effective change in viewing frustum as determined by the frustum navigation block 50 is provided to the control block 44.
The control block 44, based in part on changes in the viewing frustum, determines the ordered priority of image parcels to be requested from the server 1 2, 22 to support the progressive rendering of the displayed image. The image parcel requests are placed in a request queue 52 for issuance by the parcel request client 42. Preferably, the pending requests are issued in priority order, thereby dynamically reflecting changes in the viewing frustum with minimum latency.
An optimal image parcel data flow 60, as configured for use in the preferred embodiments of the present invention, is shown in Figure 4. Preferably, the TCP/IP network protocol is used to deliver image parcels to the clients 1 8, 20. For the preferred embodiments, where network bandwidth is limited or very limited, entire image parcels are preferably delivered in corresponding data packets. This preference maximizes data delivery while avoiding the substantial latency and processing overhead of managing image parcel data split over multiple network packets. Thus, a 2K byte compressed image parcel 62 is delivered as the data payload of a TCP/IP packet 64. Uncompressed, the 8K byte image parcel 62 is recognized as part of the present invention as being within the nominally smallest LI data cache 66 size of conventional microprocessors 68. By ensuring that an uncompressed image parcel fits within the LI cache, the texture map rendering algorithm can executewith minimum memory management overhead, thus optimally utilizing the processing capability of the microprocessor 68. Additionally, the writing of video data as a product of the rendering algorithm is uniform, thereby improving the apparent video stability of the display to the user.
The client architecture 40 preferably executes in multiple process threads, with additional threads being utilized for individual network data request transactions. As shown in Figure 5, an image parcel management process 80 implements a loop that determines image parcels subject to update 82 and creates corresponding image parcel download requests 84. Navigation events that alter the viewing frustum are considered in part to determine the current field of view. The quad-tree data structures are examined 86 to identify viewable image parcels of higher resolution than currently available in the parcel data store 46.
A pool of image request threads is preferably utilized to manage the image parcel download operations. In the preferred embodiments of the present invention, a pool of four network request threads is utilized. The number of pool threads is determined as a balance between the available system resources and the network response latency, given the available bandwidth of the network connection. Empirically, for many wireless devices, four concurrent threads are able to support a relatively continuous delivery of image data parcels to the client 20 for display processing. As image parcels are progressively identified for download, a free request thread is employed to issue 88 a corresponding network request to the server 1 2, 22. When a network response is received, the corresponding thread recovers 90 the image parcel data. The received image parcel is then stored 92 in a corresponding quad-tree data structure node.
For small clients 20, the available memory for the parcel data store 46 is generally quite restricted. In order to make optimal use of the αvαilαble memory, only currently viewable image parcels are subject to download. Where the size of the parcel data store 46 is not so restricted, this constraint can be relaxed. In either case, a memory management process 94 runs to monitor use of the parcel data store 46 and selectively remove image parcels to free memory for newly requested image parcels. Preferably, the memory management process 94 operates to preferentially remove image parcels that are the furthest from the current viewing frustum and that have the highest data structure depth. Child node image parcels are always removed before a parent node parcel is removed.
A preferred network request management process 100 is shown in Figure 6. The process 1 00 waits 1 02 on the existence of a download request in the priority request queue 52. The process 1 00 then waits on a network request pool thread to become free 104. When a network request thread becomes available, the process 1 00 examines 1 06 all of the pending requests in the priority request queue 52 and selects 1 08 the request with the highest assigned priority. Thus, sequentially enqueued requests can be selectively issued out of order based on an independently assigned request priority. The request is then issued 1 10 and the request management process 1 00 leaves the request thread waiting on a network response.
Figure 7 presents a preferred-display management process 1 20. Event driven user navigation information is evaluated 1 22 to determine a current viewing frustum location and orientation within a three-dimensional space relative to the displayed image. An algorithmic priority selection 1 24 of a next image parcel to render is then performed. The selected image parcel is then rendered 1 26 to the display memory 70. The rendering operation preferably performs a texture map transform of the parcel data corresponding to the current viewing frustum location and orientation. The overlay data is then parsed or is pre-parsed to determine 1 28 whether the image coordinates of any overlay annotation correspond to the current image parcel location. If the coordinates match, the overlay annotation is rendered 1 30 to the video display memory 70. The process 1 20 then continues with the next selection 1 24 of an image parcel to render, subject to any change in the viewing frustum location and orientation.
A preferred implementation of the selection 1 24 and rendering 1 26 of image parcels in accordance with the present invention is detailed in Figures 8 through 10. Referring first to Figure 8, any outstanding requests in the priority request queue 52 are preferably cleared 142 in response to a change in the viewing frustum location and orientation. The effective altitude of the viewing frustum and the resolution of the client display are then used as a basis for determining an optimal level of detail L that will be displayed. The detail level L value operates as a floor defining the maximum resolution KL of image data that can be effectively viewed on the client display given the location and orientation of the viewing frustum. Constraining image parcel requests to the resolution range KN to KL, where KN is the lowest resolution derivative image stored by the network server 1 2, 22, prevents the download and processing of image parcels that cannot provide any perceptible improvement in the displayed image.
As part of the recursive evaluation of the optimal level of detail L, the image display space is progressively split 146 by four to one reductions into polygons. The quad-tree data structures holding existing image parcel data in the parcel data store 46 are concurrently traced 1 48 to establish a correspondence with the polygon map. Where the trace of a quad-tree data structure completes 1 50 to a node index of L for a polygon P, the node corresponding image parcel is associated with polygon P. The polygon P will not be further subdivided and no higher resolution image parcels will be requested for any portion of the image within the area represented by polygon P. Where the trace reaches a maximum node index of D for a polygon P' 1 52, where N D < L and N is the index of the lowest resolution derivative image stored by the network server 1 2, 22, the image parcel associated with the node is associated with the polygon P'. This polygon P' will be subject to further subdivision and progressive requests for image parcels of higher resolution up to the detail level L.
Referring now to Figure 9, a display image is then rendered 1 60 beginning with the maximum depth polygons previously found. Iterating over, the set of maximum depth polygons, any polygons outside of the viewing frustum are skipped 1 62. Polygons that are at least partially visible are clipped to the applicable bounds of the viewing frustum 1 64. The polygon corresponding image parcel data is then texture mapped 166 into the polygon corresponding coordinates of the video memory 70. If the node index depth of the rendered image parcel is at least equal to the prior determined optimal detail level L 1 68, the iteration over the polygons P continues.
Where the node index depth is less than the optimal detail level L 1 70, the polygon P' is subdivided into four polygons and correspondingly represented by the creation of fourchild nodes within the associated quad-tree data structure 1 72. Four image parcel download requests are then created 1 74.
The download priority associated with each request is determined 1 76 by execution of a function S that operates on a 2D polygon argument P and returns a real number representing the request priority. The function argument P is a list of real (x, y) coordinates of the vertices of the current polygon in screen coordinates after being clipped to fit within the current viewing frustum. That is, the function S works over general polygons in a two-dimensional space, whose vertices are specified by the series {(χ0 )/y0 ))>(x(2) ,y(2)),... ,(x(n),y(n))}. The argument P vertices sent to S represent the position of the vertices composing each of the polygons, after being clipping to the viewing frustum, viewable within the display space having the fixed resolution [xRes, yRes]. Thus, the clipped polygons are all within the rectangle [0, xRes] x [0, yRes].
In execution of the function S, each of the P coordinates is first transformed by linear mapping of the screen coordinate space to the square [-1 , 1 ] x [- 1 , 1 ] by the operation x(i) : = (x(i) - xRes/2) / (xRes/2); y(i) : = (y(i) - yRes/2) / (yRes/2). The x and y coordinate values of each vertex (x(i),y(i)) for i = 1 to n) are then transformed by the function T(a) = sgn(a) * pow( | a | , d), where the control parameter d is a constant in the range (0, 1 ], or equivalently the interval 0 < d < 1 . The function S then returns a real value that is equal to the area covered by the argument polygon P vertices subject to the applied coordinate transformation. Thus, the accumulated priority for any image parcel pending download is the sum of the values of returned by the function S for each of the viewable polygons that require some part of the image parcel as the source data for texture map rendering of the polygon. The priority operation of the request queue 52 is such that download requests will be issued preferentially for image parcels with the largest priority value.
In accordance with the preferred embodiments of the present invention, the value of the control parameter d can be adjusted to ultimately affect the behavior of the function S in determining the download request priority. In general, image parcels with lower resolution levels will accumulate greater priority values due to the larger number of polygons that may use a given low resolution image parcel as a rendering data source. Such lower resolution image parcels are therefore more likely to be preferentially downloaded. In accordance with the present invention, this generally assures th at a complete image of at least low resolution will be available for rendering.
The control parameter d, as applied in execution of the function S, well as the area distortion produced by the projection transform also influences the value returned by the function S such that relatively higher- resolution image parcels near the image view point will occasionally achieve a higher priority than relatively remote and partially viewed image parcels of lower resolution. Using values smaller than 1 for the control parameter d results in requests with a higher priority for parcels covering areas near the focal point of the viewer, which is presumed to be the center point of the display space, relative to requests for parcels further from the center point in absolute terms and of the same resolution depth D. Thus, in accordance with the present invention, the priority assigned to image parcel requests effectively in luences the order of requests based on the relative contribution of the image parcel data to the total display quality of the image. Empirically, a value of 0.35 for the control parameter d for small screen devices, such as PDAs and webphones has been found to produce desirable results.
The computed priorities of each of the four newly created image parcel requests are then assigned 1 78 and the requests are enqueued in the priority request queue 52. The next polygpn P is then considered in the loop of the image parcel rendering process 1 60.
The preferred algorithm 1 80 for determining the detail level L value for a given viewing frustum is shown in Figure 1 0. In accordance with the present invention, the optimal detail level L is effectively the limit at which the resolution of image parcel data functionally exceeds the resolution of the client display. Preferably, to determine the optimal detail level L, the viewpoint or camera position of the viewing frustum is determined 1 82 relative to the displayed image. A nearest polygon P of depth D is then determined 1 84 from the effective altitude and attitude of the viewpoint. The nearest point A of the polygon P is then determined 1 86. The point A may be within the interior or an edge of the polygon P, though most likely be located at a vertex of the polygon P.
The optimum level of detail L at point A is then computed 1 88 as the base-4 logarithm of the number of pixels on the screen that would be covered by a single pixel from an image parcel of the lowest resolution K N image, which is the quad-tree root image and corresponds to an image area covering the entire image map. The point A optimal detail level L is preferably computed analytically from the local value of the Jacobian of the projective transform used to transform the three dimensional image coordinate space to screen coordinates, evaluated at the point A.
Where the depth D of the polygon P is greater than the depth of the computed optimal level of detail L, the detail level L is taken as the optimal detail level L 1 90. Thus, through the process 1 40, an image parcel or corresponding section of the closest resolution image parcel associated with a parent node in the quad-tree data structure relative to the depth level L will be used as the texture for rendering the polygon P. Conversely, if the depth D is less than that of the optimal detail level L, the polygon P is effectively split into quadrants and the optimal level of detail is reevaluated. The process 1 80 thus continues iteratively until the optimal detail level L is found.
Thus, a system and methods of optimally presenting image data on client systems with potentially limited processing performance, resources, and communications bandwidth have been described. While the present invention has been described particularly with reference to the communications and display of geographic image data, the present invention is equally applicable to the efficient communications and display of other high resolution information. In view of the above description of the preferred embodiments of the present invention, many modifications and variations of the disclosed embodiments will be readily appreciated by those of skill in the art. It is therefore to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described above.

Claims

Claims
1 . A client system for dynamic visualization of image data provided through a network communications channel, said client system comprising: a) a parcel request subsystem, including a parcel request queue, operative to request discrete image data parcels in a priority order and to store received image data parcels in a parcel data store, said parcel request subsystem being responsive to an image parcel request of assigned priority to place said image parcel request in said parcel request queue ordered in correspondence with said assigned priority; and b) an parcel rendering subsystem coupled to said parcel data store to selectively retrieve and render received image data parcels to a display memory, said parcel rendering system providing said parcel request subsystem with said image parcel request of said assigned priority.
2. The client system of claim 1 wherein said parcel rendering subsystem determines said assigned priority based on a determined optimal image resolution level.
3. The client system of claim 2 whereip said display memory is coupled to an image display of predetermined resolution and wherein said determined optimal image resolution level is based on said predetermined resolution.
4. The client system of claim 3 wherein said assigned priority further reflects the proximity of the image parcel referenced by said image parcel request to a predetermined focal point.
5. The client system of claim 4 wherein said discrete image data parcels are of a first fixed size as received by said parcel request subsystem and of a second fixed size as rendered by said parcel rendering subsystem.
ό. The client system of claim 5 wherein said discrete image data parcels each include a fixed-size array of pixel data.
7. A portable display client system supporting dynamic visualization of image data provided through a wireless network communications channel, said client system comprising: a) a display of defined resolution suitable for visual presentation of a graphical image, said display including video memory for storing image data representative of said graphical image; b) a network interface coupleable to a wireless network through which to request and receive image data parcels; c) an image parcel data store providing for the storage of image data parcels; d) navigation controls providing input information defining a point of view location relative to said graphical image; and e) a processor coupled to said vide j. memory, network interface, image parcel data store, and navigational controls, said processor operative to selectively request image data parcels of determined resolution through said network interface in a priority order computed relative to the defined resolution of said display.
8. The portable display client system of claim 7 wherein said processor includes a priority queue of waiting requests for image data parcels and wherein said processor adds requests for image data parcels to said priority queue reflective of the computed priority of each of said waiting requests.
9. The portable display client system of claim 8 wherein said processor is operative to render said image data parcels from said image parcel data store to said video memory.
1 0. The portable display client system of claim 9 wherein said image data parcels are received as compressed data blocks within respective network data packets.
1 1 . The portable display client system of claim 10 wherein said respective network data packets each include a fixed block size compressed image data parcel corresponding to a minimum 1 6 by 1 6 array of pixel image data parcel.
1 2. A client system providing forthe three-dimensional viewing of an image relative to a dynamic viewpoint, said client system comprising: a) display memory corresponding to a two-dimensional display of defined resolution; ^ b) a network interface through which image data parcels of respective image parcel resolution can be requested and received; c) navigational controls providing for the definition of an image viewpoint; and d) a processor operative to progressively render image data parcels into said display memory and to progressively request image data parcels through said network interface in a priority order determined with respect to the defined resolution of said two dimensional display and the location of said image viewpoint.
1 3. The client system of Claim 1 2 wherein said processor is operative to limit the progressive request of image data parcels to a resolution corresponding to said defined resolution.
14. The client system of Claim 1 3 wherein the priority of a predetermined image parcel within said priority order is determined based on the three- dimensional projection area within said two-dimensional display relative to said image viewpoint of said predetermined image parcel.
1 5. The client system of Claim 14 wherein the priority of said predetermined image parcel is further determined based on the location of said image parcel within said two-dimensional display relative to said image viewpoint.
1 6. A method of supporting dynamic visualization of image data transferred through a communications channel, said method comprising the steps of: a) determining, in response to user navigational commands, a viewpoint orientation with respect to an mage displayed within a three- dimensional space; b) requesting, in a priority order, image parcels renderable as corresponding regions of said image, each said image parcel having an associated resolution, wherein said priority order is determined to provide a progressive regional resolution enhancement of said image as each said image parcel is rendered; c) receiving a plurality of image parcels through said communications channel; and d) rendering said plurality of image parcels to provide said image.
1 7. The method of Claim 1 6 wherein said step of receiving includes the step of storing said plurality of image parcels in an image store and wherein said step of rendering provides for the selective rendering of said plurality of image parcels having the highest associated resolutions to the corresponding regions of said image.
1 8. The method of Claim 1 7 wherein said step of rendering limits the selective rendering of said image parcels to image parcels having associated resolutions less than a predetermined level.
1 9. The method of Claim 1 8 wherein said step of rendering selectively renders said plurality of image parcels as the unique textures for the corresponding regions of said image.
20. The method of Claim 1 9 wherein said priority order is re-evaluated in response to a change in said viewpoint orientation.
PCT/IL2001/001199 2000-12-27 2001-12-25 System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels WO2002086733A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2003-7008610A KR20040035585A (en) 2000-12-27 2001-12-25 System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels
JP2002584184A JP2004527046A (en) 2000-12-27 2001-12-25 Network image transmission system and method using dynamic viewing frustum optimized for limited bandwidth communication channel

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US25846800P 2000-12-27 2000-12-27
US25846500P 2000-12-27 2000-12-27
US25848900P 2000-12-27 2000-12-27
US25848800P 2000-12-27 2000-12-27
US25846600P 2000-12-27 2000-12-27
US25846700P 2000-12-27 2000-12-27
US60/258,488 2000-12-27
US60/258,465 2000-12-27
US60/258,467 2000-12-27
US60/258,466 2000-12-27
US60/258,468 2000-12-27
US60/258,489 2000-12-27

Publications (1)

Publication Number Publication Date
WO2002086733A1 true WO2002086733A1 (en) 2002-10-31

Family

ID=27559415

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/IL2001/001200 WO2002069275A1 (en) 2000-12-27 2001-12-25 Optimized image delivery over limited bandwidth communication channels
PCT/IL2001/001199 WO2002086733A1 (en) 2000-12-27 2001-12-25 System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels
PCT/IL2001/001198 WO2002095687A1 (en) 2000-12-27 2001-12-25 Efficient image parcel texture rendering with t-junction crack elimination

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/IL2001/001200 WO2002069275A1 (en) 2000-12-27 2001-12-25 Optimized image delivery over limited bandwidth communication channels

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/IL2001/001198 WO2002095687A1 (en) 2000-12-27 2001-12-25 Efficient image parcel texture rendering with t-junction crack elimination

Country Status (4)

Country Link
US (4) US6850235B2 (en)
JP (1) JP2004527046A (en)
KR (1) KR20040035585A (en)
WO (3) WO2002069275A1 (en)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1275254B1 (en) * 2000-03-09 2004-02-18 Oz Vision Ltd Method and system for transferring live video pictures from a video camera to a remote video displayer via a conventional telephone line
US8924506B2 (en) * 2000-12-27 2014-12-30 Bradium Technologies Llc Optimized image delivery over limited bandwidth communication channels
US6850235B2 (en) * 2000-12-27 2005-02-01 Fly Over Technologies Inc. Efficient image parcel texture rendering with T-junction crack elimination
US6605478B2 (en) * 2001-03-30 2003-08-12 Appleid Materials, Inc, Kill index analysis for automatic defect classification in semiconductor wafers
US7216294B2 (en) * 2001-09-04 2007-05-08 Microsoft Corporation Method and system for predicting optimal HTML structure without look-ahead
US7428725B2 (en) * 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US6574554B1 (en) * 2001-12-11 2003-06-03 Garmin Ltd. System and method for calculating a navigation route based on non-contiguous cartographic map databases
US6704645B1 (en) * 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
US6581003B1 (en) * 2001-12-20 2003-06-17 Garmin Ltd. Systems and methods for a navigational device with forced layer switching based on memory constraints
US6847890B1 (en) * 2001-12-21 2005-01-25 Garmin Ltd. Guidance with feature accounting for insignificant roads
US7068273B2 (en) * 2002-01-28 2006-06-27 Konami Corporation Recording medium which stores 3D image processing program, 3D image processor, 3D image processing method, and video game machine
US6915310B2 (en) * 2002-03-28 2005-07-05 Harris Corporation Three-dimensional volumetric geo-spatial querying
US7439982B2 (en) * 2002-05-31 2008-10-21 Envivio, Inc. Optimized scene graph change-based mixed media rendering
US6833811B2 (en) * 2002-10-07 2004-12-21 Harris Corporation System and method for highly accurate real time tracking and location in three dimensions
US7574653B2 (en) * 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US20040080533A1 (en) * 2002-10-23 2004-04-29 Sun Microsystems, Inc. Accessing rendered graphics over the internet
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US20090118019A1 (en) * 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US10201760B2 (en) * 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US8949922B2 (en) * 2002-12-10 2015-02-03 Ol2, Inc. System for collaborative conferencing using streaming interactive video
US8964830B2 (en) * 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8526490B2 (en) * 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US8366552B2 (en) * 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US9314691B2 (en) * 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9077991B2 (en) * 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US20040125114A1 (en) * 2002-12-31 2004-07-01 Hauke Schmidt Multiresolution image synthesis for navigation
US7305396B2 (en) * 2002-12-31 2007-12-04 Robert Bosch Gmbh Hierarchical system and method for on-demand loading of data in a navigation system
JP4419393B2 (en) 2003-01-15 2010-02-24 パナソニック株式会社 Information display apparatus and information processing apparatus
US20040161153A1 (en) * 2003-02-18 2004-08-19 Michael Lindenbaum Context-based detection of structured defects in an image
DE10326168B4 (en) * 2003-06-10 2010-01-28 Siemens Ag Method and functional unit for optimizing the display of progressively coded image data
FR2888962A1 (en) * 2003-11-14 2007-01-26 Canon Kk Animation creation method involves creating file comprising optimized requests for obtaining images from remote terminal, and description of different versions of animation and associated criterion
EP1531428A3 (en) * 2003-11-14 2015-08-19 Canon Kabushiki Kaisha Methods and devices for creating, downloading and managing an animation
US7737910B2 (en) * 2003-12-04 2010-06-15 Microsoft Corporation Scalable display
US20050156930A1 (en) * 2004-01-20 2005-07-21 Matsushita Electric Industrial Co., Ltd. Rendering device and rendering method
US7312505B2 (en) * 2004-03-31 2007-12-25 Intel Corporation Semiconductor substrate with interconnections and embedded circuit elements
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US7436405B2 (en) * 2004-05-14 2008-10-14 Microsoft Corporation Terrain rendering using nested regular grids
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
KR100460009B1 (en) 2004-06-23 2004-12-04 엔에이치엔(주) Method and system for loading of the image resource
US8207964B1 (en) * 2008-02-22 2012-06-26 Meadow William D Methods and apparatus for generating three-dimensional image data models
US7388585B2 (en) * 2004-09-20 2008-06-17 My Virtual Reality Software Method, system and device for efficient distribution of real time three dimensional computer modeled image scenes over a network
US7664870B2 (en) * 2005-02-25 2010-02-16 Microsoft Corporation Method and system for providing users a lower fidelity alternative until a higher fidelity experience is available
US20070023987A1 (en) * 2005-05-23 2007-02-01 Kling Daniel H Folding methods, structures and apparatuses
US7535473B2 (en) * 2005-09-20 2009-05-19 Erdas, Inc. Collaborative environments in a graphical information system
US20070067106A1 (en) * 2005-09-20 2007-03-22 Antoine Lennox B Streaming geometry using quasi-pyramidal structure
US7925320B2 (en) 2006-03-06 2011-04-12 Garmin Switzerland Gmbh Electronic device mount
US20070263590A1 (en) * 2006-04-25 2007-11-15 Microsoft Corporation Optimization scheme for routing based on data latency
US8633927B2 (en) 2006-07-25 2014-01-21 Nvidia Corporation Re-render acceleration of frame with lighting change
JP2010503257A (en) * 2006-09-01 2010-01-28 パクバイト ソフトウエア プロプライアタリー リミティド Method and system for transmitting data files over a data network
US7719568B2 (en) * 2006-12-16 2010-05-18 National Chiao Tung University Image processing system for integrating multi-resolution images
US20080175442A1 (en) * 2007-01-22 2008-07-24 Dennis Megarry Method of displaying graphic images
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
US8386560B2 (en) * 2008-09-08 2013-02-26 Microsoft Corporation Pipeline for network based server-side 3D image rendering
US8284192B2 (en) * 2008-11-07 2012-10-09 Landworks, Inc. Polygon dissection in a geographic information system
US20100198503A1 (en) * 2009-01-30 2010-08-05 Navteq North America, Llc Method and System for Assessing Quality of Location Content
US8554871B2 (en) * 2009-01-30 2013-10-08 Navteq B.V. Method and system for exchanging location content data in different data formats
US9454847B2 (en) * 2009-02-24 2016-09-27 Google Inc. System and method of indicating transition between street level images
US9129318B2 (en) * 2009-07-24 2015-09-08 International Business Machines Corporation System and method for allocating suppliers using geographical information system and supplier capability
US8886445B1 (en) * 2010-03-05 2014-11-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Automatic aircraft collision avoidance system and method
US8446411B2 (en) * 2010-06-11 2013-05-21 Microsoft Corporation Adaptive image rendering and use of imposter
CN102385497B (en) * 2010-08-30 2014-07-02 联想(北京)有限公司 Image data processing method and system
KR20120058763A (en) * 2010-11-30 2012-06-08 삼성전자주식회사 Apparatus and method for transmitting video data in video device
US9165403B2 (en) 2011-01-14 2015-10-20 Intel Corporation Planetary scale object rendering
US8988468B2 (en) 2011-01-21 2015-03-24 Wishabi Inc. Interactive flyer system
WO2012101585A1 (en) * 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
US9727301B2 (en) * 2011-06-03 2017-08-08 Apple Inc. Gesture-based prioritization of graphical output on remote displays
US8780233B2 (en) * 2011-12-19 2014-07-15 Motorola Solutions, Inc. Method and apparatus for maintaining a minimum pixel density across an object of interest
KR102072731B1 (en) * 2012-12-18 2020-02-04 삼성전자주식회사 Photographing apparatus, method for controlling the same, and computer-readable storage medium
US9565229B2 (en) * 2013-06-18 2017-02-07 Vmware, Inc. Systems and methods for transmitting data
KR102104057B1 (en) * 2013-07-09 2020-04-23 삼성전자 주식회사 Tessellation method for assigning a tessellation factor per point and devices performing the method
AU2013267004A1 (en) 2013-12-04 2015-06-18 Canon Kabushiki Kaisha Method, apparatus and system for tessellating a parametric patch
US9577946B1 (en) * 2014-01-03 2017-02-21 hopTo, Inc. Account-specific login throttling
CN103888452B (en) * 2014-03-10 2017-04-05 百度在线网络技术(北京)有限公司 For the order-preserving method and device of message compression
CN106248346A (en) * 2015-06-12 2016-12-21 中国科学院遥感与数字地球研究所 A kind of high accuracy remote sensing satellite covering analyzing method over the ground based on geometric topology
US10726619B2 (en) 2015-10-29 2020-07-28 Sony Interactive Entertainment Inc. Foveated geometry tessellation
WO2018123801A1 (en) * 2016-12-28 2018-07-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Three-dimensional model distribution method, three-dimensional model receiving method, three-dimensional model distribution device, and three-dimensional model receiving device
US10628907B2 (en) 2017-04-01 2020-04-21 Intel Corporation Multi-resolution smoothing
US10404277B2 (en) * 2017-07-07 2019-09-03 iDensify LLC Compression and decompression engines and compressed domain processors
CN109064542B (en) 2018-06-06 2019-11-19 贝壳找房(北京)科技有限公司 Threedimensional model surface hole complementing method and device
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems
JP7114082B2 (en) * 2019-03-20 2022-08-08 株式会社アクセルスペース Information processing device, information processing method and program
US11917205B2 (en) * 2019-07-05 2024-02-27 Tencent America LLC Techniques and apparatus for scalable lifting for point-cloud attribute coding
US20230222667A1 (en) * 2022-01-13 2023-07-13 Microsoft Technology Licensing, Llc Mask for satellite image data
CN114742837B (en) * 2022-06-14 2022-09-16 华南农业大学 Deep information image interaction-based wood artwork processing auxiliary instrument and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724070A (en) * 1995-11-20 1998-03-03 Microsoft Corporation Common digital representation of still images for data transfer with both slow and fast data transfer rates
US5764235A (en) * 1996-03-25 1998-06-09 Insight Development Corporation Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4698689A (en) * 1986-03-28 1987-10-06 Gte Laboratories Incorporated Progressive image transmission
US5963209A (en) * 1996-01-11 1999-10-05 Microsoft Corporation Encoding and progressive transmission of progressive meshes
US5850225A (en) * 1996-01-24 1998-12-15 Evans & Sutherland Computer Corp. Image mapping system and process using panel shear transforms
US6092091A (en) * 1996-09-13 2000-07-18 Kabushiki Kaisha Toshiba Device and method for filtering information, device and method for monitoring updated document information and information storage medium used in same devices
US6076166A (en) * 1997-01-17 2000-06-13 Philips Electronics North America Corporation Personalizing hospital intranet web sites
US5995109A (en) * 1997-04-08 1999-11-30 Lsi Logic Corporation Method for rendering high order rational surface patches
US5966672A (en) * 1997-07-28 1999-10-12 Knupp; Daniel F. Visualization technology method
US6608933B1 (en) * 1997-10-17 2003-08-19 Microsoft Corporation Loss tolerant compressed image data
US6182114B1 (en) * 1998-01-09 2001-01-30 New York University Apparatus and method for realtime visualization using user-defined dynamic, multi-foveated images
US6801665B1 (en) * 1998-09-15 2004-10-05 University Of Maryland Method and apparatus for compressing and decompressing images
US6326965B1 (en) * 1998-04-14 2001-12-04 International Business Machines Corp. Interactive representation and retrieval of multi-dimensional data using view elements
US6397259B1 (en) * 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6212301B1 (en) * 1998-06-25 2001-04-03 Accusoft Corporation Systems and methods for digital image compression
US6711297B1 (en) * 1998-07-03 2004-03-23 University Of Pittsburgh - Of The Commonwealth System Of Higher Education Methods and apparatus for dynamic transfer of image data
US6359629B1 (en) * 1998-07-06 2002-03-19 Silicon Graphics, Inc. Backface primitives culling
US6313837B1 (en) * 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6373489B1 (en) * 1999-01-12 2002-04-16 Schlumberger Technology Corporation Scalable visualization for interactive geometry modeling
US6345279B1 (en) * 1999-04-23 2002-02-05 International Business Machines Corporation Methods and apparatus for adapting multimedia content for client devices
US6346938B1 (en) * 1999-04-27 2002-02-12 Harris Corporation Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model
US6314452B1 (en) * 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network
US6256773B1 (en) * 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US6476813B1 (en) * 1999-11-30 2002-11-05 Silicon Graphics, Inc. Method and apparatus for preparing a perspective view of an approximately spherical surface portion
US6910001B2 (en) * 2000-03-22 2005-06-21 Schlumberger Technology Corp. Distributed multiresolution geometry modeling system and method
US6671424B1 (en) * 2000-07-25 2003-12-30 Chipworks Predictive image caching algorithm
US6563501B2 (en) * 2000-07-28 2003-05-13 Adrian Sfarti Bicubic surface rendering
US6704024B2 (en) * 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6935997B2 (en) * 2000-09-14 2005-08-30 Rutgers, The State University Of New Jersey Patterning technology for folded sheet structures
US6874012B1 (en) * 2000-11-01 2005-03-29 Sun Microsystems, Inc. System and method for a display device using a priority messaging protocol
US6850235B2 (en) * 2000-12-27 2005-02-01 Fly Over Technologies Inc. Efficient image parcel texture rendering with T-junction crack elimination
US6664960B2 (en) * 2001-05-10 2003-12-16 Ati Technologies Inc. Apparatus for processing non-planar video graphics primitives and associated method of operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724070A (en) * 1995-11-20 1998-03-03 Microsoft Corporation Common digital representation of still images for data transfer with both slow and fast data transfer rates
US5764235A (en) * 1996-03-25 1998-06-09 Insight Development Corporation Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution

Also Published As

Publication number Publication date
US20020120753A1 (en) 2002-08-29
KR20040035585A (en) 2004-04-29
US6850235B2 (en) 2005-02-01
US7908343B2 (en) 2011-03-15
US20020118224A1 (en) 2002-08-29
WO2002095687A1 (en) 2002-11-28
US20100064002A1 (en) 2010-03-11
JP2004527046A (en) 2004-09-02
US7139794B2 (en) 2006-11-21
WO2002069275A1 (en) 2002-09-06
US7644131B2 (en) 2010-01-05
US20020145606A1 (en) 2002-10-10

Similar Documents

Publication Publication Date Title
US7139794B2 (en) System and methods for network image delivery with dynamic viewing frustum optimized for limited bandwidth communication channels
US10367915B2 (en) Optimized image delivery over limited bandwidth communication channels
US6278432B1 (en) Image delivery and display system
US8237740B2 (en) Method and system for receiving a local vector object and viewing a vector image
US7284069B2 (en) Method for document viewing
EP3333715B1 (en) Cache system and method for generating uncached objects from cached and stored object components
WO2009017940A2 (en) Tiled packaging of vector image data
Palaniappan et al. Multiresolution tiling for interactive viewing of large datasets
JPH11213002A (en) Map drawing display switching method
Yilmaza et al. A PRACTICAL APPROACH FOR SERVING LARGE AMOUNTS OF GEOSPATIAL DATA VIA COMPUTER NETWORKS

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU BR BY CA CN CO DE EC IL IN JP KR MX NZ RU SG SI SK ZA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1020037008609

Country of ref document: KR

Ref document number: 1020037008610

Country of ref document: KR

Ref document number: 2002584184

Country of ref document: JP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 1020037008610

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1020037008609

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020037008609

Country of ref document: KR