|
|  Get related patents on CD |
| United States Patent | 6233389 |
| Link to this page | http://www.wikipatents.com/6233389.html |
| Inventor(s) | Barton; James M. (Los Gatos, CA), McInnis; Roderick James (Milpitas, CA), Moskowitz; Alan S. (San Francisco, CA), Goodman; Andrew Martin (Menlo Park, CA), Chow; Ching Tong (Fremont, CA), Kao; Jean Swey (Cupertino, CA) |
| 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. |
| |
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 6233389 |
|
|
Multimedia time warping system |
|
| Inventor |
Barton; James M. (Los Gatos, CA) , McInnis; Roderick James (Milpitas, CA) , Moskowitz; Alan S. (San Francisco, CA) , Goodman; Andrew Martin (Menlo Park, CA) , Chow; Ching Tong (Fremont, CA) , Kao; Jean Swey (Cupertino, CA) |
|
|
|
| Publication Date |
May 15, 2001 |
|
|
|
|
|
| Filing Date |
July 30, 1998 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5937138 Fukuda 386/112 Aug,1999 |      Your vote accepted [0 after 0 votes] | | 5920842 Cooper 704/503 Jul,1999 |      Your vote accepted [0 after 0 votes] | | 5787225 Honjo
Jul,1998 |      Your vote accepted [0 after 0 votes] | | 5706388 Isaka
Jan,1998 |      Your vote accepted [0 after 0 votes] | | 5696868 Kim
Dec,1997 |      Your vote accepted [0 after 0 votes] | | 5675388 Cooper 348/461 Oct,1997 |      Your vote accepted [0 after 0 votes] | | 5572261 Cooper 348/512 Nov,1996 |      Your vote accepted [0 after 0 votes] | | 5550594 Cooper 348/513 Aug,1996 |      Your vote accepted [0 after 0 votes] | | 5438423 Lynch 386/109 Aug,1995 |      Your vote accepted [0 after 0 votes] | | 5371551 Logan 348/571 Dec,1994 |      Your vote accepted [0 after 0 votes] | | 5202761 Cooper 348/515 Apr,1993 |      Your vote accepted [0 after 0 votes] | | Re33535 Cooper
Feb,1991 |      Your vote accepted [0 after 0 votes] | | 4665431 Cooper 348/480 May,1987 |      Your vote accepted [0 after 0 votes] | | 4313135 Cooper 348/512 Jan,1982 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
|
|
|
|
|
|
Public's "Guesstimation" of Royalty Value
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
What is claimed is:
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.
2. The process of claim 1, wherein said Input Section directs said MPEG stream to the destination indicated by said control commands.
3. The process of claim 1, wherein said Output Section extracts said video and audio components from the storage device indicated by said control commands.
4. The process of claim 1, further comprising the step of:
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.
33. The apparatus of claim 32, wherein said Input Section directs said MPEG stream to the destination indicated by said control commands.
34. The apparatus of claim 32, wherein said Output Section extracts said video and audio components from the storage device indicated by said control commands.
35. The apparatus of claim 32, further comprising:
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Technical Field
The invention relates to the time shifting of television broadcast signals. More particularly, the invention relates to the real time capture, storage, and display of television broadcast signals.
2. Description of the Prior Art
The Video Cassette Recorder (VCR) has changed the lives of television (TV) viewers throughout the world. The VCR has offered viewers the flexibility to time-shift TV programs to match their lifestyles.
The viewer stores TV programs onto magnetic tape using the VCR. The VCR gives the viewer the ability to play, rewind, fast forward and pause the stored program material. These functions enable the viewer to pause the program playback whenever
he desires, fast forward through unwanted program material or commercials, and to replay favorite scenes. However, a VCR cannot both capture and play back information at the same time.
One approach to solving this problem is to use several VCRs. For example, if two video tape recorders are available, it might be possible to Ping-Pong between the two. In this case, the first recorder is started at the beginning of the program
of interest. If the viewer wishes to rewind the broadcast, the second recorder begins recording, while the first recorder is halted, rewound to the appropriate place, and playback initiated. However, at least a third video tape recorder is required if
the viewer wishes to fast forward to some point in time after the initial rewind was requested. In this case, the third recorder starts recording the broadcast stream while the second is halted and rewound to the appropriate position. Continuing this
exercise, one can quickly see that the equipment becomes unwieldy, unreliable, expensive, and hard to operate, while never supporting all desired functions. In addition, tapes are of finite length, and may potentially end at inconvenient times,
drastically lowering the value of the solution.
The use of digital computer systems to solve this problem has been suggested. U.S. Pat. No. 5,371,551 issued to Logan et al., on Dec. 6, 1994, teaches a method for concurrent video recording and playback. It presents a microprocessor
controlled broadcast and playback device. Said device compresses and stores video data onto a hard disk. However, this approach is difficult to implement because the processor requirements for keeping up with the high video rates makes the device
expensive and problematic. The microprocessor must be extremely fast to keep up with the incoming and outgoing video data.
It would be advantageous to provide a multimedia time warping system that gives the user the ability to simultaneously record and play back TV broadcast programs. It would further be advantageous to provide a multimedia time warping system that
utilizes an approach that decouples the microprocessor from the high video data rates, thereby reducing the microprocessor and system requirements which are at a premium.
SUMMARY OF THE INVENTION
The invention provides a multimedia time warping system. The invention utilizes an easily manipulated, low cost multimedia storage and display system that allows the user to view a television broadcast program with the option of instantly
reviewing previous scenes within the program. In addition, 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, analog forms such as 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). Analog TV streams are converted to an Moving Pictures Experts Group (MPEG) formatted stream for internal transfer and manipulation, while pre-formatted
MPEG streams are extracted from the digital TV signal and presented in a similar format to encoded analog streams.
The invention parses the resulting MPEG stream and separates it into its video and audio components. It then stores the components into 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. This decoupling allows for slower CPU and bus speeds which translate to lower system costs. The video and audio
components are stored on a storage device. When the program is requested for display, the video and audio components are extracted from the storage device and reassembled into an MPEG stream. The MPEG stream 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.
Other aspects and advantages of the invention will become apparent from the following detailed description in combination with the accompanying drawings, illustrating, by way of example, the principles of the invention.
BRIEF DESCRIPTION
OF THE DRAWINGS
FIG. 1 is a block schematic diagram of a high level view of a preferred embodiment of the invention according to the invention;
FIG. 2 is a block schematic diagram of a preferred embodiment of the invention using multiple input and output modules according to the invention;
FIG. 3 is a schematic diagram of an Moving Pictures Experts Group (MPEG) data stream and its video and audio components according to the invention;
FIG. 4 is a block schematic diagram of a parser and four direct memory access (DMA) input engines contained in the Media Switch according to the invention;
FIG. 5 is a schematic diagram of the components of a packetized elementary stream (PES) buffer according to the invention;
FIG. 6 is a schematic diagram of the construction of a PES buffer from the parsed components in the Media Switch output circular buffers;
FIG. 7 is a block schematic diagram of the Media Switch and the various components that it communicates with according to the invention;
FIG. 8 is a block schematic diagram of a high level view of the program logic according to the invention;
FIG. 9 is a block schematic diagram of a class hierarchy of the program logic according to the invention;
FIG. 10 is a block schematic diagram of a preferred embodiment of the clip cache component of the invention according to the invention;
FIG. 11 is a block schematic diagram of a preferred embodiment of the invention that emulates a broadcast studio video mixer according to the invention;
FIG. 12 is a block schematic diagram of a closed caption parser according to the invention; and
FIG. 13 is a block schematic diagram of a high level view of a preferred embodiment of the invention utilizing a VCR as an integral component of the invention according to the invention.
DETAILED DESCRIPTION OF THE INVENTION
The invention is embodied in a multimedia time warping system. A system according to the invention provides a multimedia storage and display system that allows the user to view a television broadcast program with the option of instantly
reviewing previous scenes within the program. The invention additionally provides the user with the ability to store selected television broadcast programs while simultaneously watching or reviewing another program and to view stored programs with at
least the following functions: reverse, fast forward, play, pause, index, fast/slow reverse play, and fast/slow play.
Referring to FIG. 1, a preferred embodiment of the invention has an Input Section 101, Media Switch 102, and an Output Section 103. The Input Section 101 takes 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). DBS, DSS and ATSC are based on standards called Moving
Pictures Experts Group 2 (MPEG2) and MPEG2 Transport. MPEG2 Transport is a standard for formatting the digital data stream from the TV source transmitter so that a TV receiver can disassemble the input stream to find programs in the multiplexed signal.
The Input Section 101 produces MPEG streams. An MPEG2 transport multiplex supports multiple programs in the same broadcast channel, with multiple video and audio feeds and private data. The Input Section 101 tunes the channel to a particular program,
extracts a specific MPEG program out of it, and feeds it to the rest of the system. Analog TV signals are encoded into a similar MPEG format using separate video and audio encoders, such that the remainder of the system is unaware of how the signal was
obtained. Information may be modulated into the Vertical Blanking Interval (VBI) of the analog TV signal in a number of standard ways; for example, the North American Broadcast Teletext Standard (NABTS) may be used to modulate information onto lines 10
through 20 of an NTSC signal, while the FCC mandates the use of line 21 for Closed Caption (CC) and Extended Data Services (EDS). Such signals are decoded by the input section and passed to the other sections as if they were delivered via an MPEG2
private data channel.
The Media Switch 102 mediates between a microprocessor CPU 106, hard disk or storage device 105, and memory 104. Input streams are converted to an MPEG stream and sent to the Media Switch 102. The Media Switch 102 buffers the MPEG stream into
memory. It then performs two operations if the user is watching real time TV: the stream is sent to the Output Section 103 and it is written simultaneously to the hard disk or storage device 105.
The Output Section 103 takes MPEG streams as input and produces an analog TV signal according to the NTSC, PAL, or other required TV standards. The Output Section 103 contains an MPEG decoder, On-Screen Display (OSD) generator, analog TV encoder
and audio logic. The OSD generator allows the program logic to supply images which will be overlayed on top of the resulting analog TV signal. Additionally, the Output Section can modulate information supplied by the program logic onto the VBI of the
output signal in a number of standard formats, including NABTS, CC and EDS.
With respect to FIG. 2, the invention easily expands to accommodate multiple Input Sections (tuners) 201, 202, 203, 204, each can be tuned to different types of input. Multiple Output Modules (decoders) 206, 207, 208, 209 are added as well.
Special effects such as picture in a picture can be implemented with multiple decoders. The Media Switch 205 records one program while the user is watching another. This means that a stream can be extracted off the disk while another stream is being
stored onto the disk.
Referring to FIG. 3, the incoming MPEG stream 301 has interleaved video 302, 305, 306 and audio 303, 304, 307 segments. These elements must be separated and recombined to create separate video 308 and audio 309 streams or buffers. This is
necessary because separate decoders are used to convert MPEG elements back into audio or video analog components. Such separate delivery requires that time sequence information be generated so that the decoders may be properly synchronized for accurate
playback of the signal.
The Media Switch enables the program logic to associate proper time sequence information with each segment, possibly embedding it directly into the stream. The time sequence information for each segment is called a time stamp. These time stamps
are monotonically increasing and start at zero each time the system boots up. This allows the invention to find any particular spot in any particular video segment. For example, if the system needs to read five seconds into an incoming contiguous video
stream that is being cached, the system simply has to start reading forward into the stream and look for the appropriate time stamp.
A binary search can be performed on a stored file to index into a stream. Each stream is stored as a sequence of fixed-size segments enabling fast binary searches because of the uniform time stamping. If the user wants to start in the middle of
the program, the system performs a binary search of the stored segments until it finds the appropriate spot, obtaining the desired results with a minimal amount of information. If the signal were instead stored as an MPEG stream, it would be necessary
to linearly parse the stream from the beginning to find the desired | | |