The present invention relates to computer-implemented automated electronic product design.
Many individuals, businesses, and organizations occasionally have a need for custom printed materials, such as business cards, product or service brochures, promotional postcards, personalized holiday cards, or any number of other items. Some of these individuals and businesses turn to sources such as a local print shop for assistance in preparing the materials. These same individuals, businesses and organizations also often have a need for custom electronic products such as websites, mobile-ready websites, social media pages, and other documents that are viewable on an electronic medium. Those having access to a suitable computer may perform the product design process themselves using any of the various specialized software products available for purchase and installation on an appropriate computer system or by using a Web-based service provider that takes advantage of the capabilities of the Web and modern Web browsers to provide printed and/or electronic document design services from any computer with Web access at whatever time and place is convenient to the user.
Computerized design products and Web-based service providers often provide their customers with the ability to access and view pre-designed product templates and enter text and images, and change color schemes and text font, to create a customized product design. Generally, the template provider has individually designed each template by defining various details of the template, such as the size and position of all image and text areas in the template, selecting images, cropping (if necessary) and positioning the selected images, defining colors to be used for template elements having a color attribute, and so forth. The template designer adjusts the various design elements until the designer is satisfied with the overall appearance of the template. User editing is usually limited to allowing the user to add, modify and position text, change the color scheme and font scheme, and in some cases, to select different images. Some template providers also often allow the user of the template to upload images to be inserted into a placeholder image container in the template design.
Generally speaking, a computerized design product and/or Web-based service provider typically provides a library of images which may be used in the design of a customized printed and/or electronic product. The images provided by the design product or service have typically been prepared to fit properly within the dimensions of one or more image containers, and the image content has been approved by a designer as containing only image content (i.e., artwork) and no extraneous content such as printer control marks. However, when an image is uploaded or otherwise provided by a user of the design product or service for insertion into an image container of a selected template, the image may not always contain only the desired image artwork. This may occur for several reasons. First, some computerized photo-finishing, graphic design, or image processing products, for example Adobe InDesign, Adobe Illustrator, Quark, and others, allow a user to save the file in a print-ready format, such as a .pdf format. Often, such products have features that allow the print-ready file to include printer control marks such as crop marks, registration marks, color calibration marks, and also additional bleed area. Often, image processing service providers such as photo and document print shops require the print-ready files to include a specified bleed area and crop marks. A user who prepares a print-ready file containing the image may thus knowingly instruct the computer program (e.g., Adobe InDesign, Adobe Illustrator, Quark, etc.) to include such printer control marks. In other instances, the user may be unaware that the computer program configuration is set to add printer control marks, which are thus added to the print-ready file and are thus included in the image. If the user does not preview the image, such user may not even realize that such printer control marks are included in the print-ready file. Finally, a user may scan a hard-copy of a printed photograph. Often, printed photographs contain printer control marks such as crop marks.
When a user provides, for example by selecting from a local library of user images, or uploads a print-ready file containing printer control marks to a Web-based print or electronic product design service for insertion into an image container of a selected template, the user is therefore often (1) unaware that the image file print-ready file or scanned image file) contains printer control marks, or (2) aware that the image contains printer control marks but believes the printer control marks will be not appear in the final product. Unfortunately, in both cases, the printer control marks will indeed appear when the uploaded image file is inserted into an image container of the selected template. The end result is a final product design that does not appear as the user assumed it would, leading to end-user disappointment and/or frustration.
It would therefore be desirable to provide a mechanism for alerting customers to potential issues related to the existence of printer control marks in images intended to be inserted into image containers of a user-customized template so that such problems, if undesired, can be addressed prior to ordering of a finished product. It would also be desirable to provide a mechanism for detecting and automatically removing such detected printer control marks, especially at the customer's discretion, from images inserted into a template for an electronic document.
The present invention is directed to satisfying the need for computer implemented systems and methods that detect and provide options for removing printer control marks in images that are to be inserted into design templates.
In accordance with one embodiment of the invention, a method is provided for processing images for insertion into a selected image container of a document template. The method includes receiving a rasterized image, processing the received image to determine whether the received image contains any printer control marks, and providing an indication if the received image contains one or more printer control marks.
In accordance with another embodiment of the invention, a system for detecting and indicating that an image to be inserted into an image container of a product design template contains printer control marks includes one or more processors configured to receive an image, process the image to determine whether the image contains printer control marks, and providing a visual indicator to the user that the image contains printer control marks.
In one or more embodiments, the system and method may perform automatic cropping of the image to produce a cropped version of the image which may be inserted into the image container in place of the original image.
In general, the template is stored as an electronic file or description that contains a markup language description of each of the template components (e.g., background, text container, image container, color scheme, font, layout, etc., along with any predefined values for associated component attributes. In order to allow a template to be displayed on an electronic display and used by an end-user of the template to create a customized product, a computer program such as a browser or a product design program accesses the selected template description and renders the described components on the computer display according to the markup language description of each component. Typical markup languages include HyperText Markup Language (HTML), Dynamic HTML (DHTML), Extended HTML (XHTML), etc., each of which is interpreted by a modern browser such as Microsoft's Internet Explorer, Google's Chrome, Mozzilla's Firefox, etc. An example of an exemplary product design tool which is suitable for creating customized products based on predefined templates is described in detail in U.S. application Ser. No. 10/449,836 entitled “Electronic Document Modification”, filed May 20, 2003, the complete contents of which are hereby incorporated by reference into this application, which is hereby incorporated by reference for all that it teaches.
As described above, individual templates may contain one or more of an image container into which an image may be inserted. As further described above, in a typical markup language document, the particular image to be inserted into the image container is specified by image file name as the image source attribute in the image element tag (e.g., in HTML, an image container may be specified as: <IMG ALT=“Your Image Here” SRC=“myURL/myimage.jpg”>). When a customer uploads or otherwise provides an image, the image often contains crop, registration, and/or printer calibration or other control marks used by a printing system for printer process calibration and/or post processing of the image.
By contrast,
Printer control marks are marks along the edges of the image which are used by the printing (and/or cutting) system for use in post-processing or printing system maintenance/analytics. The rendered image 5b in
Another common printer control mark is known as a “registration mark”. Registration marks are utilized by a printing and/or cutting systems to align the print substrate (or itself relative to the print substrate) for accurate print and/or cut operations.
Still another common printer control mark is known as a “calibration mark”, which is typically a printed pattern designed to fully test the color and/or density of the ink output by the printer. A printed calibration mark may be analyzed by technicians to determine the quality of the print and operates as feedback to the technicians to assist them in making adjustments to the printer to maintain the print quality within a desired specification. Calibrations marks are shown at 8a, 8b, 8c in
As described in the background section, printer control marks may be inserted automatically by the design-, photo- or image-processing software that creates the particular image, or they may have been present in an original image that was scanned to create the particular image. When inserting an image into an image container of a selected document template, sometimes the customer uploads the image in a print-ready format, such as a .pdf format. Other times, the customer converts a .pdf or other print-ready format image to a raster image and then uploads the raster image. Other times, a customer uploads the image in a rasterized format, sometimes generated as the result of scanning a hard-copy of an image. In any of the above cases, in many instances the converted or uploaded image may include printer control marks 6a, 6b, 6c, 6d, 7, 8a, 8b, 8c that are undesirable for display in the template in which the image is to be inserted. These printer control marks are included as part of the image that is inserted into an image container of a selected template. Generally, this is undesirable, as the customer's intent is to include only the image content (referred to herein as “artwork”) and not the printer control marks. When inserting an image into an image container of a template, it is therefore desirable that the image inserted therein does not include any printer control marks and that the image is sized to fill at least one dimension of the image container.
When UCS 100 is operating, an instance of the USC 100 operating system will be executing, represented in
Referring to server 110, in an embodiment the server 110 is a computer system having one or more processors 119 that execute program instructions stored in memory 111 and which communicates with remote computers such as UCS 100 via a network 120. The network connection(s) may include wireless network communication, or wired connections such as a Local or Wide Area Network (LAN, WAN), etc. Memory 111 represents all components and subsystems that provide server data storage, such as RAM, ROM, and disk drives or arrays. Template memory 112 contains the various layout, design, color, font, and other information provided by the service provider to enable the creation and rendering of templates. As used in this embodiment, a layout is a markup language description (such as XML) that specifies the size, position and other attributes of all product elements such as text containers, image containers, graphics, z-index values and so forth.
Image memory 113 represents the portion of memory 111 that contains the images and any related image attributes used b r the service provider to generate the product design, such as the image size, default colors associated with the image, and one or more keywords that have been associated with that image by the printing service provider. Image memory 113 includes a base image and may, but need not, include one or more cropped versions of the base image prepared by the service provider to fit various image container shapes. A wide variety of different templates can be created by combinations of layouts and images. Co-pending and co-owned U.S. application Ser. No. 10/646,554 entitled “Automated Image Resizing and Cropping”, filed Aug. 22, 2003, the complete contents of which are hereby incorporated by reference into this application, discloses document editing systems for combining separately stored images and layouts to create document designs.
Referring now to
As an illustrative example, it will be assumed that the user of UCS 100 desires to create a personalized business card and, therefore, selects the business card option, for example by clicking with the user's mouse cursor on a business card selection control on a web page of the product vendor's website (not shown). The user will then be presented with one or more additional selection screens, not shown, from which the user can review the various business card categories by general theme or subject matter and then, when the desired category is selected, review one or more pages of thumbnail images of business card templates prepared by the service provider. When a desired template thumbnail is located, the user can click on the image to cause server 110 to download the selected template information and initiate a custom product design session. As an alternative to providing a large gallery of thumbnail template images for the user to scan, the service provider could provide a keyword searching tool to allow the service provider to display only thumbnails of templates with images or other content corresponding to the user's search terms.
Referring to
The initial template 20 is the starting point for the user's customized product design. The user can add the user's personalized text into text containers 23a-23f and insert a personalized image into image container 24. Other components, such as the background image 21 and header image 22 are locked and cannot be edited by the end user.
To allow the user to customize the product design, the user is provided with template editing tools. Text form boxes 25a, 25b, 25c, 25d, 25e, 25f, allow the user to enter text which will be entered into the design 20 in corresponding text containers 23a, 23b, 23c, 23d, 23e, 23f. In an embodiment, the template image 20 is a What-You-See-Is-What-You-Get (WYSIWYG) image in that it shows on the display screen exactly what the finished product will look like when printed, published, or otherwise finished. Initially, each text form field 25a-25f includes sample text, which is displayed in the product design image 20 as it will appear in the final product. The sample text is provided to give the user an idea of how the final product will look, including the placement of any text. The user may remove any sample text by editing it, replacing the sample text in the text form fields 25a-25f with personalized text, or may remove any of the text altogether. Accordingly, when a user enters text into one of the form boxes 25a-25f, the text may be sent back to the server 110 to be rendered into an image of the text, and the rendered image of the text is sent back to the UCS 100 and rendered in the specified position as defined by the position attribute of the corresponding text container in the template design description. Thus, what appears in the product design image 20 is what will appear in the final product. In an embodiment, the product design image 20 is updated in realtime as the user types the personalized text content in the form boxes 25a-25f. In
Additional attributes of the components may optionally be customizable by the user, for example tools to allow the user to change fonts, color schemes, add text and/or image containers, reposition text and/or image containers, and perform other typical editing actions, using various buttons, controls and menus (not shown). The techniques for designing and using edit tool bars are well known in the art. Navigation buttons Back (not shown) and Next 26 allow the user to move back to the previous display screen or ahead to the next. Different or additional navigation means could also be employed.
Depending on the level of customizing capabilities the service provider desires to give to the user, the service provider may also choose to provide the user with one or more additional instructions, tools, or controls (not shown) to facilitate user editing of template 20, such as tools for changing the template layout, the color scheme, the design effects, or the font scheme. Co-pending and co-owned U.S. application Ser. No. 10/449,836 entitled “Electronic Document Modification”, filed May 20, 2003, the complete contents of which are hereby incorporated by reference into this application, describes a document editing system and method using separately selectable layouts, designs, color schemes and font schemes.
Design tool 106 provides one or more methods to allow the user to indicate a desire to insert or replace an image in image container 24, for example by positioning the user's mouse cursor over the desired image area and double clicking. Referring to
In the example shown in
Referring again to
If printer control marks are not detected (determined in step 104), the raster image is inserted into the selected image container (step 105) and the updated template image (i.e., the product design image 20) with the image inserted in the image container 24 is displayed (step 114).
If printer control marks are detected (determined in step 104), however, an indication to the user that the image does contain printer control marks is displayed on the display screen (step 106). The indication may take various forms. In an embodiment, the system 110 automatically determines where the image should be cropped (step 107). In general, all images that contain any printer control marks, typically always contain crop marks. Thus, in an embodiment, the system 110 selects the pixels coinciding with the crop marks as the row and column pixels along which the image should be cropped. In an embodiment, the system then automatically crops the raster image along the determined crop lines (step 110). In an alternative embodiment, an image containing an indicator such as dashed or solid lines overlaying the raster image along the determined crop lines is displayed to the user (step 108) and the user is offered a choice whether to accept the proposed crop, or deny the proposed crop (step 109). Alternatively, the system 110 may automatically crop the image at the determined crop lines (step 110), present both the uncropped version and the cropped version and allow the user to select one of the cropped version, the uncropped version, or alternatively, allow the user to invoke a manual crop tool to allow the user to manually crop the image prior to insertion of the image into the image container 24.
To detect crop marks in the image, the system 110 locates lines of adjacent pixels of the same color located along horizontal lines (for row-wise scanning). (For column-wise scanning, the system looks for adjacent pixels of the same color located along vertical lines). The system then rotates the image by 90 or 270 degrees and repeats the search for horizontal (or vertical) lines (step 210). From the pool of detected lines, the system locates matching pairs of horizontal lines. Matching pairs of horizontal lines are lines with the same number (length) of pixels which align along the same row) (for row-wise scanning). Matching pairs of vertical lines are lines with the same number (length) of pixels which align along the same column) (for column-wise scanning) (step 211). From the pool of detected lines, the system locates matching pairs of vertical lines. Matching pairs of vertical lines are lines with the same number (length) of pixels which align along the same column) (for row-wise scanning). Matching pairs of vertical lines are lines with the same number (length) of pixels which align along the same row) (for column-wise scanning) (step 212).
If an image contains pairs of matching horizontal line candidates and pairs of matching vertical line candidates (determined in step 213), then the image likely contains crop marks. One common characteristic of such print control marks is that they typically lie in the margin of the printed product—that is, outside the target print area of content images to be, and/or that actually are, printed. Optionally, a check can be made (step 214) to determine that the detected crop mark candidates are within a predetermined distance (e.g., 0.5 inch or less) of the nearest respective edges of the image.
While an illustrative embodiment has been discussed, alternate embodiments could also be employed. For example, while the invention has been described in a Web-based environment, it is not so limited. Therefore, the described embodiments are to be considered as illustrative rather than restrictive and the scope of the invention is as indicated in the following claims and all equivalent methods and systems.