The present invention is directed to a system and method for generating a digital image collage; in particular, the present invention is a method directed to generating the digital image comprising a collage template with randomized layouts with varying aperture sizes and/or shapes, and digital images positioned within the respective apertures; further, the system and method may include minimum aspect ratio limitations for each aperture, auto-cropping the digital images to fit within respective apertures, and allowing for the selection of a target digital image that is populated and displayed in the apertures with the largest area.
Handheld mobile computing devices such as smartphones, digital cameras and webcams have enabled users to capture digital images that are used to create photo collages made up of multiple digital images laid out on a single page. In particular, existing software has made it possible to create collages made up of digital images of differing sizes. However, these existing solutions provide templates with preset layouts. While these templates may be convenient for the user, the generated collages look generic, uncreative, and bland, leaving the user disinterested with repeating the process of generating such a collage. Accordingly, what is needed is a system and method for providing randomized digital image collage layouts that provide a unique look and feel for each new collage. The present invention fills this need as well as other needs.
One aspect of the present invention is directed to a method programmed for execution in a computing environment for generating a digital image collage. Utilizing a processor the method comprises: a) accessing a plurality of digital images stored in a memory; b) selecting a first digital image from the plurality of digital images, and in response to the selection of the first digital image: generating a first aperture in a layout of a collage template to establish a first arrangement, and populating the first aperture with the first digital image; c) selecting a second digital image from the plurality of digital images, and in response to the selection of the second digital image: randomly dividing the first aperture into a second aperture and a third aperture to change the layout from the first arrangement to a second arrangement, wherein each of the second aperture and the third aperture are assigned a weight, wherein assigning the weight takes into account an area of the respective aperture, a normalized ratio, a ratio coefficient, an error percentage, and an error percentage coefficient, populating the second aperture with the first digital image, and populating the third aperture with the second digital image; and d) selecting a third digital image from the plurality of digital images, and in response to the selection of the third digital image: comparing the weight of the second aperture and the third aperture; determining that the second aperture has a greater weight; randomly dividing the second aperture in into a fourth aperture and a fifth aperture to change the layout from the second arrangement to a third arrangement, populating the third aperture with one of the first digital image, the second digital image, or the third digital image, populating the fourth aperture with one of the two remaining digital images, and populating the fifth aperture with the other of the two remaining digital images thereby generating the digital image collage.
In another aspect, instead of randomly dividing the second aperture in into a fourth aperture and a fifth aperture, it is also within the scope of the invention to randomly divide the third aperture into the fourth and fifth aperture to change the layout from the second arrangement to a third arrangement. In such a case, the second aperture is then populated with one of the first digital image, the second digital image, or the third digital image, and the fourth and fifth apertures are populated with the remaining digital images.
In a further aspect, a method programmed for execution in a computing environment for generating a digital image collage comprises: accessing a plurality of digital images stored in a memory, wherein the plurality of digital images includes a first digital image, a second digital image, and a third digital image; generating a first aperture in a layout of a collage template to establish a first arrangement; randomly dividing the first aperture into a second aperture and a third aperture to change the layout from the first arrangement to a second arrangement, determining a weight for each of the second aperture and the third aperture, wherein the step of providing the weight takes into account at least one of an area of the respective aperture, a normalized ratio, a ratio coefficient, an error percentage, and an error percentage coefficient; comparing the weight of the second aperture with the weight of the third aperture; determining that the weight of the second aperture is greater than the weight of the third aperture; randomly dividing the second aperture in into a fourth aperture and a fifth aperture to change the layout from the second arrangement to a third arrangement; determining the weight for each of the fourth aperture and the fifth aperture; designating one of the first digital image, the second digital image, or the third digital image as a first target digital image; populating the first target digital image in one of the first aperture, the fourth aperture, or the fifth aperture, wherein the target digital image is populated in the aperture that has the greatest weight; and populating one of the remaining digital images in one of the remaining apertures, and populating the other of the remaining digital images in the other of the remaining apertures thereby generating the digital image collage.
Additional benefits of the above-described system and method for organizing digital images in a collage template are set forth in the following discussion.
The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become apparent and be better understood by reference to the following description of the invention in conjunction with the accompanying drawings, wherein:
Referring to the drawings in detail, with particular reference to
System 100 may generally include one or more photofinishing devices 102, a server 104, and a remote computing device 105, such as, for example, a photo kiosk 106, a desktop computing device 108 or a mobile computing device 110. It should be understood that photo kiosk 106 may also have the capability to serve as photofinishing device 102. Each of the aforementioned components of system 100 may be in communication with each through a network 112, such as a wide area network or local area network through a wired or wireless connection. One or more of server 104, photo kiosk 106, desktop computing device 108, and mobile computing device 110 may include a memory 114, which may have a collage module 116 stored therein. As such, collage module 116 is not limited to any specific hardware or software configuration, but may rather be implemented as computer executable instructions in any computing or processing environment, including in digital electronic circuitry or in computer hardware, firmware, device driver, or software. As will be discussed in more detail below, collage module 116 may be used to generate a digital image collage comprising a collage template including one or more randomly configured apertures for a corresponding number of selected digital images, and allow for the population or placement of the selected digital images into the respective apertures. Collage module 116 may also be used to generate and communicate a collage order including the digital image collage to the any one of photofinishing devices 102 or kiosk 106 to create a print product selected by a user.
Each of photofinishing devices 102 is a printing device configured for producing a print product that incorporates the digital image collage. A print product can be any type of good or electronic product that has the digital image collage printed or displayed thereon, such as, for example, photographic print, photo book, calendar, mug, poster, T-shirt, gift card, canvas print, mouse pad, and the like. Given the wide variety of print products that may be produced, system 100 may include a plurality of different types of photofinishing devices capable of producing such print products. Photofinishing devices 102 may be physically located in a single physical location, such as a fulfillment center (e.g., retail/drug store) or in different physical locations, and may be in communication with each other through network 112.
Mobile computing device 110 may be any type of smartphone, tablet, or other mobile device including a processor capable of displaying digital images, generating the digital image collage using collage module 116, and communicating with any one of photofinishing devices 102 or photo kiosk 106 to create the print product. Likewise, it should be understood that desktop computing device 108 may include a processor that is capable of displaying digital images, generating the digital image collage using collage module 116, and communicating with any one of photofinishing devices 102 or photo kiosk 106 using collage module 116 to create the print product.
In accordance with one aspect, photofinishing device 102 is configured for receiving the collage order from remote computing device 105, server 104, or kiosk 106 through network 112. It should be understood that any of photofinishing devices 102 may directly receive the collage order from remote computing device 105 through network 112, or receive the collage order from server 104 or kiosk 106 after the collage order is communicated to server 104 or kiosk 106 from remote computing device 105, or generated by server 104 or kiosk 106. Moreover, in preparing the collage template using collage module 116, remote computing device 105 may be used to upload one or more digital images by accessing the digital images stored in memory 114 of that particular device, through the implementation of a corresponding camera device (e.g., webcam or digital camera), or by accessing those digital images stored in memory 114 of server 104 through network 112. For example, remote computing device 105 may include one or more software applications including executable instructions that operate to allow a user to capture, save, and/or edit digital images in the device's memory 114 or by a third party that provides for the storage of digital images, such as server 104, such as INSTAGRAM® and IPHOTO®.
As best seen in
As seen in
In randomly dividing first aperture 212 into second and third apertures 215, 216, it should be understood that the collage module 116 may take into account certain predefined constraints in determining the resulting size and/or shape of second and third apertures 215, 216. In one aspect, the resulting size and/or shape of each randomly divided second and third apertures 215, 216 may be bound to a predefined minimum aspect ratio (e.g., a height by width ratio equal to 0.7). Alternatively, collage module 116 may also use a predefined maximum aspect ratio (e.g., a height by width ratio equal to 2.6) for determining the size and/or shape of second and third apertures 215, 216. In a further example, collage module 116 cannot randomly divide first aperture 212 such that one or both of second or third aperture 215, 216 has an area smaller than the minimum aspect ratio (e.g., 400 pixels by 400 pixels) and larger than the maximum aspect ratio (e.g., 1000 pixels by 1000 pixels). The minimum and maximum aspect ratios may also be modified to allow the apertures to fit into layout 204 either in a portrait or landscape configuration. It should also be understood that user interface 200 may be configured to allow a user to modify the predefined minimum and/or maximum aspect ratios. User interface 200 may also be configured to allow a user to manually modify the size and/or shape aperture area, if needed. While the shape of apertures shown and described previously or below, including first, second or third apertures 212, 213, 214, are shown as being rectangular in shape, it should be understood that any shape is contemplated herein, including but not limited to, squares, circles, and ovals.
In another aspect, when a digital image is selected by a user for population into an aperture of layout 204, collage module 116 may automatically crop the selected digital image (or allow for manual cropping by the user) so that the digital image fits within the aperture. This method of cropping may take many different forms. For example, in one non-limiting example, the selected digital image may be cropped so that the central focal point of the digital image is displayed in collage layout 204. In this example, once the aperture is randomly divided, collage module 116 may identify the center point (not shown) of the area of the aperture. Once the center point is identified, the center of the corresponding digital image will be aligned relative to the center point of the aperture and any portions of the digital image falling outside the aperture boundaries will be removed accordingly. In other non-limiting example, facial recognition software may be used to perform the crop in a manner that all faces in the digital image will be displayed in its respective aperture and not removed through the cropping process. It should also be understood that each generated aperture is automatically associated with all of the data related to the digital image (including the image data that was deleted due to cropping) to allow for the modification of digital image constraints after being populated in the aperture, in order to optimize placement of the digital images within the aperture. For instance, collage module 116 may allow a user to reposition a digital image after it has been populated in an aperture.
After each digital image is populated in layout 204, an indicator 220 may be provided for each of the selected digital images displayed in catalog segment 206. As shown in
In a further aspect, as best seen in
As best seen in
In another aspect, collage module 116 may automatically calculate a weight for each generated aperture. This weight may be determined using one or more of the aperture area, normalized ratio, ratio coefficient, error percentage, and error percentage coefficient. Once each weight is calculated for each generated aperture, the algorithmic method determines if the aperture having the greatest weight comprises an aperture area outside the desired range for the predetermined aspect ratio, as discussed above. If this aperture has an excessive aperture area, collage module 116 will modify this aperture such that the aperture area falls within the boundary of the predefined maximum aspect ratio. Collage module 116 will subsequently move on to the aperture with the next greatest weight and modify that aperture accordingly. As such, this process will continue until all apertures in the layout have been modified.
The calculated weight for each aperture may also be used in determining the order of digital image size priority to be displayed in the layout. For example, the aperture with the greatest weight would be provided to conform to the predetermined maximum aspect ratio, which may be the aperture having the largest area. In turn, the aperture with the next greatest weight would be provided to conform to an aspect ratio which is smaller in size compared to that of the maximum aspect ratio. This would occur until the aperture with the least weight is provided to conform to an aspect ratio smaller than all other assigned aspect ratios. Moreover, in further response to the fourth user input, collage module 116 in turn populates each aperture with the corresponding digital images.
As shown in
As shown in
As shown in
While an exemplary machine-algorithm method for collage module 116 has been described above and with reference to the figures above, it will be understood that certain exemplary embodiments may change the order of steps of the algorithmic method or may even eliminate or modify certain steps.
Having described the exemplary system and exemplary method of the present invention, an exemplary computer environment for implementing the described design and execution is presented next.
The system memory 736 is also connected to bus 724 and may include read only memory (ROM), random access memory (RAM), an operating system 744, a basic input/output system (BIOS) 746, application programs 748 and program data 750. The computer 712 may further include a hard disk drive 752 for reading from and writing to a hard disk, a magnetic disk drive 754 for reading from and writing to a removable magnetic disk (e.g., floppy disk), and an optical disk drive 756 for reading from and writing to a removable optical disk (e.g., CD ROM or other optical media). The computer 712 may also include USB drives 745 and other types of drives for reading from and writing to flash memory devices (e.g., compact flash, memory stick/PRO and DUO, SD card, multimedia card, smart media xD card), and a scanner 758 for scanning items such as still image photographs to be downloaded to computer 512. A hard disk drive interface 752a, magnetic disk drive interface 754a, an optical drive interface 756a, a USB drive interface 745a, and a scanner interface 758a operate to connect bus 724 to hard disk drive 752, magnetic disk drive 754, optical disk drive 756, USB drive 745 and scanner 758, respectively. Each of these drive components and their associated computer-readable media may provide computer 712 with non-volatile storage of computer-readable instruction, program modules, data structures, application programs, an operating system, and other data for computer 712. In addition, it will be understood that computer 712 may also utilize other types of computer-readable media in addition to those types set forth herein, such as digital video disks, random access memory, read only memory, other types of flash memory cards, magnetic cassettes, and the like.
Computer 712 may operate in a networked environment using logical connections with network 112. Network interface 728 provides a communication path 760 between bus 724 and network 112, which allows, for example, a collage order to be communicated to photofinishing device 102. The collage order, for example, may also be communicated from bus 724 through a communication path 762 to network 112 using serial port 732 and a modem 764. It will be appreciated that the network connections shown herein are merely exemplary, and it is within the scope of the present invention to use other types of network connections between computer 712 and network 112 including both wired and wireless connections.
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects hereinabove set forth together with other advantages which are obvious and which are inherent to the method and apparatus. It will be understood that certain features and sub combinations are of utility and may be employed without reference to other features and sub combinations. This is contemplated by and is within the scope of the claims. Since many possible embodiments of the invention may be made without departing from the scope thereof, it is also to be understood that all matters herein set forth or shown in the accompanying drawings are to be interpreted as illustrative and not limiting.
The constructions described above and illustrated in the drawings are presented by way of example only and are not intended to limit the concepts and principles of the present invention. As used herein, the terms “having” and/or “including” and other terms of inclusion are terms indicative of inclusion rather than requirements.
While the invention has been described with reference to preferred embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof to adapt to particular situations without departing from the scope of the invention. Therefore, it is intended that the invention not be limited to the particular embodiments disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope and spirit of the appended claims.
This application is a continuation of U.S. patent application Ser. No. 15/444,825, filed Feb. 28, 2017, which claims the benefit of U.S. Patent Application No. 62/301,483, filed on Feb. 29, 2016, which are hereby incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
6940526 | Noda et al. | Sep 2005 | B2 |
7010176 | Kusunoki | Mar 2006 | B2 |
7133050 | Schowtka | Nov 2006 | B2 |
7209149 | Jogo | Apr 2007 | B2 |
7489324 | Royal et al. | Feb 2009 | B2 |
7529390 | Zhang et al. | May 2009 | B2 |
7573486 | Mondry et al. | Aug 2009 | B2 |
7595809 | Widdowson | Sep 2009 | B2 |
7656543 | Atkins | Feb 2010 | B2 |
7675528 | Walker, Jr. et al. | Mar 2010 | B2 |
7689064 | Miksovsky et al. | Mar 2010 | B2 |
7689909 | Szuszczewicz | Mar 2010 | B1 |
7743322 | Atkins | Jun 2010 | B2 |
7760956 | Lin et al. | Jul 2010 | B2 |
7848596 | Widdowson | Dec 2010 | B2 |
7961200 | Walker, Jr. et al. | Jun 2011 | B2 |
8065627 | Atkins | Nov 2011 | B2 |
8103130 | Royal et al. | Jan 2012 | B2 |
8176414 | Baluja | May 2012 | B1 |
8180178 | Cheatle | May 2012 | B2 |
8265429 | Sagawa | Sep 2012 | B2 |
8385690 | Royal et al. | Feb 2013 | B2 |
8422794 | Ptucha et al. | Apr 2013 | B2 |
8504932 | Quek et al. | Aug 2013 | B2 |
8577173 | Cok et al. | Nov 2013 | B2 |
8806332 | Cok | Aug 2014 | B2 |
8903200 | Yamaji et al. | Dec 2014 | B2 |
8907984 | Weber et al. | Dec 2014 | B2 |
8908984 | Carmel et al. | Dec 2014 | B2 |
8923551 | Grosz et al. | Dec 2014 | B1 |
8923617 | Yamaji et al. | Dec 2014 | B2 |
8930811 | Cok et al. | Jan 2015 | B2 |
8947451 | Mondry et al. | Feb 2015 | B2 |
8976198 | Borders et al. | Mar 2015 | B2 |
9025907 | Bogart et al. | May 2015 | B2 |
9049419 | Cheatle | Jun 2015 | B2 |
9152292 | Xiao et al. | Oct 2015 | B2 |
9153056 | Hilt | Oct 2015 | B2 |
9251763 | Shetterly et al. | Feb 2016 | B2 |
9491318 | Swire et al. | Nov 2016 | B2 |
9507506 | Grosz et al. | Nov 2016 | B2 |
9558577 | Hobbs et al. | Jan 2017 | B2 |
9665963 | Chang | May 2017 | B1 |
10007847 | Shah | Jun 2018 | B2 |
10186064 | Shetterly | Jan 2019 | B2 |
20030160824 | Szumla | Aug 2003 | A1 |
20050071781 | Atkins | Mar 2005 | A1 |
20050071783 | Atkins | Mar 2005 | A1 |
20060181736 | Quek et al. | Aug 2006 | A1 |
20060257048 | Lin et al. | Nov 2006 | A1 |
20070074110 | Miksovsky | Mar 2007 | A1 |
20080222560 | Harrison | Sep 2008 | A1 |
20100189355 | Tanaka | Jul 2010 | A1 |
20100199227 | Xiao et al. | Aug 2010 | A1 |
20110280476 | Berger et al. | Nov 2011 | A1 |
20110280497 | Berger | Nov 2011 | A1 |
20110283210 | Berger et al. | Nov 2011 | A1 |
20120013640 | Chen | Jan 2012 | A1 |
20120042240 | Oliveira | Feb 2012 | A1 |
20120082401 | Berger | Apr 2012 | A1 |
20120117473 | Han | May 2012 | A1 |
20120201476 | Carmel | Aug 2012 | A1 |
20130185632 | Damera-Venkata | Jul 2013 | A1 |
20130314434 | Shetterly | Nov 2013 | A1 |
20140189476 | Berthelot et al. | Jul 2014 | A1 |
20140280054 | Karunakaran et al. | Sep 2014 | A1 |
20150193407 | Baluja | Jul 2015 | A1 |
20150206281 | Takada | Jul 2015 | A1 |
20150221117 | Hobbs | Aug 2015 | A1 |
20150278986 | Edwin et al. | Oct 2015 | A1 |
20160027195 | Sheasby et al. | Jan 2016 | A1 |
20160139761 | Grosz | May 2016 | A1 |
20160180566 | Shetterly | Jun 2016 | A1 |
20160301813 | Swire | Oct 2016 | A1 |
20170024362 | Borders | Jan 2017 | A1 |
20170041542 | Ono | Feb 2017 | A1 |
20170249767 | Fuss | Aug 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20210142544 A1 | May 2021 | US |
Number | Date | Country | |
---|---|---|---|
62301483 | Feb 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15444825 | Feb 2017 | US |
Child | 17157227 | US |