[go: up one dir, main page]

WO2006012685A1 - Image layout method - Google Patents

Image layout method Download PDF

Info

Publication number
WO2006012685A1
WO2006012685A1 PCT/AU2005/001149 AU2005001149W WO2006012685A1 WO 2006012685 A1 WO2006012685 A1 WO 2006012685A1 AU 2005001149 W AU2005001149 W AU 2005001149W WO 2006012685 A1 WO2006012685 A1 WO 2006012685A1
Authority
WO
WIPO (PCT)
Prior art keywords
layout
image elements
layouts
program
image
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
Application number
PCT/AU2005/001149
Other languages
French (fr)
Inventor
Geoffrey Hung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MOMENTO PRO Pty Ltd
Original Assignee
MOMENTO PRO Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2004904358A external-priority patent/AU2004904358A0/en
Application filed by MOMENTO PRO Pty Ltd filed Critical MOMENTO PRO Pty Ltd
Publication of WO2006012685A1 publication Critical patent/WO2006012685A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Definitions

  • This invention is in the field of image management and in particular the invention provides an automated (or at least semi-automated) method of arranging image elements in a predetermined image space.
  • Designing a layout with a set of images and text for a printed page or display on screen is an acquired skill, and for an expert, good results can be quickly achieved. To the amateur, however, taking a set of images and text and creating an aesthetically pleasing page layout can be a daunting and slow task with often-questionable results.
  • the invention consists in a method of positioning a set of image elements in an image space the method comprising the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
  • the invention consists in a computer program for positioning a set of images in an image space the program arranged to perform the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
  • the invention consists in a computer programmed to position a set of image elements in an image space the computer performing the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
  • the invention consists in a method for the provision of an image printing service the method comprising the steps of: i) providing to a customer an image layout program for positioning a set of image elements in an image space the program arranged to perform the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout; ii) the customer using the image arranging software to create an image layout of a set of image elements; iii) using
  • the layout method iteratively creates all possible permutations of relative positions for a given set of image elements by placing every image element in all possible relative positions to all other image elements in that set.
  • image elements may always be placed in the order that the images are supplied, whereby each image is only positioned relative to a previous image in the set.
  • the images are laid out in an unbounded space and then each layout is resized and translated (shifted) to occupy the space available. In this way it is possible to obtain all possible layouts while always starting with placement of the same first image.
  • Layouts in which image elements collide (overlap) may optionally be disregarded (or, alternatively the reciprocal arrangement may apply - i.e. only Layouts with collisions are kept).
  • the sorting step may optionally prioritise the layouts according to the most efficient use of available space and/or according to aesthetic considerations such as the number of edges of image elements that are aligned. Of course a variety of other sort criteria may also be employed.
  • all or part of the set of sorted layouts can be provided to a user for consideration, or one of the first N layouts can be automatically and randomly selected on behalf of the user.
  • the user having arrived at a single layout may be given the ability to revisit the list of possible layouts and select another.
  • the subset may comprise one or a small number of layouts (say 5 or 10 depending on the number of image elements etc).
  • the user may wish to lay the images out over multiple pages to be printed and subsequently assembled as a book.
  • the images might also be laid out for a poster, greeting card, calendar or any other single or multi- paged document or product. If the images are to be laid out over multiple pages then the images for the entire output will be first divided up into page groupings before the layout process is performed and the each page grouping will be individually laid out using the present method. Similarly, mechanisms for allowing the user to select or adjust layouts will also be optionally provided on a page by page basis.
  • Certain parameters may optionally be used to simplify the production of a layout. These parameters will preferably have predetermined nominal values but may be user definable if the user chooses to alter the nominal values. Examples of such parameters are the number of image elements per page, and relative sizes of the image elements etc.
  • the method may include a step of selecting a preferred layout for each page and presenting the selected version for consideration, using one of the methods discussed above. If one layout is presented for a given page, an optional step may be provided wherein a page may be selected for further editing in which case a plurality of alternative layouts for that page are provided from which a user preferred layout may be selected.
  • an advanced editing mode may also be provided in which image elements may be added, deleted, moved and/or resized on the respective page. The image elements will be digital images such as digital photographs, scanned digital images and other digitally represented graphic material.
  • the printing step may be performed on any suitable image printer but is optionally performed by a commercial printer using a high speed digital printer. If the printing is performed by someone other than the user, the final layout, comprising the image element data and the layout information may be communicated to the printer by any suitable means such as transmission of one or more files over a private or public communications network (eg internet or PSTN), or may be recorded onto a physical medium such a s a magnetic disk, portable solid state memory device (eg a memory stick) or an optical disc (eg a writable DVD or CD) and physically conveyed to the printer.
  • a private or public communications network eg internet or PSTN
  • a physical medium such as a s a magnetic disk, portable solid state memory device (eg a memory stick) or an optical disc (eg a writable DVD or CD) and physically conveyed to the printer.
  • Fig. 1 shows a flow chart illustrating one embodiment of the method of laying out digital images
  • Fig. 2 shows three Input Elements A, B, C arranged in each of the six possible sort orders
  • Fig. 3 shows two elements of different sizes illustrating 16 of the unlimited possible relative positions that provide potentially pleasing layouts; and Figs. 4 and 5 shows various permutations of the three Input Elements of Fig. 2 when the images are of equal size and only four relative positions are allowed between respective images.
  • the image layout method is embodied in image layout software which gives a user the tools to assist them to make pleasing page layouts quickly.
  • the core algorithm of the software is the Spatial Layout Algorithm (SLA).
  • the SLA automatically creates page layouts without using predefined templates, giving more varied results, more quickly, and helping those with limited creative skills to create pleasing layouts with little effort.
  • the SLA creates multiple permutations of possible layouts, sorts them according to optimum use of a given space and according to perceived aesthetic value, the aim being to create layouts that "look good" to an observer.
  • the SLA has been purpose built for photo-book image layout software, however it is not necessarily limited to this use, having applications in any area where a layout of elements is required that makes optimum use of a given area while maintaining some aesthetic value.
  • a set of elements is selected to be included in the layout and passed 10 to the SLA;
  • the SLA creates 11 all possible permutations (or at least a defined subset of all possible permutations);
  • Results A list comprising the items in the Permutations list, sorted according to a set of criteria.
  • An Element can be anything that has spatial characteristics and is to be included in a Layout with other Elements for presentation on screen or printed to paper.
  • SLA SLA
  • the list of Elements passed to the SLA is known as the Input Set. It has no particular order. Relative Positioning of Elements
  • Layouts for a given Input Set by iterating through all the Sort Orders of the Input Set and setting the relative positions of the Elements according to a list of available relative positions. Possible relative positions include:
  • a Layout is achieved by iterating through all the Sort Orders of an Input Set of Elements and creating every possible relative positional permutation.
  • the Input Set is positioned in a 'Branched' layout, and at its simplest, the Input Set is positioned in a 'Linear' layout.
  • the Branch order positions Elements in the Input Set relative to other Elements in the Input Set. Once all Permutations have been created, each Element will have been positioned relative to all other Elements in the Input Set.
  • Layout permutations are created by placing one image in an arbitrary position and then iteratively placing all Elements in the Input Set in all possible Relative
  • P is the number of Permutations
  • N is the number of Elements in the Input Set
  • R is the number of available relative positions.
  • FIG. 3 we see Element A surrounded by 16 representations of Element B illustrating a set of possible pleasing relative positions when Element A is significantly larger than Element B.
  • Fig. 4 illustrates the initial steps of a process for generating all of the possible permutations of positions of Elements A, B and C relative to one another, using branch ordering, when (for simplicity in the example) only four relative positions are allowed between each pair of elements.
  • the SLA starts in step #101 by assigning Element A an arbitrary position, and assigning Elements B and C a first position relative to A. In this case Elements B and C are superimposed and this permutation will ultimately be discarded, however in cases where Element sizes are unequal, overlapping images might be allowed; •
  • Element B remains in the same location as in step #101 but
  • Element C is moved to a New position
  • Steps #103 and #104 show further positions for Element C while Element B remains in its original position
  • Step #105 Element B is moved to a new position and Element C moves again to its first position relative to Element A (i.e. it's position in step #101); • Element C is then moved to the other positions relative to Element A as seen in steps #106, #107 and #108;
  • Step #109 Element B is moved to yet another new position and Element C moves again to its first position relative to Element A (i.e. it's position in step #101);
  • Branch technique will create many duplicate Layouts. While methods will be discussed later for avoiding duplication, the simplest means of reducing the number of Permutations is to use Linear Order positiom ' ng. Note however that linear ordering will miss some layouts produced by branch ordering.
  • a Linear Order positions every Element in the Input Set relative only to the previous Element in the Input Set. By definition, all the possible Linear Order Layouts will be created using the Branch technique. The Linear order is given special notoriety because it is the simplest optimisation for the SLA.
  • N is the number of Elements in the
  • R is the number of available relative positions.
  • the SLA is concerned with spatial positioning of Elements and most commonly will be concerned with the optimal use of the Available Space - the area into which the Layout must fit. In such cases, while running through all the Permutations, if a Layout is created that has no colliding Elements, the Layout is recorded, and if a collision of Elements is detected, then the Layout is disregarded. A collision is defined as being when 2 Elements touch or overlap, or if required, being within a predetermined proximity of each other.
  • the SLA can be used in the reverse way where only collisions are recorded. This depends on the desired Layouts in the Results list. For the purposes of the present description, only the former case will be considered where collisions are disregarded.
  • the SLA returns a Results list. This contains all the information required to recreate any of the Layouts. Initially, the list will be potentially large and many of the layouts will not meet the objectives of using the Available Space efficiently and of being aesthetically pleasing, so the list must now be sorted in order to prioritise the success of these attributes.
  • Any such criteria can be stored or calculated in real-time and used to sort the Results in order to determine the success of a Layout relative to the others.
  • the priority of such criteria, or the order in which they are used, gives the SLA the ability to push different Results to the top of the Results list.
  • the SLA may choose the top layout of the prioritised set or it may randomly choose one of the top N Layouts and return the details to the program to draw the Layout. If the SLA is offering up more than one Layout for the user to choose from, then the list of layouts is returned to the program so that the desired number of Layouts can be drawn to the screen, and from which the user may choose one.
  • the Elements in an Input Set that is processed by the SLA can have attributes automatically or manually assigned to them that can then be used as part of the Layout process. For example, the user might be given the opportunity to set a relative size for each Element, so that when the Input Set is processed, the Elements' original sizes will be ignored and the new sizes based on the user's settings.
  • the Sort Order of the Input Set can be determined according to any number of attributes associated with the Elements in the Input Set, whether the attributes are inherent to the Elements or manually set by the user. For example, the Input Set could be sorted according a relative size setting as assigned by the user, and then only one Sort Order passed to the SLA. If using Linear Ordering, this would create Layouts that tend to group larger Elements with other larger
  • Elements which are deemed similar by the SLA can be considered as identical with the aim being aesthetically pleasing results. For example, if Element B is being placed to the right of Element A with the top edges aligned, and the SLA detects that their heights are relatively similar, then the SLA can force B to have the same height as A, making the bottom edges also be aligned and creating a more aesthetically pleasing Layout.
  • the Sort Order may be adjusted by the user after the layout has been produced in order to retain a preferred Layout produced by the SLA but with the Image
  • the positioning of subsequent Elements could be relative to more than one other element.
  • an image Element could be placed so that it is positioned relative to the combined width or height of 2 or more previously placed Elements or positioned relative to the edges or centres of 2 or more previously placed Elements.
  • the SLA will be controlling the size of an Element in the Layout, it can look for occasions where the size of an Element isn't suitable. For example, with digital photos, it is possible to enlarge them to a point where they become pixelated. The SLA can watch for such occurrences and reduce the size of such an element to avoid pixilation.
  • Predetermined or dynamic spacing can be introduced to separate the Elements in the Layout.
  • the spacing can be fixed or determined by attributes of the Elements, and will determine how much space is between the Elements in the Available Space.
  • the spacing may be identical for all relative positions or could vary for each placement. The spacing could be negative so that all or some of the images are laid out intentionally overlapping.
  • the SLA may create the same layout more than once based on a single Input Set.
  • a Layout is about to be added to the Results list, a test can be performed to see if that Layout already exists, and if so, the new Layout is ignored.
  • Another simple and effective optimisation is to limit the Relative Positions available to any combination of Elements in the input set. For example, a limitation could be added so that the second Element in the Input Set can only ever be placed to the right of, or underneath the first Element in the Input Set. This gives a great reduction in the time for all permutations to be created, yet it doesn't limit the Results list greatly.
  • the software can dynamically adjust any or all of the SLA' s parameters according to a set of criteria in order to decrease the number of possible outcomes.
  • the SLA can be run so that it only considers these more predictable layout orders. For example, the SLA could use only Linear Order positioning when more than a predefined number of Elements are in the Input Set.
  • Photo-book image layout software applies the SLA in two ways. o
  • the user can arrange many images into groups that determine which photos end up together on pages, then the SLA goes through all the permutations for all the pages, then randomly selects one of the best 5 results for each page.
  • the user can open a window that displays the best 20 or so resulting permutations for a single set of images on a given page, and then select the layout they prefer.
  • the SLA is the same in both of these cases, however the way it is implemented differs. The difference is in the way that the set of images are passed to the SLA, and the way that the results are provided back to the user.
  • the two approaches can be described as: o A single automatically selected result for each set of multiple sets of input elements. o Multiple results provided for manual selection for one set of input elements.
  • the photo-book image layout software may be provided to customers of a service provider (such as a publisher, photographic laboratory or mini-lab etc), whereby the customer may group their images into pages and layout the images on each page using the photo-book software.
  • the customer then generates an output file containing all of the image and layout information and transfers the output file to the service provider.
  • the transfer may be achieved by transmitting the file over the internet or via a dedicated dial-up connection.
  • the file may be recorded on physical media such as a floppy disk, a CD Rom or a recordable DVD and transported to the service provider.
  • the service provider then prints one or more copies of the images using the layouts specified by the customer and assembles the printed pages into the book or other document or product in accordance with the customer's instructions.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A set of image elements are positioned in an image space by selecting a first image element A from the set of image elements A, B, C to occupy a root position and then placing the remaining image elements B, C in positions relative to the root position (101) and/or relative to previously placed image elements to form a first layout or permutation of image elements. The same process is then repeated for other layouts or permutations (102-109, 201-209) until all possible permutations have been generated. The layouts or permutations are then ordered according to a set of rules and a layout is selected from a subset occupying the top positions in the ordered layouts presented for consideration as a preferred selection. The subset of layouts occupying the top positions in the ordered layouts may also be presented for manual selection of a preferred layout.

