This non-provisional application claims priority under 35 U.S.C. § 119(a) on Patent Application No(s). 106128834 filed in Taiwan, R.O.C. on Aug. 24, 2017, the entire contents of which are hereby incorporated by reference.
This disclosure relates to a power consumption estimation method and a power consumption estimation apparatus.
The simulation analysis for electronic system level (ESL) is gradually applied to the early development stage and the performance estimation of hardware and software. The power consumption estimation for ESL still has considerable room for improvement. Most semiconductor manufacturers usually recommend estimating the power consumption for ESL with some common specifications. Due to the expensive development process, most silicon intellectual property (SIP) providers do not actually provide the power consumption model for ESL. Therefore, the existing power consumption model for ESL is just able to roughly estimate the power consumption from hardware architecture. However, this kind of power consumption model does not involve the content of an input signal.
Regarding an image processing circuit as an example, the power consumption of the image processing circuit is related to not only the hardware configuration but also the image content to be processed. Therefore, the differences in the power consumption for processing different image contents are difficult to be perceived when the power estimation is performed only based on the hardware configuration. Furthermore, the actual power consumption of the image processing circuit cannot be appropriately shown.
According to one or more embodiments of this disclosure, a power consumption estimation method is applied to an image with N rows of pixels. The power consumption estimation method comprises a pixel estimation procedure comprising: performing an estimation sub-procedure pixel by pixel for each of a plurality of pixels in one row of the N rows of pixels so as to obtain a plurality of pixel energy consumption values respectively corresponding to the plurality of pixels in said one row of the N rows of pixels; and obtaining a row power consumption value corresponding to said one row of the N rows of pixels according to the plurality of pixel energy consumption values; wherein the estimation sub-procedure comprises: obtaining pixel content information corresponding to one of the plurality of pixels; and determining the pixel energy consumption value according to the pixel content information, with the pixel energy consumption value indicating pixel energy consumption generated by performing a predetermined image processing procedure for said one of the plurality of pixels.
According to one or more embodiments of this disclosure, a power consumption estimation apparatus comprises a memory and a processor which are electrically connected to each other. The memory is configured to store a plurality of instructions. The processor is configured to perform one or more of the plurality of instructions. When the processor performs said one or more of the plurality of instructions, the power consumption estimation apparatus is configured to perform the power consumption estimation method.
According to one or more embodiments of this disclosure, another power consumption apparatus comprises a conversion circuit, an energy consumption estimation circuit and a calculation circuit. The conversion circuit is configured to obtain a retrieval signal according to pixel content information, with the retrieval signal configured to indicate a type of a current operating pixel, wherein the current operating pixel is considered one of a plurality of pixels of an image, and the plurality of pixels are arranged in N rows. The energy consumption estimation circuit is electrically connected to the conversion circuit, and configured to provide a pixel energy consumption value corresponding to the current operating pixel according to the retrieval signal. The calculation circuit is electrically connected to the energy consumption estimation circuit, and configured to accumulate the energy consumption value provided by the energy consumption estimation circuit to obtain a row power consumption value of one of the N rows which comprising the current operating pixel.
The present disclosure will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only and thus are not limitative of the present disclosure and wherein:
In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawings.
The power consumption estimation method provided in the disclosure is applied to an image having N rows of pixels. The power consumption estimation method comprises a pixel estimation procedure, and this power consumption estimation could further comprise a hardware state estimation procedure. When the power consumption estimation method comprises the pixel estimation procedure and the hardware state estimation procedure, the power consumption estimation method could determine whether power consumption estimation is performed by the pixel estimation procedure or the hardware state estimation procedure according to a configuration setting. In the following, the situation that the power consumption estimation method comprises the pixel estimation procedure is firstly explained.
Please refer to
Please refer to
When the pixel energy consumption values of the pixels P11, P12 and P18 are obtained, these pixel energy consumption values are added up to obtain the row energy consumption value of the pixel row R1. Afterwards, the row energy consumption value is divided by the time so as to obtain the row power consumption value of the pixel row R1.
The aforementioned step S203 may comprise one or more steps. Please refer to
In practice, in the embodiment as shown in
In an embodiment, the absolute content parameter is a brightness value, and the relative content parameter is a gradient value indicating the gradient between the subject pixel and another one of the plurality of pixels. In practice, the gradient value is obtained by the gradient operation of the brightness values of the subject pixel and said another one of the plurality of pixels. For example, the gradient operation is performed by applying the Sobel operator to the image for mask operation, but is not limited to it. A person having ordinary skills in the art could define the appropriate definition of the gradient, the related operator or the operational mask according to actual requirements. For example, in the embodiment in which the gradient value is obtained by the Sobel operator, a horizontal gradient value and a vertical gradient value are calculated by two matrices which are defined by the Sobel operator, and the gradient value and a gradient direction are calculated by the horizontal gradient value and the vertical gradient value. Therefore, in the aforementioned step S305, the type of the subject pixel could be determined according to the brightness value and the gradient value of the subject pixel. In another practice, the type of the subject pixel could be determined according to the brightness value, the horizontal gradient value and the vertical gradient value of the subject pixel. In other words, the relative content parameter could comprise the horizontal gradient value and the vertical gradient value. In an embodiment, the pixels having the same brightness value and the same gradient value but respectively belonging to different images are classified the same type. In other words, the type of a pixel could be determined according to its brightness value and gradient value.
In an embodiment, when the type of a pixel is determined, the pixel energy consumption value of this pixel could be obtained from a lookup table according to the type of this pixel. The lookup table comprises a plurality of elements and each of the plurality of elements indicates the pixel energy consumption value corresponding to one of the plurality of pixel types. In practice, the brightness value as well as the gradient value of a subject pixel could be converted into an address, and according to this address, the element stored in the location with this address in the lookup table is considered to be the pixel energy consumption value of the subject pixel. In practice, the brightness value and gradient value of the pixel could be appropriately quantized so as to reduce operational complexity and the data quantity of the lookup table.
Please refer to
In an embodiment, a matrix E could be formed according to the plurality of first row energy consumption references, and when the type of each pixel of the first training pattern is determined, another matrix A could be formed according to the count result indicating that each row of the first training pattern includes pixels with which pixel types. The size of the matrix E is h×1 and that of the matrix A is h×k wherein h is the number of the rows of the first training pattern and k is the number of the pixel types. In other words, each of the elements of the matrix E indicates the first row energy consumption reference corresponding to a respective one of the rows of the first training pattern, and each of the elements of the matrix A indicates the number of pixels with a specific one of pixel types in a specific one of row of the first training pattern. After the matrices A and E are obtained, another matrix W is then obtained by solving a conditional arg min∥A·W−E∥2 subject to W≥0 through the least square method. The size of the matrix W is k×1 and each of the elements of the matrix W indicates the energy consumption value of a respective one of the pixel types. In other words, the matrix W is the aforementioned lookup table.
In practice, the lookup table is obtained according to the first training pattern, and could be further updated according to other one or more training patterns. Please refer to
Any two of the pixel types are respectively defined as the first type and the second type. The constraint condition indicates that the gradient value corresponding to the first type is larger than the gradient value corresponding to the second type, the brightness value corresponding to the first type is equal to the brightness value corresponding to the second type, and the energy consumption value of the first type is larger than the energy consumption value of the second type. Therefore, the calculation result which fits the aforementioned conditional but slightly deviates from the reality may be avoided. In practice, there are a number of the second training patterns; that is, the lookup table may more conform to the operation of the hardware by being updated many times. In an embodiment, the aforementioned training patterns could be predetermined; that is, the process of updating the lookup table could be performed offline.
In practice, the constraint condition could be carried out in the power consumption estimation method by various methods. Please refer to
Please refer to
In another embodiment, besides the pixel estimation procedure as aforementioned, the power consumption estimation method provided in this disclosure further comprises a hardware state estimation procedure. Please refer to
On the other hand, in step S901 of the hardware state estimation procedure, a plurality of hardware work states corresponding to performing the predetermined image processing by hardware architecture is determined. In step S903, the numbers of executions are determined wherein each of the numbers of executions indicates the number of times of executing in one of the plurality of hardware work state when the hardware architecture performs the predetermined image processing procedure. In step S905, the total power consumption value is determined according to the power consumption values of the plurality of hardware work states and the numbers of executions, wherein the total power consumption indicates the total power consumption generated when the hardware architecture performs the predetermined image processing procedure.
Please refer to
As set forth above, this disclosure provides various power consumption estimation apparatuses. Please refer to
According to the above description, this disclosure also provides another kind of power consumption estimation apparatus. Please refer to
The conversion circuit 11′ is configured to obtain a retrieval signal according to pixel content information. The retrieval signal is configured to indicate the type of a current operating pixel. The current operating pixel is one of pixels of an image. These pixels are arranged in N rows. Each of the N rows comprises a number of pixels. For calculating a row power consumption value, the pixels in one row of the N rows serve as the current operating pixel sequentially. Thus, the energy consumption estimation circuit 13′ is configured to provide a pixel energy consumption value corresponding to the current operating pixel according to the retrieval signal. The calculation circuit 15′ is configured to accumulate the pixel energy consumption values of the pixels in the same row provided by the energy consumption estimation circuit 13′, and to obtain a row power consumption value of the row
For example, the conversion circuit 11′, the energy consumption estimation circuit 13′ and the calculation circuit 15′ are integrated into a field programmable gate array (FPGA) or an integrated circuit (IC). The specific operation of the conversion circuit 11′, the energy consumption estimation circuit 13′ and the calculation circuit 15′ is similar to the aforementioned power consumption estimation method. Therefore, herein, merely the structure of the power consumption estimation apparatus is explained, and its operation details are not repeated.
Please refer to
On the other hand, in the embodiment as shown in
In view of the above description, this disclosure provides a power consumption estimation method and a power consumption estimation apparatus. The power consumption estimation method and the power consumption estimation apparatus may be configured to estimate the power consumption generated when the image processing circuit with any kind of hardware configuration processes a subject image, according to the content of the subject image. In other words, a power consumption model for the associated hardware configuration may be provided. The power consumption model may indicate the average power consumption value generated by each row of pixels of the subject when a predetermined image processing procedure is performed for the subject image.
Number | Date | Country | Kind |
---|---|---|---|
106128834 A | Aug 2017 | TW | national |
Number | Name | Date | Kind |
---|---|---|---|
6871409 | Robb et al. | Mar 2005 | B2 |
6895561 | Blatt et al. | May 2005 | B2 |
8082530 | Ou et al. | Dec 2011 | B1 |
8122398 | Veller et al. | Feb 2012 | B2 |
8510694 | Hsieh et al. | Aug 2013 | B2 |
8902132 | Ozawa et al. | Dec 2014 | B2 |
9728159 | Daly et al. | Aug 2017 | B2 |
9830870 | Chen | Nov 2017 | B2 |
9870729 | Saruhashi | Jan 2018 | B2 |
20040075625 | Kim | Apr 2004 | A1 |
20050093780 | Jeong | May 2005 | A1 |
20060080076 | Lahiri et al. | Apr 2006 | A1 |
20060092103 | Kim | May 2006 | A1 |
20070139406 | Ozawa | Jun 2007 | A1 |
20120144216 | Hsieh et al. | Jun 2012 | A1 |
20130124885 | Davis et al. | May 2013 | A1 |
20140107999 | Frenkil | Apr 2014 | A1 |
20140368708 | Seo et al. | Dec 2014 | A1 |
20150029210 | Daly | Jan 2015 | A1 |
20150067634 | Huilgol | Mar 2015 | A1 |
20150095010 | Brock et al. | Apr 2015 | A1 |
20150172539 | Neglur | Jun 2015 | A1 |
20160329009 | Chen | Nov 2016 | A1 |
20170103693 | Saruhashi | Apr 2017 | A1 |
20170178572 | Ma | Jun 2017 | A1 |
Number | Date | Country |
---|---|---|
1726514 | Jan 2006 | CN |
101030345 | Sep 2007 | CN |
103971134 | Aug 2014 | CN |
106791219 | May 2017 | CN |
I270003 | Jul 2006 | TW |
201126419 | Aug 2011 | TW |
2013142067 | Sep 2013 | WO |
Entry |
---|
Taiwanese Office Action for corresponding application No. TW 106128834, dated Jun. 4, 2018. |
Chandoke, N., & Sharma, A. K. (Dec. 2015). A novel approach to estimate power consumption using SystemC transaction level modelling. In India Conference (INDICON), 2015 Annual IEEE (pp. 1-6). IEEE. |
Ahuja, S., Mathaikutty, D. A., Singh, G., Stetzer, J., Shukla, S. K., & Dingankar, A. (Mar. 2009). Power estimation methodology for a high-level synthesis framework. In Quality of Electronic Design, 2009. ISQED 2009. Quality Electronic Design (pp. 541-546). IEEE. |
Lebreton, H., & Vivet, P. (Apr. 2008). Power modeling in SystemC at transaction level, application to a DVFS architecture. In Symposium on VLSI, 2008. ISVLSI'08. IEEE Computer Society Annual (pp. 463-466). IEEE. |
Mbarek, O., Pegatoquet, A., Auguin, M., & Fathallah, H. E. (Jan. 2013). Power-aware wrappers for transaction-level virtual prototypes: A black box based approach. In VLSI Design and 2013 12th International Conference on Embedded Systems (VLSID), 2013 26th International Conference on (pp. 239-244). IEEE. |
Lee, I., Kim, H., Yang, P., Yoo, S., Chung, E. Y., Choi, K. M., . . . & Eo, S. K. (Jan. 2006). PowerV i P: Soc power estimation framework at transaction level. In Proceedings of the 2006 Asia and South Pacific Design Automation Conference (pp. 551-558). IEEE Press. |
Atitallah, R. B., Niar, S., & Dekeyser, J. L. (Dec. 2007). MPSoC power estimation framework at transaction level modeling. In Microelectronics, 2007. ICM 2007. Internatonal Conference on (pp. 245-248). IEEE. |
Number | Date | Country | |
---|---|---|---|
20190068904 A1 | Feb 2019 | US |