Note: Descriptions are shown in the official language in which they were submitted.
CA 02303522 2000-03-30
A System and Method for Enhanced Streaming Media Viewing
The present invention relates to a system and method for providing streaming
media.
BACKGROUND OF THE INVENTION
Streaming media in video and audio form has been on the Internet since the
early 1990's. The
early streaming media was limited by bandwidth issues and poor video/audio
compression
technology.
Since the introduction and adoption of broadband delivery systems such as
Asymmetric Digital
Subscriber Lines (ADSL) and cable modems, streaming media has begun to become
a useable
delivery format. Streaming media is rapidly becoming a popular method for
providing
information and some radio stations have begun to provide simulcasts of their
radio broadcasts
over the Internet. Furthermore, it is envisioned that television and movies
will be transmitted
over the Internet.
However, the main problem of video streaming is the limitations in bandwidth.
Furthermore,
there is fluctuation in bandwidth on the network, depending upon loading and
routing. This
causes choking and picture freezing (despite buffering used as a standard
measure) making the
streaming media very annoying to the end user.
SUMMARY OF THE INVENTION
It is an advantage of the present invention that streaming media provided to a
user appears to
flow seamlessly.
BRIEF DESCRIPTION OF THE DRAWINGS
An embodiment of the invention will now be described by way of example only
with reference
to the following drawings in which:
Figure 1 is a block diagram of a buffer according an embodiment of the present
invention;
Figure 2 is a block diagram of the buffer shown in figure 1, when the buffer
is nearly
empty and includes markers; and
CA 02303522 2000-03-30
Figure 3 is a block diagram of the buffer shown in figure 1, when the buffer
is nearly full
and includes markers
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Television broadcasting has its roots in advertising. Typically programs will
run from S to 10
minutes followed by commercials for 2 to 3 minutes. Commercials are inserted
to the
programming by local distributors. Commercial strips are known in advance of
the broadcast.
Refernng to figure 4, a streaming media system is shown generally by the
numeral 10. The
1o system 10 includes a server 12 coupled to a user's personal computer (or
client) 14 via a network
connection 16. The network connection 16 is typically an Internet connection.
The client is
coupled to a memory device 18, such as a hard drive, for storing information.
Television commercials are transferred to the user's hard drive at one or more
of a plurality of
predetermined time periods. These commercials will be used in lieu of
streaming on-demand
commercials from a server, and will be inserted automatically by the
application when triggered
by a marker.
Commercial clips can be downloaded using several methods. They can be
downloaded when the
2o user switches the computers on. They can also be scheduled to download on a
different
connection to the streaming video connection in which case priority should be
given to the video
streaming. Commercials can also be downloaded during the normal commercial
breaks that are
provided by the broadcasters. While local prerecorded commercials are playing,
one could
download new clips through a dedicated URL. Furthermore, new commercials can
be
transmitted to a user's computer during off peak hours, while the computer is
still connected to
the Internet.
Markers are transmitted by the broadcasting station to instruct distributors
that commercials
should be inserted. In addition to that, additional markers will be inserted
at places where
3o streaming could be interrupted without annoyance. This can be done manually
on pre-recorded
material, or using a rule based image analysis algorithm. The maxkers are used
by the
2
CA 02303522 2000-03-30
application for determining certain events such as commercial insertion, hyper
text mark-up
language (HTML) page re-direction, and switching video/audio streams
(channels).
At start up, instead of waiting for the streaming video to be buffered
sufficiently, a sequence of
commercials is displayed from local files. When the buffer reaches sufficient
capacity for
streaming, on-line video display commences.
Buffer status depends upon the fluctuating bandwidth of the network. If the
average bandwidth
is lower than the bandwidth needed for real continuous display, the buffered
data decreases.
1o When the buffer size reaches a critical point where choking is predicted,
the video display is
faded out and local commercials are shown, while the buffer may rebuild itself
into safe
capacity.
In order to avoid interruptions in video sequences which might be annoying to
the user, the
15 scheduling of the local commercial is of special interest.
If the buffer is depleted below the critical level as illustrated in figure 1,
the scheduling algorithm
is initiated. Refernng to figure 2, case 1, the buffer already contains a
"broadcast marker",
which is a marker notifying the user that a commercial is to be embedded. The
buffer is allowed
20 to deplete further, and the local commercial is switched in at the
broadcast marker.
Referring to figure 2, case 2, the buffer does not contain a "broadcast
marker" but does contain
"supplementary markers", which is provided by the distributor server. The
local commercial
will be shown at the supplementary marker that is the last one in the buffer.
This is a dynamic algorithm. For example, if there are two supplementary
markers in the buffer
at detection time, and while the buffer depletes, a third marker arnves, the
local commercial will
wait for this latest arnval.
3o When, during local commercial display, the buffer fills up to sustainable
level at the end of the
current commercial, normal video streaming resumes.
CA 02303522 2000-03-30
The total amount of commercial broadcast is maintained in an accumulator. If,
due to excess
choking, many commercials were shown, the scheduling algorithm adjusts the
local commercial
showing where possible and resumes normal video streaming as soon as possible,
perhaps even
skipping commercials. Referring to figure 3, case 1, a broadcast marker is
encountered with a
relatively full buffer. Referring to figure 3, case 2, other broadcast markers
are present in the
buffer and the commercial quota has been exceeded. Therefore the local
commercial showing is
skipped until the next marker. If, however, there is no broadcast marker, but
there are
supplementary markers, the local commercial showing is delayed as long as
there are markers in
1 o the buffer. During this time of showing, the broadcasting station sends
commercials while the
delayed video stream is being shown, hence the commercial accumulator is
decreased
appropriately. When the accumulator reaches zero, normal commercial
synchronization can start
again at the next marker of any kind.
15 The buffer size is calculated with respect to the statistical measurement
of average bandwidth on
the channel, and the critical zone can be a percentage of a full buffer.
In addition to the above scheduling scheme, the case of sustained low
bandwidth is addressed. If
the average bandwidth drops below the required streaming need for a long
period, and the local
2o commercial scheduling has been exhausted, an auxiliary connection with the
server is used to
instruct the server to decrease the frame rate of the transmission. In that
case the server will
drop, for example, to 25 or 24 frames per sec, or even to 15 frames per sec as
required. When
bandwidth quality resumes to an acceptable level, the server will increase
again the frame rate to
a higher level, such as 30 frames per second. The synchronization between
client and server is
25 resolved for keeping the user display at valid frame rates.
Another feature for improving bandwidth is checking for the existence of
another connection
(routing) which results in a higher bandwidth. When this is detected, the
client connection can
seamlessly switch to the better connection (similar to telephone channel
switching over satellite
3o for overseas routing).
4
CA 02303522 2000-03-30
Further, a streaming media portal site is provided as a human indexed
directory of video and
audio on the Internet. The portal is being provided as a preferred location on
the Internet for
showcasing and indexing rich media. Users are able to search for video and
audio clips that are
hosted on other companies' servers, and find scheduled live events from around
the world.
The use of human indexing allows for a better quality Internet experience
versus sites such as
YahooTM, InfoseekTM, and AltavistaTM that feature computer indexed content.
Video and audio
are best experienced and described by humans.
1o The streaming media portal site is positioned extremely well. Current sites
indexing video and
audio are fragmented and developed by companies with an interest in featuring
their own media
formats. By offering all video formats, the streaming media portal builds
customer loyalty, and
can become the one stop for all media on the Internet.
15 The site will be expanded with weekly programming guides delivered directly
to users,
chatrooms, sponsored live events, and other community building features.
Streaming media servers use a client/server arrangement to allow insertion of
streaming media
advertisements (commercials). The client end begins a new stream for each
inserted commercial
2o in association with a downloaded script. In an alternate embodiment, the
streaming media server
uses a server push model to insert streaming media advertisements directly
into a live broadcast
media stream or pre-recorded stream. The server inserts the commercial at a
pre-determined
time and location, and does not require any feedback or communication from the
client.
25 The inserted commercial can reside on the same server as the pre-recorded
clip or broadcast, or
reside on a commercial server, and be automatically inserted at the server
end.
In yet an alternate embodiment, a client pull streaming media model allows for
communication
between the streaming media server and client for determining when commercials
are to be
3o inserted. The server generates a script that the client reads, and then
makes a request for content
CA 02303522 2000-03-30
based on it. The script can also be modified by the client based on a set of
rules or information
that it has gathered from the end user.
Once the client has made the request for Ad Insertion, the server responds by
modifying it's
current stream of information, or launches another stream for the commercial.
After the
commercial is finished the client issues a request to resume the original
content stream.
In yet an alternate embodiment, a targeted streaming media ad insertion model
allows the
streaming media server to gather user information from client applications
installed on a user's
1o computer.
The server collects information from the client application based on the
following criteria: The
user responses to forms & surveys; the user's viewing habits and timelines;
the length of
viewing; the number of commercials served; the type of content viewed; the
user's "hot click"
actions; the user clicking on a commercial to launch a separate
HTML/DHTML/XML/JAVA
window; purchases based on commercial content; the user's geographic location;
and any other
information gathered as statistics or usage logs
The server then sorts and analyzes the information into a user profile, and
allows for narrow
target marketing. All of the data collection for this model is based upon a
permissions system
that requires user permission to use and analyze collected data.
Although the invention has been described with reference to certain specific
embodiments,
various modifications thereof will be apparent to those skilled in the art.
6