Electrical computers and digital processing systems: multicomput – Computer-to-computer protocol implementing – Computer-to-computer data streaming
Reexamination Certificate
1998-10-06
2001-11-06
Vu, Viet D. (Department: 2154)
Electrical computers and digital processing systems: multicomput
Computer-to-computer protocol implementing
Computer-to-computer data streaming
Reexamination Certificate
active
06314466
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to accessing segments of a media object over a network. More particularly, the invention provides a system and method for determining a preliminary transmission period for a segment of a media object.
2. Description of the Related Art
Streaming media is a method of making audio, video, and other multimedia data available in real-time, over a network.
FIG. 1
illustrates a typical streaming media system. If the source of the streaming media is a live performance, the performance is often recorded as a data signal by an input device, such as, for example, a microphone
102
or a camera
104
. The input device then sends the data signal to an encoding system
106
which converts the data signal into a digital form and compresses the digital signal into a streamable data object
107
. The streamable data object
107
may be sent to a content creation station
108
for editing or may alternatively be sent directly to a streaming media server
110
. The content creation station
108
includes content creation software, such as video editing software, that allows the user to modify the streamable data object
107
. The content creation station
108
can also be used to independently create a streamable data object
107
. After being modified or created by the content creation station
108
, the streamable data object
107
may then be transmitted to the streaming media server
110
.
Once the streamable data object
107
is located on the streaming media server
110
, the streamable data object
107
is made available for further distribution over a network
100
, such as the Internet, to one or more client computers
112
. The client computer
112
generally requests access to the streamable data object
107
, begins receiving portions of it, and begins rendering the streamable data object
107
into a multimedia presentation for an end user.
One problem, however, related to transmitting streamable data objects over a network is that the client computer
112
must determine when it has sufficient data to begin the presentation or playing of the streamable data object
107
. One solution has been to require the client computer
112
to store the whole presentation in memory before beginning the display of the presentation. However, this approach consumes significant system resources and creates unacceptable delay between the user's initial request for the media and the start of the presentation. Also, the client computer
112
may not have the system capacity to store the whole streamable data object
107
.
Under another approach implemented by some existing systems, the client computer
112
starts playing the streamable data object
107
as soon as it is received. Of the problems with this approach, perhaps the most unacceptable is the periodic freezing or delay during playback caused by a lack of sufficient data to render the streamable data object
107
. Bandwidth intensive segments of the streamable data object
107
are often responsible for such . To ensure a seamless presentation, the client computer
112
may require more data from the streaming media server
110
than has been transmitted over the network
100
. But the amount of data a client computer
112
can receive in any period of time is restricted by the type of network communication it uses.
For example, assuming that the network
100
is the Internet, it is common for a client computer
112
to use a modem to connect to the Internet. However, modems have limited bandwidth capabilities compared to other transmission mediums, i.e., television, radio, Ethernet. The bandwidth of a communication device is defined by the amount of data that can be communicated over a specified time. A 28.8 Kbps (kilobits per second) modem can transmit or receive around 29,000 bits per second.
Depending on the content of a streamable data object
107
, the rate at which data is consumed during presentation of the streamable data object
107
may be much higher than the transmission rate for a particular time interval. In such cases, the client computer
112
of a conventional streaming media system simply waits in the middle of the presentation of the streamable data object
107
for the transmission of additional data, creating an unpleasant interruption for the user.
FIG. 2
is a high level block diagram representing the data transmission process of the prior art. Starting at a state
200
, the client computer
112
(
FIG. 1
) requests the streamable media server
110
(
FIG. 1
) to start transmitting data of the streamable data object
107
. Next, at a state
202
, the streaming media server
110
starts sending data of the streamable data object
107
(
FIG. 1
) to the client computer
112
. Moving to a state
204
, the client computer
112
starts displaying the presentation of the transmitted data. Continuing to a state
206
, the client computer
112
stops the presentation in order to wait for further data. Lastly, at a state
208
, the client computer
112
finishes displaying the presentation. Although only one interruption is indicated in the flowchart of
FIG. 2
, the client computer
112
may suffer from multiple interruptions due to having insufficient data at various times in the rendering process.
For further example, referring to
FIGS. 3 and 4
, a consumption graph for an exemplary rendering of a streamable data object
107
is described.
FIG. 4
shows the target bit rate of the client computer
112
in addition to the consumption graph of FIG.
3
. The consumption graph illustrates that the number of bits that are consumed during presentation of a streamable data object
107
varies over time. During the first one second interval of the presentation, the client computer
112
(
FIG. 1
) consumes 30K bits of data. However, during the next second, the client computer
112
consumes only 10K bits of information. Table 1, based on the consumption graph in
FIGS. 3 and 4
, further illustrates a situation wherein the total number of bits that are needed by the client computer
112
to maintain an uninterrupted playback is larger than the total number of bits it has received at multiple points in time.
TABLE 1
Time
Bits
Total Bits
Total Bits
(seconds)
Bits Needed
Transferred
Needed
Transferred
1
30K
20K
30K
20K
2
10K
20K
40K
40K
3
30K
20K
70K
60K
4
10K
20K
80K
80K
5
20K
20K
100K
100K
6
10K
10K
110K
110K
As can be seen from Table 1 and
FIG. 2
, after one second, in order to seamlessly present the streamable data object
107
, the client computer
112
needs 30K bits; however, the client computer
112
has only received 20K bits of the streamable data object
107
. Therefore, the client computer
112
has to wait for further data before starting the presentation. Further, after the presentation is started, the client computer
112
has to halt again because the presentation requires 70K bits of data at three seconds, but the client computer has only received 60K bits. This halt manifests itself, in existing systems, by freezing the presentation.
To attempt to overcome this difficulty, some systems transmit a portion of a streamable data object before playback starts. However, all multimedia presentations are not always played from the beginning, and transmitting an initial portion of a streamable data object does not help to address such situations.
The client computer
112
typically has a rendering program (not shown) that allows the user to “seek” to the middle or any number of secondary positions in the presentation before or during playback. After starting to play at the secondary position, the client computer
112
may require more data for the presentation than has been transmitted. Thus, the client computer
112
must pause and wait for the transmission of additional data. One solution to this problem has been to estimate the initial transmission buffer for the secondary position as being equal to or slightly greater than the initial transmission buffer for the whole streamable data object. However, this approach
Agarwal Rahul
Ayars Jeffrey M.
Greenbaum Gary S.
Hefta-Gaub Bradley D.
Lippman Alan F.
Knobbe Martens & Olson Bear LLP.
RealNetworks, Inc.
Vu Viet D.
LandOfFree
System and method for providing random access to a... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for providing random access to a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for providing random access to a... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2612569