Description

Image layout method
Field of the Invention
Cross-Reference to Related Applications
The present application claims priority from Provisional Patent Application No 2004904358 filed on 4 August 2004, the content of which is incorporated herein by reference.
This invention is in the field of image management and in particular the invention provides an automated (or at least semi-automated) method of arranging image elements in a predetermined image space.
Background of the Invention
Designing a layout with a set of images and text for a printed page or display on screen is an acquired skill, and for an expert, good results can be quickly achieved. To the amateur, however, taking a set of images and text and creating an aesthetically pleasing page layout can be a daunting and slow task with often-questionable results.
Many page layout software packages do exist, however in the past these have either used templates which resulted in a reduced flexibility and limited the scope for an attractive output, or they required manual page layout which necessitated a high level of skill on the part of the user to create attractive page designs.
Summary of the Invention
According to a first aspect, the invention consists in a method of positioning a set of image elements in an image space the method comprising the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout. According to a second aspect, the invention consists in a computer program for positioning a set of images in an image space the program arranged to perform the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
According to a third aspect the invention consists in a computer programmed to position a set of image elements in an image space the computer performing the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
According to a fourth aspect the invention consists in a method for the provision of an image printing service the method comprising the steps of: i) providing to a customer an image layout program for positioning a set of image elements in an image space the program arranged to perform the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout; ii) the customer using the image arranging software to create an image layout of a set of image elements; iii) using the image layout created by the customer to print the set of image elements. Optionally the layout method iteratively creates all possible permutations of relative positions for a given set of image elements by placing every image element in all possible relative positions to all other image elements in that set. However, it is also possible to generate a reduced set of permutations by creating some rules for placement. For example image elements may always be placed in the order that the images are supplied, whereby each image is only positioned relative to a previous image in the set. In one preferred embodiment the images are laid out in an unbounded space and then each layout is resized and translated (shifted) to occupy the space available. In this way it is possible to obtain all possible layouts while always starting with placement of the same first image. If required, Layouts in which image elements collide (overlap) may optionally be disregarded (or, alternatively the reciprocal arrangement may apply - i.e. only Layouts with collisions are kept).
The sorting step may optionally prioritise the layouts according to the most efficient use of available space and/or according to aesthetic considerations such as the number of edges of image elements that are aligned. Of course a variety of other sort criteria may also be employed.
Optionally all or part of the set of sorted layouts can be provided to a user for consideration, or one of the first N layouts can be automatically and randomly selected on behalf of the user. Optionally also, the user having arrived at a single layout, may be given the ability to revisit the list of possible layouts and select another. When only part of the ordered list of layouts (i.e. a subset) is presented to the user, the subset may comprise one or a small number of layouts (say 5 or 10 depending on the number of image elements etc).
Optionally the user may wish to lay the images out over multiple pages to be printed and subsequently assembled as a book. However, alternatively, the images might also be laid out for a poster, greeting card, calendar or any other single or multi- paged document or product. If the images are to be laid out over multiple pages then the images for the entire output will be first divided up into page groupings before the layout process is performed and the each page grouping will be individually laid out using the present method. Similarly, mechanisms for allowing the user to select or adjust layouts will also be optionally provided on a page by page basis.
Certain parameters may optionally be used to simplify the production of a layout. These parameters will preferably have predetermined nominal values but may be user definable if the user chooses to alter the nominal values. Examples of such parameters are the number of image elements per page, and relative sizes of the image elements etc.
Optionally also, when a set of layouts is provided for a multiple page output, the method may include a step of selecting a preferred layout for each page and presenting the selected version for consideration, using one of the methods discussed above. If one layout is presented for a given page, an optional step may be provided wherein a page may be selected for further editing in which case a plurality of alternative layouts for that page are provided from which a user preferred layout may be selected. When a page is selected for editing an advanced editing mode may also be provided in which image elements may be added, deleted, moved and/or resized on the respective page. The image elements will be digital images such as digital photographs, scanned digital images and other digitally represented graphic material.
The printing step may be performed on any suitable image printer but is optionally performed by a commercial printer using a high speed digital printer. If the printing is performed by someone other than the user, the final layout, comprising the image element data and the layout information may be communicated to the printer by any suitable means such as transmission of one or more files over a private or public communications network (eg internet or PSTN), or may be recorded onto a physical medium such a s a magnetic disk, portable solid state memory device (eg a memory stick) or an optical disc (eg a writable DVD or CD) and physically conveyed to the printer. Brief Description of the Drawings
Embodiments of the image layout method will now be described, by way of example, with reference to the accompanying drawings in which:
Fig. 1 shows a flow chart illustrating one embodiment of the method of laying out digital images;
Fig. 2 shows three Input Elements A, B, C arranged in each of the six possible sort orders;
Fig. 3 shows two elements of different sizes illustrating 16 of the unlimited possible relative positions that provide potentially pleasing layouts; and Figs. 4 and 5 shows various permutations of the three Input Elements of Fig. 2 when the images are of equal size and only four relative positions are allowed between respective images.
Detailed Description of Embodiments The image layout method is embodied in image layout software which gives a user the tools to assist them to make pleasing page layouts quickly. The core algorithm of the software is the Spatial Layout Algorithm (SLA).
The SLA automatically creates page layouts without using predefined templates, giving more varied results, more quickly, and helping those with limited creative skills to create pleasing layouts with little effort.
The SLA creates multiple permutations of possible layouts, sorts them according to optimum use of a given space and according to perceived aesthetic value, the aim being to create layouts that "look good" to an observer.
The SLA has been purpose built for photo-book image layout software, however it is not necessarily limited to this use, having applications in any area where a layout of elements is required that makes optimum use of a given area while maintaining some aesthetic value.
Spatial Layout Algorithm As shown in Fig. 1, the process of laying out images, at its simplest, involves the following steps:
• A set of elements is selected to be included in the layout and passed 10 to the SLA;
• The SLA creates 11 all possible permutations (or at least a defined subset of all possible permutations);
• The permutations are then sorted 12 according to a set of criteria; • The top results are displayed 13 for selection by the user; or one of the best results is automatically selected 14 by the software;
• The result is added 15 to the layout document as a page;
• This process is then repeated for each page of the document.
Terminology
• "SLA": Spatial Layout Algorithm
• "Element": Any item having spatial characteristics that is to be included in a layout (also referred to above as an image element); • "Input Set": The list of elements being passed to the SLA;
• "Sort Order": The order of the Elements in the Input Set;
• "Layout": The positioning of Elements relative to each other, the aim being to achieve aesthetically pleasing results;
• "Available Space": The area into which the Layout must eventually fit; • "Permutations": A list comprising all the possible layout combinations of the Input Data Set;
• "Results": A list comprising the items in the Permutations list, sorted according to a set of criteria.
The Elements
An Element can be anything that has spatial characteristics and is to be included in a Layout with other Elements for presentation on screen or printed to paper. For the purposes of the SLA, it is assumed that all elements are already in a digital form on a computer. Examples of some types of elements are: • Images such as photographs, drawings, paintings, graphs or computer generated imagery;
• Text in the form of titles, paragraphs and captions;
• Videos (assumes on screen display);
• Buttons, controls and navigation devices (assumes on screen display).
The Input Set and Sort Order
The list of Elements passed to the SLA is known as the Input Set. It has no particular order. Relative Positioning of Elements
At the core of the SLA is the principle that all Elements in a Layout have a position that is relative to every other Element. The SLA creates all the possible
Layouts for a given Input Set by iterating through all the Sort Orders of the Input Set and setting the relative positions of the Elements according to a list of available relative positions. Possible relative positions include:
• Elements are aligned along their top or bottom edges
• Elements are aligned along their left or right edges
• Elements are aligned horizontally or vertically with common centre axes • Elements are aligned by opposite corners (for example the top-left corner of an Element is aligned to the bottom-right corner of another Element) All the above relative positions can also have spacing included to separate the Elements in the resulting Layout.
Layout of Elements
A Layout is achieved by iterating through all the Sort Orders of an Input Set of Elements and creating every possible relative positional permutation.
At its most complex, the Input Set is positioned in a 'Branched' layout, and at its simplest, the Input Set is positioned in a 'Linear' layout.
'Branch Order' positioning:
The Branch order positions Elements in the Input Set relative to other Elements in the Input Set. Once all Permutations have been created, each Element will have been positioned relative to all other Elements in the Input Set.
Example 1:
Consider the Input Set of Elements (A, B, C & D) and assume there are 12 possible relative positions.
Layout permutations are created by placing one image in an arbitrary position and then iteratively placing all Elements in the Input Set in all possible Relative
Positions to all other Elements in the Input Set. Using this method it is possible to achieve all possible layouts while always starting with placement of the same first element.
For simplicity, the arbitrary position of the first Element might be considered to be the centre of an unbounded space. Each permutation of the Elements would then be resized and translated to fit within the required space The total number of Permutations can be calculated as follows:
P = (NIX(N-I)I)(R^0)
Where: P is the number of Permutations; N is the number of Elements in the Input Set; R is the number of available relative positions.
For this example, there are therefore (4!)(3!)(123) = 248832 possible Permutations. This layout method can be illustrated graphically with reference to Figs. 2, 3, 4 and 5 which provide a simplified illustration of the process. For the purposes of illustration consider that Elements A, B, C are included in the Input Set. Elements A, B, C are illustrated as ordered arrays in Fig 2. showing the six possible orderings of these Elements. However in branch ordering only the first two orderings are required to obtain all possible layouts.
Referring to Fig. 3 we see Element A surrounded by 16 representations of Element B illustrating a set of possible pleasing relative positions when Element A is significantly larger than Element B.
Example 2
Fig. 4 illustrates the initial steps of a process for generating all of the possible permutations of positions of Elements A, B and C relative to one another, using branch ordering, when (for simplicity in the example) only four relative positions are allowed between each pair of elements. In this process: • The SLA starts in step #101 by assigning Element A an arbitrary position, and assigning Elements B and C a first position relative to A. In this case Elements B and C are superimposed and this permutation will ultimately be discarded, however in cases where Element sizes are unequal, overlapping images might be allowed; • In step #102 Element B remains in the same location as in step #101 but
Element C is moved to a New position;
• Steps #103 and #104 show further positions for Element C while Element B remains in its original position;
• In Step #105 Element B is moved to a new position and Element C moves again to its first position relative to Element A (i.e. it's position in step #101); • Element C is then moved to the other positions relative to Element A as seen in steps #106, #107 and #108;
• In Step #109 Element B is moved to yet another new position and Element C moves again to its first position relative to Element A (i.e. it's position in step #101);
• This process is continued until Elements B and C have occupied all of the relative positions around Element A;
• Referring to Fig. 5, the process continues by positioning Element C relative to Element B for each of the possible positions of Element B relative to A, some of which are illustrated in steps #201 to #209. When this is completed, all permutations of the first ordering in Fig. 2 will have been obtained;
• The steps above are then repeated for the second ordering of Fig. 2 to complete the set of possible permutations. Note that even with only two orderings there will be many duplicate layouts produced;
• As noted above some of the possible permutations involve Elements overlapping or being completely superimposed. In this example these permutations are removed although in some circumstances they may be retained in the set of layouts offered for consideration.
'Linear Order' Positioning
By definition, the Branch technique will create many duplicate Layouts. While methods will be discussed later for avoiding duplication, the simplest means of reducing the number of Permutations is to use Linear Order positiom'ng. Note however that linear ordering will miss some layouts produced by branch ordering.
A Linear Order positions every Element in the Input Set relative only to the previous Element in the Input Set. By definition, all the possible Linear Order Layouts will be created using the Branch technique. The Linear order is given special notoriety because it is the simplest optimisation for the SLA.
Example: 3
Consider the Input Set of Elements represented by the letters A, B, C & D. Assume there are 12 possible relative positions:
• The SLA starts by assigning Element A an arbitrary position; • It then iterates through all possible relative positions of B relative to
A; • For each of the above, it then iterates through all possible relative positions of C relative to B;
• For each of the above, it then iterates through all possible relative positions of D relative to C; Again, the arbitrary position of the first Element might be considered to be the centre of an unbounded space, and as before, each permutation of the Elements would be resized and translated to fit within the required space.
The number of possible Permutations for a single Sort Order can be calculated as follows:
P -= R (N-D
Where: P is the number of Permutations; N is the number of Elements in the
Input Set; R is the number of available relative positions.
For the above example of a single sort order of A, B, C & D, there are therefore 123 = 1728 possible Permutations.
Recording the Results The SLA is concerned with spatial positioning of Elements and most commonly will be concerned with the optimal use of the Available Space - the area into which the Layout must fit. In such cases, while running through all the Permutations, if a Layout is created that has no colliding Elements, the Layout is recorded, and if a collision of Elements is detected, then the Layout is disregarded. A collision is defined as being when 2 Elements touch or overlap, or if required, being within a predetermined proximity of each other.
Similarly, the SLA can be used in the reverse way where only collisions are recorded. This depends on the desired Layouts in the Results list. For the purposes of the present description, only the former case will be considered where collisions are disregarded.
Sorting the Results
Having created all the Permutations and disregarded the ones with collisions of
Elements, the SLA returns a Results list. This contains all the information required to recreate any of the Layouts. Initially, the list will be potentially large and many of the layouts will not meet the objectives of using the Available Space efficiently and of being aesthetically pleasing, so the list must now be sorted in order to prioritise the success of these attributes.
Some of the criteria used to sort the Layouts in the Results list include:
1. 'Bounding Rectangle': The area of the bounding rectangle that contains all the Elements in the Layout: This is a measure of how compact the Layout is. The lower the value, the more compact the Layout;
2. 'Area Sum': The sum of the areas of all the Elements after the Layout has been resized to best-fit the Available Space. This is a measure of the coverage of the surface of the Available Space. The higher the value, the better the coverage;
3. 'Align Score': The count of edges that are aligned in the layout. This is a simple measure of the aesthetic of the Layout, the assumption being that Layouts with more aligned edges are visually more pleasing.
Any such criteria can be stored or calculated in real-time and used to sort the Results in order to determine the success of a Layout relative to the others. The priority of such criteria, or the order in which they are used, gives the SLA the ability to push different Results to the top of the Results list.
Selecting the Results Once the Results list has been sorted, the bulk of the list can be thrown away leaving only the desired number of best layouts from the top of the list.
If the SLA has been asked to automatically choose a layout, then it may choose the top layout of the prioritised set or it may randomly choose one of the top N Layouts and return the details to the program to draw the Layout. If the SLA is offering up more than one Layout for the user to choose from, then the list of layouts is returned to the program so that the desired number of Layouts can be drawn to the screen, and from which the user may choose one.
Enhancements to the SLA The previous pages have described the fundamental implementation of the SLA.
Following are a list of variations that can offer functional or performance improvements to the Results generated by the SLA.
Functional Enhancements • The Elements in an Input Set that is processed by the SLA can have attributes automatically or manually assigned to them that can then be used as part of the Layout process. For example, the user might be given the opportunity to set a relative size for each Element, so that when the Input Set is processed, the Elements' original sizes will be ignored and the new sizes based on the user's settings. • The Sort Order of the Input Set can be determined according to any number of attributes associated with the Elements in the Input Set, whether the attributes are inherent to the Elements or manually set by the user. For example, the Input Set could be sorted according a relative size setting as assigned by the user, and then only one Sort Order passed to the SLA. If using Linear Ordering, this would create Layouts that tend to group larger Elements with other larger
Elements, and smaller Elements with smaller Elements. By limiting the operation to one Sort Order, the operation can also be performed much faster.
• Elements which are deemed similar by the SLA can be considered as identical with the aim being aesthetically pleasing results. For example, if Element B is being placed to the right of Element A with the top edges aligned, and the SLA detects that their heights are relatively similar, then the SLA can force B to have the same height as A, making the bottom edges also be aligned and creating a more aesthetically pleasing Layout.
• The Sort Order may be adjusted by the user after the layout has been produced in order to retain a preferred Layout produced by the SLA but with the Image
Elements in different positions of that Layout.
• While there are 16 basic possible alignments (top, middle and bottom for left and right edges; left, middle and right for top and bottom edges; and four corners), there is no limit to the characteristics that can be used to define possible alignments. To speed up the operation, some of the possible alignments described above can be omitted. Or if more Results are required, more alignments could be defined. This is especially beneficial for Layouts being generated from an Input Set of only 2 or 3 Elements. By definition, these will generate less Permutations, and in such cases the introduction of more possible alignments will help to create a greater number of possible Results and therefore potentially provide a greater variety of layouts.
• The positioning of subsequent Elements could be relative to more than one other element. For example, an image Element could be placed so that it is positioned relative to the combined width or height of 2 or more previously placed Elements or positioned relative to the edges or centres of 2 or more previously placed Elements. • Because the SLA will be controlling the size of an Element in the Layout, it can look for occasions where the size of an Element isn't suitable. For example, with digital photos, it is possible to enlarge them to a point where they become pixelated. The SLA can watch for such occurrences and reduce the size of such an element to avoid pixilation.
• Predetermined or dynamic spacing can be introduced to separate the Elements in the Layout. The spacing can be fixed or determined by attributes of the Elements, and will determine how much space is between the Elements in the Available Space. • The spacing may be identical for all relative positions or could vary for each placement. The spacing could be negative so that all or some of the images are laid out intentionally overlapping.
Performance Enhancements • Where a permutation creates a collision of elements in the layout, all layouts derived from the current position of elements up to and including the colliding elements are disregarded, allowing for faster creation of all permutations by skipping known invalid layouts
• Under some circumstances the SLA may create the same layout more than once based on a single Input Set. When a Layout is about to be added to the Results list, a test can be performed to see if that Layout already exists, and if so, the new Layout is ignored.
• Because the SLA creates all available Permutations, some will appear very similar, especially where small Elements are involved. When a Layout is about to be added to the Results list, a test can be performed to identify Layouts with identical Bounding Rectangle sizes and Area Sums. In such cases, the Layout with the higher Align Score is kept and the lower scoring Layout is disposed of.
• As mentioned earlier, one of the simplest yet most effective optimisations for the SLA is to use Linear Order positioning instead of Branch Order positioning. This means that each image in the Input Set is only ever placed relative to its predecessor in the Input Set, rather than positioning every Element relative to every other Element.
• Another simple and effective optimisation is to limit the Relative Positions available to any combination of Elements in the input set. For example, a limitation could be added so that the second Element in the Input Set can only ever be placed to the right of, or underneath the first Element in the Input Set. This gives a great reduction in the time for all permutations to be created, yet it doesn't limit the Results list greatly.
• Special cases can be defined so that the SLA behaves differently depending on the number of Elements in the Input Set. This is most commonly used to generate more Permutations for Input Sets with only a few Elements and fewer
Permutations for Input Sets with many Elements. For example, if there are more than, say, 20 Elements in the Input Set, the SLA would take a very long time to run through all the Permutations. In such cases it might be deemed necessary to limit all aspects of the SLA, the assumption being that there will be so many available Permutations that even if many are never added to the
Results list, there will still be pleasing Layouts in the sorted Results list.
• Because the time to create all permutations increases exponentially with the addition of more elements in the input set, the software can dynamically adjust any or all of the SLA' s parameters according to a set of criteria in order to decrease the number of possible outcomes. The so-called 'Branch Order' of
Elements in the Input Set will eventually create many similar and predictable layout orders. In order to reduce the time taken to create all permutations, the SLA can be run so that it only considers these more predictable layout orders. For example, the SLA could use only Linear Order positioning when more than a predefined number of Elements are in the Input Set.
• If any of the above optimisations are used and the Results list is therefore shortened, any or all Layouts can be reflected about the horizontal or vertical axis or both to very quickly create additional results.
The SLA as applied in photo-book image layout software
Photo-book image layout software applies the SLA in two ways. o The user can arrange many images into groups that determine which photos end up together on pages, then the SLA goes through all the permutations for all the pages, then randomly selects one of the best 5 results for each page. o The user can open a window that displays the best 20 or so resulting permutations for a single set of images on a given page, and then select the layout they prefer. the SLA is the same in both of these cases, however the way it is implemented differs. The difference is in the way that the set of images are passed to the SLA, and the way that the results are provided back to the user. The two approaches can be described as: o A single automatically selected result for each set of multiple sets of input elements. o Multiple results provided for manual selection for one set of input elements.
The photo-book image layout software may be provided to customers of a service provider (such as a publisher, photographic laboratory or mini-lab etc), whereby the customer may group their images into pages and layout the images on each page using the photo-book software. The customer then generates an output file containing all of the image and layout information and transfers the output file to the service provider. The transfer may be achieved by transmitting the file over the internet or via a dedicated dial-up connection. Alternatively the file may be recorded on physical media such as a floppy disk, a CD Rom or a recordable DVD and transported to the service provider. The service provider then prints one or more copies of the images using the layouts specified by the customer and assembles the printed pages into the book or other document or product in accordance with the customer's instructions. It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive.

Claims

CLAIMS:
1. A method of positioning a set of image elements in an image space the method comprising the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
2, A method for the provision of an image printing service the method comprising the steps of: i) providing to a customer an image layout program for positioning a set of image elements in an image space the program arranged to perform the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout; ii) the customer using the image arranging software to create an image layout of a set of image elements; iii) using the image layout created by the customer to print the set of image elements;
3. The method as claimed in claim 2 wherein the final layout, comprising the image element data and the layout information is communicated to a printer by transmission of one or more files over a private or public communications network.
4. The method as claimed in claim 2 wherein the final layout, comprising the image element data and the layout information is communicated to a printer by recording the final layout onto a physical medium and physically conveying the media to the printer.
5. The method as claimed in any one of claims 1, 2, 3 or 4 wherein the image elements are digital images.
6. The method as claimed in any one of the preceding claims wherein generating a plurality of non-identical layouts comprises iteratively creating all possible permutations of relative positions for a given set of image elements, by placing every image element in all possible positions relative to all other image elements in that set.
7. The method as claimed in any one of claims 1, 2, 3, 4 or 5 wherein generating a plurality of non-identical layouts comprises generating a reduced set of permutations by creating placement rules which restrict the positions in which images can be placed relative to one another and iteratively creating all possible permutations of relative positions complying with the placement rules for a given set of image elements, by placing every image element in all possible positions, which comply with the placement rules, relative to all other image elements in that set.
8. The method of claim 7 wherein one of the placement rule requires that image elements are always placed in an order that the image elements are supplied, whereby each image is only positioned relative to a previous image in the set.
9. The method as claimed in any one of the preceding claims wherein the images are laid out in an unbounded space and then the layout is resized and translated to occupy the space available.
10. The method as claimed in any one of the preceding claims wherein layouts in which image elements overlap are disregarded.
11. The method as claimed in any one of the preceding claims wherein the sorting step prioritises the layouts according to the efficiency with which available space is used in each layout.
12. The method as claimed in any one of the preceding claims wherein the sorting step prioritises the layouts according to aesthetic considerations.
13. The method as claimed in claim 12 wherein the sorting step prioritises the layouts according to the number of edges of image elements that are aligned.
14. The method as claimed in any one of the preceding claims wherein all or part of the set of sorted layouts are provided to a user for consideration.
15. The method as claimed in claim 14 wherein between 5 and 10 layouts are presented to the user.
16. The method as claimed in any one of claims 1 to 13 wherein one of the first N layouts can be automatically and randomly selected on behalf of the user, where N is a predetermined number.
17. The method as claimed in claim 16 wherein, selection means are provided whereby having provided the user with a single layout the user can revisit the list of possible layouts and select a layout other that the one automatically selected.
18. The method as claimed in any one of the preceding claims wherein the images are laid out over multiple pages to be printed and subsequently assembled as a book.
19. The method as claimed in claim 18 wherein the images for the entire output are first divided up into page groupings before the layout process is performed individually on each page.
20. The method as claimed in claim 19 wherein a set of page parameters are used to control page layout and predetermined nominal values of the page parameter values are used to simplify the production of a layout.
21. The method as claimed in claim 20 wherein the page parameters are user definable whereby the user may alter the nominal values.
22. The method as claimed in claim 20 or 21 wherein one of the page parameters is the number of image elements per page.
23. The method as claimed in claim 20, 21 or 22 wherein one of the page parameters is the relative size of the image elements on a page.
24. The method as claimed in any one of claims 18 to 23 further comprising selecting a preferred layout for each page and presenting the selected version for consideration.
25. The method as claimed in any one of claims 18 to 24 further comprising providing selection means to allow a page to be selected for further editing whereby a plurality of alternative layouts for that page are provided from which a user may select a preferred layout.
26. The method as claimed in claim 25 wherein, an advanced editing mode is provided in which image elements may be added, deleted, moved and/or resized on the respective page.
27. A computer program for positioning a set of images in an image space the program arranged to run on a computer to perform the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
28. The program as claimed in claim 27 wherein the image elements are digital images.
29. The program as claimed in any one of claims 27 or 28 wherein generating a plurality of non-identical layouts comprises iteratively creating all possible permutations of relative positions for a given set of image elements, by placing every image element in all possible positions relative to all other image elements in that set.
30. The program as claimed in any one of claims 27, 28 or 29 wherein generating a plurality of non-identical layouts comprises generating a reduced set of permutations by creating placement rules which restrict the positions in which images can be placed relative to one another and iteratively creating all possible permutations of relative positions complying with the placement rules for a given set of image elements, by placing every image element in all possible positions, which comply with the placement rules, relative to all other image elements in that set.
31. The program of claim 30 wherein one of the placement rule requires that image elements are always placed in an order that the image elements are supplied, whereby each image is only positioned relative to a previous image in the set.
32. The program as claimed in any one claims 27 to 31 wherein the images are laid out in an unbounded space and then the layout is resized and translated to occupy the space available.
33. The program as claimed in any one claims 27 to 32 wherein layouts in which image elements overlap are disregarded.
34. The program as claimed in any one claims 27 to 33 wherein the sorting step prioritises the layouts according to the efficiency with which available space is used in each layout.
35. The program as claimed in any one claims 27 to 34 wherein the sorting step prioritises the layouts according to aesthetic considerations.
36. The program as claimed in claim 35 wherein the sorting step prioritises the layouts according to the number of edges of image elements that are aligned.
37. The program as claimed in any one claims 27 to 36 wherein all or part of the set of sorted layouts are provided to a user for consideration.
38. The program as claimed in claim 37 wherein between 5 and 10 layouts are presented to the user.
39. The program as claimed in any one of claims 27 to 36 wherein one of the first N layouts can be automatically and randomly selected on behalf of the user, where N is a predetermined number.
40. The program as claimed in claim 39 wherein, selection means are provided whereby having provided the user with a single layout the user can revisit the list of possible layouts and select a layout other that the one automatically selected.
41. The program as claimed in any one claims 27 to 40 wherein the images are laid out over multiple pages to be printed and subsequently assembled as a book.
42. The program as claimed in claim 41 wherein the images for the entire output are first divided up into page groupings before the layout process is performed individually on each page.
43. The program as claimed in claim 42 wherein a set of page parameters are used to control page layout and predetermined nominal values of the page parameter values are used to simplify the production of a layout.
44. The program as claimed in claim 43 wherein the page parameters are user definable whereby the user may alter the nominal values.
45. The program as claimed in claim 43 or 44 wherein one of the page parameters is the number of image elements per page.
46. The program as claimed in claim 43, 44 or 45 wherein one of the page parameters is the relative size of the image elements on a page.
47. The program as claimed in any one of claims 41 to 46 further comprising selecting a preferred layout for each page and presenting the selected version for consideration.
48. The program as claimed in any one of claims 41 to 47 further comprising providing selection means to allow a page to be selected for further editing whereby a plurality of alternative layouts for that page are provided from which a user may select a preferred layout.
49. The program as claimed in claim 48 wherein, an advanced editing mode is provided in which image elements may be added, deleted, moved and/or resized on the respective page.
50. A computer programmed to position a set of image elements in an image space the computer performing the steps of: a) selecting an image element from the set of image elements to occupy a root position; b) placing the remaining image elements in positions relative to the root position and/or relative to previously placed image elements to form a layout comprising a first permutation of image elements and image element positions; c) generating a plurality of non-identical layouts by generating different permutations of image elements in which for each layout after the first, the order and/or position of the image elements are altered with respect to the previously generated layouts; d) ordering the layouts according to predetermined rules; e) presenting at least one layout of the ordered set of layouts, for consideration as a final layout.
51. The program as claimed in claim 50 wherein the image elements are digital images.
52. The program as claimed in any one of claims 50 or 51 wherein generating a plurality of non-identical layouts comprises iteratively creating all possible , permutations of relative positions for a given set of image elements, by placing every image element in all possible positions relative to all other image elements in that set.
53. The program as claimed in any one of claims 50, 51 or 52 wherein generating a plurality of non-identical layouts comprises generating a reduced set of permutations by creating placement rules which restrict the positions in which images can be placed relative to one another and iteratively creating all possible permutations of relative positions complying with the placement rules for a given set of image elements, by placing every image element in all possible positions, which comply with the placement rules, relative to all other image elements in that set.
54. The program of claim 53 wherein one of the placement rule requires that image elements are always placed in an order that the image elements are supplied, whereby each image is only positioned relative to a previous image in the set.
55. The program as claimed in any one claims 50 to 54 wherein the images are laid out in an unbounded space and then the layout is resized and translated to occupy the space available.
56. The program as claimed in any one claims 50 to 55 wherein layouts in which image elements overlap are disregarded.
57. The program as claimed in any one claims 50 to 56 wherein the sorting step prioritises the layouts according to the efficiency with which available space is used in each layout.
58. The program as claimed in any one claims 50 to 57 wherein the sorting step prioritises the layouts according to aesthetic considerations.
59. The program as claimed in claim 58 wherein the sorting step prioritises the layouts according to the number of edges of image elements that are aligned.
60. The program as claimed in any one claims 50 to 59 wherein all or part of the set of sorted layouts are provided to a user for consideration.
61. The program as claimed in claim 37 wherein between 5 and 10 layouts are presented to the user.
62. The program as claimed in any one of claims 50 to 59 wherein one of the first N layouts can be automatically and randomly selected on behalf of the user, where N is a predetermined number.
63. The program as claimed in claim 62 wherein, selection means are provided whereby having provided the user with a single layout the user can revisit the list of possible layouts and select a layout other that the one automatically selected.
64. The program as claimed in any one claims 50 to 63 wherein the images are laid out over multiple pages to be printed and subsequently assembled as a book.
65. The program as claimed in claim 64 wherein the images for the entire output are first divided up into page groupings before the layout process is performed individually on each page.
66. The program as claimed in claim 65 wherein a set of page parameters are used to control page layout and predetermined nominal values of the page parameter values are used to simplify the production of a layout.
67. The program as claimed in claim 65 wherein the page parameters are user definable whereby the user may alter the nominal values.
68. The program as claimed in claim 66 or 67 wherein one of the page parameters is the number of image elements per page.
69. The program as claimed in claim 66, 67 or 68 wherein one of the page parameters is the relative size of the image elements on a page.
70. The program as claimed in any one of claims 64 to 69 further comprising selecting a preferred layout for each page and presenting the selected version for consideration.
71. The program as claimed in any one of claims 64 to 70 further comprising providing selection means to allow a page to be selected for further editing whereby a plurality of alternative layouts for that page are provided from which a user may select a preferred layout.
72. The program as claimed in claim 71 wherein, an advanced editing mode is provided in which image elements may be added, deleted, moved and/or resized on the respective page.
PCT/AU2005/001149 2004-08-04 2005-08-02 Image layout method Ceased WO2006012685A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2004904358 2004-08-04
AU2004904358A AU2004904358A0 (en) 2004-08-04 Image layout method

