Flexible image processing engine
- Function is defined by providing parameters to each component. As translation tables can be controlled minutely, high flexibility is provided.
- Depending on the algorithm, components can be reassembled (scenario description),
using virtual engine to be implemented is defined.
- One of the components, GPU can process operations between engines. From the user, it can be perceived as a component.
- Virtual engine processes as 1 hardware engine. It just needs to be kicked to start processing and this the burden on the CPU is greatly reduced.
- Virtual engine can be simultaneously defined for each application (process). Resolves competing of hardware resources.
Realtime, Low Power Consumption
- Linking components
IPE basically uses no software and just hardware processing by linking
components so realizes high realtime characteristics as well as low power
- Maximum usage of Hardware Bandwidth
Due to gathering multiple scenarios and division of packets to each component
(micro packet control), maximum hardware bandwidth can be used.
In addition, processing completes with packet unit (in case of image then a line), realizes high realtime characteristics as well as low latency.
- Low power bus architecture
By having a dedicated data pass which goes directly through components
which are used at a high frequency in the order of use, access to external
memory is kept to a minimum. Also, by having a cache system whereby the
packet size can be stored, access to external memory is further inhibited.
Through this structure, can realize below 1/10 the power consumption compared
to software processing.
- IPE programming is possible by using the below two methods. Through these
environments, software development steps can be greatly reduced (Below
1/3 of general programming steps).
Programming by using General purpose API / OpenVX (Presently under development)
OpenVX major functions can be executed rapidly by using IPE accelerator.
GUI coding (Presently simple version)
Parameter setting as well as component assembly (scenario) description
through GUI environment is provided.
Does not require hardware inherent specialized knowledge, possible to code optimally to maximize hardware engine performance.
Also provide optimization (component linking) tool to maximize hardware
(Presently under development)
Detailed operation example