FINE-GRAINED CLIENT-SIDE CONTROL OF SCALABLE MEDIA DELIVERY
First Claim
1. A method of delivering media data organized as plural chunks, each of the plural chunks being encoded as plural scalable layers for different quality levels with fine-grained scalability, the method comprising:
- sending curve information for the plural chunks; and
for each of the plural chunks;
receiving feedback that indicates a rate-distortion preference;
based at least in part upon the rate-distortion preference, selecting one or more scalable layers from among the plural scalable layers of the chunk; and
sending the selected one or more scalable layers of the chunk.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques and tools for adjusting quality and bit rate of multiple chunks of media delivered over a network are described. For example, each of the multiple chunks is encoded as multiple layers (e.g., a base layer and multiple embedded residual layers) for fine-grained scalability at different rate/quality points. A server stores the encoded data for the layers of chunks as well as curve information that parameterizes rate-distortion curves for the chunks. The server sends the curve information to a client. For the multiple chunks, the client uses the curve information to determine rate-distortion preferences for the respective chunks, then sends feedback indicating the rate-distortion preferences to the server. For each of the multiple chunks, the server, based at least in part upon the feedback, selects one or more scalable layers of the chunk to deliver to the client.
189 Citations
20 Claims
-
1. A method of delivering media data organized as plural chunks, each of the plural chunks being encoded as plural scalable layers for different quality levels with fine-grained scalability, the method comprising:
-
sending curve information for the plural chunks; and for each of the plural chunks; receiving feedback that indicates a rate-distortion preference; based at least in part upon the rate-distortion preference, selecting one or more scalable layers from among the plural scalable layers of the chunk; and sending the selected one or more scalable layers of the chunk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more storage media having stored thereon computer software instructions for a method of processing media data organized as plural chunks, each of the plural chunks being encoded as plural scalable layers for different quality levels with fine-grained scalability, the method comprising:
-
receiving curve information for the plural chunks; and for each of the plural chunks; determining a rate-distortion preference for the chunk using at least some of the received curve information; sending the rate-distortion preference for the chunk; and receiving one or more scalable layers from among the plural scalable layers of the chunk. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a processor; a controller adapted to; receive a stream header for media data organized as plural chunks, each of the plural chunks being encoded as plural scalable layers for different quality levels with fine-grained scalability; receive curve information for the plural chunks, wherein, for each of the plural chunks, the curve information for the chunk indicates a different rate-distortion point associated with each of the plural scalable layers for the chunk; determine rate-distortion preferences for the plural chunks, respectively, using the received curve information; send the rate-distortion preferences for the plural chunks, respectively; and for each of the plural chunks, receive one or more scalable layers from among the plural scalable layers for the chunk; and a scalable media decoder adapted to decode the received scalable layers for the plural chunks. - View Dependent Claims (18, 19, 20)
-
Specification