throbber
eg6oC
`
`wna)Old‘s'ql
`
`&
`
`
`
`
`
`
`
`\y-aq-0C¢
`
`Al Prev
`
`we
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`REQUEST FOR FILING A PROVISIONAL APPLICATION FOR PATENT
`UNDER 37 CFR§1.53 (c}
`
`2,
`
`INVENTOR(S)
`
`MULTIPLE PARALLEL DOWNLOAD OF TARGETIMAGE PARCELS
`STREAMED OVER LIMITED AND NARROWBAND COMMUNICATIONS
`CHANNELS
`
`HTAA
`23488
`PATENT TRADEMARK OFFICE
`
`Direct all correspondence to Customer Number 23488.
`X
`Gerald B. Rosenberg, Esq.
`(Reg No.: 30,320)
`Telephone:
`650.325.2100
`I| NewTechLaw
`Facsimile:
`650.325.2107
`285 Hamilton Avenue,Suite 520
`Palo Alto, California 94301
`
`NA
`
`
`
`
`
`
`
`
`1.|Isaac Levanon 3 Nachal Besor St., Ramat Hasharn,Israel 5tt =|=
`
`
`
`a ——
`Lavi
`21 Bar Ilan St., Raanana,Israel
`
`™
`TITLE OF THE INVENTION
`
`
`
`
`
`
`|
`
`
`
`
`ENCLOSED APPLICATION PARTS (check all that apply)
`|
`
`
`No. of pages:_17___— Small Entity Statement
`
`
`
`_X_ Drawings No. of sheets:_5 —.__ Powerof Attorney
`
`
`
`
`This invention was not made by or under contract with a US Government agency.
`_X_
`; US Government agency and Contract:
`
`
`
`
`
`Reg. No.: 30,320
`
`
`EL 661 534 243 US |
`Express Mail Label No.:
`
`
`
`
`[Address To:
`Box Provisional Application, Assistant Commissionerfor Patents Washington, DC 20231
`
`
`
`
` |X Specification
`
`_____— Declaration
`—X_ Other: Return-Receipt Post Card
`METHOD OF PAYMENTOFFILING FEES FOR THIS PROVISIONAL APPLICATION FOR PATENT
`
`__.._ Assignment and Cover Sheet
`
`Provisional Basic Filing Fee: $ 150.00 (Small Entity: $75.00)
`
`Filing Fee Amount: $ 150.00
`
`|
`
`_X_ Acheck is enclosed fo cover the Filing Fees.
`
`—X_
`
`The Commissioneris hereby authorized charge Filing Fees or credit any
`overpayment to: Deposit Account Number: 50-0890.
`
`Date: December 26, 2000 Gerald B. Rosenberg
`
`Application Docket No:
`
`FLVT3005
`
`_
`
`
`
`gbr/flvt/3005.003 prov.xmit app.wpd
`
`1 of 17
`
`Microsoft Corp. Exhibit 1068
`
`1 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`SOONAaKWH=
`
`
`MULTIPLE PARALLEL DOWNLOAD OF TARGET
`IMAGE PARCELS STREAMED OVERLIMITED AND
`NARROWBAND COMMUNICATIONS CHANNELS
`
`Inventors:
`Isaac Levanon
`Yoni Lavi
`
`Background of the Invention
`The presentinvention is generally related to the delivery of high-resolution
`highly featured graphic images overlimited and narrowband communications
`channels.
`
`Summary of the Invention
`The objectiveis to display a two-dimensionalpixel map, a16-Bit RGB color
`imagein the preferred embodiments,of very large dimensions and permitting the
`viewing of the image from a dynamic three-dimensional viewpoint. Multiple such
`images are remotely hosted for on-demand selection and transfer to a client
`system for viewing.
`Images, as stored by the server, may individually range from gigabytes to
`multiple terabyte in total size. A correspondingly large server storage and
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`2 of 17
`
`Microsoft Corp. Exhibit 1068,
`
`2 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`
`
`]
`2
`3
`4
`5
`6
`7
`8
`9
`
`10
`
`1]
`
`12
`
`13
`14
`15
`16
`17
`18
`19
`20
`21
`
`22
`23
`24
`25
`
`-2-
`
`processing system is contemplated. Conversely, client systems are contemplated
`to be conventionalpersonal computer systems and,in particular, mobile,cellular,
`embedded, and handheld computer systems, such as personal digital assistants
`(PDAs) and internet-capable digital phones, with relatively limited to highly
`constrained network communications capabilities. For mostwireless applications,
`conventional narrowband communications links have a bandwidth of less than
`approximately three kilobytes of data per second. Consequently, transmittal of
`entire images fo a client system in reasonable timeis infeasible as a practical
`matter.
`
`Overview:
`
`Description of the Invention
`
`For purposes of the present invention, each image (Figure 1) is at least
`logically defined in terms of multiple grids of image parcels with variouslevels of
`resolutions (Figure 2) that are created through composition of information from
`all level of resolutions, and stored by the server to provide an image for transfer
`to a client system (Figure 3). Composed and separate static and dynamically
`created layers are transferred to client system in parcels in a program selectable
`orderto optimize for fast quality build-up of the image presented to a user of the
`client system, particularly when the parcels are streamed over a narrowband
`communicationlink.
`
`The multiple layers of an image allow the selectivity to incorporate
`topographical, geographical, orientational, and other terrain and mapping
`related information into the image delivered. Other layers, such as geographic
`grids, graphical text overlays, and hyperlink selection areas, separately provided
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`3 of 17
`
`Microsoft Corp. Exhibit 1068
`
`3 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`
`
`mead
`
`OCODONAHWBhwD
`BROBRDKDRDRDRDmmmedatteaFFWN=|O0ONO&OWDBRWDDH=
`
`-3-
`
`or composed, aid in the useful presentation and navigation of the image as
`presented by the client system and viewed bythe user.
`Compositing of layers on the server enables the data transfer burdento be
`reduced,particularly in analysis of the requirements and capabilities of the client
`system and the connecting communicationslink. Separate transferof layers to the
`client system allows the client system selectivity in managing and presentation of
`the data to the user.
`
`The system and methods of the present invention are designed to, on
`demand, select, process and immediately transfer data parcels to the client
`system, which immediately processes and displays a low-detail representation of
`the image requestedbythe client system. The system and methods immediately
`continueto select, process and sequentially transfer data parcels that,in turn, are
`processed and displayed by the client system to augment the presented image
`and thereby provide a continuously improving image to the user.
`Selection of the sequentially transferred data is, in part, dependent on the
`Progressive translation of the three-dimensional viewpoint as dynamically
`modified on the client system during the transfer process. This achieves the
`above-stated objective while concurrently achieving a good rendering quality for
`continuousfly-overof the image asfast as possible, yet continuously building the
`image quality to the highest resolution of the image as stored by the server.
`To optimize image quality build-up over
`limited and narrowband
`communication links, the target image, as requested by the client system,
`is
`represented by multiple grids of 64x64 imagepixels (Figure A) with each grid
`having some corresponding level of detail. That is, each grid is treated as a
`sparse data array that can be progressively revised to increase the resolution of
`
`Attorney Docket No.: FLVT3005
`gbr/tivt/3005.000.provisional.wpd
`
`12/26/2000
`
`4 of 17
`
`Microsoft Corp. Exhibit 1068
`
`4 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`-4-
`
`the grid and thereby the level of detail presented by the grid. The reason for
`
`choosing the 64x64 pixel dimension is that, using current image compression
`
`algorithms, a 16-bit 64x64 pixel array image can be presented as a 2KByte data
`
`parcel.
`
`In turn, this 2KByte parcel is the optimal size, subject to conventional
`
`protocol and overhead requirements, to be transmitted through a 3KByte per
`
`second narrowbandtransmission channel. Using a smaller image array, such as
`
`32x32, would create a 0.5KByte parcel, hence causinginefficiencies due to packet
`
`transmission overhead, given the nature of current wireless communications
`
`protocols.
`
`Image array dimensions are preferably powers of two so that they can be
`
`used in texture mappingefficiently. Each parcel, as received bytheclient system,
`is preferably immediately processed and incorporated into the presented image.
`
`To do so efficiently, according to the present invention, each data parcelis
`
`independently processablebytheclient system, which is enabled by the selection
`
`and server-side processing used to prepare a parcel for transmission. In addition,
`
`each data parcelis sized appropriateto fit within the level-1 cache, or equivalent,
`of the client system processor, thereby enable the data processing intensive
`
`operations needed to process the data parcel to be performed without extended
`
`memory access delays.
`
`In the preferred embodiment of the present invention,
`
`data parcels are also processed for texture mapping and other image features,
`
`such as topographical detailing.
`
`Currently, with regard to conventional client systems, a larger image array,
`
`such as 128x128,is too large to be fully placed within the level-1 cache of many
`
`of the smaller conventional current processors, such as used by personal digital
`
`| 2 3 4 3 6 7 8
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`5 of 17
`
`Microsoft Corp. Exhibit 1068
`
`5 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`5-
`
`Since access to cache memory is
`assistants (PDAs) and cellular phones.
`substantially faster than to RAM this will likely result in lower framerate.
`
`Different and larger data parcel sizes may be optimal as transmission
`
`protocols and micro-architectures of the client computers change. For purposes
`
`above, the data content was a pixel array representing image data. Where the
`
`data parcel contentis vector, text or other data that may subject to different client
`
`system design factors, other parcel sizes may be used.
`
`In the process implemented by the present invention, data parcels maybe
`
`selected for sequential transmission based onaprioritization of the importance
`
`_—oO0WONWOOFFFWHNY
`
`
`
`of the data contained. Thecriteria of importance maybe defined assuitable for
`
`particular applications and maydirectly relate to the presentation of image
`
`quality, provision of a textual overlay of a low-quality image to quickly provide a
`
`navigational orientation, or the addition of topography information at a rate or
`
`timing different from the rate of image quality improvement. Thus, image data
`
`layers reflecting navigational cues,
`
`text overlays, and topography can be
`
`composed into data packets for transmission subject to prioritizations set by the
`
`server alone, based on the nature and type of the client system, and interactively
`
`influenced by the actions and commandsprovidedbythe userof the client system
`
`(Figure 5).
`
`Progressive transmission of image parcels is performed in an iterative
`
`process involving selection of an image data grid within the target image of the
`
`client system, whichis a portion of a potentially multi-layered source image stored
`
`by the server. The selection parameters are preferably dependent on the client
`
`navigation viewpoint, effective velocity, and height, and the effective level of detail
`
`currently presented in each grid. Once a grid is selected, the server selects the
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`6 of 17
`
`:
`
`Microsoft Corp. Exhibit 1068
`
`6 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`-6-
`
`source data to be logically composed into the selected grid to complement the
`
`effective resolution of that grid, processing the grid data to produce the optimally
`
`sized size grid data parcels, and sequentially transmitting the parcels fo the client
`
`system. Preferably, the detail of a grid array is sequentially enhanced bydivision
`
`of the grid into sub-grids related by a powerof two (Figure 6). Thus, a given grid
`
`is preferably updated using four data parcels having twice the data resolution of
`
`the existing grid. Whatever number of parcels are used, each data parcelis
`
`rendered by the client system into the farget image. Additional client system
`
`image data processing to provide texturing and three-dimensional representation
`
`of the data may be performed as part of the parcel rendering and integration into
`
`the farget image.
`
`Image Parcel Download Sequence:
`
`The serverof the present invention supports the download of parcel data
`
`to a client syste by providing data parcels in response fo network requests
`
`originated by client systems. Each requested data parcelis identified within a grid
`coordinate system relative to an imagestored bythe server.
`
`A client system implementing the process of the present invention is
`
`responsible for identifying and requesting parcel data, then rendering the parcel
`
`data into the target image at the correct location. The client system is also
`
`responsible for managing navigational and other interaction with the user.
`
`In
`
`identifying the parcel data to be requested, the client system operates to select
`
`grids within the coordinate system, correspondingto portions of the target image,
`for which to request a corresponding data parcel. The requests are issued over
`
`the network to the server and rendering performed asynchronously as data
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`] 2 3 4 5 6 7 8
`
`7 of 17
`
`Microsoft Corp. Exhibit 1068
`
`7 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`_7-
`
`parcels are received. The order of data parcel requests is defined as a sequence
`
`that will provide for the optimal build-up of the target image as presented to the
`
`user. The rate of optimal build up of the target image is dependent on the nature
`
`of the target image requested, such as the supported parcelsize and depth of the
`
`target image that can be rendered bythe client system.
`
`The client identifies and requests the download of data parcels in the
`
`process as follows. Denote the target image as|, andits size in pixels as (X, Y).
`
`Let N be the smallest power of 2 that is equal or greater than max {X,Y}.
`Construct the grid of 64x64 pixel grid-images |,,, that together compose the
`target image Ip. The rectangle [641,641 + 64] x [64|,64 j + 64] of |, is mapped
`
`to Ioji.
`
`In order to view a large portion of the image, the target image, without
`
`downloading the substantial bulk of the target image, mip-mapsof|, are created,
`representing a collection of images to be used as surface textures when rendering
`a two-dimensional representation of a three-dimensional scene, and which are
`
`detined recursively as:
`
`lar (if) = avg(l, (21,2)), {21 + 1,2)), |,(21,2) + 1), 1,(21 + 1,2] + 1))
`
`Such mip-maps are created up to Iy,,M = log, (N) - 6. At this point, Iy is
`
`a 64x64 imagecontaining the entire area ofthe original image, hence no further
`
`mip-mapping is required.
`
`The methods of the present invention then proceed by constructing the
`respective gridsorcells (I,;;) for each mip-map. Each nonempty imagecell|,;;
`now maybe downloaded. Larger values of k cover more area within theoriginal
`
`Attorney Docket No.: FLVT3005
`gbr/fivt/3005.000.provisional.wpd
`
`12/26/2000
`
`1 2 3 4 5 6 7 8
`
`8 of 17
`
`Microsoft Corp. Exhibit 1068
`
`8 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`-8-
`
`image but provide lower detail on that area. The task at hand is now to
`determine, giventhe viewing frustum andthelist of previously downloaded image
`cells |,,;, downloading which grids will improve the quality of the display as fast
`as possible, considering the download rate as fixed. The scheme used to
`implemented the downloading sequenceofthesecells is by constructing a tree,
`starting from In-6,0,.0 and expanding a quadtree towards the lower mip-maplevels.
`(Quadtrees are data structures in which each node can have up to fourchild
`nodes. As each 64x64pixel imagein the grid 1, has exactly four matching 64x64
`pixel images on the grid 1,., covering the samearea, the data structure is built
`accordingly.)
`For every framethatis rendered , begin with the cell that covers the area
`of the entire original image, |y.40- For each cell under consideration, compute
`the principle mip-map level that should be used to drawit. If it is lower than the
`mip-map level of the cell, subdivide the cell
`to four smaller cells and use
`recursion.
`If this operation attempts to draw over areas that do not yet have
`imagecells at a low enough mip-maplevel to use with them,the recursion stops.
`If the principle mip-maplevel is equal or higherthan the level of thecell,
`then thecell is rendered usingthecell of the principle mip-map level, which is the
`parentofthatcell in the Quad-tree, at the appropriate level. Then download the
`cells in which the difference between the principle mip-map levelto the mip-map
`level of the imagecell actually usedis the highest. Downloading is asynchronous;
`the renderer maintains a priority queue of download requests, and separate
`threads are downloading images. Whenever a downloadis complete, another
`downloadisinitiated immediately, based on the currently hig hest-priority request.
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`9 of 17
`
`Microsoft Corp. Exhibit 1068
`
`]
`
`2 3 4 5
`
`
`
`
`S
`6
`7
`8
`9
`10
`11
`12
`13
`“44
`15
`16
`17
`= y 8
`19
`20
`21
`22
`23
`24
`
`9 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`9.
`
`The principle mip-map level of an imagecell is determined by the screen
`resolution, FOV(field of view) angle, the angle formed betweenthe image's plane
`normal and the line connecting between the camera andthe position within the
`
`cell that is closest to the camera, and a few other factors. The equation, which
`
`uses the above information, approximates the general mip-mapping level
`
`equation:
`
`] 2 3 4 5 6
`
`| = max(0, log, (T/S))
`
`in whichSis the surface of the cell as displayed on the screen during rendering
`{in pixels), and T is the surface of the cell within the texture being mapped(in
`pixels).
`
`7 8 9 0
`
`
`
`Whenrendering a cell of the grid |,,
`
`T = N’2*
`
`and
`
`S = xycos(a)ctg?(0.5FOV)?? T / 2”
`
`~
`
`18
`
`19
`
`20
`
`21
`
`22
`
`wherex is the display's x-resolution,y is the display's y-resolution, FOVis the field-
`
`of-view angle, a is the angle between the image's plane normal and theline
`
`connecting the viewpoint and the pointin thecell of shortest distancetoit, t is the
`
`length of the square eachpixelin the original imageis assigned to in 3D, and z
`
`23
`24
`25
`
`is the height of the camera over the image's plane.
`This arrives at the equation:
`| = log, (z* /(xycos(a)ctg?(0.5FOV)t”))
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`10 of 17
`
`Microsoft Corp. Exhibit 1068
`
`10 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`-10-
`
`| = max(0, min(l, M))
`
`For example, using a 64x64 target grid display to render the image from a view
`of height N with FOV angle of 90 degrees, with the length of each pixel in space
`being one, the entire target image can befitted precisely to the display as
`demonstrated by:
`
`| = log, (N7/(64? #1 °1*17))=M
`
`]
`
`2 3 4 5
`
`6
`
`7 8
`
` of view over the map. Provided that both layers share the same coordinate
`
`Image Data Parcel Transfer for Multiple Target Image Layers:
`The ordered download process of the present invention can be extended
`to support the concurrent download of multiple target image layers for separate
`or composited rendering bythe client system. For example, one such layer may
`be a geographic map and a second layer may be a graphic-based imageoverlay
`providing textual and graphical navigational cues. Bothwill be viewed by the user
`from the sameeffective viewpoint and reflect navigationaltranslations of the point
`
`~
`
`18
`19
`20
`21
`22
`23
`24
`
`system, data parcels representing the corresponding grid portions of each layer
`can be requested concurrently by the client system in execution of the process
`described above. That is, each layer image will be composed at eachcell layer
`of corresponding mip-maps. The client system process of receiving and rendering
`data parcels is extendedto distinguish between the data parcels as received for
`the different
`layers and, as appropriate, provides for the joint or separate
`rendering of the parcel data.
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000. provisional.wpd
`
`12/26/2000
`
`11 of 17
`
`Microsoft Corp. Exhibit 1068
`
`11 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`oOOoONOOOFWYN
`
`-11-
`
`Multiple Parallel Download of Target Image Parcels:
`
`The above concept can be extended to allow the viewing of multiple
`
`images from the same viewpoint, assuming that they aretiled (i.e. placed on a
`
`grid), where each image within the grid contains mip-maps as previously
`
`described. The application tracks which of the imagesare currently viewed, and
`
`simultaneously performs downloading and renderingfor all of them.
`
`For a given layer, some of the cells within the grid may not necessarily
`
`contain images, and can be ignored. This allows for handling even larger-scale
`
`images, because they can befirst split into smaller images and then, potentially
`
`in parallel, compiled to produce the mip-map grid storagefiles required for each
`
`11
`
`layer.
`
`
`
`
`Attorney Docket No.: FLVT3005
`gbr/flvt/3005.000.provisional.wpd
`
`12/26/2000
`
`12 of 17
`
`Microsoft Corp. Exhibit 1068
`
`12 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`
`
`}xO4}JOJJeAR]jedIUdBIs
`
`
`
`
`
`SJuaWalaGepueqz
`
`
`
`‘5‘Sd‘dI119D"™..,
`
`a
`i“ky
`Pea
`
`\/s
`
`jNosyul]
`
`pup=~s1ydesBoas
`
`sAI}OAdSI8q
`
`XISYIMQE
`
`josoaiBeap
`
`WOpseal}
`
`SJEUIWIO|SIIQOI]UlGZ
`
`13 of 17
`
`Microsoft Corp. Exhibit 1068
`
`13 of 17
`
`Microsoft Corp. Exhibit 1068
`
`
`
`
`

`

`
`
`FIG.2
`
`14 of 17
`
`Microsoft Corp. Exhibit 1068
`
`14 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`3/5
`
`64
`
`64
`
`64
`
`64
`
`
`
`64
`
`64
`
`64
`
`64
`
`FIG. 4
`
`15 of 17
`
`Microsoft Corp. Exhibit 1068
`
`15 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`4s
`
`
`
`FIG.5
`
`16 of 17
`
`Microsoft Corp. Exhibit 1068
`
`16 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

`

`64
`
`64
`
`64
`
`
`
`
`
`IG.
`
`17 of 17
`
`Microsoft Corp. Exhibit 1068
`
`17 of 17
`
`Microsoft Corp. Exhibit 1068
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket