CA2265719A1 - Method and apparatus for producing a computer generated display that permits visualization of changes in the interior or exterior of a building structure shown in its actual environment - Google Patents

Method and apparatus for producing a computer generated display that permits visualization of changes in the interior or exterior of a building structure shown in its actual environment Download PDF

Info

Publication number
CA2265719A1
CA2265719A1 CA002265719A CA2265719A CA2265719A1 CA 2265719 A1 CA2265719 A1 CA 2265719A1 CA 002265719 A CA002265719 A CA 002265719A CA 2265719 A CA2265719 A CA 2265719A CA 2265719 A1 CA2265719 A1 CA 2265719A1
Authority
CA
Canada
Prior art keywords
image
database
user
background
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002265719A
Other languages
French (fr)
Inventor
Ricardo Salas
Roberta L. Dreis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VISUAL APPLICATIONS Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2265719A1 publication Critical patent/CA2265719A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design

Abstract

A computer system (252) for producing computer generated displays (248), including window-format displays permitting visualization of changes to a building or structure in an actual environment (250). The system provides a background display (250) of digital images originating from either an image capture device or from other sources to which changes are to be made for visualization purposes; a product catalog in the form of a database of objects (260), together with features in the computer system operable to record and store digital images of the objects as well as detailed information (262) related to the objects within the database (260); and a mechanism to copy and move and removably place the object (260) over the background (250). The realistic visualization is facilitated by means of a number of tools associated with the system (252) that permit resizing of objects (260), fitting objects (260) into user designated areas (250), perspective orientation, and other tools useful by the system user to obtain this objective.

Description

