Multimedia time warping system
DC CAFCFirst Claim
1. A process for the simultaneous storage and play back of multimedia data, comprising the steps of:
- accepting television (TV) broadcast signals, wherein said TV signals are based on a multitude of standards, including, but not limited to, National Television Standards Committee (NTSC) broadcast, PAL broadcast, satellite transmission, DSS, DBS, or ATSC;
tuning said TV signals to a specific program;
providing at least one Input Section, wherein said Input Section converts said specific program to an Moving Pictures Experts Group (MPEG) formatted stream for internal transfer and manipulation;
providing a Media Switch, wherein said Media Switch parses said MPEG stream, said MPEG stream is separated into its video and audio components;
storing said video and audio components on a storage device;
providing at least one Output Section, wherein said Output Section extracts said video and audio components from said storage device;
wherein said Output Section assembles said video and audio components into an MPEG stream;
wherein said Output Section sends said MPEG stream to a decoder;
wherein said decoder converts said MPEG stream into TV output signals;
wherein said decoder delivers said TV output signals to a TV receiver; and
accepting control commands from a user, wherein said control commands are sent through the system and affect the flow of said MPEG stream.
7 Assignments
Litigations
2 Petitions
Reexaminations
Accused Products
Abstract
A multimedia time warping system. The invention allows the user to store selected television broadcast programs while the user is simultaneously watching or reviewing another program. A preferred embodiment of the invention accepts television (TV) input streams in a multitude of forms, for example, National Television Standards Committee (NTSC) or PAL broadcast, and digital forms such as Digital Satellite System (DSS), Digital Broadcast Services (DBS), or Advanced Television Standards Committee (ATSC). The TV streams are converted to an Moving Pictures Experts Group (MPEG) formatted stream for internal transfer and manipulation and are parsed and separated it into video and audio components. The components are stored in temporary buffers. Events are recorded that indicate the type of component that has been found, where it is located, and when it occurred. The program logic is notified that an event has occurred and the data is extracted from the buffers. The parser and event buffer decouple the CPU from having to parse the MPEG stream and from the real time nature of the data streams which allows for slower CPU and bus speeds and translate to lower system costs. The video and audio components are stored on a storage device and when the program is requested for display, the video and audio components are extracted from the storage device and reassembled into an MPEG stream which is sent to a decoder. The decoder converts the MPEG stream into TV output signals and delivers the TV output signals to a TV receiver. User control commands are accepted and sent through the system. These commands affect the flow of said MPEG stream and allow the user to view stored programs with at least the following functions: reverse, fast forward, play, pause, index, fast/slow reverse play, and fast/slow play.
-
Citations
61 Claims
-
1. A process for the simultaneous storage and play back of multimedia data, comprising the steps of:
-
accepting television (TV) broadcast signals, wherein said TV signals are based on a multitude of standards, including, but not limited to, National Television Standards Committee (NTSC) broadcast, PAL broadcast, satellite transmission, DSS, DBS, or ATSC;
tuning said TV signals to a specific program;
providing at least one Input Section, wherein said Input Section converts said specific program to an Moving Pictures Experts Group (MPEG) formatted stream for internal transfer and manipulation;
providing a Media Switch, wherein said Media Switch parses said MPEG stream, said MPEG stream is separated into its video and audio components;
storing said video and audio components on a storage device;
providing at least one Output Section, wherein said Output Section extracts said video and audio components from said storage device;
wherein said Output Section assembles said video and audio components into an MPEG stream;
wherein said Output Section sends said MPEG stream to a decoder;
wherein said decoder converts said MPEG stream into TV output signals;
wherein said decoder delivers said TV output signals to a TV receiver; and
accepting control commands from a user, wherein said control commands are sent through the system and affect the flow of said MPEG stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
creating custom video output sequences, wherein said sequences are specified by a user or program control.
-
-
5. The process of claim 1, wherein the storing and extracting of said video and audio components from said storage device are performed simultaneously.
-
6. The process of claim 1, wherein said Media Switch calculates and logically associates a time stamp to said video and audio components.
-
7. The process of claim 1, wherein said Media Switch extracts time stamp values from a digital TV stream and logically associates said time stamp values to said video and audio components.
-
8. The process of claim 1, further comprising the steps of:
-
placing said video component into a circular video buffer;
posting an event in a circular event buffer, wherein said event contains an indication that a video component was found and the location of said video component in said circular video buffer; and
sending notice of said event posting.
-
-
9. The process of claim 1, further comprising the steps of:
-
placing said audio component into a circular audio buffer;
posting an event in a circular event buffer, wherein said event contains an indication that an audio component was found and the location of said audio component in said circular audio buffer; and
sending notice of said event posting.
-
-
10. The process of claims 8 or 9, further comprising the steps of:
-
receiving said notice;
retrieving said event posting from said event buffer; and
indexing into the appropriate buffer indicated by the type and location information in said event buffer.
-
-
11. The process of claim 10, further comprising the steps of:
generating a buffer containing the logical audio or video segments in order, including ancillary information, wherein each of said logical segments points to the appropriate circular buffer location where corresponding audio or video components have been placed.
-
12. The process of claim 1, further comprising the step of:
increasing the decoder system clock rate for fast playback or fast reverse playback.
-
13. The process of claim 1, further comprising the step of:
decreasing the decoder system clock rate for slow playback or slow reverse playback.
-
14. The process of claim 1, further comprising the step of:
combining system audio cues and on-screen displays with said TV output signals.
-
15. The process of claim 1, further comprising the steps of:
-
decoding the Vertical Blanking Interval (VBI) data or private data channel information from said TV signal; and
examining said data to determine the starting or ending indicators of a specific program.
-
-
16. The process of claim 1, further comprising the step of:
scanning the words contained within the closed caption (CC) fields to determine program starting and ending times, wherein particular words or phrases are used to trigger the recording of a specific program and wherein the CC information is preserved in time synchronization with the audio and video, and can be correctly presented to the viewer when the stream is displayed.
-
17. The process of claim 16, further comprising the step of:
performing a specific action when a specific word is found in said CC information.
-
18. The process of claim 1, wherein said Media Switch has a data bus connecting it to a CPU and DRAM.
-
19. The process of claim 1, wherein said Media Switch shares an address bus with a CPU and DRAM.
-
20. The process of claim 1, wherein said Media Switch operates asychronously and autonomously with a CPU.
-
21. The process of claim 1, wherein said storage device is connected to said Media Switch.
-
22. The process of claim 1, wherein said Media Switch allows the CPU to queue up Direct Memory Access (DMA) transfers.
-
23. The process of claim 1, wherein said Media Switch is implemented in hardware.
-
24. The process of claim 1, further comprising the step of:
providing a multimedia recording device, including, but not limited to, a Video Cassette Recorder (VCR) or a Digital Video Disk-Random Access Memory (DVD-RAM) device, wherein said recording device is attached to the output side of said decoder, allowing said user to record said TV output signals.
-
25. The process of claim 24, wherein said user queues up programs from said storage device to be stored on said recording device.
-
26. The process of claim 24, wherein said user sets time schedules for said programs to be sent to said recording device.
-
27. The process of claim 24, wherein title pages may be sent to said recording device before sending a program to be stored on said recording device.
-
28. The process of claim 24, wherein a program that is longer in duration than a magnetic tape in said recording device allows, is sped up to fit within the desired time limit.
-
29. The process of claim 24, wherein a program that is longer in duration than a magnetic tape in said recording device allows, has frames dropped from it to fit within the desired time limit.
-
30. The process of claim 24, wherein the output of said recording device is routed to said Input Section, allowing said recording device to act as a storage back up system, said recording device accepts overflow storage, TV programs, software updates, or other data that are later retrieved and sent to said Input Section.
-
31. A process for the simultaneous storage and play back of multimedia data, comprising the steps of:
-
providing a physical data source, wherein said physical data source accepts broadcast data from an input device, parses video and audio data from said broadcast data, and temporarily stores said video and audio data;
providing a source object, wherein said source object extracts video and audio data from said physical data source;
providing a transform object, wherein said transform object stores and retrieves data streams onto a storage device;
wherein said source object obtains a buffer from said transform object, said source object converts video data into data streams and fills said buffer with said streams;
wherein said source object is automatically flow controlled by said transform object;
providing a sink object, wherein said sink object obtains data stream buffers from said transform object and outputs said streams to a video and audio decoder;
wherein said decoder converts said streams into display signals and sends said signals to a display;
wherein said sink object is automatically flow controlled by said transform object;
providing a control object, wherein said control object receives commands from a user, said commands control the flow of the broadcast data through the system; and
wherein said control object sends flow command events to said source, transform, and sink objects.
-
-
32. An apparatus for the simultaneous storage and play back of multimedia data, comprising:
-
a module for accepting television (TV) broadcast signals, wherein said TV signals are based on a multitude of standards, including, but not limited to, National Television Standards Committee (NTSC) broadcast, PAL broadcast, satellite transmission, DSS, DBS, or ATSC;
a module for tuning said TV signals to a specific program;
at least one Input Section, wherein said Input Section converts said specific program to an Moving Pictures Experts Group (MPEG) formatted stream for internal transfer and manipulation;
a Media Switch, wherein said Media Switch parses said MPEG stream, said MPEG stream is separated into its video and audio components;
a module for storing said video and audio components on a storage device;
at least one Output Section, wherein said Output Section extracts said video and audio components from said storage device;
wherein said Output Section assembles said video and audio components into an MPEG stream;
wherein said Output Section sends said MPEG stream to a decoder;
wherein said decoder converts said MPEG stream into TV output signals;
wherein said decoder delivers said TV output signals to a TV receiver; and
accepting control commands from a user, wherein said control commands are sent through the system and affect the flow of said MPEG stream. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
a module for creating custom video output sequences, wherein said sequences are specified by a user or program control.
-
-
36. The apparatus of claim 32, wherein the storing and extracting of said video and audio components from said storage device are performed simultaneously.
-
37. The apparatus of claim 32, wherein said Media Switch calculates and logically associates a time stamp to said video and audio components.
-
38. The apparatus of claim 32, wherein said Media Switch extracts time stamp values from a digital TV stream and logically associates said time stamp values to said video and audio components.
-
39. The apparatus of claim 32, further comprising:
-
a module for placing said video component into a circular video buffer;
a module for posting an event in a circular event buffer, wherein said event contains an indication that a video component was found and the location of said video component in said circular video buffer; and
a module for sending notice of said event posting.
-
-
40. The apparatus of claim 32, further comprising:
-
a module for placing said audio component into a circular audio buffer;
a module for posting an event in a circular event buffer, wherein said event contains an indication that an audio component was found and the location of said audio component in said circular audio buffer; and
a module for sending notice of said event posting.
-
-
41. The apparatus of claims 39 or 40, further comprising:
-
a module for receiving said notice;
a module for retrieving said event posting from said event buffer; and
a module for indexing into the appropriate buffer indicated by the type and location information in said event buffer.
-
-
42. The apparatus of claim 41, further comprising:
a module for generating a buffer containing the logical audio or video segments in order, including ancillary information, wherein each of said logical segments points to the appropriate circular buffer location where corresponding audio or video components have been placed.
-
43. The apparatus of claim 32, further comprising:
a module for increasing the decoder system clock rate for fast playback or fast reverse playback.
-
44. The apparatus of claim 32, further comprising:
a module for decreasing the decoder system clock rate for slow playback or slow reverse playback.
-
45. The apparatus of claim 32, further comprising:
a module for combining system audio cues and on-screen displays with said TV output signals.
-
46. The apparatus of claim 32, further comprising:
-
a module for decoding the Vertical Blanking Interval (VBI) data or private data channel information from said TV signal; and
a module for examining said data to determine the starting or ending indicators of a specific program.
-
-
47. The apparatus of claim 32, further comprising:
a module for scanning the words contained within the closed caption (CC) fields to determine program starting and ending times, wherein particular words or phrases are used to trigger the recording of a specific program and wherein the CC information is preserved in time synchronization with the audio and video, and can be correctly presented to the viewer when the stream is displayed.
-
48. The apparatus of claim 47, further comprising:
a module for performing a specific action when a specific word is found in said CC information.
-
49. The apparatus of claim 32, wherein said Media Switch has a data bus connecting it to a CPU and DRAM.
-
50. The apparatus of claim 32, wherein said Media Switch shares an address bus with a CPU and DRAM.
-
51. The apparatus of claim 32, wherein said Media Switch operates asychronously and autonomously with a CPU.
-
52. The apparatus of claim 32, wherein said storage device is connected to said Media Switch.
-
53. The apparatus of claim 32, wherein said Media Switch allows the CPU to queue up Direct Memory Access (DMA) transfers.
-
54. The apparatus of claim 32, further comprising:
a multimedia recording device, including, but not limited to, a Video Cassette Recorder (VCR) or a Digital Video Disk-Random Access Memory (DVD-RAM) device, wherein said recording device is attached to the output side of said decoder, allowing said user to record said TV output signals.
-
55. The apparatus of claim 54, wherein said user queues up programs from said storage device to be stored on said recording device.
-
56. The apparatus of claim 54, wherein said user sets time schedules for said programs to be sent to said recording device.
-
57. The apparatus of claim 54, wherein title pages may be sent to said recording device before sending a program to be stored on said recording device.
-
58. The apparatus of claim 54, wherein a program that is longer in duration than a magnetic tape in said recording device allows, is sped up to fit within the desired time limit.
-
59. The apparatus of claim 54, wherein a program that is longer in duration than a magnetic tape in said recording device allows, has frames dropped from it to fit within the desired time limit.
-
60. The apparatus of claim 54, wherein the output of said recording device is routed to said Input Section, allowing said recording device to act as a storage back up system, said recording device accepts overflow storage, TV programs, software updates, or other data that are later retrieved and sent to said Input Section.
-
61. An apparatus for the simultaneous storage and play back of multimedia data, comprising:
-
a physical data source, wherein said physical data source accepts broadcast data from an input device, parses video and audio data from said broadcast data, and temporarily stores said video and audio data;
a source object, wherein said source object extracts video and audio data from said physical data source;
a transform object, wherein said transform object stores and retrieves data streams onto a storage device;
wherein said source object obtains a buffer from said transform object, said source object converts video data into data streams and fills said buffer with said streams;
wherein said source object is automatically flow controlled by said transform object;
a sink object, wherein said sink object obtains data stream buffers from said transform object and outputs said streams to a video and audio decoder;
wherein said decoder converts said streams into display signals and sends said signals to a display;
wherein said sink object is automatically flow controlled by said transform object;
a control object, wherein said control object receives commands from a user, said commands control the flow of the broadcast data through the system; and
wherein said control object sends flow command events to said source, transform, and sink objects.
-
Specification