Power and computational load management techniques in video processing
First Claim
1. A method of processing a data stream, comprising the steps of:
- receiving a data stream that includes video data;
identifying a transport protocol and a video coding protocol used to create the data stream;
identifying various parsing and decoding operations required by the transport protocol and the video coding protocol;
prioritizing a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations;
evaluating an amount of available electrical power and an amount of available processing power; and
managing the various parsing operations and decoding operations for the data stream based on the amount of available electrical power and the amount of available processing power, wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for managing power consumption and computational load on a processor during video processing and decoding are provided. One representative embodiment discloses a method of processing a data stream that includes video data. According to the method, one or more protocols used to create the data stream are identified. The various parsing and decoding operations required by the protocol are then identified and managed based on the available electrical power or available processing power. Another representative embodiment discloses a method of processing a data stream that includes video data. According to the method, one or more protocols used to create the data stream are identified. The various parsing and decoding operations required by the protocol are then identified and managed based on a visual quality of the video or a quality of experience.
-
Citations
40 Claims
-
1. A method of processing a data stream, comprising the steps of:
-
receiving a data stream that includes video data; identifying a transport protocol and a video coding protocol used to create the data stream; identifying various parsing and decoding operations required by the transport protocol and the video coding protocol; prioritizing a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; evaluating an amount of available electrical power and an amount of available processing power; and managing the various parsing operations and decoding operations for the data stream based on the amount of available electrical power and the amount of available processing power, wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of processing a data stream, comprising the steps of:
-
receiving a data stream that includes video data; identifying a transport protocol and a video coding protocol used to create the data stream; identifying various parsing and decoding operations required by the transport protocol and the video coding protocol; prioritizing a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; and managing the various parsing operations and decoding operations for the data stream based on at least one of a visual quality of the video and a quality of experience (QoE), wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A device for processing a data stream, comprising:
a processor configured to execute a set of instructions operable to; receive a data stream that includes video data; identify a transport protocol and a video coding protocol used to create the data stream; identify various parsing and decoding operations required by the transport protocol and the video coding protocol; prioritize a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; evaluate an amount of available electrical power and an amount of available processing power; and manage the various parsing operations and decoding operations for the data stream based on the amount of available electrical power and the amount of available processing power, wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (12, 13, 14, 15)
-
16. A device for processing a data stream, comprising:
a processor configured to execute a set of instructions operable to; receive a data stream that includes video data; identify a transport protocol and a video coding protocol used to create the data stream; identify various parsing and decoding operations required by the transport protocol and the video coding protocol; prioritize a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; and manage the various parsing operations and decoding operations for the data stream based on at least one of a visual quality of the video and a quality of experience (QoE), wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (17, 18, 19, 20)
-
21. An apparatus for processing a data stream, comprising:
-
means for receiving a data stream that includes video data; means for identifying a transport protocol and a video coding protocol used to create the data stream; means for identifying various parsing and decoding operations required by the transport protocol and the video coding protocol; means for prioritizing a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; means for evaluating an amount of available electrical power and an amount of available processing power; and means for managing the various parsing operations and decoding operations for the data stream based on the amount of available electrical power and the amount of available processing power, wherein the means for managing the various parsing operations and decoding operations selectively carries out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (22, 23, 24, 25)
-
-
26. An apparatus for processing a data stream, comprising:
-
means for receiving a data stream that includes video data; means for identifying a transport protocol and a video coding protocol used to create the data stream; means for identifying various parsing and decoding operations required by the transport protocol and the video coding protocol; means for prioritizing a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; and means for managing the various parsing operations and decoding operations for the data stream based on at least one of a visual quality of the video and a quality of experience (QoE), wherein the means for managing the various parsing operations and decoding operations selectively carries out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A computer program product including a non-transitory computer readable medium storing instructions which, when executed by a processor, cause the processor to:
-
receive a data stream that includes video data; identify a transport protocol and a video coding protocol used to create the data stream; identify various parsing and decoding operations required by the transport protocol and the video coding protocol; prioritize a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; evaluate an amount of available electrical power and an amount of available processing power; and manage the various parsing operations and decoding operations for the data stream based on the amount of available electrical power and the amount of available processing power, wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A computer program product including a non-transitory computer readable medium storing instructions which, when executed by a processor, cause the processor to:
-
receive a data stream that includes video data; identify a transport protocol and a video coding protocol used to create the data stream; identify various parsing and decoding operations required by the transport protocol and the video coding protocol; prioritize a plurality of sequences of decodable units from the data stream for at least one of selective parsing or selective decoding based on the identified parsing and decoding operations; and manage the various parsing operations and decoding operations for the data stream based on at least one of a visual quality of the video and a quality of experience (QoE), wherein the managing of the various parsing operations and decoding operations comprises selectively carrying out the parsing and decoding operations for the data stream, and wherein selective parsing or decoding comprises parsing or decoding at least one higher priority sequence at a higher granularity or visual quality than a lower priority sequence to maximize the resulting visual quality corresponding to a power consumption target. - View Dependent Claims (37, 38, 39, 40)
-
Specification