CA 02265719 1999-03-12W0 98/11511 PCT/US97I16239TITLE: METHOD AND APPARATUS FOR PRODUCING A COMPUTERGENERATED DISPLAY THAT PERMITS VISUALIZATION OFCHANGES IN THE INTERIOR OR EXTERIOR OF A BUILDINGSTRUCTURE SHOWN IN ITS ACTUAL ENVIRONMENT1- M 1.1. Field of the InventionThe invention generally relates to digital image processing. moreparticularly, the invention relates to a method and apparatus for producing acomputer generated display that permits visualization of changes to the exterior orinterior of any building structures.1.2. Problems in the ArtProduct catalogs have existed for years in printed form allowing customersto browse through illustrations, photographs and infomtation about the productslisted in the catalog. With the advent of computers, there have been productcatalogs created in the digital media. Some of these digital catalogs have combinedphotographic and video images with audio in order to present the products beingsold and provide information about those products. However, by and large, theseproduct catalogs created in the digital media have retained the static look and feel oftheir predecessors in the print media. These digital catalog programs are not knownSUBSTITUTE SHEET (RULE 26)CA 02265719 1999-03-12W0 98/ 1 1511 PCT/US97/16239to allow the user to manipulate, experiment and apply the catalog products in adynamic fashion to create a realistic photographic rendering of the products inactual use, with pertinent information about the product staying bundled with thedigitized image of the product as it is manipulated or moved over a fixedcomposition background.Computer aided design (“CAD”) programs also are known in the art. Theseprograms allow for the design of proposed projects and structures, as well as thecreation of three-dimensional models of those structures. However, traditionalCAD programs do not allow a user to utilize a digitized photographic image of the_ user’s actual home, yard or interior room as a fixed composition backgroundagainst which it is possible to manipulate digitized photographic images of building,home improvement and landscaping products from real manufacturers to create arealistic photographic rendering of the products in actual use.Various graphics and drawing programs are also known in the art.Programs such as Corel Draw, Adobe Photoshop and similar programs allow usersto “cut and paste” images onto a composite background image and to fill aparticular area with a pattern. Some of these graphics and drawing programs alsoallow the pasted images to remain as objects over the composite background image.Programs have been proposed which allow a user to preview a few selected imagesof certain home improvement products against a predefined digitized backgroundimage of an interior room or other portion of a house that is not that of the user.U.S. Patent No. 4,970,666, to Welsh, et al., teaches a system for producing videoimages which depict the appearance of a simulated structure in a video-derivedCA 02265719 1999-03-12W0 98/ l 151 1 PCT/US97/16239image of the actual enviromnent. The system disclosed in the ‘666 patent does not,however, provide for access to information about the image elements from adatabase by means of linking the information with the images of the products asthey are manipulated or moved over the background image of the actualenvironment. Further, the ‘666 patent does not provide for access to informationrelated to the image elements placed over or merged with a background by means ofan interface associated with a computer generated screen display. Yet further, thesystem in the ‘666 patent lacks the ability to manipulate image objects (e. g., objectresizing, distorting, edge smoothing, etc.) of actual products (in the form of digitalimages) over the background image.Graphics or drawing programs are not known to allow a user to manipulatedigitized photographic object images from a database of building, homeimprovement and landscaping products from real manufacturers and other venders.Further, such programs are not known to be operable to place digital images ofobjects over a digitized photographic image of the user’s actual home, yard orinterior room as a fixed composition background so as to create a realisticphotographic rendering of how the products would look in actual use, while at thesame time allowing unique information about each product from the database to staybundled or linked with the product images being manipulated.1.3. Objects, Features, and Advantages of the InventionTherefore, a primary advantage of the present invention is the provision ofan apparatus and method for producing a computer generated display that permitson-line visualization of changes to the interior or exterior of a building structureW0 98/11511CA 02265719 1999-03-12PCT/U S97/ 16239which improves over the problems and defficiencies, and which satisfies a long feltneed, in the art.Further exemplary objects, features, and advantages of the present inventioninclude the provision of an apparatus and method of producing computer generateddisplays which:1.permits the system user to visualize how various actual products would lookwhen applied to a fixed digital photographic image of the interior or exteriorof a real home or other building.permits the system user to input the fixed digital photographic image of theinterior or exterior of a real home or other building through a plurality ofimage capture and transfer means.provides the system user with access to thousands of images of interior andexterior home products from actual manufacturers, as well as landscapingand horticultural products, in a huge interactive CD-ROM database.provides the system user with pertinent information about all of the productsin the CD-ROM database.provides the system user with easy access to the pertinent information aboutany product in the CD-ROM database through a simple click of the mouse,by creating a “link” from the image of the product to the information aboutthat product stored in the CD-ROM database.allows the system user to select a specific area of the fixed backgroundimage of the interior or exterior of a home or other building and to visualizeW0 98/1 151 110.11.12.CA 02265719 1999-03-12PCT/U S97! 16239changes to only that specific area by dragging or otherwise placing imageobjects of products in the CD—ROM database over that specific area chosen.allows the system user to arrange, rotate, position, resize, orient andotherwise manipulate the product image objects that are placed on the fixedbackground image to create a realistic composite image.allows the system user to save the composite image created with all imageobjects in place, and to later reopen that saved file with all image objectsremaining active and manipulatable.allows the system user to generate a list of all products and other materialsin a composite image, which list may be printed, saved as a text file andexported estimator software applications.permits the system user to erase any part of an image object, thereby makinga “hole” in the object, allowing the system user to see the fixed backgroundimage beneath.permits the system user to make the composite image more realistic byadding shadowing, making the image look more or less sunny, “nightlighting” and changing the scenery behind the main object in the compositeimage.permits the system user to resize a selected image object so that it will fitexactly into a selected rectangular area, or alternatively, so that it will fitproportionally into a selected rectangular area and such a feature permits thesystem user to resize the rectangular image or an irregular shaped image.CA 02265719 1999-03-12W0 98/ l 151 1 PCT/US97/16239These and other objects, features, and advantages of the present inventionwill become apparent with reference to the accompanying specification and claims.2. M R F T I TThe present invention includes a computer system for producing computergenerated displays, including window-format displays, that permit visualization ofchanges to a building or structure, particularly to the exterior and interior of aresidential home, in an actual enviromnent. The system provides a backgrounddisplay of digital images, originating from either an image capture device or fromother sources, to which changes are to be made for visualization purposes. Theimage capture device may be a digital camera, a video camera, a scanner, or thelike. The system further provides a product catalog in the form of a database ofobjects, together with features in the computer system operable to record and storedigital images of the objects as well as detailed information related to the objectswithin the database. The computer system provides a means to access theinformation related to the objects through a display interface, and in the preferredembodiment in the form of a windows-pull down interface or in the form of amoveable mouse-click function. The system further provides means for copyingand moving an object selected from the catalog and such means is operable toremovably place the object over the background to permit realistic visualization ofthe object on the background. The realistic visualization is facilitated by means of anumber of tools associated with the system that permit resizing of objects, fittingobjects into user designated areas, perspective orientation, and other tools useful bythe system user to obtain this objective.CA 02265719 1999-03-12W0 98/ 1 1511 PCT/US97/ 16239The means to access the object data is operably connected with the objectdatabase and the means for copying and moving the object so that after an object isplaced over the background in the display the data information access" means isoperable by the system user through the display interface to retrieve desiredinformation about the object from the database.In one embodiment of the invention, the creation of a background, and theplacement of a desired object in the form of a digital image over the background isperformed within a “windows” operating environment, which provides numeroustools and associated features in a user—friendly presentation in the form of tool barsappearing in the computer generated display operable by means of a mouse—clickfunctionality .In a broader aspect of the invention, the inventive apparatus and method canbe used to visualize changes to anything that can be digitally recreated and uponwhich objects can be digitally super imposed for visualizing changes in theappearance .The method utilizing the inventive system results in the elimination of time-consuming operations otherwise previously associated with the manipulation andmodification of digital images placed over a background display.3. SFig. 1 is a schematic of the host computer and peripherals associated withthe invention.Fig. 2 is a schematic of screen display showing a background.CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239Fig. 3 is a schematic of a screen display showing a background with anobject placed over the background and a mouse pointer appearing in thebackground.Fig. 4 is a flowchart illustrating an overview of the invention.Figs. 5-7 are flowcharts illustrating the process by which a background iscreated in a computer generated display.Figs. 8-11 are flowcharts illustrating the process by which digital images ofobjects are retrieved from the database.Figs 12-13 are flowcharts illustrating the process by which digital images ofobjects are created and selected.Fig. 14 is a flowchart illustrating the process by which digital images ofobjects are created.Figs 15-17 are flowcharts illustrating the select, recreate and de-selectfeature of the invention.Figs. 18-48 are screen displays generated by the preferred embodiment ofthe invention in the Examples.4. D TA L D D RIPTI F THE PREFE D EMB DIME T4.1. OverviewTo achieve a better understanding of the invention, a preferred embodimentwill now be described in detail. Frequent reference will be taken to the drawingswhich have been identified immediately above.CA 02265719 1999-03-12W0 98/ 1 1511 PCT/US97/ 16239Reference numerals will be used to identify certain parts and locations in thedrawings. The same reference numerals will be used to identify the same parts andlocations throughout the drawings unless otherwise stated.The preferred embodiment will be discussed in the context of a residentialhome remodeling project. In this example, a display of the home, in this case thehome exterior, appears in a computer generated display in the form of a digitalimage. The home featured in the digital image may be placed in a constructionenvironment or may be placed within a typical yard landscape environment. Thesystem disclosed below allows a system user to move objects from a database, forexample a door, and place the object over the background, and with manipulationtools merge the object into the appropriate location in the background, to permitvisualization of a change to the background. It is to be understood, however, thatthe invention is usefiil to visualize changes to other types of backgrounds, includingbackgrounds in which no building structure appears.Furthermore, the preferred embodiment will be discussed in the context of acomputer program operated by a system user on a mini—computer. It is to beunderstood that the invention may be practiced on any host computer that isoperable to perform the functions described below.4.2. The ApparatusTurning now to the drawing figures, Fig. 1 illustrates the preferredapparatus 10 of the present invention. The following description of the apparatus10 is provided for disclosing a preferred embodiment and best mode of theinvention. Those skilled in the art will appreciate the preferred components of theCA 02265719 1999-03-12W0 98/1 1511 PCT/US97/16239visualization apparatus 10 may be replaced with equivalent components withoutparting from the scope of the present invention.The visualization apparatus 10 broadly includes a host computer 12, one ormore monitors 14 coupled to the host computer 12, an image capture means in theform of an image capture device 16, coupled host computer 12, one or moreprinters 18, coupled to host computer 12, one or more information input devices inthe form of keyboards 20, also coupled to host computer 12 and a mouse 22.In more detail, the host computer 12 is provided for receiving, storing,processing and generating information relating to displays useful to visualizechanges to buildings, or any other structure in the actual environment. Hostcomputer 12 may be any type of mini—computer, micro—computer or mainframe, butis preferably a 486 or faster CPU with at least a 50Mb hard disk space, CD-ROMdrive, 8MB IUXM or greater, Win95:12MB or more, Windows for Workgroups3.11 or Windows 95. By way of example, host computer 12 may be of the typeavailable from Micron Computer Inc., 900 East Karcher Road, Nampa, Idaho83687 (Micron Model No. P133 PCI-Penti Tower Computer, 133 MHZ, CD, 1.6Gb hard drive, 16 Mb Ram 1.44 Mb Floppy drive). Those skilled in the art willappreciate that the host computer 12 may be any type of computer including a mini-computer, micro—computer or mainframe.The image capture device 16 coupled with host computer 12 may be anyconventional image capture device that is operable to capture and generate a digitalimage of an environment that is intended for digital recording. Image capturedevice 16 may include a scanner (such as flat bed or hand held scanners available10CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/16239from Umax Data Systems, Inc. No. 1.1, RND Road, Science Based Industrial Park,Hsinchu, Taiwan, R.O.C. (Umax Vista — S6); and Altima International, 3358Gateway Blvd., Fremont, California 94538 (Model ViewScan/A 2000 D, 24 BitTrue Color, 1600 D pi)), a digital camera (available from Apple Computer, Inc.20525 Mariani Ave., Cupertino, CA 95014 (Apple Quick Take 100 Digital Camerafor Windows: Takes 32 320 x 240 pixel images or 8-640 x 480 pixel images));conventional video cameras having a frame grabber type video interface (such asthat available from Play Incorporated, Video Capture, 2890 Kilgora Road, RanchoCordova, CA 95670 (Model Name “Snappy”; single frame video digitizer captures. images in 16.8 million colors at resolutions up to 1500 x 1125)) operably coupled tothe video camera. Image capture device 16 may be provided in the form ofhardware or software (including a database) capable of supplying an input to hostcomputer 12 which can be used to generate a digital image. Image capture device16 may also include hardware for receiving information transmitted via satellite orother telecommunication networks.File formats that are supportable by host computer 12 to achieve its variousobjectives may include:img G3 2D pcx wpg jtif 1ead2jtif tif dxf pctCCITT G4 bmp lead leadlbit leadljfif tga OS/2 bitmapmspG3 ID eps cals jfif leadljtif lead2jf1f wmf ras sunrastermacMonitor 14 provides a computer generated display useful to visualizechanges to building structures in the environment. Monitor 14 is of conventionalllCA 02265719 1999-03-12W0 93/1 151 1 PCT/US97/16239design such as that available from Micron Computer Inc., 900 East Karcher,Nampa, Idaho 88367 (Micron Model No. 15FGx, 15 inch super VGA compatible).Printer 18 is a conventional printer also coupled to the host computer and isof conventional design such as that available from Canon Computer Systems, Inc.,2995 Redhill Ave., Costa Mesa, CA 92626 (Canon Model BIC-610; nearphotographic output at 720 x 720 Dpi in color or black).Keypad 20 is coupled to host computer 12 and is of conventional design suchas that available from NMB Technologies, Inc., Chatsworth, CA (NMB Model No.RT 6656 TW). Keypad 20 provides a means to input and record data and operateapparatus 10. Mouse 22 is coupled to host and is of conventional design such asthat available from Microsoft Corporation, Redmond, WA 98052 (Mouse PortCompatible Mouse 2.0 A Part//58 269).4.3. The Method - OverviewThe method of the present invention provides a changeable computer-generated display that permits visualization of changes to an exterior or interior of abuilding structure in an actual environment.The visualization method of the present invention is implemented with theaid of a computer program for operating the visualization apparatus 10 describedabove. The computer program is preferably written in Visual Basic 4.0 language,but may also be written in other conventional program languages. The computerprogram is preferably stored in the read-only memory (ROM) of the host computer12, but may also be stored in the host computer’s hard drive for run time or in an12CA 02265719 1999-03-12W0 98/ l 1511 PCT/US97/ 16239external disk, tape or other format for transfer to the memory of host computer 12.The on-line catalog database is kept in the CD-ROM.The source code for the computer program is reproduced in the attachedAppendix B. The flow diagrams in the drawing figures provide a high-leveloverview of the computer program.Many of the method steps described and illustrated herein require anoperator to enter or scan in information concerning an actual environment or objectsto be placed over or be merged with the actual environment. These scanning orentering steps can be performed at any suitable location with the appropriatecomponents as described above, including in an office or at a construction worksite. This allows the visualization of changes to an actual environment to be madeby the computer system user in any location which is convenient to the user andwhich permits the set-up of the equipment associated with the visualizationapparatus 10.Fig. 4 illustrates an overview of the visualization method of the presentinvention. As generally illustrated in step 200 of Fig. 4, an input is used to openand generate a background of an actual environment. The environment may be abuilding structure, but may also comprise a landscape. Then, at step 202, objectsare applied to the background by placing the objects over or merging the objectswith the background. Next, in step 204, objects are manipulated as desired by thesystem user to permit the realistic visualization of the object on the background. Insteps 202 and 204, the input associated with step 200 is processed. In step 206, anoutput of the finished project is generated.13CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239Figure 4 illustrates the various sources of input for step 200 that are usefulin creating a digitized background. The background will be used to create arealistic composition with real products from an on-line catalog which is in the forman object database. The input sources include a saved project 210 and imported bitmap 212, a scanner generated image 214, a clipboard image 216 or an image fromthe CD—ROM database.Step 202 involving the processing of the background image through theapplication of objects to the background includes the use of an object database 218,the creation and use of a user generated object database 220, the step 220 of_ creating objects from other objects or from the background itself, step 222, thesaving of objects created by the user into a user database. The databases, asdisclosed herein, that are employed by the invention form, in effect, a dynamticproduct catalog (sometimes referred to herein as a “object catalog”).The process step 204 of manipulating the objects includes step 230,involving the positioning or manipulation of the objects on the background, step232, the resizing of objects placed over the background, step 234, reorientingobjects placed over the background, and step 236, affecting the objects placed overthe background. Other tools 238 are provided to achieve other miscellaneousmanipulation steps, as more fully explained below.Output step 206, includes any number of steps including step 240, saving theproject, step 242 exporting the project, step 244 printing the project or step 246generating a shopping list of materials associated with the project.14CA 02265719 1999-03-12W0 98/11511 PCT/US97/ 16239An overview of the computer processing steps employed in the preferredembodiment of the invention disclosed above in steps 200-246, will now bedisclosed.The process steps discussed below have a sequence in the order as shown inthe referenced figures, unless otherwise indicated.4.3.1. Step 200 -— Creating a Work Space EnvironmentIn general, the computer program creates a composition surface or“background work space” 248 to display a digital image background 250 in monitor14, or in hard copy from printer 18 (not shown), as shown in Fig. 3. The computerprogram and object database allow the system user to place or “drag” digital imagesof an object 260 from the database of products (sometimes referred to as “objects ”)stored in actual manufacturers and vendors on-line catalog database or in a userdatabase of object images created by the system user into the background workspace 248 in an on-line display 252. The work space 248 is a fixed image whichacts as a lowest layer a composition comprising the background 250 and all objectsimages 260 that will be placed over or merged into the background 250, as shownin Fig. 4. The product object images 260 may be “dragged” from either the on-linecatalog database or user database and are then placed over the work spacecontaining background 250, with each such object image 260 in its own depth layer.The object images can then be arranged, positioned, resized and oriented on thebackground 250 so as to create a realistic composite image of a finished project.The background 250 is usually created from a fixed digitized photographicimage received as input from an image capture means in the form of the image15CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239capture device 16. To create the work space 248, the computer program creates aform to hold the background by loading a Microsoft Windows Multiple DocumentInterface (“MDI”) and a client area for the entire program, and designated as step256 in Fig. 5. The MDI child form is then created in a Visual Basic 4.0development environment, or equivalent. The MDI child form contains a VisualBasic compatible VBX control (“VBX control”), or equivalent (such asLEADTOOLS, a registered trademark of LEAD Technologies, Inc., 900 BaxterStreet, Charlotte, N .C., 28204), that acts as the background 250. After the MDIchild form containing the VBX control is created, the digitized background 250 iscreated in step 258. The process of step 258 includes importing an image from a filein compatible format, capturing the image from image capture device 16, which inpreferred form is a Twain—compatible device, pasting the image from the MicrosoftWindows Clipboard, retrieving the image from a project previously saved by thecomputer program, or retrieving an image from the main Microsoft Accessdatabase. After the image is placed in the background VBX, the background VBXis copied to the composition buffer. The client area and the MDI child form is re-sized to fit to the size of the image in the VBX controls. In step 261, the MDI childform and VBX control that will serve as the background are made visible.Creating the background image can be accomplished using several methods.Referring to Figs. 5-7, one method of inputting a image for background 250 in theVBX is by importing a file in a VBX control compatible file format into thecomputer program, as illustrated in steps 263—266. After the system user selects“Import” from the File Menu, the computer program prompts the user for the name16CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97l16239of the image file to be imported, as illustrated by step 264. The system user thenselects the appropriate image file by use of a Visual Basic Dialog control boxshowing the user the available drives and directories from which to import the file.After choosing the file to be imported, the computer program loads the image intothe program using the selected file name and VBX Controls loading property, asshown in step 266.A second method of creating a background 250 is by capturing the imagethrough a Twain compatible installed image capture device 16 such as a scanner,digital camera or video camera, as illustrated in steps 268-272. In step 270, thecomputer program calls the VBX control Twain property in a buffer control in theMDI child form. If the Twain compatible device is present, the computer programaccesses the Twain compatible program and waits for it to terminate. Once theTwain compatible program terminates, step 272 involves transferring the resultingbitmap image to the VBX buffer control and then transferring the buffer bitmapimage to the VBX control in the MDI child form.A third method of creating the background 250 is through use of theClipboard feature of Microsoft Windows or Windows 95, as illustrated in steps 274-278. Using another computer program storing the desired digitized image, theimage is transferred or “copied” to the Windows Clipboard. In step 276, the bufferVBX control paste property of the present computer program invention is set to“true” to enable receipt of the image from the Clipboard. In step 278, the presentcomputer program invention then transfers or “pastes” the desired backgroundbitmap image to the VBX control in the MDI child form.17CA 02265719 1999-03-12W0 98/ 1 1511 PCTIUS97/16239A fourth method of creating a background 250 is to retrieve an image from aproject that previously has been created and saved by the computer program, asillustrated in steps 280-288. The system user opens the file containing the desiredbackground image by selecting “Open Project” from the program’s Icon Toolbaror File Menu. In step 282, the computer program then prompts the system user forthe name of the saved project file using a standard Visual Basic dialog control box.Once the system user selects the appropriate file, the computer program opens thefile as a Microsoft Access database, as illustrated in step 284. In step 286, thecomputer program uses a VBX Control in the MDI child form that is data bound tothis database file to retrieve the image. The computer program next positions onthe first record which contains the background image. In step 288, the backgroundbitmap image in the data bound VBX control is then transferred to the VBXcontrol in the MDI child form. The computer program continues to read the file forvarious image objects that may be part of the saved project file. The computerprogram then places all such image objects in a new VBX control that are visibleand remain in higher control layers than the background 250.A fifth method of creating a background 250 is to retrieve an imagefrom the main Microsoft Access Database, as illustrated in steps 290-300. In step292, the system user first opens the main Access Database to reveal the imagethumbnails six at a time in the image control. In step 294, the computer programallows the system user to select and retrieve any image to be used as a backgroundimage. Next, in step 296, an SQL query is used to retrieve the desired image fromthe Access Database. In step 298 the VBX data bound control is then used to hold18CA 02265719 1999-03-12W0 98/1 151 1 PCT/U S97/ 16239the image. Finally, in step 300, the desired bitmap background image is thentransferred from the data bound control to the background VBX control.4.3.2 Applying Objects to the Background — Step 202Figures 8 — 11 illustrate the various steps by which objects 260 are appliedto the background 250. The objects 260 to be applied to the background 252 can beretrieved from the on—line catalog database, as illustrated in step 218 or, asillustrated in step 220, can be created by the user. Objects created by the user maybe saved in a User Database as shown in step 222 for later use.4.3.2.1 Step 218 — Retrieving Objects from the On-Line Catalog DatabaseIn general, the computer program offers the system user thousands ofproduct objects 260 that can be utilized in designing a project. Each product imageobjects 260 is stored in the on—line catalog database and arranged by Product Lines,Categories, and Sub-Categories as more fully described in section 4.4 DataStructures.In greater detail in Figs. 8-11, the process 302 process for retrieving imageobjects, counterpart mask image objects and relevant information. As set forth inStep 304, the computer program executes an SQL query to search the MicrosoftAccess Database to retrieve the names of Product Lines 306 for vendors for eachmatching product in the database, the names of Categories 308 for each matchingproduct in the database, and the names of Sub-Categories 310 for each matchingproduct in the database. Step 312 involves the process of showing the result of thesearch for each field in a drop—down-combo control. In step 314, the user is allowedto select any combination of Product Line, Category and Sub—Category by executingl9CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239proper SQL queries. In step 316, the Category is updated according to the selectedProduct Line, and the Sub—Category is updated according to the selected Category.In step 318, the system user is allowed to select the option to retrieve informationpertaining to the current Product Line Category and Sub-Category.Step 320, involving the opening of a form, called database strip, with sevenimage controls, permits the display of the first six thumbnail images in the databaseand logo of the manufacturer or general group logo for the top most image. Thenext part of the process, Step 322, involves querying the database product table toretrieve production information for the Sub-Category. In step 324, the computerprogram next loads information into a structured array, including product IDreference in the database, product name, source database name and themanufacturer or general product group. Step 324 further involves placing a scrollbar control in the form to allow the system user to scroll through all items in thestructured array.After loading the information into a structured array, the computer programchecks the position of the scroll bar control to determine six images to update andshow, as illustrated in step 326. Step 328 involves updating the six image controlsby querying the database into a VBX data bound control. A data bound control is adata-aware control that provides access to a specific field in a database incombination with a data control. Data controls are placed in the different forms inthe application to allow interaction with VBX data bound controls. As illustrated inSteps 330, 332 and 334, the computer program allows the display of information onthe “mouse move” event of the image controls and the scroll bar “scroll” event.20CA 02265719 1999-03-12W0 93/11511 PCT/US97/ 16239After the image information is displayed, Step 336 allows the system user to “dragand drop” the image from the image control onto the work environment, providedthat the work environment is showing. Step 338 involves placing code to store thedatabase image identification on the “mouse down” event of all six image controlsand setting a “drag” mode for that control. Next, in step 340, code is placed in the“drag drop” event of the VBX control serving a background to the workenvironment. In step 342 the code detects that the “drag drop” event originatedfrom the database strip.In step 344, using a VBX Data bound control, the computer program uses. the product ID to search for the image in the database. Step 346 of the processinvolves creating a new instance of the VBX control to hold the new image and onefor its counterpart mask image. In step 348, the bitmap image in the data boundedcontrol is assigned to the newly created object to hold the image. Using a VBXdata bound control, the program in step 350 then uses the product identification tosearch for the image mask in the database. Step 352 involves assigning the bitmapimage in the data bound control to the newly created object to hold the mask. Next,step 354 involves executing the image object selection process. After executing theimage object selection process, step 356 involves assigning information on thestructured array belonging to the newly created object.Step 358 involves viewing image object information. One method ofviewing image object information 262, as shown in Fig. 4, is through the “mousemove” event of each image object 260 to display image information 262 such as thename of the product and the company manufacturing it, as shown in step 360.21CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239Steps 362-366 involve allowing the system user to view further information on theimage object through the use of the “right—click” event of each image object. In step364 the image object identification (product identification) is used to query thedatabase. Step 366 involves displaying additional information 262 on the imageobject 260 as well as logo, back-drop and other textual items. As illustrated in step368, the information 262 is kept on saving each image object to a project database,the computer program provides for saving image object information such as thename of the product, the company manufacturing the product, the productidentification and the CD volume.4.3.2.2 Step 220 — Creating ObjectsIn addition to retrieving product image objects 260 from the on-line catalogdatabase, a user may also use means to record and store digital images of objects tocreate image objects 260. These user-created image objects 260 can either berectangular—shaped objects or free form (polygon) objects.The means to record and store digital images of objects is now disclosed ingreater detail with reference to the processes as illustrated in Figs. 12-13, the objectcreation process begins with step 400 in which the MDI Child form with VBXcontrol is showing as a background 250. In step 402 the system user is allowed toselect the option that initiates the object creation process by using an image controlin the toolbar (code in the “click” event). Step 404 involves the process ofcomposing/merging all previously created objects with the background VBXcontrol. Next, in step 406, once all previously created objects are merged,including the background VBX control, into the composition control, this control22CA 02265719 1999-03-12W0 93/11511 PCT/US97/ 16239with all merged images is brought to the front in Z—order, which is the relativeorder that determines how controls overlap each other on a form.In step 408, the computer program provides two types of object creations —rectangular object and free—form (polygon). Referring to the rectangular object-type, in step 410 a user is allowed to create a rectangular object. Next, step 412allows the user to “click and drag” the mouse pointer so as to create a rectangularshape. In step 414, the program shows a rectangular shape with XOR’ed lines fromstart to current position. In step 416, the image bitmap is copied using WindowsAPI calls upon release of the mouse pointer from the VBX control that has allbitmaps merged. In step 418, the program creates two new instances of VBXcontrols — one for mask and one for copied image. In step 420, an image iscreated that is a counterpart black and white mask of the rectangular shape. In step422, the copied image is placed into a newly created VBX control, which is shownand brought to the front in Z-order. In step 424, a “user created” name is assignedto the object in a structured array for that object. In the final step 426 associatedwith the creation of a rectangular object, the newly created object is shown asselected.In step 428, a user is allowed to create a free—form object (polygon). Next,step 430 allows the system user to “click” a mouse pointer to create line segmentsbetween points. In step 432, segments are shown with XOR’ed lines. In step 434,the user is allowed to “right click” a mouse pointer and select from a pop-up menuto complete the operation. In step 436, the user is allowed to complete theoperation. In step 438, a polygon region is created by automatically connecting the23CA 02265719 1999-03-12W0 98/11511 PCT/US97/ 16239current mouse click x,y position with a first mouse click x,y position. In step 440,the image is copied using API calls from the control that has all merged bitmaps.The free-form object is then shown as selected with the sequence of Steps 418-426described above.4.3.2.3. Step 222 -- Saving Image Objects into the User Database.As shown in Fig. 14, step 500, a user is given a choice of entering objectsinto the database by importing an image and counterpart mask 502 or creating theimage objects in step 514. The process of entering objects into the database byimporting an image and counterpart mask begins with step 504 in which, using a. common dialog control, the user is prompted for a valid name of the file to beimported. In step 506, VBX controls are used to import the image fromcompatible file formats such as the .bmp file format. In step 508, the user isallowed to enter textual information on the display screen relevant to that imageobject. In step 510, VBX data bound controls are used to update a MicrosoftAccess Database. Finally, in step 512, the computer program uses data controls toupdate the textual information on the same record where the image and mask reside.The process of entering user created objects into the database, begins withstep 516, in which the computer program allows the user to select a menu option tosave the selected user—created image object and counterpart mask. Next, in step518, the image and mask bipmaps are transferred to VBX data bounded controls.Data controls are used to update the textual information on the same record where24CA 02265719 1999-03-12W0 98/ l 151 1 PCT/U S97/ 16239the image and mask reside, utilizing the sequence described above in Steps 508-512.4.3.3. Selecting, De-selecting and Recreating an Image Object.As illustrated in Figures 15-17, the computer program utilizes a specialtechnique for showing that an image object is currently selected. Operations suchas resize, rotate and other object processing routines are only applied to currentlyselected objects. A selected image object 260 shows a colored outline that followsits contour. The computer program’s selection process outlines the object by usingthe image mask belonging to the selected image object. This eliminates the need tokeep track of the object’s contour coordinates.In greater detail, to select an image object the user must “click” on a de-selected object. Code in the “click” event of the object initiates the selectionprocess. The steps set forth below are taken to select the object by the use ofWindows API call to functions, mainly the BITBLT function. The Windows APIBITBLT function copies from a specified device context to a destination windowsdevice context. Below are the objects involved in the selection, de-selection andrecreation process and how the logical operations are applied.4.3.3.1 Selecting an Image ObjectAs shown in Fig. 15, the following logical operations are done to theimages:Interaction of 7 VBX controls referred as :A) the background (holds the environment backgroundimage, such as a house), described as 600;25W0 98/11511B)C)D)E)F)G)CA02265719 1999-03-12PCT/U S97/ 16239the composition buffer (all images merged such as thehouse with doors and trees), described as 602;the snap shot, described as 604;the object buffer, described as 606;the outline buffer, described as 608;the image mask (holds the mask counterpart to theimage object), described as 610;the image object (holds the image, such as a door ortree), described as 612.The interaction is as follows:Call the Recreate Object procedure places the image in object606. A bitmap is placed in object 612. Decrease size byoutline 612.Step 614: Segment 602 equal to the image object size isapplied the logical operation COPY with object604.Step 616: Object 610 is applied the logical operationCOPY with object 608.Step 618: Object 604 is applied the logical operationCOPY with object 612.Step 620: Object 608 is changed in size to allow for thesize of the outline.26CA 02265719 1999-03-12W0 98/ l 151 1 PCT/U S97/ 16239Step 622: Object 608 is applied the logical operationAND with object 612.Step 624: Object 608 is inverted and assigned palettecontaining black and outline color.Step 626: Object 608 is applied the logical operation ORwith object 612.Step 628: Object 610 is applied the logical operationAND with object 612.Step 630: Object 606 is applied the logical operation ORwith object 612.4.3.3.2 De-Selecting an Image ObjectReferring to Fig. 16, to de—select an image object the user must “click” onthe object. Code in the “click” event of the object initiates the de—selection processif the object is already selected. Also click on the background image initiates thede—selection process if an object is already selected. Using the same objectsdescribed above:The interaction is as follows:Decrease size by outline 612.Call the Recreate Object procedure places the image in object 606.Step 632: Object 602 is applied the logical operation COPY inobject 606.Step 634: Object 604 is applied the logical operation COPY andthen OR with object 612.27CA 02265719 1999-03-12wo 98/11511 PCT/US97/16239Step 636: Object 610 is applied the logical operation AND withobject 612Step 638: Object 606 is applied the logical operation OR withobject 612.4.3.3.3 Recreating an Object ImageReferring to Fig. 17:Step 640: Object 610 is applied the logical operation COPY withobject 606.Step 642: Object 612 is applied the logical operation AND withobject 606.Step 644: Object 612 is applied the logical operation XOR withobject 606.An example of an object selected by means of steps associated with theselecting, de-selecting and recreating process described above and illustrated inFigs. 15-17 is illustrated in Fig. 22. Tree 920 is selected and appears within anoutline 950 that follows the contoured border of the tree 920.4.3.4 Step 204 - Manipulating ObjectsThe process of manipulating objects in Step 204 will now be described.4.3.4.1 Step 230 - Position objectsDigital images of objects 260 are positioned in the screen display by use of acommon technique for “drag and drop”, which technique is available in developmenttools such as Visual Basic, to allow the user to reposition objects by means of VBXcontrols, or equivalent. In the case of a “mouse down” event of a control containing28CA 02265719 1999-03-12W0 98/ 1 1511 PCTIU S97/ 16239the image, programing code is placed to enable “drag” mode, and is also placed to runthrough the Recreate and De—select procedure. On the background 250 and on allimage objects 260, programing code is placed in “Drag Drop” Event. The Selectingprocess is run and the control is made visible.4.3.4.2 Step 232 - Re-sizing the objectsThis feature allows the user to re-size the controls containing bitmaps thatoriginated in a database or that were created by the user. This feature allows the userto resize controls at the smallest visible increment on the screen. Common techniquesare used to change the width and height of a Visual Basic VBX control or equivalent.Four controls are placed in the Visual Basic type MDI child form. The controls shouldbe a solid color and be visible as an rectangles when the user selects the re-sizeoption. The four controls will be used as re-sizing “ears” that the user can “drag” and“drop” to determine the new object size. Upon user selecting the re-size option,De-Select the currently selected object. An “XOR’ed” line is placed, using commonAPI calls, around the contour of this control holding the image and displaying arectangle. Four controls are placed and made visible so that they will serve as“re-sizing” ears -- 2 centered to the sides of the object, one centered on top and onecentered on the bottom of the control containing the bitmap of the object. Traditionalprograming code is placed to allow drag and drop of the re-sizing ears. The cars areallowed to be placed anywhere on the current MDI child form. The rectangle formedby the new position of the ears is updated. Onto the first rectangle is XOR‘ed toeliminate it and form the new rectangle. The29CA 02265719 1999-03-12W0 98/11511 PCT/US97/ 16239user is allowed to repeat this procedure any number of times. Programing code isplaced to detennine if a “click” event occurred. If a click event did occur, and if it isthe first “click” event after the “dragging” of the “ears”, the control and the imagecontained in the control is resized using the conventional feature for this purposefound in Control VBX or equivalent, that allows for re-sizing of the image withoutresizing of the bitmap. To display image correctly in the new size, the de-select,recreate and select processes are executed. A buffer control containing the black andwhite mask that is the counterpart control to the image product is also resized. Thiswill represent images of any shap correctly integregated with the current background.The new size is determined by the position of the re-sizing ears. If the user executes asecond click event outside the “ears”, then the image bitmap and its counterpart maskbitmap are re-sized to the new dimension determined by the “XOR’ed” rectangle. Asin many operations to bitmaps, due to the de—select, recreate and select processes andto the preview modes, manipulation of bitmaps are done in buffer controls. This way,the original bitmaps are only modified when the operation is complete. It is also to beunderstood that manipulation of bitmaps undertaken in other process steps describedherein are also done in buffer controls so that in each case, the original bitmaps areonly modified when the operation is complete.The “XOR’ed” line is repeated to erase the rectangle, make the resizing earsinvisible and execute object selection process. This will show the objects selected tobe either enlarged or reduced to the desired size.30W0 98/11511CA 02265719 1999-03-12PCT/US97/162394.3.4.3 Step 234 - Orienting the ObjectsTo orient objects in step 234, the following sequence of steps occurs. Createform to hold scroll bar control. Use a scroll bar control such as ones used in the VisualBasic. Assign to the range value properties of the scroll bar control to hold the values0 through 360. Make a copy of the bitmap in the selected control holding the currentimage to another control that will be used to preview the changes in orientation, anddo the same with the image counterpart white and black mask. Use commonly knowntechniques of assigning bitmaps from one control to another, such as those found inVBX controls. Allow the user to select this option by Pull Down menus and Icons intool bar format. Load form with the scroll bar. Display an object that shows a circlelabel 0, 90, 180 degrees as to allow feed back to the user on the angle that has beenselected by sliding the scroll bar element. Allow the user to move the scroll barelement so as to select new degrees of rotation. Display the scroll bar value as toprovide feedback to the user. Place a Visual Basic Button control labeled “Preview.”Place code in this button control to rotate the temporary control holding the currentbitmap by changing the rotate property to the value of the scroll bar. VBX controlsprovide a rotate property, upon changing this value the bitmap will be rotated to thespecified degree ranging from 0 through 360. Allow the user to preview the neworientation any number of times. Every time the user selects Preview, the changescopy the bitmap from the original control to the temporary control. Additionally, thebuffer control containing the image counterpart mask is rotated. The mask and theimage are used in the combination in the selection process. The mask allows forcorrect integreation with the background of images with non-rectangular areas where31CA 02265719 1999-03-12W0 98/1151 1 PCT/U S97/ 16239part of the background is copied to the image to show integreation. This will allowthe correct preview of the display. Place a button control on the same form so as toallow the user to cancel operation. In this case, the bitmap is not copied to the originalcontrol.Place a button control that allows the user to select the previewed changes andapply them to the currently selected control holding the bitmap. Use the bitmapassignment property to assign bitmaps from the buffers control (image and mask) toones used in the selection process.4.3.4.4 Force fit (Other tools)This technique comprises the transfer of the content bitmap of a control toanother control. Functionally this allows the user to copy the content bitmap of acontrol to a buffer control that holds the bitmap temporally. The user can then chooseto replace the content of any control holding a bitmap with the content in the buffercontrol. The placing of the bitmap in the buffer control is referred to as Copy Specialand the placing of the bitmap on the destination control is referred to as Force Fit.This technique consists of the following steps. Allow the user to initiate this optionby placing code in the Windows Pull Down menus and icon tool bar. Place code toassign the bitmap from the currently selected control holding the image object to thebuffer control that is in the windows MDI form that is common to all Windows Childforms. Use the commonly known bitmap assignment found in tools such as VBXcontrols. The same process is needed for the image counterpart black and white mask.In other words, the source image bitmap control and its counterpart containing theimage mask are copied to the buffer for later assignment to the destination controls,32CA 02265719 1999-03-12W0 98/ 1 1511 PCT/U S97/ 16239one containing the image and the other containing the black and white mask. Placeinformation contained in the object structure, such as Name, Product ID, Company/General group and Database name, in variables. These variable values will beassigned to the destination object later.Place code in Windows Pull Down menus, Window Pop-Menu on the “rightclick” event of the control to allow the Force Fit feature to execute. Copy contentbitmap that is in the buffer control to the currently selected control. Do the same withthe image counterpart bitmap buffer and assign it to the control holding thedestination bitmap mask. Due to the selection and de-selection process the resultingbitmap is placed in the “Object Buffer” in the MDI child form this allows theSelection process to place the bitmap in the correct control and show it selected.4.3.4.5 Force Fit proportional (Other tools)The code to execute this option is the same as Force Fit, but the destinationcontrol width is re-sized to keep the same aspect ratio to the height control thatremains the same and unchanged in relation to the buffer control in the Windows MDIform holding the bitmap to copy. For example, if the original object had a height of 2and width of 4, then if the destination control has a height of 4 and width of 7, theheight on the destination control will remain at 4 and the width will be modified to 8to keep the same aspect ratio between height and width of the original control holdingthe original bitmap. Code is added to determine the proper width of the destinationcontrol depending on the original height on the buffer control and the height on thedestination control. Assign the new size value, using the commonly known method of33CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239assigning values to Visual Basic VBX type controls, to the width property of thedestination control.4.3.4.6 Opacity (other tools)This tool allows the user to select a color from common color dialog providedin Windows and accessible by tools like Visual Basic by the following sequence ofsteps. Place the return value representing the color in a global variable. Place code inWindows Pull Down menus, Window Pop-Menu on the “right click” event of thecontrol and toolbar icons to allow the Paint with Opacity feature to execute. Uponexecution, place code that assigns a solid color to a bitmap in a control, such as VBXcontrol. This is done by assigning the bitmap color to the control property. Thiscontrol is used as underlay in combination with the currently select control that isholding a bitmap. Controls such as VBX control allow for the combination of bitmapby using the Underlay procedure.4.3.5 Step 206 - Output - Finished ProductStep 206, as previously indicated, involves outputting the finished project.Steps 240-246, each different forms of outputting the finished product will now bediscussed.4.3.5.1 Saving a projectThe following sequence of steps occurs in saving a project. Place code inWindows Pull Down menus and toolbar icons to allow the Save as Project feature toexecute. Open a common Visual Basic Open Dialog that is placed in the WindowsMDI form. This will return a file and valid name to a variable string. Place anextension, such as VAP or equivalent, that uniquely identifies the file to be created as34CA 02265719 1999-03-12W0 93/1 151 1 PCT/U S97/ 16239one belonging to this application. Place a Microsoft Access Relational database typefile in a directory accessible to the program. Create, on this database file, one tablewith fields to hold bitmap and information such as Product name, database name,product ID and Company or general group. Use commonly known methods to createfields in the database provided with the database tools. This file has no informationexcept a place holder image in the first record. This database file will be used as amaster file that is never written to but instead is used to create new ones. Make a copyof the file to the path and assign the name returned by open dialog. Open the databasefile. Using a data—bound control such as VBX control, update the first record with. project background. Loop through array of controls that conform all the images over ithe background that originated from the main database or were user created. Use adata bound control to update each one of these images and counterpart black andwhite mask to this project database file. Also update information that is bundled witheach control; information such as Product name, database name, product ID andcompany or general group. Close the new project database file. This information inthe project file should allow a project to be loaded later and reconstructed to theoriginal configuration. This process consists of reading each record, retrieving thebackground, opening a new MDI child form and placing all the remaining objects inmovable controls over the background.4.3.5.2 Step 242 - Exporting a ProjectTo export a project, the following steps occur. Create a form and placecontrols that allow the user to type in a file name and choose from a valid directory.Also display all the support file formats such as extension PCX, BMP and TIF. Create35CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/16239lookup table according to all format specifications for available options for eachformat. Allow user to select any of these available combinations using radio buttoncontrols or their equivalent. For example, if the user wishes to export a PCX format,allow the user to select options such as available bits per pixel, such as 8, 16 and 24.Also, each format may have a number of available compression options. Allow theuser to select from a Pull-down combo box control these available compressionoptions. Controls such as VBX controls commonly allow saving a bitmap to aparticular format just by setting several properties. Cycle through all the bitmapobjects that originated from the database or were created by the user from thebackground. Use the Windows API BITBLT function that is used conventionally tocombine bitmaps, to integrate the background and all the bitmap images into onebitmap in the control used for saving. The API function should be used incombination with the image counterpart black and white mask. This allows for part ofthe bitmap to be intergregated while others are not. An example is a tree which is nota rectegular image although the bitmapy containing the tree is rectegular. Incombination with the mask, the image of the tree that holds the leaves and the otherparts of the tree are copied to the background while the areas around the tree and inbetween the leaves are not copied. This shows the background through the “seethrough” areas of the tree such as the areas in between the leaves. This processincludes using BITBLT function by “Anding” (SRCAND) the mask and the “Oring”(SCRPAINT) the image bitmaps to the bitmap containing the background. Set theproperties, on this control holding the bitmap, necessary to save a bitmap such as36CA 02265719 1999-03-12W0 98/1 151 l PCT/U S97/ 16239compression factors, file format, file name, and valid path. Close the form and returnto the current project.4.3.5.3 Step 244 - Printing a projectTo print a project, the following steps occur. Create a form that allows theuser to select and preview the project to be printed. Detect printer settings so as tocreate a preview of the hard copy to be made. Take into consideration paperorientation so as to present the correct preview. Cycle through all the bitmap objectsthat originated from the database or were created by the user from the background.Use the Windows API BITBLT function that is used to combine bitmaps, to integratethe background and all the bitmap images into one bitmap in a control used forprinting. The API function should be used in combination with the image counterpartblack and white mask. This allows for part of the bitmap to be intergregated whileothers are not. An example is a tree which is not a rectegular image although thebitmapy containing the tree is rectegular. In combination with the mask, the image ofthe tree that holds the leaves and the other parts of the tree are copied to thebackground while the areas around the tree and in between the leaves are not copied.This shows the background through the “see through” areas of the tree such as theareas in between the leaves. This process includes using BITBLT function by“Anding” (SRCAND) the mask and the “Oring” (SCRPAINT) the image bitmaps tothe bitmap containing the background. This control holds the bitmap that will beprinted. Controls such as VBX controls conventionally allow printing the bitmapfound in the control by setting properties to specific values. These values, such asprint to page size or to specific size, are assignable to properties for the control. Place37CA 02265719 1999-03-12W0 98/ 1 1511 PCT/U S97/ 16239controls on the printing form to allow the user to choose printing options fit to page orprint to actual size. Change the preview control in size and orientation so as tosimulate what the print out will look like. Once the user is satisfied, set the propertiesin the control holding the bitmap used for printing so that it will print to the usersspecifications.4.3.5.4 Step 246 - Shopping ListThis feature allows the user to print or export to a file the list of products anditems used in the current project. To create a shopping list, the following steps occur.The list of items originates from all the controls that are placed over a background andthat are still active and moveable. The user can choose to print the list of items or tosave it to a text file. Cycle through all the controls containing bitmaps over thebackground and read the indexed array containing information related to the images.Group images that have the same product and company name so as to create a list thatshows the quantity of similar objects. For example: a garage door from the databaseappears twice, the list reports a quantity of 2. Both the printed and saved ShoppingList contain Quantity, Company or General Group and Product name. Use theconventional programming practice to print text by use of a printer or to save text to atext file. Use a Visual Basic common dialog control type to allow the user to enter avalid filename and path in the save to file option.4.4 Data Structures - OverviewOne of the objects of invention is to allow the user to visualize how realitems from the real world would look on a given environment. Normally, it isdifficult to visualize how a remodeling, reconstruction or landscaping project would38CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/16239look when completed. The invention allows users to preview and experimentdynamically with different object arrangements and ideas. It is an interactivesystem that allows the user to select and “try out” a large number of items on thecurrent background.In the preferred embodiment, a Microsoft Access relational database(“Microsoft Access” is a registered trademark of Microsoft Corporation) is used inthe computer program in the practice of the invention. It is to be understood thatany equivalent database may also be used in the practice of the invention.A relational database is a computer file that is composed of different tables.Each table holds information on records. Each record is composed of fields. Eachfield is used to hold information and bitmap objects. The bitmap objects are itemsfrom the real world, such as wall siding, windows, doors, trees and brick, to beapplied to the environment. Traditionally images and clip—art to be used incomposition environments have been saved in file formats known as extension BMPand TIF, among others which normally contain single bitmap image files. Byplacing objects in the database, the following differences and advantages may berealized:1) Information about these objects can be stored in the related recordsuch as:Product name (fictitious examples: Garage Door TraditionalStyle)Product vendor or Line (fictitious example: ABC, Inc.)Product category (fictitious example: Exterior Images)Product sub-category (fictitious example: Garage Doors)Manufacturer phone number (fictitious example: 555-5555)Other relevant fields of information depending on the type ofproduct39CA 02265719 1999-03-12W0 98/1 151 1 PCT/U S97/ 16239This database structure allows every object to have relevant information foruse in sorting, searching and understanding the characteristics of the product to beused in the composition background. These bitmap composition programs are notknown to have a source of structured product information (e.g., information such asproduct name, vendor, manufacturer, etc.).2) Information is saved in different tables such as:Category namesSub-category namesCompany namesCompany Logos bitmapsCompany backdrops bitmapsThis relational database permits supplementary information to be stored on productson different tables. The structure permits more information to be shown on objectswhen requested by the user, such as the company logos, backdrops and information.3) Due to the database structure, the information is presented in a wayto allow the user to search the following manner:Product Vendor or LineCategorySub-categoryActual productsBy means of SQL queries characteristic of relational databases, bitmap objectsstored in the database are presented to the user on the screen display in an organizedmanner. Selecting a product vendor category performs a query to update andprovide available Categories and Sub-categories to the user. Selecting a Categoryperforms a query to update and provide the available Sub-categories to the user.Finally the user can select to preview bitmap objects from the current sub—category.40CA 02265719 1999-03-12W0 98/11511 PCT/US97/ 16239The approach is believed to be a highly organized manner of previewing bitmapobjects and is a unique feature of the invention.4) The user can view product information. The information available tothe user is displayed by category on the status bar on the screen. Furtherinformation can be viewed by “clicking” on the company logo or sub-category logofor that bitmap object. The product information for each bitmap is obtained bySQL queries. The combination of previewing images with information to be usedlater in the composition is unique feature of the invention.5) The user is able to “drag” or select an object originating from thedatabase to be placed over the bitmap background that forms a compositionenvironment. At this point a new object is created to hold the bitmap that isretrieved from the database. The objects are indexed, the first object in the firstproject is referenced as 1-1, the second object in the first project it is referenced as1-2, and so forth. For example, in the case of the first object the system programproceeds to attach information about that particular object in the object’s arrayposition 1-1. The information attached is relevant to the particular object, such asproduct name, ID number reference in the database, company and database name.This information follows the object no matter where it is located in the backgroundenvironment. The ID reference to that database is used upon user request for moreproduct information. This is done by performing a query to the database using theID number as a search criteria.6) A bitmap is an 2 dimensional array of pixels representing each acolor. A bitmap can hold a digitized image. With 8, 16 and 24 bits per pixel color41CA 02265719 1999-03-12W0 98/ l 1511 PCT/U S97/ 16239resolution, it is possible to produce a high quality image representing the item fromthe real world in a realistic manner. In color resolutions such as in 16 bits per pixelthere are 16 bits of information per pixel allowing a possible range of about 65,000colors. With such resolution, it is possible to meet current public expectation onrealistic quality allowing users to experiment with different items from the databaseand arrive at different possible scenarios.The invention provides a dynamic and interactive program that combines thecapability to view two or more bitmaps objects 260 from the database and to do sowith product information 262. It allows the user to select or “drag” objects to theproject environment and experiment with over 1,000 different images that are storedin the database as well as objects saved in a second database which can be updatedby the user. The user can then position and accommodate these bitmaps objectsonto the environment 250 in such precise way to create different scenarios.The invention provides a precise means to visualize changes because thesystem uses a mask per bitmap object. By combining the mask with the bitmap andthe background, a seamless integration is achieved. The user is also allowed to fitthe image precisely into areas by using a set of tools provided, such as force fit intothe area or by sizing the object a pixel at a time. Through the combination of theseand other features, bitmap objects are integrated without visible seams to thebackground. For example, the placement of a bitmap of a tree selected from thedatabase, once placed over the background, will show areas that are around theoutline of the tree itself as well as areas of the background that show throughbranches and leaves.42CA 02265719 1999-03-12W0 98/ 11511 PCT/US97/162394.4.1 The Database Structure — Data Related to Image ObjectsData (object information 262) originates from the database and is eithertagged to the objects once out of the database in the project or linked to by databasevolume name and product/ object ID.The fields listed below are the items related directly to be bitmapproducts/objects. The list includes fields that are linked with fields in otherdatabase tables for additional information. For example, the Company field allowsthe linking of a table that has more information on the company. The fields arethose in the database that provide most meaning to the user and more functionalityto the program (actual field names in the list provided).Unique ID A unique number that is used to link the object back to thedatabase once in the project.Item ID A combination of category and sub-category numbersCategory ID Category numberSub-category ID Sub-category numberItem name The name of the bitmap of productCompany Company name or if no company then the general group nameProduct support phone numberProduct support E-mail addressPrice Price information 1Price2 Price information 2Units Units of product for the stated price (if applicable)Conditions Conditional statements related to the item43W0 98/11511Image The product imageMask The image counterpart maskThumbpreviewCompression Type of image compression (used as reference)QfactorCAThe thumbnail version of the image for quick display andHow much image compression (used as reference)Fields with Functionality emphasis:MaskedSize FactorVariable fields according to the type of object:Rmodel :Does the image have a mask, if not one is created on the flyon image retrievalbrings the image to half the sizeField 1Common namePlan nameRdescription: Field 2Rcolor:Rsize :Rsku :Botanical namePlan numberField 3Hardiness ZoneStyleField 4UseNumber of bedroomsLandscape categoryField 5SKU numberNumber of bedroomsOrnamental Value4402265719 1999-03-12PCT/US97/16239What size the image should come at, for example 1/2 re-sizesCA 02265719 1999-03-12W0 98/ l 151 1 PCT/U S97/ 16239Rmore: Field 6InformationMicro—climateNumber of levelsRpattern: Field 7PatternSizeSquare footageFlower Color: Field 8FoliageChar: Field 9FoliageChange: Field 10FruitChar: Field 11Texture: Field 12Form: Field 13Growth Rate: Field 14Temp: Field 15Sunlight: Field 16Moisture: Field 17Soil: Field 18Region: Field 19In the preferred embodiment, the specific columns associated with theproducts in the database appear in the list attached as Appendix A.The objects once out of the database:Listed below are the attributes that are tagged to the object bitmap thatoriginate from the database. Listed below are the fields that have meaning to theuser and keep a link to the database for retrieval of more information:45CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239Name (Holds the name of the image item/ object)ID (Holds the ID number that the objects has in the database; used to link for moreinformation)CD Volume name (Holds name of the database)Company name (Holds name of the company)If the object is user created and has not been saved then all values are “NONE” or0 except for Name which is allocated the following string “User Created”.As used herein, the term “means for copying and moving an object” isintended to refer to processes described in steps 202 and 204, and their equivelence.4.4.2 Data Structure - The Unique “Link”The data structure discussed above is unique in that a “link” relationship isestablished between the movable object control and the relational databasecontaining information related to the object 260 depicted in the movable digitalimage (sometimes also referred to as the “moveable object”). It is known in the artthat programs such as that sold under the Visual Basic trademark tag informationrelated to moveable objects to controls such as size, color and other propertiesassociated with the object. It is also known in the art that variables may be used tokeep information about form, controls and other programmable items associatedwith the moveable object. The design and arrangement of the relational databaseassociated with the inventive computer program, however, provides advantages notfound in the prior art, including a “link” from the VBX control to the place in thedatabase where the information can be found (see computer programming codeattached as Exhibit B, page 300 beginning with the code “Private Sub...” which46CA 02265719 1999-03-12WO 98/11511 PCT/US97l 16239shows the form referred to as frm Info. Prod., page 158). The link provides theinventive computer program a means to access and retrieve more information abouta particular object image. The “link” is also referred to herein as the “object dataaccess means The link provides a novel relationship between the moveable objectcontrol and the relational database. The relationship is established in a structuredarray that contains the database volume name and the product identification which isdepicted in the digital image comprising the moveable object. The combination ofthe product identification with the database volume name allows a specific query tobe executed that locates the exact record in the database and facilitates the retrievalA of all information in the database about a particular product shown in the moveable 'object digital image.In one aspect of the invention, the information about a particular object 260that is retrieved from the database and displayed on the screen may be programmedto appear in any particular order. The ordering of the information allows theinvention to be practiced under circumstances where the invention operates as anadvertising tool employed by vendors of products recorded in the database tomarket such products. Stated another way, this aspect of the invention permitsapparatus 10 to be programmed so that when a system user, via the displayinterface, employs the data access means to access and retrieve information about anobject, a product of the vendor who is willing to pay a premium for advertising canbe made appear first in the screen display. In this way, the invention may be usedas a advertising and marketing tool to market vendors’ products to system userswho would represent the relevant purchasing market for such products.47CA 02265719 l999-03- 12W0 98/11511 PCT/US97/162394.5 Description of the System in OperationTurning now the operation of apparatus 10 according to the invention, withparticular reference to examples of the visualization of changes to residential houseson window displays produced on monitor 14 or in hard copy by printer 18. It willbe understood by those skilled in the art that other displays may be employed in thepractice of the invention.As used herein, the term “system” is intended to mean apparatus 10according to the invention having the operational features disclosed herein.4.5.1. Creating a Background ImageA system user starts a project utilizing image capture means for receivingand storing a captured image of an actual environment in digital form. Thecaptured image will form a background 250 in the window display. It is to beunderstood that a reference to window display is intended to mean a display createdby the monitor 14, the printer 18, or both.As previously indicated, the image capture means in the preferredembodiment comprise; (1) importing an image file in a compatible format; (2)capturing an image from a Twain-compatible device such as a scanner, a digitalcamera, or a video camera; (3) pasting an image from the Microsoft WindowsClipboard; (4) retrieving an image from a previously saved project; or (5) retrievingan image from the CD—ROM Database.The discussion will now turn to the procedure by which a user can createcomputer generated displays using apparatus 10 programmed with the functionalitiesas set forth above that permits visualization of changes to the interior or exterior of48CA 02265719 1999-03-12W0 98/1151 1 PCT/U S97/ 16239a building structure shown in its actual environment. The procedures are set forthbelow and were also used to generate the screen displays appearing in Figs. 18 - 26by the operation of apparatus 10.Step 1 . The system user determines whether to use aphotograph of the home, a digital image of a home in the CD—ROM Database or ahome in an existing project on the user database. The next step is to bring one ofthese homes (images) into the project work space 252. The method of choice isstarted by clicking on the topic icon for step—by- step instructions, which providesthe following features in the screen:a. Open Project — to open a pre—existing project. The user in given the choices of aquick tour tutorial to learn how to open projects or selecting a saved project.b. Import — to import an image (graphics file) of a home. The system user mayselect a scanning service to scan a photograph of a home onto a diskette. Thescanned image is a graphics digital images file and can be imported into thesystem program. The system user may also select other graphics images of otherhomes or products from the CD ROM database.c. Open the CD—ROM Database - The system user may select a model home froma site planning category of the CD ROM database to create a particular home,or view other homes for ideas.(1. Open from Scanner/Camera — The system user may scan into the system photosor blueprints by means of a scanner, a digital camera or camcorder with a framegrabber.49CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239The background can be created from any source described above once thebackground appears on the screen.Step 2Touching Up the Image. If the home background selected has an object (such as anold mailbox) that the user wished to remove, a flaw in the photograph that the userwishes to touch up, or if the image needs to be sharpened or brightened the useremploys the drawing program or the adjustments tool that appears on the screen.Both these tools are useful at the end of a project when the user is ready to put onthe final touches.' Step 3Selecting Products from the CD~ROM Database. The user selects objects fromhundreds of products or images from the database for placement on the background.The user may be select, for example, plants, trees and shrubs; siding and paint; oradding a deck or pool. A “Click” function is provided to the user to accessinstructions on selecting objects from the database.Step 4Using the Video and Step-by—step How-to‘s. As the user selects and adds productsand images to the project background, other program tools and features are alsoavailable to make objects fit, serve as patterns, or replace other items in thebackground image. Visual demonstrations and Step-by—step instructions on the toolsand techniques are promised to the user.50CA 02265719 1999-03-12W0 98/ 1 1511 PCT/US97/16239The user can click on topics of choice, or review topics later from the table ofcontents of the on—line manual. The on-line manual can be accessed at any timefrom the help menu.Step 5Gluing Objects to the Background ~ As the user progresses in the project, he mayplace many objects on the project background. Eventually the user may need to gluesome of the images to the background, making them a permanent part of the projectbecause of limited computer memory. Objects at the bottom of the stack must beglued first.Step 6Deleting Unnecessary Objects — Another way to keep the project clean and conservememory, reducing the size of the project, is to delete any objects that are no longerneeded. Often when making patterns and objects from the background image, theuser can end up with objects that he doesn’t realize are still there. To findunnecessary, hidden objects in the project, the program is provided with an objectlist.Step 7Continue to Save or Archive — The user who wishes to keep a record of the projectat various stages, may do so by using the “Save Project As," giving each phase ofthe project a different file name.Step 8Final Touches — To add even more realism to the project, the user may addshadows, use perspective or change the lighting (time of day), and how-to‘s: step-51CA 02265719 1999-03-12W0 98/ l 15 1 1 PCT/US97/ 16239by-step instructions for additional tips and tools are provided. The user may use thedrawing program again at the end of the project to "clean up" the image.Step 9Print a Copy of the Project — To produce a printed copy of the project (e. g., toshow a contractor, client, or other person), a print function on the file menu isprovided.Step 10Export Project Image - The user may make a final project into a graphic image byusing the export function. This will provide a copy of the project into anothercomputer program or make into a slide. When a project is exported as a graphicfile, all objects in the new image file are a permanent part of the image and are nolonger able to be edited or manipulated.in h r’ n Ph r hListed below are options for getting photographs or pictures into the program.ScanningA common way to get pictures into the software is to use a scanner. Most scannersare Twain-compatible, but some are not. After the user installs the scanneraccording to the manufacturer’s directions, the following the steps are followed toscan an image into the system:To use a Twain-compatible scanner:1. The user selects the photograph or picture for use.2. The user opens the scanning application.52W0 98/11511CA 02265719 1999-03-12PCT/U S97/ 16239The user clicks the scan icon on the toolbar or go to Open from Scanner/Cameraon the File menu.The user selects the scanner as the source.The user refers to the scanner user’s manual to proceed with the scanningprocess.When the user is finished scanning, the image appears on the screen as a newproject. At this point, the user has the option to save the image beforebeginning work so that the scanned file is created to use again. The user mayuse the image file on another project or creates a back—up copy. Directions onsaving the image file are provided with a click function.The background image is now ready for use.A save function and instructions are provided to save the project. Directions onsaving the project are provided by click function.To use a scanner that is not Twain-compatible:1.Select the photograph or picture for use.2. Scan the picture and save it onto the hard drive. Refer to the scanner user'smanual for instructions on scanning and saving.3. Once the picture is saved, close the scanner software application.4. Open the scanning application.5. Now open the picture file using the “import” function under the “file” menu,retrieving the file from wherever it was stored while scanning. The background isnow ready for use.53CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/ 162396. The user may save the work as a project. After saving as a project, the user cancontinue to add, change and move objects on the project background. This will savethe work done as a separate file from the original scanned image. Directions onsaving the project are provided by a click function.Di i l m rWith a digital camera, a picture can be taken and instantly imported into the system.Most digital cameras are Twain—compatible, but some are not. After the digitalcamera is installed according to the manufacturer’s directions, the steps below arefollowed:If the digital camera is Twain-compatible:1. Take a picture with the digital camera. (Refer to the digital camera user'smanual for instructions.)2. Open the scanning application.3. Go to open from scanner/camera under the file menu, or click the open from thescanner/camera icon on the toolbar.4. The scanning application will then access the digital camera software within thescanning application.5. Refer to the digital camera user's manual to import the digitized photo.6. The image imported by the user appears on the screen as a new project. At thispoint, the user will have the option to save the image before beginning work sothat the digitized file may be used again. The user may also use the image fileon another project or create a back-up copy to start over. Directions on savingthe image file, are provided by a click function.54CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/162397. The image is now ready.8. The work may be saved and directions on saving the project are provided by aclick function.If the user digital camera is not Twain-compatible:1. Take a picture with the digital camera. (Refer to the digital camera user'smanual for instructions.)2. Import the picture and save it onto the hard drive. Refer to the digital camerauser's manual for instructions on importing and saving.3. Once the picture is saved, close the camera software application.4. Open the scanning application.5. Now the picture file may be opened using the “Open Image” (import) functionunder the File menu, getting the file from wherever it is stored while operatingin the camera software. The user is now ready to work on the image on thescreen.6. A save function is provided to save the project. Directions on saving the projectare provided by a click function.3Li_deQ_C_ameLasA video interface hardware to capture a frame from a video tape and import it intothe program may also be used to create a background. Most video interfaces areTWAIN-compatible, but some are not. This can be determined by looking at theliterature provided with the video interface. After the user installs the user videointerface according to the directions that came with it, follow the steps below:55W0 98/11511CA 02265719 1999-03-12PCT/U S97/ 16239To import a frame from a video interface that is Twain-compatible:1.-7.Record the picture intended to be brought into the scanning application with avideo camera.Connect a video interface to this computer. Follow the connecting directions inthe video interface user’s manual.Open the scanning application.Click the open from scanner/camera icon on the toolbar or go to “open” fromscanner/camera under the File menu.Refer to the video interface user's manual for instructions on how to import aframe of video as an image file.When the user is finished importing the frame, the image just imported appearson the screen as a new project. At this point, the user has the option to save theimage before beginning work so that the image file may be used again.Directions on saving the image file are provided with a click function.The user now can work on the image.To import a frame from a video interface that is not Twain-compatible:1. Record the picture into the scanning application with a video camera.2. Import the picture and save it onto the hard drive. Refer to the videointerface user's manual for instructions on importing and saving.3. Once the picture is saved, close the video interface application.4. Open the scanning application.56CA 02265719 1999-03-12W0 98/1 1511 PCTIU S97/ 162395. Now open the picture file using Open Image (Import) under the File menu,getting the file wherever it is stored while in the video interface software. The usermay then work on the image on the user screen.i F rThe background 250 may be touched up using a drawing program that may beaccessed through an icon toolbar, as shown in Figure 28. A conventional drawingprogram can be used for touching up images by drawing on them with numeroustools, including spray cans and an erasing tool. The drawing program also is usefulbecause it can zoom in more than can be done in the main system. To start thedrawing program, the system user clicks on the drawing ‘program icon on the icontoolbar. If an object or image already has been selected, the selection is takenintodrawing program to work on. If nothing was selected, the fixed image is taken intothe drawing program without any of the objects or products that have been added tothe fixed image. As a system user works on the image, the tool being used isshown at the bottom of the toolbar. When the system user is finished using thedrawing program, the system user selects the Return To Project menu. If thesystem user selects Update Changes to Project, the object or fixed image comesback into the main system with all of the changes made in the drawing program andis permanently changed. If the system user selects Do Not Update to Program,nothing is changed on the current project.57CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/162394.5.2 Applying Objects to the BackgroundOnce a fixed background image has been created, the system user must nextselect digital images of objects from an object catalog. The object catalog is a CDROM database collection of products and images. In the preferred embodiment, thecollection of products and images are arranged in categories and subcategories. Acategory is the first layer of organization of the database products, and all productsfall into one of the categories. A subcategory is the second layer of organization ofthe CD ROM database products. In addition, a Product Lines field gives the systemuser the option to view the products of all of the available product lines in the CDROM Database or only one product line at a time. The product line selected by asystem user is displayed at the top of the database window and can be double-clicked for more information on the product line and the vendor. To select imagesand products from the CD ROM database, the following nine—step sequence isutilized:1. The system user clicks the CD ROM icon on the toolbar and adatabase bar appears.2. If it is desired to limit the search of the database to a particularproduct line instead of all product lines, a pull down menu is used to choose aparticular product line.3. The system user then chooses a category from the pull down menu.A category is the first layer of organization of the database products. All productsfall into one of the categories.58CA 02265719 1999-03-12WO 98111511 PCT/US97/162394. The system user chooses a subcategory from the category justselected.5. The system user clicks on one of the three database buttons to make adatabase display box appear as shown in Fig. 26.6. Up to three display boxes can be on the screen at once. If a databasedisplay box is already active and the system user wishes to display a differentsubcategory in that box, the system user selects a new category and subcategory,and clicks on the first database button.7. The system user can scroll down the scroll bar on the right or use theup and down arrows to see the items available. The red line on the right indicateswhat object is being displayed. The name of this object is seen in the InformationBar at the bottom of the screen. The company that makes this product is displayedin the box at the top. If the product image was not provided by a specificmanufacturer, it will say General Item.8. While scrolling through the products in a subcategory, a system usercan mark an item to be able to see it later by right-clicking and selecting Bookmarkwith the left mouse button. A small yellow bookmark appears in the corner of thepicture. It will stay there as long as that display box remains open.9. To select an item and place it in a project, the item is dragged anddropped onto the project window. The item also may be double clicked toautomatically place it in the project.59CA 02265719 1999-03-12W0 98/11511 PCT/US97/162394.5.3 Opening and Editing User DatabaseTo open the user database and select an individualized object of it, the systemuser first clicks on the CD icon on the toolbar. Next the system user clicks on theuser database icon at the end of the database bar. When the user database appears,the system user selects the image to be used in the project from the pull downmenu, illustrated in Fig. 27 and then clicks select.To add an object to the User Database, the system user selects the image desiredto be stored with a rectangular or polygon tool, or by selecting it from the CDROM database if that is where the image originated. The system user next right-clicks on the object and chooses Add to User Database. ‘In the resulting dialog box,the system user then types in a name to call the object and clicks OK.4.5.4 - Miscellaneous Featuresin Ar 1 c r T lUtilizing the icon toolbar, a system user can define or select areas of an imageusing a rectangular tool and a free form tool. To use the rectangular tool, the userclicks the Rectangle on the toolbar. The curser then turns into cross hairs and asystem user places the cross hairs at the top left corner of the rectangular area to beselected. The system user clicks and drags the cross hairs to the bottom rightcorner of the rectangle until it is as big as desired. The mouse button then isreleased and the rectangle is created. A duplicate of the image is then formed tomove something in the image, cover other parts of the image, paint with opacitycolor, thereby painting a house or object, fill with Current Pattern (such as bricks),60CA 02265719 1999-03-12W0 93/1 1511 PCT/US97/16239use with the Paste Into Object command, fill with solid color and use with the Skewand Perspective tool.To select an irregular shape area of an image, the system user uses a free formobject tool from the icon toolbar. To create a free formed object, the system userclicks on the free—form object tool and an arrow appears. The system user thenbegins to draw the outline of the free-formed object by clicking to mark a startingpoint. As illustrated in Fig. 28, at each place where the object curves or changesdirections, the mouse is clicked to pin down the outline. When the system user hasgone all the way around the object and is back to the starting point, the system userright-clicks the mouse and selects Complete Operation. The free form object toolallows for irregular shaped areas to be selected in order to move something in theimage, cover other parts of the image, Paint with Opacity Color (thereby painting ahouse or object), fill with current pattern (such as bricks), fill with a solid color anduse with the School and Perspective tools. At any time while making a free-formedobject, the system user can right-click and select Erase Last Line to undo the lastclick that has been made as far back as the second click. The system user also canright-click and Cancel the Operation at any time.Tools for Editing ImagesThe system includes a plurality of tools for editing the composite image, thebackground image, and an object before the object is merged into the background.Using the Fill With Current Pattern command, a selected area of an image may befilled with a currently defined pattern.61CA 02265719 1999-03-12W0 98/1 151 1 PCT/U S97/ 16239Fill an Object with a PatternTo fill with a pattern, the system user selects the rectangular area desired to beused as a pattern. Alternatively, the system user can select a database object as apattern, as long as the database object is rectangular. Next, the system user clickspattern on the icon toolbar. As illustrated in Fig. 29, the selected area is now thedefined pattern, which shows up in the lower-left corner of the window. Using therectangle tool or the free-form object tool, the system user selects the area to befilled with the pattern, as shown in Fig. 30. Next, the system user chooses Fillwith Current Pattern on the icon toolbar under the Edit menu or by right-clickingV the mouse.R ' i anThe system user also can resize an object and thereby make the object larger orsmaller in one direction than in another. To resize an object, the system user firstclicks on the object to be resized. The system user then clicks “Resize” on the icontoolbar, under the Image menu or on the right-click menu. As illustrated in Fig.31, four yellow boxes then appear around the object. The system user drags anddrops one square at a time in order to make an outline of what the resized objectwill look like. When the outline appears to be the desired size, the system userclicks inside the shape that has been drawn. If the system user is satisfied with theresult, the mouse is clicked again. If the system user is not satisfied with the result,the system user may move the yellow boxes again and click once to preview theresized object and again to accept the resizing of the object.62CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239Alternatively, the size of a selected object may be resized without stretching it.This function allows an object to be resized proportionally, no matter how large orsmall the object is to be resized. To resize an object proportionally, the system userclicks on the object sought to be resized. Next, the system user clicks on “ResizeProportional” on the icon toolbar, or selects “Resize Proportional” under the ImageMenu. A box or square appears in the bottom—right corner of the object, asillustrated in Fig 32. To make an outline of what the resized object will look like,the system user drags the square to resize the object. When the outline of theresized object looks correct, the system user clicks inside the shape that has beendrawn. If the results are satisfactory, the system user clicks again inside the shape.If the results are unsatisfactory, the system moves the orange boxes again and clicksonce to preview and again to accept the resize.Pain; with QpagityThe system also allows a selected area to be painted with opaque color. Opaquecolor allows the color to be applied, yet permit the image or pattern that isunderneath to remain visible. For instance, as shown in Fig. 33, a garage can bepainted tan, but it will not be a solid tan; the word working, shadows, etc., will stillbe visible.To paint with the current opacity color, the user selects an area with therectangular or free-form object tool, or clicks on an existing object. Next, thesystem user selects Paint with Opacity on the Image menu, on the icon toolbar, orby right-clicking. The system user next clicks Select in the dialog box as illustratedin Fig. 33, to pick a color from the color pallet on the screen. Clicking Preview63CA 02265719 1999-03-12WO 98/11511 PCT/US97/16239allows the system user to see what the color looks like on the image behind thedialog box. If the system user does not like the color chosen, the Select button maybe clicked again, and another color chosen. When the system user is satisfied witha color, the Apply button shown in Fig. 33 is clicked. The system also the systemuser to create a custom color with which to paint an object.Egrce-Fit Into RectangleThe system allows the system user to resize a copied image into a selectedrectangle on the fixed image thereby stretching the copied image to make it fit intothe designated rectangular area. To force fit into a rectangular area, the systemuser first selects a background image from the database or selects a user inputtedbackground image. The system user next clicks the CD database icon, selects acategory, selects a subcategory and clicks on one of the three database buttons tomake a floating database appear. The system user then selects a product by clickingon its picture and dragging it onto the product. The product is now a selectedobject. The system user clicks the Copy Special icon on the icon toolbar or choosesCopy Special under the Edit menu. The system user clicks the rectangle tool icon,and outlines a rectangular area on the project into which the database object is to fit.The system user next goes to the Paste Into Object item under the Edit menu, andchooses Force—Fit Into Rectangle. The product selected will fit exactly into therectangular area chosen. If a product that is not rectangular is chosen, the outer-most points of the object will fit exactly into the rectangle.64CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/16239 Alternatively, the system allows an image to be pasted into a rectangular areaproportionally. If the image will not fit proportionally into the selected area, adialog box will appear stating how far off the image is from fitting by percentage.This will make the object being pasted fit vertically into the selected rectangle, butbe off horizontally. The object will get smaller or larger, but it will never bestretched (distorted) using the Proportional—Fit Into Rectangle command.To proportionally fit an image into a rectangular area, the system user chooses abackground image from the database or selects a background that has been inputtedinto the system. The system user next clicks the CD database icon, selects acategory, selects a subcategory, and clicks on one of the three database buttons tomake a floating database appear. A product is selected by clicking on its pictureand dragging it onto the project. The product is now a selected object. The systemuser then clicks a Copy Special icon on the icon toolbar or chooses Copy Specialunder the Edit menu. The system user clicks the rectangle tool icon and icons arectangular area on the project. The system user goes to Paste Into Object underthe Edit menu, and chooses Proportional Fit into Rectangle. A dialog box appearsinforming that the destination area is off by a calculated percentage. The systemuser chooses Yes to paste the product into the selected area. The product is nowpasted into the rectangular area without distorting its dimensions. Because it is notdistorted, it will be narrower or wider than the rectangle into which it was pasted.65CA 02265719 1999-03-12W0 98/1 151 1 PCT/U S97/ 16239Adjustments to the ImageThe system also allows the system user to change the brightness, contrast andsharpness of the composite image. Using a brightness tool, the system user canlighten or darken a fixed image, a database object on a fixed image, or any selectedarea on the window. If the system user only wants a part of the picture to beadjusted, that part of the picture is selected with the rectangle tool or free-formobject tool. If the brightness of the whole picture is to be adjusted, nothing isselected. The system user then selects Adjustments from the Image menu, right-clicks to select Adjustments, or selects the Brightness icon from the icon toolbar. Ifonly a selected object is to be adjusted, the current object in the lower-left cornershould be selected. If the whole picture is to be adjusted, Background in the lower-left corner is selected. The system user may slide the scroll bar to the right toincrease brightness and to the left to decrease brightness. The adjustments in thebrightness can be seen automatically on the picture behind the adjustments dialogbox. The system user may click Reset to go back to a zero value, which is thestarting brightness. To accept the change in brightness, the system user clicks OK;to reject the change in brightness, the system user clicks Cancel. If the system userclicked OK and then decides the result is unsatisfactory, the system user may usethe Undo function under the Edit menu.The system also allows a system user to adjust the brightness of a group ofobjects. To do so, the system user clicks on the first object in the group, creating ablue outline around it. The system user presses Shift while clicking on the rest ofthe objects in the group, creating red outlines around them. The system user then66W0 98/11511CA 02265719 l999-03- l2PCT/US97/16239selects Adjustments from the Image menu. or right-clicks and selects Adjustments.The system user may slide the scroll bar to the right to increase brightness and tothe left to decrease brightness. The adjustment in brightness can be seen in the firstobject that was clicked with the blue outline. This object serves as the preview forthe adjustment being made to all the objects in the group. The system user mayclick Reset to go back to a zero value, which is the starting point. When the systemuser is satisfied with the adjustment in the preview object, the Apply All button isclicked.Using a Contrast tool, a system user can adjust the amount of gradation ordifference there is between the highlights, mid—tones and shadow areas of an image.The higher the contrast, the more difference there is between the color tones, whilethe lower the contrast, the less difference there is between the color tones.If the system user wants only a part of the image to be adjusted, that part of theimage is selected with the rectangle tool or free-form tool. If the whole picture is tobe adjusted, nothing is selected. Next. the system user selects Adjustments fromthe Image menu or right-clicks and selects Adjustments. If only a selected object isto be adjusted, Current Object in the lower-left corner should be selected. If theentire picture is to be adjusted, Background should be selected in the lower-leftcorner. The system user slides the scroll bar to the right to increase contrast and tothe left to decrease contrast. Adjustments in contrast can be seen automatically onthe picture behind the Adjustment dialog box. The system may click Reset to goback to a zero value, which is the starting point without any adjustments. To acceptthe change in contrast. the system user clicks OK. To reject the change, the system67CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239user clicks Cancel. If the system user clicked OK and then decides the result isunsatisfactory, the Undo function under the Edit menu may be used to undo theresult.The contrast also may be adjusted for a group of objects. The system userclicks on the first object in the group, creating a blue outline around it. The systemuser next presses Shift while clicking on the rest of the objects in the group,creating red outlines around them. The system user then selects Adjustments fromthe Image menu, or right-clicks and selects Adjustments. The system user slidesthe scroll bar to the right to increase contrast and to the left to decrease contrast.The adjustment and contrast can be seen in the first object that was clicked with theblue outline. This object serves as a preview for the adjustment being made to allobjects in the group. The system can click Reset to go back to a zero value, whichis the starting point without any adjustments. Once the system user is satisfied withthe adjustment in the preview object, the Apply All button is clicked.Using a Sharpness tool, can sharpen a blurred picture. If the system user wantsonly part of the picture to be adjusted, that part is selected with the rectangle tool orthe free-form object tool. If the whole picture is to be adjusted, nothing is selected.The system user next selects Adjustments from the Image menu, or right clicks toselect Adjustments. If the sharpness of only a selected object is to be adjusted,Current Object in the lower left corner should be selected. If the sharpness of thewhole picture is to be adjusted, Background in the lower left corner should beselected. The system user slides the scroll bar to the right to increase sharpness andto the left to decrease sharpness. The adjustments in sharpness can be seen68CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239automatically behind on the picture behind the Adjustments dialog box. The systemuser may click Reset to go back to a zero value, which is the starting point beforeany adjustments. To accept the change in sharpness, the system user clicks OK; toreject the change in sharpness, the system user clicks Cancel. If the system userclicked OK and is not satisfied with the result, the Undo function under the Editmenu may be used to undo the adjustment in sharpness.The system also allows for the adjustment of the sharpness of a group ofobjects. To do this, the system user clicks on the first object in the group, creatinga blue outline around it. The system user then presses Shift while clicking on therest of the objects in the group, creating red outlines around them. The system usernext selects Adjustments from the Image menu, or right-clicks and selectsAdjustments. The system user slides the scroll bar to the right to increasesharpness and to the left to decrease sharpness. The adjustment in sharpness can beseen in the first object clicked with the blue outline. This object serves as thepreview for the adjustment in sharpness being made to all objects in the group. Thesystem user may click Reset to go back to a zero value, which is the starting pointbefore any adjustments. When the system user is satisfied with the adjustment insharpness being made in the preview object, the system user clicks Apply All.E1iI2D£12.anlm.a£§The system also provides certain tools to allow the system user to orient objects.One of the tools is the Flip tool, which allows the system user to flip the selectedobject, creating a mere image of the original.69CA 02265719 1999-03-12W0 93/1 151 1 PCT/US97/16239The horizontal flip function illustrated in Fig. 34 allows a system user to flip aselected image or area 180 degrees horizontally. To flip horizontally, the systemuser first selects the object to be flipped. The system user next clicks HorizontalFlip on the icon toolbar. The system user can also go to Flip under the Imagemenu, or right mouse button menu, and then select Horizontal. The object selectedis now a mere image. To get the image back to where it was, the system user canflip horizontally again or go to Undo on the Edit menu.As illustrated in Fig. 34, the Vertical Flip function allows a system user to flipthe selected image or area 180 degrees vertically. To flip vertically, the systemuser first selects the object to be flipped. The system user next clicks Vertical Flipon the icon toolbar. The system user can also go to Flip under the Image menu orright mouse button menu, and then select Vertical. To get the flipped object backto where it was, the system user can flip vertically again or go to Undo on the Editmenu.Rotating an QbjegtThe system also allows a system user to turn an object clockwise up to 360degrees. To rotate an object, the system user first clicks on an object. The systemuser next goes to Rotate under the Image menu or clicks the Rotate tool on the icontoolbar. A dialog box appears with a circle and needle. The system user drags thescroll bar underneath to the right to rotate the object clockwise. As this is done, thedegrees that have been rotated is indicated above the scroll bar and in the circle.The system user clicks preview to see the object rotate by the amount that has beenchosen. If the result is satisfactory, the system user clicks apply; if not, the system70CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239user continues to adjust the rotation and hit preview until satisfied with the result,and then clicks Apply.ln1e_rt_1tt1a£§The Invert Image function allows the system user to make colors in the selectedarea opposite (green becomes red, purple becomes yellow, etc.). When used, theimage changes dramatically. To use the Invert Image tool, the system user firstselects an object or part of the image with the free-form object tool or rectangletool. The user next goes to Effects under the Image menu and then chooses InvertImage. The object selected is changed. If the change is unsatisfactory, the systemA user goes to Undo under the Edit menu to undo the change.summedThe system also allows the system user to slant objects using a Skew tool. TheSkew tool allows a user to slant a rectangular object while keeping its opposite sidesparallel. This Skew tool is used to place an object into an area that is angled,matching its perspective.To skew a rectangular object, the system first clicks on the object to be skewed.The system user next goes to Skew under the Image menu, and a dialog boxappears. The system user then must decide whether to skew horizontally orvertically. A vertical skew keeps the left and right sides of the rectangle level andangles the top and bottom sides. A horizontal skew the top and bottom sides of therectangle level and angles the left and right sides. The system user enters an anglefor the skew in either the horizontal or vertical boxes by typing a number or usingthe arrows. An object may be skewed from 45 to -45 degrees. The system user71CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239can click Preview to see what the object will look like as skewed. If satisfied, thesystem user clicks OK; if not satisfied, the system user can fiirther adjust the angleand click Preview until satisfied.Parallel PerspectiyeThe system further allows the system user to apply perspective to an objectusing a Parallel Perspective tool. The system user first selects the object withwhich to apply perspective. Alternatively, the perspective may be applied to apattern by selecting and defining that pattern. The system user next clicks onPerspective on the icon toolbar or selects Perspective under the Image menu. Adialog box then appears. If perspective is to be applied to an object, Current Objectshould be selected at the bottom of the dialog box. If perspective is to be applied toa pattern, Current Pattern should be marked in the dialog box. The system userthen must select between horizontal or vertical parallel object. As illustrated in Fig.43, horizontal will stretch the object or pattern more horizontally to fit the objectbeing created. Vertical will stretch the object or pattern more vertically to fit theobject being created as shown in Fig. 44. The system user then clicks OK. Theobject or pattern appears with yellow boxes at the corners. The system user dragsand drops one square at a time to make an outline of where the pattern or objectwill fit into. When the outline appears satisfactory, the system user clicks inside theshape that has been drawn. If the result is satisfactory, the system user clicks againinside the shape. If the result is unsatisfactory, the system user continues to movethe yellow boxes until the desired result is achieved.72CA 02265719 1999-03-12W0 98/11511 PCT/US‘97Il6239r — P ' eUsing a Free-Form Perspective Tool, a system user can create a free-formobject with which a pattern or object is filled. The pattern or object is distorted tofit into the area of the free-form object. To use the Free-Form Perspective Tool,the system user first selects the object. -Alternatively, perspective may be applied toa pattern, in which case the system user first selects or defines the pattern. Thesystem user next clicks the Perspective tool on the icon toolbar, or goes toPerspective under the Image menu. A dialog box illustrated in Fig. 35 thenappears. If perspective is to be applied to an object, Current Object should beselected at the bottom of the dialog box. If perspective is to be applied to a pattern,Current Pattern should be selected at the bottom of the dialog box. The system usermust next select between horizontal or vertical free-form object. As illustrated inFig. 42, horizontal will stretch the object or pattern more horizontally to fit in thefree-form object that has been drawn. As illustrated in Fig. 41, vertical will stretchthe object or pattern more vertically to fit in the free-form object that has beendrawn. The user then clicks OK and a curser appears. As shown in Fig. 36, theuser then draws an outline around the free-form object, clicking at a starting pointand again clicking to pin down the outline at each place where the object curves orchanges direction. When the frce~form object has been traced all the way aroundback to the starting point, the system user right—clicks and selects CompleteOperation.73CA 02265719 1999-03-12W0 98/1 1511 PCT/US97/16239See—Through EraseAs illustrated in Fig. 37, the system also allows a user to utilize a See—ThroughErase command to erase any part of an object, thereby “making a hole in theobject,” allowing the system user to see a fixed image below. The See—ThroughErase command can be used with a square or circular area, as well as a free—formarea. To use the See—Through Erase command with a square or circle option, thesystem first selects the object in which the tool is to be used. The system user nextclicks See—Through Erase tool on the icon toolbar or chooses See-Through Erase onthe Edit menu. A dialog box then appears. The system user next selects whether_ the shape of the erasing tool is to be Square or Circle, and selects the size of theeraser with the up and down arrows in the dialog box. The system user clicks anddrags the left mouse button to erase the part of the object where the background isto show through. The system user right-clicks and chooses Exit from the Erasemode to accept the erasing that has been done. If the erasing that has been done isunsatisfactory, the system user can right—click and choose Cancel to undo theerasing.To use the See-Through Erase command with the region option, the system userfirst selects the object upon which to use the See—Through Erase tool. The systemuser next clicks See-Through Erase tool on the icon toolbar or chooses See-ThroughErase on the Edit menu. A dialog box appears, from which the system user selectsRegion. The system user next creates a free—form object using the Free—FormObject tool. After the free—form has been created, the system user right-clicks andselects Erase Region. At any time in Region Mode, the system user can right—click74CA 02265719 1999-03-12W0 98/115“ PCT/US97/16239and choose Cancel Region to stop creating the free-form object. The system usercan also right-click and select Remove Last Line while making the object. The See—Through Erase function will then be applied to the free-form object created. Thesystem user has the option of creating another free-form object or exiting by right-clicking and selecting the Exit Region Mode.Ti FA system user may make the composite image look more or less sunny using aTime of Day function. In the preferred embodiment, it is best to use the Time ofDay function at the beginning or end of the project because a duplicate of theproject is produced with all objects glued. The duplicate can be used as a fixedimage of a new project or as an image file of the finished project with all the objectsglued.If the system user is starting a project, the system user selects the fixed imagefor the background as a new project. If the system user is finished with the project,the system user should make sure the project looks the way he wants. The systemuser next goes to the Time of Day under the Image Menu. A new screen willappear on the window with the project image and function tools next to it. Thesystem user next goes to a list of times under the clock and selects one. If theresults are unsatisfactory, the system user may select other times until the imagelooks right. When satisfied with the image, the system user clicks on the Filemenu. The system user then chooses Create New Project to bring in the darker orlighter image that has just been created as the fixed image of a new product. Thesystem user may choose Export to save the darker or lighter image just created as75CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239an image file, which can be exported to other programs or saved for importing asthe fixed image of a project some other time. Whether Create New Project orExport is chosen, any objects on the fixed image are glued to the new image createdwith the Time of Day function.Shadows ToolUsing the Shadows Tool, a system user may make a project look more realisticby adding shadowing, as illustrated in Fig. 38. Shadows are added one at a time,and it is best to add shadowing at the end of a project.To add a shadow, the system user must first select the part of the image that willbe used to make the shadow with the Free—Form Object tool or the Rectangle tool.Whatever part of the image is picked will be flipped vertically (downward). Thesystem user next selects Shadows under the Image menu, and a dialog box appears.An Edit box reflecting Intensity appears within this dialog box. The intensityreflects how dark the shadow is, with the default being set to -300. To lower orraise the Intensity number, the system user types the new number in the box andhits Return or clicks a little button with several dots on it next to the amount chosenfor Intensity. The preview shows in the window. The system user may change thewidth and height of the shadow by manipulating the up and down arrow keys in anDimension edit box. The shadow is changed interactively on the window as thewidth and height of the shadow is manipulated. Using an Skew Angle edit box, asystem user can slant the shadow to the left or right by typing in an angle between -45 and 45 degrees. Negative will slant the shadow to the left, while positivenumbers will slant the shadow to the right. The system user clicks the little button76CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239with dots on it to the right of the Skew Angle edit box and a preview of the shadow,as slanted, shows in the window. The shadow may be moved by clicking on thedirection arrows in a Jog Shadow exit box, or by using the keyboard arrow keys.Once the shadow appears satisfactory, the system user clicks an OK button withinthe dialog box.4.5.5 Obtaining Product Information — The Display InterfaceThe system allows a system user to retrieve and display information relative toany product in the CD ROM database within a window that appears over thebackground for convenience purposes. In the preferred embodiment, this productinformation consists of a product name, a product vendor, a product category, aproduct sub-category and manufacturer phone number. For products that are imageobjects merged into the composite image, information about the product may beaccessed by right—clicking on the product image and choosing Information. Toobtain information about a product that is in the CD ROM database, the system userclicks on the box at the top of the display box that contains the manufacturer’s logo.A novel feature of the invention is the provision of an object data access meansassociated with the screen display 252. The display interface will now be discussedwith reference to Fig. 45, and the steps employed by the user to access informationabout products from the database by means of the display interface will also bediscussed.In the preferred embodiment, the user places a CD containing the computerprogram having the features of the invention in the CD-ROM in host computer 12 andlaunches the application from the Windows environment. In the example shown in77CA 02265719 1999-03-12W0 93/1 151 1 PCT/U S97/ 16239Fig. 45, the user selects a picture of a house 800 as background 250 to the project.Backgrounds can originate from several sources, such as a previously saved project, ascanned image, an image file, the windows clipboard or from the main database, aspreviously described. Once the background image of the home has been loaded intothe project form, the program presents a display interface in the form of applicationtool bars, combo boxes, file cabinet icons, and the like, operable with a mouse-clickfunction or keypad, as generally set forth below. The user employs the displayinterface by proceeding to “Click” on the CD-ROM icon 802 on the application toolbar. The program proceeds to search the database in order to present three drop-downcombo boxes with database information available for the software product in use. Thefirst combo box 804 contains a list of Product lines or vendors . The default is “AllProduct Lines”, meaning that all products for all Product Lines are available to theuser for the version in use. The second drop down combo box 806 contains a list ofCategories that are available to the user. The third drop down combo box 808 presentsa list of all available Sub-categories on the selected Categories. For example, the listof Sub-categories “Windows”, Roofing Material” and so on, are members of theselected Category “Exterior Images”. The user can select from the first combo box804, for example “Sample Company” by “clicking” on the Product Lines Combo Boxand choosing from the list of available Product Lines or companies. Once the usermakes the selection the second and third combo boxes 806, 808 are updated to showonly categories and sub-categories in which “Sample Company” products exist.Therefore, the first combo box 804 acts as a filter in the search for information in the78CA 02265719 1999-03-12W0 98/11511 PCT/US97l16239database. In this case, the user leaves the default selection ‘‘All Product Lines” andproceeds to select category “Exterior Images” and sub-category “Windows”.The user now chooses to see all the product images in the sub-category by“clicking” on any of the three file cabinet icons 810. The program proceeds to show aform containing a strip of images 812 from the database pertaining to the sub»category. The top of this database strip form shows the logo 814 related to the selectedimage, this is indicated by a line 816 connecting the logo to the image below. Whenthe strip is loaded for the first time, the line connects the topmost image to the logo.Items that don’t belong to a Product Line or Vendor are shown as a General group.The user can “click” on the logo and view additional information on selected image inthe database strip form. The user can use the scroll bar 818 to the left of the images toview more images in the current sub~category. As the user moves the scroll bar 818,the user can view Product Line, Vendor name or General group name and the imageproduct name in the information bar below 820. When the user releases the mousebutton on the scroll bar 818 the 6 six images are updated to contain images for thatsection in the database. For example, in the preferred embodiment, there are 60windows in the windows category. The user moves the scroll bar 818 to position 39,then the database strip form will show items 39 through 44. Additionally, as the usermoves the mouse over any of the images in the database strip, the information in thedatabase about these items will show on the information bar 820 below.The user is now ready to experiment with an image object from the database ontothe picture of the home 800. The user can “drag” the image from the database strip812 onto the background 250 containing the picture of the house 800. When the user79CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/16239releases the mouse button, the image is retrieved from the database and placed in amovable object 260 over the house. Once the image object 260 is placed inbackground 250, the user can view the product name and Product Line/ Vendor orGroup name just by placing the mouse over the image object 260. If the user wishes toview additional information about the image object 260, the user can “right click” onthe object 260 and select from a pull down menu the “Information” menu item. Thiswill show as form containing more information on this image product.The images from the database can be of irregular shape, such as the examplewindow 222 shown at the top of the strip form 812. This window 822 item has acurvature at the top and if used will be integrated to the house in a realistic manner.Also items from the database can have “see-through” areas that will show part of thebackground through the object. This is useful for images such as trees and gazebos. Inthis example, the user can re-size the window image in order to fit it realistically ontothe house 820. The 3 house windows 824 have been already added from the database,as contrasted to preexisting window 826.Many other features are available to the user in order to alter the form, size andorientation of the window image obj ect 260. The user can repeat the steps above toretrieve more image items from the database such as trees, doors, and siding patterns,among other things. In the examples shown, the siding on the walls 828 on the topfloor of the house 800 has been placed there from an image retrieved from thedatabase. The original wall 830 at the bottom level of the house still remains. The usercan continuously experiment with image positioning and orientation in order visualizehow different images would look if they were applied on the real house.80CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239Once the user is satisfied with the design or prefers to continue at a later time, theuser may save the project. Once the project is saved, it can be retrieved at a later time.The background 250 and image objects 260 will be positioned at the correct locationsin relationship to each other. The image objects 260 are still movable and the user canperform further image object manipulation operations on them such as perspective,brightness and contrast. The link between each object 260 and the database ismaintained so that the user can view relevant information relating to the image. (In thecase where the images were created by the using the tools available, a link to thedatabase is not possible.) Images created by the user are assigned the “User Created”name.Any image name can be changed by selecting the object list from the pull downmenu. There, the user can view a list of all objects and modify the object name inorder to give it more meaning. Optionally, the user can save objects to a User databaseto create a customizable library of objects. This user database contains the image andthe name.Finally, in this example, the user can print a list of images used in the currentproject by selecting the “Shopping List” from the “File” pull-down menu. This listcontains quantity, company/ vendor or general and image name such as “Square-Classic Picture”.The information that originates in the main database of real products is presentedon the screen in the database strip showing up to six images at a time in combinationwith the scroll bar. The scroll bar allows the user to view other images in the sub-category. This information is bundled with the image product once applied onto the81CA 02265719 1999-03-12W0 98/1 151 1 PCT/U S97/ 16239project background. Limited information about the images is viewed on theinformation bar by moving the mouse over the image. Complete information on theimage products is also available through the “right click” event on the image and thepull down menu. All image information pertaining to a project can be stored throughthe “save as a project” option and later retrieved using the ‘open project” option. Thelink between the image product or object and the database where it originated ismaintained over time and across work sessions.4.5.6 Finishing ProductSa ' r ' tA system user may choose the Save Project As to save the current project as anew project file or to save changes to an existing file. The project will be savedwith objects in place. After reopening the project, all images are “active” ormoveable. A system user would want to use Save Project As command to saveanother copy of the project with a different name. A system user might want to dothis to save the project during the different stages of development, or to save a copyof the project with a different name and a different directory of the system user’scomputer. The system user chooses Save Project As from the File menu. The SaveProject As dialog box then appears. The system user types in the file name underwhich to save the project as, and changes the drive or directory as desired. Thesystem user then clicks OK to save or can click Cancel if the system user decidesnot to save the project to this project file name.A system user also may choose the Save Project command to save the projectthat is presently being worked on with the same name it already has. By using the82CA 02265719 1999-03-12W0 93/1 151 1 PCT/US97/16239Save Project command, the system user adds all of the changes that have been sincethe last time the project was saved, completely overwriting the last saved version.A project is a document with non—glued, editable objects. These objects can beplaced on the fixed background image and can later be moved or deleted even afterthe project has been saved and reopened. To save a project, the system userchooses Save Project under the File menu, or clicks the Save Project icon on theicon toolbar. If the project has already been saved, the computer program willsimply save the changes to the existing project file name. If the system user has notsaved the document yet, the Save Project As dialog box appears and the userfollows the steps discussed above to save Project As.x orA system user also may select the export command to save a document beingworked on as an image file. Doing this will glue all of the objects in the displaydown to the fixed background image. If a system user then opens this file at a latertime, new objects may be placed onto the image, but the system user can no longerwork with objects that were placed onto the background image before saving theproject as an image through the Export command. This allows the picture beingworked on to be taken into another application. Alternatively, the Export commandcan be used to create an image file from a project that can be used over and overagain later for the fixed background image of new projects. Thus, exporting createsa one-layer image that can serve as a fixed image for future projects.To export, the system user first creates a project. The system user then selectsExport from the File menu. The Save File Dialog Box will appear. The system83CA 02265719 1999-03-12W0 93/11511 PCT/US97/16239user enters a file name in the File Name box and selects an image file format. Thedefault image file format is .tif, which is a widely used standard image file format.‘mm ErgjectA completed project or other image may be printed by the system user. Toprint an image, the system user selects Print from the File menu, types Ctrl + P, orclicks on the Print icon from the icon toolbar. A Print Dialog Box will appear.The system user then clicks Setup and the dialog box for the system user’s selectedprinter appears. The system user then makes any adjustments necessary (such asme number of copies and which pages to print) and then clicks OK to get back tothe Print dialog box for the system. The system user clicks Print to send the imageto the printer.Sh in 'stThe system user can utilize a Shopping List command to generate a list of allobjects in the current project. The Shopping List may be printed or saved as a textfile. The Shopping List provides a list of materials necessary for the project design.To save the Shopping List as a text file, the system user chooses Shopping Liston the File menu, and from the resulting pop—out menu, chooses Save ShoppingList. A dialog box appears, within which the system user designates a file nameand the drive and directory within which to save the file on the system user’scomputer. The system user then clicks OK and the file saved may be opened inmost word processing programs. To print the Shopping List, the system userchooses Shopping List on the File menu. A pop-out menu then appears from which84CA 02265719 1999-03-12W0 98/11511 PCT/US97/16239the system user chooses Print Shopping List. The list will print to the designatedprinter for the system user’s computer.Bill t ' sAnother method by which to generate a list of products used in a project isthrough a Bill of Materials function. To create a Bill of Materials, the system useropens the project file for which to create the Bill of Materials. Using the left mousebutton, the system user double clicks on the first product to be included in the Billof Materials. This product must be in the CD-ROM or user databases. The systemuser then clicks on the right mouse button and chooses Bill of Materials from themenu by clicking on the left mouse button. Next, the system user places the mousepointer over the empty white box and clicks once on the left mouse button. Thename for the Bill of Materials file is then typed in the white box. The system userthen selects an Add to List button. A coin icon will move from the image selectedto the cash register icon that is located at the bottom of the display, indicating thatthe information has been saved. The system user repeats these steps to includeadditional products in the Bill of Materials.Once the system user has added all of the images to the Bill of Materials, theBill of Materials may be viewed by double clicking on the cash register icon locatedin the lower-right corner of the display. To enlarge the Bill of Materials display,the system user clicks on the maximize box located in the top right corner of thedisplay window. The Bill of Materials can be exported to estimator softwareapplications in a plurality of supported file formats.85CA 02265719 1999-03-12W0 98/1 151 1 PCT/US97/16239Substitute FunctionThe Substitute Function allows a system user to define a pattern and fill aselected area in one step. The Substitute Function only works on rectangularobjects in the CD-ROM database. To substitute an item in the database for aselection in the current project, the system user presses the Shift key and then clickson the object to be filled in the current project. Next, the system user clicks thepattern button at the bottom of the display box on the right. A check mark appearsnext to it. The system user then double clicks on a rectangular section in the CD-ROM database so the red line extends to it. To continue to see what other items_ look like filled in the object, the system user continues to double click on therectangular section in the CD-ROM database. When finished, the user de—selectsthe Substitute Function.Zoom In, Zoom glutThe system user can select Zoom In on the icon toolbar to increase themagnification of the current image by 200 percent. The system user can edit thecurrent project in regular magnification or zoomed-in magnification. SelectingZoom Out on the toolbar decreases the magnification of the current image by 50percent. A system user must be in either regular magnification or zoomed-inmagnification to edit a project. Zoom Out is used to return from zoomed-inmagnification.Delete QtzjegtA system user may use the Delete Object function to delete selected items froma project. The items to be deleted could be a product selected from the database or86CA 02265719 1999-03-12W0 93/ 11511 PCT/US97l16239a self—made object. A warning box appears as a double check of the system user’sintentions before the object is deleted. The Delete Object function will delete anobject from the current project only, not from the database itself. To delete anobject, the system user clicks on the item to be deleted. The system user thenselects Delete Object from the Edit menu or clicks Delete Object on the icontoolbar. A warning dialog box will appear. The system user then selects Yes todelete the item selected.i and Pa ' 1 u c 'The Copy Special Function is used for copying within the system and is done inpreparation for pasting within the system program. The Copy Special and PasteSpecial Function can be useful when moving objects between projects created in thesystem.To Copy Special, the system user first selects an object. The system user nextclicks Copy Special from the Edit menu, types Ctrl+C or clicks the Copy Specialicon on the icon toolbar. A duplicate of that item is placed on the system’sClipboard. If a system user desires to paste the item selected into another project,the system user should open that project, or, if it is already opened, click on thetitle bar for that project to make it active. The system user next clicks Paste Specialon the Edit menu, types Ctrl +V or clicks the Paste Special icon on the icon toolbarto place the copied item on the active project.flgflmmamA system user may use the New Command to create a project from scratchwithin the system. For example, a system user may want to assemble objects on a87CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239white background instead of on a fixed image or to print out objects on a whitebackground to show others. To create a new project, the system user first selectsNew from the File menu, types Ctrl+N, or clicks the New icon on the icon toolbar.When the New Command is selected, a dialog box appears. To select a screen sizeother than the default, the system user types in a new height and width, or uses theup and down arrows to specify a new height and width. To change themeasurement from Pixel, the default setting, the system user chooses inches. Thesystem user then clicks OK and a new project work space appears.luin n I eUsing a Glue function, any selected image, whether it was pasted or movedfrom another part of a photo, can be permanently merged with the fixed image bygluing it. When an object is glued, it becomes part of the fixed background imageand can no longer be modified in any way. The Glue function is important becausewhen projects are done with many objects, it can become necessary to glue someobjects in order to free up computer system memory. When a system user has toomany objects on a page that are not glued, and attempts to select another item fromthe database, a dialog box appears informing the user that some of the objects mustbe glued or deleted in order to continue.When an object is exactly where the system user wants it to be and the systemuser is done editing it, the object must be selected. If the object is in a stack ofobjects, the object at the bottom of the stack must be glued first and then eachobject on top of it successively must be glued. When a system user clicks on anobject at the bottom of the stack, it comes to the top, but when it is glued, it goes88CA 02265719 1999-03-12W0 98/1 151 1 PCT/U S97/ 16239back to its same location in the back, but as part of the fixed background image.After selecting the object, the system user selects Glue under the Edit menu. Awarning box appears as a double—check of the system user’s intentions before theobject is glued. If the system user wants to continue to glue the object, he clicksYes in the warning box; if not, the system user clicks No. Once an object is glued,it cannot be selected again; it completely replaces the part of the picture underneathit. The glued object can no longer be manipulated with other tools, although thegluing process will not remove the item from the database.r ' e a e ' f d ' sThe Send to Back function rearranges the ordering of objects lying on top ofeach other on the composite image. The object on the top goes to the bottom of thestack of objects, but it is still on top of the fixed background image. To activate theSend to Back function, the system user first clicks on the object he wants to Send toBack. The system user then right-clicks and chooses Send to Back.The Send to Previous Location function sends an object to the place it wasbefore the system user clicked Send to Back or before the object was modified.This function allows a user who has mistakenly sent an object to the back to placethat object back at the layer it was originally. When a system user clicks on anobject, that object comes to the front layer of the stack. When a system user isdone editing that object, he can click Send to Previous Location to send it back tothe layer where it was originally. To activate the Send to Previous Locationfunction, the system user clicks on the object he wants to Send to Previous89CA 02265719 1999-03-12WO 98111511 PCT/US97/16239Location. The system user then right-clicks and chooses to Send to PreviousLocation. §tThe Object List function allows a system user to bring up a list of all objectsthat have been placed on the fixed background image. Objects from the CD-ROMand user databases will be listed under their names in those databases, while objectscreated by the user will be called User Created. The Object List allows the systemto user to edit an object that is setting in a stack of layered objects. When a systemuser highlights an object and clicks OK, the object is brought to the top of the stackfor editing and then the Send to Previous Location function can be used to returnthe object to the layer where it originally was. To activate the Object List function,the system user right-clicks on the object on the top of the stack and chooses ObjectList with the left mouse key. An edit box appears listing the objects in the stack.The system user clicks on the object to be edited. The name of the object to beedited is highlighted on the list and it comes to the top of the stack. The systemuser then clicks OK to exit the Objects List and edits the object that it now on thetop of the stack. The system user can also click Cancel to exit and make the objectsreturn to their original places in the stack. When the system user is done editing theobject, the object should be selected if it isn’t already. The system user then right-clicks and selects Return to Previous Location with the left mouse button.The system user can change the name of any object in the Object List. Tochange the name of an object, the system user clicks the curser in the box at the topof the edit box and types the new name of the object. The name is changed whether90CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239the system hits OK or Cancel. If the name of an object from the CD-ROM or userdatabase is changed, its name only changes in the Object List, not in the CD-ROMor User Database.Intensity Stretch FunctionThe Intensity Stretch Function increases the contrast in an image. Unlike thecontrast tool, the Intensity Stretch tool always retains the original number ofdifferent intensity values. When used, the colors change somewhat. The IntensityStretch Function can be useful to make scenes look more wintery. The IntensityStretch Function can also bring out more details and tends to work best when thesystem user’s system is set to 24-bit color.To use the Intensity Stretch Function, the systems first selects an object or partof the image with the free-form object tool or rectangle tool. The system user thenselects the Image menu, chooses Effects and then chooses Intensity Stretch. Theobject is then changed. If the system user does not like the change to the object, hecan select Undo under the Edit menu. £mmmThe Backdrop Function allows a system user to change the scenery around themain object in a project, whether that object is a house, a pool, a landscapedbackyard, etc. To place a Backdrop behind the main object, the system user clicksthe CD icon on the icon toolbar to open the CD-ROM database. The system usernext selects the category Objects, then selects a desired sub-category (such asmountains). The system user may scroll through the choices and pick the desiredbackdrop by clicking on the image and then clicking the Open Project button. The91CA 02265719 l999-03- 12W0 98/11511 PCT/US97/16239image selected is now an image on the display. The system user then clicks therectangular tool on the icon toolbar and outlines the entire background picturechosen. The system user then clicks the Pattern icon on the toolbar, which causespart of the object in the pattern box located in the lower left corner of the display tobe visible. The background has now been selected as the pattern. The system usercloses the background picture and when asked to save changes, clicks No. Thesystem user now returns to the original project and, using the free—forrn object tool,outlines the entire area on the project that is to be filled with the newly selectedpattern. When the system user is ready to make the last click of the outlined area,the right mouse button is used and Complete Fill with Current Pattern is selected.4.6 ExamplesFigs. 18-45 are Examples, in the form of screen “dumps” of projects createdby, and features associated various functionalities associated with, the invention.Fig. 18 shows a “before-and-after” display of the same house. In screen 900,the house shown is the “before” view. In screen 902, the house is shown in the“after” view with objects that have been merged into the background.Figs. 19-21 are also “before—and-after” displays of the original house, shown inFig. 19 as modified with the invention in the display of Fig. 20. Fig. 21 includes adatabase strip form 910 illustrating various bushes and shrubbery from whichlandscaping objects are chosen.Fig.22 is a display that shows the placement of a tree 920 into a background922, that has been selected from a strip bar 924, before merging the tree 920 intothe background 922.92CA 02265719 1999-03-12W0 98/l 1511 PCT/US97/16239Figs. 23-25 are screens that show how the invention can be emplyed witharchitect designs drawn from a database. Fig. 23 shows background 250 comprsingan architectual design of a house face. Fig. 24 shows a window object 260 placedover background 250 that has been drug from strip bar 910. Fig. 25 shows a screenof a completed project that begun with the line drawing appearing in Fig. 23.Fig. 26 is a screen display of a garage door object 260 placed over background250 which has been drug from a strip bar 910.Fig. 27 is a screen display which the user will see in the preferred embodiment,when opening and editing a database.Fig. 39 is a screen display that, in a preferred embodiment, appears to the userwho wishes to uses icons and menus.Fig. 40 is a screen display showing the use of a “parallel perspective” featurewhich shows a door 930, the door 930 placed within a control 932. The boundaryof control 932 is established by means of cars 934 placed on the screen at variouslocations with the mouse control. Door 936 has undergone the parallel prespectivechange.In Figs. 46-48, Examples of screen displays are presented of the productinformation screens 900 for various products available in the database. Theinformation appearing in screens 900 is obtainable by means of the “link”relationship previously discussed. Screens 900 contain the object information thatalso appears in in the form of object 260 as shown in Fig. 45.93

