Abstract:
A computer-implemented method to price a promotional product includes the generation of a user interface that facilitates input of specification information concerning the promotional product, the specification information including product information identifying a base product to be decorated and decoration manufacturing process information identifying a process whereby a decoration is applied to the base product. The specification information concerning the promotional product is received, and a price for the promotional product is automatically calculated utilizing the product information and the decoration manufacturing process information. The user interface further provides a visual representation of the promotional product having the decoration applied thereto and according to the decoration manufacturing process.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application is a divisional application of U.S. application Ser. No. 09/930,676 filed August  14 ,  2001 , which is a continuation in part of U.S. application Ser. No. 09/758,648, filed Jan. 10, 2001, which claims the benefit of U.S. provisional application  60 / 176 , 956  filed Jan. 18, 2000, the entire content of each of the applications is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The present invention relates to the field of computer-generated images. Particularly, the present invention relates to the generation of composite images at a server utilizing image selections communicated via a Web browser over a network, such as the Internet.  
       BACKGROUND OF THE INVENTION  
       [0003]     The sale of promotional products, also called advertising specialties, has traditionally been practiced as a broker-customer relationship where a commissioned broker presents, in-person, various product lines and decoration choices to a customer. For example, a customer may call a broker in regard to promoting their company at a client appreciation golf tournament. The broker presents the customer with various products, i.e., hats, shirts, mugs, etc., that can be decorated using selected decorative technologies, i.e., embroidery, silk-screening, etc. For example, the customer may select a green polo shirt with the intention that it be decorated with company logo, graphic, name or other text or symbol be in black embroidery above the shirt pocket. The broker then facilitates the coordination among the customer, product vendor, and decorators to supply the requested customized product by the time required by the customer.  
         [0004]     Due to the large number of product manufacturers and decorators, the broker usually carries a selected product line from various manufacturers and utilizes a selected group of decorators to apply the necessary decoration to the product. The customer, therefore, is presented a limited group of products and options for decorating the product. Moreover, when choosing the product, the customer generally is looking at catalog images or samples that are blank - that is, undecorated or decorated with the design of another company. In these cases, the customer is left to imagine the appearance of the decorated product until after placing an order. Thus, typically, the customer usually does not see the final product until it arrives. Furthermore, until the product arrives, the customer must depend upon the broker to ensure the order is delivered on time and appears as was anticipated.  
         [0005]     Thus, it would be desirable for a client to be able to select a product and a decoration at their convenience over a network, for example, the Internet, and to view the appearance of the final product.  
       SUMMARY OF THE INVENTION  
       [0006]     According to the invention, there is provided a computer-implemented method to price a promotional product. A user interface is generated that facilitates input of specification information concerning the promotional product, the specification information including product information identifying a base product to be decorated and decoration manufacturing process information identifying a process whereby a decoration is applied to the base product. The specification information concerning the promotional product is received, and a price for the promotional product is automatically calculated utilizing the product information and the decoration manufacturing process information. The user interface further provides a visual representation of the promotional product having the decoration applied thereto and according to the decoration manufacturing process.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]     The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:  
         [0008]      FIG. 1  is a diagram of a system architecture according to one embodiment of the present invention;  
         [0009]      FIG. 2  is a flow diagram illustrating a product image processing according to one embodiment of the present invention;  
         [0010]      FIG. 3  is a flow diagram illustrating server side processes and client side processes utilized in generating a composite image according to one embodiment of the present invention;  
         [0011]      FIG. 4  is a Web interface presented on a browser that presents product details according to one embodiment of the present invention;  
         [0012]      FIG. 5  is illustrating a product image file structure according to one embodiment of the present invention;  
         [0013]      FIG. 6  is a Web interface presented on the browser that enables selection of a decorative image according to one embodiment of the present invention;  
         [0014]      FIG. 7  is a flow diagram illustrating a process of uploading the decorative image to a server according to one embodiment of the present invention;  
         [0015]      FIG. 8  is a Web interface presented on the browser that presents a default composite image according to one embodiment of the present invention;  
         [0016]      FIG. 9  is a Web interface presented on the browser that presents a composite image generated according to a warp ratio according to one embodiment of the present invention;  
         [0017]      FIG. 10  is a Web interface presented on the browser that enables positioning of the logo image relative to a product image according to one embodiment of the present invention;  
         [0018]      FIG. 11  is a flow diagram illustrating a process of relative positioning of the logo image;  
         [0019]      FIG. 12  is a Web interface presented on the browser that presents a quote according to one embodiment of the present invention;  
         [0020]      FIG. 13  is an example of a traditional client - server system upon which one embodiment of the present invention may be implemented.  
     
    
     DETAILED DESCRIPTION  
       [0021]     Although the present invention is described below by way of various embodiments that include specific structures and methods, embodiments that include alternative structures and methods may be employed without departing from the principles of the invention described herein.  
         [0022]     In general, embodiments described below feature a network-based application that prompts a user for a product image selection and a decorative image selection and displays a product image (e.g., a photograph) with the decorative image (e.g., a logo graphic or text graphic) placed on it. A preferred embodiment of the present invention features a network-based application for composite image generation. For the purposes of the present specification, the term “product image” shall be taken to include any image type and may depict any type, shape or construction of product. The term “decorative image” shall also be taken to include any image type, and may depict, for example, any logo, text, pattern, ornamentation, name, symbol, emblem or the like that may be applied to a product.  
         [0023]     In one embodiment, the present invention is implemented as a computer-based service that may be accessed through the Internet, for example, using a Web browser. The service provides an interface that allows a user to select a product and select and/or create decorative image information and view the composite image before ordering the promotional product. Internet-related technology As indicated above, one embodiment of the present invention provides an Internet-based implementation. Accordingly, some introduction to Internet-related technology is helpful in understanding the present invention. The Internet is a vast and expanding network of computers and other devices linked together by various telecommunications media, enabling the various components to exchange and share data. Sites (so-called Web sites), accessible through Internet, provide information about numerous corporations and products, as well as education, research, entertainment and services.  
         [0024]     A resource that is attached to the Internet is often referred to as a “host.” Examples of such resources include conventional computer systems that are made up of one or more processors, associated memory and other storage devices and peripherals, such as modems, networks interfaces and the like that allow for connection to the Internet or other networks. In most cases, the hosting resource may be embodied as hardware and/or software components of a server or other computer system that includes an interface module, which allows for some dialog with users and that may process information through the submission of Web forms completed by the user. Generally, such a server will be accessed through the Internet&#39;s graphical user interface, the World Wide Web, (e.g., via Web browsers) in the conventional fashion.  
         [0025]     In order to facilitate communications between hosts, each host has a numerical Internet Protocol (IP) address. The IP address of a hypothetical host computer might be 112.222.64.27.Each host also has a unique “fully qualified domain name.” In the case of the hypothetical host 112.222.64.27, the “fully qualified domain name” might be “computer.domain.com”, the three elements of which are the hostname (“computer”), a domain name (“domain”) and a top-level domain (“com”). A given host looks up the IP address of other hosts on the Internet through a system known as domain name service.  
         [0026]     As previously indicated, in order to access the Internet most users rely on computer programs known as “Web browsers.” Commercially available Web browsers include such well-known programs as Netscape&#39;s Navigator™ and Communicator™ and Microsoft&#39;s Internet Explorer™. If an Internet user desires to establish a connection with a Web page hosted at computer.domain.com, the Internet user might enter into a Web browser program the uniform resource locator (URL) “http://www.domain.com”. The first element of the URL is a transfer protocol, most commonly “http” standing for hypertext transfer protocol, but others include “mailto” for electronic mail, “ftp” for file transfer protocol, and “nntp” for network news transfer protocol. The remaining elements of this URL are an alias for the fully qualified domain name of the host.  
         [0027]     Once a URL is entered into the browser, the corresponding IP address is looked up in a process facilitated by a certain computer, called the top-level server. The top-level server matches the domain name to an IP address of a domain name server capable of directing the inquiry to the computer hosting the Web page. Thus, the domain name server ultimately matches an alphanumeric name such as www.domain.com with its numeric IP address 112.222.64.27.  
         [0028]     When a host receives an inquiry from the Internet, it returns the data in the file pointed to by the request to the computer making the inquiry. Such data may make up a Web page, which may include a textual message, sound, picture, or a combination of such elements. A user can move between Web pages through the use of hyperlinks, which are links from one site on the Internet to another.  
         [0029]     An integral component of the present invention is a computer server. Servers are computer programs that provide some service to other programs, called clients. A client  1305  and server  1310  of  FIG. 13  communicate by means of message passing often over a network  1300 , and use some protocol, a set of formal rules describing how to transmit data, to encode the client&#39;s requests and/or responses and the server&#39;s responses and/or requests. The server may run continually waiting for client&#39;s requests and/or responses to arrive or it may be invoked by some higher-level continually running server that controls a number of specific servers. Client-server communication is analogous to a customer (client) sending an order (request) on an order form to a supplier (server) dispatching the goods and an invoice (response). The order form and invoice are part of the protocol used to communicate in this case.  
         [0030]     Another component of the present invention is an alpha channel. An alpha channel is a portion of each pixel&#39;s data that is reserved for transparency information. Pixel is the smallest addressable unit on a display screen. Typically, the alpha channel is defined on a per object basis; different parts of the object have different levels of transparency depending on how much background needs to show through. In short, the alpha channel is a mask that specifies how the pixel&#39;s colors should be merged with another pixel when the two are overlaid, one on top of the other. Architecture With these concepts in mind, an embodiment of a system architecture of the present invention can be explored. A composite image generation service may be accessed through client machines  100  that run browser applications  105  to provide graphical interfaces for a user to effectively use the composite image generation service. The client machines  100  communicate with a server machine  120  via a network  110 , e.g. Internet. The server machine  120  includes such components of the present invention as a web server  130 , application sever  140  and database server  190 . It will be appreciated that these servers may run on other machines that are accessible by the server machine  120 . In an embodiment of the present invention, databases for storing customer information, product image information, decorative image information, etc. are also stored at the server machine  120 . However, it will be appreciated that databases may be stored at other machines and database data may be uploaded to the server machine  120  when necessary.  
         [0031]     The application server  140  contains visualization server  150  that includes compositing engine  160 , product image conversion engine  170  and artwork creation engine  180 . Compositing engine  160  generates a composite image based on a first image and a second image selected by a user. A first image is, for example, uploaded by a manufacturer of a product depicted in the first image and processed by the product image conversion engine  170  for storage in a photo archive database  240 .  
         [0032]     Of course, the first image may be obtained from the any number of sources. For example, an operator of a Web site that is it supported by the server machine  120  may employ an internal photographic (or art) department that is responsible for generating images of products that are supplied, together with pertinent product information, to the Web site operator by manufacturers of such products. These internally generated photographs may be stored in a photograph archive database  260 .  
         [0033]     The second image is modified by the artwork creation engine  180  according to the user&#39;s operations in the Web browser. These image conversion processes are described in detail below. The database server  190  that communicates to the application server  140  contains databases used for the composite image generation. As stated above the databases may be stored at another machine and accessed by the database server  190 . Furthermore, the database server  190  may run at another machine and communicate with the application server  140  via the network  110 . Methodology and User Interface With these concepts in mind, an embodiment of the present invention can be further explored. In order to produce a composite image, the first and the second images, for example product image and logo image respectively, must be processed for use by the compositing engine  160  of the visualization server  150 . While the below exemplary embodiment of the present invention is described as utilizing “logo images”, it will be appreciated that the present invention is not limited to the utilization of such logo images, and may employ a decorative image representing any decoration (e.g., a graphic, logo or text) that may be applied to product.  
         [0034]     Before a product image and a logo image can be utilized by the composite image generator, in one embodiment, each is formatted as a raster file. It will be appreciated that the processing of the photo image need not occur at the server and may take place at another location with the processed product images that may be, for example, uploaded to the server via a network or generated by a Web site operator that operates the server machine  120 .  
         [0035]     In one embodiment of the present invention, a product image file is submitted by a manufacturer. For example, the product manufacturer submits a high-resolution product photo file, such as a file of 1.3 mega-pixel resolution.  
         [0036]     In another embodiment of the present invention the manufacturer may submit a physical product sample at  210  of  FIG. 2  with the product information, including size, imprint area, etc., that is stored in product receiving database by the compositing engine  160 . Upon generation of photography instructions at  220 , the digital photograph of the product is taken at  230  by, for example, a Web site operator that operates the server machine  120 . The digital photograph is then uploaded to photo archive database  260 . The coded photo with imprint area instructions in the header of a product image file is stored in product database  270 .  
         [0037]     In one embodiment, the product image processing may be done utilizing a commercially available software package, such as Adobe Photoshop™ (available from Adobe Systems of San Jose, Calif.) on Windows™ operating system (available from Microsoft Corporation of Redmond, Washington). An alpha channel is defined using the selection tools in Photoshop™, and, at the same time, the diameter of the product is set and the warp ratio is automatically calculated based on the diameter of the product. The product photo export plug-in generates the product image file and product thumbnail file and saves it in the product image database, or saves it for uploading to the product image database by the product image conversion engine  170 . In one embodiment, the product image database may be part of a product database where the product images are associated with a product; however, in other embodiments it may be a separate product image database associated with a product database. In an embodiment where the product images are processed at another system, the processed files are uploaded to the product image database. The product image file may be a .png file containing a high-resolution product image. It will be appreciated that product image files in addition to or other than the above image files may also be generated by the product photo export plug-in.  
         [0038]     The next embodiment of the present invention is described with reference to a simplified flow diagram  FIG. 3 . At operation  301 , a customer on a client system  100  accesses the visualization server  150  via a network  110  (e.g., Internet), utilizing a network browser. The customer is presented on the browser with a Web interface (e.g., HTML document) communicated from the visualization server  150 , and prompting the customer to enter a user identification (userid) and password in order to use the composite image generation service. First time users are prompted to enter customer information, e.g. name, address, phone number, billing address, payment information and are assigned a userid and password that are user-modifiable. Upon entering a userid and a password, the information is sent to the visualization server  150 , where validation of the entered information is done against a customer database containing all the relevant customer information. Upon successful validation access to the composite image generation service is provided to the user at operation  302 .  
         [0039]     At operation  303  the user may browse a virtual product catalog or search for a specific product. If the user selects a search option then the visualization server  150 , upon getting a search request, conducts a search for a product against a product database that may be stored on the server machine  120  or on another machine that is accessible by the visualization server  150 . The user is presented with a list of all the products stored in the database or the list of products identified by the visualization server  150  as the result of a specific product search, along with thumbnail image of each product next to its name. Upon clicking on a thumbnail image the user may be presented with the enlarged photograph  402  of a product with the detailed description. An exemplary user interface  400  to present the enlarged photograph  402  is shown in  FIG. 4 . At this point  305  the user may select a product for design. A unique product identification number gets sent to the visualization server  150 , which allows the server to select the correct product photo with the specialized imprint instructions from the product database at operation  306 . In one embodiment of the invention each product image may be stored in a file  510  with the header  520  containing information about the image, such as size, imprint area, warp ratio, etc., as illustrated in  FIG. 5 . It will be appreciated that the selected product image is maintained as an image file accessible at the server machine  120  and may reside as an image file in a separate product image database or may reside as an image file in part of a larger database, such as the product database.  
         [0040]     After selecting a product for design, the user may select the second image, at operation  307 , which may be artwork, such as a logo. It is customary for businesses to have several versions of a company&#39;s logo, these versions can be stored in the customer database, and upon customer login may be transferred to a Web browser for display. An exemplary user interface  600  to present user&#39;s logos  610  is shown in  FIG. 6 . In an alternative, the user may upload a logo from the client to the visualization server  150  through operations illustrated in  FIG. 7 . At  701  upon user&#39;s selection of upload option the user is presented with a form for browsing files stored at the local computer. At operation  702  the user selects a file that may be a .jpg, .bmp, .eps, or .tif and uploads it to the visualization server  150  where the number of colors and transparent area are detected by the artwork creation engine  180 . The visualization server  150  displays the analyzed logo on the Web browser on a specialized background, at operation  703 . At this point  704 , the user may edit artwork transparency areas and submit changes to the visualization server  150 . The server then, at  705 , re-displays the logo with the changes on the Web browser. Upon satisfaction with the logo the user may save the logo and associated data in an artwork library database at the visualization server  150  at operation  308 .  
         [0041]     Returning to  FIG. 3 , when the user finalizes the product choice and logo selection the server communicates the composite image to the browser via the network, illustrated as operation  309  of  FIG. 3 , and the composite image of the product and the logo is displayed at the Web browser, where the logo is placed in a default position on the product, e.g. the logo will be placed in the center of a baseball cap as a default. An exemplary user interface  800  to present a default composite image  810  is shown in FIG.  8 . Necessary warping is applied by the composite engine  160  when generating default composite image. The product image file selected by the user contains warping information, e.g. warp ratio, in the header of the file. The composite engine  160  places the logo image on the product image according to the warp ratio. An exemplary user interface  900  to present a composite image  910  containing warping is shown in  FIG. 9 . The warping may be cylindrical or spherical, however, it will be appreciated that the warping ratio may be further defined to address other types of product image topography, e.g. undulating, cubist, etc.  
         [0042]     However, the user is not limited by the default composite image. In one embodiment, the user can selectively position a logo image relative to the product image by selecting a position on a positioning grid  1006  presented, at  1110  of  FIG. 11 , via a Web interface on the browser, as illustrated in exemplary user interface of  FIG. 10 . For example, the user may select block  1008  in positioning grid  1006  by navigating a cursor over block  1008  and clicking on it. The selecting of block  1008  generates positioning information that is communicated to the visualization server. Upon the user changing relative position of artwork and text, new placement coordinates are calculated by the visualization server  150  based on the grid selection, size of the artwork and text and imprint area at  1120  of  FIG. 11 . This method would be best described by the following example. Let the grid be  5  blocks by  5  blocks, as illustrated in  FIG. 10 . The imprint algorithm  165  of  FIG. 1  divides the imprint area by  5  and performs relative positioning upon the user selecting grid blocks. For example, if an imprint area is a  1 -inch rectangle then a change by one block is  2 / 10  of an inch move. The changes are being sent to the visualization server  150 , where the image  1004  is being re-composited and re-displayed on the screen at  1130  of  FIG. 11 .  
         [0043]     In addition, the visualization server  150  makes some assumptions about the size of the logo when generating the default composite image, and the user is given an option to modify it at operation  310 . The user may be presented with a drop down menu  1010 , where the user may select the desired size by selecting and clicking on a small, medium or large option. Upon receiving the request at operation  311  the visualization server  150  re-sizes the image, re-composites the image and re-displays it on the Web browser. For example, if the user wants the logo to be of a small size, the visualization server  150  may re-size the logo to a 33% of an original logo image.  
         [0044]      FIG. 10  illustrates an example of a Web interface presented on a browser that allows the user at the client side to select a manufacturing process filter to use in generating a composite image. In one embodiment, the user is presented a selection of filters via a Web interface presented on the browser. For example, the user may be presented a display of manufacturing techniques or processes in a selection box  1001 . For example, the selection box may display a drop down menu of options for selection by the user. The user may then select a filter  1002 , for example, by scrolling down the drop down box and clicking on a selected filter. The selection of the filter generates filtering information that is communicated to the visualization server  150 . This filtering information is used in generating the composite image so that the logo appears applied to the product image according to the selected filter, i.e., embroidery, silk-screening, engraving, etc. This technique is accomplished by the usage of filters that are well known in the art.  
         [0045]     Upon completion of operation  312  of  FIG. 3 , the design is stored in a project folder database at the visualization server  150  and final artwork for production is generated and stored in an order database at  313 . The user is then presented with a quotation form, illustrated in  FIG. 12 , where such information as quantity, color, decoration process, special instructions from the customer, etc. needs to be filled out at  314 . Upon the user completing the form the visualization server  150  calculates the price for the order at operation  315  of  FIG. 3 . An automatic and accurate price calculation is one of the goals of the present invention. The price of the promotional product with the imprinted logo depends on the methods of manufacturing. For example, if imprint is done by the method of embroidery then the number of stitches determines the price of the order. When the final design is finalized by the user and the visualization server  150  is ready to calculate the quote, the number of stitches is calculated. The number of stitches is directly proportional to the size of the logo and depends on the ratio of non-blank pixels to the imprint area. The visualization server  150  measures the number of pixels occupied by the artwork and calculates this area in square inches, then multiplies the area by the average number of stitches per square inch that is stored in the header of the product image file. 
 
