throbber
a2, United States Patent
`US 6,182,114 Bl
`(10) Patent No.:
`Jan. 30, 2001
`(45) Date of Patent:
`Yap etal.
`
`US006182114B1
`
`(54) APPARATUS AND METHOD FOR
`REALTIME VISUALIZATION USING
`USER-DEFINED DYNAMIC, MULTI-
`FOVEATED IMAGES
`
`(75)
`
`Inventors: Chee K. Yap; Ee-Chien Chang, both
`of New York, NY (US); Ting-Jen Yen,
`Jersey City, NJ (US)
`
`(73) Assignee: New York University, New York, NY
`(US)
`
`(*) Notice:
`
`Under 35 U.S.C. 154(b), the term of this
`patent shall be extended for 0 days.
`
`(21) Appl. No.: 09/005,174
`
`(22)
`
`Filed:
`
`Jan. 9, 1998
`
`eves GO6F 15/16
`Int. Cl.’ .
`(51)
`
`(52) U.S. Ch oo.
`709/203; 709/246
`
`(58) Field of Search 0... 709/217, 219,
`709/246, 247, 203; 707/10; 382/103, 233,
`235, 232, 240, 302
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`11/1986 Tanimoto .
`4,622,632
`8/1994 Perlin .
`5,341,466
`1/1996 Gerhardtet al. oe 382/103
`5,481,622 *
`
`« 382/302 X
`5,568,598 * 10/1996 Macket al.
`.
`
`1/1998 Bradley oo...
`cece 382/233
`5,710,835 *
`
`3/1998 Denninghoff etal
`« 382/235 K
`5,724,070 *
`
`1/1999 Meadetal. .........
`« 382/232 X
`5,861,920 *
`
`« 382/240 X
`5,880,856 *
`3/1999 Ferriere .......
`7/1999 ATiga woes secesesceeseseeees 707/10
`5,920,865 *
`OTHER PUBLICATIONS
`
`Tams Frajka et al., Progressive Image Coding with Spatially
`Variable Resolution, IEEE, Proceedings International Con-
`ference on Image Processing 1997, Oct. 1997, vol. 1, pp.
`53-56.*
`
`2
`
`E. C. Chang et al., “Realtime Visualization of Large .. .
`Mar. 31, 11997,pp. 1-9, Courant Institute of Mathematical
`Sciences, New York University, N.Y. U.S.A.
`
`E. C. Chang et al., “A Wavelet Approach to Foveating
`Images”, Jan. 10, 1997,pp. 1-11, Courant Institute of Math-
`ematical Sciences, New York University, N.Y. U.S.A.
`
`S.G. Mallat, “A Theory for Multiresolutional Signal Decom-
`position... ”, IEEE Transactions on Pattern Analysis and
`Machine Intelligence,pp. 3-23, Jul. 1989, vol. 11, No. 7,
`IEEE Computer Society.
`
`NewsRelease, “Wavelet Image Features”,Summus’ Wavelet
`Image Compression,Summus 14 pages.
`
`R.L. White et al., “Compression and Progressive Transmis-
`sion of Astronomical Images”, SPIE Technical Conference
`2199, 1994.
`
`(List continued on next page.)
`
`Primary Examiner—Zarmi Maung
`Assistant Examiner—Patrice Winder
`
`(74) Attorney, Agent, or Firm—Baker Botts, L.L.P.
`
`(57)
`
`ABSTRACT
`
`Aclient apparatus which enables a realtime visualization of
`at least one image. The client apparatus includes a storage
`device whichstores first data corresponding to a multifove-
`ated representation of an original image, and a user input
`device which providing second data corresponding to at
`least one visualization command of at least one user. In
`
`addition, the client apparatus includes a processing arrange-
`ment which generates third data corresponding to a multi-
`foveated image using the first data, the second data and a
`foveation operator.
`
`8 Claims, 6 Drawing Sheets
`
`CONVERT USERINPUT
`
`(FOVEAL REGION} TO
`(MULTI RESOLUTION)
`
`
`REQUEST FOR
`COEFFICIENTS.
`
`
`
`SEND (MULTI
`DETERMINE FOVEAL
`
`RESOLUTION) REQUEST
`REGION FROM USER
`TO SERVER FOR
`
` INPUT,
`COEFFICIENTS
`
`
`
`UPDATE DISPLAY
`WINDOWS
`(PROGRESSIVELY)
`BASED ON PYRAMID
`REPRESENTATION
`
`RECEIVE COEFFICIENTS.
`FROM SERVER
`
`
`
`
`
`
`
`
`20
`
`Google 1022
`U.S. Patent No. 9,445,251
`
`i—__¥
`WAVELET TRANSFORM
`PERFORM INVERSE
`ON COEFFICIENTS
`(IF NECESSARY)
`AND STORE
`(PROGRESSIVELY)IN
`PYRAMID
`
`c j
`
`Google 1022
`U.S. Patent No. 9,445,251
`
`

