throbber
PCT
`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

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