Claims (30)

That which is claimed:
1. A computer system for producing a computer generated display that permits visualization of changes to the interior or exterior of a building in its actual environment, comprising:
(a) a computer generated display, a background digital image appearing in the screen display;
(b) means to record and store digital images of objects and information related to the objects in a database to form an object catalog;
(c) object data access means including a display interface;
(d) means for copying and moving a digital image of an object selected from the catalog, copying and moving means operable to removably place the object on the background to permit the visualization of the object on the background; and (e) the object data access means operably connected to the object information database and the object copying and moving means so that after an object is placed on the background, the access means is operable by the system user through the display interface to retrieve and display on the screen object information from the object database.
2. The system according to Claim 1, the means to record and store digital images being operable to record the images in more than one standard image file format.
3. The system according to Claim 1, the means to record and store digital images operable by a system user to create and store an individualized object catalog.
4. The system according to Claim 3, the means to record and store object information operable by the system user to record and store information relative to objects in the individualized object database.
5. The system according to Claim 1, copying and moving an object selected from the catalog being operable by an icon tool bar associated with a display.
6. The system according to Claim 5, the icon tool bar operable for defining a specific area in the display.
7. The system according to Claim 6, the icon tool bar operable for defining an area of specific size in the display.
8. The system according to Claim 6, the icon tool bar operable for defining an area of specific shape in the display.
9. The system according to Claim 6, the icon tool bar operable for defining an area identified by the system user by freehand tracing on the display.
10. The system according to Claim 6, the icon tool bar comprising a plurality of tools operable by commands of the system user, the commands creating an associated action limited to the specific area in the display.
11. The system according to Claim 1, the means for copying and moving an object being operable to resize an object so that the object fits into an area specified by the system user in the display.
12. The system according to Claim 11, the means for copying and moving an object being operable to resize an object for enlargement.
13. The system according to Claim 11, the means for copying and moving an object being operable to resize an object for reduction.
14. The system according to Claim 1, the information retrievable by the object data access means including information selected from the group consisting of a product name, product description, source, a product vendor, a product category, and a product sub-category.
15. The system according to Claim 1, the object data access means operable to retrieve information from the window to generate a bill of materials.
16. The system according to Claim 15, the object data access means being further operable to export the bill of materials to estimator software applications.
17. The system according to Claim 1, the system further including means to change the background.
18. The system according to Claim 17, the means to change the background including means to merge any object with the background to form a composite image in the display.
19. The system according to Claim 17, the system further including means to edit the composite image.
20. The system according to Claim 1, the system further including means to edit the background image.
21. The system according to Claim 18, the system further including means to edit an object before the object is merged into the background.
22. The system according to Claim 18, the object data access means being further operable from the display interface for retrieving information related to any objects merged into the composite image.
23. The system according to Claim 17, the system further including editing means for reversing changes that have been made to the background image.
24. The system as set forth in Claim 1, the image capture means comprising the group consisting of a scanner, digital camera and video camera.
25. The system according to Claim 1, the display interface to retreive and display object information operable by a link established between the object placed over the screen and the database of objects.
26. The system according to Claim 1, the means for copying and moving an object being further operable to force-fit an object into a designated area into the background by streching the copy object into the designated area.
27. The system according to Claim 1, the means for copying and moving an object being further operable to select a digital image of an object having a contoured border and placed over a background, the object selected being within a highlighted outline that follows the border contour of the object.
28. A computer system for producing a computer generated display that permits visualization of changes to the interior or exterior of a building in its actual environment, comprising:
(a) image capture means for receiving and storing a captured image of an actual environment in digital form, the captured image forming a background in a window display;

(b) an object catalog including a database of objects;
(c) means to record and store digital images of objects in the object catalog;
(d) means to record and store information related to the objects in the database;
(e) object data access means including a window interface, the access menus being operable with the window interface for retrieving the information related to any object in the object catalog;
(f) means for copying and moving an object selected from the catalog, copying and moving means operable to removably place the object on the background to permit the realistic visualization of the object on the background; and (g) the object data access means operably connected with the object information database and the object copying and moving means so that after an object is placed on the background, the access means is operable by the system user through the window interface to retrieve object information from the object database.
29. A computer system for producing a computer-generated display that permits visualization of changes to an environment, comprising:
(a) a background presented in the form of a digital image in the computer generated display;
(b) an object catalog including a database of objects, the database including information related to the objects;
(c) object information access means including a display interface operable for retrieveing and displaying information relating to any object in the object catalog;

(d) means for copying and moving a digital image of an object selected from the catalog operable to removeably place the image of the object on the background;
and (e) the object data access means operably connected with the object catalog and the object copying and moving means so that after an object is placed on the background, the access means is operable by a system user through the display interface to retrieve and display information related to the object from the object catalog.
30. A method for producing a computer-generated display that permits visualization changes in an environment, comprising:
(a) creating a background digital image on a screen display of the environment;
(b) providing an object catalog in the form of a database of objects, the database including information related to the objects in the database;
(c) copying and moving an object from the database and placing the object over the background; and (d) accessing and displaying the information in the computer generated display that is related to the object placed over the background by means of a display interface.
CA002265719A 1996-09-13 1997-09-12 Method and apparatus for producing a computer generated display that permits visualization of changes in the interior or exterior of a building structure shown in its actual environment Abandoned CA2265719A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/713,994 US5986670A (en) 1996-09-13 1996-09-13 Method and apparatus for producing a computer generated display that permits visualization of changes to the interior or exterior of a building structure shown in its actual environment
US08/713,994 1996-09-13
PCT/US1997/016239 WO1998011511A1 (en) 1996-09-13 1997-09-12 Method and apparatus for producing a computer generated display that permits visualization of changes in the interior or exterior of a building structure shown in its actual environment