`

`US 6,182,114 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`E.L. Schwartz, “The Development of Specific Visual...”
`Journal of Theoretical Biology, 69:655—-685, 1977.
`FS. Hill Jr. et al.,“Interactive Image Query ... ” Computer
`Graphics, 17(3), 1983.
`T.H. Reeveset al., “Adaptive Foveation of MPEG Video”,
`Proceedings of the 4th ACM International Multimedia Con-
`ference, 1996.
`R.S. Wallaceet al., “Space—variant image processing”. Int’].
`J. of Computer Vision, 13:1(1994) 71-90.
`
`E.L. Schwartz A quantitative model of the functional archi-
`tecture: Biological cybernetics, 37(1980) 63-76.
`
`P. Kortum et al., “Implementation of a Foveated Image .. .
`” Human Vision and Electronic Imagining, SPIE Proceed-
`ings vol. 2657, 350-360, 1996.
`
`M.H. Grosset al., “Efficient triangular surface ...”, IEEE
`Trans on Visualization and Computer Graphics, 2(2) 1996.
`
`* cited by examiner
`
`

`

`U.S. Patent
`
`Jan. 30, 2001
`
`Sheet 1 of 6
`
`US 6,182,114 B1
`
`. Ch
`
`N+-z~
`
`16
`
`WwAWwHq)
`
`
`
`oOooNo2fF+o28
`
`vToOWwW~
`
`—
`
`oY—
`
`-
`
`TALErffiUsinN
`cna)epTey
`
`om©mNt
`
`co—
`
`wv
`
`t—
`
`FIG. 1
`
`
`
`

`

`U.S. Patent
`
`Jan. 30, 2001
`
`Sheet 2 of 6
`
`US 6,182,114 B1
`
`N>
`
`(a-b+c-d)
`
`a= (at+b+c+d)
`5
`
`10
`
`_
`
`

`

`U.S. Patent
`
`Jan. 30, 2001
`
`Sheet 3 of 6
`
`US 6,182,114 B1
`
`2
`
`3 = (a+b+c+td)
`
`ai'+b'+c' +d’
`
`2
`
`FIG. 2B
`
`

`

`U.S. Patent
`
`Jan. 30, 2001
`
`Sheet 4 of 6
`
`US 6,182,114 B1
`
`
`
`
`LET N = NUMBER OF ROWS AND COLUMNSOF PIXELS IN THE (SQUARE) IMAGE
`
`LET X = THE NEXT OF THE THREE COLOR COMPONENTSOF THE IMAGE (R, G OR B)
`
`
`LET M,(X) = BE THE NxN MATRIX WHOSE COEFFICIENTS EQUAL THE NUMERIC
`VALUE OF THE X COMPONENT OF THE CORRESPONDING PIXEL OF THE IMAGE
`
`
`LET M,, ,(X) = BE THE N/2xN/2 MATRIX WHOSE COEFFICIENTS EQUAL THE
`
`"AVERAGE" OF THE CORRESPONDING 2x2 BLOCK OF FOUR COEFFICIENTSIN M,(X)
`
`
`
`
`
`COEFFICIENTS IN M, (X)
`
`LET H,, ,(X) = BE THE Ni2xni2 MATRIX WHOSE COEFFICIENTS EQUAL THE
`"HORIZONTAL DIFFERENCE” OF THE CORRESPONDING 2x2 BLOCK OF FOUR
`
`LET V,, ,(X) = BE THE Ni2xN/2 MATRIX WHOSE COEFFICIENTS EQUAL THE
`"VERTICAL DIFFERENCE" OF THE CORRESPONDING 2x2 BLOCK OF FOUR
`COEFFICIENTS IN M,(X)
`
`
`LET D,, ,(X) = BE THE N/2xM/2 MATRIX WHOSE COEFFICIENTS EQUAL THE
`"DIAGONAL DIFFERENCE” OF THE CORRESPONDING 2x2 BLOCK OF FOUR
`COEFFICIENTS IN M,{X)
`
`STORE H,, ,(X), V(X), Dy, ,(X)
`
`cre
`
`ISN < 256?
`
`YES
`
`STORE M,(X)
`
`
`
`
`
`
`
`
`FIG. 3
`
`YES
`ARE THERE
`MORE COLOR COMPONENTIS) CO
`LEFT?
`NO
`
`END
`
`

