IP Library Granted Patent US 9,823,889
Granted Patent B2
US 9,823,889 · App. 14/648,713 · Granted Nov 21, 2017

Method and apparatus for estimating a fragment count for the display of at least one three-dimensional object

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,823,889
App. No.
14/648,713
Filed
Jun 1, 2015
Granted
Nov 21, 2017
Kind
B2
Art Unit
2612
USPC
345/419
Abstract

A method of estimating a fragment count for the display of at least one three-dimensional (3D) object. The method comprises determining an ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object, applying a transformation to the ellipsoid, calculating a projection area of the transformed ellipsoid, and estimating the fragment count for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid.

Claims (40)

1. A method of estimating a fragment count for a display of at least one three-dimensional, 3D, object; the method comprising:

determining an ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object;

applying a transformation to the ellipsoid;

calculating, by a hardware processing component, a projection area of the transformed ellipsoid;

estimating, by the hardware processing component, the fragment count for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid prior to a runtime display of the 3D object; and

estimating by the hardware processing component, a time fragment shader length for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid prior to the runtime display of the 3D object, wherein estimating the time fragment shader length is performed after estimating the fragment count, wherein the time fragment shader length is a length of time to process instructions associated with a filling and shading stage.

2. The method of claim 1 , wherein the ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object comprises at least one of:

an inertia ellipsoid;

a best-fit ellipsoid; and

a bounding ellipsoid.

3. The method of claim 1 , wherein the method comprises determining a sphere representative of the set of vertices.

4. The method of claim 1 , wherein the fragment count for the display of the 3D object is estimated based at least partly on the projection area of the transformed ellipsoid multiplied by a coefficient value.

5. The method of claim 4 , wherein the coefficient value comprises a predefined coefficient value.

6. The method of claim 4 , wherein the coefficient value comprises a value derived at least partly from at least one of measured fragment count data and previous fragment count estimate data for at least one previously displayed object.

7. The method of claim 1 further comprising: calculating a runtime duration estimate for at least a part of a command sequence for a graphics processing unit including estimating a fragment count for a display of the at least one three-dimensional, 3D, object.

8. A hardware processing component arranged to estimate a fragment count for a display of at least one three-dimensional, 3D, object; the hardware processing component being arranged to:

determine an ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object;

apply a transformation to the ellipsoid;

calculate a projection area of the transformed ellipsoid;

estimate the fragment count for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid prior to a runtime display of the 3D object; and estimate a time fragment shader length for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid prior to the runtime display of the 3D object, wherein estimating the time fragment shader length is performed after estimating the fragment count, wherein the time fragment shader length is a length of time to process instructions associated with a filling and shading stage.

9. The signal processing component of claim 8 , wherein the signal processing component is implemented in an information display system.

10. The signal processing component of claim 9 , wherein the information display system comprises an automotive driver information display system.

11. The signal processing component of claim 8 , wherein the ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object comprises at least one of: an inertia ellipsoid; a best-fit ellipsoid; and a bounding ellipsoid.

12. The signal processing component of claim 8 further arranged to determine a sphere representative of the set of vertices.

13. The signal processing component of claim 8 , wherein the fragment count for the display of the 3D object is estimated based at least partly on the projection area of the transformed ellipsoid multiplied by a coefficient value.

14. The signal processing component of claim 13 , wherein the coefficient value comprises a predefined coefficient value.

15. The signal processing component of claim 13 , wherein the coefficient value comprises a value derived at least partly from at least one of measured fragment count data and previous fragment count estimate data for at least one previously displayed object.

16. The signal processing component of claim 8 further arranged to calculate a runtime duration estimate for at least a part of a command sequence for a graphics processing unit, GPU including estimating a fragment count for a display of the at least one three-dimensional, 3D, object.

17. A non-transitory computer program product having executable program code stored therein for estimating, in a hardware processing components, a fragment count and a time fragment shader length for a display of at least one three-dimensional, 3D, object, the program code operable for:

determining an ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object;

applying a transformation to the ellipsoid;

calculating a projection area of the transformed ellipsoid; and

estimating the fragment count for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid prior to a runtime display of the 3D object; and

estimating the time fragment shader length for the display of the 3D object based at least partly on the calculated projection area of the transformed ellipsoid prior to the runtime display of the 3D object, wherein estimating the time fragment shader length is performed after estimating the fragment count, wherein the time fragment shader length is a length of time to process instructions associated with a filling and shading stage.

18. The non-transitory computer program product of claim 17 wherein the ellipsoid representative of a set of vertices defined by coordinates of the at least one 3D object comprises at least one of:

an inertia ellipsoid;

a best-fit ellipsoid; and

a bounding ellipsoid.

19. The non-transitory computer program product of claim 17 wherein the fragment count for the display of the 3D object is estimated based at least partly on the projection area of the transformed ellipsoid multiplied by a coefficient value.

20. The non-transitory computer program product of claim 19 wherein the coefficient value comprises a value derived at least partly from at least one of measured fragment count data and previous fragment count estimate data for at least one previously displayed object.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →