EP0925542A1

Automatic layout and formatting of content for a design in a medium

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 4 September 2017, 9.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

9 claims: 2 independent, 7 dependent

  1. 1
    Claims of equivalent WO 9810356 A1 CLAIMS 1 . A computer-implemented method of adding content to a composition having a chosen design and automatically calculating a layout for said composition, said composition represented by a plurality of components in a design tree and including a plurality of content elements associated with said plurality of components, said method comprising the steps of:receiving a content object dropped upon a receiving component of said composition, said dropped content object having at least one potential type;matching a potential type of said content object with a compatible type of said receiving component;modifying said design tree to incoφorate said content object;and calculating media layout values for each content element of said plurality of content elements of said composition using the design tree such that said plurality of content elements are laid out in said chosen design.
  2. 3
    A method as recited in any of claims 1, 2 wherein said step of matching a potential type of said content object with a compatible type of said receiving component includes the sub-steps of:determining whether a match is found;and wherein when it is determined that a match is not found, passing said potential types of said content object to parent components of said receiving component to determine whether a match is found with a compatible type of any of said parent components.
  3. 4
    A method as recited in any of claims 1-3 wherein said step of modifying said design tree to incoφorate said content object includes the sub-steps of:creating a content component to represent said content object;and inserting said content component into said design tree as a sub-component of said receiving component. 5. A method as recited in any of claims 1 -4 wherein said step of calculating media layout values uses a media tree representative of a medium in which said composition may be rendered, said media tree having media components associated with said media layout values for each content element. 6. A computer-implemented method of adding content to a composition having a chosen design and automatically calculating a layout for said composition, said composition represented by a plurality of components in a design tree and including a plurality of content elements associated with said plurality of components, said method comprising the steps of: receiving a content object dropped upon a receiving component of said composition, said dropped content object having at least one potential type;matching a type of said dropped content object with a compatible type of said receiving component;changing the content of said receiving component based upon the content of said dropped content object;and calculating media layout values for each content element of said plurality of content elements of said composition using the design tree such that said plurality of content elements are laid out in said chosen design. 7. A method as recited in claim 6 wherein said step of matching a potential type of said content object with a compatible type of said receiving component is performed in part by using a content drop table. 8. A method as recited in any of claims 6, 7 wherein said step of matching a potential type of said content object with a compatible type of said receiving component includes the sub-steps of: determining whether a match is found;and wherein when it is determined that a match is not found, passing said potential types of said content object to parent components of said receiving component to determine whether a match is found with a compatible type of any of said parent components. 9. A method as recited in any of claims 6-8 wherein said step of calculating media layout values uses a media tree representative of a medium in which said composition may be rendered, said media tree having media components associated with said media layout values for each content element. 10. A computer-implemented method of adding content to a composition having a chosen design and automatically calculating a layout for said composition, said composition represented by a plurality of components in a design tree and including a plurality of content elements associated with said plurality of components, said method comprising the 5 steps of: receiving a content object dropped upon a receiving component of said composition, said dropped content object having at least one potential type;matching a type of said dropped content object with a compatible type of said receiving component;10 changing properties of said receiving component based upon properties of said dropped content object;and calculating media layout values for each content element of said plurality of content elements of said composition using the design tree such that said plurality of content elements are laid out in said chosen design. 15 1 1 . A method as recited in claim 10 wherein said step of matching a potential type of said content object with a compatible type of said receiving component is performed in part by using a content drop table. 12. A method as recited in any of claims 10-1 1 wherein said step of matching a potential type of said content object with a compatible type of said receiving component 20 includes the sub-steps of: determining whether a match is found;and wherein when it is determined that a match is not found, passing said potential types of said content object to parent components of said receiving component to determine whether a match is found with a compatible type of any of said parent components. 25 13. A method as recited in any of claims 10-12 wherein said step of calculating media layout values uses a media tree representative of a medium in which said composition may be rendered, said media tree having media components associated with said media layout values for each content element. 14. A computer-implemented method of adding content to a composition having a 30 chosen design and automatically calculating a layout for said composition, said composition represented by a plurality of components in a design tree and including a plurality of content elements associated with said plurality of components, said method comprising the steps of: receiving a content object dropped upon a receiving component of said composition, said dropped content object having at least one potential type;
  4. 5
    5 determining whether a compatible type of said receiving component matches with a potential type of said dropped content object, wherein when it is determined that no compatible type of said receiving component matches with a potential type of said content object, performing the following steps, identifying a parent component of said receiving component, 10 determining whether a potential type of said dropped content object matches with a compatible type of said parent component, and wherein when it is determined that a potential type of said dropped content object matches with a compatible type of said parent component, calculating media layout values for each content element of said plurality of content elements of said composition 15 using the design tree such that said plurality of content elements are laid out in said chosen design. 15. A method as recited in claim 14 wherein said step of determining whether a compatible type of said receiving component matches with a potential type of said dropped content object is performed in part by using a content drop table. 20 16. A method as recited in any of claims 14-15 wherein said step of calculating media layout values uses a media tree representative of a medium in which said composition may be rendered, said media tree having media components associated with said media layout values for each content element. 17. A method as recited in any of claims 14-16 wherein when it is determined that a 25 potential type of said dropped content object matches with a compatible type of said parent component, said method further comprises the step of modifying said design tree to incoφorate said content object. 18. A computer-implemented method of recognizing content added to a composition having a chosen design, said composition represented by a plurality of components in a 30 design tree and including a plurality of content elements associated with said plurality of components, said method comprising the steps of:receiving a content object dropped upon a receiving component of said composition, said dropped content object having at least one potential content type;identifying said at least one potential content types of said dropped content object;creating a component having an associated content element representative of said 5 content object and of one of said identified potential content types;modifying said design tree to incoφorate said created component;and placing said content element within said composition such that said content element appears in said composition in the context of said chosen design. 19. A method as recited in claim 18 wherein said step of creating a component utilizes a 10 content drop table in order to determine an appropriate component to be created. 20. A method as recited in any of claims 18-19 further comprising the step of calculating media layout values for each content element of said plurality of content elements of said composition using the design tree such that said plurality of content elements are laid out in said chosen design. 15 21. A content drop table data structure associated with a receiving component type in a composition including content, said content drop table data structure comprising: a component type indicator indicating with which type of component said content drop table is associated;a first list of potential dropped content types representative of the types of content 0 that may be dropped upon said receiving component type in said composition;and a second list of subcomponent types compatible with said receiving component type, such that for each potential dropped content type of said first list, there is an associated group of at least one subcomponent type from said second list of subcomponent types indicative of the type of subcomponent that matches with said potential dropped 25 content type, whereby when a content object having a first potential dropped content type is dropped upon a component of said receiving component type of said composition, a matching subcomponent type may be determined by reference to said content drop table. 22. A content drop table data structure as recited in claim 21 wherein said list of subcomponent types compatible with said receiving component type is ordered by 30 desirability of matching said subcomponent type. 23. A computer-implemented method of changing the design of a composition having a current design, said composition represented by a plurality of components in a current design tree and including a plurality of content elements associated with said plurality of components, said plurality of content elements having a set of relationships with one 5 another in the context of said current design, said method comprising the steps of: selecting a new design for said composition;receiving a new design description for said selected new design, said new design description including a plurality of new design components;creating a new design tree for said composition based upon said plurality of new 10 design components;placing said plurality of content elements into an association with said plurality of new design components;and calculating media layout values for each content element of said plurality of content elements of said composition using said new design tree such that said plurality of content 15 elements are laid out in said new design and such that said set of relationships between said plurality of content elements in the context of said new design are maintained. 24. A method as recited in claim 23 wherein said composition in said current design is rendered to a particular medium and said step of calculating media layout values for said new design retains said composition rendered in said particular medium. 20 25. A method as recited in any of claims 23-24 wherein said step of placing said plurality of content elements into an association with said plurality of new design components includes the sub-step of forming a pointer linking each of said plurality of content elements to one of said plurality of new design components. 26. A method as recited in any of claims 23-25 wherein said step of calculating media 25 layout values includes stepping through said plurality of new design components of said new design tree and creating media components of a media tree. 27. A method as recited in claim 26 wherein each of said media components of said media tree has an associated media division for use in calculating media layout values for each content element. 30 28. A computer-implemented method of changing the design of a composition having a current design and rendered in a particular medium, said composition represented by a plurality of components in a current design tree and including a plurality of content elements associated with said plurality of components, said plurality of content elements having a set of relationships with one another in the context of said current design, said method comprising the steps of: receiving a new design including a plurality of new design components;creating a new design tree for said composition based upon said plurality of new design components;linking each of said plurality of content elements into an association with one of said plurality of new design components such that said set of relationships between said plurality of content elements in the context of said new design are maintained;and calculating media layout values for each content element of said plurality of content elements of said composition using said new design tree such that said plurality of content elements are laid out in said new design and such that said new design retains said composition rendered in said particular medium. 29. A method as recited in claim 28 wherein said step of linking each of said plurality of content elements into an association with one of said plurality of new design components includes the sub-step of forming a pointer between each of said plurality of content elements and one of said plurality of new design components. 30. A method as recited in any of claims 28-29 wherein said step of calculating media layout values includes stepping through said plurality of new design components of said new design tree and creating media components of a media tree. 31. A method as recited in claim 30 wherein each of said media components of said media tree has an associated media division for use in calculating media layout values for each content element. 32. A computer-implemented method of changing the medium of a composition having a current design, said composition represented by a plurality of components in a current design tree and including a plurality of content elements associated with said plurality of components, said method comprising the steps of: identifying a new medium for said composition;constructing a media tree root object based upon the identified new medium to serve as the root of a media tree for said composition;creating media tree components of said media tree to represent regions of said new medium;and calculating media layout values for each content element of said plurality of content elements of said composition using the design tree such that each of said media layout 5 values for each content element represent one of said regions of said new medium, and such that said plurality of content elements are laid out in said current design. 33. A method as recited in claim 32 wherein said plurality of content elements have a set of relationships with one another in the context of said current design, and said step of calculating media layout values maintains said set of relationships.
  5. 6
    10 34. A method as recited in 32-33 wherein said step of creating media tree components of said media tree includes stepping through said current design tree and creating said media tree components between associated ones of said plurality of components in said design tree. 35. A method as recited in claim 34 wherein a media division is associated with selected 15 ones of said media tree components, said media divisions arranged to divide said regions of said new medium. 36. A method as recited in any of claims 32-35 wherein said step of calculating media layout values for each content element includes the sub-steps of:assigning tentative media layout values for each content element;20 determining an extent for each content element;and assigning final media layout values for each content clement. 37. A computer-implemented method of changing the medium of a composition having a current design, said composition represented by a plurality of components in a current design tree and including a plurality of content elements associated with said plurality of 25 components, said method comprising the steps of: identifying a new medium for said composition;creating a new media tree for said composition representative of said new medium and including a plurality of media tree components;associating each of said plurality of content elements with one of said plurality of 30 media tree components such that each of said plurality of content elements is associated with a region of said new medium;and calculating media layout values for each content element of said plurality of content elements of said composition such that each of said media layout values for each content element defines one of said regions of said new medium, and such that said plurality of content elements are laid out in said current design. 38. A method as recited in claim 37 wherein said plurality of content elements have a set of relationships with one another in the context of said current design, and said step of calculating media layout values maintains said set of relationships. 39. A method as recited in any of claims 37-38 wherein said step of creating a new media tree includes stepping through said current design tree and creating said media tree components between associated ones of said plurality of components in said design tree. 40. A method as recited in claim 39 wherein a media division is associated with selected ones of said media tree components, said media divisions arranged to divide said regions of said new medium. 41. A method as recited in any of claims 39-40 wherein said step of calculating media layout values for each content element includes the sub-steps of: assigning tentative media layout values for each content element;determining an extent for each content element;and assigning final media layout values for each content element. 42. A computer-implemented method of fitting content elements of a composition to a media layout, each content element having an associated content type, said media layout having a content rendering space for presenting information contained in said content elements, said method comprising the steps of: a) for each content type, initializing a content scale factor that is indicative of a portion of said content rendering space utilized by said content type;b) for each content element, computing extent values using said content scale factors that are indicative of a portion of said content rendering space occupied by said content element;and c) determining whether said content elements fit within said content rendering space of said media layout, wherein when it is determined that said content elements do not fit within said media layout, said method further includes the steps of, for each content type, determining an associated non-fit factor, recomputing said content scale factors for each content type based at least in part upon said non-fit factors, recomputing said extent values for each content element using the 5 recomputed content scale factors, and repeating step (c) until it is determined that said content elements fit within said content rendering space of said media layout. 43. A method as recited in claim 42 wherein said extent values indicate a region within said content rendering space of said media layout reserved for each associated content 10 element. 44. A method as recited in any of claims 42-43 wherein said step of computing extent values for each content element includes the sub-steps of: assigning tentative extent values to each content element;measuring each content element to determine its actual extent;and 15 assigning final extent values to each content element. 45. A method as recited in claim 44 wherein said step of computing extent values for each content element includes creating a media tree representative of said media layout, said media tree having media components and a media division associated with each media component. 20 46. A method as recited in any of claims 42-45 wherein said step of determining whether said content elements fit within said content rendering space of said media layout includes comparing the combined extent values for said content elements to said content rendering space. 47. A method as recited in any of claims 42-46 wherein said step of recomputing said 25 content scale factors for each content type is based upon in part said content scale factors, said associated non-fit factors, and the result of the step of determining whether said content elements fit within said content rendering space of said media layout. 48. A computer-implemented method of computing a layout of a composition in a recursive fashion using a design tree, said design tree including design components having associated content elements, said method comprising the steps of: determining whether a current component of said design tree is a primitive, wherein 5 when it is determined that said current component is a primitive, returning the extent for said current component;identifying design children components of said current component;creating new media components between said current component and said identified design children components, each media component having an associated media division 10 indicating a portion of said layout for each media component;and solving for the media division of said current component in order to return an extent for said current component by recursively calling said method. 49. A method as recited in claim 48 wherein said step of creating new media components operates to create a media tree representation of said composition indicating 15 said layout. 50. A method as recited in claim 49 wherein said media tree representation of said composition includes said media components and selected ones of said design components, each of said selected ones of said design components also having an associated media division. 20 51. A method as recited in any of claims 48-50 wherein said step of solving for the media division of said current component includes the sub-steps of: assigning tentative media regions to child media components of said current component;determining extent values for a content element associated with each of said child 25 media components;assigning final extent values to said content elements;and combining said final extent values to determine said extent for said current component. 52. A computer-implemented method of computing a layout of a composition for a 30 chosen medium, said composition at least partially represented in a media tree, said media tree having a plurality of components and each component associated with a media region of said chosen medium, said method comprising the steps of: assigning a layout option to said composition, said layout option indicative of an arrangement for assigning media regions of said medium to said associated components;stepping down through said media tree of said composition and assigning tentative media regions to each of said plurality of components, said tentative media regions based in part upon said layout option;measuring the extent of each of said plurality of components to return a set of values indicating a media region of said medium required by each of said plurality of components;and stepping up through said media tree of said composition and assigning new media regions to each of said plurality of components, each of said new media regions based in part upon said returned set of values for each component, such that said new media regions of said plurality of components represent substantially said layout of said composition in said chosen medium. 53. A method as recited in claim 52 wherein said steps of stepping down through said media tree and stepping up through said media tree are performed in a recursive fashion. 54. A method as recited in any of claims 52-53 wherein said composition is at least partially represented in a design tree including selected ones of said components, and said step of stepping down through said media tree is performed by stepping down through said design tree and creating components of said media tree. 55. A method a recited in any of claims 52-54 wherein said composition includes a plurality of content elements each in association with one of said plurality of components, and said step of measuring the extent of each of said plurality of components includes measuring the extent of the content element associated with one of said components. 56. An information data structure embodied in a computer-readable material, said information data structure being arranged to represent a composition having associated content, an associated design, and being suitable for rendering in at least one particular medium, said information data structure comprising: a plurality of components including a root, a plurality of design components, a plurality of media components and a plurality of leaves;a content tree structure representing said content of said composition and arranged to connect said root to a first selected plurality of said leaves;a design tree structure representing said design of said composition and arranged to connect said root to a second selected plurality of said leaves, said design tree structure 5 including said plurality of design components;and a media tree structure representing a presentation of the composition in a selected medium, the media tree structure being arranged to connect said root to a third selected plurality of said leaves associated with the presentation of said composition, said media tree structure including said plurality of media components, whereby said content tree structure, 10 said design tree structure and said media tree structure are arranged to represent said composition. 57. An information data structure as recited in claim 56 wherein said content of said composition includes a plurality of content elements that are included in said content tree structure.
  6. 8
    20 60. An information data structure as recited in any of claims 56-59 wherein each of the media components defines a region in the selected medium. 61 . An information data structure as recited in claim 60 wherein a selected plurality of said media components each have an associated content element that occupies the region defined by such media component.