IP Library Granted Patent US 6,839,059
Granted Patent B1
US 6,839,059 · App. 09/654,101 · Granted Jan 4, 2005

System and method for manipulation and interaction of time-based mixed media formats

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,839,059
App. No.
09/654,101
Granted
Jan 4, 2005
Kind
B1
Abstract

A system and method for efficiently creating a multi-media presentation, as well as allowing for searching through the presentation to retrieve and display desired subject matter within the presentation. The invention provides software that allows a user to record audio clips for one or more of the screens of the presentation, in any order, and in various manners. In addition, the invention maintains a searchable text file to allow a user to find desired subject matter within the presentation, and to display the corresponding screen(s).

Claims (135)

1. A method of processing data, comprising:

receiving plural sets of data corresponding to respective digital assets;

receiving continuous stream media data for one or more of the digital assets;

processing the sets of data to extract particular information from the data, and writing the extracted information to a data file;

compressing the continuous stream media data; and

assembling the digital assets, compressed data, and the data in the data file into an executable file;

wherein assembling the digital assets, compressed data, and the data in the data file into an executable file comprises:

creating a single output file;

copying executable code to the output file;

writing destination information to the output file to designate the destination directory of the executable file;

writing plural blocks of data to the output file, each block containing identification information and corresponding data;

writing a block containing a clean-up program to the output file if the destination information corresponds to a temporary file; and

writing auto-start file information to the output file to designate a file to be opened when the output file is executed, if an auto-start file is specified by an author.

2. The method of claim 1 , further including designating one of the files to be opened when the executable file is extracted.

3. The method of claim 1 , further comprising collecting timing information from the respective assets, and wherein assembling includes assembling the timing information.

4. The method of claim 1 , wherein receiving the data comprises receiving the data from a disk.

5. The method of claim 1 , wherein receiving the data comprises receiving the data from an author.

6. The method of claim 1 , wherein receiving the data comprises receiving the data over a communication network.

7. The method of claim 1 , wherein compressing the data comprises compressing the data using a compression format selected by an author.

8. The method of claim 1 , wherein receiving plural sets of data comprises receiving data for insertion into respective screen slides.

9. The method of claim 1 , wherein receiving plural sets of data comprises receiving data for insertion into a spread sheet.

10. The method of claim 1 , wherein receiving plural sets of data comprises receiving plural video clips.

11. The method of claim 10 , wherein processing the data comprises extracting frames from the video clips.

12. The method of claim 10 , wherein processing the data comprises extracting closed captioning information from the video clips.

13. The method of claim 1 , wherein receiving continuous stream media clips comprises receiving audio clips.

14. The method of claim 13 , wherein processing the data comprises extracting key words from the audio clips.

15. The method of claim 1 , wherein receiving continuous stream media clips comprises receiving video clips.

16. The method of claim 1 , wherein receiving continuous stream media clips comprises receiving clips of animation.

17. The method of claim 1 , wherein receiving continuous stream media clips comprises receiving audio and video clips.

18. The method of claim 1 , wherein receiving continuous stream media clips comprises receiving telemetry clips.

19. The method of claim 1 , wherein processing the data comprises copying text into a data file.

20. The method of claim 19 , wherein copying the text comprises initially copying the text to a text object.

21. The method of claim 1 , wherein writing plural blocks comprises writing the corresponding data in a compressed format.

22. The method of claim 1 , wherein writing the blocks comprises writing a block start flag for each block.

23. The method of claim 1 , further including receiving user input to identify the destination directory.

24. The method of claim 1 , further including writing a source-identifying block to the output file to indicate the source of the file.

25. The method of claim 1 , further comprising:

(a) providing plural templates, each having command parameters and plural tags, wherein the tags include instructions for insertion of particular data;

(b) retrieving one of the templates;

(c) processing the command parameters to determine the template identity;

(d) accessing corresponding data based on the template identity;

(e) processing one of the tags in the template to determine the data to be inserted in place of the tag;

(f) extracting a corresponding portion of the accessed data and inserting the data into the template in place of the tag; and

(g) repeating steps (e) and (f) until all of the tags in the template have been processed.

26. The method of claim 25 , further including repeating steps (b) through (g) until all of the templates have been processed.

27. The method of claim 25 , wherein accessing corresponding data comprises accessing data in a playlist object.

28. The method of claim 25 , wherein each template includes a hierarchy of tags.

29. The method of claim 25 , wherein accessing corresponding data comprises accessing data relating to a multi-media presentation.

30. The method of claim 1 , further including:

providing the executable file including executable code and a plurality of blocks of data;

running the executable code to identify one of the blocks;

processing identification information contained in the block to determine the contents of the block;

reading data in the block and creating a corresponding directory if the block is a destination directory block;

decompressing the data in the block and writing the decompressed data to an appropriate directory if the block is a compressed file block;

writing the data in the block to a temporary directory if the block contains a clean-up program; and

saving the information in the block if the information contains auto-start path information.

31. The method of claim 1 , further including:

unpackaging the executable file;

beginning the display of data at a preselected position;

determining the current position of the display;

comparing the determined position with a set of event data for the respective digital assets;

displaying one of the digital assets based on the comparison of the position with the event data;

calculating a timeout based on the determined position and the event data;

setting a clock to fire upon reaching the timeout;

initiating a polling process when the clock fires to determine the position of the display;

displaying a different digital asset based on a comparison of the determined position with the event data; and

calculating a new timeout and resetting the clock to fire upon reaching the new timeout.

32. The method of claim 31 , wherein comparing the determined position with the event data comprises comparing the determined position with the event data related to a slide.

33. The method of claim 31 , wherein comparing the determined position with event data comprises comparing the determined position with event data related to text data.

