1. A machine implemented method for circuit analysis, the method comprising:
determining, through a processor, a representation of a first current, drawn by a group of cells from a power supplying network of a circuit in a clock cycle, using data indicating probabilities of state switching at the cells of the group that includes determining a first number of cells from the group of cells that switch together in a same clock cycle, the representation of the first current specifying the first current as a non-constant function of time in the clock cycle, wherein the first number of the cells is determined from the data indicating probabilities of state switching at the cells of the group such that a probability of more than the first number of cells of the group switching in the same clock cycle is about a predetermined value; and wherein the determining the representation of the first current comprises
selecting first cells of the first number from the group to determine the representation of the first current from currents drawn by the first number of the first cells when the first cells switch together in the same clock cycle and wherein said determining the representation of the first current further comprises
determining a representation of a second current, drawn by one of the cells of the group.
2. The method of claim 1, wherein the representation of the second current specifies the second current as a non-constant function of time in a clock cycle.
3. The method of claim 2, wherein the representation of the second current is determined from an amount of energy dissipation in the one of the cells during switching in state in a clock cycle.
4. The method of claim 1, further comprising:
determining equivalent resistance and capacitance parameters for second cells of the group when the second cells do not switch, the second cells not including any of the first cells.
5. The method of claim 4, further comprising:
modeling the group of cells using at least a current source according to the representation of the first current and the equivalent resistance and capacitance parameters.
6. The method of claim 5, further comprising:
determining well capacitance parameters for the cells of the group;
wherein the group of cells is further modeled using the well capacitance parameters.
7. The method of claim 1, wherein the cells of the group comprise technology specific standard cells for implementing the circuit on an Integrated Circuit (IC) chip.
8. The method of claim 1, wherein the data indicating probabilities of state switching at the cells comprise toggle rates of the cells.
9. The method of claim 1, further comprising:
selecting cells of a design of the circuit into the group so that an average power dissipation of the group is at about a predetermined level.
10. A machine readable medium containing executable computer program instructions which when executed by a data processing system cause said system to perform a method for circuit analysis, the method comprising:
determining a representation of a first current, drawn by a group of cells from a power supplying network of a circuit in a clock cycle, using data indicating probabilities of state switching at the cells of the group that includes determining a first number of cells from the group of cells that switch together in a same clock cycle, the representation of the first current specifying the first current as a non-constant function of time in the clock cycle, wherein the first number of the cells is determined from the data indicating probabilities of state switching at the cells of the group such that a probability of more than the first number of cells of the group switching in the same clock cycle is about a predetermined value; and wherein the determining the representation of the first current comprises
selecting first cells of the first number from the group to determine the representation of the first current from currents drawn by the first number of the first cells when the first cells switch together in the same clock cycle and wherein said determining the representation of the first current further comprises
determining a representation of a second current, drawn by one of the cells of the group.
11. The medium of claim 10, wherein the representation of the second current specifies the second current as a non-constant function of time in a clock cycle.
12. The medium of claim 11, wherein the representation of the second current is determined from an amount of energy dissipation in the one of the cells during switching in state in a clock cycle.
13. The medium of claim 10, wherein the method further comprises:
determining equivalent resistance and capacitance parameters for second cells of the group when the second cells do not switch, the second cells not including any of the first cells.
14. The medium of claim 13, wherein the method further comprises:
modeling the group of cells using at least a current source according to the representation of the first current and the equivalent resistance and capacitance parameters.
15. The medium of claim 14, wherein the method further comprises:
determining well capacitance parameters for the cells of the group;
wherein the group of cells is further modeled using the well capacitance parameters.
16. The medium of claim 10, wherein the cells of the group comprise technology specific standard cells for implementing the circuit on an Integrated Circuit (IC) chip.
17. The medium of claim 10, wherein the data indicating probabilities of state switching at the cells comprise toggle rates of the cells.
18. The medium of claim 10, wherein the method further comprises:
selecting cells of a design of the circuit into the group so that an average power dissipation of the group is at about a predetermined level.
19. A date processing system for circuit analysis, the data processing system comprising:
means for determining a representation of a first current, drawn by a group of cells from a power supplying network of a circuit in a clock cycle, using data indicating probabilities of state switching at the cells of the group that includes means for determining a first number of cells from the group of cells that switch together in a same clock cycle, the representation of the first current specifying the first current as a non-constant function of time in the clock cycle, wherein the first number of cells is determined from the data indicating probabilities of state switching at the cells of the group such that a probability of more than the first number of cells of the group switching in the same clock cycle is about a predetermined value; and wherein the determining the representation of the first current comprises
means for selecting first cells of the first number from the group to determine the representation of the first current from currents drawn by the first number of the first cells when the first cells switch together in the same clock cycle and wherein said means for determining the representation of the first current further comprises
means for determining a representation of a second current, drawn by one of the cells of the group.
20. The data processing system of claim 19, wherein the representation of the second current specifies the second current as a non-constant function of time in a clock cycle.
21. The data processing system of claim 20, wherein the representation of the second current is determined from an amount of energy dissipation in the one of the cells during switching in state in a clock cycle.
22. The data processing system of claim 19, further comprising:
means for determining equivalent resistance and capacitance parameters for second cells of the group when the second cells do not switch, the second cells not including any of the first cells.
23. The data processing system of claim 22, further comprising:
means for modeling the group of cells using at least a current source according to the representation of the first current and the equivalent resistance and capacitance parameters.
24. The data processing system of claim 23, further comprising:
means for determining well capacitance parameters for the cells of the group;
wherein the group of cells is further modeled using the well capacitance parameters.
25. The data processing system of claim 19, wherein the cells of the group comprise technology specific standard cells for implementing the circuit on an Integrated Circuit (IC) chip.
26. The data processing system of claim 19, wherein the data indicating probabilities of state switching at the cells comprise toggle rates of the cells.
27. The data processing system of claim 19, further comprising:
means for selecting cells of a design of the circuit into the group so that an average power dissipation of the group is at about a predetermined level.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer-implemented method of rendering content on a display screen of a computing device, comprising:
under control of a computing device configured with executable instructions,
capturing video information using a camera of the computing device;
detecting at least one first feature in the video information indicative of a head of a user;
determining a first relative position of the at least one first feature with respect to the computing device;
rendering the content on the display screen of the computing device to correspond to a viewpoint of the user at the first relative position;
at a first time, predicting that the at least one first feature will be outside a field of view of the camera at a second time based at least in part upon analyzing the video information;
storing to a buffer first motion information obtained from at least one sensor of the computing device from the first time to the second time based at least in part upon predicting that the at least one first feature will be outside the field of view of the camera at the second time;
at the second time, determining that the at least one first feature is outside the field of view of the camera based at least in part upon analyzing the video information;
estimating a second relative position of the at least one first feature with respect to the computing device based at least in part upon where the at least one first feature was last tracked in the video information with at least a minimum level of confidence and a motion of the computing device determined based at least in part upon the first motion information pulled from the buffer and second motion information obtained from the at least one sensor after the second time;
determining an updated viewpoint of the user based at least in part upon the second relative position; and
rendering the content on the display screen to correspond to the updated viewpoint.
2. The computer-implemented method of claim 1, wherein the motion includes at least one of a translation or a rotation of the computing device.
3. The computer-implemented method of claim 1, wherein the motion is a weighted combination that is further based at least in part upon an environmental condition, the environmental condition including at least one of an amount of lighting or a presence of a point light source.
4. The computer-implemented method of claim 1, wherein the at least one sensor includes at least one of an electronic gyroscope, an electronic compass, an inertial sensor, an accelerometer, a shadow sensor, motion detector, a microphone array, or a distance sensor.
5. A computer-implemented method of displaying content, comprising:
under control of one or more computing systems configured with executable instructions,
capturing image information using a camera of a computing device;
analyzing the image information to determine a first relative position of a first feature of a user with respect to the computing device;
at a first time, predicting that the first feature of the user will be outside a field of view of the camera at a second time;
buffering first motion information obtained from at least one sensor of the computing device from the first time to the second time;
at the second time, estimating a second relative position of the first feature with respect to the computing device based at least in part upon where the first feature was last tracked in the image information with at least a minimum level of confidence and a motion of the computing device determined based at least in part upon the first motion information and second motion information obtained from the at least one sensor after the second time; and
rendering content on a display element of the computing device to correspond to a viewpoint of the user, the viewpoint being determined based at least in part upon the second relative position of the first feature of the user.
6. The computer-implemented method of claim 5, wherein the motion is a weighted combination that is further based at least in part upon an environmental condition.
7. The computer-implemented method of claim 6, wherein the environmental condition includes at least one of an amount of lighting or a presence of a point light source.
8. The computer-implemented method of claim 5, wherein the at least one sensor of the computing device includes at least one of an electronic gyroscope, an electronic compass, an inertial sensor, an accelerometer, a shadow sensor, a motion detector, a microphone array, or a distance sensor.
9. The computer-implemented method of claim 5, wherein the motion of the computing device is determined by analyzing second image information captured by the at least one sensor to determine relative movement of at least one background object or light source with respect to the computing device.
10. The computer-implemented method of claim 5, further comprising:
analyzing the image information with a feature detection algorithm to locate the first feature in the image information; and
determining the first relative position of the first feature of the user based at least in part upon a position of the first feature in the image information and the field of view of the camera.
11. The computer-implemented method of claim 5, further comprising:
illuminating the first feature with at least one of visible light or infrared radiation while capturing the image information.
12. The computer-implemented method of claim 5, wherein the at least one sensor further provides contact information indicating whether the user is currently contacting the computing device, the contact information being used to further estimate the second relative position of the first feature of the user.
13. A computing device, comprising:
a processor;
a display screen;
a camera;
a motion sensor; and
a memory device including instructions that, upon being executed by the processor, cause the computing device to:
capture image information using the camera;
analyze the image information to determine a first viewpoint of a user with respect to the computing device;
at a first time, predict that a head of the user will be outside a field of view of the camera at a second time;
buffer first motion information obtained from the motion sensor from the first time to the second time;
at the second time, estimate a second viewpoint of the user with respect to the computing device based at least in part upon where the head of the user was last tracked in the image information with at least a minimum level of confidence and a motion of the computing device determined based at least in part upon the first motion information and second motion information obtained from the motion sensor after the second time; and
render content on the display screen to correspond to the second viewpoint of the user.
14. The computing device of claim 13, wherein the motion sensor includes at least one of an electronic gyroscope, an electronic compass, an inertial sensor, an accelerometer, a shadow sensor, a motion detector, a microphone array, or a distance sensor.
15. The computing device of claim 13, wherein the instructions, upon being executed to cause the computing device to estimate the second viewpoint of the user, include causing the computing device to:
estimate a relative position of the head of the user with respect to the computing device.
16. A non-transitory computer-readable storage medium storing instructions for rendering content for a user viewpoint, the instructions when executed by a processor of a computing system causing the computing system to:
capture video information using a camera of a computing device;
analyze the video information to determine a first relative viewpoint of a user with respect to the computing device;
at a first time, predict that a head of a user will be outside a field of view of the camera at a second time;
buffer first motion information obtained from at least one motion sensor of the computing device from the first time to the second time;
at the second time, estimate a second relative viewpoint of the user with respect to the computing device based at least in part upon where the head of the user was last tracked in the video information with at least a minimum level of confidence and a motion of the computing device determined based at least in part upon the first motion information and second motion information obtained from the at least one motion sensor after the second time; and
render content on a display element of the computing device to correspond to the second relative viewpoint of the user.
17. The non-transitory computer-readable storage medium of claim 16, wherein the instructions, upon being executed, further cause the computing system to:
analyze the video information with a feature detection algorithm to locate the head of the user in the video information; and
determine the first relative viewpoint of the user based at least in part upon a position of the head of the user in the video information and the field of view of the camera.
18. The non-transitory computer-readable storage medium of claim 16, wherein the instructions, upon being executed, further cause the computing system to:
illuminate the head of the user with at least one of visible light or infrared radiation while capturing the video information.
19. The non-transitory computer-readable storage medium of claim 16, wherein the instructions, upon being executed, further cause the computing system to:
obtain contact information indicating whether the user is currently contacting the computing system, the contact information being used to further estimate the second relative viewpoint of the user.