| Eye feature detection which plays an important part in human computer interaction and many other areas has been a hot research topic in image processing and recognition. In order to make an embedded eye feature detection system have both flexibility of software and high performance of hardware, this thesis presents a SoC hardware architecture for the eye feature detection algorithm based on the hardware/software co-design methodology. Some important design issues are also discussed in this thesis.The algorithm is ported to ARM embedded hardware platform first to check the bottleneck of the algorithm performance. In system architecture design phase, a system which is based on a Nios-II soft processor core as system kernel and Avalon Bus as the inter-connective structure is proposed according to the electronic system level design method, hardware/software task partition and ARM evaluation result. In hardware/software co-design phase, a special hardware processing unit which is based on the Look-up table and line buffer method is designed for two bottleneck parts, skin color segmentation and smoothing/denoising.In addition, the potential parallelism of the algorithm is explored and is optimized by the reconfigurable and extensible instruction set of Nios processor in order to enhance the algorithm performance. Firstly, more pixel data can be accessed to meet the bus width. The data accessed can be processed in parallel by a designed custom instruction. Second, some acculation algorithm's loop structure is analyzed and optimized to reduce the additional cost of memory access. Finally, some complex control flow of algorithm is replaced by another type of custom instruction to enhance the efficiency of instruction pipeline.From the co-validation performance evaluation result of the SoC prototype platform built on FPGA, it shows that the proposed SoC architecutrue with some hardware accelarators can meet the performance requirement. The processing rate is 25frames per second at a lower frequency of 100MHz, which achieves real-time processing requirent and is as fast as using PC software. |