`

`U.S. Patent
`
`Jan. 30, 2001
`
`Sheet 5 of 6
`
`US 6,182,114 B1
`
`CONVERT USER INPUT |
`(FOVEAL REGION) TO
`(MULTI RESOLUTION)
`REQUEST FOR
`
`42
`
`COEFFICIENTS
`INPUT
`REPRESENTATION
`
`SEND (MULTI
`RESOLUTION) REQUEST
`TO SERVER FOR
`COEFFICIENTS
`
`DETERMINE FOVEAL
`REGION FROM USER
`
`RECEIVE COEFFICIENTS|
`FROM SERVER
`
`UPDATE DISPLAY
`WINDOWS
`(PROGRESSIVELY)
`BASED ON PYRAMID
`
`20
`
`PERFORM INVERSE
`WAVELET TRANSFORM |
`ON COEFFICIENTS
`(IF NECESSARY)
`AND STORE
`(PROGRESSIVELY)IN
`PYRAMID
`
`19
`
`FIG.4
`
`

`

`U.S. Patent
`
`Jan. 30, 2001
`
`Sheet 6 of 6
`
`US 6,182,114 B1
`
`LET L = LEVEL OF RESOLUTION SUCH
`THAT THE SIZE OF IMAGE M, IS 128 x128
`MATRIX. THE LOWEST LEVEL OF
`RESOLUTION SUPPORTED
`
`200
`
`NO
`
`260
`
`220
`
`
`
`HAVE THE
`
`COEFFICIENTS
`OF M,(R), M,(G) AND
`M,(B) CORRESPONDING \YES
`
`YES
`
`,
`
`210
`
`IS
`
`
`L = THE LEVEL OF LOWEST
`
`RESOLUTION?
`
`
`YES
`
`HAVE THE
`
`
`HORIZONTAL,
`VERTICAL AND
`
`
`
`DIAGONAL DIFFERENCE
`COEFFICIENTS NECESSARY
`
`
`TO RECONSTRUCT THE
`
`
`
`COEFFICIENTSIN M,(R),M,(G)
`ANDM,(B) CORRESPONDING
`TO THE PIXELSIN
`
`
`THE FOVEAL
`REGION BEEN
`
`
`REQUESTED?
`
`
`
`TOTHEPIXELS
`IN THE FOVEAL
`REGION BEEN
`REQUESTED
`?
`
`
`
`
`
`
`
`NO
`
`
`
`230
`
`MASK
`
`REQUEST THE
`COEFFICIENTS
`ACCORDING TO THE
`
`REQUEST THE
`DIFFERENCE
`COEFFICIENTS
`ACCORDING TO THE
`MASK
`
`240<Ei>> YES
`
`280
`
`270
`
`L<L-1
`
`NO
`RETURN TO
`MANAGER THREAD
`
`250
`
`FIG.5
`
`

`

