Dynamic quality adjustment based on changing streaming constraints
First Claim
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.
15 Assignments
0 Petitions
Accused Products
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.
-
Citations
10 Claims
-
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.
-
Specification