Publications (1)

Publication Number Publication Date
CA2265719A1 true CA2265719A1 (en) 1998-03-19

Family

ID=24868389

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002265719A Abandoned CA2265719A1 (en) 1996-09-13 1997-09-12 Method and apparatus for producing a computer generated display that permits visualization of changes in the interior or exterior of a building structure shown in its actual environment

Country Status (5)

Country Link
US (1) US5986670A (en)
EP (1) EP0951699A1 (en)
AU (1) AU4415197A (en)
CA (1) CA2265719A1 (en)
WO (1) WO1998011511A1 (en)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082426B2 (en) * 1993-06-18 2006-07-25 Cnet Networks, Inc. Content aggregation method and apparatus for an on-line product catalog
US6081629A (en) * 1997-09-17 2000-06-27 Browning; Denton R. Handheld scanner and accompanying remote access agent
US6226407B1 (en) * 1998-03-18 2001-05-01 Microsoft Corporation Method and apparatus for analyzing computer screens
IT1312245B1 (en) * 1998-04-10 2002-04-09 Ricoh Kk APPARATUS, PROCESS FOR IMAGE PROCESSING AND SUPPORT FOR READABLE REGISTRATION BY PROCESSOR WITH PROGRAM REGISTERED ON
US7053898B2 (en) * 1998-04-16 2006-05-30 Yugen Kaishs Origin Picture drawing system for use with a computer and a picture drawing method
US6333749B1 (en) * 1998-04-17 2001-12-25 Adobe Systems, Inc. Method and apparatus for image assisted modeling of three-dimensional scenes
US6281874B1 (en) * 1998-08-27 2001-08-28 International Business Machines Corporation Method and system for downloading graphic images on the internet
US6448983B1 (en) * 1999-01-14 2002-09-10 General Electric Company Method for selection of a design of experiment
US6845913B2 (en) * 1999-02-11 2005-01-25 Flir Systems, Inc. Method and apparatus for barcode selection of themographic survey images
WO2000055771A1 (en) * 1999-03-17 2000-09-21 Gioia Sandra L System for specifying building upgrade options and determining building cost
US6850946B1 (en) * 1999-05-26 2005-02-01 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US6903756B1 (en) * 1999-10-14 2005-06-07 Jarbridge, Inc. Merged images viewed via a virtual storage closet
US7917397B1 (en) 1999-10-14 2011-03-29 Jarbridge, Inc. Merging private images for gifting
US7328171B2 (en) * 1999-11-12 2008-02-05 Hewlett-Packard Development Company, L.P. System and method for ordering consumer items in electronic commerce
US20020065635A1 (en) * 1999-12-02 2002-05-30 Joseph Lei Virtual reality room
US6344853B1 (en) * 2000-01-06 2002-02-05 Alcone Marketing Group Method and apparatus for selecting, modifying and superimposing one image on another
US6931364B1 (en) * 2000-01-14 2005-08-16 G. Douglas Anturna Volume detailed building structure
US20020077928A1 (en) * 2000-01-21 2002-06-20 O'brien James D. Online method and apparatus for delivering home repair information to a subscriber
US20010044749A1 (en) * 2000-03-01 2001-11-22 Michael Heisler Home improvement system
US20010032135A1 (en) * 2000-03-01 2001-10-18 Michael Heisler Methods and system for the collection and delivery of information specific data
US6912689B1 (en) * 2000-04-17 2005-06-28 Micron Technology, Inc. Method and apparatus for facilitating substitution of digital images with line drawings
US8285590B2 (en) 2000-06-23 2012-10-09 Ecomsystems, Inc. Systems and methods for computer-created advertisements
US7774715B1 (en) 2000-06-23 2010-08-10 Ecomsystems, Inc. System and method for computer-created advertisements
US7505044B2 (en) * 2000-07-31 2009-03-17 Bowsher M William Universal ultra-high definition color, light, and object rendering, advising, and coordinating system
KR100373818B1 (en) * 2000-08-01 2003-02-26 삼성전자주식회사 Real size display system
US7680644B2 (en) 2000-08-04 2010-03-16 Wireless Valley Communications, Inc. Method and system, with component kits, for designing or deploying a communications network which considers frequency dependent effects
US6625454B1 (en) * 2000-08-04 2003-09-23 Wireless Valley Communications, Inc. Method and system for designing or deploying a communications network which considers frequency dependent effects
US6973622B1 (en) 2000-09-25 2005-12-06 Wireless Valley Communications, Inc. System and method for design, tracking, measurement, prediction and optimization of data communication networks
US7230628B1 (en) * 2000-10-05 2007-06-12 Shutterfly, Inc. Previewing a framed image print
US20020060650A1 (en) * 2000-10-25 2002-05-23 Asahi Kogaku Kogyo Kabushiki Kaisha Schematic illustration drawing apparatus and method
US7054836B2 (en) * 2000-11-30 2006-05-30 Novo Nordisk A/S Method for assisting a customer in building a build-to-order medical device
JP2004515007A (en) * 2000-11-30 2004-05-20 ノボ ノルディスク アクティーゼルスカブ Method and system for customizing build-to-order products
WO2002044956A1 (en) * 2000-11-30 2002-06-06 Novo Nordisk A/S System and method for customized built-to-order assembly
US20020154114A1 (en) * 2000-11-30 2002-10-24 Christensen Thomas Kragh Method and system for customising build-to-order products
US6870544B2 (en) * 2001-01-10 2005-03-22 X-Rite, Incorporated Harmonizing color selection system and method
US7080080B1 (en) 2001-04-05 2006-07-18 Miller Claims Consulting, Inc. Web-based siding material matching system
US20030025694A1 (en) * 2001-06-06 2003-02-06 Punch! Software, Llc Method of rendering bitmap images into three dimensions
US20060036513A1 (en) * 2001-09-26 2006-02-16 Jerry Whatley System and method for providing property improvements
US7289132B1 (en) * 2003-12-19 2007-10-30 Apple Inc. Method and apparatus for image acquisition, organization, manipulation, and publication
US6947786B2 (en) * 2002-02-28 2005-09-20 Surgical Navigation Technologies, Inc. Method and apparatus for perspective inversion
US7610563B2 (en) * 2002-03-22 2009-10-27 Fuji Xerox Co., Ltd. System and method for controlling the display of non-uniform graphical objects
US20040158505A1 (en) * 2003-02-10 2004-08-12 Meredith Corporation Decorating center
EP1683354A4 (en) * 2003-07-05 2008-12-03 William M Bowsher Universal, ultra-high definition color, light,and object rendering, advising, and coordinating system
US7277572B2 (en) * 2003-10-10 2007-10-02 Macpearl Design Llc Three-dimensional interior design system
US20050108620A1 (en) * 2003-11-19 2005-05-19 Microsoft Corporation Method and system for selecting and manipulating multiple objects
US20050174349A1 (en) * 2004-02-05 2005-08-11 Watson Brian S. Image rendering apparatus with print preview projection mechanism
US7412659B2 (en) * 2004-05-28 2008-08-12 Microsoft Corporation Colorized template previews
US20060122915A1 (en) * 2004-11-30 2006-06-08 Allen Anita L Customizable home improvement and redecoration pictorial display assistant
US8024658B1 (en) 2005-01-09 2011-09-20 Apple Inc. Application for designing photo albums
TW200704183A (en) 2005-01-27 2007-01-16 Matrix Tv Dynamic mosaic extended electronic programming guide for television program selection and display
US20060232802A1 (en) * 2005-04-01 2006-10-19 Melinda Gray Color selection process and system
KR100668159B1 (en) 2005-07-01 2007-01-11 김문정 Landscape Architecture Design Method Based On Real Image and System thereof
US7554539B2 (en) * 2005-07-27 2009-06-30 Balfour Technologies Llc System for viewing a collection of oblique imagery in a three or four dimensional virtual scene
US8875196B2 (en) 2005-08-13 2014-10-28 Webtuner Corp. System for network and local content access
US9563980B2 (en) * 2005-11-18 2017-02-07 Autodesk, Inc. Grip manipulatable shadows in 3D models
US20070233678A1 (en) * 2006-04-04 2007-10-04 Bigelow David H System and method for a visual catalog
US10614513B2 (en) 2006-07-07 2020-04-07 Joseph R. Dollens Method and system for managing and displaying product images with progressive resolution display
US8554639B2 (en) 2006-07-07 2013-10-08 Joseph R. Dollens Method and system for managing and displaying product images
US11481834B2 (en) 2006-07-07 2022-10-25 Joseph R. Dollens Method and system for managing and displaying product images with progressive resolution display with artificial realities
US8260689B2 (en) 2006-07-07 2012-09-04 Dollens Joseph R Method and system for managing and displaying product images
US9691098B2 (en) 2006-07-07 2017-06-27 Joseph R. Dollens Method and system for managing and displaying product images with cloud computing
US11049175B2 (en) 2006-07-07 2021-06-29 Joseph R. Dollens Method and system for managing and displaying product images with progressive resolution display with audio commands and responses
US8139083B2 (en) * 2006-08-09 2012-03-20 Sony Ericsson Mobile Communications Ab Custom image frames
US20080070198A1 (en) * 2006-08-17 2008-03-20 Chameleon Technologies Corporation Computerized method, system and machine-readable medium to enable a user to remotely perform a decorating session on an electronic image
US7764286B1 (en) * 2006-11-01 2010-07-27 Adobe Systems Incorporated Creating shadow effects in a two-dimensional imaging space
US9208174B1 (en) * 2006-11-20 2015-12-08 Disney Enterprises, Inc. Non-language-based object search
US7746358B2 (en) * 2007-01-03 2010-06-29 Vistaprint Technologies Limited Indirect image control using a surrogate image
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
US20090112615A1 (en) * 2007-10-31 2009-04-30 General Electric Company Method and apparatus for displaying and organizing clinical information of a patient
US8812985B2 (en) * 2009-10-30 2014-08-19 Motorola Mobility Llc Method and device for enhancing scrolling operations in a display device
US8296183B2 (en) 2009-11-23 2012-10-23 Ecomsystems, Inc. System and method for dynamic layout intelligence
US8881017B2 (en) * 2010-10-04 2014-11-04 Art Porticos, Inc. Systems, devices and methods for an interactive art marketplace in a networked environment
US20120120113A1 (en) * 2010-11-15 2012-05-17 Eduardo Hueso Method and apparatus for visualizing 2D product images integrated in a real-world environment
US9552144B2 (en) * 2010-12-17 2017-01-24 Paypal, Inc. Item preview with aggregation to a list
US9405433B1 (en) 2011-01-07 2016-08-02 Trimble Navigation Limited Editing element attributes of a design within the user interface view, and applications thereof
WO2012158904A1 (en) 2011-05-17 2012-11-22 Webtuner Corporation System and method for scalable, high accuracy, sensor and id based audience measurement system
CA2837198A1 (en) 2011-05-24 2012-11-29 Webtuner Corp. System and method to increase efficiency and speed of analytics report generation in audience measurement systems
WO2012162693A1 (en) 2011-05-26 2012-11-29 WebTuner, Corporation Highly scalable audience measurement system with client event pre-processing
US9146660B2 (en) 2011-08-22 2015-09-29 Trimble Navigation Limited Multi-function affine tool for computer-aided design
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9575641B2 (en) * 2012-03-20 2017-02-21 Adobe Systems Incorporated Content aware image editing
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9177533B2 (en) * 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US20140019310A1 (en) * 2012-07-11 2014-01-16 Zelos H. Hong Apparatus and methods for displaying project portfolios and selling products from the project portfolios
KR102003383B1 (en) * 2013-03-14 2019-07-24 삼성전자주식회사 Method and apparatus for shooting image in an electronic device
US11024065B1 (en) * 2013-03-15 2021-06-01 William S. Baron Process for creating an augmented image
US9922437B1 (en) 2013-03-15 2018-03-20 William S. Baron Process for creating an augmented image
US20140298229A1 (en) * 2013-03-28 2014-10-02 David Michael Priest Pattern-based design system
US10572118B2 (en) * 2013-03-28 2020-02-25 David Michael Priest Pattern-based design system
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
JP2016149022A (en) * 2015-02-12 2016-08-18 株式会社キヌガワ京都 Sales support program and sales support device
WO2017027811A1 (en) 2015-08-12 2017-02-16 Ppg Industries Ohio, Inc. Home visualization tool
US10049493B1 (en) 2015-10-22 2018-08-14 Hoyt Architecture Lab, Inc System and methods for providing interaction with elements in a virtual architectural visualization
US10467352B2 (en) 2017-04-03 2019-11-05 Cambria Company Llc Stone slab production methods and systems
US10416671B2 (en) * 2017-07-11 2019-09-17 Waymo Llc Methods and systems for vehicle occupancy confirmation
EP3460729A1 (en) * 2017-09-26 2019-03-27 Ricoh Company, Ltd. Information processing apparatus, system of assessing structural object, method of assessing structural object system of assessing structural object, and carrier means
US10558887B2 (en) * 2017-12-04 2020-02-11 Adobe Inc. Digital image search based on arbitrary image features

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2301274A (en) * 1940-05-28 1942-11-10 Carthage Mills Inc Display device
US3683779A (en) * 1970-08-12 1972-08-15 Ronald W Lifton Method and apparatus of decor simulation
US4321037A (en) * 1978-11-06 1982-03-23 Miller Melvin L Method of illustrating how the outside of a building will appear to the viewer if a building material is added to the outside of the building
US4297724A (en) * 1979-01-24 1981-10-27 Dainippon Screen Seizo Kabushiki Kaisha Method and machine for trying on a hair form in image
US4261012A (en) * 1979-06-18 1981-04-07 Maloomian Laurence G System and method for composite display
US4539585A (en) * 1981-07-10 1985-09-03 Spackova Daniela S Previewer
US4467349A (en) * 1982-04-07 1984-08-21 Maloomian Laurence G System and method for composite display
US4486774A (en) * 1982-04-07 1984-12-04 Maloomian Laurence G System and method for composite display
US4663675A (en) * 1984-05-04 1987-05-05 International Business Machines Corporation Apparatus and method for digital speech filing and retrieval
JPS6180222A (en) * 1984-09-28 1986-04-23 Asahi Glass Co Ltd Method and apparatus for adjusting spectacles
US4823285A (en) * 1985-11-12 1989-04-18 Blancato Vito L Method for displaying hairstyles
US4731743A (en) * 1985-11-12 1988-03-15 Combputer Images, Inc. Method and apparatus for displaying hairstyles
US4910661A (en) * 1987-12-14 1990-03-20 Edgar L. Barth Method and apparatus for decorating cakes and other foods
US4970666A (en) * 1988-03-30 1990-11-13 Land Development Laboratory, Inc. Computerized video imaging system for creating a realistic depiction of a simulated object in an actual environment
US5060171A (en) * 1989-07-27 1991-10-22 Clearpoint Research Corporation A system and method for superimposing images
US5280570A (en) * 1992-09-11 1994-01-18 Jordan Arthur J Spectacle imaging and lens simulating system and method
US5544354A (en) * 1994-07-18 1996-08-06 Ikonic Interactive, Inc. Multimedia matrix architecture user interface