`US 6,182,114 B1
`
`1
`APPARATUS AND METHOD FOR
`REALTIME VISUALIZATION USING USER-
`DEFINED DYNAMIC, MULTI-FOVEATED
`IMAGES
`
`FIELD OF THE INVENTION
`
`The present invention relates to a method and apparatus
`for serving images, even very large images, over a “thin-
`wire” (e.g., over the Internet or any other network or
`application having bandwidth limitations).
`
`BACKGROUND INFORMATION
`
`The Internet, including the World Wide Web, has gained
`in popularity in recent years. The Internet enables clients/
`users to access information in ways never before possible
`over existing communicationslines.
`Often, a client/viewer desires to view and have access to
`relatively large images. For example, a client/viewer may
`wish to explore a map of a particular geographic location.
`The whole map, at highest (full) level of resolution will
`likely require a pixel representation beyond the size of the
`viewer screen in highest resolution mode.
`One responseto this restriction is for an Internet server to
`pre-compute many smaller images of the original image.
`The smaller images may be lower resolution (zoomed-out)
`views and/or portions of the original image. Most image
`archives use this approach. Clearly this is a sub-optimal
`approachsince no preselected set of views can anticipate the
`needs ofall users.
`
`Some map servers (see, e.g., URLs http://
`www.mapquest.com and http://www.MapOnUs.com)use an
`improved approach in which the user may zoom and pan
`over a large image. However, transmission over the Internet
`involves significant bandwidth limitations (i.e transmission
`is relatively slow). Accordingly, such map servers suffer
`from at least three problems:
`Since a brand new image is served up for each zoom or
`pan request, visual discontinuities in the zooming and
`panning result. Another reason for this is the discrete
`nature of the zoom/pan interface controls.
`Significantly less than realtime response.
`The necessarily small fixed size of the viewing window
`(typically about 3"x4.5"). This does not allow much of
`a perspective.
`To generalize, what is needed is an apparatus and method
`which allows realtime visualization of large scale images
`over a “thinwire” model of computation. To put it another
`way, it is desirable to optimize the model which comprises
`an image server and a client viewer connected by a low
`bandwidth line.
`
`One approach to the problem is by meansofprogressive
`transmission. Progressive transmission involves sending a
`relatively low resolution version of an image and then
`successively transmitting better
`resolution versions.
`Because the first,
`low resolution version of the image
`requires far less data than the full resolution version,it can
`be viewed quickly upon transmission. In this way, the viewer
`is allowed to see lower resolution versions of the image
`while waiting for the desired resolution version. This gives
`the transmission the appearance of continuity. In addition, in
`some instances, the lower resolution version may be suffi-
`cient or may in any event exhaust the display capabilities of
`the viewer display device (e.g., monitor).
`Thus, R. L. White and J. W. Percival, “Compression and
`Progressive Transmission of Astronomical Images,” SPIE
`
`10
`
`15
`
`20
`
`25
`
`30
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`Technical Conference 2199, 1994, describes a progressive
`transmission technique based on bit planes that is effective
`for astronomical data.
`
`However,utilizing progressive transmission barely begins
`to solve the “thinwire” problem. A viewer zooming or
`panning over a large image (e.g., map) desires realtime
`response. This of course is not achieved if the viewer must
`wait for display of the desired resolution of a new quadrant
`or view of the map each time a zoom and panis initiated.
`Progressive transmission does not achieve this realtime
`response when it is the higher resolution versions of the
`image which are desired or needed, as these are transmitted
`later.
`The problem could be effectively solved,if, in addition to
`variable resolution overtime(i.e, progressive transmission),
`resolution is also varied over the physical extent of the
`image.
`Specifically, using foveation techniques, high resolution
`data is transmitted at the user’s gaze point but with lower
`resolution as one moves away from that point. The very
`simple rationale underlying these foveation techniques is
`that the humanfield of vision (centered at the gaze point) is
`limited. Most of the pixels rendered at uniform resolution
`are wasted for visualization purposes. In fact, it has been
`shownthat the spatial resolution of the human eye decreases
`exponentially away from the center gaze point. E. L.
`Schwartz, “The Developmentof Specific Visual Projections
`in the Monkey and the Goldfish: Outline of a Geometric
`Theory of Receptotopic Structure,” Journal of Theoretical
`Biology, 69:655-685, 1977
`The key then is to mimic the movements and spatial
`resolution of the eye. If the user’s gaze point can be tracked
`in realtime and a truly multi-foveated image transmitted
`(ie., a variable resolution image mimicking the spatial
`resolution of the user’s eye from the gaze point), all data
`necessary or useful to the user would be sent, and nothing
`more.
`In this way,
`the “thinwire” model
`is optimized,
`whatever the associated transmission capabilities and band-
`width limitations.
`In practice, in part because eye tracking is imperfect,
`using multi-foveated imagesis superior to atempting display
`of an imageportion of uniform resolution at the gaze point.
`There have in fact been attempts to achieve multifoveated
`images in a “thinwire” environment.
`F. S. Hill Jr., Sheldon Walker Jr. and Fuwen Gao, “Inter-
`active Image Query System Using Progressive
`Transmission,” Computer Graphics, 17(3), 1983, describes
`progressive transmission and a form of foveation for a
`browser of images in an archive. The realtime requirement
`does not appear to be a concern.
`T. H. Reeves and J. A. Robinson, “Adaptive Foveation of
`MPEGVideo,” Proceedings of the 4 ACM International
`Multimedia Conference, 1996, gives a method to foveate
`MPEG-standard video in a thin-wire environment. MPEG-
`
`standard could provide a few levels of resolution but they
`consider only a 2-level foveation. The client/viewer can
`interactively specify the region of interest to the server/
`sender.
`R. S. Wallace and P. W. Ong and B. B. Bederson and E.
`L. Schwartz, “Space-variant image processing”. Intl. J. Of
`Computer Vision, 13:1 (1994) 71-90 discusses space-
`variant images in computer vision. “Space-Variant” may be
`regarded as synonymouswith the term “multifoveated” used
`above. A biological motivation for such images is the
`complex logmap modelof the transformation from the retina
`to the visual cortex (E. L. Schwartz, “A quantitative model
`of the functional architecture of human striate cortex with
`
`

`

`US 6,182,114 B1
`
`3
`application to visual illusion and cortical texture analysis”,
`Biological Cybernetics, 37(1980) 63-76).
`Philip Kortum and WilsonS. Geisler, “Implementation of
`a Foveated Image Coding System For Image Bandwidth
`Reduction,” Human Vision and Electronic Imaging, SPIE
`Proceedings Vol. 2657, 350-360, 1996, implement a real
`time system for foveation-based visualization. They also
`noted the possibility of using foveated images to reduce
`bandwidth of transmission.
`M. H. Gross, O. G. Staadt and R. Gatti, “Efficient trian-
`gular surface approximations using wavelets and quadtree
`data structures”, IEEE Trans, On Visualization and Com-
`puter Graphics, 2(2), 1996, uses wavelets to produce mul-
`tifoveated images.
`Unfortunately, each of the above attempts are essentially
`based upon fixed super-pixel geometries, which amountto
`partitioning the visual field into regions of varying (pre-
`determined) sizes called super-pixels, and assigning the
`average value of the color in the region to the super-pixel.
`The smaller pixels (higher resolution) are of course intended
`to be at the gaze point, with progressively larger super-pixels
`(lower resolution) about the gaze point.
`However, effective real-time visulization over a “thin
`wire” requires precision and flexibility. This cannot be
`achieved with a geometry of predetermined pixel size. What
`is neededis a flexible foveation technique which allows one
`to modify the position and shapeofthe basic foveal regions,
`the maximum resolution at the foveal region andtherate at
`which the resolution falls away. This will allow the “thin-
`wire” model to be optimized.
`In addition, none of the above noted references addresses
`the issue of providing multifoveated images that can be
`dynamically (incrementally) updated as a function of user
`input. This property is crucial to the solution of the thinwire
`problem,since it is essential that information be “streamed”
`at a rate that optimally matches the bandwidth of the
`network with the human capacity to absorb the visual
`information.
`
`SUMMARYOF THE INVENTION
`
`The present invention overcomesthe disadvantagesof the
`prior art by utilizing means for tracking or approximating
`the user’s gaze point
`in realtime and, based on the
`approximation, transmitting dynamic multifoveated image
`(s) (ie., a variable resolution image overits physical extent
`mimicking the spatial resolution of the user’s eye about the
`approximated gaze point) updated in realtime.
`“Dynamic” meansthat the image resolution is also vary-
`ing over time. The user interface component of the present
`invention may provide a variety of means for the user to
`direct this multifoveation process in real time.
`Thus, the invention addresses the model which comprises
`an image server and a client viewer connected by a low
`bandwidth line. In effect, the invention reduces the band-
`width from server to client, in exchange for a very modest
`increase of bandwidth from the client to the server
`
`Another object of the invention is that it allows realtime
`visualization of large scale images over a “thinwire” model
`of computation.
`An additional advantage is the new degree of user control
`provided for realtime, active, visualization of images
`(mainly by way of foveation techniques). The invention
`allows the user to determine and change in realtime, via
`input means (for example, without
`limitation, a mouse
`pointer or eye tracking technology), the variable resolution
`over the space of the served up image(s).
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`4
`An additional advantage is that the invention demon-
`strates a new standard of performance that can be achieved
`by large-scale image servers on the World Wide Web at
`current bandwidth or even in the near future.
`
`Note also, the invention has advantages over the tradi-
`tional notion of progressive transmission, which has no
`interactivity. Instead,
`the progressive transmission of an
`image has beentraditionally predetermined when the image
`file is prepared. The invention’s use of dynamic (constantly
`changing in realtime based on the user’s input) multifove-
`ated images allows the user to determine how the data are
`progressively transmitted.
`Other advantages of the invention include that it allows
`the creation of the first dynamic and a more general class of
`multifoveated images. The present invention can use wave-
`let technology. The flexibility of the foveation approach
`based on wavelets allows oneto easily modify the following
`parameters of a multifoveated image: the position and shape
`of the basic foveal region(s), the maximum resolution at the
`foveal region(s), and the rate at which the resolution falls
`away. Wavelets can be replaced by any multi resolution
`pyramid schemes. But
`it seems that wavelet-based
`approachesare preferred as they are more flexible and have
`the best compression properties.
`invention’s use of
`Another advantage is the present
`dynamic data structures and associated algorithms. This
`helps optimize the “effective real time behavior” of the
`system. The dynamic data structures allow the use of “partial
`information” effectively. Here information is partial in the
`sense that
`the resolution at each pixel
`is only partially
`known. But as additional information is streamed in, the
`partial information can be augmented. Of course, this prin-
`ciple is a corollary to progressive transmission.
`Another advantage is that the dynamic data structures
`may be well exploited by the special architecture of the
`client program. For example, the client program may be
`multi-threaded with one thread (the “manager thread”)
`designed to manage resources (especially bandwidth
`resources). This manager
`is able to assess network
`congestion, and other relevant parameters, and translate any
`literal user request into the appropriate level of demand for
`the network. For example, when the user’s gaze point is
`focused on a region of an image, this may betranslated into
`requesting a certain amount, say, X bytes of data. But the
`manager can reduce this to a request over the network of
`(say) X/2 bytes of data if the traffic is congested, or if the
`user is panning very quickly.
`Another advantage of the present invention is that the
`server need send only that information which has not yet
`been served. This has the advantage of reducing communi-
`cationtraffic.
`
`Further objects and advantages of the invention will
`become apparent from a consideration of the drawings and
`ensuing description.
`BRIEF DESRIPTION OF DRAWINGS
`
`FIG. 1 shows an embodiment of the present invention
`including a server, and client(s) as well as their respective
`components.
`FIG. 2a illustrates one level of a particular wavelet
`transform, the Haar wavelet transform, which the server may
`execute in one embodiment of the present invention.
`FIG. 2b illustrates one level of the Haar inverse wavelet
`transform.
`
`FIG. 3 is a flowchart showing an algorithm the server may
`execute to perform a Haar wavelet transform in one embodi-
`ment of the present invention.
`
`

`