Publications (1)

Publication Number Publication Date
WO2006012685A1 true WO2006012685A1 (en) 2006-02-09

Family

ID=35786813

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2005/001149 Ceased WO2006012685A1 (en) 2004-08-04 2005-08-02 Image layout method

Country Status (1)

Country Link
WO (1) WO2006012685A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009036027A1 (en) * 2007-09-11 2009-03-19 Vistaprint Technologies Limited Dynamic sizing and positioning of multiple images
US20130036113A1 (en) * 2010-04-28 2013-02-07 Niranjan Damera-Venkata System and Method for Automatically Providing a Graphical Layout Based on an Example Graphic Layout
WO2013184318A1 (en) * 2012-06-05 2013-12-12 Intellectual Ventures Fund 83 Llc Producing personalized team photo books

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517621A (en) * 1989-12-07 1996-05-14 Kabushiki Kaisha Toshiba Method and apparatus for document formatting with efficient figure element layout manipulation
EP0784294A2 (en) * 1996-01-11 1997-07-16 Canon Kabushiki Kaisha Image edit device
EP0860797A2 (en) * 1997-02-19 1998-08-26 Canon Kabushiki Kaisha Image editing apparatus and method and medium on which programs are recorded
WO2001092030A2 (en) * 2000-05-01 2001-12-06 Printlife.Com Ltd. System and method for ordering and producing photograph albums, and albums made by the same
WO2002003236A2 (en) * 2000-06-30 2002-01-10 Williams Eddie H Personalized event book
US20020040375A1 (en) * 2000-04-27 2002-04-04 Simon Richard A. Method of organizing digital images on a page
US20020095439A1 (en) * 1997-02-20 2002-07-18 Timothy Merrick Long Method of positioning display images
US20020122067A1 (en) * 2000-12-29 2002-09-05 Geigel Joseph M. System and method for automatic layout of images in digital albums
US20040187078A1 (en) * 2003-03-21 2004-09-23 Fuji Xerox Co., Ltd. Systems and methods for generating video summary image layouts
WO2005019979A2 (en) * 2003-08-15 2005-03-03 Mypublisher, Inc. Methods and systems for creating digital photography books
US20050071781A1 (en) * 2003-09-30 2005-03-31 Atkins C. Brian Single pass automatic photo album page layout

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517621A (en) * 1989-12-07 1996-05-14 Kabushiki Kaisha Toshiba Method and apparatus for document formatting with efficient figure element layout manipulation
EP0784294A2 (en) * 1996-01-11 1997-07-16 Canon Kabushiki Kaisha Image edit device
EP0860797A2 (en) * 1997-02-19 1998-08-26 Canon Kabushiki Kaisha Image editing apparatus and method and medium on which programs are recorded
US20020095439A1 (en) * 1997-02-20 2002-07-18 Timothy Merrick Long Method of positioning display images
US20020040375A1 (en) * 2000-04-27 2002-04-04 Simon Richard A. Method of organizing digital images on a page
WO2001092030A2 (en) * 2000-05-01 2001-12-06 Printlife.Com Ltd. System and method for ordering and producing photograph albums, and albums made by the same
WO2002003236A2 (en) * 2000-06-30 2002-01-10 Williams Eddie H Personalized event book
US20020122067A1 (en) * 2000-12-29 2002-09-05 Geigel Joseph M. System and method for automatic layout of images in digital albums
US20040187078A1 (en) * 2003-03-21 2004-09-23 Fuji Xerox Co., Ltd. Systems and methods for generating video summary image layouts
WO2005019979A2 (en) * 2003-08-15 2005-03-03 Mypublisher, Inc. Methods and systems for creating digital photography books
US20050071781A1 (en) * 2003-09-30 2005-03-31 Atkins C. Brian Single pass automatic photo album page layout

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GOLDENBERG E: "Automatic layout of variable-content print data", October 2002 (2002-10-01), Retrieved from the Internet <URL:http://www.cogs.susx.ac.uk/easy/Publications/Online/Msc2002/eldango_dissertation.pdf> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009036027A1 (en) * 2007-09-11 2009-03-19 Vistaprint Technologies Limited Dynamic sizing and positioning of multiple images
US8634674B2 (en) 2007-09-11 2014-01-21 Vistaprint Schweiz Gmbh Dynamic sizing and positioning of multiple images
US9002137B2 (en) 2007-09-11 2015-04-07 Vistaprint Schweiz Gmbh Dynamic sizing and positioning of multiple images
US20130036113A1 (en) * 2010-04-28 2013-02-07 Niranjan Damera-Venkata System and Method for Automatically Providing a Graphical Layout Based on an Example Graphic Layout
WO2013184318A1 (en) * 2012-06-05 2013-12-12 Intellectual Ventures Fund 83 Llc Producing personalized team photo books

