Speech/music classification is an integral part of various consumer electronics applications such as audio codecs, multimedia document indexing, and automatic speech recognition. To achieve high performance at speech/music classification, a support vector machine (SVM) has been widely used as a classifier due to its decent classification capability. However, in order to use an SVM-based speech/music classifier in embedded systems, which gradually replace desktop computer systems, one significant implementation problem needs to be resolved: high implementation cost due to time and energy inefficiency. The memory requirement determined by the dimensionality and the number of support vectors, is generally too high for an embedded systems cache to accommodate resulting in expensive memory accesses. In this paper, two techniques are proposed to reduce expensive memory accesses by enhancing temporal locality in support vector references utilizing fetched data from memory with great efficiency. For this, the patterns in support vector references are first analyzed, and then loop transformation techniques are proposed to improve the temporal locality that register file and cache hierarchy take advantage of. The proposed techniques are evaluated by applying them to a speech codec, and the enhancement is confirmed by measuring the number of memory accesses, overall execution time, and energy consumption.
- Reference locality
- Support vector machine