System and method for scheduling and processing image and sound data
First Claim
1. A system operating over a limited bandwidth channel, comprising:
- (a) a receiver for receiving a sequence of temporal audio data to be encoded and transmitted over the limited bandwidth channel; and
(b) a processor for determining a shortage of audio data that could lead to a possible stall on the limited bandwidth channel, the processor including a system look-ahead that uses the determined shortage of sound data to analyze the sequence of temporal audio data to detect a stall condition in the temporal audio data, and if a stall condition is detected, finds a breakpoint in the sequence of temporal audio data and stops the sequence of temporal audio data at the breakpoint.
9 Assignments
0 Petitions
Accused Products
Abstract
A system and method for scheduling temporal data and non-temporal data to create a unified stream of data that includes both the temporal and non-temporal data and for processing the unified data stream. The temporal and non-temporal data is preferably in a compressed format. The system preferably includes a scheduler that takes temporal data (e.g., sound data) and non-temporal data (e.g., image data) and interleaves them together to form the unified data stream. The system also includes a processor that decompresses the compressed image data and produces an output image from both the decompressed image data and any uncompressed image data. The processor also plays the temporal data while it concurrently decompresses the compressed temporal data. The system can handle temporal data in any format, including voice data and MIDI files, as well as any type of image data, including videos and still images. Also disclosed is a method for scheduling and playing video data and sound data (including MIDI and voice) forming a computer slide-show, in which the video and sound data are interleaved into a unified data stream.
189 Citations
48 Claims
-
1. A system operating over a limited bandwidth channel, comprising:
-
(a) a receiver for receiving a sequence of temporal audio data to be encoded and transmitted over the limited bandwidth channel; and (b) a processor for determining a shortage of audio data that could lead to a possible stall on the limited bandwidth channel, the processor including a system look-ahead that uses the determined shortage of sound data to analyze the sequence of temporal audio data to detect a stall condition in the temporal audio data, and if a stall condition is detected, finds a breakpoint in the sequence of temporal audio data and stops the sequence of temporal audio data at the breakpoint.
-
-
2. A method for scheduling and processing temporal data and non-temporal data in a unified data stream, comprising:
-
(a) interleaving temporal data and non-temporal data to form a unified data stream, at least some of the temporal data being audio data in a temporal compressed format and at least some of the non-temporal data being in a non-temporal compressed format; and (b) processing the unified data stream, including; (1) decompressing the non-temporal data in the non-temporal compressed format and producing an output image from at least some of the decompressed non-temporal data and any uncompressed non-temporal data, and (2) concurrently playing the temporal audio data while decompressing the temporal audio data in the temporal compressed format by (A) searching for a breakpoint in an amount of the temporal audio data, (B) if a breakpoint is found, playing the amount of the temporal audio data to the breakpoint, (c) if no breakpoint is found, determining if the amount of temporal audio data is greater than a predetermined minimum amount of the temporal audio data, and (D) if the amount of the temporal audio data is greater than the predetermined amount of the temporal audio data, playing the amount of the temporal audio data. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for scheduling and processing non-temporal data and temporal data in a unified data stream, comprising:
-
(a) a scheduler, configured to interleave non-temporal data and temporal data to form a unified data stream, at least some of the non-temporal data being in an image compressed format and at least some of the temporal data being audio data in a temporal compressed format; and (b) a processor that decompresses the non-temporal data in the non-temporal compressed format, produces an output image from at least some of the decompressed non-temporal data and uncompressed non-temporal data, if any, and concurrently plays the temporal audio data while decompressing the temporal audio data in the temporal compressed format by; (1) searching for a breakpoint in an amount of the temporal audio data, (2) if a breakpoint is found, playing the amount of the temporal audio data to the breakpoint, (3) if no breakpoint is found, determining if the amount of temporal audio data is greater than a predetermined minimum amount of the temporal audio data, and (4) if the amount of the temporal audio data is greater than the predetermined amount of the temporal audio data, playing the amount of the temporal audio data. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 41)
-
-
35. A method for determining a baud rate for temporal data in a unified data stream that includes temporal and non-temporal data, the method comprising:
-
(a) interleaving temporal data and non-temporal data to form the unified data stream; (a) setting a plurality of markers in the temporal data at various times in the unified data stream; (b) checking the unified data stream to determine a time when each of the plurality of markers is received by a player; and (c) dividing an actual playing time between selected markers by the time between receipt of the selected markers to determine a baud rate for the temporal data.
-
-
36. A method for reducing stalls in images displayed in a computer animated slide-show, comprising:
-
(a) interleaving temporal data and non-temporal data to create a computer slide-show embodied in a unified data stream, the unified data stream including a plurality of image packets and a plurality of non-temporal data packets; (b) assigning a playtime to each of the image packets; (c) sorting the image packets by playtime; (c) sequentially sorting the image packets that are assigned the same playtime; (d) calculating a download time for each image packet; (e) locating a latest image packet having a download time that is completed the longest time after the playtime for that image data; (f) calculating a data gap, the data gap being the difference between the download time and the playtime of the latest image packet; and (g) playing the unified data stream only when an amount of data from the unified data stream that is at least a great as the data gap has been received.
-
-
37. A method for scheduling and processing a computer slide-show, the slide-show including image data and audio data in a unified data stream, the method comprising:
-
(a) interleaving image data, audio data, and command data to form a slide-show embodied in a unified data stream; and (b) processing the unified data stream, including; (1) separating the image data, the audio data, and the command data, (2) generating a plurality of time-event commands from the command data, each time-event command including a time indicator and an event of the slide-show that occurs at the time corresponding to the time indicator, (3) separating the image data into a plurality of image elements, each element including at least one image data packet, each image data packet having a corresponding time-event command, (4) separating the audio data into a plurality of sound elements, each element including at least one audio data packet, each audio data packet having a corresponding time-event command, (5) decoding each of the image data packets in response to the corresponding time-event command, and (6) decoding each of the audio data packets in response to the corresponding time-event command. - View Dependent Claims (38, 39, 40, 42, 43, 44)
-
-
45. A method for scheduling and processing temporal data and non-temporal data in a unified data stream, comprising:
-
(a) interleaving temporal data and non-temporal data to form a unified data stream, at least some of the temporal data being a MIDI audio file in a temporal compressed format, at least some of the non-temporal data being in a non-temporal compressed format, the MIDI audio file including at least one track having a plurality of messages, each message including time data; (b) sorting the MIDI audio file using the time data to group together messages to form a plurality of MIDI audio file portions, each MIDI audio file portion representing a specific time; and (c) processing the unified data stream, including; (1) decompressing the non-temporal data in the non-temporal compressed format and producing an output image from at least some of the decompressed non-temporal data and any uncompressed non-temporal data, and (2) concurrently playing and decompressing the sorted MIDI audio file in the temporal compressed format. - View Dependent Claims (46, 47)
-
-
48. A method for transmitting data over a limited bandwidth channel, comprising:
-
(a) receiving a sequence of temporal audio data to be encoded; (b) determining a shortage of audio data that could lead to a possible system stall on the limited bandwidth channel; (c) using the determined shortage of sound data to analyze the sequence of temporal audio data to detect a stall condition in the temporal audio data; and (d) if a stall condition is detected, finding a breakpoint in the sequence of temporal audio data and stopping transmission of the sequence of temporal audio data at the breakpoint.
-
Specification