IP Library Granted Patent US 7,512,698
Granted Patent B1
US 7,512,698 · App. 09/653,039 · Granted Mar 31, 2009

Dynamic quality adjustment based on changing streaming constraints

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,512,698
App. No.
09/653,039
Granted
Mar 31, 2009
Kind
B1
Abstract

A method and apparatus for dynamic quality adjustment of digital media based on changing streaming constraints is provided. A digital media server sends a digital media stream according to a set of streaming constraints to a requesting client. Audio and visual information may be sent to a requesting client together in a single stream, or separately in multiple streams. A client sends a request over a control network to the digital media server indicating information of a particular type is no longer desired. In response to receiving the signal, the video server ceases transmission of that particular type of information to the signaling client, thus relaxing streaming constraints. As a result of the techniques described herein, an improved quality digital presentation is available for the client and, consequently, when a viewer signals that a particular type of information is not desired, that particular type of information is not transmitted to the client, which thereby reduces the streaming constraints on a video streaming service, and improved quality digital media information may be sent to any client using the freed-up portion of the bandwidth previously allocated to the signaling client.

Claims (56)

1. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

receiving a signal from a client device, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves reducing a data rate of audio data of a first audio/visual stream being sent from the stream server to the client device or eliminating the transmission of the audio data of the first audio/visual stream to the client device;

implementing the client requested presentation action, said act of implementing the client requested presentation action including reducing the data rate of the audio data of the first audio/visual stream or eliminating the transmission of the audio data of the first audio/visual stream to the client device; and

determining an amount that a data rate of a second audio/visual data stream may be increased as a result of an effect on transmission bandwidth corresponding to the reduction in the data rate of the audio data of the first audio/visual stream or the elimination of the audio data of the first audio/visual stream; and

including both said first and second audio/video streams in different Single Program Transport Streams, each of said different Single Program Streams being part of a Multiple Program Transport Stream which includes both of said different Single Program Transport Streams.

2. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

receiving a signal from a client device, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves reducing a data rate of audio data of a first audio/visual stream being sent from the stream server to the client device or eliminating the transmission of the audio data of the first audio/visual stream to the client device;

implementing the client requested presentation action, said act of implementing the client requested presentation action including reducing the data of the first audio/visual stream or eliminating the transmission of the audio data of the first audio/visual stream to the client device; and

determining an amount that a data rate of a second audio/visual data stream may be increased as a result of an effect on transmission bandwidth corresponding to the reduction in the data rate of the audio data of the first audio/visual stream or the elimination of the audio data of the first audio/visual stream; and

wherein the act of reducing the data rate of audio data of the first data stream or eliminating the transmission of the audio data of the first audio/visual stream to the client device includes:

providing a stream of packets as part of a packet flow to a multiplexing device, said stream of packets including data packets which can be sent to the client device in said first audio/visual stream;

operating the multiplexer to perform a filtering operation on said stream of packets to reduce or eliminate the data rate of the audio data of the first audio/visual stream; and

operating the multiplexer to output said first audio/visual stream.

3. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

receiving a signal from a client device, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves reducing a data rate of audio data of a first audio/visual stream being sent from the stream server to the client device or eliminating the transmission of the audio data of the first audio/visual stream to the client device;

implementing the client requested presentation action, said act of implementing the client requested presentation action including reducing the data rate of the audio data of the first audio/visual stream or eliminating the transmission of the audio data of the first audio/visual stream to the client device; and

determining an amount that a data rate of a second audio/visual data stream may be increased as a result of an effect on transmission bandwidth corresponding to the reduction in the data rate of the audio data of the first audio/visual stream or the elimination of the audio data of the first audio/visual stream; and

providing the second audio/video stream to a device other than the client device, and not providing the first audio/video stream to the device other than the client device.

4. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

the stream server providing to one or more client devices a first audio/visual stream and a second audio/visual stream;

receiving signal from one of the client devices, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves reducing a data rate of audio or video data of the first audio/visual stream or eliminating the transmission of the audio or video data of the first audio/visual stream;

implementing the client requested presentation action, said act of implementing the client requested presentation action including reducing a data rate of audio or video data of the first audio/visual stream or eliminating the transmission of the audio or video data of the first audio/visual stream; and

determining whether a third audio/visual stream may be streamed as a result of an effect on transmission bandwidth corresponding to a reduction in the data rate of audio or video data of the first audio/visual stream or eliminating the transmission of the audio or video data of the first audio/visual stream, and

transmitting the first, second, and third audio/video streams each to different client devices.

5. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

receiving a signal from a client device, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves increasing a data rate of audio data of a first audio/visual stream being sent from the stream server to the client device;

implementing the client requested presentation action, said act of implementing the client requested presentation action including increasing the data rate of the audio data of the first audio/visual stream to the client device; and

determining an amount that a data rate of a second audio/visual data stream should be reduced as a result of an effect on transmission bandwidth corresponding to the increase in the data rate of the audio data of the first audio/visual stream

and including both said first and second audio/visual streams in different Single Program Transport Streams, each of said different Single Program Streams being part of a Multiple Program Transport Stream which includes both of said different Single Program Transport Streams.

6. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