Similar Documents

Publication Publication Date Title
US7133050B2 (en) Automated image resizing and cropping
AU776510B2 (en) Method for organizing digital images on a page
US10122674B2 (en) Method of creating a PXLgram
US8291314B2 (en) Arranging graphic objects on a page
US7689909B1 (en) System and method for generating photo collages and photo album pages
US8458613B2 (en) Dynamic user interface for previewing live content
US6967667B2 (en) Method of constructing a kaleidoscope image usable in a scrapbook
US20070024908A1 (en) Automated image framing
JP5076678B2 (en) Method, system and program for displaying a plurality of images in non-rectangular target area
US20140195921A1 (en) Methods and systems for background uploading of media files for improved user experience in production of media-based products
US20110013226A1 (en) Print Configuration Engine for Enabling Online Printing of Projects Created in an Online Collage-Based Editor
WO2017120007A1 (en) Proactive creation of image-based products
WO2006014513A2 (en) Image capture method and image capture device
AU2009260026A1 (en) System and method for yearbook creation
JPH0619983A (en) Data retrieval system and display device as well as recording and display method
US20250182476A1 (en) Automated event detection and photo product creation
US20150113413A1 (en) Reducing system resource requirements for user interactive and customizable image product designs
Sandhaus et al. Employing aesthetic principles for automatic photo book layout
TWI234120B (en) Control Information-forming device for image display, image display method, and image display device
WO2006012685A1 (en) Image layout method
EP1646985B1 (en) Automated image sizing and cropping
US20120042268A1 (en) Processing user interfaces
US20120200590A1 (en) Determining a layout of graphic objects according to a layout density map
Grey Adobe Photoshop Lightroom Workflow: The Digital Photographer's Guide
Bellamy et al. The mechanics of PowerPoint

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS RIGTHS PURSUANT TO RULE 69(1) EPC, EPO FORM 1205A DATED 20.08.07

122 Ep: pct application non-entry in european phase

Ref document number: 05768144

Country of ref document: EP

Kind code of ref document: A1