U.S. patent application number 13/251989 was filed with the patent office on 2012-01-26 for system and method for dynamically determining multimedia transmission based on communication bandwidth.
Invention is credited to Yihsiu Chen, Mark J. Foladare, Shelley B. Goldman.
Application Number | 20120023256 13/251989 |
Document ID | / |
Family ID | 42555832 |
Filed Date | 2012-01-26 |
United States Patent
Application |
20120023256 |
Kind Code |
A1 |
Chen; Yihsiu ; et
al. |
January 26, 2012 |
SYSTEM AND METHOD FOR DYNAMICALLY DETERMINING MULTIMEDIA
TRANSMISSION BASED ON COMMUNICATION BANDWIDTH
Abstract
A system and method is provided for dynamically adjusting one or
more characteristics of a multimedia transmission between a content
provider and a content recipient. In one embodiment, the system
responds to a change in available bandwidth between the content
provider and the content recipient.
Inventors: |
Chen; Yihsiu; (Middletown,
NJ) ; Foladare; Mark J.; (East Brunswick, NJ)
; Goldman; Shelley B.; (East Brunswick, NJ) |
Family ID: |
42555832 |
Appl. No.: |
13/251989 |
Filed: |
October 3, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
12855777 |
Aug 13, 2010 |
8031771 |
|
|
13251989 |
|
|
|
|
10742851 |
Dec 23, 2003 |
7778326 |
|
|
12855777 |
|
|
|
|
Current U.S.
Class: |
709/231 |
Current CPC
Class: |
H04L 47/10 20130101;
H04L 47/38 20130101; H04N 21/26216 20130101; H04N 21/64769
20130101; H04L 65/80 20130101 |
Class at
Publication: |
709/231 |
International
Class: |
G06F 15/16 20060101
G06F015/16 |
Claims
1. A method of adjusting a multimedia transmission between a
content provider and a content recipient, comprising: receiving an
indication of a change in an available bandwidth between the
content provider and the content recipient during an established
multimedia transmission of a multimedia stream that occurs at a
video resolution level, and an audio compression level;
determining, based on the change in the available bandwidth, an
adjustment to at least one of: the video resolution level or the
audio compression level of the multimedia stream; and implementing,
via a server, the adjustment in the multimedia stream between the
content provider and the content recipient in the established
multimedia transmission.
2. The method of claim 1, wherein the indication is an indication
of a monitored change in the available bandwidth between the
content provider and the content recipient.
3. The method of claim 1, wherein the indication is an indication
of a self imposed reduction in bandwidth.
4. The method of claim 1, wherein the adjustment comprises an
adjustment only to the video resolution level.
5. The method of claim 1, wherein the adjustment comprises an
adjustment only to the audio compression level.
6. The method of claim 1, wherein the adjustment comprises an
adjustment to the video resolution level, the audio compression
level and a frame rate.
7. The method of claim 1, wherein the server is a network
server.
8. The method of claim 7, wherein the network server employs a
session initiation protocol for signaling.
9. The method of claim 1, wherein the server is operated by the
content provider.
10. The method of claim 1, wherein the adjustment accounts for a
selected preference of the content recipient.
11. A non-transitory computer-readable medium that stores a program
for controlling a device to perform a method of adjusting a
multimedia transmission between a content provider and a content
recipient, comprising: receiving an indication of a change in an
available bandwidth between the content provider and the content
recipient during an established multimedia transmission of a
multimedia stream that occurs at a video resolution level, and an
audio compression level; determining, based on the change in the
available bandwidth, an adjustment to at least one of: the video
resolution level or the audio compression level of the multimedia
stream; and implementing, via a server, the adjustment in the
multimedia stream between the content provider and the content
recipient in the established multimedia transmission.
12. The non-transitory computer-readable medium of claim 11,
wherein the indication is an indication of a monitored change in
the available bandwidth between the content provider and the
content recipient.
13. The non-transitory computer-readable medium of claim 11,
wherein the indication is an indication of a self imposed reduction
in bandwidth.
14. The non-transitory computer-readable medium of claim 11,
wherein the adjustment comprises an adjustment only to the video
resolution level.
15. The non-transitory computer-readable medium of claim 11,
wherein the adjustment comprises an adjustment only to the audio
compression level.
16. The non-transitory computer-readable medium of claim 11,
wherein the adjustment comprises an adjustment to the video
resolution level, the audio compression level and a frame rate.
17. The non-transitory computer-readable medium of claim 11,
wherein the server is a network server.
18. The non-transitory computer-readable medium of claim 17,
wherein the network server employs a session initiation protocol
for signaling.
19. The non-transitory computer-readable medium of claim 11,
wherein the server is operated by the content provider.
20. A server for performing a method of adjusting a multimedia
transmission between a content provider and a content recipient,
comprising: the server configured to: receive an indication of a
change in an available bandwidth between the content provider and
the content recipient during an established multimedia transmission
of a multimedia stream that occurs at a video resolution level, and
an audio compression level; determine, based on the change in the
available bandwidth, an adjustment to at least one of: the video
resolution level or the audio compression level of the multimedia
stream; and implement the adjustment in the multimedia stream
between the content provider and the content recipient in the
established multimedia transmission.
Description
[0001] This application is a continuation of U.S. patent
application Ser. No. 12/855,777, filed Aug. 13, 2010, which is
currently allowed, and is a continuation of U.S. patent application
Ser. No. 10/742,851, now U.S. Pat. No. 7,778,326 filed Dec. 23,
2003, which is currently allowed and each of the above cited
applications is incorporated herein by reference in its
entirety.
FIELD OF THE INVENTION
[0002] The present invention relates generally to multimedia
systems and methods and, more particularly, to a system and method
for dynamically determining multimedia transmission based on
communication bandwidth.
Introduction
[0003] The increasing accessibility to the Internet has fueled a
corresponding increase in the accessibility of multimedia content.
Users are becoming increasingly accustomed to accessing various
forms of multimedia content such as movie trailers, news clips,
sporting highlights, etc. As is well known, the user experience in
accessing various forms of multimedia content is highly dependent
on the bandwidth capacity of a user's network Internet
connection.
[0004] Traditional dial-up connections at 56k have continued to
represent the dominant form of user access to the network (e.g.,
Internet). While higher bandwidth integrated services digital
network (ISDN) services have existed for some time, only recently
have cable, satellite and digital subscriber line (DSL) service
providers been able to significantly accelerate the proliferation
of broadband network access.
[0005] Broadband network access has enabled significant
improvements with a user's experience in accessing multimedia
content. A most notable example is the support of higher frame
resolution levels through the higher bandwidth connections.
[0006] As a user's network connection has significant implications
on his experience with multimedia content, what is needed is a
mechanism that maximizes a user's experience based on the available
bandwidth.
SUMMARY
[0007] In accordance with the present invention, a process is
provided for dynamically adjusting one or more characteristics of a
multimedia transmission between a content provider and a content
recipient. In one embodiment, the system responds to a change in
available bandwidth between the content provider and the content
recipient.
[0008] Additional features and advantages of the invention will be
set forth in the description which follows, and in part will be
obvious from the description, or may be learned by practice of the
invention. The features and advantages of the invention may be
realized and obtained by means of the instruments and combinations
particularly pointed out in the appended claims. These and other
features of the present invention will become more fully apparent
from the following description and appended claims, or may be
learned by the practice of the invention as set forth herein.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] In order to describe the manner in which the above-recited
and other advantages and features of the invention can be obtained,
a more particular description of the invention briefly described
above will be rendered by reference to specific embodiments thereof
which are illustrated in the appended drawings. Understanding that
these drawings depict only typical embodiments of the invention and
are not therefore to be considered to be limiting of its scope, the
invention will be described and explained with additional
specificity and detail through the use of the accompanying drawings
in which:
[0010] FIG. 1 illustrates an embodiment of a system of the present
invention; and
[0011] FIG. 2 illustrates a flowchart of a method of the present
invention.
DETAILED DESCRIPTION
[0012] Various embodiments of the invention are discussed in detail
below. While specific implementations are discussed, it should be
understood that this is done for illustration purposes only. A
person skilled in the relevant art will recognize that other
components and configurations may be used without parting from the
spirit and scope of the invention.
[0013] As noted, a wide range of network access options are
currently available to users. With the accelerating proliferation
of broadband cable or DSL connections, users are becoming
increasingly familiar with the benefits of higher bandwidth
connections. These benefits are significant whenever multimedia
content is being accessed.
[0014] Due to the range of connection speeds that currently exist
amongst users, many applications rely on a user's specification of
connection speed to dictate the quality of the multimedia
experience. For example, when a content provider makes a streaming
video (e.g., movie trailer) available to various users (or content
recipients), the content provider first presents the user with
various choices of media resolution (e.g., small, medium, large)
before commencing with delivery of the multimedia stream. This
choice by the user is typically based on the bandwidth of the
user's connection. If the user is on a dial-up connection, then the
smallest resolution will be most suitable. Conversely, if the user
is on a high-bandwidth cable connection, then the largest
resolution may be suitable.
[0015] If the user selects a resolution that is unsupportable by
the user's connection, then the multimedia experience will be less
than satisfactory resulting in a multimedia stream that can skip,
jump, or halt. Unfortunately, once the user has made a selection,
the user is stuck with that particular resolution for the duration
of the multimedia stream. Modification to the selection can be
effected by restarting the multimedia stream.
[0016] It should be noted that unsatisfactory results in viewing
multimedia content are not restricted with those users that are
hampered by low-bandwidth connections. Even high-bandwidth users
can have unsatisfactory results when viewing a multimedia stream.
This fact is a consequence of variations in a user's connection
bandwidth. These variations can depend on many aspects of a network
connection (e.g., Internet, private network, or the like), such as
packet loss, packet collision, sharing of common transport, etc.,
and can prevent the connection from operating at its ideal
top-rated speed.
[0017] Accounting for these variations in bandwidth can result in a
less than ideal multimedia experience. For example, when faced with
a choice of resolutions, a user may select a lower resolution that
he believes would be sufficient to accommodate potential drops in
connection bandwidth. This choice would often be driven by a user's
desire to ensure a smooth playback of the multimedia stream. As
would be appreciated, this initial user choice would result in a
resolution that would often be lower than a resolution level that
could be sustained for good portions of the multimedia stream.
[0018] It is therefore a feature of the present invention that a
user's multimedia experience can be maximized with respect to a
user's available connection bandwidth. As described in greater
detail below, this maximization is based on a dynamic adjustment
mechanism that can modify characteristics of a multimedia stream
during the playback of the multimedia stream. These modifications
can be in response to a decrease or an increase in available
connection bandwidth.
[0019] To illustrate the various features of the present invention,
reference is made first to the system diagram of FIG. 1. As
illustrated in FIG. 1, multimedia system 100 includes a content
provider 110, a content recipient 130, and one or more controlling
servers 120. Here, content provider 110 can represent any system on
a network that operates as a source of multimedia content, while
content recipient 130 can represent any system on the network that
receives the multimedia content via multimedia transmission channel
146. Here, it should be noted that in the context of a generic
point-to-point connection between two users (e.g., video call),
each user could functionally operate as both a content provider and
a content recipient in the two-way multimedia transmission. In this
scenario, changes in the available bandwidth of the connection
would produce an impact on both ends of the connection.
[0020] As illustrated in FIG. 1, controlling servers 120 can
represent any collection of one or more systems that assist in the
establishment of a connection between content provider 110 and
content recipient 130. As part of this process, controlling servers
120 communicate with content provider 110 and content recipient 130
via signaling channels 142 and 144, respectively. In general,
signaling channels 142, 144 enable an exchange of information that
can be used to set up multimedia transmission channel 146 for use
between content provider 110 and content recipient 130.
[0021] In one embodiment, signaling between controlling servers 120
and content provider 110 and content recipient 130 are based on the
Session Initiation Protocol (SIP), which is the Internet
Engineering Task Force's (IETF's) standard for multimedia
conferencing over IP. In general, SIP is an ASCII-based,
application layer control protocol that can be used to establish,
maintain, and terminate connections between two or more end points.
SIP is described in greater detail in RFC 2543--SIP: Session
Initiation Protocol, which is incorporated by reference herein in
its entirety.
[0022] In general, the dynamic adjustment mechanism of the present
invention operates to adjust, during an established multimedia
transmission, one or more characteristics of the multimedia
transmission that can affect the bandwidth required to accommodate
the multimedia transmission. In one embodiment, three
characteristics of the multimedia stream can be adjusted either
alone or in combination: the video resolution level, the frame
rate, and the audio compression level. The basis for this
adjustment and the specific form of the adjustment is dependent on
a recognized change in the bandwidth available to support the
multimedia transmission.
[0023] In one embodiment, the available bandwidth is determined
through the detection of the current transmission level between
content provider 110 and content recipient 130. This detection
process can be embodied in various forms and in various parts of
the network. For example, the detection process can be based on a
monitoring of packets as they traverse the network. In general, as
multimedia transmission channel 146 can traverse multiple networks,
specific measures of network performance can be gained at various
points in various networks to determine the bandwidth bottleneck.
Regardless of where the information is generated, the ultimate
provision of its detection to one of the controlling servers 120
enables a dynamic adjustment mechanism to be effected.
[0024] To illustrate this process, reference is made to the
flowchart of FIG. 2. As illustrated, the process begins at step 202
where a connection is established between content provider 110 and
content recipient 130. As noted, in one embodiment, the connection
can be a SIP-based connection. As part of this process, controlling
server(s) 120 can be used to determine the media capabilities of
content provider 110 and content recipient 130. Here, the Session
Description Protocol (SDP) can be used to assist in the
determination of the lowest level of common services (e.g.,
connection bandwidth) between content provider 110 and content
recipient 130. Based on this determined lowest level of common
services, characteristics (e.g., video resolution level, frame
rate, and audio compression level) of the multimedia transmission
can then be determined.
[0025] After the connection has been established, the process
continues to step 204 where the bandwidth between content provider
110 and content recipient 130 is monitored. If it is determined at
step 206 that no changes in bandwidth are detected, then the
monitoring process continues. If it is determined at step 206 that
a change in bandwidth (higher or lower) is detected in any part of
the network supporting multimedia transmission channel 146, then a
dynamic adjustment process is invoked.
[0026] As noted above, the change in bandwidth between content
provider 110 and content recipient 130 can be detected by
monitoring elements at various points in the network. This
detection represents an actual change in bandwidth between content
provider 110 and content recipient 130.
[0027] It should be noted, however, that a bandwidth change can
also be the result of a self-imposed constraint adopted by either
content provider 110 or content recipient 130. For example, assume
that content provider 110 recognizes that a portion of his outgoing
bandwidth is needed for delivery of additional data to content
recipient 130. As would be appreciated, this additional data can be
part of the same session as the multimedia transmission or can be
part of an entirely different session. Regardless, this additional
data delivery will use up a portion of the bandwidth dedicated to
content recipient 130 and may therefore require an adjustment in
one or more characteristics of the multimedia transmission to
accommodate the transmission of the additional data. In general,
any delivery of additional data to content recipient 130 or to
another party could impact the outgoing bandwidth from content
provider 110 and would therefore necessitate a change in the
multimedia transmission to content recipient 130.
[0028] Regardless of the cause, a change in bandwidth detected at
step 206 will lead to the dynamic adjustment process beginning at
step 208. Specifically, at step 208, a modification to one or more
characteristics of the established connection is identified. In one
embodiment, these characteristics include the video resolution
level, the frame rate and the audio compression level.
[0029] Each of these characteristics can be defined at discrete
levels, the transitions between which will involve a positive or
negative change in required bandwidth. These positive and negative
changes in bandwidth can be used to determine the needed
modifications to accommodate the detected change in bandwidth. As
would be appreciated, these changes for particular characteristics
can be evaluated independently or in combination.
[0030] Consider for example a system that can implement the
following discrete levels of multimedia transmission
characteristics: video resolution levels of 176.times.144,
320.times.240, and 640.times.480; frame rates of 5, 10, 15, and 30
frames/sec; and audio compression levels of 8 kbps (based on the
G.729 codec) and 64 kbps (based on the G. 711 codec). Assume
further that the multimedia transmission is initially established
at video resolution of 320.times.240, a frame rate of 30, and an
audio compression level of 8 kbps.
[0031] If it is detected that an increase in available bandwidth
has occurred, then the system could determine that the video
resolution level can be increased to 640.times.480. If, however,
the system determines that the increase in bandwidth would not
support an increase in the video resolution level to 640.times.480,
then the system could then choose to decrease the audio compression
level to 64 kbps, thereby increasing the sound quality of the
transmission. Of course, if the bandwidth change can accommodate
both an increase in the video resolution level to 640.times.480 and
a decrease in the audio compression level, then both of those
modification could be effected.
[0032] If it is detected that a decrease in available bandwidth has
occurred, then the system could determine that the video resolution
level and/or the frame rate should be decreased. The specific
amount of the decrease in the video resolution level and/or the
frame rate would be based on the amount of the reduction in
available bandwidth. For example, if a large decrease in available
bandwidth is detected, the system could choose to reduce the video
resolution level to 176.times.144 and the frame rate to 5
frames/sec. In an extreme case, where the available bandwidth is
drastically cut, the system could also choose to eliminate the
video portion of the stream altogether and transmit only the audio
component.
[0033] While various methods of adjustment can be used in balancing
the changes in the video resolution level, the frame rate and the
audio compression level, one of the goals of the process is to
maintain a smooth multimedia stream. This goal can dictate a
combination of changes that would be more permissible than others.
For example, the system could be designed to reduce the video
resolution levels before it reduced the frame rate. As would be
appreciated, the specific methods of adjustment would be
implementation dependent and would not alter the principles of the
present invention.
[0034] In one embodiment, either party to the connection can place
their own constraints on the methodology by which the adjustments
are to be made. To illustrate this concept consider a general
point-to-point connection between two users (A and B). In this
scenario, either party could not only decide whether to place an
artificial constraint on the available bandwidth, but also decide
the methodology by which the adjustments to one or more of the
video resolution level, the frame rate and the audio compression
level are made. For example, user A could choose to sacrifice the
video resolution level first and the audio compression level last
upon a change (actual or self imposed by user A) in bandwidth,
while user B could choose to sacrifice the video frame rate first
and the video resolution level last upon a change (actual or self
imposed by user B) in bandwidth. These options can be entered into
the system as user-selectable preferences.
[0035] After the modifications are determined at step 208, the
modifications are then placed in effect at step 210. More
specifically, the established connection is modified in midstream
in a process governed by controlling server 120. This midstream
modification would seek to maximize the user's experience given the
current bandwidth constraints. Here, it is significant that the
characteristics of the multimedia transmission occur automatically
without relying on a user's specification.
[0036] Embodiments within the scope of the present invention may
also include computer-readable media for carrying or having
computer-executable instructions or data structures stored thereon.
Such computer-readable media can be any available media that can be
accessed by a general purpose or special purpose computer. By way
of example, and not limitation, such computer-readable media can
comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage,
magnetic disk storage or other magnetic storage devices, or any
other medium which can be used to carry or store desired program
code means in the form of computer-executable instructions or data
structures. When information is transferred or provided over a
network or another communications connection (either hardwired,
wireless, or a combination thereof) to a computer, the computer
properly views the connection as a computer-readable medium. Thus,
any such connection is properly termed a computer-readable medium.
Combinations of the above should also be included within the scope
of the computer-readable media.
[0037] Computer-executable instructions include, for example,
instructions and data which cause a general purpose computer,
special purpose computer, or special purpose processing device to
perform a certain function or group of functions. Computer
executable instructions also include program modules that are
executed by computers in stand-alone or network environments.
Generally, program modules include routines, programs, objects,
components, and data structures, etc. that perform particular tasks
or implement particular abstract data types. Computer-executable
instructions, associated data structures, and program modules
represent examples of the program code means for executing steps of
the methods disclosed herein. The particular sequence of such
executable instructions or associated data structures represents
examples of corresponding acts for implementing the functions
described in such steps.
[0038] Those of skill in the art will appreciate that other
embodiments of the invention may be practiced in network computing
environments with many types of computer system configurations,
including personal computers, hand-held devices, multi-processor
systems, microprocessor-based or programmable consumer electronics,
network PCs, minicomputers, mainframe computers, and the like.
Embodiments may also be practiced in distributed computing
environments where tasks are performed by local and remote
processing devices that are linked (either by hardwired links,
wireless links, or by a combination thereof) through a
communications network. In a distributed computing environment,
program modules may be located in both local and remote memory
storage devices.
[0039] Although the above description may contain specific details,
they should not be construed as limiting the claims in any way.
Other configurations of the described embodiments of the invention
are part of the scope of this invention. Accordingly, the appended
claims and their legal equivalents only should define the
invention, rather than any specific examples given.
* * * * *