receiving a signal from a client device, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves increasing a data rate of audio data of a first audio/visual stream being sent from the stream server to the client device;

implementing the client requested presentation action, said act of implementing the client requested presentation action including increasing the data rate of the audio data of the first audio/visual stream to the client device; and

determining an amount that a data rate of a second audio/visual data stream should be reduced as a result of an effect on transmission bandwidth corresponding to the increase in the data rate of the audio data of the first audio/visual stream, and

providing the second audio/visual stream to a device other than the client device.

7. A method of operating a stream server, the stream server causing data streams to be provided from one or more stored audio/visual files, the method comprising:

receiving a signal from a client device, said signal including an indication of a client requested presentation action that, when put into effect by the stream server, involves increasing a data rate of audio data of a first audio/visual stream being sent from the stream server to the client device;

implementing the client requested presentation action, said act of implementing the client requested presentation action including increasing the data rate of the audio data of the first audio/visual stream to the client device; and

determining an amount that a data rate of a second audio/visual data stream should be reduced as a result of an effect on transmission bandwidth corresponding to the increase in the data rate of the audio data of the first audio/visual stream, and

providing a stream of packets as part of a packet flow to a modified multiplexing device, said stream of packets including data packets which can be sent to the client device in said second audio/visual stream;

operating the modified multiplexer to perform a filtering operation on said stream of packets to control the amount of data included in the second audio/visual stream, said filtering being performed to reduce the data rate in response to the client required action; and

operating the modified multiplexer to output said second audio/visual stream.

8. A computer program product, comprising instructions that, when executed by a stream server device that causes data streams to be provided from one or more stored audio/visual files, causes the stream server device:

to interpret an indication of a client requested presentation action that will affect the bandwidth requirements of audio data of a first audio/visual stream that the stream server is streaming to the client device to identify the action from the indication and put the action into effect, with the result that the rate of the audio data of the first audio/visual stream to the client is changed; and

to determine an amount that a video streaming rate of a second audio/visual data stream should be changed as a result of bandwidth effects of the changed rate for the audio data of the first audio/visual stream, and to change video streaming rate of the second audio/visual data stream according to the amount;

wherein the instructions to enable the stream server to determine an amount that a rate of a second audio/visual stream should be changed comprise:

instructions to enable the stream server to determine an amount to change a rate of a second audio/visual stream that is part of a different Single Program Transport Stream than the first audio/visual stream, but which is part of the same Multiple Program Transport Stream as the first audio/visual stream.

9. A computer program product, comprising instructions that, when executed by a stream server device that causes data streams to be provided from one or more stored audio/visual files, causes the stream server device:

to interpret an indication of a client requested presentation action that will affect the bandwidth requirements of audio data of a first audio/visual stream that the stream server is streaming to the client device;

to identify the action from the indication and put the action into effect, with the result that the rate of the audio data of the first audio/visual stream to the client is changed; and

to determine an amount that a video streaming rate of a second audio/visual data stream should be changed as a result of bandwidth effects of the changed rate for the audio data of the first audio/visual stream, and to change video streaming rate of the second audio/visual data stream according to the amount; and

instructions to enable the stream server to stream the first audio/visual stream to a multiplexing device at a same rate as before the action was put into effect, and to cause the first audio/visual stream rate to be changed at the multiplexing device output.

10. A computer program product, comprising instructions that, when executed by a stream server device that causes data streams to be provided from one or more stored audio/visual files causes the stream server device:

to interpret an indication of a client requested presentation action that will affect the bandwidth requirements of audio data of a first audio/visual stream that the stream server is streaming to the client device;

to identify the action from the indication and put the action into effect, with the result that the rate of the audio data of the first audio/visual stream to the client is changed; and

to determine an amount that a video streaming rate of a second audio/visual data stream should be changed as a result of bandwidth effects of the changed rate for the audio data of the first audio/visual stream, and to change video streaming rate of the second audio/visual data stream according to the amount, and

instructions to enable the stream server to provide the second audio/visual stream to a device other than the client device.

Assignments (13)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033868/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2014
From: ALCATEL-LUCENT TELECOM LIMITED
To: ALCATEL LUCENT
Reel/Frame 032570/0489 →
CHANGE OF NAME Recorded Mar 24, 2014
From: ALCATEL TELECOM LIMITED
To: ALCATEL-LUCENT TELECOM LIMITED
Reel/Frame 032505/0065 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Feb 7, 2013
From: BROADBAND ROYALTY CORPORATION
To: ARRIS SOLUTIONS, INC.
Reel/Frame 029772/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2007
From: THIRDSPACE LIVING LIMITED
To: ALCATEL TELECOM LIMITED
Reel/Frame 019353/0511 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2005
From: BROADBAND MANAGEMENT SOLUTIONS, LLC
To: BROADBAND ROYALTY CORPORATION
Reel/Frame 015962/0696 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2005
From: NCUBE CORPORATION
To: BROADBAND MANAGEMENT SOLUTIONS, LLC
Reel/Frame 015788/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2002
From: ORACLE CORPORATION
To: NCUBE CORPORATION; THIRDSPACE LIVING LIMITED
Reel/Frame 012723/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2000
From: PAWSON, DAVID J.
To: ORACLE CORPORATION
Reel/Frame 011143/0843 →