throbber
00/12/21ATT4
`
`a1
`.
`in
`
`3
`
`
`
`
`
`Va dG Oe
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`REQUEST FOR FILING A PROVISIONAL APPLICATION FOR PATENT
`UNDER 37 CFR §1.53 (c)
`
`9
`
`ALPioy
`
` Levanon
`
`
`| Lavi
`
`21 Bar Jlan St., Raanana, !srael
`
`| 3 Nacha! Besor St., Ramat Hasharn, Israel
`
`TITLE OF THE INVENTION
`
`OPTIMIZATION OF IMAGE PARCEL DOWNLOAD SEQUENCE FOR
`FAST QUALITY BUILD-UP OF IMAGE DATA STREAMED OVER LIMITED
`AND NARROWBAND COMMUNICATION CHANNELS WITH
`DIFFERENT VIEWING FRUSTUM FROM A DYNAMIC THREE-
`DIMENSIONAL VIEWPOINT
`
`A
`
`12/27/61
`
`Fon INVENTOR(S)
`
`|_x
`
`Direct all correspondence to Customer Number 23488. AHAN
`650.325.2100
`23488
`650.325.2107
`PATENT TRADEMARK OFFICE
`
`Gerald B. Rosenberg, Esq.
`NewTechLaw
`285 Hamilton Avenue, Suite 520
`I! Palo Alto, California 94301
`
`(Reg No.: 30,320)
`
`Telephone:
`Facsimile:
`
`ENCLOSED APPLICATION PARTS (check all that apply)
`
`Specification
`
`No. of pages:
`
`Drawings
`
`Declaration
`
`No. of sheets:
`
`Other: Return-Receipt Post Card.
`
`40
`
`2
`
`___——
`
`Smail Entity Statement
`
`Powerof Attorney
`
`____ Assignment and Cover Sheet
`
`METHOD OF PAYMENT OF FILING FEES FOR THIS PROVISIONAL APPLICATION FOR PATENT
`
`i] Provisional Basic Filing Fee: $ 150.00 (Small Entity: $75.00)
`
`Filing Fee Amount: $ 150.00
`
`A check is enclosed to cover the Filing Fees.
`
`The Commissioneris hereby authorized charge Filing Fees or credit any
`overpayment to: Deposit Account Number: 50-0890.
`
`This invention was not made by or under contract with a US Government agency
`
`US Government agency and Contract:
`
`Date: December 26, 2000
`
`Gerald B. Rosenberg
`Reg. No.: 30,320
`
`Application Docket No:
`
`FLVT3001
`
`Express Mail Label No.:
`
`EL 661 534 265 US
`
`jj Address To:
`
`Box Provisional Application, Assistant Commissionerfor Patents, Washington, DC 20231
`
`gbr/flvt/3001 002 prov xmittal wpd
`
`1 of 16
`
`Microsoft Corp. Exhibit 1071
`
`1 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`OmANAaHRWNY—
`
`
`
`
`OPTIMIZATION OF IMAGE PARCEL DOWNLOAD
`SEQUENCE FOR FAST QUALITY BUILD-UP OF
`IMAGE DATA STREAMED OVER LIMITED AND
`NARROWBAND COMMUNICATION CHANNELS
`WITH DIFFERENT VIEWING FRUSTUM FROM A
`DYNAMIC THREE-DIMENSIONAL VIEWPOINT
`
`Inventors:
`Isaac Levanon
`Yoni Lavi
`
`Background of the Invention
`
`The present inventionis generally related to the delivery of high-resolution
`
`highly featured graphic images overlimited and narrowband communications
`
`channels.
`
`Summary of the Invention
`
`The objective is to display a two-dimensional pixel 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
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001 .000.provisionai.wpd
`
`12/26/2000
`
`2 of 16
`
`Microsoft Corp. Exhibit 1071
`
`2 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`
`]
`2
`3
`4
`5
`6
`7
`8
`9
`10
`1]
`12
`
`13
`
`15
`
`16
`17
`18
`19
`20
`21
`22
`23
`24
`25
`
`_2-
`
`images are remotely hosted for on-demandselection and transfer to a client
`system for viewing.
`Images,as stored by the server, mayindividually range from gigabytes to
`multiple terabyte in total size. A correspondingly large server storage and
`processing system is contemplated. Conversely,client systems are contemplated
`to be conventional personal computersystems 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 most wireless applications,
`conventional narrowband communicationslinks have a bandwidth of less than
`approximately three kilobytes of data per second. Consequently, transmittal of
`entire images to a client system in reasonable timeis infeasible as a practical
`
`matter.
`
`Description of the Invention
`
`Overview:
`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 imagefor transfer
`to a client system (Figure 3). Composed and separatestatic 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
`communication link.
`
`Attorney Docket No.: FLVT3001
`gbr/ft/3001.000.provisional.wpd
`
`12/26/2000
`
`3 of 16
`
`Microsoft Corp. Exhibit 1071
`
`3 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`3.
`
`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, graphicaltext overlays, and hyperlink selection areas, separately provided
`or composed, aid in the useful presentation and navigation of the image as
`presented by the client system and viewedby the 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 andthe connecting communicationslink. Separate transfer of 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 anddisplays a low-detail representation of
`the image requested bythe client system. The system and methods immediately
`continue fo 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 as fast as possible, yet continuously building the
`image quality to the highest resolution of the image as stored by the server.
`
`-OnNWOOOFWY
`
`9
`10
`11
`12
`13
`14
`15
`16
`17
`18
`19
`20
`21
`22
`23
`24
`
`
`
`
`
`=
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001.000.provisional.wpd
`
`12/26/2000
`
`4 of 16
`
`Microsoft Corp. Exhibit 1071
`
`4 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`_4-
`
`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 image pixels (Figure 4) 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
`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 narrowband transmission channel. Using a smaller image array, such as
`
`32x32, would create a 0.5KByte parcel, hence causing inefficiencies 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 mapping efficiently. Each parcel, as received bythe client system,
`
`is preferably immediately processed and incorporatedinto the presented image.
`
`To do so efficiently, according to the present invention, each data parcel is
`
`independently processable by the client system, which is enabled by the selection
`
`]
`
`2 3 4 5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`1]
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`and server-side processing used to prepare a parcel for transmission. In addition,
`
`21
`
`22
`
`23
`
`24
`
`each data parcelis sized appropriate to 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,
`
`
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001.000.provisional.wpd
`
`12/26/2000
`
`5 of 16
`
`Microsoft Corp. Exhibit 1071
`
`5 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`-5-
`
`data parcels are also processed for texture mapping and other imagefeatures,
`
`such as topographical detailing.
`
`Currently, with regard to conventional client systems, a larger imagearray,
`
`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
`
`assistants (PDAs) and cellular phones.
`
`Since access to cache memory is
`
`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 content is vector, text or other data that may subject to differentclient
`
`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 on a prioritization of the importance
`
`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
`
`composedinto data packets for transmission subject to prioritizations set by the
`
`server alone, based on the nature and typeofthe client system, and interactively
`
`influenced by the actions and commandsprovidedbythe userof the client system
`
`(Figure 5).
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001 000. provisional.wpd
`
`12/26/2000
`
`6 of 16
`
`Microsoft Corp. Exhibit 1071
`
`1
`
`2 3 4 5
`
`6
`
`7
`
`8
`9
`10
`
` 11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`6 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`CoONUNOGOFBWNY—
`
`9
`
`10
`
`1]
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`_6-
`
`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 ontheclient
`
`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
`
`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 to the client
`
`system. Preferably, the detail of a grid array is sequentially enhancedbydivision
`
`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 numberof parcels are used, each data parcel is
`
`rendered by the client system into the target image. Additional client system
`
`image data processing to provide texturing and three-dimensional representation
`
`of the data may be performedaspart of the parcel rendering and integration into
`
`the target image.
`
`Image Parcel Download Sequence:
`
`The server of the present invention supports the download of parcel data
`
`to a client system by providing data parcels in response to 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
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001.000. provisional.wpd
`
`12/26/2000
`
`7 of 16
`
`Microsoft Corp. Exhibit 1071
`
`7 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`_7.
`
`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, corresponding to portionsof 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
`
`parcels are received. The orderof 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 parcel size 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 |, and its 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 I). The rectangle [64i,64i + 64] x [64/,64 | + 64] of |, is mapped
`
`to loi
`
`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 imagesto be used as surface textures when rendering
`
`a two-dimensional representation of a three-dimensional scene, and which are
`
`defined recursively as:
`
`leer (il) = avg(l, (21,2)), (21 + 1,2)), 1(21,2) + 1), 421 + 1,2) + 1)
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001 .000. provisional.wod
`
`12/26/2000
`
`8 of 16
`
`Microsoft Corp. Exhibit 1071
`
`8 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`mal
`
`oO0DOANWwWOHS&FWWH
`
`11
`
`12
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`8.
`
`Such mip-mapsare created upto |,,,.M = log, (N) - 6. At this point, |, ts
`
`a 64x64 image containing the entire area of the original image, hence no further
`
`mip-mapping is required.
`
`The methods of the present invention then proceed by constructing the
`respective grids orcells (I,;,) for each mip-map. Each nonempty imagecell |,;;
`now may be downloaded. Larger values of k cover more area within the original
`
`image but provide lower detail on that area. The task at hand is now to
`
`determine, given the 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 sequenceof thesecells is by constructing a tree,
`
`starting from Iy.¢.5,. and expanding a quadtree towards the lower mip-map levels.
`{Quadtrees are data structures in which each node can have upto four child
`
`nodes. As each 64x64 pixel 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 frame that is rendered , begin with the cell that covers the area
`
`of the entire original image, ly.69- 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-map levelto use with them, the recursion stops.
`
`If the principle mip-map level is equal or higherthan the level of the cell,
`
`then the cell is rendered using thecell of the principle mip-map level, whichis the
`
`parentof that cell in the Quad-iree, at the appropriate level. Then download the
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/3001 .000. provisional.wed
`
`12/26/2000
`
`9 of 16
`
`.
`
`Microsoft Corp. Exhibit 1071
`
`9 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`
`
`
`15 in whichSis the surface of the cell as displayed on the screen during rendering
`
`-9-
`
`cells in which the difference betweenthe principle mip-map level to 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 download is complete, another
`
`download is initiated immediately, based on the currently highest-priority request.
`
`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:
`
`| = max(0, log, (T/S))
`
`]
`
`2
`
`3
`
`4
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`(in pixels), and T is the surface of the cell within the texture being mapped (in
`
`pixels).
`
`Whenrendering a cell of the grid |,,
`
`T = N’2*
`
`and
`
`§ = xycos(a)ctg?(0.5FOV\P T / z”
`
`wherex is the display's x-resolution, y is the display's y-resolution, FOVisthefield-
`
`of-view angle, a is the angle between the image's plane normal and the line
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/300 1.000. provisional.wpd
`
`12/26/2000
`
`100f 16
`
`-
`
`Microsoft Corp. Exhibit 1071
`
`10 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`—~—OoOCONOBOOoF&FWWD
`
`-10-
`
`connecting the viewpoint and the pointin the cell of shortest distanceto it, t is the
`length of the square each pixelin the original image is assigned to in 3D, and z
`
`is the height of the camera over the image's plane.
`
`This arrives at the equation:
`| = log, (z” /(xycos(a)ctg?(0.5FOV)t”))
`
`| = max(O, min(!, 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, (N2/(642 1 #113) =M
`
`
`
`Attorney Docket No.: FLVT3001
`gbr/flvt/300 1.000. provisional.wpd
`
`12/26/2000
`
`11 of 16
`
`Microsoft Corp. Exhibit 1071
`
`11 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`
`
`
`
`1x93JO,saAR]pea1ydess
`
`‘035‘Sd‘INl2D™.,
`
`"i.fs
`
`sjuewejaqepueqz
`
`9
`
`he
`
`By
`"ie,
`
`/s
`
`
`
`sjexidpey!wi|un
`
`GINpeywup)
`
`|
`
`jnosyul|
`
`sjexid poywijun
`
`.Sg‘NN,aot
`"’*,Nw,raa
`
`ae
`
`o1ydeuboes
`
`PHS
`
`sAlzDedsidd
`
`XISYIMQE
`
`josaeibap
`
`wopesel
`
`S}eUIWO|SJIQOINUlAz
`
`12 of 16
`
`Microsoft Corp. Exhibit 1071
`
`12 of 16
`
`Microsoft Corp. Exhibit 1071
`
`
`
`
`

`

`2/5
`
`
`
`FIG.2
`
`13 of 16
`
`Microsoft Corp. Exhibit 1071
`
`13 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`3/5
`
`64
`
`64
`
`64
`
`64
`
`
`
`
`64
`
`64
`
`64
`
`64
`
`Fic. 4
`
`14 of 16
`
`Microsoft Corp. Exhibit 1071
`
`14 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`4s
`
`
`
`
`FIG.5
`
`15 of 16
`
`Microsoft Corp. Exhibit 1071
`
`15 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

`

`+\o
`
`64
`
`64
`
`—_
`
`
`
`
`
`FIG.6
`
`16 of 16
`
`Microsoft Corp. Exhibit 1071
`
`16 of 16
`
`Microsoft Corp. Exhibit 1071
`
`

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