Automatic photo album page layout
First Claim
1. A computer-implemented method of producing a layout of objects on a page, comprising:
- generating different tree structures each having at least one node and at least one leaf, wherein each node corresponds to a respective partition of the page and each leaf defines a relative location of a respective one of the objects on the page, wherein each object has a respective fixed aspect ratio and is associated with a respective relative area proportion that has a value such that a ratio of the respective relative area proportion to a respective amount of area on the page that is occupied by the object in the layout is equal to an identical constant value for all the objects;
for each of the tree structures, characterizing a respective bounding box for each respective node in the tree structure based on the respective aspect ratios and the respective relative area proportions associated with all of the objects in all subtrees below the respective node, wherein each bounding box includes all of the objects in all subtrees below the respective node;
for each of the tree structures, assigning regions within the page for each node in the tree structure in accordance with the respective bounding box associated with the node;
for each of the tree structures, determining a respective score that comprises a measure of available space on the page that is unoccupied by the objects arranged on the page in accordance with partitions of the page defined by the tree structure;
selecting one of the tree structures based on the determined scores; and
producing a layout of the objects on the page based on the selected tree structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for locating objects, such as images having fixed aspect ratios, within a predefined space, such as a printed page, is provided. The method comprises generating a binary tree structure comprising at least one node and a plurality of leaves, each leaf corresponding to an image and being associated with one node. The method further comprises characterizing a bounding box for each node in the binary tree structure, the bounding box establishing a boundary for all leaves associated with the node. The method also comprises manipulating bounding boxes to fit within the predefined space. The method may be selectively repeated to reposition images within the binary tree structure or to reform the binary tree structure and characterize and manipulate using the reformed binary tree structure. The end result is at least one potential layout having all images located within the predefined space.
108 Citations
21 Claims
-
1. A computer-implemented method of producing a layout of objects on a page, comprising:
-
generating different tree structures each having at least one node and at least one leaf, wherein each node corresponds to a respective partition of the page and each leaf defines a relative location of a respective one of the objects on the page, wherein each object has a respective fixed aspect ratio and is associated with a respective relative area proportion that has a value such that a ratio of the respective relative area proportion to a respective amount of area on the page that is occupied by the object in the layout is equal to an identical constant value for all the objects; for each of the tree structures, characterizing a respective bounding box for each respective node in the tree structure based on the respective aspect ratios and the respective relative area proportions associated with all of the objects in all subtrees below the respective node, wherein each bounding box includes all of the objects in all subtrees below the respective node; for each of the tree structures, assigning regions within the page for each node in the tree structure in accordance with the respective bounding box associated with the node; for each of the tree structures, determining a respective score that comprises a measure of available space on the page that is unoccupied by the objects arranged on the page in accordance with partitions of the page defined by the tree structure; selecting one of the tree structures based on the determined scores; and producing a layout of the objects on the page based on the selected tree structure. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method of producing a layout of objects on a page, comprising:
-
generating a tree structure having at least one node and at least one leaf, where each leaf corresponds to one of the objects; associating a respective bounding box with each node in the tree structure, wherein each bounding box includes all objects in any subtree below the associated node, each object has a respective fixed aspect ratio and is associated with a respective relative area proportion that has a value such that a ratio of the respective relative area proportion to a respective amount of area on the page that is occupied by the object in the layout is equal to an identical constant value for all the objects, and the associating comprises establishing a respective relative area proportion and a respective aspect ratio for each node as a function of the relative area proportions and the aspect ratios of all children of the node, and prior to the establishing, adjusting relative area proportions of at least one child of each node and all children thereof so that predetermined dimensions of the children are equal; assigning regions of the page for each node in the tree structure in accordance with the bounding box associated with the node; and producing a layout of the objects on the page in accordance with the assignment of regions to the nodes. - View Dependent Claims (7)
-
-
8. A method of producing a layout of fixed aspect ratio objects on a page, comprising:
-
generating a binary tree structure comprising a plurality of leaves, wherein each of the leaves corresponds to a respective one of the objects, and a plurality of nodes including a root node, wherein each of the nodes corresponds to a respective partition of the page; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a relative size of a respective bounding box containing all bounding boxes respectively determined for all child nodes branching from the node, wherein the determining comprises for each given one of the nodes corresponding to a respective horizontal partition of the page, determining relative sizes of the respective bounding boxes of all immediate children of the given node such that horizontal dimensions of the bounding boxes of all the immediate children of the given node are equal, and for each particular one of the nodes corresponding to a respective vertical partition of the page, determining relative sizes of the respective bounding boxes of all immediate children of the given node such that vertical dimensions of the bounding boxes of all the immediate children of the given node are equal; and producing a layout of the objects on the page based on the bounding box determined for the root node.
-
-
9. A method of producing a layout of fixed aspect ratio objects on a page, comprising:
-
generating a binary tree structure comprising a plurality of leaves, wherein each of the leaves corresponds to a respective one of the objects, and a plurality of nodes including a root node, wherein each of the nodes corresponds to a respective partition of the page; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a respective area of a respective bounding box containing all bounding boxes respectively determined for all nodes and leaves branching from the node, wherein each object is associated with a respective relative area proportion that has a value such that a ratio of the respective relative area proportion to a respective amount of area on the page that is occupied by the object in the layout is equal to an identical constant value for all the objects, and the determining comprises, for each of the nodes in the binary tree structure, determining a respective relative area proportion and a respective aspect ratio of the respective bounding box as a function of the respective aspect ratios and the respective relative area proportions of the objects associated with children of the node; and producing a layout of the objects on the page based on the bounding box determined for the root node. - View Dependent Claims (10, 11, 12)
-
-
13. A method of producing a layout of fixed aspect ratio objects on a page, comprising:
-
generating a binary tree structure comprising a plurality of leaves, wherein each of the leaves corresponds to a respective one of the objects, and a plurality of nodes including a root node, wherein each of the nodes corresponds to a respective partition of the page; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a respective area of a respective bounding box containing all bounding boxes respectively determined for all nodes and leaves branching from the node; producing a layout of the objects on the page based on the bounding box determined for the root node; scoring the binary tree structure subsequent to the producing; generating a different binary tree structure; performing the determining and the producing for each node in the different binary tree structure; scoring the different binary tree structure; and selecting the one of the binary tree structure and the different binary tree structure that is scored higher.
-
-
14. A method of producing a layout of fixed aspect ratio objects on a page, comprising:
-
generating a binary tree structure comprising a plurality of leaves, wherein each of the leaves corresponds to a respective one of the objects, and a plurality of nodes including a root node, wherein each of the nodes corresponds to a respective partition of the page; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a respective area of a respective bounding box containing all bounding boxes respectively determined for all nodes and leaves branching from the node; producing a layout of the objects on the page based on the bounding box determined for the root node; reassigning objects to leaves within the tree structure after the determining and the producing; and repeating the determining and the producing for the reassigned objects.
-
-
15. A method of producing a layout of images in a predefined space on a page while maintaining aspect ratios associated with said images, the method comprising:
-
generating a binary tree structure comprising a plurality of nodes includes a root node, wherein each of the nodes corresponds to a respective partition of the predefined space on the page, and a plurality of leaves, wherein each of the leaves corresponds to a respective one of the images and is associated with a respective one of the nodes; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a relative size of a respective bounding box containing all bounding boxes respectively determined for all child nodes branching from the node, wherein the determining comprises for each given one of the nodes corresponding to a respective horizontal partition of the page, determining relative sizes of the respective bounding boxes of all immediate children of the given node such that horizontal dimensions of the bounding boxes of all the immediate children of the given node are equal, and for each particular one of the nodes corresponding to a respective vertical partition of the page, determining relative sizes of the respective bounding boxes of all immediate children of the given node such that vertical dimensions of the bounding boxes of all the immediate children of the given node are equal; and producing a layout of the images in the predefined space on the page based on the bounding box determined for the root node.
-
-
16. A method of producing a layout of images in a predefined space on a pace while maintaining aspect ratios associated with said images, the method comprising:
-
generating a binary tree structure comprising a plurality of nodes includes a root node, wherein each of the nodes corresponds to a respective partition of the predefined space on the page, and a plurality of leaves, wherein each of the leaves corresponds to a respective one of the images and is associated with a respective one of the nodes; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a respective area of a respective bounding box containing all bounding boxes respectively determined for all leaves associated with the node, wherein each image has a fixed aspect ratio and is associated with a respective relative area proportion that has a value such that a ratio of the respective relative area proportion to a respective amount of area on the page that is occupied by the image in the layout is equal to an identical constant value for all the images, and the determining, for each of the nodes in the binary tree structure, ascertaining the respective area of the respective bounding box as a function of the respective aspect ratios and the respective relative area proportions of the images associated with children of the node; and producing a layout of the images in the predefined space on the pace based on the bounding box determined for the root node. - View Dependent Claims (17, 18, 19)
-
-
20. A method of producing a layout of images in a predefined space on a page while maintaining aspect ratios associated with said images, the method comprising:
-
generating a binary tree structure comprising a plurality of nodes includes a root node, wherein each of the nodes corresponds to a respective partition of the redefined space on the page, and a plurality of leaves, wherein each of the leaves corresponds to a respective one of the images and is associated with a respective one of the nodes; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a respective area of a respective bounding box containing all bounding boxes respectively determined for all leaves associated with the node; producing a layout of the images in the predefined space on the page based on the bounding box determined for the root node; generating a different binary tree structure; performing said determining for each node in the different binary tree structure; and assigning to each of the binary tree structures a respective score that comprises a measure of available space on the page that is unoccupied by the images arranged on the page in accordance with partitions of the page defined by the tree structure; and selecting one of the tree structures based on the respective scores assigned to the binary tree structure.
-
-
21. A method of producing a layout of images in a predefined space on a page while maintaining aspect ratios associated with said images, the method comprising:
-
generating a binary tree structure comprising a plurality of nodes includes a root node, wherein each of the nodes corresponds to a respective partition of the predefined space on the page, and a plurality of leaves, wherein each of the leaves corresponds to a respective one of the images and is associated with a respective one of the nodes; for each of the nodes in the binary tree structure, determining a respective aspect ratio and a respective area of a respective bounding box containing all bounding boxes respectively determined for all leaves associated with the node; and producing a layout of the images in the predefined space on the page based on the bounding box determined for the root node; reassigning images to leaves within the binary tree structure after the determining; and producing, and repeating the determining and the producing for the reassigned images.
-
Specification