An Image Processing Platform Sample Clauses
An Image Processing Platform. In the general view, an image-processing platform is composed of a hardware device on top of which low-level software is implemented to operate the hardware (e.g. an operating system and application domain libraries) and a set of tools, generally called a tool-chain, must also be available to develop applications (see Figure 2). Such an image-processing platform is dedicated to processing images from one or more sensors (e.g., a camera or camera-like device). Through a dedicated algorithm, higher-level information will be extracted from the image. This result might be used in two ways: (1) to produce actions or (2) to output enhanced information with the image. Since the sensor outputs frames at a given rate, the platform must be able to process each images at the same rate not to lose any information. When the result of the computation is not linked to any safety issue, it might be allowed to lose some of the frames but anyway, for the information to have any meaning, the system must be designed not to lose any frame and thus be real-time. Real-time-processing means the system will process the data at the same pace it is produced. To achieve this, a holistic view of the system is required to obtain the best power efficiency from inevitably highly heterogeneous hardware since the more dedicated the hardware, the better the power efficiency. This heterogeneity has a cost. While being able to compute more pixels for a given power budget, the programmer loses from genericity and thus programmability and versatility. This means often dedicated programming languages or restricted APIs. Getting the API as close as possible to known and standard APIs eases the learning curve. When a system gets several computing units, the programmer also has to take into account the scheduling of the tasks on the units and the data transfers between them. This design step highly benefit from an operating system since it for instance transparently maps and schedules compute jobs onto hardware compute devices. With a power-aware tool chain, the application designer could check, for each mapping of the application tasks on the hardware resources, the impact on power consumption. The designer can thus schedule the processing chain to optimise both the performance and the required energy. The tool chain would rely on the low-power real-time operating system. Specifically designed to fit in the small memory sizes of embedded devices. The operating system would come with an optimised i...
