US7921111B1ExpiredUtility

Digital media organization and access

Assignee: FOTIVA INCPriority: May 17, 2001Filed: Nov 6, 2007Granted: Apr 5, 2011
Est. expiryMay 17, 2021(expired)· nominal 20-yr term from priority
Inventors:Greg Beddow
G06F 16/489Y10S707/99944Y10S707/913
75
PatentIndex Score
8
Cited by
142
References
22
Claims

Abstract

Methods and apparatus, including computer program products, implementing and using techniques for accessing and organizing data items, including items of digital media, such as digital images, video stream, audio stream, text documents and the like. An object model defines a plurality of data object classes, including a media object class for representing items of digital media and a tag object class for representing categories of digital media. A request for one or more data items specifies a search condition. A collection of one or more data objects instantiated from the data object classes is generated, whereby the data objects in the collection represent data items satisfying the search condition. An iterator configured to sequentially access the data items represented by the data objects in the collection of data objects is generated and used to sequentially access the data items.

Claims

exact text as granted — not AI-modified
1. A computer-implemented method, comprising:
 receiving a request for a plurality of data items, the request specifying a search condition; 
 searching a data store comprising a plurality of data objects representing data items for data items satisfying the search condition, the plurality of data objects comprising one or more media objects, one or more tag objects and one or more page objects, where:
 a media object represents an item of digital media and is an instantiation of a media object class; 
 a tag object represents a category of digital media and is an instantiation of a tag object class and each media object can be associated with zero or more tag objects; and 
 a page object defines a relationship between a tag object and a media object; 
 
 generating a collection of data objects representing data items that satisfy the search condition; 
 using an iterator to sequentially access the data items represented by the data objects in the collection; and 
 providing the data items to a user interface. 
 
     
     
       2. The method of  claim 1 , wherein:
 the search condition specifies a category of digital media represented by a first tag object; and 
 generating the collection of data objects comprises identifying media objects associated with the first tag object. 
 
     
     
       3. The method of  claim 1 , wherein:
 the search condition specifies metadata; and 
 generating the collection of data objects comprises identifying data items based at least in part on the metadata, where the data objects represent the identified data items. 
 
     
     
       4. The method of  claim 1 , wherein:
 the search condition specifies one or more digital media items including one or more of a digital image, video stream, audio stream or text document; and 
 generating the collection of data objects comprises identifying one or more categories of digital media associated with the specified digital media items, where the collection of data objects comprises tag objects representing the identified digital media categories. 
 
     
     
       5. The method of  claim 1 , wherein:
 the search condition specifies a first digital media item; and 
 generating the collection of data objects comprises identifying one or more operations previously performed on the first digital media item, where the collection of data objects comprises data objects representing the identified operations for the first digital media item. 
 
     
     
       6. The method of  claim 5 , wherein the identified operations include edit operations, the method further comprising:
 using the iterator to sequentially access the identified edit operations and to reapply each edit operation to create a current state of the first digital media item. 
 
     
     
       7. A machine-readable storage device encoded with a computer program product comprising instructions operable to cause data processing apparatus to perform operations comprising:
 receiving a request for a plurality of data items, the request specifying a search condition; 
 searching a data store comprising a plurality of data objects representing data items for data items satisfying the search condition, the plurality of data objects comprising one or more media objects, one or more tag objects and one or more page objects, where:
 a media object represents an item of digital media and is an instantiation of a media object class; 
 a tag object represents a category of digital media and is an instantiation of a tag object class and each media object can be associated with zero or more tag objects; and 
 a page object defines a relationship between a tag object and a media object; 
 
 generating a collection of data objects representing data items that satisfy the search condition; 
 using an iterator to sequentially access the data items represented by the data objects in the collection; and 
 providing the data items to a user interface. 
 
     
     
       8. The machine-readable storage device encoded with the computer program product of  claim 7 , wherein:
 the search condition specifies a category of digital media represented by a first tag object; and 
 generating the collection of data objects comprises identifying media objects associated with the first tag object. 
 
     
     
       9. The machine-readable storage device encoded with the computer program product of  claim 7 , wherein:
 the search condition specifies metadata; and 
 generating the collection of data objects comprises identifying data items based at least in part on the metadata, where the data objects represent the identified data items. 
 
     
     
       10. The machine-readable storage device encoded with the computer program product of  claim 7 , wherein:
 the search condition specifies one or more digital media items including one or more of a digital image, video stream, audio stream or text document; and 
 generating the collection of data objects comprises identifying one or more categories of digital media associated with the specified digital media items, where the collection of data objects comprises tag objects representing the identified digital media categories. 
 
     
     
       11. The machine-readable storage device encoded with the computer program product of  claim 7 , wherein:
 the search condition specifies a first digital media item; and 
 generating the collection of data objects comprises identifying one or more operations previously performed on the first digital media item, where the collection of data objects comprises data objects representing the identified operations for the first digital media item. 
 
     
     
       12. The machine-readable storage device encoded with the computer program product of  claim 11 , wherein the identified operations include edit operations, the method further comprising:
 using the iterator to sequentially access the identified edit operations and to reapply each edit operation to create a current state of the first digital media item. 
 
     
     
       13. A system comprising:
 a processor; 
 a storage device coupled to the processor and configurable for storing instructions, which, when executed by the processor cause the processor to perform operations comprising:
 receiving a request for a plurality of data items, the request specifying a search condition; 
 searching a data store comprising a plurality of data objects representing data items for data items satisfying the search condition, where the data objects comprising one or more media objects; one or more tag objects and one or more page objects, where:
 a media object represents an item of digital media and is an instantiation of a media object class; 
 a tag object represents a category of digital media and is an instantiation of a tag object class and each media object can be associated with zero or more tag objects; and 
 a page object defines a relationship between a tag object and a media object; 
 
 generating a collection of data objects representing data items that satisfy the search condition; 
 using an iterator to sequentially access the data items represented by the data objects in the collection; and 
 providing the data items to a user interface. 
 
 
     
     
       14. The system of  claim 13 , wherein:
 the search condition specifies a category of digital media represented by a first tag object; and 
 generating the collection of data objects comprises identifying media objects associated with the first tag object. 
 
     
     
       15. The system of  claim 13 , wherein:
 the search condition specifies metadata; and 
 generating the collection of data objects comprises identifying data items based at least in part on the metadata, where the data objects represent the identified data items. 
 
     
     
       16. The system of  claim 13 , wherein:
 the search condition specifies one or more digital media items including one or more of a digital image, video stream, audio stream or text document; and 
 generating the collection of data objects comprises identifying one or more categories of digital media associated with the specified digital media items, where the collection of data objects comprises tag objects representing the identified digital media categories. 
 
     
     
       17. The system of  claim 13 , wherein:
 the search condition specifies a first digital media item; and 
 generating the collection of data objects comprises identifying one or more operations previously performed on the first digital media item, where the collection of data objects comprises data objects representing the identified operations for the first digital media item. 
 
     
     
       18. The system of  claim 17 , wherein the identified operations include edit operations, the method further comprising:
 using the iterator to sequentially access the identified edit operations and to reapply each edit operation to create a current state of the first digital media item. 
 
     
     
       19. A computer-implemented method, comprising:
 providing a data store comprising a plurality of data objects representing data items, wherein the data objects include:
 media objects being instantiations of a media object class, where the data item represented by a media object is a digital media item; and 
 tag objects being instantiations of a tag object class, where the data item represented by a tag object is a category of digital media; 
 
 receiving a user input performing an operation to associate a first data item represented by a first data object with a second data item represented by a second data object in the data store; 
 generating a third data object that represents a third data item, wherein the third data object defines the association of the first data object representing the first data item and the second data object representing the second data item; and 
 searching the data store for data items satisfying a search condition; 
 generating a collection of data objects representing data items that satisfy the search condition; 
 using an iterator to sequentially access the data items represented by the data objects in the collection. 
 
     
     
       20. The method of  claim 19 , wherein the first data object is a media object, the second data object is a tag object and the third data object is a page object. 
     
     
       21. The method of  claim 19 , wherein the first data object is a tag object, the second data object is a group tag object and the third data object is a group member object, where a group tag object represents groups of categories of digital media and is an instantiation of a group tag class. 
     
     
       22. A computer-implemented method, comprising:
 providing a data store comprising a plurality of data objects representing data items, wherein the data objects include:
 media objects being instantiations of a media object class, where the data item represented by a media object is a digital media item; 
 tag objects being instantiations of a tag object class, where the data item represented by a tag object is a category of digital media; 
 page objects defining a relationship between a tag object and a media object; and 
 edit objects being instantiations of an edit object class, where the data item represented by an edit object is an edit operation; 
 
 receiving a user input performing an edit operation on a first digital media item represented by a first media object; 
 generating a current edit object representing the edit operation performed on the first digital media item; 
 generating an edit list for the first media object, the edit list representing edit objects representing all edit operations associated with the first media object including the current edit object, where the current edit object is sequentially appended to the edit list; and 
 using an edit iterator to sequentially access the edit operations for the first media object and to reapply each edit operation to the first digital item represented by the first media object to create a current state of the first digital media item.

Join the waitlist — get patent alerts

Track US7921111B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.