WO2009151413A1 - Système et procédé de modification et de distribution de données d'image graphiques - Google Patents
Système et procédé de modification et de distribution de données d'image graphiques Download PDFInfo
- Publication number
- WO2009151413A1 WO2009151413A1 PCT/US2008/006684 US2008006684W WO2009151413A1 WO 2009151413 A1 WO2009151413 A1 WO 2009151413A1 US 2008006684 W US2008006684 W US 2008006684W WO 2009151413 A1 WO2009151413 A1 WO 2009151413A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- image
- resolution
- images
- file
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/106—Enforcing content protection by specific content processing
- G06F21/1063—Personalisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Definitions
- This invention relates to systems and methods for modifying and distributing graphical image data, and, more particularly, to systems in which low-resolution image data is modified to subsequently perform similar modifications to corresponding high-resolution image data, and to systems providing for the local manipulation of low-resolution image data with subsequent remote manipulation of high-resolution image data.
- Open Prepress Interface is a collection of PostScript language comment conventions, which describe the placement and size of images, as well as cropping information and any adjustments to other attributes of the images, that uses low- resolution-placeholders for large images in order to speed layout and proofing and to conserve disk space when working in a page layout program such as Adobe® PageMaker® or Adobe InDesign®.
- an OPI workflow can use low or medium resolution TIFF images for page layout and proofing in an application like InDesign, and then use a prepress system or OPI server to substitute high-resolution versions of the images when the final print output is generated.
- OPI helps desktop prepress software and high-end prepress systems to minimize network traffic and image storage requirements.
- FIG. 1 is a data flow chart of a first conventional prepress page layout process 10 including the OPI interface.
- Input data for this process in the form of high-resolution input data files 12, is stored in an input database 14, having been transmitted from input sources 16, such as a scanner 18, a digital camera 20, a graphics design program 22, such as Adobe® Illustrator®, or an image editor program 24, such as Adobe® Photoshop®.
- input sources 16 such as a scanner 18, a digital camera 20, a graphics design program 22, such as Adobe® Illustrator®, or an image editor program 24, such as Adobe® Photoshop®.
- a page layout program 30, such as Adobe® InDesign® is used to layout one or more pages to be printed, with the page(s) including images from the high-resolution input data files 12, selected by the user in step 32 from the files stored within the input database 14.
- the files stored within the input database 14 are high-resolution files, which are needed to provide a desired level of image quality for the printing process.
- low-resolution data files 36 representing the images of the high-resolution images of input files 12 are generated, according to the OPI process, for use as placeholders in the page layout process, since the high-resolution image is not needed for placement and manipulation.
- the low-resolution files 36 are TIFF (Tagged Image File Format) that are versions of TIFF files forming the high-resolution input files within input files 12.
- step 38 the user manipulates images produced and displayed by the page layout program 30, using the low-resolution image data files 36. These manipulations, which include, for example, a placing the images on the page(s) being laid out, moving, and cropping the images are performed using tools of the page layout program 30.
- step 40 the page layout program 30 generates OPI comments, including the file name and position of each image placed on the page(s) being laid out, cropping information, and any other changes made to the data describing each image by the user in step 38.
- step 42 a PostScript® file 44 is generated, including the comments generated in step 40.
- the user can also add text information.
- the step 42 may also include the incorporation of text data into the PostScript file 44 from a text file 46, which is generated by user input 48 through the keyboard (not shown) of the system running the page layout program 30 and/or by data imported from a word processor program 50, such as Microsoft® Word®. Since this PostScript file 44 generally does not include any image data it is typically a small file.
- the PostScript file 44 is stored within a database 52 to be loaded into an OPI server 56 when the server 56 becomes available. Then, when the OPI server 56 receives the PostScript file 44, the OPI comments are extracted, and the file names associated with the images that are used in the page(s) to be printed are used to define server selections 58 from high-resolution files stored within the image database 14. The selected high-resolution files 60 are then transmitted to the OPI server 56 where the OPI layout information is extracted and used to find high-resolution image data files 60, which are then sent to a PostScipt RIP 62 (Raster Image Processor) associated with the. printer 64. The PostScript RIP 62 then applies information derived from the 0[I comments describing the cropping, location, and other modifications made to the images to place and modify the images then printed by the printer 64.
- PostScipt RIP 62 Raster Image Processor
- FIG. 2 is a data flow chart of a second conventional prepress page layout process 70, with input data for the process 70 being stored in the form of Encapsulated PostScript (EPS) files 72 stored within an input database 74.
- EPS Encapsulated PostScript
- Each of the EPS files 72 includes both high-resolution image data 76 in the PostScript format, which is used for printing, and low-resolution data 78, which is used for display purposes, and, in the case of this layout process 70, for image placement.
- the low- resolution image data 78 consists of bitmap data, typically in a TIFF format, while the high- resolution image data 76 either of bitmap image data or of vector image data in a format defined within PostScript specifications.
- Input data files may be provided by a number of data sources 80, which are similar to the input devices uses in the process of FIG. 1. However, it is noted that, in the case of the process 70 of FIG. 2, an EPS file must be produced. In the example of FIG. 2, it is assumed that the image editor 82 and the graphics design program 84 each have a capability for producing EPS files, with these data sources 82, 84 being, for example, Adobe Photoshop and Adobe Illustrator, respectively.
- the output files from the scanner 86 and the digital camera 88 are provided as inputs alternately to a data reformatting program 90, such as Adobe® Acrobat®, which produces EPS files, or to the image editor program 82, which can be used to enhance the images from the scanner 86 and the digital camera 88 before producing EPS files as outputs.
- a data reformatting program 90 such as Adobe® Acrobat®
- the image editor program 82 which can be used to enhance the images from the scanner 86 and the digital camera 88 before producing EPS files as outputs.
- the low-resolution image data files 78 within EPS files 72 selected by the user in step 94 from the files stored within the EPS file database 74, are manipulated by the user in step 96, with the manipulations including, for example, placing the images in particular locations on the pages being laid out and resizing and cropping the images.
- OPI commands corresponding to the user manipulations of step 96 are generated.
- the high-resolution data portions 76 of the EPS files 72 are replaced with the OPI commands 102 generated in step 98, forming output EPS files 104, which are stored in an output database 106.
- the output EPS files 104 additionally include information locating the corresponding EPS files 72 stored within the input database 74.
- a text file 108 is generated within the page layout program 92, either using input data provided by the user in step 110 through the keyboard (not shown) of the computer system executing the page layout program 96 or through the importation of text data from a word processor 1 12.
- output EPS files 104 are transmitted to the OPI server 116. Then, the file names associated with the images that are used in the page(s) to be printed are used to define server selections 118 from the input EPS files 72 stored within the input database 74. The selected EPS files 120 are then transmitted to the OPI server 116 where the OPI layout information from the output EPS files 104 is sent to a PostScipt RIP 122 (Raster Image Processor) associated with a printer 124. The PostScript RIP 124 then applies information derived from the OPI comments describing the cropping, location, and other modifications made to the images to place and modify the images then printed by the printer 124.
- PostScipt RIP 122 Raster Image Processor
- U.S. Pat. No. 7,069,314 describes the use of an OPI daemon within a server forming an OPI interface, with the daemon monitoring OPI configuration folders, to which the user has copied an authentication file giving instructions for the folder to be managed as an OPI folder in which the OPI functions can be utilized.
- the daemon registers the folder in an OPI database and performs a process for issuing a folder ID so that the folder is managed as the OPI folder, This method precludes a need to develop exclusive-use software for each type of clients and to install exclusive-use software in each client.
- the EPS file format which is used as described above in reference to FIG. 2, is not commonly supported outside high-volume publishing.
- the EPS file format is not supported major web browsers and by many application programs used in the generation and printing of documents.
- Such a site includes a number of individual galleries, each of which provides images from a single source, with a single user having uploaded image data in his possession to a host company hosting the web sight. The host company then creates a web gallery or web page using the image data. All images are then shared in an active way, with the individual who has been invited to view the images needing to go on line, logging in to the hosting web site and selecting the images to be viewed using a web browser (like Microsoft's IE or Mozilla Firefox)
- a web browser like Microsoft's IE or Mozilla Firefox
- U.S. Pat. No. 6,964,025 describes a tool that enables a user to form his own web gallery site, eliminating a need to submit images to one of the commercial web gallery sites.
- the tool enables a user to easily and automatically create a photo gallery of thumbnail images on a Web page.
- a user selects a group of original images, and the tool automatically produces a corresponding group of thumbnail images on the Web page, with hyperlinks to the corresponding original images.
- Four predefined templates arc included, each defining a different format for the thumbnail images including a vertically oriented gallery, a horizontally oriented gallery, a slide show gallery, and a montage gallery. Captions and descriptive text can also be entered and displayed for the thumbnail images in most of the style galleries.
- An edit function enables a user to add or delete images to existing galleries and to automatically modify the appearance of a photo gallery by selecting and applying a different template.
- Web gallery sites operate according to the conventional client/server model of the World Wide Web, with client systems using browsers to reach the web site, with data being stored at the server of the web site, and with downloading occurring from the server to the client at the client's request.
- P2P peer-to-peer
- data is transferred from the system of one user to the system of another used, without the data being sent through, or stored within, a server system at a web site.
- a server is used with the P2P model, it is used as a name server to provide information enabling the user systems to get together to share information or services through direct communications with one another over the network. For example, when a user computer contacts the name server with a request for a certain type of data, the name server provides the addresses of one or more user systems that have indicated they have the data available.
- a P2P network can be established without using a server, with software on each of the user systems being provided to enable the system to contact each of the other systems in the network to share data or services.
- the user systems provide an indication of the files or services they have available, and when particular data or a particular service is needed, the system needing the data or services polls the other systems that have indicated that the data or service is available.
- a simple example of the P2P model which is nevertheless useful for delivering photographic image data, is the use of email communications, with the data being included as an attachment.
- US 2006/0136551 Al describes a method and system for serving content from a peer server in a photosharing peer-to-peer network is disclosed, wherein the peer server stores a web album and at least one associated digital image. Aspects of the invention include prior to the peer server going offline, the peer server initiates a synchronization with a proxy server and a guest content server in which the web page a web page descriptor defining the web album is copied from the peer server to the guest content server, and the image associated with the web album is copied from the peer server to the proxy server.
- the request is fulfilled by forwarding the web page from the guest content server to the requesting computer, and forwarding the image associated with a web page from the proxy server to the requesting computer, thereby successfully serving content from the peer server even when the peer server is off-line.
- U.S. Pat. Appl. Pub. No. 2004/0215625 Al describes a method and system for distributing affiliate images in a peer-to-peer (P2P) photosharing network comprising multiple peer nodes and a peer server, wherein each of the peer nodes execute a peer application that allows the peer nodes to communicate with each other and with the peer server over a network.
- P2P peer-to-peer
- Aspects of the present invention include customizing the peer application for the affiliate by branding the peer application with brand identifiers of the affiliate and by bundling low-resolution images of the affiliate with the customized peer application. Thereafter, the customized peer application is distributed directly to the fan base of the corresponding affiliate.
- a user may place an order for merchandise imprinted with at least one of the low- resolution images.
- any low-resolution image in the order is replaced with its corresponding high-resolution image for final printing.
- U.S. Pat. Appl. Pub. No. 2003/0069801 Al describes a method of ordering a digital image service over a communication network.
- the method includes the steps of: (a) at a first image system, viewing and selecting at least one digital image; (b) selecting the digital image service to be ordered and generating an image order request comprised of the at least one digital image and order information; (c) selecting a second image system, remote from the first image system, for providing the digital image service; (d) transmitting the image order request over the communication network from the first image system to the second image system; (e) at the second image system, accessing the at least one digital image and order information from the image order request; and (f) providing the requested digital image service whereby the at least one digital image is incorporated in an imaging product, processed to produce an edited digital image, stored, retrieved, or transmitted over the communication network.
- the system and method of the present invention provides a developer, third party equipment, storage providers and/or retailer, with the ability to network connectivity between image systems which provide image capture, process, display and storage capability and image systems which provide image services (for example, fulfilling an image order request) by employing a common software interface system.
- Image services may range from imaging products (i.e., digital photographic hard copy prints, digital media containing images, embedded image software products and other image-related products) to imaging services like image storage and retrieval, image processing and image transmission.
- U.S. Pat. No. 7,068,309 B2 describes a system and method for providing a peer-to-peer photosharing environment.
- the system includes: manual and automatic photo annotation at the client; periodic client/server synchronization; an index of client photos on a central server or a photo database that is resident on the central server, which is updated by the client-server synchronization function; end-user search functionality to search the centralized index or photo database; and transmission of the relevant photos to the client via an on-line image cache.
- one client's new photos are automatically displayed on another client's computer (e.g., via screen saver or another mechanism).
- U.S. Pat. No. 7,065,249 B2 describes a system and method for editing images. Each image editing operation is described by a few parameters. Multiple users can share image processing changes by sharing a few set of parameters instead of the whole bitmaps of the images.
- An Editing List describes the parameters defining the image changes. The size of Editing List is very small and is ideal for network transmission and collaboration. Image Editing Lists are independent of the images themselves. By decoupling the Image Editing Lists from the original bitmap images, other advantages are obtained. For instance, the same Editing List can be applied to other images and also to multiple images at the same time. Rendering of the modified images can be performed at a later time and only when necessary. In case of collaborative editing, the transmission time is reduced drastically.
- U.S. Pat. Appl. Pub. No. 2002/0063901 Aldescribes a method of editing, storing and using digital photographic images for the purpose of producing finished collections of photographs.
- digitized photographic images are first combined with editing information, and that combination is utilized by the originating photographer to prepare the finished photographs.
- the originating photographer also provides instructions for further editing, collating, masking and grouping the photographs for presentation and sale over a network, such as the Internet.
- Another network model is the broadcast model, in which a data source pushes data along the network, with the user merely deciding when to connect or disconnect from the network.
- the various types of data are transmitted in the form of programs that are organized according to a schedule, so that users can know when to access the data to see the type of material they want to view.
- Conventional television whether broadcast over the air or transmitted through a cable system, is an example of the broadcast model.
- This model is increasingly being used to transmit programs, similar in content to television programs, from web sites over the Internet.
- a system for distributing and modifying graphical images among remote locations.
- the system comprises a plurality of client systems, a network connected to each client system within the plurality of client systems, and a web server additionally connected to the network.
- the web server includes data and instruction storage and a microprocessor programmed to perform a method comprising receiving a call from a client system within the plurality of client systems acting as an administrator, receiving and storing data from the administrator defining a plurality of the client systems to be included within a cluster, transmitting a source suite program to a plurality of the client systems included within the cluster, receiving and storing digital data representing graphical images from a plurality of client systems within the cluster, and forming a digital data feed to at least one client system within the cluster for display of the graphical images described therein.
- the source suite program includes instructions for generating digital data describing graphical images and for transmitting the digital data to the server over the network,
- the system may additionally comprise a content provider computer system and a content management computer system
- the content provider computer system which is connected to the network, has access to a content data structure storing high-resolution image data representing images, transmits low-resolution image data representing a first plurality of images on the network for remote storage, receiving a request from the network to provide high-resolution image data representing a second plurality of images, and transmits the high-resolution image data on the network for remote printing.
- the content management server system which is also connected to the network, has access to a virtual OPI database, receives the low-resolution image data transmitted by the content provides computer system, storing the low-resolution image data in the virtual OPI database, transmits the request to provide high-resolution image data to the content provider computer system, receives the high-resolution image data from the content provider computer system, and generates a printable output file, includes the high resolution image data received from the content provider computer system.
- the system may additionally comprise a bridge server computer system, connected to the network, comprising data and instruction storage and a processor.
- the processor is programmed to receive a computer readable input file including data describing at least one image; extract image data describing the at least one image from the computer readable input file; generate and store a replacement package data structure including information identifying and locating the at least one image; generate extracted image data describing the at least one image to be manipulated to enhance the image; generate a printable output file by placing at least one image generated from a corrected version of the image data according to the replacement data structure; and transfer the printable output file to a printer for printing.
- the system may additionally comprise a page layout computer system, connected to the network, including a processor programmed to perform a method for preparing prepress image data.
- the method comprises receiving a user selection of a plurality of images; loading a high-resolution input data file for each image within the plurality of images, wherein each of the high-resolution data files includes an image data section storing data describing a high-resolution version of the image; receiving user inputs selecting images within the plurality of images within a document, and displaying the images selected, derived from the data describing a low-resolution version of each images, generating a low-resolution input data file corresponding to each of the high-resolution data files, wherein each of the low-resolution data files includes an image data section, storing data describing a low-resolution version of the image, and a metadata section for storing non-image data; receiving user inputs modifying the images displayed on a display of the document, modifying displayed versions of the images according to the user inputs modifying the images,
- FIG. 1 is a flow chart showing a flow of data within a first version of a prior-art OPI process
- FIG. 2 is a flow chart showing a flow of data within a second version of a prior-art OPI process
- FIG. 3 is a schematic view of an overall system for creating, manipulating, distributing, and printing digital image data in accordance with the present invention
- FIG. 4 is a flow chart showing a flow of data through a page layout system within the system of FIG. 3;
- FIG. 5 is a pictographic view of a data structure within a low-resolution data file generated within the page layout system of FIG. 4;
- FIG. 6 is a schematic view of a first example of a system performing a process through the page layout system of FIG. 4;
- FIG. 7 is a schematic view of a second example of a system performing the process through the page layout system of FIG. 4;
- FIG. 8 is a flow chart showing processes occurring within a page layout system of FIG.
- FIG. 9 is a flow chart showing processes occurring within a substitution server within the system of FIG. 3;
- FIG. 10 is a block diagram of a distributed image distribution, image manipulation, and printing system formed in accordance with an embodiment of the invention.
- FIG. 11 is a data flowchart of the system of FIG. 1 1 ;
- FIG. 12 is a flowchart showing process steps occurring during execution of a content submission application within a content provider computer system in the system of FIG. 10;
- FIG. 13 is a display view of an initial screen displayed during the execution of the content submission application of FIG. 11;
- FIG. 14 is a display view of a selection screen displayed during the execution of the content submission application of FIG. 13;
- FIG. 15 is a flowchart showing process steps occurring during execution of a content management application within a content management server in the system of FIG. 10, with FIG. 15 including an upper portion, indicated as FIG. 15A, a central portion, indicated as FIG. 15B, and a lower portion, indicated as FIG. 16C;
- FIG. 16 is a display view of a menu screen displayed during the execution of the content management application of FIG. 15;
- FIG. 17 is a flowchart showing process steps occurring during execution of a substitution application in a substitution server within the system of FIG. 11.
- FIG. 18 is a schematic view of a system built in accordance with the invention to include clusters of active and passive devices.
- FIG. 19 is a schematic view of an active device within the system of FIG. 18;
- FIG. 20 is a flow chart of processes occurring within an overall method performed within the system of FIG. 18;
- FIG. 21 is flow chart showing a first example of data flow within the system of FIG. 18 between devices and a server therein;
- FIG. 22 is flow chart showing a second example of data flow within the system of FIG. 18 between devices and a server therein;
- FIG. 23 is flow chart showing a third example of data flow within the system of FIG. 18 between devices and a server therein;
- FIG. 24 is a flow chart showing processes occurring during the execution of a source suite program within the active device of FIG. 19;
- FIG. 25 is a display screen view of a main menu dialog box displayed during the execution of the program of FIG. 24;
- FIG. 26 is a display screen view of a create menu dialog box displayed during the execution of a subroutine of the program of FIG. 24;
- FIG. 27 is a flow chart showing processes occurring during the execution of the subroutine of the program of FIG. 24,
- FIG. 28 is a schematic view of a server within the system of FIG. 18;
- FIG. 29 is a display screen dialog box displayed by the browser of a client system contacting the server of FIG. 28 over an administrative link thereto;
- FIG. 30 is a first display screen dialog box displayed by the browser of a client system following selection of a command button in the dialog box of FIG. 29.
- FIG. 31 is a second display screen dialog box displayed by the browser of a client system following selection of another command button in the dialog box of FIG. 29;
- FIG. 32 is a flow chart showing processes occurring during execution of an administrative subroutine in the server of FIG. 28;
- FIG. 33 is a flow chart showing processes occurring during execution of a download subroutine in the server of FIG. 28;
- FIG. 34 is a flow chart showing processes occurring during execution of a create content subroutine in the server of FIG. 28.
- FIG. 35 is a flow chart showing processes occurring during execution of a distribute content subroutine in the server of FIG. 28.
- FIG. 36 is flow chart showing a flow of data through a bridge server within the system of FIG. 3;
- FIG. 37 is a block diagram of the bridge server FIG. 36;
- FIG. 38 is flow chart of process steps occurring in a bridge server computer system within the image enhancement and printing system of FIG. 3 during execution of a bridge server routine therein, with FIG. 38 including an upper portion, indicated as FIG. 38A, and a lower portion, indicated as FIG. 38B;
- FIG. 39 is a flow chart of process steps occurring in a determination of whether image enhancement is needed within the process steps of FIG. 38.
- FIG. 40 is a block diagram of an alternate version of the bridge server of FIG. 36.
- FIG. 3 is a schematic view of an overall system 125 for creating, manipulating, distributing, and printing digital image data in accordance with the present invention.
- the system 125 includes a number of local subsystems 126 connected with one another over a LAN 127 and a number of remote subsystems 128 connected with the subsystems 126 over a network 129, such as the Internet and a web server 130, which is additionally connected to the LAN 127.
- processes of selecting images within a document and manipulating the images are carried out within the remote subsystems 128, using low-resolution data, with the results of such operations being transmitted over the internet 130, so that the placement, manipulation, and printing of corresponding high-resolution images can occur within the local subsystems 126.
- the remote subsystems 128, using low-resolution data with the results of such operations being transmitted over the internet 130, so that the placement, manipulation, and printing of corresponding high-resolution images can occur within the local subsystems 126.
- local input sources 131 are used to generate and manipulate digital image data that is used and printed within the local subsystems 126.
- data generated within the local input sources 131 is transformed into low-resolution image data within a page layout system 132, with the manipulation and placement of images being performed using the low-resolution image data within the page layout program.
- high resolution image data is substituted for corresponding low-resolution image data within a substitution server 133 before printing in a printer 134, accessed through a print server 135.
- a content server 136 provides content from a content database 137 in the form of high-resolution data files and low-resolution data files that are stored in a database 138 that is accessed through a file server 139 under control of a content management server 140.
- Information describing images stored within the data files database 138 and available for use by various remote systems 128 are distributed, for example, as thumbnails shown in web pages available through a web server 141.
- a remote image editor 143 selects the desired images from these thumbnails and then manipulates and places low-resolution data representing the images so that corresponding high-resolution images are substituted for the low-resolutions images within the substitution server 133 before printing in the printer 134.
- image data is automatically manipulated by an image enhancement system 149 under control of a bridge server 145.
- image data may be generated in the local input sources 131 or the remote subsystems 128, and may additionally be manipulated and placed within the page layout system 132.
- Certain of the remote subsystems 128 may be formed into clusters 145 under the control of the web server 141 to facilitate the creation and distribution of image data over the network 130.
- FIG. 4 is a flow chart showing a data flow through the page layout system 132 within the overall system 126 of FIG. 3.
- Input data for this process in the form of high-resolution input data files 148, is stored in an input database 149, having been transmitted from local input sources 131, such as a scanner 150, a digital camera 151, a graphics design program 152, such as Adobe® Illustrator®, or an image editor program 154, such as Adobe® Photoshop®.
- a page layout program 160 executing within the page layout system 137 and configured in accordance with the present invention, is used to layout one or more pages to be printed, with the page(s) including images from the high-resolution input data files 148, selected by the user in step 162 from the files stored within the input database 149.
- the files stored within the input database 149 are high-resolution files, which are needed to provide a desired level of image quality for the printing process.
- low-resolution data files 166 representing the images of the high- resolution images of input files 148 are generated, according to the present invention, for use as placeholders in the page layout process, since the high-resolution image is not needed for placement and manipulation.
- information identifying the selected high-resolution input data files 148 is written to a data structure 167 to make it easier to find the high-resolution data files 148 within the input database 149 at a later time and, when necessary, to determine the payments, such as royalties, that will be due.
- the high-resolution image data files 148 are written in the JPEG file format, which are converted into low-resolution data files also written in the JPEG file format 166 in step 164.
- the high-resolution image data files 148 may be data files written in the TIFF file format, which are converted into low-resolution data files in step 164.
- the JPEG and TIFF file formats are widely recognized by various applications used in the production and printing of documents and are particularly configured to allow the transfer of data from one such application to another.
- the JPEG and TIFF file formats provide for a substantial data compression, which complements the reduction in file size provided by the generation of Iow-resoluti8on image data in step 164.
- both the JPEG and TIFF file formats provide sufficient room for storing metadata related to the image for which image data is stored in a file, as required for operation in accordance with the present invention.
- the low-resolution image data describes an image having a resolution that is sufficient for display and manipulation but insufficient for high-quality printing.
- the high-resolution image data describes an image having a resolution that is sufficient for high-quality printing.
- the low-resolution data provides a resolution less than 100 lines per inch, while the high-resolution data provides a resolution over 200 lines per inch.
- FIG. 5 is a pictographic view of a data structure 167 within the low-resolution image data file 166, showing a data section 168 provided for storing image data and a data section 170 provided for storing megadata.
- Conventional metadata which is embedded within digital image files, is used to provide non-image data describing the digital image.
- conventional metadata includes data automatically generated during the process of creating the digital image file, such as data describing the file properties of the image data, stored within a first portion 172 of the metadata section 170, and data, stored within the second portion 174 of the metadata section 170, describing the input device, such as a digital camera or scanner, producing the original data.
- This input device data is filed according to an Exif (Exchangeable Image File Format) specification, which has been developed to provide digital camera manufacturers with a place to store data identifying the type of camera or other device used to produce the image, the camera settings, and the date and time a digital photograph was taken.
- the conventional metadata also includes ITPC (International Press Telecommunications Council) metadata, stored within a third portion 176 of the metadata section 170, which can be edited by the user to describe information useful in describing images to be sold, such a copyright data, conditions of use, keywords associated with the image, and a caption for the image.
- the conventional metadata can also be extended according to the XMP (extensible Metadata Platform) standard.
- step 178 the user manipulates images produced and displayed by the page layout program 160, using the low-resolution image data files 166. These manipulations, which include, for example, a placing the images on the page(s) being laid out and moving, and cropping the images are performed using tools of the page layout program 160.
- step 180 the page layout program 160 generates commands, including the file name and position of each image placed on the page(s) being laid out, cropping information, and any other changes made to the data describing each image by the user in step 178.
- step 182 the commands generated in step 180 are embedded in the metadata section 170 of the low-resolution image data 166 to form low-resolution output files 184.
- the commands 186 generated in step 180 may be embedded within the portion 174 of the metadata section 170, or which is conventionally reserved, or otherwise used, for storing Exif information, with the metadata tags provided for storing Exif information being used to store individual commands 116, without adding additional metadata tags.
- the output data file 184 is only used to carry image modification information between the page layout program 160 and the substitution server 196, a failure to provide the conventional metadata in the data structure 167 should not present a problem.
- a text file 188 is generated within the page layout program 160, either using input data provided by the user in step 190 through the keyboard (not shown) of the computer system executing the page layout program 160 or through the importation of text data from a word processor 192.
- the output file 184 is stored within a database 194 to be loaded into a substitution server 133 when the server 133 becomes available. Then, when the substitution server 133 receives the output file 184, the commands 186 are extracted from the embedded metadata, and the file names associated with the images that are used in the page(s) to be printed are used to define server selections 198 from high-resolution files stored within the input database 149. The selected high- resolution files 200 are then transmitted to the substitution server 133 where layout information from the commands 186 is used to modify images derived from the selected high-resolution data files 198 and to place these images within data representing the files to be printed.
- the substitution server 133 generates these files to be printed in a format, such as a JPEG or TIFF format, that can be read by the printer 134, to which the files are then transmitted.
- a format such as a JPEG or TIFF format
- the input database 149 and the output database 194 may be part of the data files database 138 of FIG. 3.
- FIG. 6 is schematic view of a system 220 forming a first example of a system performing a process through the page layout system 132 of FIG. 4, to which reference is additionally made.
- the system 220 includes an image editing system 222, connected to the scanner 150 and the digital camera 151, and executing an image editor program; a graphics design computer system 224, executing the graphics design program 152; a word processing system 226, executing the word processing program 152, the page layout computer system 132 executing the page layout program 160; the substitution server system 133, and the printer 134.
- the systems 222, 224, 226, 132,135 are interconnected by a LAN 230 (local area network) for the transmission of data.
- FIG. LAN 230 local area network
- the system 240 includes a single computer system 242 including data and instruction storage 244 storing an image editor program 245, a graphics design program 246, the page layout program 160, a print server program 247, and a word processor program 248.
- the data and instruction storage 244 also stores data proOduced during the execution of one of the programs 245, 246. 160, 247, 248 for later use another of the application programs.
- the computer system 242 additionally includes a processor 250 executing instructions of the various programs stored within data and instruction storage 244 and reading and writing data stored therein.
- Program instructions and data from a computer readable medium 252 may be read through a drive device 254 connected to a bus 256 within the computer system through an adapter circuit 258, Additionally, program instructions and data from a data signal transmitted along a LAN 260 may be received through a network interface circuit 262 for storage within data and instruction storage 244. Data and instruction storage 244 is considered to be a computer readable medium.
- the computer system 242 additionally includes a display adapter 262, through which a display device 264 is attached to the bus 256, and a USB adapter 268, through which a USB hub 270 is attached to the bus 256.
- the printer 202, and input devices 270, including a keyboard 275, a mouse 276, the scanner 86, and the digital camera 88, are attached to the USB hub 270.
- FIG. 8 which includes an upper portion, indicated as FIG. 8A, and a lower portion, indicated as FIG. 8B, is a flow chart showing processes occurring within the page layout program 160.
- the program 160 enters a loop 292, waiting for the user to make a selection. Within the loop 292, if it is determined in step 294 that the user has selected to start forming a new document, a blank document is displayed in step 296, with data defining the document being stored in step 298. Then, the program 160 returns to the loop 292. If it is determined in step 300 that the user has selected an image to place in the document, the selected image is displayed in step 302.
- step 304 If it is then determined in step 304 that the user has placed the image on the document in a particular location, for example by selecting the location with a mouse, the image is moved into the selected location in step 306. Then, the program 160 returns to step 298 to store data describing the selected location.
- the page layout program 160 preferably displays a number of tools that can be used to manipulate an image being displayed. For example, a cropping tool may be used to remove portions of the image, and a resizing tool may be used to change the size of the image. Other tools may be provided for other types of image manipulation, such as changing the tone and contrast of the image.
- step 308 When one of these tools is selected by the user, it is determined in step 308 that the user has selected a tool for manipulation. As the program 160 then receives user selections corresponding to the use of the tool, the image is correspondingly manipulated on the display in step 310. When it is then determined in step 312 that the user has ended the manipulation of an image using a particular, for example by releasing a mouse button that is held down during the manipulation process, data describing the manipulations that have been made is stored in step 298.
- step 314 If it is determined in step 314 that the user has selected a tool to add text to the document being prepared, a further determination is made in step 316 of whether the user has selected to import a text file generated, for example, using a word processor. If he then selects a text file to import, the text file is imported in step 318. Otherwise, the text is generated from keyboard data accepted in step 320. When it is then determined that the user has ended the entry of text in step 322, data representing the text that has been added is stored in step 298.
- the user can repeatedly use various tools of the program 160 to place multiple images in a document including one or more pages.
- the user can, for example, return to previously selected and manipulated images to move the images around in the document and to make further manipulations.
- the user can then select to save the document.
- all of the data that has been saved regarding the document in step 298 is read in step 326.
- the program 160 goes to the data read in step 326 corresponding to the first image.
- step 332 the commands for placement and manipulation of the first image are recorded as metadata in the data file of the first image, and information identifying the high-resolution file associated with the first image is stored within the data structure 167.
- step 334 a determination is made of whether the image for which metadata has just been recorded is the last image. If it is not, the program 160 goes to the data for the next image in step 336 and returns to step 330 to repeat this process until it has been performed on the data of each image, as determined in step 334. Then, the document, with all the commands having been added as metadata to each the data for each image, is saved in step 338.
- step 340 When it is determined in step 340 that the user has selected to print a document for which information has been saved in step 338, a list of such documents is displayed in step 342, allowing the user to select a document in step 344 for sending to the printer in step 346.
- the step 346 of sending data to the printer includes storing the data in an output database to wait for the substitution server 133 to be ready to receive the data.
- step 348 If it is determined in step 348 that the user has chosen to exit the program 160, the program is ended in step 350. Otherwise, the program 160 returns to step 290, continuing operation in the loop 292 to wait for another user selection.
- FIG. 9 is a flow chart showing processes occurring within a substitution program 360 executing within the substitution server 133 described above in reference to FIG. 3.
- the program 360 enters a loop 364 waiting to receive a document for printing.
- the data from the document is read in step 368.
- This data includes image data, megadata, and, if text is included within the document, text data.
- the program 360 goes to the portion of the document data read in step 368 corresponding to the first image.
- the metadata from the data file corresponding to the first image is read, and, in step 374 the commands from the metadata are saved.
- step 376 a determination is made of whether the image for which commands have been just saved is the last image in the document. If it is not, the program goes to the data corresponding to the next image in step 378, and returns to step 372 to read megadata for this image. This process is repeated until the commands for each image in the document have been saved.
- step 376 all of the commands that have been saved for images in the document are read in step 380.
- These commands include addresses or file names locating high-resolution data for each of the images within the input database 149, shown in FIG. 3, allowing this data to be retrieved in step 382.
- step a document file is generated, preferably in a JPEG or TIFF file format, for printing.
- This document file includes embedded high-resolution data for each of the images, placed and modified according to the commands read in step 380, and text data read in step 368.
- step 386 the document file generated in step 384 is saved for printing in step 388 following a determination in step 390 that the printer is ready.
- the program 360 returns to the loop 362 as soon as the document data is saved in step 386 to wait for a new document to be received. Additionally, in the loop 362, a determination is made in step 392 of whether a system operator has chosen to exit the program 360, causing the program to end in step 394.
- the use of flexible and widely-accepted file formats in the present invention provides a number of advantages over the OPI processes of the prior art.
- the low-resolution output file 184 shown in FIG. 3, can be transmitted over the Internet, viewed within a web browser, and downloaded to form part of a web page.
- This output file can be used in any application using JPEG or TIFF files and embedded in a PDF file for printing.
- one or more of the low- resolution output files can be used within an image editing program not recognizing the commands embedded within the metadata of the files to produce document files that can be printed by a print server executing the program 360, with the high-resolution data files corresponding to the images being located according to information stored within the metadata, and with the images additionally being modified for as described in the megadata.
- the data files to be used in this way it is only necessary that the command structure within the metadata be left intact by the image editing application, or alternately that such information will be read before modification and re-recorded in its original form after modification.
- Such a document should be created in a vector fashion, so that the original content is retained without creating a gigantic flat file.
- a Vector PDF workflow or a Kodak® DP2 workflow can be established, retaining the metadata information of the images, with the substitution server 133, also shown in FIG. 3, operating as part of the Vector PDF workflow or a Kodak® DP2 workflow.
- substitution server 133 also shown in FIG. 3
- various types of image editing programs can be used to support the page layout process without having an understanding of the operations associated with printing.
- the page layout system 132 can readily be used to provide remote image editing.
- the data files database 138 includes high-resolution image data files 148, shown in FIG. 4, which are provided as inputs to the page layout system 132 and low-resolution image data files 184, which are transmitted as outputs from the page layout system 132, operating as described above.
- Data describing these low-resolution images may be sent to the substitution server 133, executing the print server program 160, as described above in reference to FIG. 8, to read metadata and print documents on a printer 134, with the substitution server 408 accessing the high- resolution data files 148 through the web server 141.
- a remote image editor 143 may be used to produce documents including images represented by data processed through the page layout system 132. For example, data describing low-resolution images described by files 184 that are available for use by the remote image editor 143 is provided from the print file database 138 for thumbnail viewing over the network 130. The user of the image editor 143 selects the images to use from these thumbnails and downloads the low-resolution image data files 184 associated with these images. The user of the image editor 143 then uses these files for document creation, and has prints made using the substitution server 133 and the printer 134.
- the substitution server 133 may be located over the Internet using a URL (Uniform Resource Locator) embedded in the low-resolution files 184. After receiving the document data sent over the Internet from the image editor 143, the substitution server 133 uses the commands stored within the metadata to select the high-resolution image data 148 stored within the database 138 to replace the corresponding low-resolution image data files 184, and to modify the high-resolution data as according to manipulations performed within the page layout system 132.
- URL Uniform Resource Locator
- the remote image editor 143 Since the remote image editor 143 operates in a conventional manner, without an understanding of processes unique to the present invention, it has no ability to provide an indication of image placement through the addition of data indicating commands to the metadata of the low- resolution image data files. Therefore, a document data file including the low-resolution image data embedded in locations determined using the image editor 132 is sent to the substitution server 133, along with the low-resolution image data files 184. After the substitution server 133 receives this document data file, it bases the placement of high-resolution images in step 384 of FIG. 9 on the placement of the low-resolution images in the document data file.
- FIG. 10 is a block diagram of a distributed image distribution, image manipulation, and image printing system 424 formed in accordance with an embodiment of the invention to include a number of content provider computer systems 136, a number of remote image editor computer systems 143, and a content manager server 140, each connected to a network 130, such as the Internet.
- a network 130 such as the Internet.
- Each of the content provider computer systems 136 has access to content data storage 137, including high-resolution image data describing a number of images that are being offered for use.
- the data storage 137 may be provided within the hard disk drive of the computer system 136 or within a separate database accessed by the computer system.
- a content provider computer 136 may be operated by a museum wanting to enable the usage on a printed output of images of a number of artifacts held by the museum, while another content provider computer 136 is operated by a professional photographer enabling third parties to use images owned by him to create customized printable outputs (like posters, calendars, cards and photo books) without giving access to the high resolution images to those 3ed parties.
- a content provider computer 136 may be used by one or more artists working in non-photographic media, such as paint, watercolor, or charcoal, wishing to sell ink-jet prints, often called giclees, of their images, with digital data being generated by scanning an image directly or by scanning a photograph taken using a medium format camera or a suitable digital camera
- each of the remote image editor computer systems 143 is operated by an end user designing and producing printed products including images of the types provided from the content provider computer systems 136.
- an remote image editorr computer system 143 may be operated by an individual producing calendars, each of which uses a number of such images, while another remote image editorr computer system 143 is operated by an individual producing photo books including the images.
- the content management server 140 has access to a virtual OPI database 36 including low-resolution image data, received over the network 32 from the content provider computer systems 136 and representing the high-resolution image data that is available within the data storage 137 of the content provider computer systems 136.
- the content management server 140 hosts a web site on the network 130, causing the browsers of computer systems contacting the web site to display a number of web pages.
- the remote image editor computer systems 143 when one of the remote image editor computer systems 143 contacts the web site provided by the content management server 140, its browser displays web pages including thumbnail representations of the images represented by the low-resolution image data stored within the virtual OPI database 436. The end user then uses his remote image editor computer system 143 to select one or more of the thumbnail images, causing corresponding low-resolution image data to be transmitted over the network 130 from the content management server 140 to the remote image editor computer 143. The end user then performs various manipulations on the low-resolution images within his remote image editor computer 143 and returns the low-resolution images to the content management server 140 in a form including data representing the manipulations.
- the content management server 140 causes high- resolution image data, corresponding to the images represented by the low-resolution images sent from the remote image editor computer 143, to be transmitted over the network 33 from one or more of the content provider servers 136.
- the content management server 140 is additionally connected to a substitution server 133, which substitutes the high-resolution images transmitted from the content provider computer systems 136 for the low-resolution images transmitted from the remote image editor computer 143 to produce output data with high-resolution image data placed in accordance with the layout and image modifications performed with the remote image editor computer 143.
- the content management server 140 and the substitution server together form a server system 439.
- the substitution server 38 is additionally connected to the printer 134, to a hot folder of the printer or to the DFE (digital from end) of the printer to produce produces printed products from the printable output files produced by the substitution server 133.
- Such printable output files describe the printed products to be produce, including, for example, data in a conventional format, such as PDF, JPEG, or TIFF.
- the server system 439 including the content management server 30 and the substitution server 133, are at a common location 441 with the printer 134, providing a virtual OPI service for various end users operating remote image editor computer systems 143 at remote locations, with each of the end users being able to perform an image manipulation and layout process using low-resolution image data including within desktop applications, and with the results of this process being applied to high-resolution images in the subsequent printing process.
- each of the content providers is able to provide his high-resolution images for use in the printing process without making the high-resolution image data available to the end users for any other purpose. In this way, the content provider is assured that the high-resolution images are only being used for an understood and agreed-upon purpose, in the agreed-upon quantity (copies) and in correlation with the payment.
- the substitution server 133 may optionally be additionally connected to the network 130 by a connection 443 to use the services of a number of print servers 444, which are also connected to the network 130. Since the substitution server 133 produces an output document that can be used by a number of different printing systems, an advantage of the invention arises from the fact that, unlike the traditional OPI process, there is no need to maintain a close relationship between the device in which the process is implemented and the printer. A further advantage is gained because it is no longer necessary to send the high-resolution image data to the printer; this data is only sent to the content management server 140.
- a system for receiving payments in return for services and data provided in accordance with the invention is not shown, it is understood that various forms of such a system may be used in ways well known in the art of providing methods for electronic commerce, with appropriate payments being made, directly or indirectly, form the end users operating remote image editor computer systems 143 to the content providers operating computer systems 136 for the image content, and to an organization operating the systems in the common location 441 for printing services.
- the content management server 140 may execute a subroutine for receiving credit card payments, or payments may be made through a third-party organization also connected to the network 130, such as PayPal TM.
- the content management server 140 makes the thumbnail images represented by a portion of the data stored within the virtual OPI database 436 available to anyone contacting its web site, .with some of the image data stored within the virtual OPI database 436 being held in confidence, to be accessible only to an individual presenting a number associated with a special order
- confidential image data may be transmitted by a wedding photographer for supplying the images from a wedding to a list of wedding guests that have been given such a number, who then select images to order prints.
- Confidential image data can also be used by a number of individuals collaborating in the production of a document or other printable output using images formed by data stored in multiple locations. For example, a number of individuals may attend an event, with each of the individuals storing a number of images relating to the event on his computer, and with one or more of the individuals then accessing the images to have a document forming a report printed. In this example, access to the image data is preferably limited to users supplying a special order number or alphanumeric code shared among the individuals.
- the network 130 may include various forms of communication channels.
- one or more of the content provider computer systems 136 may be connected to the content management server 140 by means of a LAN (local area network), while other communications occur over the Internet.
- LAN local area network
- a number of advantages of the invention, compared to conventional means for transmitting image data between remote locations, are derived from the fact that high-resolution image data is sent only between the content provider computer systems 136 and the content management server 140. Since such files are generally large, means may be provided for their efficient transmission, such as the use of a LAN or high-speed Internet connections, with other communications occurring at slower speeds. Also, since the high-resolution image data has the greatest value, additional means, such as encryption, may be provided for its protection.
- Computer programs for execution on the content management server 140 and the substitution server 38 are computer program products, being, for example, written in computer executable code recorded on computer readable media, such as optical disks 442. Alternately, such computer program products may be formed as computer a computer data signal embodied on a carrier wave transmitted to the content management server 140 over the network 32, and additionally from the content management server 140 to the substitution server 133.
- FIG. 1 1 is a data flow chart of the system 424, described above in reference to FIG. 10.
- a content provider submission application 454 resides on the content provider computer 136, providing a means for registering content in a virtual OPI database 436, accessible to the content management server 140, by generating low-resolution image data in a process 456, by attaching requirements to the low-resolution image data in a process 457, and by transferring the resulting low- resolution image data 458 to the content management server 140 over the network 450.
- the attached requirements may include price information, acceptable use policy, and a watermark. As described above regarding FIG.
- the system 424 preferably is capable of including multiple content provider computers 136, with the process 457 including the addition of location data identifying the content provider computer 136 transmitting the low-resolution data 58.
- location data can be subsequently used to determine the particular content provider computer 136 having access to high- resolution image data representing or describing the same images as the low resolution image data 458.
- images stored within the virtual OPI database 36 may be deleted from the virtual OPI database 436 according to a messages 59 sent over the network 450 from the submission application 454 to the content management application 460 executing within the content management server 140.
- the end user uses the end user design tool application 462 in a process 467 to manipulate the images received as low-resolution image data 466 and to place this manipulated data within print job files 468 transmitted to the content management server as a PDF file, as a JPG file, as an XML set of orders, or as any other printable, or printable instructions, file 140.
- Image manipulation occurring within the process 467 includes, for example, rotating and cropping the images, changing the colors or changing other image attributes, adding graphics to the images, adding or combining the image with other images, embedding the images with other images or graphics, and placing multiple images in preferred locations on a sheet to be printed within the print ob file 468.
- the content management application 460 When the content management application 460 receives a print job file 68, it sends a copy 470 of the print job file to the substitution server 133. in which a substitution application 472 parses the print job file in a process 74 to generate, in a subsequent process 476, a substitution map 478 specifying the high-resolution image data files required to replace the low-resolution image data files within the print job file. The substitution map 478 is sent to the content management application 460, which then generates an image request 480 for the high resolution image data needed.
- the submission application 454 sends messages 59 monitoring the status of image requests 480, which are then fulfilled by transmitting high-resolution image data files 484 to the content management application 460, which then transmits this data as high-resolution image data files 486 to the substitution application 472. Then, in a process 488, the substitution application 472 substitutes this high-resolution image data 486 into the print job file or instructions 80 in accordance with the substitution map developed in the process 76.
- the print job data is in the form of a printable output data file, describing the final printed product and being ready for printing.
- This data may be sent directly to a printer 134, to the printer's hot folders, or to the printer's DFE (Digital Front End) for printing in step 490, forming printed pages 492, or the printable output data file may be stored or transmitted to a remote printer, for example in the form of a PDF file.
- DFE Digital Front End
- FIG. 12 is a flow chart of a process steps occurring during execution of a content submission application 454 within a content provider computer system 136 in the system 410 of FIG. 10.
- the content submission application 454 begins the display of an initial screen 502, shown in FIG. 13, in step 504, and proceeds through step 506 to determine if a timing pulse has occurred, a step 508 to determine if the system user has indicated that new content should be submitted, and through step 510 to determine whether the user is trying to end the application 454.
- the application proceeds repeatedly through these process steps until one of the described actions occurs.
- the content provider application 454 sends a message 459 to the content management server on a periodic basis to determine if image requests 480, for high-resolution image data stored within the content data storage 137 accessed by the content submission application 454, are waiting.
- the timing pulses sensed in step 506 arrive at a frequency determining the periodic rate at which such messages 559 are sent.
- a message 459 is sent in step 512. If it is then determined in step 514 that the content management server 140 has returned an image request 480, the content submission application 454 transmits the high-resolution image data needed to fulfill the image request 490 to the content management server 140 in step 516.
- the content management server handles the request for high-resolution image data and the process of gathering high resolution image data regardless of the location of such image data.
- image data may reside within a central repository, within another other server connected to the network, or on multiple and different servers or personal computers across the network
- the initial screen 502 first displayed in step 504 provides an indication that the content submission application 454 is running, so that high-resolution image data will be automatically supplied as required.
- a command button 518 is provided, to be selected to indicate a desire to submit new content by sending low-resolution image data for one or more images to be stored in the virtual OPI database 436.
- a selection screen 520 shown in FIG. 14, is displayed in step 522, allowing the user to make selections and add requirements for purchasing particular image data, in step 524.
- the selection screen 520 includes a list box 526, including a number of lines 528, each of which includes data describing an image for which data may be transmitted.
- the user of the content provider computer system 136 may determine the images for which data is to be displayed in the list box 528 by copying a number of image files into a system folder or directory accessed by the content submission application 54.
- Each of the lines 528 includes text 530, such as a file name, a size, and a resolution, describing the existing high-resolution image data.
- Each of the lines 528 is associated with an adjacent check box 532 that is selected to indicate that the particular image described on the line 528 is to be submitted, and an adjacent check box 134 that is selected to indicate that a watermark is to incorporated in the image being submitted.
- Each of the lines 528 additionally includes a number of blank spaces 536 in which text may be added to indicate, for example, a name, price, and conditions of use, for the selection described on the line 528.
- the content submission application 454 begins a process of preparing and transmitting low- resolution image data corresponding to the selected images. First, in step 542, the application 454 goes to the first selection chosen for submission. Next, in step 544, low-resolution image data for the selection is generated. Then, in step 546, a further determination is made of whether a watermark is to be applied within the low-resolution image data. If it is, the watermark is applied in step 548. In either case, in step 150, the data provided as text within spaces 536 of the line 528 corresponding to the selection is added to the low-resolution image data generated in step 544.
- step 552 it is determined whether the selection being process is the last selection chosen in step 524. If it is not, the application 554 goes to the next selection in step 554 and begins processing this selection by returning to step 544.
- the resulting low-resolution image data 458 (shown in FIG. 11) is transmitted to the content management server 140 in step 556.
- step 510 When it is determined in step 510 that the content submission application 54 is to be ended, for example, when the content provider computer system 136 is being shut down, data being processed is saved in step 558, and the application 454 is ended in step 560.
- FIG. 15 is a flow chart showing process steps occurring during execution of the content management application 460 within the content management server 30.
- FIG. 15 includes an upper portion, indicated as FIG. 15A, a central portion, indicated as FIG. 15B, and a lower portion, indicated as FIG. 15C.
- step 570 the content management application 460 proceeds through step 572, in which a determination of made of whether a request has been received from a content provider computer system 526, through a step 574, in which a determination is made of whether a substitution map has been received from the substitution server 133, through a step 576, in which a determination is made of whether a request has been received from an remote image editor computer system 143, and through step 580, in which a determination is made of whether an individual using the content management server 140 is trying to end the operation of the application 460.
- the application proceeds repeatedly through these process steps until one of the described actions occurs
- step 572 If it is determined in step 572 that a request has been received from a content provider computer system 143, the content management application 460, the application 460 repeatedly proceeds through a number of process steps 182 until one of the actions for which determinations are made within the process steps 182 occurs. For example, if it is determined in step 184 that low- resolution image data 58 has been received from one of the content provider computer systems 143, the data received is stored in the virtual OPI database 436 in step 586. If it is determined in step 184
- step 588 that high-resolution image data 484 has been received from one of the content provider computer systems 143, the data received is sent to the substitution server 133 as high resolution image data 486 in step 590. If it is determined in step 592 that the content provider computer system 143 has sent a message 459 polling the content management server 140 to determine if there are requests waiting within the content management server 140 for high-resolution images, a further determination is made in step 594 of whether such requests are available. If they are, the requests are then transmitted to the content provider computer system 143 in step 596. If it is determined in step 598 that a message 459 has been sent to delete one or more files stored in the virtual OPI database 436, that action takes place in step 600.
- step 602 If it is determined in step 602 that a predetermined time has expired before a determination of the type of request has been made, the system returns to step 572 without making such a determination.
- This feature keeps a garbled communication from stopping execution of the content management application 460 for a substantial time.
- step 574 If it is determined in step 574 that a substitution map 478 has been received from the substitution server 133, indicating the high-resolution image data files that are needed to replace low- resolution image data files within print job files 470 previously transmitted to the substitution server, image requests are generated in step 604 and stored in step 606, so that these requests can be recognized in step 594 when a content providing computer system 626 having access to the high- resolution image data needed polls the content management server 140 to determine if such requests are available.
- multiple content provider computer systems 143 are supported, so the image requests are preferably arranged in an order providing for each of the requests being sent only to the particular content provider computer system supplying the low-resolution image data on which the request is based.
- a print job file 470 may contain low- resolution image data from several different content provider computer systems 143, with multiple image requests being generated to receive all of the high-resolution image data needed.
- step 608 the content management application 460 causes the browser of the computer system 143 to display a menu screen 610, shown in FIG. 16, and to repeatedly proceed through a number of process steps 612 associated with responses that can be made using the menu screen 610 until one of the actions for which determinations are made within the process steps 612 occurs.
- This menu screen 610 includes a check box 614, which is selected to indicate that the user operating the user computer system 143 wishes to view the generally available images, for which data is stored in the virtual OPI database 436.
- the menu screen 610 also includes a check box 616 that is selected to indicate that the user wants to access images forming part of a special order, with such images then being accessed by additionally entering a number or alphanumeric code in a text box 618.
- the data entered into the text box 618 is used both to identify the special order and to provide a measure of security by limiting access to certain images to individuals having this number or alphanumeric code.
- the menu screen 610 includes a check box 620 that is selected to indicate that the user has a print job for which he wishes to order prints and a command button 621 that is selected to indicate that the user is through with the menu screen 610.
- the low-resolution image data associated with a special order may be identified by finding the alphanumeric code in a data field provided for this purpose or by finding data stored in a folder associated with the alphanumeric code.
- step 624 the browser of the remote image editor computer 143 is caused to display thumbnail versions of these images.
- other information stored with the image data used to form them such as the price of the high-resolution image data for forming a corresponding image and conditions for using the image or the printable output in which the image is used is additionally displayed.
- user selects various thumbnail images he selects a command button adjacent the images to indicate that he is complete.
- low-resolution image data corresponding to the selected images is transmitted to the remote image editor computer system 143 in step 628. If it is determined in step 630 that the user has not made a selection in a predetermined time, the content management application 460 returns to step 572.
- step 632 If it is determined in step 632 that the user has selected check box 616 to indicate a desire to view images within a special order, and if it is additionally determined in step 634 that a number or alphanumeric code corresponding to a special order has been correctly entered in the text box 618, the browser of the remote image editor computer 143 is caused in step 636 to display thumbnail images within the special order. After user selects various thumbnail images, he selects a command button adjacent the images to indicate that he is complete. When such a selection of images is determined to have occurred in step 638, low-resolution image data corresponding to the selected images is transmitted to the remote image editor computer system 143 in step 640.
- step 642 If it is determined in step 642 that the user has not made a selection in a predetermined time, the content management application 460 returns to step 572. Additionally, if it is determined in step 644 that the user has not correctly entered a number or alphanumeric code in a predetermined maximum timei the application 480 returns to step 572.
- step 646 If it is determined in step 646 that the user has selected check box 620 to indicate that he has a print job ready to order prints, with high-resolution image data being substituted for the low- resolution image data of the print job file, this print job file is received in step 648 and transmitted to the substitution server 238 in step 650.
- step 652 If it is determined in step 652 that the user has failed to make a selection using the menu script 610 in a predetermined time, the content management application 460 returns to step 572.
- step 580 When it is determined in step 580 that the content management application 460 is to be ended, for example, when the content management server 140 is being shut down, data being processed is saved in step 658, and the application 460 is ended in step 660.
- the design tool 462 may assume one of several forms, depending on the nature of the end user operating the end user computer system 143.
- the end user may use a page layout program compatible with OPI standards, with OPI commands generated by the page layout program being used to provide the data within print job files 68 describing the manipulations to be subsequently made with high-resolution images substituted in the print job files.
- OPI commands generated by the page layout program being used to provide the data within print job files 68 describing the manipulations to be subsequently made with high-resolution images substituted in the print job files.
- An example of such a page layout program which is both widely available and which supports OPI standards, is the Adobe InDesign TM page layout program.
- a design tool program 462 may be provided for the end user operating a remote image editor computer 143 by downloading the design tool program 462 from the content management server 140.
- a design tool program 462 having at least limited capabilities for the placement of several images, chosen by the end user, on an individual sheet in a pattern also chosen by the end user, may be downloaded with the low-resolution image data in a special order from a wedding photographer, so that wedding pictures can be placed within and printed.
- the design tool program 462 may be a specialized application for producing certain types of documents, such as a card or calendar application which enables the user to create and send to print greeting and post cards or photo calendars.
- FIG. 17 is a flow chart showing process steps occurring during execution of the substitution application 472 within the substitution server 133.
- the substitution application 472 repeatedly proceeds through step 672, in which it is determined whether a print job file 470 has been received from the content management server 140, through step 274, in which it is determined whether high-resolution image data 486 has been received from the content management server 140, and through step 676, in which it is determined whether an individual operating the substitution server 133 is trying to end the execution of the substitution application 472.
- step 672 When it is determined in step 672 that a print job file 470 has been received from the content management server 140, the print job file 470 is parsed in step 678 to determine the requirements for images to be used, and, in step 679, a substitution map is generated, identifying each image for which high-resolution image data is to be substituted for the low-resolution image data within the print job file 470. Then, in step 680, the print job file and the substitution map are stored within the substitution server 133. Next, in step 682, a copy of the substitution map is transmitted to the content management server 140 for use in obtaining the high-resolution image data.
- step 674 When it is determined in step 674 that high-resolution image data 486 has been received from the content management server 140, the substitution map(s) stored in step 680 are compared in step 684 with the high-resolution image data that has just been received to determine where the high- resolution image data is to be placed. Then, in step 686, the high resolution image data is substituted in the print job file for which the substitution map has been generated in accordance with the substitution map. If the same high-resolution image data is needed in more than one substitution map previously stored in step 680, it is applied to each of the print job files associated with the substitution maps. Then, in step 688, a determination is made of whether the print job file is full, with all of the substitutions being made.
- output data is generated in step 690, in a format allowing the printer to print one or more copies of the print job file as specified.
- a format allowing the printer to print one or more copies of the print job file as specified.
- An example of such a format is the Adobe PDF format.
- the output data is preferably stored, so that it may be used later if needed for additional prints or for corrections.
- the copy of the substitution map that was stored in step 680 is deleted from storage, and, in step 696, the output data is sent to the printer for the production of output prints.
- step 676 When it is determined in step 676 that the substitution application 472 is to be ended, for example, when the substitution server 133 is being shut down, data being processed is saved in step 698, and the application 472 is ended in step 700.
- the invention can be used between a set of one or few different users and a set of one or a few different computers connected to the network and/or Internet, each storing high resolution images, and the content management server acts as a central place to hand the request for and the gathering of the high resolution images referred to within the content data storage, while pulling those high resolution images from the different computers connected to the network or it can be used between a user connected to the internet and one repository of the high resolution images residing on one server.
- FIG. 18 is a schematic view of a system 710 built in accordance with the present invention to allow client systems 711, such as active devices 712 and passive devices 714, which may be remote from one another, to be joined into clusters 146 to create and share digital image data, such as digital data describing photographs, movies, and illustrations, and constructions including digital image data, such as albums, books slideshows, calendars, and cards (as postcards greeting cards, etc).
- client systems 711 such as active devices 712 and passive devices 714, which may be remote from one another, to be joined into clusters 146 to create and share digital image data, such as digital data describing photographs, movies, and illustrations, and constructions including digital image data, such as albums, books slideshows, calendars, and cards (as postcards greeting cards, etc).
- client systems 711 such as active devices 712 and passive devices 714
- clusters 146 to create and share digital image data, such as digital data describing photographs, movies, and illustrations, and constructions including digital image data, such as albums, books
- an active device 712 is one that can execute programs, display data, and transmit data to the network 130, while a passive device can merely display data received from the network 130.
- the devices 712, 714 may be directly connected to the network 130 by links 720, or through a router 722, which is in turn connected to the network 130 by a link 724.
- the individual links 720, 724 may be wired or wireless.
- the system 710 additionally includes a web server 141, which arranges the client systems 71 1 into clusters 146, and which facilitates the creation of digital image data by the active devices 712 within a cluster 146 and the distribution of such digital image data among the active devices 712 and passive devices 714 within the same cluster 146.
- FIG. 19 is a schematic view of one of active devices 712, which includes a microprocessor 732, data and instruction storage 734, a selection device 736 for providing user inputs, a display 738 for displaying images or other information, and an interface 740 providing a means to connect to the network 130 through a link 720.
- the active device 712 may additionally include a disk drive 744 for reading data from a computer readable medium, such as an optical disk 745.
- Data and instruction storage 734 holds a source suite program 746 and a delivery suite program 747, both of which have been transmitted from the web server 141 and downloaded from the network 130.
- the source suite program 746 includes a content creator subroutine 748 that is used to create digital data representing graphical images for transmission to the web server 141.
- Data and instruction storage 734 additionally holds a database 749 storing digital image data created using the content creator subroutine 748 and received from the web server 141.
- Data and instruction storage 734 is considered to form a computer readable medium.
- the active device 712 is a device that can generate and communicate serial data, such as a personal computer 750, a cellular phone 752, a personal data assistant (PDA) 754, or a digital camera 756, .
- the selection device 736 comprises the keyboard 758 of the computer 750 and a pointing device 760, such as a mouse.
- Each other device that can be used an active device 712 includes at least a number of buttons that can be used as the selection device 736 to select an image for transmission, etc.
- the interface 740 may include a network interface card (NIC) for wired connection to the network 130 or a Wi-Fi transceiver for connection to the network 130 through a wireless router or access point (not shown).
- NIC network interface card
- Wi-Fi transceiver for connection to the network 130 through a wireless router or access point (not shown).
- Cellular phones that use cellular communications to communicate digital information with the Internet are now widely available, so this method of communication can be readily be used to provide the interface capability if the active device 712 is a cellular phone 752.
- Digital cameras 756 and PDAs 754 are now being provided with a capability for wireless communication of digital data through Bluetooth technology and through wired connections, such as USB cables, so such devices can transmit and receive data from a device, such as a personal computer 750, that is connected to the network 130 or through a cellular telephone 752 having, for example, Bluetooth capabilities, that is connected to the network 130 through cellular communications.
- the clusters 146 may include passive devices 714, that only receive and display digital image data, such as an HDTV 762 and a digital frame 764. Such devices 714 are each connected to the network 130, with external connection circuits being attached, if necessary.
- FIG. 20 is a flow chart of processes occurring within an overall method 774 performed within the system 710 during the formation of a cluster and the creation of content in the form of digital image data.
- This method begins in step 776 when an active device 778 (shown in FIG. 18), not included in one of the clusters 716 contacts the web server 141.
- the active device 778 contacts the web server 141 through a web site, with a button on the display screen presented by the web site being selected to indicate a desire to sign on as an administrator.
- step 780 the active device 778, now an administrator, transmits information identifying the devices to be included within the cluster 146 being developed.
- the information includes a first list identifying active devices 712, and a second list identifying passive devices 714, if any.
- the devices may be identified by URLs of the devices 712, 714.
- the administrator 778 transmits data representing source rules to the web server 141.
- these source rules describe the types of images that can be contributed in the development of content for transmission, which active devices 712 within the cluster 146 can develop certain forms of content, what forms of content are to be downloaded from the web server 141, which devices 712, 714 can receive the content, and which permission rules are required to receive the content.
- data describing the devices 712, 714 is stored within the web server 141.
- step 786 the web server 141 transmits the destination suite program 747 (shown in FIG. 19) to each of the active devices 712 within the newly-formed cluster 146.
- the active devices 712 then, in step 788, use the destination suite program 747 to generate destination rules and to send these rules to the web server 141.
- the destination rules determine, for example, the types of content that will be sent to the individual active device 712 and to associated passive devices 714, if any, and the times at which such content will be sent.
- step 790 the web server 141 transmits the source suite program 746 to each of the active devices 712 within the cluster 146.
- step 792 the active devices 712 within the cluster 146 use the content creator subroutine 748 within the source suite program 746 to generate content, including digital data describing images, with is then transmitted over the network 130 to the web server 141.
- step 794 a determination is made of whether further changes are needed in the content transmitted in step 792. For example, it may be necessary to combine image data from several of the active devices 712 into a photo album, gallery, or calendar. If such changes are not needed, the content is distributed by the web server 141 in step 796. If such changes are needed, they applied by the web server 141 before the content is distributed in step 796.
- the source rules and destination rules are used to determine the pattern in which data flows between the client systems 711 and the web server 141 through the network 130. Examples of such patterns of data flow will now be discussed, with reference being made to FIGS. 4-6.
- FIG. 21 is a flow chart showing a first example of data flow between client systems 711 and the web server 141, with the cluster 146 being defined so that only the administrator 778 and a single passive device 714 are included therein. For example, his arrangement allows a user operating the administrator 778 to prepare slideshows for his passive device 714, such as a digital picture frame or an HDTV.
- FIG. 22 is a flow chart showing a second example of data flow between client systems 711 and the web server 141, with the web server 141 being used to facilitate communication among client systems 711 within the cluster 146.
- Image data 800 is sent from a first group 801 of the active devices 712, 778 within the cluster 146 and is then transmitted from the web server 141 to a second group 802 of the active and passive 712, 714, 778, which may overlap the first group 801.
- the data transmitted from the server may be in the form of multiple data feeds 803, 804, with the data being differentiated, for example, according to subject matter or according to the types of devices 712, 714, in which the image data can be readily displayed.
- This arrangement which provides some of the advantages associated with peer-to-peer networks, in that communications are facilitated only between a limited number of network elements, is particularly suitable for sharing images having interest within a limited audience, such as family photographs.
- FIG. 23 is a flow chart showing a third example of data flow between client systems 71 1 and the web server 141, with additional data 805 being sent to devices 106 outside the cluster 16. This arrangement is particularly useful to form one or more continuous slideshows for broadcast outside the cluster 16, with certain active devices 712, 778 being used to generate advertising content for display along with other image data.
- FIG. 24 is a flow chart of processes occurring during the execution of the source suite program 46 within the microprocessor 732 of an active device 712. Since it is understood that the active device 712 is generally used for a number of purposes, the source suit program 746 is provided in a form that can be loaded, used, and then closed. When the program 746 is loaded to start in step 810, a main menu dialog box is displayed in step 811, with the source suite program 46 entering a loop 812 waiting for the user to select a command button on the main menu s.
- FIG. 25 is a display screen view of a main menu dialog box 813 displayed in step 811.
- the main menu dialog box 813 includes a first command button 814, which the user selects to view images being transmitted by the web server 141, a second command button 815, which the user selects to begin a process of making an image having digital data to be transmitted to the web server 141. and a third command button 816, which the user selects to close the source suite program 746, with the active device 712 being disconnected from the web server 141 in step 827, allowing the active device 712 to be used for other purposes.
- step 818 when it is determined in step 818 that the user has selected the third command button 816, the execution of the source suite program is ended in step 819.
- step 820 When it is determined in step 820 that the user has selected the first command button 814, the active device 712 is connected to the web server 141 in step 822, with the process of displaying images transmitted from the web server 141 beginning in step 824. This process is then ended in step 826 when the user selects the close button of his browser, which is typically identified with an "X,” and located in the upper right corner of the display screen.
- the content creator subroutine 748 (shown in FIG. 19) is run in step 830.
- the source suite program 746 returns to the loop 812, awaiting another user selection of a command button in the main menu dialog box 813.
- FIG. 26 is a display screen view of a create menu dialog box 834, which is displayed during execution of the content creator subroutine in step 830.
- the dialog box 824 includes a first command button 835, which the user selects to develop content in the form of digital images that are sent to the web server 141, with such content being based on one or more images for which data is stored in the database 749 of the active device 712. If one or more additional images are needed, the user can select the third command button 837 to view images for which data is stored wit ⁇ hin the web server 841. The user may also select the fourth command button 838 to exit the subroutine 748, returning to the main menu of dialog box 713.
- FIG. 27 is a flow chart showing processes occurring within the active device 712 during the execution of the content creator subroutine 748 in step 830 of the source suite program 740 in accordance with the invention.
- the content creator subroutine 748 is started in step 852, being called by the source suite program, with the create menu dialog box 838 being displayed in step 853, and with a loop 855 being entered to determine when one of the command buttons of the create menu dialog box 834 has been selected. If it is then determined in step 856 that the user has selected the selected the fourth command button 838 of the create menu dialog box 834, the content creator subroutine 748 is ended in step 857.
- step 859 If it is determined in step 859 that the user has selected the first command button 835 to send data for one or more images to the web server 141, the internal images, which are stored within the database 742 of the active device 712 are displayed on the display 738 thereof in step 860, preferably in the form of thumbnail images. Then, in step 862, a further determination is made of whether the user has selected an image. If he has, his selection, which is, for example, made by manipulating a cursor on the display 38 to select one or more thumbnail images, is received. Next, in step 864, further user inputs are evaluated to determine whether the selected file or files should be tagged for inclusion with one or more additional files being generated on one or more other active devices 712 in a combined image.
- step 866 a determination is made of whether the images for which a selection has been received in step 862 are to be tagged for inclusion with one another in a combined image. If it is determined in steps 864 and 866 that such tagging is required, the file(s) that have been selected are tagged in step 868.
- step 870 a further determination is made of whether the user is finished selecting images for transmission to the server. For example, the determinations of steps 864, 866, and 870 may be made in response to selections made using the selection device 736, with such selections being prompted by information displayed on the display 738. If it is determined in step 870 that the user is not finished selecting images for which data is to be transmitted, the routine 750 returns to step 860, so that the user can select one or more images.
- step 870 determines whether the user is finished selecting images for transmission.
- step 874 it is determined whether it is necessary to translate the format of the output data generated in step 872 in order to make the data suitable for viewing on a conventional viewing device. If such translation is needed, it is performed in step 876. Then, in step 878, whether a format translation was applied or not, the data is transmitted to the web server 141
- step 859 If it is determined in step 859 that the user has not selected sending image data to the web server 141, the subroutine 748 proceeds to step 880, in which a determination is made of whether the user has selected to find external image data, which can be located through communications with the web server 141. If such a selection is being made, such external images are displayed on the display 738 in step 882. Then, in step 184, a selection of the images from the user is received. Next, in step 886, a determination is made of whether the user has indicated that he is finished with the selection process. If he is not, the subroutine 746 returns to step 882 to continue showing external images from which a selection can be made.
- step 888 data for the selected images is requested from the web server 141.
- step 890 as image data is received from the web server 141, it is stored within the database 749 of the active device 712, with the routine 748 returning to the loop 855 to wait for a user selection.
- step 862 if it is determined in step 862 that additional images, not available within the database 748, are needed to form the images for which data will be sent to the web server 141, the subroutine 748 proceeds to step 882 so that external images can be selected from data sent from the web server 141, with data from selected external images being stored within the database 749 of the active device 712 for subsequent use.
- step 880 If it is determined in step 880 that the user has not selected to find data for external images, the subroutine 748 proceeds to step 892 in which a further determination is made of whether the user has selected to generate or modify one or more rules regarding how the images are to be distributed by the web server 141. If he has not, the subroutine 748 returns to loop 855 to wait for a user selection. If he has selected to send one or more rules, the new rules are composed and sent in step 894, with the subroutine 748 again returning to loop 855 to wait for a user selection.
- FIG. 28 is a schematic view of the web server 141, which includes a microprocessor 912, data and instruction storage 914, a keyboard 916 for providing user inputs, a display 918 for displaying images or other information, an interface circuit 920 providing a means to connect to the network 130 through a link 922, and a disk drive 924 for reading data from a computer readable medium storing a computer program product, such as an optical disk 926.
- the web server 141 may be accessed over the network 130 through a number of links 928, each of which is associated with a different function, or set of functions, to be performed by the web server 141.
- the web server 141 has a capability for providing simultaneous communications with a number of client systems over a number of links.
- an administrative link 934 is accessed by the active device 778 (shown in FIG. 18) to establish a new cluster 146 or to change the rules previously established for an existing cluster 146.
- a download link 936 is accessed to download programs stored within the web server 141 to the active devices 712.
- a create content link 938 is used by an active device 712 to submit content for distribution from the web server 141.
- a distribute content link 940 is used to distribute content from the web server 141.
- Data and instruction storage 914 which includes computer readable media for storing computer readable code, holds instructions for a number of subroutines 944, each associated with one of the links 954 and operative when a call is received on the associated link 928.
- the administrative subroutine 946 starts when a call is received on the administrative link 934.
- the download subroutine 948 starts when a call is received through the download link 936.
- the create content subroutine 950 starts when a call is received through the create content link 938.
- the distribute contact subroutine 952 starts when a call is received through the distribute contact link
- Data and instruction storage 914 also holds programs 954 to be downloaded to active devices 778, 712 calling on the download link 936, in the form of the destination suite 747 and the source suite 476.
- Databases 956 storing descriptions of the devices 778, 712, 714, and rules that have been established for the transmission of content to these devices 778, 712, 714 include a new cluster database , storing such data during the formation of each new cluster 146,and an active cluster database 960 storing such data for clusters that have been formed.
- Databases 962 storing content that has been created for distribution, include a WIP (work in process) database 964 storing content for projects that have not yet been completed and a distribute content database 966 storing content within projects that have been completed for distribution.
- FIG. 29 is a display screen view of a dialog box 976 forming a portion of a welcome screen displayed by the browser of an active device 778, 712 contacting the web server 141 through the administrative link 934.
- the dialog box 976 includes a first command button 978, which the user selects to access a means to update rules that have been established to control the distribution of content, a second command button 980, which the user selects to form a new cluster 146, and a third command button 982, which the user selects to disconnect from the web server 141.
- FIG. 30 is a display screen view of a dialog box 984 that is displayed to the user by the browser after he selects the second command button 980.
- the dialog box 984 includes a first column of text boxes 986 in which the user of an active device 773 types the address, such as a URL, of each active device 712 and of each passive device 714 to be added into a cluster 716 to be formed.
- Check boxes 988 are used to indicate which of the devices indicated by addresses in text boxes 996 are passive devices 714.
- Text boxes 990 and 992 are used to indicate which of the active devices 778, 712 are able to provide content and, respectively, which of the active devices 778, 712, and the passive devices 714 are to be able to view the content.
- Alphanumeric symbols may be typed within the text boxes 990, 992 to indicate types of content that can be made and viewed by individual devices 718, 712, 714.
- the command button 994 When the user is satisfied with the data entered using the dialog box 984, he selects the command button 994 to submit the data to the web server 141.
- FIG. 31 is a display screen view of a dialog box 1006 that is displayed to the user by the browser when it is determined that he wishes to set or change the rules for a device 778, 712, 714.
- the dialog box 1006 includes a text box 1008 in which an identifier, such as the network address, of the device 778, 712, 714, for which the rules are to be set or changed.
- a column of text boxes 1010 is used to indicate, with alphanumeric characters, different types of content that are to be made, with an adjacent column of check boxes 1012 being used to indicate the types of content that can be made using the device identified in the text box 1008.
- FIG. 32 is a flow chart showing processes occurring within the administrative subroutine 246 after a client device, such as an active device 778, 12, contacts the web server 141 through the administrative link 234 in step 320.
- a client device such as an active device 778, 12 contacts the web server 141 through the administrative link 234 in step 320.
- the web server 141 causes the browser of the calling device 778, 712 to display a welcome screen including the dialog box 876 of FIG. 29.
- the administrative subroutine 946 then enters a loop 1024 waiting for one of the command buttons of the dialog box 976 to be selected.
- step 1028 the address of the device 778, 712 (client system) calling the web server 141 is checked against addresses listed within the active cluster data base to determine whether the client system is a device 778, 712 within one of the clusters 146. If it is, an update rules screen including the dialog box 1006 is displayed in step 1030, allowing the calling device 778, 712 to make changes in the rules.
- step 1032 When it is then determined, in step 1032, that the user of the device 778, 712 placing the call is finished wtth the changes to rules, as indicated by the selection of the submit command button 1018, the rules are updated in step 1034, with an acceptance message being displayed by the browser of the device 778, 712 in step 1036, and with the administrative subroutine 946 returning to cause the browser to display the welcome screen in step 922.
- step 328 if it is determined in step 328 that the device 778, 712 is not within one of the clusters 146, the browser of the device 778, 712 is caused to display an error message in step 1038 before again displaying the welcome screen in step 1022.
- step 1040 If it is determined in step 1040 that the second command button 980 of the dialog box 976 has been selected, the browser of the calling device 778, 712 is caused to display a new cluster screen including the dialog box 984 in step 1042. Then, the user enters information to form a new cluster 146, as described above in reference to FIG. 30.
- step 1044 the submit command button 996
- step 1046 the administrative subroutine 946 proceeds to step 1046, in which a financial transaction is completed with the calling device, which is now established as an administrator 778. For example, a credit card may be used for payment in a manner well known to those skilled in the art of electronic commerce.
- step 1048 the new cluster database 958 is updated to include data records for the devices 778, 712, 714 described using the new cluster dialog box in step 942.
- step 1050 the web server 141 sends an email to each of the devices 778, 712, 714 described using the new cluster dialog box in step 1054, providing a link to the download link 936.
- step 1052 the browser of the active device 778 is caused to display an acceptance message, before the administrative subroutine 946 returns to step 1022, causing the welcome screen to be displayed.
- step 1054 If it is determined in step 1054 that the third command button 982 of the dialog box 1076 has been selected, the administrative subroutine 946 ends in step 1056, with the call received in step 1020 being terminated.
- FIG. 33 is a flow chart showing processes occurring within the download subroutine 948 after a client device, such as an active device 778, 712, contacts the web server 141 through the download link 936 in step 1020, using, for example a link provided within an email sent in step 1050.
- a client device such as an active device 778, 712
- the browser of the active device 778, 712 is caused to display an introduction screen providing the user with a choice to download the programs.
- the destination suite 747 is transmitted from the web server 141 to be downloaded by the calling active device 778, 712.
- step 1068 a determination is made of whether the user of the calling active device 778 has responded with an identification of destination rules describing the types of content to be viewed and the times for viewing the content. For example, the user may indicate that he wants to view all of the content being developed. If it is determined in step 1068 information regarding such rules has been sent, the source suite 746 is sent in step 1070, with the download subroutine 948 then ending in step 1072.
- FIG. 34 is a flow chart showing processes occurring during execution of the create content subroutine 950 after a client device, such as an active device 778, 712, contacts the web server 141 through the create content link 938 in step 1076.
- a client device such as an active device 778, 712
- tags associated with the content received in step 1078 are examined to determine whether the content is part of a project requiring multiple content. If it is, a further determination is made in step 1082 of whether additional content is needed to complete the project. If it is, the content received in step 1078 is stored in the WIP content database 964 in step 1084, with the create content subroutine ending in step 1086.
- step 1078 the content received in step 1078 is assembled with other content from the WIP content database 964 in step 1088. Then, or alternatively following a determination in step 1080 that the content received in step 1078 is not part of a project requiring multiple content, a further determination is made in step 1090 of whether more structure is needed.
- the project may comprise making a calendar using content provided from various sources to form pictures, with the web server 141 providing the remaining structure of the calendar. If more content is needed, it is added in step 1092. In either case, the content is added to the distribute content database 962 in step 1094 for distribution according to the rules stored within the active cluster database 960, with the create content subroutine 950 ending in step 1096.
- the devices 778, 712, and 714 may remain connected to the web server 141 to receive content being distributed from the distributing content database 962 in accordance with the stored rules. Such operation may be particularly desirable for a passive device such as a digital picture frame. On the other hand, it is generally desirable to use the device 778, 712, or 714 for other purposes as well, so a distribute content link 940 is provided for a device 778, 712, 714 contacting the web server 141 to receive the content being distributed from the distribute content database 966.
- FIG. 35 is a flow chart showing processes occurring during execution of the distribute content subroutine 952 after a client device, such as an active device 778, 712, contacts the web server 141 through the distribute content link 940 in step 1 100.
- the active cluster database 960 is checked to determine whether the device 778, 712, 714 is included in one of the clusters 146.
- a further determination is made from the data within the active cluster database 960 of whether the rules stored within this database 960 permit the distribution of content to the particular device that has contacted the server. If they do, the content is distributed to the device in step 1106; otherwise execution of the distribute content subroutine 952 ends in step 1 108. If, at some time, the rules no longer permit the distribution of such content, for example, at the end of a specified time period, the subroutine 952 also ends in step 1108.
- content information is provided in multiple feeds that are not varied as various devices 778, 712, 714 begin receiving content information or cease to receive content information.
- the content information may be presented in a number of formats that are suitable for viewing, and listening including JPEG, MPEG, MPG, GIF, and data streaming.
- the web server 141 has been described and shown as an individual device, it is understood that several devices, operating together, may be used to provide for a sufficient number of simultaneous calls, or that multiple servers may be assigned to provide different functions, such as content delivery or financial arrangements.
- the bridge server 144 is connected to receive data from the
- Such data being originated, for example, in local input sources 131, from the page layout system 132, or from remote sources transmitting data to the web server 141 over the network 130.
- remote sources may include the remote image editor systems 143 and various devices within the clusters 146.
- FIG. 36 shows a flow of data through the bridge server 144, which receives input files 11 14 transmitted over the LAN 127.
- the input files 1 114 are in the PDF format.
- Input files 1114 are first stored within an input hot folder database 1 118.
- each replacement package file may be a file in the PDF format including a copy of the data that has been extracted to form one or more images, with the same sequentially assigned numbers being associated with the extracted data for each image and with the corresponding image data stored within the queue database 1122.
- Non-image data may additionally be extracted from the files stored within the input hot folders database 1 1 16 for use in determining how image data should be processed.
- such non-image data may be used to describe the placement of images on particular pages, or the non-image data may include tags placed within the input files 1 114 to indicate that certain images should be ignored or discarded.
- non-image data may be stored in the metadata sections of the input files 11 14 as described above in reference to FIG. 5.
- image enhancement system 145 program instructions are executed for enhancing images.
- the image enhancement process may include color correction and image sharpening subroutines that are well known to those skilled in the art of image processing.
- the image enhancement system 145 is a computer system executing a Kodak® DP2 software system for image enhancement. Image information is transmitted to the image enhancement system 145 from the queue database 1122.
- Corrected image data 1 128 from the image enhancement system 24 is transmitted back to the bridge server computer system 144, to be stored within an output hot folders database 30. Corrected images stored within the output hot folders database 30 are placed at locations indicated within the replacement package data structure 1124, forming output files 1 131 that are ready for printing.
- the output files 1 131 are files in the PDF format, which are stored in a files for printing database 1132, to then be transmitted along the LAN 127 for printing on the printed on a printer 134 (shown in FIG. 3).
- the output files 1131 may also include files transferred from the input hot folders database 11 18 without the extraction of images, if it has been determined that images should not be extracted from certain files that include data to be printed.
- the bridge server computer system 144 provides a bridge between an image level workflow 1 136 through the image enhancement system 145 and a document level workflow 1138 from the source of the input files 1 114 and the printer 134.
- FlG. 37 is a block diagram of lhe bridge server computer system 144, which includes a processor 1 150, a data bus structure 1 152 and data and instruction storage 1154, which includes the input hot folders database 1 118, the output hot folders database 1 134, the queue database 1 122, the files for printer database 1 132, and the replacement package data structure 1 124, all of which have been described above in reference to FIG.36.
- the data bus structure 1152 includes a system bus and a PCI (Peripheral Component Interconnect) bus.
- the data and instruction storage 1 154 also stores a bridge server routine 1156, including instructions executed within the processor 1 150 to provide for operation in accordance with the invention.
- a display device 1158 connected to the bus structure 1152 through an display adapter circuit 1 160, is used, for example, to display images of documents so that an individual using the bridge server computer system 144 can determine whether image enhancement is needed, with data describing a decision to provide image enhancement of an individual image being entered through a selection device 1162 connected to the bus structure 1152 through an adapter circuit 1164.
- the bridge server computer system 144 additionally includes a network interface circuit 1 165, connected to the LAN 127 and to the image enhancement system 145 through a router 1 167.
- the image enhancement system 145 is a computer system running a software system such as Kodak's DP2 Digital Print Production system for enhancing individual images, including color correction.
- the bridge server computer system 144 additionally includes a drive device 1168 for reading a computer readable medium 1169, such as an optical disk.
- the drive device 1 168 is then connected to the bus structure 1152 through an adapter circuit 1170.
- Data and program instructions, including the program instructions within the bridge routine 1156 can be loaded into data and instruction storage 1 130 from the computer readable medium 1136, which contains computer readable code,.
- data and program instructions may be loaded into data and instruction storage through the network interface circuit 1165 after being received over the LAN 127 in the form of a computer data signal embodied in a carrier wave.
- FIG. 38 is a flow chart of process steps occurring in the bridge server computer system 144 during execution of the bridge server routine 1156.
- FIG. 38 includes an upper portion, indicated as FIG. 38A, and a lower portion, indicated as FIG.38B.
- the bridge server routine 1 156 enters a loop 1 172, in which a number of determinations are made concerning events causing the execution of process steps. For example, if a determination is made in step 1174 that input files 1114 are being received, the input files 1114 are stored within the input hot folders database 11 18 in step 1176. Then, the routine 1156 returns to the loop 1172.
- step 1178 If it is determined in step 1178 that one or more files are available in the input hot folders database 1118, a further determination is made in step 1 180 of whether image enhancement is needed within the available files. If it is needed, one or more extract folders 1120 is formed in step 1182, to be stored within the queue database 1 122 in step 1 184, with replacement package data being stored within the replacement package database 1 124 in step 1186 before returning to the loop 1172. On the other hand, if it is determined in step 1180 that image enhancement is not needed within the available folders, the available files are stored as output files 31 in the files for printer database 1 132 in step 1188.
- step 1190 If it is determined in step 1190 that data for corrected images 1128 is being transmitted from the image enhancement system 26, such data is stored in the output hot folders database 1130 in step 1192 before returning to the loop 1172. If it is determined in step 1194 that files are available within the output hot folders database 1130, the corrected image data 1128 Is read from the output hot folders database 1130 in step 1196, with the replacement package data being read from the replacement package data structure 1124 in step 1198, and with corrected output files 1 131 being generated in step 1200 by placing the corrected images in the replacement package data. Then, in step 1202, the corrected output files 1 131 are stored in the files for printer database 1132.
- step 1204 If it is determined in step 1204 that files are available within the files for printer database 1132, a further determination is made in step 1206 of whether the printer 134 is available. If it is, one or more output files 1 131 are sent to the printer 134 in step 1208 before returning to the loop 1 172.
- the program may be ended, for example, by a user decision to shut down the bridge server computer system 144. If it is determined in step 1210 that the program is to be shut down, the bridge server routine 1156 ends in step 1212. Otherwise, the bridge server routine 1156 continues in loop 1172.
- FIG. 39 is a flow chart of process steps occurring during an exemplary version of the determination, in step 1180 of FIG. 38, of whether image enhancement is needed.
- the processes of step 1180 begin in step 1120 with a further determination of whether an input file 1114 includes an image is a supported type.
- all images within an input file 1114 may include only images representing thumbnails, that do not require image enhancement, or images described by data written in a format that is not supported by the image enhancement process occurring within the image enhancement system 145. If it is determined in step 1220, that there are no images that are of a supported type within the input file 11 14, the file 11 14 is transferred as an output file 1 131 to storage within the files for printer database 1132 in step 1188.
- step 1220 if it is determined in step 1220 that one or more of the images within an input file 1114 is of a supported type, a further determination is made in step 1222 of whether all images have been eliminated by non-image data stored in the input file 1 114.
- the input file 1 114 may be a PDF file including non-image data in the form of tags indicating that the images are to be ignored or not enhanced.
- the input file 1114 is transferred as an output file 1 131 to storage within the files for printer database in step 1 188.
- step 1224 determines whether the bridge server computer system 144 is operating in a manual selection mode, in which the user operating the system 144 is provided with a means to select individual images for enhancement. If it is not operating in the manual selection mode, extract folders are prepared in step 1182 to include the images not eliminated by the determinations of steps 1220. 1222. If the system 144 is operating in the manual selection mode, the images are displayed on the display device 1158 in step 1226. Then, the user selects the images to be enhanced using the selection device 1 162.
- the selection device 1162 may include a keyboard and a pointing device, such as a mouse, with the images being selected by typing identifying numbers on the keyboard or by using the pointing device to select individual images displayed on the display device 1160.
- a determination is made in step 1230 of whether one or more images have been selected. If no images have been selected, the input file 1114 is transferred as an output file 1 131 to storage within the files for printer database in step 1 188. If one or more images have been selected, extract folders are prepared for the selected images in step 1182.
- the input file 1114 is a PDF file, which may include multiple pages.
- the processes described above may be applied to multiple pages, to a single page, or to a fraction of a page, depending on the size and complexity of the pages within the input file 1114.
- FIG. 40 is a block diagram of an alternate version of the bridge server 144.
- An image enhancement process of the bridge server routine 1244 is used in place of image enhancement within the image enhancement system 26 of FIG. 3.
- the processor 1246 operates in a multitasking environment to execute instructions within the image enhancement routine 1242 and to additionally execute instructions in the bridge routine 1156, which operates generally as described above in reference to FIG. 37, being therefore accorded a like reference number.
- Data stored within the queue database 22 is provided for use within the image enhancement routine 1252, and data from the image enhancement routine 1252 is stored within the output hot folders database 30.
- the image enhancement routine 1242 performs various processes well known to those skilled in the art of image enhancement, such as color correction and image sharpening.
- a printer 1248 is attached to the bus structure 150 of the bridge server computer system 145, instead of being connected through the LAN 127, in the manner described above in reference to FIG. 3. It is understood that either type of printer attachment may be used with a bridge server computer system otherwise built as described above.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
Un système comprend divers systèmes informatiques connectés à un réseau et exécutant des programmes pour modifier et distribuer des données d'image graphiques. Dans une version du système, des systèmes clients sont formés en des groupes pour générer et distribuer des données graphiques. Dans une autre version, des fournisseurs de contenu fournissent des données de faible résolution pour des images qui sont modifiées et placées par des systèmes à distance pour un remplacement ultérieur par des données de haute résolution dans des documents imprimés à distance. Dans une autre version, un programme d'agencement de page utilise des données d'image de faible résolution pour permettre leur modification et leur placement dans un document, avec des instructions de commande placées dans les métadonnées des données de faible résolution, et avec un remplacement ultérieur en utilisant les données de haute résolution correspondantes. Dans une autre version, des fichiers d'entrée arrivent dans un flux de travaux dans lequel des données d’image sont extraites du flux de travaux pour être envoyées dans un processus d'amélioration d'image avant une réintégration dans le flux de travaux.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2008/006684 WO2009151413A1 (fr) | 2008-05-27 | 2008-05-27 | Système et procédé de modification et de distribution de données d'image graphiques |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2008/006684 WO2009151413A1 (fr) | 2008-05-27 | 2008-05-27 | Système et procédé de modification et de distribution de données d'image graphiques |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2009151413A1 true WO2009151413A1 (fr) | 2009-12-17 |
Family
ID=41416951
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2008/006684 Ceased WO2009151413A1 (fr) | 2008-05-27 | 2008-05-27 | Système et procédé de modification et de distribution de données d'image graphiques |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2009151413A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022119554A1 (fr) * | 2020-12-01 | 2022-06-09 | Nokia Solutions And Networks Oy | Mécanisme pour intégrer des sources de données relatives non standard dans un réseau de communication |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050283536A1 (en) * | 2004-06-21 | 2005-12-22 | Insors Integrated Communications | Real time streaming data communications through a security device |
| US20060041613A1 (en) * | 2004-08-18 | 2006-02-23 | Fackelmayer Jonathan R O | Method and system for visual art distribution and presentation |
| US20060123053A1 (en) * | 2004-12-02 | 2006-06-08 | Insignio Technologies, Inc. | Personalized content processing and delivery system and media |
| US7069314B1 (en) * | 1999-06-09 | 2006-06-27 | Fuji Photo Film Co., Ltd. | Method of performing a process and client server system |
| US20070201752A1 (en) * | 2006-02-28 | 2007-08-30 | Gormish Michael J | Compressed data image object feature extraction, ordering, and delivery |
-
2008
- 2008-05-27 WO PCT/US2008/006684 patent/WO2009151413A1/fr not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7069314B1 (en) * | 1999-06-09 | 2006-06-27 | Fuji Photo Film Co., Ltd. | Method of performing a process and client server system |
| US20050283536A1 (en) * | 2004-06-21 | 2005-12-22 | Insors Integrated Communications | Real time streaming data communications through a security device |
| US20060041613A1 (en) * | 2004-08-18 | 2006-02-23 | Fackelmayer Jonathan R O | Method and system for visual art distribution and presentation |
| US20060123053A1 (en) * | 2004-12-02 | 2006-06-08 | Insignio Technologies, Inc. | Personalized content processing and delivery system and media |
| US20070201752A1 (en) * | 2006-02-28 | 2007-08-30 | Gormish Michael J | Compressed data image object feature extraction, ordering, and delivery |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022119554A1 (fr) * | 2020-12-01 | 2022-06-09 | Nokia Solutions And Networks Oy | Mécanisme pour intégrer des sources de données relatives non standard dans un réseau de communication |
| US12250107B2 (en) | 2020-12-01 | 2025-03-11 | Nokia Solutions And Networks Oy | Mechanism for integrating non-standard related data sources into communication network |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3744313B2 (ja) | 画像プリント装置および方法、画像をプリントするためのプログラムを記録したコンピュータ読み取り可能な記録媒体、ならびに、画像管理システム | |
| US7830399B2 (en) | System and method for manipulating digital images | |
| CN1312597C (zh) | 服务处理装置、服务处理方法 | |
| US7576752B1 (en) | System and method for manipulating digital images | |
| US20060179080A1 (en) | System for management of source and derivative data | |
| JPH10313399A (ja) | 画像編集システム | |
| WO2003085510A1 (fr) | Dispositif et son procede de fonctionnement permettant a une imprimante d'imprimer une page presentant une configuration souhaitee | |
| US20020103826A1 (en) | System and method for creating documents populated with variable data | |
| JPH11167594A (ja) | 写真サービス用の注文情報記録媒体および注文ファイル作成装置 | |
| JP2004110829A (ja) | 既定義の基準を有する画像プロダクトを創作するための方法及びソフトウエアプログラム | |
| US20060143684A1 (en) | Method and system for allowing a user to specify actions that are to be automatically performed on data objects uploaded to a server | |
| JP2004287860A (ja) | サービス処理装置、サービス処理方法及びプログラム | |
| US7127124B2 (en) | Method, apparatus and program for composite image generation | |
| US20090210512A1 (en) | System, method, and program product for creating and sharing digital image output data across a network | |
| US8223373B2 (en) | Image editing pipelines for automatic editing and printing of online images | |
| CN1202649C (zh) | 在线影集图像打印系统、使用它的服务器和照片处理系统 | |
| US20060143607A1 (en) | Method and system for allowing a user to create actions to be taken by a server | |
| US8255797B2 (en) | Information processing apparatus and method | |
| US20020029242A1 (en) | Image editing method and system | |
| US20030084055A1 (en) | Method, apparatus and program for outputting templates | |
| JP2006135819A (ja) | 画像管理システム | |
| WO2008006092A2 (fr) | Système, procédé, et produit de programme d'ordinateur pour impression à distance | |
| US6982809B2 (en) | Photographic printing system | |
| JP2010003127A (ja) | ドキュメント管理装置、ドキュメント管理システム、ドキュメント管理方法、およびコンピュータプログラム | |
| US20090055772A1 (en) | Systems and methods for accessing a photo print service through a printer driver |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08754735 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 08754735 Country of ref document: EP Kind code of ref document: A1 |