`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`wo 98/15920
`
`WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`(51) International Patent Classification 6 :
`G06T 17/40
`
`A1
`
`(11) International Publication Number:
`
`(43) International Publication Date:
`
`16 April 1998 (16.04.98)
`
`(21) International Application Number:
`
`PCT/US97/18141
`
`(22) International Filing Date:
`
`8 October 1997 (08.10.97)
`
`(30) Priority Data:
`08/729,806
`
`8 October 1996 (08.10.96)
`
`us
`
`(71) Applicant: IMAGE TECHNOLOGY LABORATORIES, INC.
`[US/US]; Suite D221, 5000 N.W. Village Park Drive,
`Issaquah, W A 98027 (US).
`
`(72) Inventor: AUSTRENG, David, Kelly; Suite D221, 5000 N.W.
`Village Park Drive, Issaquah, W A 98027 (US).
`
`(74) Agent: MAGER, Gary, N.; Christensen O'Connor Johnson
`& Kindness, Suite 2800, 1420 Fifth A venue, Seattle, W A
`98101-2347 (US).
`
`(81) Designated States: AL, AM, AT, AU, AZ, BA, BB, BG, BR,
`BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GE,
`GH, HU, IL, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR,
`LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ,
`PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR,
`IT, UA, UG, UZ, VN, YU, ZW, ARIPO patent (GH, KE,
`LS, MW, SD, SZ, UG, ZW), Eurasian patent (AM, AZ, BY,
`KG, KZ, MD, RU, TJ, TM), European patent (AT, BE, CH,
`DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT,
`SE), OAPI patent (BF, BJ, CF, CG, CI, CM, GA, GN, ML,
`MR, NE, SN, TD, TG).
`
`Published
`With international search report.
`Before the expiration of the time limit for amending the
`claims and to be republished in the event of the receipt of
`amendments.
`
`(54) Title: METHOD OF DISPLAYING THREE-DIMENSIONAL IMAGES
`
`(57) Abstract
`
`A method of transferring digital data from a server computer ( 104) to a client computer (116)
`for three-dimensional viewing of an object is disclosed. The method includes downloading a first
`portion of the digital data and displaying the downloaded portion, while the remaining portions are
`downloaded and encapsulated with program code to produce a display object. When the digital
`data represents three-dimensional graphics, the digital data represents a series of two-dimensional
`images of a three-dimensional object that are taken along different viewing angles. Each input
`received as a result of manipulation of a directional input device ( 124) results in a change in
`the two-dimensional image being displayed, thereby creating the appearance of three-dimensional
`rotation of the displayed object. Prior to downloading, the two-dimensional images that provide the
`three-dimensional viewing are compressed by creating a mask (710) encompassing the background
`of the image (214), deleting the color within the mask (712), and compressing (716) the resultant
`data using Run Length Encoding.
`
`~ T "704
`I PHOTOGRAPH OBJECT I
`! . c,706
`
`SCAN PHOTOGRAPH
`TO CREATE IMAGE
`
`1 c,708
`
`LOAD IIIAGE INTO
`IAUGE-EDITING
`PROGRAM
`
`1 c,710
`
`CREATE llASK TO
`ENCOMPASS
`BACKGROUND
`
`1 c,712
`I DELETE ALL I
`COLOR IN MASK I
`l
`l
`s 716
`fCOitPRESS JIODIFIED IMAGE I
`~G RUN-LENGTH ENCODING I
`
`L SAVE EDITED IAUGE
`
`~ -
`
`Microsoft Corp. Exhibit 1008
`
`
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the PCT.
`
`AL
`AM
`AT
`AU
`AZ
`BA
`BB
`BE
`BF
`BG
`BJ
`BR
`BY
`CA
`CF
`CG
`CH
`CI
`CM
`CN
`cu
`cz
`DE
`DK
`EE
`
`Albania
`Annenia
`Austria
`Australia
`Azerbaijan
`Bosnia and Herzegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`Cilte d'Ivoire
`Cameroon
`China
`Cuba
`Czech Republic
`Gennany
`Denmark
`Estonia
`
`ES
`FI
`FR
`GA
`GB
`GE
`GH
`GN
`GR
`HU
`IE
`IL
`IS
`IT
`JP
`KE
`KG
`KP
`
`KR
`KZ
`LC
`LI
`LK
`LR
`
`Spain
`Finland
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`Ireland
`Israel
`Iceland
`Italy
`Japan
`Kenya
`Kyrgyzstan
`Democratic People's
`Republic of Korea
`Republic of Korea
`Kazakstan
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`ML
`MN
`MR
`MW
`MX
`NE
`NL
`NO
`NZ
`PL
`PT
`RO
`RU
`SD
`SE
`SG
`
`Lesotho
`Lithuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`The former Yugoslav
`Republic of Macedonia
`Mali
`Mongolia
`Mauritania
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zealand
`Poland
`Portugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`SI
`SK
`SN
`sz
`TD
`TG
`TJ
`TM
`TR
`TT
`VA
`UG
`us
`uz
`VN
`YU
`zw
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`Turkmenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`VietNam
`Yugoslavia
`Zimbabwe
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`- 1 -
`
`5
`
`10
`
`15
`
`20
`
`METHOD OF DISPLAYING THREE-DIMENSIONAL IMAGES
`Field of the Invention
`The present invention relates to the presentation of digital information on a
`client computer, and in particular, the visual display that allows three-dimensional
`viewing of an object on a client computer connected to a network.
`Background of the Invention
`In recent years, there has been a tremendous proliferation of computers
`connected to the Internet. Many of the computers are used to access the Worldwide
`Web (WEB). Combined with the recent commercialization of the WEB, this has
`created a need to efficiently present digital information on client computers connected
`to the Internet. Digital information includes visual information as well as sound.
`Visual information includes varying formats for displaying two-dimensional still
`graphics, animated graphics, and three-dimensional graphics. A computer can
`download digital information from a WEB server, and execute a WEB browser
`program to translate the digital information into a visual or audio form perceptible by
`the user.
`A client computer downloads WEB pages in a format known as "Hypertext
`Markup Language" (HTML) for viewing with a WEB browser running on the client
`computer. HTML includes commands for formatting text, linking to digital data, and
`receiving input from a user at a client computer. HTML is designed to be platform
`independent, so a WEB page can be displayed on any computer with a compatible
`browser program.
`A WEB browser interprets the content and commands within an HTML file in
`order to properly display the content within the file. However, a WEB browser is not
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97118141
`
`-2-
`
`5
`
`10
`
`IS
`
`20
`
`25
`
`30
`
`able to properly interpret all formats of digital data. In order to provide the flexibility
`to download and display digital data in formats "foreign" to a WEB browser, several
`techniques have been developed. One such technique is to utilize a supplementary
`program, called a "helper application," which is installed on the client computer,
`typically by downloading the program over the Internet. The WEB browser is able to
`associate specific file formats with specific helper applications, and invokes the proper
`helper application when the WEB browser is called upon to interpret and display the
`foreign digital data.
`Another method of interpreting and displaying digital data utilizes small
`programs, or applets, that are downloaded each time they are needed. An applet may,
`for example, present animation in the middle of a displayed WEB page on the client
`computer. An applet running on a client computer may request that digital data be
`downloaded from a WEB server to be used, i.e., displayed, on the client computer.
`JAVA is a programming language used to create applets. JAVA is an object-
`oriented language, and applets written in JAVA are objected oriented. JAVA code is
`organized into classes. A class includes a set of methods that define the behavior of a
`class object. A JAVA program is compiled into byte-codes. Byte-codes are low-level
`instructions that are not specific to a particular machine, thereby allowing a JAVA
`program to be executed on different types of computers. A JAVA program, in the
`form of byte-codes, is downloaded to a client computer along with an associated
`HTMLfile.
`File compression techniques are commonly used to reduce the size of files
`prior to transmission over the Internet. Run Length Encoding is a well-known
`computer technique for compression digital data.
`In Run Length Encoding, a
`repetition of a particular sequence of digital data is replaced with a single occurrence
`of the repeated data and an indication of the number of times that the sequence is
`repeated. LZW compression, which is the subject of U.S. Patent No. 4,558,302, is
`one well-known method of Run Length Encoding. The "Graphics Interchange
`Format®" (GIF) is a well-known file specification employing LZW compression.
`JPEG compression is another well-known method of Run Length Encoding.
`The JPEG compression scheme is used to create a file interchange format known as
`JPEG file interchange format (JFIF).
`Despite the rapid technological advances relating to the provision and
`downloading of digital data for displaying visual information, a need exists for
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`- 3-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`3 0
`
`improved methods and techniques. This is especially true relative to providing images
`for three-dimensional viewing.
`Summary of the Invention
`In accordance with this invention, a method of displaying a three-dimensional
`image represented by digital data on a client computer connected to a communication
`medium, such as the Internet, is provided. The three-dimensional image is made up of
`multiple two-dimensional images, each two-dimensional image being referred to as a
`frame and being a visual image of the object along a different line of sight (i.e., taken
`at a different viewing angle). By selectively and sequentially displaying the two-
`dimensional images, a three-dimensional image of the object is observed in which the
`object appears to rotate about a predefined axis that extends through the object.
`Rotation can be "automatic" (i.e., achieved without user input) or can be controlled
`by user activation of an input device such as a mouse or selected keys of the computer
`keyboard.
`In the currently preferred arrangement of the invention, a three-dimensional
`object is represented by three rows of frames (two-dimensional images), with each
`row of frames including 18 two-dimensional images. In this preferred arrangement,
`the lines of sight associated with the 18 frame elements of each row of frames are
`angularly spaced apart from one another and pass through the center of the three-
`dimensional object to be displayed. The lines of sight associated with the three frames
`in each column of frames are angularly spaced apart from one another and lie in an
`imaginary plane that passes through the center of the three-dimensional object and is
`perpendicular to an imaginary horizontal plane.
`In the operation of the invention, a computer program is received by the client
`computer through the communication medium and is executed on the client computer.
`More specifically, the client computer executes a command, and receives, in response,
`a portion of the digital data representing the first two-dimensional image (i.e., the first
`frame). The first two-dimensional image is displayed on the client computer display.
`The client computer then receives additional portions of the digital data through the
`communication medium. The additional portions include digital data representing
`In
`two-dimensional images (frames) to the left and the right of the first frame.
`response to directional input from a directional input device, such as a mouse, the
`client computer displays either the left frame or the right frame. If the directional
`input represents the left direction, the left frame is displayed, and if the directional
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCTIUS97/18141
`
`-4-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`3 0
`
`input represents the right direction, the right frame is displayed, thereby providing the
`appearance of left or right rotation of a three-dimensional image.
`In accordance with the invention, the additional portions of digital data include
`fourth and fifth frames of data, which represent the two-dimensional images above
`If directional input
`and below the two-dimensional image being displayed.
`representing the upward direction is received, the frame above the first image is
`displayed and the displayed image appears to rotate downwardly about an axis
`through the center of the image. If the directional input represents the downward
`direction, the frame below the first frame is displayed, thereby providing the
`appearance of three-dimensional upward rotation of the displayed image.
`In the currently preferred embodiments, the first two-dimensional image is
`displayed prior to receiving the second two-dimensional image at the client computer,
`thereby reducing the time delay before the first image is displayed. Preferably, the
`computer program running on the client computer is multithreaded, and one thread of
`execution displays the first two-dimensional image while a second thread downloads
`the remaining two-dimensional images.
`In accordance with the invention, the digital data representing each two(cid:173)
`dimensional image is compressed prior to transmitting the data (i.e., data frames) to
`the client computer. Compressing the two-dimensional images in accordance with the
`invention includes creating a mask to encompass the background of the two(cid:173)
`dimensional image, modifying the background of the two-dimensional image to be a
`repetition of a sequence of bits, preferably all zeros, and compressing the modified
`two-dimensional image in accordance with the methods of Run Length Encoding.
`In the currently preferred embodiments of the invention, compression of the
`digital data representing a two-dimensional image includes loading the image into an
`image editing computer program, creating a mask to encompass the image
`background, modifying the image background to be a repetition of a sequence of bits,
`and compressing the image in accordance with the methods of Run Length Encoding.
`In the method of compressing digital data, the background is made up of multiple
`pixels, and the modification of the background includes modifying sequential pixels to
`have the same digital value. A preferable digital value is (0,0,0,) which indicates pure
`black in the RGB color system. The particular Run Length Encoding method may be
`either LZW compression, resulting in a GIF file, or JPEG compression, resulting in a
`JFIF file.
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`- 5-
`
`Brief Description of the Drawings
`The foregoing aspects and many of the attendant advantages of this invention
`will become more readily appreciated as the same becomes better understood by
`reference to the following detailed description, when taken in conjunction with the
`accompanying drawings, wherein:
`FIGURE 1 is a block diagram illustrating an Internet architecture having a
`server and a client computer;
`FIGURES 2A and 2B illustrate a net browser application window displaying a
`WEB page with a three-dimensional graphic contained therein;
`FIGURES 3A and 3B are diagrams that indicate an object to be displayed and
`depict the relationship between two-dimensional images that are used in the invention;
`FIGURE 4 is a block diagram illustrating the class structure of the invention;
`FIGURE 5 is a flow diagram illustrating the process of downloading to a
`client computer a three-dimensional graphic object and the execution of the object;
`FIGURE 6 is a flow diagram illustrating the processing within a three-
`dimensional graphic object in accordance with the invention;
`FIGURE 7 is a block diagram illustrating a system for creating a compressed
`digital two-dimensional image in accordance with the invention; and
`FIGURE 8 is a flow diagram illustrating the process of compressing a two-
`dimensional image in accordance with the invention.
`Detailed Description of the Preferred Embodiment
`As will be better understood from the following description, the present
`invention is directed to a method for transmitting digital data to a client computer and
`presenting the digital data to an operator. While the following description explains
`the invention in connection with digital data representing three-dimensional graphics,
`it is to be understood that the invention can be used with other digital data, such as
`digitized video. The invention employs a client computer connected to a network,
`such as the Internet, a server computer connected to the network, computer software
`controlling the operation of the server computer, and computer software controlling
`the operation of the client computer. While the preferred network is the Internet,
`other types of networks, including local area networks can be employed in actual
`embodiments of the invention. The invention utilizes an object-oriented programming
`paradigm.
`In order to better understand the invention described below, certain
`aspects of object-oriented programming paradigms that are relevant to the following
`discussion are first described.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`3 5
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`-6-
`
`"Objects" represent computer system elements, and contain program code, in
`the form of "methods," and data. Objects can be organized into classes in a
`hierarchical fashion and are interoperable. Classes are abstract generic descriptions of
`objects and their behaviors. A class defines a certain category or grouping of methods
`and data within an object. The methods of a class define the object's behavior.
`Methods manipulate the data contained within the object or passed to the object. A
`class serves as a template to define the behavior of an object that is created or
`"instantiated" from the class. An object, or instance of a class is a specific individual
`entity, with its behaviors defined by its class. Many objects can be instantiated from a
`single class. A "subclass" can be created from a class by adding methods or
`overriding one or more of the class's methods. A subclass inherits the behaviors of its
`"superclass" with the modifications added to the subclass.
`The preferred embodiment of the invention is created using the JAVA
`programming language. JAVA is an object-oriented language having the features
`described above. JAVA also supports multiple threads. A single-threaded program
`follows a sequential order of execution that can be easily represented by a flow
`diagram. In a multithreaded program, more than one thread of execution exists, and
`each thread follows a sequential order of execution. Using multiple threads of
`execution, different activities of a program may occur in parallel. This can greatly
`reduce the amount of time that a user must wait for certain operations to occur. For
`example, one thread may be displaying an image in a WEB page while a second thread
`is downloading other images to display.
`FIGURE 1 illustrates an exemplary client server architecture 102, having a
`server computer 104 and a client computer 116 linked by their common connection to
`the Internet 114. Connection to, and communication over, the Internet 114 is well
`understood in the art, and is provided by numerous commercial services, and need not
`be explained further.
`The server 104 includes a server application 106 operational for transmitting
`computer programs, documents, and digital data onto the Internet, in response to
`received requests. A form of nonvolatile storage, such as a disk 108, contains files to
`be downloaded by the server application 106. Residing on the disk 108 are one or
`more hypertext markup language (HTML) documents 110, one or more files
`containing program code 112 implementing a class that defines the present invention,
`and one or more files containing digital data. The HTML document 110 and the
`program code 112 are described in further detail below.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`-7-
`
`the server application 106
`Upon request from a client computer 116,
`transmits, or downloads, an HTJ\.1L document, program code, or digital data onto the
`Internet 114. The client computer 116, connected to the Internet 114 receives, or
`downloads, the document, program code, or digital data from the Internet. The client
`computer 116 includes a browser application 118, operative for displaying HTJ\.1L
`documents and executing
`the program code 112 received from
`the server
`computer 104. The browser application 118 may comprise a single application, or
`multiple applications working together to implement the functionality of the
`browser 118. Netscape Navigator™ 3.0, by Netscape Communications Corporation,
`ofMountain View, California, and Internet Explorer™, by Microsoft Corporation, of
`Redmond, Washington, are two examples of browser applications 118 that can be
`used with the present invention, when running on the Windows 95 or Windows NT
`operating systems.
`The client computer 116 further includes computer memory 120, which can be
`a random-access memory (RAM) or other storage device. The depicted client
`computer 116 also includes a processor 121, a keyboard 122, and a directional input
`device 124, such as a mouse. As will be readily understood by one skilled in this art,
`and others, a number of different directional input devices exist that are functional for
`allowing a user to provide directional input to a computer. The most popular devices
`are mice, trackballs, touch pads, and joysticks. Keys on a keyboard may also be used
`to provide directional input. Reference to the use of a mouse hereinafter should be
`considered exemplary, and not limiting. The client computer further includes a
`display device 126, such as a cathode ray tube (CRT) or liquid crystal display (LCD).
`
`5
`
`10
`
`15
`
`20
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`- 8-
`
`The following is a portion of an exemplary HTML file in accordance with the
`present invention. The text and commands within the HTML file are used to create
`the WEB page illustrated in FIGURES 2A and 2B. The lines are numbered for
`purposes ofthis discussion only.
`
`5
`
`<applet code="ThreeDObject.class" width=320 height=240>
`1
`<param name=imgDirectory value= 11mwtch">
`2
`<param name=filebase value="mwtch">
`3
`<img src="mwtch/mwtch.gif'>
`4
`</applet><p>
`5
`>/center>
`6
`Line 1 specifies the location of a file contammg the JAVA code that
`implements the ThreeDObject class, further described below.
`It also specifies the
`width and height (in display units or pixels) of the rectangular area that will contain
`the three-dimensional image. Lines 2 and 3 specify parameter values used by the
`ThreeDObject class. The parameter "imgDirectory" specifies the directory where
`digital data representing a plurality of two-dimensional images reside. The parameter
`11filebase" specifies the base file name of the files containing the three-dimensional
`image digital data representing the two-dimensional images. Each file contains one
`two-dimensional image. The name of each file is formed by appending a number and
`a suffix to the name specified by the filebase parameter. Line 4 is interpreted only by
`browsers that do not support JAVA. For non-JAVA browsers, this line indicates the
`lo~ation of a file containing a two-dimensional image that is to be displayed within the
`image window. This two-dimensional image is displayed in place of the three(cid:173)
`dimensional image. Line 5 indicates the end of the applet declaration. Line 6
`indicates that the rectangular window is to be horizontally centered within the WEB
`page. A more detailed explanation of the above-described JAVA and HTML
`commands is given in SPECIAL EDITION USING JAVA, by Alexander Newman, et al.
`(Que Corporation 1996) at Chapter 19.
`FIGURES 2A and 2B illustrate a net browser application window displaying a
`WEB page with a three-dimensional graphic contained therein. The browser
`25 window 202 includes a display area 204 within which the HTML document is
`displayed. A scrollbar 206 is operational for scrolling through the entire HTML
`document, when only. a portion of it can be visible in the display portion 204 of the
`browser window 202. Text 208 within the HTML document is displayed in the
`
`10
`
`15
`
`20
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`-9-
`
`display window 204, according to specified formatting. Within the IDML document,
`In
`a rectangular image window 210 displays a three-dimensional object 212.
`FIGURE 2A, a border of the image window 210 is included for illustrative purposes
`only. In the preferred functioning of the invention, at any point in time, exactly one
`two-dimensional view ofthe three-dimensional object is visible.
`As indicated in FIGURES 2A and 2B, the depicted image window 210
`includes a background 214, which does not change as different views of the three(cid:173)
`dimensional graphic 212 are displayed. Preferably, the background 214 is of a single
`color, to avoid visual interference with the displayed rotating object. As discussed
`further below, the use of a background 214 that is constant reduces the memory
`requirement for displaying an object 212, thereby reducing downloading time and
`display time.
`In accordance with the invention, a three-dimensional depiction of an object is
`achieved with a plurality of two-dimensional images, referred to as frames. Each
`frame corresponds to a two-dimensional image (e.g., a photograph) of the three(cid:173)
`dimensional object from a different viewing angle. The frames are organized into
`rows and columns. Each row includes a plurality of frames corresponding to two(cid:173)
`dimensional images of the displayed object in which the lines of sight associated with
`the two-dimensional images intersect at a point about which the object appears to
`rotate. More specifically, as is diagrammatically depicted in FIGURE 3A, a three(cid:173)
`dimensional object 212 can be considered as being associated with a coordinate
`system consisting of three mutually orthogonal axes 218, 219, and 220 where the
`origin 222 of the coordinate system corresponds to a point in space about which the
`object 212 will be rotated for viewing. An imaginary horizontal plane 240, depicted
`in FIGURE 3A by the intersection of a plane with an imaginary reference sphere 241,
`contains the horizontal axes 219 and 220.
`In accordance with the invention, each
`frame in a row of frames is a two-dimensional image of the object to be displayed
`(e.g., object 212) that is taken at different viewing angles, with the line of sight for
`each viewing angle intersecting the origin 222 and forming a constant angle with the
`horizontal plane 240. For example, in FIGURE 3A, the invention employs a row of
`frames that corresponds to an ordered sequence of two-dimensional images of
`object 212 that are taken along angularly spaced-apart sight lines indicated as 224,
`226, 228, 230, 232, 234, and 238. The depiction in FIGURE 3A shows eight frames
`in one row for illustrative purposes. As discussed below, preferably 18 frames are
`included in each row. Each sight line 224-238 lies in horizontal plane 240, thereby
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`- 10-
`
`forming an angle of 0 degrees with the plane 240, which is perpendicular to the axis of
`rotation (axis 218 in FIGURE 3A).
`In a preferred configuration of a three-dimensional image having three rows of
`frames, each row includes 18 frames having angularly spaced apart sight lines as
`described above. FIGURE 3B illustrates three rows of sight lines. Eight sight
`lines 242, 260, 262, 264, 246, 266, 268, and 270, corresponding to eight frames, are
`shown in the uppermost row for illustrative purposes, though 18 frames are preferred.
`In such a configuration, each sight line for the frames in the uppermost row intersect
`the origin 222 and form a constant angle, preferably 45° with the horizontal
`plane 240. Similarly, the sight lines for the frames in the bottommost row, intersect
`the origin 222 and form a constant angle, preferably 45°, with the horizontal
`plane 240.
`Sequential viewing of frames in a row of frames creates the appearance of
`three-dimensional rotation of the displayed object about axis 218. For example, with
`reference
`to FIGURE 3A, object 212 will appear
`to
`rotate
`to
`the
`right
`(counterclockwise as viewed from above) about axis 218, if the frames corresponding
`to sight lines 224-238 are sequentially displayed in ascending order of the numeric
`identifiers. Rotation to the left (clockwise) about axis 218 results if the frames
`corresponding to sight lines 224-23 8 are displayed sequentially in decreasing order or
`in descending order relative to the numeric identifiers used in FIGURE 3A. In this
`regard FIGURE 2B illustrates three-dimensional object 212 rotated by one frame
`along a row having sight lines parallel to horizontal plane 240, the rotation being
`about vertical axis 218.
`As previously mentioned, the frames of the currently preferred arrangements
`are arranged in rows and columns. In the practice of the invention, each frame in a
`column of frames is a two-dimensional image of the object with the sight lines
`associated with the images intersecting the origin 222. The sight lines associated with
`the images of a column lie in an imaginary plane that includes the axis 218, the
`imaginary plane being perpendicular to a line about which rotation will be viewed.
`This line intersects the origin 222 and is in the plane 240. For example, with respect
`to FIGURE 3A, to achieve perceived rotation about axis 220 the sight lines for the
`two-dimensional images in a column of images would all lie in an imaginary plane that
`is perpendicular to axis 220 and includes the origin 222 and axis 219.
`FIGURE 3B illustrates a vertical imaginary plane 250, depicted by the
`intersection of a vertical plane with reference sphere 241, that includes axis 218. Two
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`3 5
`
`Microsoft Corp. Exhibit 1008
`
`
`
`W098/15920
`
`PCT/US97/18141
`
`- 11-
`
`5
`
`15
`
`20
`
`columns of frames are associated with the depicted imaginary plane. Unlike a row,
`which includes frames spanning a complete rotation (360°) of the viewing object 212,
`a column preferably includes only frames spanning a one-half rotation (180°) of the
`object 212. This avoids viewing the object upside-down by rotating the object
`vertically. One column depicted in FIGURE 3B consists of a frame associated with
`line of sight 238, a frame associated with a downwardly directed line of sight 242, and
`a frame associated with an upwardly directed line of sight 244. The second column of
`frames shown in FIGURE 3B consists of the frame associated with line of sight 230, a
`frame associated with a downwardly directed line of sight 246 and a frame associated
`10 with an upwardly directed line of sight 248. To achieve the necessary column/row
`relationship and three-dimensional display, the angle formed between adjacent lines of
`sight within a column must be the same as the corresponding angle in all other
`columns. That is, if Lr c represents the line of sight for the frame at row r and
`'
`column c, the angle between sight lines Li,j and Li+ 1 ,j is equal to the angle between
`sight lines Li k and Li+1 k· For example, in embodiments using three rows offrames,
`'
`'
`the preferred angle between sight lines is 45°. In terms of FIGURE 3B, in such an
`embodiment, lines of sight 238 and 230 are at 90° relative to axis 218; lines of
`sight 242 and 246 are at an angle of 45°; and lines of sight 244 and 248 are at an
`angle of 135° (i.e., 45° below the horizontal imaginary plane 240 of FIGURE 3A. In
`accordance with the above description, the angle 252 between adjacent sight lines
`242 and 238 is equal to the corresponding angle 254 between adjacent lines 246 and
`230, 45° in the depicted embodiment.
`It should be recognized that the above description regarding the intersection
`of sight lines and the angles formed with sight lines are the preferred configuration of
`the invention. The invention may be practiced whereby the angles of the sight lines
`are approximately, but not precisely, those described. As will be apparent to one
`skilled in this art, and others, variations on the position and orientation of the sight
`lines can be utilized in accordanc