(Logo area in square inches)×(Average number of stitches per square inch) 
 
 This calculation technique allows the user to rely on pricing before placing the order, rather than waiting for the embroider to apply the design and then determine the number of stitches used in making the final design. For example, if an imprint area is 200 pixels and it is 5 inches wide, and the logo is 100 pixels, then two and a half inches is going to be multiplied by the average number of stitches per square inch. In another embodiment of the present invention, the average number of stitches per square inch can be user-modified. The only change that needs to be made to the above calculation process is that instead of retrieving the average number of stitches from the header of the product image file, the value is sent to the visualization server  150  upon the user entering it at the Web browser. Based on the calculated or user-modified number of stitches per square inch and an embroidery price provided by various embroiders the fixed price quote may be calculated. 
 
         [0046]     The user is then presented with the fixed price quote and a photo sample according to the information stored in the databases (i.e. product database, order database). The photo sample addresses the need for a pre-production proof feature that is well known in the industry. Instead of waiting for a manufacturer to complete a sample of a promotional product, the user can view the final product on the Web browser in the comfort of his/her own office.  
         [0047]     In one embodiment of the present invention, the photo sample image may be generated to include filtering so that the composite image simulates the appearance of the logo applied to the product according to a selected manufacturing process or technology. In another embodiment of the present invention, the user may zoom in and out of the photo sample to view the image in greater detail. This feature is implemented using the techniques well known in the art.  
         [0048]     In one embodiment of the present invention, the user may choose to send a finalized image for approval to a supervisor. Upon selection of this option, the visualization server  150  compiles an e-mail message and sends it to a specified e-mail address with an image of the final design, or, in the alternative, with the URL of the Web site where the final design image may be viewed.  
         [0049]     Upon accepting the fixed price quote, operation  316  of  FIG. 3 , the order details are written into the order database on the visualization server  150  at operation  317 . The request for shipping and billing information is being displayed on the Web browser for the user to fill out. In the alternative, the customer shipping and billing information stored in the customer database may be displayed on the Web browser for validation. When shipping and billing information is validated at operation  318  or entered into the order database at operation  319 , the payment method is requested. Upon entering of the payment method at  320  and validation of it at  321 , the transaction with the user is complete at operation  322 . At this point the order, shipping and billing information is formatted and sent to the supplier. In one embodiment of the present invention all the necessary information about the customer order is formatted into an email message form and sent to a supplier.  
         [0050]     In the foregoing specification the present invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made to the specific exemplary embodiments without departing from the broader spirit and scope of the invention as set forth in the appended claims. Accordingly, the specification and drawings are to be regards illustrative rather than a restrictive sense.