Low power scheduling for multimedia systems
First Claim
1. In a server device, a method for processing an encoded data stream wherein said encoded data stream is non-preemptable and subject to precedence constraints, said method comprising the steps of:
- a) assigning a processor setting to a task in a plurality of tasks, wherein said processor setting corresponds to a setting used by a processor of a client device to execute said task and wherein said task decodes without preemption a frame of said encoded data stream;
b) generating an execution schedule for decoding said encoded data stream, wherein said execution schedule comprises a sequence for executing at said client device said plurality of tasks according to said precedence constraints; and
c) transmitting to said client device said execution schedule and said processor setting.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system thereof for reducing the energy consumed when decoding an encoded and synchronized multimedia data stream, wherein the data stream is non-preemptable and subject to precedence constraints. In a client-server environment, the server delivers to the client the stream for decoding. The client has a processor operating on a discrete variable-voltage power supply. Prior to transmitting the stream to the client, the server produces an execution schedule according to the precedence constraints. The server also assigns a voltage setting for each task in the schedule, wherein each task decodes a frame in the stream without preemption. The server transmits the execution schedule and voltage settings to the client with the encoded data stream. The schedule and voltage settings reduce energy consumption by the client while satisfying multimedia timing constraints.
24 Citations
32 Claims
-
1. In a server device, a method for processing an encoded data stream wherein said encoded data stream is non-preemptable and subject to precedence constraints, said method comprising the steps of:
-
a) assigning a processor setting to a task in a plurality of tasks, wherein said processor setting corresponds to a setting used by a processor of a client device to execute said task and wherein said task decodes without preemption a frame of said encoded data stream;
b) generating an execution schedule for decoding said encoded data stream, wherein said execution schedule comprises a sequence for executing at said client device said plurality of tasks according to said precedence constraints; and
c) transmitting to said client device said execution schedule and said processor setting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system comprising:
-
a bus;
a memory unit coupled to said bus;
a communication interface coupled to bus and operable to establish a communication link with a client device; and
a processor coupled to said bus, said processor for executing a method for processing an encoded data stream wherein said encoded data stream is non-preemptable and subject to precedence constraints, said method comprising the steps of;
a) assigning a processor setting to a task in a plurality of tasks, wherein said processor setting corresponds to a setting used by a processor of said client device to execute said task and wherein said task decodes without preemption a frame of said encoded data stream;
b) generating an execution schedule for decoding said encoded data stream, wherein said execution schedule comprises a sequence for executing at said client device said plurality of tasks according to said precedence constraints; and
c) transmitting to said client device said execution schedule and said processor setting. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer-usable medium having computer-readable program code embodied therein for causing a computer system to perform the steps of:
-
a) assigning a processor setting to a task in a plurality of tasks, wherein said processor setting corresponds to a setting used by a processor of a client device to execute said task and wherein said task decodes without preemption a frame of said encoded data stream;
b) generating an execution schedule for decoding said encoded data stream, wherein said execution schedule comprises a sequence for executing at said client device said plurality of tasks according to said precedence constraints; and
c) transmitting to said client device said execution schedule and said processor setting. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In a client device, a method for decoding an encoded data stream, said method comprising the steps of:
-
a) receiving said encoded data stream, wherein said encoded data stream is non-preemptable and subject to precedence constraints;
b) receiving an execution schedule for decoding said encoded data stream, wherein said execution schedule comprises a sequence for executing a plurality of tasks according to said precedence constraints, wherein a task decodes without preemption a frame of said encoded data stream; and
c) receiving a processor setting for each task in said plurality of tasks, wherein said processor setting specifies a setting used by a processor of said client device to execute a respective task. - View Dependent Claims (29, 30, 31, 32)
-
Specification