34. The method of claim 31 , wherein determining the current position comprises determining the position within a continuous stream media file.

35. The method of claim 34 , wherein receiving the assets comprises receiving the assets over a communication network.

36. The method of claim 34 , further comprising collecting timing information from the respective assets, and wherein assembling includes assembling the timing information.

37. The method of claim 34 , wherein compressing the single file comprises compressing the single file using a compression format selected by an author of the presentation.

38. The method of claim 34 , wherein receiving plural digital assets comprises receiving plural screen slides.

39. The method of claim 38 , wherein processing the assets comprises copying text from the screen slides.

40. The method of claim 39 , wherein copying the text comprises initially copying the text to a text object.

41. The method of claim 38 , wherein storing the respective assets comprises storing the screen slides in a graphical file format.

42. The method of claim 34 , wherein receiving plural digital assets comprises receiving spread sheet data.

43. The method of claim 34 , wherein receiving plural digital assets comprises receiving plural video clips.

44. The method of claim 43 , wherein processing the assets comprises extracting frames from the video clips.

45. The method of claim 43 , wherein processing the assets comprises extracting closed captioning information from the video clips.

46. The method of claim 34 , wherein receiving continuous stream media clips comprises receiving audio clips.

47. The method of claim 46 , wherein processing the assets comprises extracting key words from the audio clips.

48. The method of claim 34 , wherein receiving continuous stream media clips comprises receiving video clips.

49. The method of claim 34 , wherein receiving continuous stream media clips comprises receiving clips of animation.

50. The method of claim 34 , wherein receiving continuous stream media clips comprises receiving audio and video clips.

51. The method of claim 34 , wherein receiving continuous stream media clips comprises receiving telemetry clips.

52. A method of processing data, comprising:

providing plural templates, each having command parameters and plural tags, wherein the tags include instructions for insertion of particular data;

retrieving one of the templates;

processing the command parameters to determine the template identity;

accessing corresponding data based on the template identity;

processing one of the tags in the template to determine the data to be inserted in place of the tag;

extracting a corresponding portion of the accessed data and inserting the data into the template in place of the tag;

repeating said processing one of the tags step and said extracting step until the tags in the template have been processed in order to create a presentation;

receiving plural sets of data corresponding to respective digital assets related to the presentation;

receiving continuous stream media data for one or more of the digital assets;

processing the sets of data to extract particular information from the data, and writing the extracted information to a data file;

compressing the continuous stream media data; and

assembling the digital assets, compressed data, and the data in the data file into an executable file.

53. The method of claim 52 , wherein accessing corresponding data comprises accessing data in a playlist object.

54. The method of claim 52 , wherein each template includes a hierarchy of tags.

55. The method of claim 52 , wherein accessing corresponding data comprises accessing data relating to a multi-media presentation.

56. A method of processing data, comprising:

receiving plural sets of data corresponding to respective digital assets;

receiving continuous stream media data for one or more of the digital assets;

processing the sets of data to extract particular information from the data, and writing the extracted information to a data file;

compressing the continuous stream media data; and

assembling the digital assets, compressed data, and the data in the data file into an executable file;

providing the executable file including executable code and a plurality of blocks of data;

running the executable code to identify one of the blocks;

processing identification information contained in the block to determine the contents of the block;

reading data in the block and creating a corresponding directory if the block is a destination directory block;

decompressing the data in the block and writing the decompressed data to an appropriate directory if the block is a compressed file block;

writing the data in the block to a temporary directory if the block contains a clean-up program; and

saving the information in the block if the information contains auto-start path information.

57. A method of processing data, comprising:

receiving plural sets of data corresponding to respective digital assets;

receiving continuous stream media data for one or more of the digital assets;

processing the sets of data to extract particular information from the data, and writing the extracted information to a data file;

compressing the continuous stream media data; and

assembling the digital assets, compressed data, and the data in the data file into an executable file;

unpackaging the executable file;

beginning the display of data at a pre-selected position;

determining the current position of the display;

comparing the determined position with a set of event data for the respective digital assets;

displaying one of the digital assets based on the comparison of the position with the event data;

calculating a timeout based on the determined position and the event data;

setting a clock to fire upon reaching the timeout;

initiating a polling process when the clock fires to determine the position of the display;

displaying a different digital asset based on a comparison of the determined position with the event data; and

calculating a new timeout and resetting the clock to fire upon reaching the new timeout.

58. The method of claim 57 , wherein comparing the determined position with the event data comprises comparing the determined position with the event data related to a slide.

59. The method of claim 57 , wherein comparing the determined position with the event data comprises comparing the determined position with event data related to text data.

60. The method of claim 57 , wherein determining the current position comprises determining the position within a continuous stream media file.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Oct 7, 2020
From: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
To: MEDIAPLATFORM, INC
Reel/Frame 054003/0124 →
SECURITY AGREEMENT Recorded May 7, 2013
From: MEDIAPLATFORM, INC.
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 030370/0283 →
PATENTS Recorded Aug 22, 2012
From: MEDIA PLATFORM ON-DEMAND, INC.
To: MEDIAPLATFORM, INC.
Reel/Frame 028832/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2006
From: INTERACTIVE VIDEO TECHNOLOGIES, INC.
To: MEDIAPLATFORM ON-DEMAND, INC.
Reel/Frame 018635/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2002
From: DIGITAL LAVA CORPORATION
To: INTERACTIVE VIDEO TECHNOLOGIES, INC.
Reel/Frame 012883/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2000
From: ANDERSON, MATTHEW CARL; JENSEN, RICHARD PRENTISS; SHARFMAN, JOSHUA DOV JOSEPH
To: DIGITAL LAVA CORPORATION
Reel/Frame 011345/0481 →