Also Published As

Publication number Publication date
AU4415197A (en) 1998-04-02
US5986670A (en) 1999-11-16
WO1998011511A1 (en) 1998-03-19
EP0951699A1 (en) 1999-10-27

Similar Documents

Publication Publication Date Title
US5986670A (en) Method and apparatus for producing a computer generated display that permits visualization of changes to the interior or exterior of a building structure shown in its actual environment
WO1998011511A9 (en) Method and apparatus for producing a computer generated display that permits visualization of changes in the interior or exterior of a building structure shown in its actual environment
EP0635808B1 (en) Method and apparatus for operating on the model data structure on an image to produce human perceptible output in the context of the image
US5596690A (en) Method and apparatus for operating on an object-based model data structure to produce a second image in the spatial context of a first image
US5467441A (en) Method for operating on objects in a first image using an object-based model data structure to produce a second contextual image having added, replaced or deleted objects
US5818455A (en) Method and apparatus for operating on the model data structure of an image to produce human perceptible output using a viewing operation region having explicit multiple regions
US5982350A (en) Compositer interface for arranging the components of special effects for a motion picture production
US9053080B2 (en) Method and apparatus for providing access to and working with architectural drawings on a personal digital assistant
AU732783B2 (en) Computer imaging using graphics components
EP0241071B1 (en) A method of generating and processing models of two-dimensional or three-dimensional objects in a computer and of reproducing said models on a display
US5425137A (en) System and method for processing images using computer-implemented software objects representing lenses
US6301586B1 (en) System for managing multimedia objects
EP0636971B1 (en) Method and apparatus for producing a composite second image in the spatial context of a first image
US5544295A (en) Method and apparatus for indicating a change in status of an object and its disposition using animation
US7873909B2 (en) Manipulation and merging of graphic images
US20110264709A1 (en) Capturing Image Data
US20150100904A1 (en) Desktop Filter
CN1064557A (en) Three dimensional graphic interface
JPH11328380A (en) Image processor, method for image processing and computer-readable recording medium where program allowing computer to implement same method is recorded
JP2003529818A (en) Graphic user interface
WO2008133950A1 (en) Method and system for designing a pastry
US7000197B1 (en) Method and apparatus for inferred selection of objects
US9916602B2 (en) Batch image processing tool
US6462750B1 (en) Enhanced image editing through an object building viewport
JPH08115436A (en) Illustration generation device

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued