The present invention relates to a data processing technique for image processing. More particularly, the present invention relates to a technique effectively applied to an image processing device and a data processor performing image processing with using, for example, an arithmetic circuit and a buffer memory such as a line memory.
Progress has been made on the studies of various image processing algorithms, and new algorithms, improvements of conventional algorithms and the like have been constantly reported. For handling these new algorithms, the modification of a program of an image processing calculation is considered. This is achieved by an image processing architecture including a DSP (digital signal processor) and/or a certain multi-parallel arithmetic unit, and the new algorithms can be handled to some extent by programming. The architecture capable of handling the new algorithms by a program is generally inferior to a hard-wired system in power consumption and/or a performance/area ratio (cost performance). The hard-wired system is more advantageous for an embedded controller in terms of power consumption and required high performance/area ratio (cost performance). However, there is an issue that the hard-wired system is difficult to handle a new architecture created after hardware design. An invention aiming to increase the degree of freedom in calculation such as writing calculation data back to a line memory based on the hard-wired system is disclosed in Japanese Patent Application Laid-Open Publication No. 10-340340 (Patent Document 1).
However, the present inventors have found out that it is difficult to fully make use of the advantages of both of the hard-wired system and the stored program system by the technique disclosed in Patent Document 1 aiming to increase the degree of freedom in calculation. That is, although high performance can be achieved with using minimum necessary hardwares when the image processing functions are configured with dedicated hardwares achieved by the hard-wired system, the processing except for the calculation algorithms planned in the design stage cannot be performed in nature because the control and function are implemented as a circuit when the hard-wired system is used for the access control of a memory and/or the calculation processing for image processing. Also, in the case of a system in which access control of a memory and calculation processing are described by a program such as a general-purpose processor, since the degree of freedom is given to the access to the memory in order to allow various calculation algorithms, the circuit is complicated and its circuit scale becomes large. As a result, in the program-description system having a large degree of freedom, its circuit scale has to be increased compared with the hard-wired system even when achieving the same performance.
A preferred aim of the present invention is to provide an image processing device having a small circuit scale and a superior processing performance.
Another preferred aim of the present invention is to provide an image processing device and a data processor capable of maintaining the efficiency of the hard-wired system and easily achieving various image processing functions.
The above and other preferred aims and novel characteristics of the present invention will be apparent from the description of the present specification and the accompanying drawings.
An outline of typical one of the inventions disclosed in the present application will be briefly described as follows.
That is, restriction is given to the calculation function for image processing achieved by the hard-wired system and the memory access control of a buffer memory, and a range of the restriction is made variable by a program control and others. By this means, the hard-wired circuits can be controlled so as to maintain the efficiency of the hard-wired system and achieve various image processing functions.
The effects obtained by typical aspects of the present invention disclosed in the present application will be briefly described below.
That is, more complicated calculation algorithms can be achieved by variably using calculation algorithms implemented highly efficiently with the hard-wired system, so that an image processing device having a small circuit scale and a superior processing performance can be provided.
First, an outline of a typical embodiment of the invention disclosed in the present application will be described. In the following outline description of the typical embodiment, reference symbols attached with parentheses to be referenced in the drawings show only those included in the concepts of the components to which the reference symbols are attached.
[1] An image processing device (201) according to the present invention includes: an input circuit (104) for reading data to be a calculation target from an outside and inputting it; a buffer memory (105) temporarily retaining data inputted by the input circuit; an arithmetic circuit (106) performing a calculation processing of data outputted from the buffer memory; an output circuit (107) for writing a calculation result of the arithmetic circuit back to the outside or the buffer memory; and control circuits (101, 102). The buffer memory has a plurality of memory lines (MLi) which are logically in series as memory regions, and input data can be written to the memory line assigned by the control circuit and the written data can be read therefrom. The arithmetic circuit repeatedly calculates data of one or plural memory lines outputted from the buffer memory in accordance with a processing content assigned by the control circuit in units of each calculation processing. Data of the assigned memory line is outputted from the buffer memory to the arithmetic circuit in units of each memory line by the control circuits.
According to the above description, data is inputted to the buffer memory from the outside with a restriction of “in units of memory line”, and the number of memory lines and positions of the same to which data is inputted can be programmable by the control circuit. The arithmetic circuit is subjected to the restriction of performing the calculation in units of data of one or plural memory lines supplied from the buffer memory, and a calculation processing content in units of calculation processing for the units of data can be programmably assigned by the control circuit. Therefore, these hard-wired circuits can be controlled by the control circuits so as to maintain the efficiency of the hard-wired system and achieve various image processing functions.
[2] In the image processing device of the item 1, the control circuit instructs one or plural memory lines to which the data inputted from the outside is written, and instructs the memory line to which the calculation result of the arithmetic circuit is written back.
[3] A data processor according to the present invention includes: an image processing device (201); and a central processing unit (208) performing control of the image processing device and access control to a memory. The image processing device has: an input circuit for reading data to be a calculation target from the memory and inputting it; a buffer memory temporarily retaining data inputted by the input circuit; an arithmetic circuit performing a calculation processing of data outputted from the buffer memory; an output circuit for writing a calculation result of the arithmetic circuit back to the memory or the buffer memory; and control circuits. The buffer memory has a plurality of memory lines which are logically in series as memory regions, and input data can be written to the assigned memory line and the written data can be read therefrom. The arithmetic circuit repeatedly calculates data of one or plural memory lines outputted from the buffer memory in accordance with an assigned processing content in units of each calculation processing. The control circuit instructs one or plural memory lines to which data inputted from the input circuit is written, instructs the calculation processing content of the arithmetic circuit, instructs the memory line to which a calculation result of the arithmetic circuit is written back, and instructs a memory line supplying data from the buffer memory to the arithmetic circuit.
Similar to the above description, these hard-wired circuits can be controlled by the control circuits so as to maintain the efficiency of the hard-wired system and achieve various image processing functions.
[4] In the data processor of the item 3, the central processing unit references a calculation result of the image processing device from the memory during a calculation operation of the image processing device.
[5] A data processor according to an another point of view of the present invention includes: an image processing device; and a central processing unit performing control of the image processing device and access control to a memory. The image processing device has: an input circuit for reading data to be a calculation target from the memory and inputting it; a buffer memory temporarily retaining data inputted by the input circuit; an arithmetic circuit performing a calculation processing of data outputted from the buffer memory; an output circuit for writing a calculation result of the arithmetic circuit back to the memory or the buffer memory; and control circuits. The buffer memory has a plurality of memory lines (MLi) which are logically in series as memory regions, and input data can be written to the memory line assigned by the control circuit and the written data can be read therefrom. The arithmetic circuit can parallelly calculate data of the plurality of memory lines read from the buffer memory in accordance with a processing content assigned by the control circuit. The control circuit controls the arithmetic circuit to repeatedly execute a first calculation for data in a first memory region (MLi to MLi+4) corresponding to the plurality of memory lines of the buffer memory sequentially in units of each data processing, and when calculation results of the repeatedly-executed first calculations are stored in memory lines in a second memory region (MLj to MLj+2) corresponding to the plurality of memory lines of the buffer memory, the control circuit replaces data of a memory line where the data memory is performed first in the first memory region, and then, controls the arithmetic circuit to repeatedly execute the first calculation again.
Similar to the above description, these hard-wired circuits can be controlled by the control circuits so as to maintain the efficiency of the hard-wired system and achieve various image processing functions. Further, it is possible to achieve a calculation algorithm, in which the first calculation is continued while updating the data used for the first calculation in units of memory line in addition to writing the results of the first calculations using the data stored in the buffer memory back to the buffer memory.
[6] In the data processor of the item 5, when required calculation results are acquired in the memory lines in the second memory region, the control circuit controls the arithmetic circuit to repeatedly execute a second calculation for data in the second memory region sequentially in units of each data processing, and to store calculation results of the repeatedly-executed second calculations in a memory line in a third memory region (MLk) of the buffer memory.
By this means, it is possible to achieve a calculation algorithm, in which the second calculation is performed with further using the first calculation results written back to the buffer memory and results of the second calculations are further written back to the buffer memory to get ready for a next calculation.
[7] In the data processor of the item 6, when required calculation results are acquired in the memory line in the third memory region, the control circuit controls the arithmetic circuit to repeatedly execute a third calculation for data in the third memory region, and to store calculation results of the repeatedly-executed third calculations in a memory line in a fourth memory region of the buffer memory.
By this means, it is possible to achieve a calculation algorithm, in which the third calculation is performed with further using the second calculation result written back to the buffer memory and results of the third calculations are further written back to the buffer memory to get ready for a next processing.
[8] In the data processor of the item 7, when required calculation results are acquired in the memory line in the fourth memory region, the control circuit controls a writing of the calculation results to the memory by instructing the output circuit. By this means, overhead caused by data transfer between the image processing device and the memory can be suppressed.
[9] In the data processor of the item 6, when required calculation results are acquired in the memory line in the third memory region, the control circuit controls the arithmetic circuit to repeatedly execute a third calculation for data in the third memory region, and controls the output circuit to output the calculation results of the repeatedly-executed third calculations to the outside.
[10] In the data processors of any one of the items 5 to 9, the control circuit has a microcontroller, a control register, and a synchronous circuit. The microcontroller performs a control to execute a program to write control data to the control register. The synchronous circuit controls the writing to the control register in accordance with operation statuses of the input circuit and the arithmetic circuit. The control register outputs control signals to the input circuit, the buffer circuit, the arithmetic circuit, and the output circuit in accordance with the written control data.
[11] In the data processor of the item 10, control information for assigning a memory line to which data is loaded from the input circuit, control information for assigning a memory line to which data is loaded from the output circuit, control information for assigning the number of memory lines to which data is loaded, control information for assigning a memory line from which data is outputted, and control information for assigning the number of memory lines from which data is outputted are set to the control register.
[12] In the data processor of the item 7, the first calculation is a convolution operation for smoothing image data of the plurality of memory lines, with using m×n pixels of data as a unit of data processing.
[13] In the data processor of the item 12, the second calculation is a filter operation for edge-emphasizing the image data of the plurality of memory lines, which has been subjected to the convolution operation, with using iXj pixels of data as a unit of data processing.
[14] In the data processor of the item 13, the third calculation is an operation for binarizing the image data which has been subjected to the filter operation.
The embodiment will be further described in detail. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
In
The image processing device 201 is a hardware performing image processing at high speed, and its details will be described later.
The bus in chip 202 is an internal bus illustrated by one hierarchy level for convenience, and it is used for transmitting data, address and/or others between respective internal circuit modules and can be configured by, for example, a split transaction bus or the like.
The peripheral interface 203 is a circuit controlling input and output of signals in an embedded system using the data processor 1.
The read-only memory 204 is a dedicated memory for reading and stores a boot program of the system, a setting required for the system, and the like.
The display output circuit 205 is a circuit used for the connection to a display device such as a liquid crystal display.
The main memory interface 206 is a memory controller controlling the main memory configured by a synchronous DRAM or the like.
The video input circuit 207 receives image data from an image input camera or the like and transfers its signal to the image processing device 201 via the bus in chip 202.
The CPU 208 is a circuit which is responsible for the overall control of the data processor 1, and the CPU 208 also performs various settings to the image processing device 201. Although not illustrated, it fetches a command of the ROM 204, decodes the fetched command, and performs a calculation processing, an access processing, and/or others for executing the command in accordance with its decoded result.
The image data used for the image processing is stored in, for example, the main memory 209. When the image data is inputted from a camera, it is stored in the main memory 209 via the video input circuit 207. Also, when the image data is inputted from other than the camera, it is inputted from an external interface such as the peripheral interface 203 to be stored in the main memory 209. The stored image data is stored as a block of data like that in a memory space illustrated in
When the image processing is performed, two processing types are possible such as a case of processing by the CPU 208 and a case of processing by the image processing device 201. The case of processing by the CPU 208 is performed with using a calculation command, a transfer command, and/or the like included in its command set, and its operation is not different from that of a normal general-purpose CPU, and therefore, descriptions of its details are omitted here. In the case of processing by the image processing device 201, the image data of the main memory 209 is transferred to the image processing device 201 via the main memory interface 206. Results of the image processing are written back to the main memory 209 so that the CPU 208 and/or the display output circuit 205 can access the results. These settings are also controlled in accordance with a calculation program of the CPU 208. More specifically, a processing of determining what address of the main memory 209 an image data to be processed is stored in, how the image processing device 201 processes, and what address of the main memory 209 the data is written back to is performed by the CPU 208 in accordance with the operation program.
The image processing device 201 performs the processing based on information set in the system register 101. Information required for operations of other internal circuits 102 to 108 is set in the system register 101, and their set values are outputted to the respective internal circuits 102 to 108 to control the respective operations. Also, the system register 101 has functions of receiving and retaining predetermined information from the internal circuits 102 to 108 for monitoring the calculation result and/or the operation status of the image processing. In the system register 101, the control data can be set by the accessing from the CPU 208 via the bus interface 108 in
One example of the image processing in the image processing device 201 will be described. Here, it is assumed that an image data A in
The CPU 208 sets a data acquisition to the input circuit 104 via the system register 101. The setting defines a position of the image data A in the memory space. Contents of the image processing are set in the system register 101, and the contents are transmitted to the arithmetic circuit 106. The line memory 105 between the input circuit 104 and the arithmetic circuit 106 plays a role of retaining data inputted from the input circuit 104 and supplying data required for the arithmetic circuit 106. For example, in a case of a smoothing filter having 3×3 window, total 9 pieces of data for the pixels arranged longitudinally and laterally are required for processing image data to be a processing target. For supplying these image data, image data corresponding to three lines is required, and the line memory 105 recording them is required. The image data supplied from the line memory 105 is processed by the arithmetic circuit 106. The arithmetic circuit 106 has an arithmetic circuit configuration executing a function set in the system register 101 and configured by the hard-wired system. Although it is configured by the hard-wired system, calculation algorithms for a lot of image processing can be executed by changing the set contents of the system register 101. A result of the processing of the arithmetic circuit 106 is outputted to the output circuit 107, and one of two flows that the result is supplied to the main memory 209 via the bus interface circuit 108 or that it is written back to the line memory 105 is selected. This select setting can be controlled by the microcontroller 102. The processing result written back to the main memory 209 is managed as, for example, the image data C in
In the image processing system of the present embodiment, the input circuit 104 acquires data from the main memory 209 and records the data in each line of the line memory 105, and the arithmetic circuit 106 performs the image processing. Here, the line memory 105 has a plurality of memory lines which are logically in series as memory regions, and an input data can be written to the memory line assigned by the system register 101 and others and the written data can be read therefrom. More specifically, as illustrated in
The arithmetic circuit 106 calculates data of one or plural memory lines outputted from the line memory in accordance with a processing content assigned by the system register in units of each calculation processing and then outputs the data. For example, for acquiring a processing result corresponding to one pixel with using the data in a local region depending on a processing size such as 3×3 window or 5×5 window, a system of once performing the processing in units of each calculation processing is common, and in this case, the processing is generally performed in units of one line by using the line memory. Therefore, the processing here is handled in the corresponding manner. More specifically, k×k pieces of calculation units UNT and an adder for adding or subtracting a calculation result by each of the calculation units UNT are provided, and such a parallel calculation that i×i pieces of data supplied from i lines of the memory lines are parallelly processed with using i×i pieces of assigned calculation units UNT and their processing results are added and outputted becomes possible.
In
At this time, the input circuit 104 references a start address of an image data as a processing target on the main memory 209 recorded in the system register 101 and reads the data in an area of the set address for each one line via the bus interface 108.
The above operations are summarized as follows. That is, the line memory 105 receives data from the input circuit 104, retains a value of the data in accordance with an operation mode set by the system register 101, and outputs the data to the arithmetic circuit 106. The arithmetic circuit 106 receives the data from the line memory 105 and performs a calculation depending on a calculation type set by the system register 101. The output circuit 107 receives the data from the arithmetic circuit 106, performs a shift processing or others if needed, and writes the processing result of the arithmetic circuit 106 back to the line memory 105 or outputs it to the main memory 209 via the bus interface 108 in accordance with the setting of the system register 101. Therefore, the data of the assigned memory line is outputted from the line memory 105 to the arithmetic circuit 106 in units of memory line by the system register 101 and the microcontroller 102, and the arithmetic circuit 106 repeatedly calculates the data of one or plural memory lines outputted from the line memory 105 in accordance with the processing content assigned by the system register 101 in units of each calculation processing.
A more specific example of the image processing device will be further described.
The microcontroller setting register 301 is a register for instructing the operation start or the like of the microcontroller 102 and acquiring status information of the microcontroller 102.
The synchronous circuit setting register 302 is a register for instructing the operation start or synchronization (wait) to a target whose synchronization is to be monitored. In the present embodiment, the processing is performed for each line, and the processing content and a destination for recording the calculation result can be changed in each processing. Settings to a function of recognizing a processing start or finish required for the change for each line are performed.
The input circuit setting register 303 is a register for retaining a value required for generating an address to be outputted to the main memory 209 by the input circuit 104. More specifically, settings of a position in the main memory 209 where the image data of the processing target is stored, the number of pixels in a lateral direction and a vertical direction of the image data to be processed, and others are performed.
The line memory setting register 304 is a register for performing a configuration control of the line memory. The line memory 105 does not always use the line memory depending on the processing content or the processing system. A general-purpose image processing device is assumed in the present embodiment, and required settings such as how to use the line memory, whether the control of the microcontroller is allowed or not, and others are performed.
The arithmetic circuit setting register 305 is a register for setting the calculation type, and it includes the image processing functions and parameters required for each image processing. Also, as for a part of processing results, there is a register for storing the processing result of the arithmetic circuit 106.
The output circuit setting register 306 is a register for switching whether the calculation result is outputted to the line memory 105 or to the outside via the bus interface BIF or assigning the instruction of the processing of shift down of the calculation result. In the bus interface setting register 307, settings required for the operation of the bus interface are performed.
The micro-program retaining circuit 401 is a circuit for reading a micro-program from the main memory 209 and retaining it. The program counter 402 is a pointer indicating a currently executed address of programs stored in the micro-program retaining circuit 401. The registers 403 to 417 are registers referenced in the micro-program, and some of them are used in general purpose and others have specific functions. The command decoder 418 is a circuit for interpreting a currently executed command. The execution circuit 419 is a circuit for generating the control signal based on the command interpretation and generating an update value of a register.
The input synchronous circuit 501 is a circuit for monitoring the set synchronization of the input circuit 104. The input circuit 104 is a circuit reading the data corresponding to one line from the main memory 209. By the instruction to the input circuit 104, the operation of reading the data corresponding to one line can be started. Also, when finish of reading the data for one line is detected by the input circuit 104, it is transmitted to the microcontroller 102 as an interrupt request or the like.
The arithmetic processing synchronous circuit 502 is a circuit for monitoring the set synchronization of the arithmetic circuit 106. In order to enable the calculation in units of one line in the arithmetic circuit 106, start of the calculation for one line is instructed by the arithmetic processing synchronous circuit 502. When finish of the calculation for one line is detected, it is transmitted to the microcontroller 102 by the arithmetic processing synchronous circuit 502 as an interrupt request or the like.
In
An MV command is a transfer command of data. Data is transferred from a register for a first operand to a register for a second operand, a value is transferred to a register, or a value of a register is transferred to an address shown by a label, respectively. The command is used for a data copy or others.
An ADD command is a command for calculating the sum of values of the register for the first operand and the register for the second operand and substituting the sum to the register for the second operand. The command is used for a data addition of registers or others.
A CMP command is a command for comparing (taking a difference of) the values of the register for the first operand and the register for the second operand and reflecting whether the values are equal or not on a condition flag. The condition flag is used in a branch command described later.
An ST command is a command storing data of a register and is a command for writing a value of the register to an address in a register space which the image processing device can access.
An LD command is a command for loading data to a register and is a command for reading the value, which is recorded in the address in the register space which the image processing device can access, to an assigned register.
A BT command is a command for brunching data to a set address when the condition flag described above is true.
An SNC command is a command for setting a signal changed for each line to acquire the synchronization, and it can be used for acquiring the synchronization for switching the calculation function for each line. More specifically, it is a command for describing a function block performing a synchronous processing to the operand, thereby monitoring a synchronization in which the processing of the described function block is finished in units of line. Until finishing the operation of the target in units of line, execution of a micro-program is waited. Note that the function block mentioned here indicates the input circuit or the arithmetic circuit. For example, in a circuit performing the image processing, the command is used for waiting the finish of the execution to the data in units of one line.
An EXE command is a command for describing the function block to the operand, thereby executing the processing in units of line by the function block of the described target. This is a command used for loading the image data or executing the image processing in units of memory line, and it can be regarded as a command instructing the execution in units of one line in the circuit performing the image processing.
An INT command is a command for generating an interruption to the CPU 208 on an upper level according to need by the microcontroller 102. The upper-level CPU 208 performs a processing of image recognition, and it is independently operated from the image processing device 201. Therefore, after a request for the image processing is generated in the upper-level CPU 208 and the image processing device 201 performs the image processing, the image processing device 201 is required to notify the CPU 208 of the finish of the image processing. By generating the notification by the microcontroller 102 with using a program operation, more efficient parallel processing is possible. For example, since the finish notification is conventionally performed by hardware, the notification cannot be performed at the timing other than that designed in advance. Since it is difficult to consider all of assumed image processing in advance in the design stage, there is a possibility that new functions cannot be handled to cause waste. In this example, various calculations can be implemented by the control of the micro-program. Further, it is possible to program appropriate processing such as executing the condition branch or the like and generating the interruption to the upper-level CPU 208 at a certain moment, thereby canceling the processing to the image processing result or the ongoing calculation execution. For example, when the CPU 208 and the image processing device 201 have to independently execute the processing, the image processing device notifies arbitrary status in the processing to the CPU 208, and the CPU 208 can start the access to the processing result without waiting the calculation finish of the image processing device 201.
For example, when pixel data lines PXL0 to PXL4 are stored in the memory lines MLi to MLi+4, respectively, the convolution operation for the 5×5 smoothing processing is performed to the pixel data lines, and the calculation results are stored in the memory line MLj as image data of the center pixel, and then, the convolution operation is sequentially performed while shifting the 5×5 calculation processing unit toward a right direction one pixel by one pixel, so that their calculation results are stored in a pixel position next to the memory line MLj. The calculation like this is performed to the right end of the memory lines MLi to MLi+4. In this state, a smoothed data CMB2 in the pixel data line PXL2 is acquired in the memory line MLj. Next to this, the unnecessary data of the pixel data line PXL0 is invalidated and the data of the next pixel data line PXL5 is stored in the memory line MLi, and the smoothing processing is similarly performed to the pixel data lines PXL1 to PXL5 this time, so that a smoothed data CMB3 in the pixel data line PXL3 is acquired in the memory line MLj+1. Also next to this, the unnecessary data of the pixel data line PXL1 is invalidated and the data of the next pixel data line PXL6 is stored in the memory line MLi+1, and the smoothing processing is similarly performed to the pixel data lines PXL2 to PXL6 this time, so that a smoothed data CMB4 in the pixel data line PXL4 is acquired in the memory line MLj+2.
Since the smoothed data CMB2 to CMB4 corresponding to 3 pixel lines are acquired, the calculation for the 3×3 edge-emphasis processing is performed to the smoothed data, and their calculation results are stored in the memory line MLk as image data of their center pixel, and then, the calculation for the edge-emphasis processing is sequentially performed while shifting the 3×3 calculation processing unit toward a right direction one pixel by one pixel, so that their calculation results are stored in a pixel position next to the memory line MLk. The calculation like this is performed to the right end of the memory line MLk. In this state, the edge-emphasized data EMP3 in the pixel data line PXL3 is acquired in the memory line MLk.
Since the edge-emphasized data EMP3 is acquired, the binarization is performed to the edge-emphasized data this time, and its result is stored in the memory line MLm. By sequentially repeating the above-described operations, binarized data is accumulated in the memory line MLm and following lines.
In the above-described processing, the address counters ACUNT0 and ACUNT1 in
Note that the calculation result of the binarization processing may be directly outputted from the output circuit to the main memory 209. At this time, the binarized calculation result is temporarily accumulated in the shifter 901 of the output circuit 107, and when the data for one line is accumulated, the writing operation is performed to the main memory 209.
As described above, data is inputted to the line memory 105 from the outside with a restriction of “in units of memory line”, and the number of memory lines and positions of the same to which data is inputted can be programmable by the setting value of the system register 101 and the control circuit of the microcontroller 102. The arithmetic circuit 106 is subjected to the restriction of performing the calculation in units of data of one or plural memory lines supplied from the line memory 105, and a calculation processing content in units of calculation processing for the units of data can be programmably assigned by the control circuit. Therefore, the image processing device 201 can simultaneously achieve a highly efficient processing based on the hard-wired logic system and a flexible processing of a general-purpose processor.
In the foregoing, the invention made by the present inventors has been concretely described based on the embodiment. However, it is needless to say that the present invention is not limited to the foregoing embodiment and various modifications can be made within the scope of the present invention.
For example, although the image recognition has been described as one example of the image processing above, the present invention is not limited to this. Also, although the smoothing, edge-emphasis, binarization are taken as one example of the image recognition processing, the present invention is not limited to this, either. The image processing device may be configured as an accelerator of one chip. A circuit module mounted on a chip of a system LSI is not limited to that in
Number | Date | Country | Kind |
---|---|---|---|
2008258039 | Oct 2008 | JP | national |
The present application is a continuation application of U.S. application Ser. No. 12/566,123, filed Sep. 24, 2009, which claims priority from Japanese Patent Application No. JP 2008-258039 filed on Oct. 3, 2008, the contents of which are hereby incorporated by reference into this application.
Number | Date | Country | |
---|---|---|---|
Parent | 12566123 | Sep 2009 | US |
Child | 13839278 | US |