`US 6,182,114 B1
`
`5
`FIG. 4 shows Manager, Display and Network threads,
`which the client(s) may execute in one embodimentofthe
`present invention.
`FIG. 5 is a more detailed illustration of a portion of the
`Manager thread depicted in FIG. 4.
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`FIG. 1 depicts an overview of the components in an
`exemplary embodimentof the present invention. A server 1
`is comprised of a storage device 3, a memory device 7 and
`a computer processing device 4. The storage device 3 can be
`implemented as, for example, an internal hard disk, Tape
`Cartridge, or CD-ROM. Thefaster access and greater stor-
`age capacity the storage device 3 provides, the more pref-
`erable the embodiment of the present
`invention. The
`memory device 7 can be implemented as, for example, a
`collection of RAM chips.
`The processing device 4 on the server 1 has network
`protocol processing element 12 and wavelet transform ele-
`ment 13 running off it. The processing device 4 can be
`implemented with a single microprocessor chip (such as an
`Intel Pentium chip), printed circuit board, several boards or
`other device. Again, the faster the speed of the processing
`device 4, the more preferable the embodiment. The network
`protocol processing element 12 can be implemented as a
`separate “software” (i.c., a program, sub-process) whose
`instructions are executed by the processing device 4. Typical
`examples of such protocols include TCP/IP (the Internet
`Protocol) or UDP (User Datagram Protocol). The wavelet
`transform element 13 can also be implemented as separate
`“software”(i.e., a program, sub-process) whoseinstructions
`are executed by the processing device 4.
`In a preferred embodimentof the present invention, the
`server 1 is a standard workstation or Pentium class system.
`Also, TCP/IP processing may be used to implement the
`network protocol processing element 12 because it reduces
`complexity of implementation. Although a TCP/IP imple-
`mentation is simplest, it is possible to use the UDPprotocol
`subject to some basic design changes. The relative advan-
`tage of using TCP/IP as against UDP is to be determined
`empirically. An additional advantage of using modern,stan-
`dard network protocols is that the server 1 can be con-
`structed without knowing anything aboutthe construction of
`its client(s) 2.
`According to the common design of modern computer
`systems,
`the most common embodiments of the present
`invention will also include an operating system running off
`the processing means device 4 of the server 1. Examples of
`operating systems include, without limitation, Windows 95,
`Unix and Windows NT. However,
`there is no reason a
`processing device 4 could not provide the functions of an
`“operating system”itself.
`The server 1 is connected to a client(s) 2 in a network.
`Typical examples of such servers 1 include image archive
`servers and map servers on the World Wide Web.
`The client(s) 2 is comprised of a storage device 3,
`memory device 7, display 5, user input device 6 and pro-
`cessing device 4. The storage device 3 can be implemented
`as, for example, an internal hard disks, Tape Cartridge, or
`CD-ROM. Thefaster access and greater storage capacity the
`storage device 3 provides, the more preferable the embodi-
`mentof the present invention. The memory device 7 can be
`implemented as, for example, a collection of RAM chips.
`The display 5 can be implemented as, for example, any
`monitor, whether analog or digital. The user input device 6
`
`10
`
`15
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`can be implemented as, for example, a keyboard, mouse,
`scanner or eye-tracking device.
`The client 2 also includes a processing device 4 with
`network protocol processing element 12 and inverse wavelet
`transform element means 14 runningoff it. The processing
`device 4 can be implemented as, for example, a single
`microprocessorchip (such as an Intel Pentium chip),printed
`circuit board, several boards or other device. Again, the
`faster the run time of the processing device 4, the more
`preferable the embodiment. The network protocol process-
`ing element 12 again can be implemented as a separate
`“software” (i.e., a program, sub-process) whoseinstructions
`are executed by the processing device 4. Again, TCP/IP
`processing may be used to implement the network protocol
`processing element 12. The inverse wavelet transform ele-
`ment 14 also may be implemented as separate “software.”
`Also running off the processing device 4 is a user input
`conversion mechanism 16, which also can be implemented
`as “software.”
`
`As with the server 1, according to the common design of
`modern computer systems, the most common embodiments
`of the present
`invention will also include an operating
`system running off the processing device 4 of the client(s) 2.
`In addition, if the server 1 is connected to the client(s) 2
`via a telephone system line or other systems/lines not
`carrying digital pulses, the server 1 and client(s) 2 both also
`include a communications converter device 15. A commu-
`
`nications converter device 15 can be implemented as, for
`example, a modem. The communications converter device
`15 converts digital pulses into the frequency/signals carried
`by the line and also converts the frequency/signals back into
`digital pulses, allowing digital communication.
`In the operation of the present invention, the extent of
`computational resources (e.g., storage capacity, speed) is a
`more important consideration for the server 1, which is
`generally shared by more than one client 2, than for the
`client(s) 2.
`In typical practice of the present invention, the storage
`device 3 of the server 1 holds an imagefile, even a very large
`imagefile. A numberof client 2 users will want to view the
`image.
`Prior to any communication in this regard between the
`server 1 and client(s) 2, the wavelet transform element 13 on
`the server 1 obtains a wavelet transform on the image and
`stores it in the storage device 3.
`There has been extensive research in the area of wavelet
`
`theory. However, briefly, to illustrate, “wavelets” are defined
`by a group of basis functions which, together with coeffi-
`cients dependant on an input function, can be used to
`approximate that function over varying scales, as well as
`represent the function exactly in the limit. Accordingly,
`wavelet coefficients can be categorized as “average” or
`“approximating coefficients’
`(which approximate the
`function) and “difference coefficients” (which can be used to
`reconstruct the original function exactly). The particular
`approximation used as well as the scale of approximation
`depend upon the wavelet bases chosen. Once a group of
`basis functions is chosen,
`the process of obtaining the
`relevant wavelet coefficients is called a wavelet transform.
`
`the Haar wavelet basis
`In the preferred embodiment,
`functions are used. Accordingly,
`in the preferred
`embodiment, the wavelet transform element 13 on the server
`1 performs a Haar wavelet transform ona file representation
`of the image stored in the storage device 3, and then stores
`the transform on the storage device 3. However,it is readily
`apparent to anyone skilled in the art that any of the wavelet
`
`

`

`US 6,182,114 B1
`
`the
`
`10
`
`15
`
`20
`
`25
`
`7
`family of transforms may be chosen to implement
`present invention.
`Note that once the wavelet transform is stored, the origi-
`nal image file need not be kept, as it can be reconstructed
`exactly from the transform.
`FIG. 2 illustrates one step of the Haar wavelet transform.
`Start with an n by n matrix of coefficients 17 whoseentries
`correspond to the numeric value of a color component(say,
`Red, Green or Blue) of a square screen image of n by n
`pixels. Divide the original matrix 17 into 2 by 2 blocks of
`four coefficients, and for each 2x2 block, label the coeffi-
`cient in the first column,first row “a,”; second column,first
`row “b”; second row, first column “c”; and second row,
`second column “d.”
`
`8
`matrix 17 image representation. (However, the number of
`bits in all the coefficients may differ from the numberofbits
`in the pixels. Applying data compressionto coefficients turns
`out to be generally more effective on coefficients.) If we
`assume the imageis very large, the transform matrices must
`be further decomposed into blocks when stored on the
`storage means3.
`FIG. 3 is a flowchart showing one possible implementa-
`tion of the wavelet transform element 13 which performs a
`wavelet transform on each color componentof the original
`image. As can be seen from the flowchart, the transform is
`halted when the size of the approximation matrix is 256x
`256, as this may be considered the lowest useful level of
`resolution.
`Once the wavelet transform element 13 stores a transform
`Then one step of the Haar wavelet transform creates four
`of the image(s) in the storage means 3 of the server 1, the
`n/2 by n/2 matrices. Thefirst is an n/2 by n/2 approximation
`server 1 is ready to communicate with client(s) 2.
`matrix 8 whose entries equal the “average” of the corre-
`In typical practice of the invention the client 2 user
`sponding 2 by 2 block of four coefficients in the original
`matrix 17. As is illustrated in FIG. 2, the coefficient entries
`initiates a session with an image server 1 and indicates an
`image the user wishes to view via user input means 6. The
`in the approximation matrix 8 are not necessarily equal to
`client 2 initiates a request for the 256 by 256 approximation
`the average of the corresponding fourcoefficients a, b, c and
`matrix 8 for each color component of the image and sends
`d (i.e., a'=(at+b+c+d)/4) in the original matrix 17. Instead,
`the request to the server 1 via network protocol processing
`here, the “average” is defined as (at+b+c+d)/2.
`element 12. The server 1 receives and processes the request
`The second is an n/2 by n/2 horizontal difference matrix
`via network protocol processing element 12. The server 1
`10 whose entries equal b'=(a+b-—c-d)/2, where a, b, c and d
`sends the 256 by 256 approximation matrices 8 for each
`are, respectively, the corresponding 2x2 block of four coef-
`color component of the image, whichthe client 2 receives in
`ficients in the original matrix 17. The third is an n/2 by n/2
`similar fashion. The processing device4 ofthe client 2 stores
`vertical difference matrix 9 whose entries equal c'=(a-—b+c-
`30
`the matrices in the storage device 3 and causes a display of
`d)/2, wherea, b, c anddare, respectively, the corresponding
`the 256 by 256 version of the image on the display 5. It
`2x2 block of four coefficients in the original matrix 17. The
`should be appreciated that the this low level of resolution
`fourth is an n/2 by n/2 diagonal difference matrix 11 whose
`requires little data and can be displayed quickly. In a map
`entries equal d'=(a-b-c+d)/2, where a, b, c and d are,
`server application, the 256 by 256, coarse resolution version
`respectively,
`the corresponding 2x2 block of four coeffi-
`of the image may be useful in a navigation window of the
`cients in the original matrix 17.
`display 5, as it can provide the user with a position indicator
`A few notes are worthy of consideration. First, the entries
`with respect to the overall image.
`a’, b', c', d' are the wavelet coefficients. The approximation
`A more detailed understanding of the operation of the
`matrix 8 is an approximationof the original matrix 17 (using
`client 2 will become apparent from the discussion of the
`the “average” of each 2x2 group of 4 pixels) and is one
`further, continuous operation of the client 2 below.
`fourth the size of the original matrix 17.
`Continuousoperation ofthe client(s) 2 is depicted in FIG.
`Second, each of the 2x2 blocks of four entries in the
`4. In the preferred embodiment, the client(s) 2 processing
`original matrix 17 has one corresponding entry in each of the
`device may be constructed using three “threads,” the Man-
`four n/2 by n/2 matrices. Accordingly, it can readily be seen
`ager thread 18,
`the Network Thread 19 and the Display
`from FIG. 2 that each of the 2x2 blocks of four entries in the
`Thread 20. Thread p

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