WO2004109597A9 - 画像処理装置 - Google Patents
画像処理装置Info
- Publication number
- WO2004109597A9 WO2004109597A9 PCT/JP2004/007855 JP2004007855W WO2004109597A9 WO 2004109597 A9 WO2004109597 A9 WO 2004109597A9 JP 2004007855 W JP2004007855 W JP 2004007855W WO 2004109597 A9 WO2004109597 A9 WO 2004109597A9
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- distortion correction
- image processing
- unit
- image
- distortion
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Definitions
- the present invention relates to an image processing apparatus, and more particularly, to an image processing apparatus for processing electronic image data captured via an optical system.
- an optical system In an electronic imaging device such as a digital camera, a subject image formed by an optical system is
- An image pickup device is obtained by photoelectric conversion using an image pickup device such as a CCD, and the image data is subjected to various image processing, and then compressed by a compression method such as JPEG and recorded on a recording medium such as a memory card.
- a compression method such as JPEG
- a recording medium such as a memory card.
- an electronic imaging device such as the digital camera also serves as an image processing device.
- FIG. 32 is a diagram showing a general image processing procedure in the image processing apparatus.
- An image pickup device such as a CCD photoelectrically converts an optical object image formed by an optical system to generate an electric image pickup signal.
- This imaging signal is stored in the frame memory after performing pre-processing such as pixel defect correction and A / D conversion.
- the image data stored in the frame memory is read out and subjected to the first image process, the second image process,.
- Various kinds of image processing such as conversion into a board signal, mouth-to-pass fill processing, page emphasis processing, and scaling processing are performed.
- the image signal after the image processing is further compressed by a compression method such as JPEG and recorded in the memory card as an image file.
- FIG. 33 is a block diagram showing a configuration of a conventional image processing apparatus for performing general image processing as shown in FIG.
- This image processing device includes a CCD 91, a pre-process ⁇ 92, a frame memory 94, a first image processing section 95a, a second image processing section 95b,..., An Nth image processing section. 95 n, a JPEG processing unit 96, a memory card or the like 97, a bus 98 connecting the above-mentioned circuits and a CPU 93, which will be described later, excluding the above-mentioned CCD 91, and the above-mentioned circuits including And a CPU 93 that controls the image processing apparatus in a comprehensive manner.
- the image data from the pre-processing section 92 is temporarily stored in the frame memory 94 via the bus 98.
- the image data is read out from the frame memory 94 and input to the first image processing section 95a via the node 98, and the first image processing is performed. Is written in the frame memory 94.
- the image data after the first image processing is read out from the frame memory 94 and input to the second image processing section 95 b via the bus 98 to perform the second image processing. Then, a process of writing the processed image data into the frame memory 94 is performed, and the same process is repeated for each image processing unit.
- Japanese Patent Application Laid-Open No. 2000-31312 27 discloses that an image stored in a frame memory is read out in block units in a predetermined direction (column direction), so that the pipeline processing can be performed. A technique for reducing the amount of buffer used when performing the processing is also described, so that a low-power-consumption, memory-saving image processing apparatus can be configured.
- distortion is generally generated to a large or small amount.
- This distortion is observed as, for example, a barrel type or a pincushion type when photographing a grid-like subject (see FIGS. 3 (A), 3 (B), 3 (C) according to other embodiments of the present invention). See).
- the cameras currently on the market have a lot of leaks that can perform optical zoom, but such a zoomable optical system extends from the wide end to the tele end. Changing the focal length within the zoom range often changes the state of distortion.
- Japanese Patent Application Laid-Open No. H10-224649 discloses a technique in which each image processing unit randomly accesses a frame memory. Is described. According to this technique, since it is not necessary to provide a buffer in the image processing unit, there is an advantage that the circuit size of the image processing unit can be reduced.
- chromatic aberration occurs in the optical system of the camera. This chromatic aberration is caused by the fact that the refractive index differs depending on the wavelength of light when the light enters the optical system, and when an optical image is formed by the optical system, the image is formed for each wavelength. The resulting optical image appears as a slight shift.
- the optical system is designed to minimize this chromatic aberration, but it is difficult to eliminate all chromatic aberrations from the viewpoints of layout space, weight, and cost.
- FIG. 34 is a diagram for explaining a memory amount necessary for performing a distortion correction process in the related art. Since the image data for these multiple lines is temporarily stored in a buffer provided inside the image processing unit and then processed, a relatively large image is required to obtain a corrected image for one line. The capacity is required, the odor of the circuit increases, the manufacturing cost increases, and the power consumption also increases. Furthermore, the size of the image that can be processed is limited by the buffer memory capacity in the image processing unit.
- a processing block for performing the above-described distortion correction processing in the image processing apparatus By providing both the processing block for performing the scaling processing and the processing block, it is possible to perform both the scaling processing and the distortion correction processing.
- these processes involve interpolation calculation for each pixel, and the size of the processing circuits is large.Therefore, simply providing both processing circuits increases the circuit configuration and power consumption. At the same time, the manufacturing cost increases.
- the present invention has been made in view of the above circumstances, and it is an object of the present invention to provide an image processing apparatus capable of performing image processing without increasing the amount of data transferred overnight / memory capacity. .
- Another object of the present invention is to provide an image processing apparatus which has a small circuit plate capable of performing the scaling processing and the distortion correction processing and has low power consumption.
- a further object of the present invention is to provide an image processing apparatus which can perform distortion correction and chromatic aberration correction and has low circuit odor and low power consumption. Disclosure of the invention
- the present invention relates to an electronic image data obtained by imaging through an optical system
- an image processing apparatus that processes image data in which pixel data is two-dimensionally arranged in a row direction and a column direction, the image data is stored and image processing is performed at least before the image processing is performed.
- a memory which can be stored later, and a pixel data in the block are read out in a row direction from the memory via a node in units of a block in the two-dimensional array of the image data, and thereafter read.
- a first data sequence converter for outputting the pixel data in the block in the column direction, and a pipeline process using an information transmission path different from the first data sequence converter and the bus
- An image processing unit connected in such a manner that the image data output in the column direction from the first data order conversion unit is input and subjected to image processing and then output in the column direction; Pipeline processable Image data output from the image processing unit in the column direction and a second data order conversion unit for converting the image data into the image data in the row direction and outputting the image data It is.
- the present invention is an image processing apparatus capable of performing image processing including distortion correction processing and enlargement / reduction processing on an electronic image data obtained by imaging through an optical system, comprising: Supplement An interpolation coordinate generation unit for generating an interpolation coordinate data which is a coordinate data before the interpolation processing corresponding to a pixel position after performing an interpolation processing related to an image processing which may include a normal processing and a scaling processing.
- a memory for storing at least a part of the image data; a control for writing a part of the image data to the memory based on the coordinate data between ⁇ 3 ⁇ and a control for reading from the memory And an interpolation operation for generating an image data at a pixel position after performing an interpolation process by performing an interpolation operation on the image data read from the memory unit under the control of the memory control unit.
- an image processing apparatus including a distortion correction processing unit configured to include:
- the present invention relates to an image processing apparatus for processing electronic image data obtained by imaging through an optical system, the image data comprising a plurality of components.
- a distortion correction coefficient calculating means for calculating a distortion correction coefficient to be used for correcting distortion caused by each component based on a distance from a distortion center position, and a distortion correction coefficient calculating means for each component calculated by the distortion correction coefficient calculating means.
- An image processing apparatus comprising: a distortion correction calculation unit configured to correct the image data for each component using a distortion correction coefficient; and a distortion correction processing unit configured to include: Brief Description of Drawings
- FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to a first embodiment of the present invention.
- FIG. 2 is a block diagram showing a configuration of a distortion correction processing unit according to the first difficult embodiment.
- FIG. 3 is a diagram showing an example of distortion aberration when a grid-like subject is photographed via an optical system in the first embodiment.
- FIG. 4 is a diagram for explaining an outline of an interpolation process including distortion correction in the first embodiment.
- FIG. 5 is a view for explaining processing by 16-point interpolation in the first embodiment.
- FIG. 6 is a diagram showing an image data reading order in the first difficult mode.
- FIG. 7 is a block diagram showing a configuration of the data order conversion unit in the first embodiment.
- FIG. 8 is a diagram showing a correspondence relationship between a corrected image and a captured image and a buffer amount required for processing in the first difficult mode.
- FIG. 9 is a diagram showing an example in which the width of the image data read out according to the distance from the center of distortion is changed in the vertical direction in the first ⁇ form.
- FIG. 10 shows an image data read out according to the distance from the center of distortion in the first difficult mode.
- FIG. 11 is a block diagram showing a first modification of the configuration of the image processing apparatus in the first embodiment.
- FIG. 12 is a block diagram showing a second modification of the configuration of the image processing device in the first crane form.
- FIG. 13 is a block diagram showing a third modification of the configuration of the image processing apparatus in the first difficult mode.
- FIG. 14 is a block diagram showing a fourth modification of the configuration of the image processing device in the first embodiment.
- FIG. 15 is a block diagram illustrating a configuration of an image processing device according to the second embodiment of the present invention.
- FIG. 16 is a block diagram showing a more detailed configuration of the distortion correction processing unit in the second embodiment.
- FIG. 17 is a block diagram illustrating an example of a configuration of a distortion correction coefficient calculation circuit according to the second embodiment.
- FIG. 18 is a block diagram showing another example of the configuration of the distortion correction coefficient calculation circuit according to the second embodiment.
- FIG. 19 is a timing chart showing a state when an interpolation position is generated for each clock in the second embodiment.
- FIG. 20 is a timing chart showing a state in which an interpolation position is generated once every three clocks in the second embodiment.
- FIG. 21 is a block diagram illustrating an outline of a configuration of a distortion correction processing unit according to the third embodiment.
- FIG. 22 is a diagram illustrating an example of chromatic aberration generated when an image is captured by an optical system in the third embodiment.
- FIG. 23 is a diagram showing a state of the image data stored in the internal memory unit when the interpolation data relating to B can be calculated in the third embodiment.
- FIG. 24 is a diagram showing a state of image data stored in the internal memory unit at the time when it becomes possible to calculate interpolation data for R, G, and B in the third embodiment.
- FIG. 25 is a block diagram showing a more detailed configuration of the distortion correction processing unit in the third crane mode.
- FIG. 26 is a block diagram illustrating a configuration of a distortion correction coefficient calculation circuit according to the third embodiment.
- FIG. 27 is a block diagram illustrating a configuration of a distance-dependent coefficient calculation circuit in the third embodiment.
- FIG. 28 is a block diagram showing another example of the configuration of the distortion correction coefficient calculation circuit according to the third embodiment.
- FIG. 29 is a block diagram illustrating the configuration of the Ch.0 distortion correction circuit in the third embodiment.
- FIG. 30 is a block diagram showing a configuration of a grant synchronization circuit according to the third embodiment.
- FIG. 31 is a timing chart for explaining the operation of the grant synchronization circuit in the third embodiment.
- FIG. 32 is a diagram showing a general image processing procedure in the image processing apparatus.
- FIG. 33 is a block diagram showing a configuration of a conventional image processing apparatus for performing general image processing as shown in FIG.
- FIG. 34 is a diagram for explaining the amount of memory required for performing the distortion correction process in. BEST MODE FOR CARRYING OUT THE INVENTION
- FIGS. 1 to 14 show a first embodiment of the present invention
- FIG. 1 is a block diagram showing a configuration of an image processing apparatus.
- the image processing apparatus includes a CCD 1 serving as an image sensor that photoelectrically converts an optical subject image formed by an optical system to generate an electrical image signal, and an image signal output from the CCD 1 includes a pixel defect.
- Pre-processing unit 2 that performs pre-processing such as image correction and A / D conversion, a frame memory 4 that stores frame images processed by the pre-processing unit 2, and a frame memory 4 that is stored in the frame memory 4.
- a first data order converter 5 which reads out the image data for each predetermined block via a bus 11 described later, temporarily stores the data, and thereafter changes and outputs the readout order; and a first data order converter 5 An image processing unit 6 for performing predetermined image processing on the image data output from the image processing unit; and an image processing unit for performing a distortion correction process on the image data processed by the image processing unit 6. «Distortion correction The same direction as when the processing unit 7 and the image data for each block output from the distortion correction processing unit 7 are temporarily stored and read out from the frame memory 4 by the first data / order conversion unit 5 described above.
- the second data sequence converter 8 reads and outputs the image data, and the image data output from the second data sequence converter 8 is compressed into a compression method such as JPEG.
- the JPEG processing unit 9 for further compression and the image data compressed by the JPEG processing unit 9 are temporarily written to the frame memory 4 via a bus 11 described later, and the written image data is transferred to the bus 11.
- a memory card or the like 10 serving as a non-volatile storage means for reading out, inputting and storing as an image file via the bus, a bus 11 connecting each of the circuits except for the CCD 1 and a CPU 3 described below, And a CPU 3 which is a control means for controlling and controlling the image processing apparatus including the respective circuits as a whole.
- the first data order conversion unit 5 to the JPEG processing unit 9 are connected so as to be able to perform pipeline processing on an information transmission path different from the bus 11 without passing through the bus 11, Image data is transferred and processed in predetermined block units in a two-dimensional pixel array. As a result, a large amount of image data is not transferred over the bus 11 for each process, so that the load on the bus 11 can be greatly reduced. In addition, by performing the processing in units of blocks, it is possible to reduce the capacity of the internal buffer section of the image processing section.
- the image processing unit 6 for performing image processing is provided, but a plurality of image processing units corresponding to a plurality of image processing are arranged above the pipeline processing. Needless to say, it may be done.
- the image processing include a conversion process from a box signal to a three-plate signal, a mouth-to-pass fill process, an edge enhancement process, a scaling process, and the like, as described above.
- the arrangement of the image processing unit 6 may be on the stage before or after the distortion correction processing unit 7.
- FIG. 2 is a block diagram showing a configuration of the distortion correction processing section 7.
- the distortion correction processing section 7 receives image data from the processing stage at the preceding stage in units of a predetermined process, corrects the distortion, and outputs the result to the processing stage at the subsequent stage, as shown in FIG.
- the first-stage processing block corresponds to the image processing unit 6
- the second-stage processing block corresponds to the second data-first-order conversion unit 8.
- the distortion correction processing unit 7 is provided with a control register 7a, in which setting values and various data for the distortion correction processing unit 7 from the CPU 3 are set, and at the same time, the status of the processing result is set. Tasks and the like can be read from the CPU 3.
- FIGS. 4 and 5 The outline of the processing of the distortion correction processing section 7 is, as shown in FIGS. 4 and 5, roughly as follows.
- Fig. 4 is a diagram for explaining the outline of the interpolation process including distortion correction
- Fig. 5 is a 16-point interpolation.
- FIG. 6 is a diagram for explaining the processing by
- the coordinate system (X, Y) of the image after the distortion correction processing as shown in Fig. 4 (B) is prepared in advance.
- no image has been obtained for the image data in this coordinate system (X, Y) before the distortion correction process is started.
- Point of interest (pixel of interest) in the coordinate system (X, Y) (This corresponds to the coordinates of each pixel in the image after the distortion correction processing, and is similarly represented as (X, Y).) Is set, and the coordinates (interpolated coordinate data) (X,, Y,) of the image corresponding to the point of interest (X, Y) are obtained by coordinate transformation (see FIG. 4 ( ⁇ )). ).
- the correspondence between ( ⁇ , ⁇ ) and ( ⁇ ,, Y ′) is determined by the optical properties of an optical system for forming an image of a subject: an image on the CCD 1 and defines the correspondence.
- the parameters and the like are obtained in advance from the design values of the optical system or from inspection of the optical system after manufacturing, and are stored in a non-illustrated nonvolatile memory or the like. Then, the CPU 3 reads parameters from the nonvolatile memory or the like, and sets the parameters in the control register 7a.
- the image data Dout of the point of the coordinates (X ', Y,) indicated by the white circle is obtained using a predetermined interpolation formula. As a result, it becomes an image at the point of interest (X, Y) of the image after the distortion correction processing.
- the image data after distortion correction is generated by calculating all the image data in the necessary range while moving the point of interest (X, Y).
- the distortion correction processing unit 7 for performing such processing includes an interpolation position generation unit 21 for generating the coordinates (X, Y) of the point of interest, and an interpolation position generation unit 2.
- a memory control unit 24 for controlling the internal memory unit 25, and for storing image data from the preceding processing cycle. Under the control of the memory control unit 24, image data of peripheral pixels necessary for interpolation are stored.
- An internal memory unit 25 that outputs the data to an interpolation operation unit 26 described later, an image data near the point of interest output from the internal memory unit 25, and coordinates of the point of interest output from the selector 23.
- an interpolation calculation unit 26 that obtains image data at the point of interest based on the above, for example, by Cubic interpolation as described above, and outputs the image data to a subsequent processing block.
- the Kamikoya position generating unit 21, the distortion correction coordinate converting unit 22, and the selector 23 are elements that constitute the interpolation coordinate generating unit 20.
- the BM position generation unit 21 uses the interpolation start position (XST, YST) and the interpolation step ( ⁇ , ⁇ ) set by the CPU 3 in the control register 7a, as shown in the following equation 1. First, the coordinates of the point of interest (X, Y) to be interpolated are calculated.
- k is a variable that is incremented when the point of interest is moved by ⁇ in the X direction
- 1 is a variable that is incremented when the point of interest is moved by ⁇ in the Y direction.
- the starting position (XST, YST) of Kamigoya can be set to any position in the image.
- the image can be enlarged or reduced by setting the above-mentioned CPU 3 at the foot of the Kamigoya Step ( ⁇ , ⁇ ).
- the distortion correction coordinate conversion unit 22 calculates the coordinates (X, Y) of the point of interest before the distortion correction processing from the coordinates (X, Y) of the point of interest after the distortion correction processing output from the above-described inter-BM position generation unit 21. ,, Y,) are calculated as follows.
- the corrected image may fall out of the required range as image data or become insufficient.
- the range correction magnification M to correct the error and the intermediate calculation values (X (dots), Y (dots)) as shown in the following Equation 2 (where Points are represented in the text as (dots) etc.).
- Equation 2 The coordinates (Xd, Yd) of the distortion center position are coordinates corresponding to the position on the image where the optical axis of the optical system that forms the subject light image on the CCD 1 intersects.
- the coordinates (Xd, Yd) of the distortion center position, the center deviation correction amount (Xoff, Yoff), and the range correction magnification M are set by the CPU 3 in the upper control register 7a. Has become.
- the calculated values (X (dot), Y (dot)), the coordinates (Xd, Yd) of the distortion center position, and the vertical and horizontal directions of the image are obtained by thinning out the image data.
- Equation 3 The calculated Z and the distortion correction coefficients A, B, C, D, and E, which are parameters indicating the optical properties related to the distortion of the optical system set in the control register 7a from the CPU 3 and Using the calculated values (X (dot), Y (dot)) and the coordinates (Xd, Yd) of the episode history center, the coordinates (X, Y) of the point of interest after the distortion correction processing are obtained.
- the coordinates ( ⁇ ,, Y,) of the corresponding point of interest before the distortion correction processing are calculated as shown in the following Equation 4.
- FIG. 3 is a diagram showing an example of distortion when a grid-like subject is imaged through an optical system.
- FIG. 3 (A) shows an example of a grid-like subject. Since only the second-order terms of Z are considered, the barrel shape shown in Fig. 3 (B), which can occur when the subject shown in Fig. 3 (A) is imaged through the optical system, It was possible to correct to some extent the distortion of the pincushion type as shown in Fig. 3 (C), and the distortion as shown in Fig. 3 (D). It was not possible to correct the hat-shaped distortion.
- Equation 4 the order up to the order exceeding the second-order term of Z, that is, for example, up to the fourth-order term or the sixth-order term, is considered. Higher-order aberrations can be corrected with high accuracy. Furthermore, even higher order terms may be considered.
- the coordinates (X, Y) calculated by the interpolation position generator 21 as described above or the coordinates ( ⁇ ,, Y,) calculated by the distortion correction coordinate converter 22 are input to the selector 23. Then, necessary ones are selected depending on whether or not to perform distortion correction.
- the above-mentioned three-time operation unit 26 reads out the image data DO to D15 of the pixels in the vicinity of from the internal memory unit 25 based on the coordinates output from the selector 23, and By using the mathematical formula 5, the image data Dout after the distortion correction processing for the point of interest is calculated and output to the subsequent block.
- kx0 ⁇ kx3, ky0 ⁇ ky3 a predetermined interpolation coefficients defined when performing, for example, Cu bic interpolation It is.
- FIG. 6 is a diagram showing a reading order of image data overnight in the first embodiment. Normally, the image data is read in the line direction, that is, in the row direction. When all the image data of one line is read, and then all the image data of the adjacent lines are read, It is common to repeat the operation that has been performed.
- the image processing apparatus reads out a predetermined length in the row direction, moves to the next row and reads out the same length in the same manner, and collects a predetermined number of rows. Then, by sequentially outputting the image data in the column direction, the data sequence is converted in a predetermined block unit as if the image data was read in the vertical direction.
- the predetermined length in the row direction is determined in units of a width that can be read from the frame memory 4 at high speed.
- Subsequent blocks to be read are blocks adjacent to each other in the row direction (right side in Fig. 6).
- a series of blocks read so far is read.
- the next block group is read slightly shifted downward so as to overlap the block group in the vertical direction.
- the image data necessary to generate the data of adjacent rows (horizontal direction) output by the second data / order conversion unit 8 partially overlap.
- the first data overnight order conversion unit 5 needs to take this into account in reading.
- FIG. 7 is a block diagram illustrating a configuration of the data order conversion unit.
- the first data order converter 5 has a plurality of memories, here two, capable of storing the image data in block units. It has become.
- the frame memory 4 is switchably connected to these memories 5a and 5b, and the image processing unit 6 is also connected to these memories 5a and 5b so as to be switchable.
- the switching is performed so that the other of the memories 5a and 5b is connected to the image processing unit 6. That is, the memories 5 a and 5 b are switched so as not to be simultaneously connected to both the frame memory 4 and the image processing unit 6.
- a part of the frame image stored in the frame memory 4 is read in the line direction on a per-project basis, and stored in one memory, here, for example, the memory 5a.
- the image data of the block unit already read and stored from the frame memory 4 is sequentially read in the column direction (vertical direction), and the image Output to 6.
- the second data-to-night sequence converter 8 has substantially the same configuration as that of the first data-to-night converter 5, and operates in substantially the same manner. ing. That is, the second data order conversion unit 8 is configured to include the memory 8a and the memory 8b.
- writing from the distortion correction processing unit 7 is performed on one of the memory 8a and the memory 8b in the column direction (vertical direction). From the other of the memory 8a and the memory 8b, reading is performed in the row direction (horizontal direction) and output to the JPEG processing unit 9.
- FIG. 8 is a diagram illustrating the correspondence between the corrected image and the captured image, and the amount of buffer required for processing.
- the point at which the dotted lines intersect in FIG. 8 corresponds to the image data input from the image processing unit 6 to the distortion correction processing unit 7 (that is, the image data before the distortion correction processing is performed; Image data read from the frame memory 4). Further, black dots, the target point after the distortion correction processing coordinates (X, Y) is calculated from the distortion correction processing before the point of interest coordinates (X ', Y 5) and shows, of a plurality to be processed (In the example shown in FIG. 8, a point composed of 4 horizontal dots ⁇ 5 vertical dots). For example, these points are processed so that distortion correction processing is performed in units of 5 dots arranged in the vertical direction. For example, the rightmost vertical 5 dots in a block of 4 x 5 pixels (Fig. In FIG.
- the amount of buffer necessary to process is the range indicated by the arrow in FIG. 8, that is, the input image data consisting of 9 ⁇ 7 dots. (However, when performing Cubic interpolation, it is necessary to perform image data of 16 points around the point of interest: ⁇ , and if the interpolation method is changed, The buffer amount will change.)
- the size (storage capacity) of the buffer (internal memory section 25) must of course be secured so that the four corners of the image with the largest distortion can be interpolated. is there.
- FIG. 9 is a diagram illustrating an example in which the width of the image data read out according to the distance from the distortion center is changed in the vertical direction.
- the distortion due to distortion increases as the distance from the distortion center increases, and decreases as the distance from the distortion center increases. Therefore, the number of pixels read out in the vertical direction should be large at locations far from the center of distortion, and the number of pixels read out vertically should be small at locations near the center of distortion. In this case, the processing speed can be further increased.
- FIG. 10 is a diagram showing an example in which the size of the image data to be read and the reading start position are changed according to the distance from the distortion center.
- the number of pixels to be read in the vertical direction is changed according to the position in the horizontal direction, and the start position for reading the image data is also changed in units of blocks. .
- the start position for reading out the image data in units of the work at the left and right ends is slightly shifted in the vertical direction according to the shape of the curve based on the aberration. In the center, the starting position for reading out the image data in units of a work is set slightly vertically in the center.
- barrel-shaped distortion is generated as an example, but pincushion-type and jinkasa-type distortions are generated: Even if ⁇ is used, it is adjusted according to the generated distortion shape. Needless to say, the number of pixels to be read can be changed.
- the number of pixels to be read out may be different not only in the vertical direction but also in the horizontal direction.
- the image data processed by the image processing unit 6 is corrected for distortion.
- the present invention is not limited to this.
- FIG. 11 is a block diagram showing a first modification of the configuration of the image processing apparatus.
- Fig. 11 shows a configuration in which the image data (for example, Bayer data) output from the CCD 1 is temporarily stored in the frame memory 4 and then subjected to distortion correction before being made into three plates.
- An example is shown in which the positions of the image processing unit 6 and the distortion correction processing unit 7 are exchanged as compared with the configuration shown in FIG.
- FIG. 1 described above for example, an image image formed into three plates by the image processing unit 6 is processed for each color.
- the distortion correction processing may be performed on the bayer data output from the CCD 1 having the power filter.
- ⁇ instead of performing interpolation using a plurality of adjacent pixels (for example, 16 pixels), interpolation is performed using adjacent pixels of the same color in the Payer array. According to this configuration, it is possible to reduce the amount of data for which distortion correction is performed, compared to the image data after three-plane drawing.
- FIG. 12 is a block diagram showing a second modification of the configuration of the image processing device.
- Reference numeral 2 denotes a configuration example in which the image data recorded in the memory memory 10 or the like is subjected to distortion correction processing.
- a JPEG processing unit 9 is arranged in a stage preceding the first data order conversion unit 5, and the image data compressed by a compression method such as JPEG read from a memory card or the like 10 is used. Is to be stretched.
- the decompressed image data is processed as described above by the distortion correction processing unit 7 via the first data sequence conversion unit 5 and the image processing unit 6, and the second data sequence conversion unit 8 Is converted to the original data order.
- image processing including distortion correction can be performed without performing expansion processing.
- FIG. 13 is a block diagram illustrating a third modification of the configuration of the image processing apparatus.
- FIG. 13 shows a configuration example in which the image data after the distortion correction processing is output without being compressed, for example, for displaying an image. (2nd day)
- the image data converted to the original data order by the warm order converter 8 is written to the video memory 12 via the bus 11 without being compressed by a compression method such as JPEG. It is displayed as an image.
- FIG. 14 is a block diagram showing a fourth modification of the configuration of the image processing apparatus.
- FIG. 14 shows a configuration example in which the distance information (the distance Z from the distortion center to the interpolation position described above) used for the distortion correction processing is also used for other image processing.
- a shading correction unit 14 which is an image processing unit for correcting a peripheral light quantity shortage caused by the optical system, is provided downstream of the image processing unit 6, and image processing for cutting unnecessary high-frequency components is performed.
- a low-pass filter (LPF) processing unit 15 which is a part of the image processing unit, and an edge enhancement processing unit 16, which is an image processing unit for enhancing the image portion in the image, are arranged on the pipeline processing path in this order. It is arranged.
- the distance information is output from the distortion correction processing unit 7 to the shading correction unit 14, the mouth-to-pass filter (LPF) processing unit 15, and the page enhancement processing unit 16, and these processings are performed as necessary.
- LPF low-pass filter
- the shading correction unit 14 allows the shading correction unit 14 to appropriately correct the lack of peripheral light amount that occurs according to the distance from the distortion center.
- the distortion difference that occurs depending on the distance from the distortion center is, for example, a barrel shape: ⁇ indicates that when distortion is corrected, the periphery of the image is stretched and the sharpness of the image decreases.
- this can be appropriately corrected by the mouth-to-pass filter processing section 15 and the page enhancement processing section 16. Since the shading correction unit 14, the mouth-to-pass fill processing unit 15 and the edge enhancement processing unit 16 do not need to calculate g separation information individually, the circuit can be reduced in size. It becomes.
- the distortion information is output from the distortion correction processing unit 7 to the shading correction unit 14 and the mouth-to-pass fill processing unit 15 located on the previous stage on the pipeline processing path.
- a processing block for calculating the distance Z may be configured differently, and may be arranged at a stage preceding each of the processes using the distance information.
- an image processing apparatus is applied to a digital camera.
- the present invention is not limited to this, and a dedicated image processing apparatus may be used. It is also possible to use an image processing device of the type.
- the object of image processing is a digital camera or a video camera, which is an image data obtained by subjecting a subject image formed by an optical system to photoelectric conversion by an image pickup device such as a CCD. Or an uncompressed image obtained by processing the image data, or a compressed image obtained by compressing the image after processing the image data. Even if the image or the image is obtained by capturing a film or a print taken by a camera with an image pickup means such as a scanner, the distortion correction processing as described above can be performed.
- the target of image processing is not limited to image data in which pixel data is perfectly aligned in the row direction and the column direction.
- the image can be processed substantially in the row and column directions.
- the transfer of the image data to the image processing unit and the distortion correction processing unit is performed so as to be pipelined via an information transmission path different from the bus.
- the data transfer is performed in units of blocks and the read direction is devised, it is possible to perform image processing including distortion correction that does not increase the amount of data transferred or the memory capacity of the node. Become.
- the coordinates of the point of interest before the distortion correction processing corresponding to the coordinates of the point of interest after the distortion correction processing are taken into account up to the fourth, sixth, and higher order terms of the distance from the distortion center to the interpolation position. Since the calculation is performed, higher-order aberrations such as a Jinkasa type distortion can be corrected with high accuracy.
- the coordinates generated by the interpolation position generation unit and the coordinates converted by the distortion correction coordinate conversion unit can be selected by the selector, whether or not to perform distortion correction is determined. It is possible to make a desired selection as needed. As a result, the image data is temporarily stored in a memory card or the like without performing the distortion correction processing at the time of imaging, and the image data is read from the memory card and the distortion correction processing is performed at a later point in time. Becomes possible. If such a selection is made, the distortion correction processing can be omitted at the time of imaging, so that higher-speed processing can be performed.
- the distance information calculated by the distortion correction processing unit is output to the shading correction unit, mouth-to-pass filter, and edge enhancement processing unit, it is possible to appropriately correct the lack of peripheral light and to appropriately reduce the blurring of the image. Correction can be made without increasing the number of circuits. Further, by appropriately changing at least one of the size in the row direction and the size in the column direction of the image data read out from the memory in the unit of a program in accordance with the magnitude of the distortion which varies depending on the distance from the distortion center. Since the minimum data required for processing can be read, the processing can be sped up.
- FIGS. 15 to 20 show a second embodiment of the present invention
- FIG. 15 is a block diagram showing a configuration of an image processing apparatus.
- the image processing apparatus removes the first data-to-night sequence converter 5 and the second data-to-night data converter 8 from the image processing apparatus according to the first embodiment shown in FIG. It has become.
- the distortion correction processing unit 7 which is an image processing unit and a distortion correction processing unit in the second embodiment, performs not only the distortion correction processing on the image data processed by the image processing unit 6 but also the distortion correction processing. Furthermore, scaling processing is performed.
- the image processing unit 6, the distortion correction processing unit 7, and the JPEG processing unit 9 are connected so that pipeline processing can be performed on an information transmission path different from that of the bus 11, as described above. At this time, the capacity can be reduced by performing the processing in block units.
- the internal buffer of the image processing unit is the internal memory unit 25 shown in FIG. 2 or the 2-port SRAM 25 a shown in FIG. It is.
- the configuration of the distortion correction processing unit 7 is the same as that described with reference to FIG. In the configuration example shown in FIG. 15 above, the processing block at the first stage of the distortion correction processing unit 7 corresponds to the image processing unit 6, and the subsequent processing block at the JPEG processing unit 9. Yes, it is.
- the above-mentioned interpolated position generating unit 21 basically uses the interpolation start position (XST, YST) and the interpolation step ( ⁇ , ⁇ ) set in the control register 7a from the CPU 3 and As shown in Equation 1, the coordinates (X, Y) of the point of interest to be interpolated are calculated.
- the supplementary target conversion unit 22 basically uses the coordinates (X, Y) of the point of interest after the distortion correction processing output from the above
- the coordinates (X,, Y,) of the point of interest are calculated as follows.
- the distortion correction coordinate conversion unit 22 firstly calculates an intermediate calculation value (X (dot), ⁇ (dot)) (here, a point Is expressed as (dot) etc. in the text.
- the distortion correction coordinate conversion unit 22 calculates ⁇ ⁇ (more precisely, the square of ⁇ ) indicating the distance from the distortion center, as shown in Expression 3 above.
- the distortion correction coordinate conversion unit 22 calculates the ⁇ calculated in this way and the distortion correction coefficient A, which is a parameter indicating the optical property related to the distortion of the optical system set in the control register 7 a from the CPU 3.
- B, C the calculated values (X (dot), Y (dot)), and the coordinates (Xd, Yd) of the distortion center position, are used to calculate the coordinates of the point of interest after the distortion correction processing.
- the coordinates (X ', Y,) of the point of interest before distortion correction corresponding to (X, Y) are calculated as shown in Equation 6 below.
- Equation 6 since the order exceeding the second-order term of ⁇ , that is, for example, the fourth-order term or the sixth-order term is considered, the above 3 (D Higher-order aberrations such as the Jinkasa type distortion as shown in (1) can be corrected with high accuracy. Although an example in which the sixth order is considered is shown here, even higher order aberrations such as the eighth order and the tenth order may be corrected as shown in Expression 4 above.
- the coordinates (X, Y) calculated by the interpolation position generation unit 21 or the coordinates (X,, Y,) calculated by the distortion correction coordinate conversion unit 22 are input to the selector 23, and the distortion is calculated. Necessary items are selected depending on whether or not to make corrections.
- Equation 2 substitute Equation 2 and Equation 1 into Equation 3 above, and transform as shown in Equation 7 below
- Equation 9 Z (2 dots) in Equation 9 is defined as shown in the following Equation 10
- X2 and Y2 are defined as shown in the following Equation 11.
- Equation 72 3 ⁇ 4 ⁇ + ⁇ 7 Using Z (2 dots) defined as shown in Equations 10 and 11, Equation 3 above is transformed into Equation 12 below.
- the coefficients are the distortion center position (Xd, Yd), the center shift correction amount (Xoff, Yoff), the range correction magnification M, the coefficient (Sx, Sy), the distortion correction coefficients A, B, C, and the interpolation start position (XST , YST) and the interpolation step ( ⁇ , ⁇ ).
- the number of times of multiplication is as follows: multiplication with ⁇ in Equation 2 twice, multiplication with S x and Sy in Equation 3 and four multiplications with two squares, and distortion correction coefficients A and B in Equation 6. , C 3 times, Z 4th and 6th power 2 times multiplication, brackets and parentheses 2 times multiplication, for a total of 13 times.
- the coefficient is 13 and the number of multiplications is 9. That is, the coefficients are X (2 dots) ST, Y (2 dots) ST, mm X (2 dots), ⁇ (2 dots), X (3 dots), Y (3 dots), mm X (3 There are a total of 13 dots: D), Y (3), A (D), B (D), C (D), Xd, and Yd.
- the number of multiplications is twice as two squares in the curly braces of Expression 9, and three times as multiplication with A (dot), B (dot), and C (dot) in Expression 16, and Calculates the 4th and 6th powers of Z (dots) in, and multiplies twice, and multiplication with F in Equation 12 twice, for a total of 9 times.
- the operation is performed according to the practical formulas shown above. As a result, the number of multipliers can be reduced, the number of registers for setting coefficients can be reduced, and the circuit can be effectively reduced.
- the distortion correction coefficient calculation circuit 22a (see FIGS. 16 and 17 described later), which is a distortion correction coefficient calculation means of the distortion correction coordinate conversion unit 22, sets the control register ⁇ a from the CPU 3 Using the obtained A (dot), ⁇ (dot), and C (dot), the distortion correction coefficient F is calculated as shown in Expression 16 above. As will be described later, the distortion correction coefficient F can be calculated by a configuration as shown in FIG. 18 instead of the configuration as shown in FIG.
- the interpolation position correction circuit 22b (see FIG. 16 described later) of the distortion correction coordinate conversion unit 22 calculates the calculated distortion correction coefficient F and the distortion center position set by the CPU 3 in the control register 7a. Using the coordinates (Xd, Yd) and the coordinates (interpolated position) (XI, Y1) of the point of interest using the coordinates of the point of interest (interpolated coordinate data) (X ,, Y ') are calculated.
- the above-described language arithmetic unit 26 reads out the image data DO to D15 of the pixels in the vicinity of the coordinates from the internal memory unit 25 and uses Equation 5 above.
- the image data Dout after the distortion correction processing relating to the point of interest is calculated, and output to the subsequent processing program.
- FIG. 16 is a block diagram showing a more detailed configuration of the distortion correction processing section 7. As shown in FIG.
- the inter-Bffi position generating unit 21 is configured to include an interpolation position calculating circuit 21a for calculating the coordinates (XI, Y1) of the point of interest as described above.
- the distortion correction coordinate conversion unit 22 includes a distortion correction coefficient calculation circuit 22a for calculating the distortion correction coefficient F as shown in Expression 16 above, and a distortion calculated by the distortion correction coefficient calculation circuit 22a. And an interpolation position correction circuit 22 b for calculating the coordinates (X,, Y 5 ) of the point of interest before the distortion correction processing using the correction coefficient F as shown in Expression 12 above. I have.
- the selector 23 selects the coordinates (XI, Y1) from the lazy position calculation circuit 2 la (regardless of whether or not to perform the scaling processing) and corrects the distortion.
- the processing is performed (regardless of whether or not the processing is accompanied by the enlargement / reduction processing)
- the coordinates (X,, Y ') from the position correction circuit 22b between Bffi are selected.
- the coordinates (XI, Y1) or the coordinates (X ', Y,) selected by the selector 23 include the coordinates (Xd, Yd) of the distortion center position set by the CPU 3 via the control register 7a. ) Are added by the adders 27a and 27b, respectively.
- the outputs of the calo calculators 27a and 27b are output to a read address generation circuit 24a and a buffer release amount calculation circuit 24c.
- This read address generation circuit 24a is further provided with the interpolation position calculation circuit 2 la
- the calculated coordinates (XI, Y1) are also input separately from the path via the selector 23.
- the read address generation circuit 24a performs the pixel data related to the coordinates (XI, Y1) (interpolates 16 points: ⁇ includes 16 pixels centered on the coordinates (XI, Y1).
- the pixel address that outputs the address ADR in which the pixel data is stored to the 2-port SRAM 25a and outputs the interpolation coefficients (for example, the interpolation coefficients kx0 to kx3 and kyO to ky3 as shown in Equation 5 above).
- a data control signal indicating which position of the pixel data from DO to D15 corresponds to the pixel data is output to the interpolation circuit 26a. Further, the read address generation circuit 24a outputs a write enable signal WE-N to a subsequent processing block.
- the two-port SRAM 25a is a circuit part corresponding to the internal memory unit 25 shown in FIG.
- the interpolation circuit 26a corresponds to the interpolation operation unit 26 shown in FIG. 2 and uses the image data read out from the two-port SRAM 25a as shown in Expression 5 above. Interpolation processing is performed, and the processed image data is output to a subsequent processing program.
- the buffer release amount calculation circuit 24c calculates the storage capacity that can be released in the 2-port SRAM 25a based on the output from the position calculation circuit 2la between Bffi and the output from the selector 23 described above. Buffer release amount).
- the buffer free space monitoring circuit 24d refers to the output of the buffer open amount calculating circuit 24c to grasp the state of the free space of the two-port SRAM 25a.
- the write address generation circuit 24b receives image data from the preceding processing block and records the image data in the 2-port SRAM 25a.
- the GRAN T-N transmission determination circuit 24 e receives the request signal REQ-N for requesting image data from the subsequent processing program, and receives the write address generation circuit 24 b and the buffer release amount calculation circuit 24 c. It is determined whether or not image data can be transmitted based on the output of, and it is possible:
- the permission signal GRAN T_N is output to the processing process at the subsequent stage at ⁇ , and the permission signal GRAN T_N is sent to the Is also output.
- the GRANT-N transmission determination circuit 24 e further calculates the distortion correction coefficient by adjusting the timing when the interpolation position calculation circuit 2 la receiving the permission signal GRANT-N calculates and outputs the coordinates (XI, Y1).
- the trigger trig is output to the distortion correction coefficient calculation circuit 22a so that the calculation circuit 22a can output the distortion correction coefficient F.
- a clock CLK2 is supplied to each of the circuits except for this, but a clock CLK1 that is different from the clock CLK2 is supplied to the distortion correction coordinate conversion unit 22.
- the clock supplied to the distortion correction coordinate conversion unit 22 is used. Stopping CLK 1 can reduce unnecessary power consumption. In addition, by controlling the number of clocks CLK1 to be supplied to be reduced or returned, it is possible to control and adjust the number of times the interpolation coordinate data is generated per unit time.
- the free-space monitor circuit 24d monitors the free space of the 2-port SRAM 25a via the free-amount calculating circuit 24c.
- a request signal REQ is issued to transmit an image data of a predetermined process unit (hereinafter, appropriately referred to as a unit line (UL) data) (step S1).
- UL unit line
- the processing block in the preceding stage receives the request signal REQ, and transmits a permission signal GRANT when the image data can be transmitted.
- the buffer free space monitoring circuit 24d receives the permission signal GRANT. (Step S2).
- the free space monitoring circuit 24d monitors the free space of the 2-port SRAM 25a with a counter that holds the data internally, and receives the permission signal GRANT at the same time as receiving the permission signal GRANT. Decrease the value by one. When the internal count becomes 0, the buffer free space monitoring circuit 24d operates to withdraw the request signal REQ (step S3).
- the write enable signal WE is input to the write address generation circuit 24b from the preceding processing block; subsequently, image data is input.
- the write address generation circuit 24b outputs a control signal to the 2-port SRAM 25a and transfers the image data DATA to the area specified by the address ADD RESSS of the 2-port SRAM 25a.
- the write address generation circuit 24b raises the BLC count (a count indicating how much data has been stored in the 2-port SRAM 25a, which is an internal buffer). The output is sent to the GRANT-N transmission determination circuit 24e (step S4).
- the GRANT-N transmission determination circuit 24 e checks if the UL data that can be transmitted next is within the 2-port SRAM 25 a It is determined whether or not there is. For ⁇ , the permission signal GRANT-N is transmitted to the subsequent processing block and the above-mentioned fflf position calculation circuit 2 la (step S5).
- Interpolation position calculation circuit 2 la receives this permission signal GRANT-N, starts operation, and after calculating 1 UL of coordinates (XI, Y1), which is the interpolation position, calculates the next UL start coordinate. To end (Step S6).
- the GRANT-N transmission determination circuit 24 e calculates the distortion correction coefficient F by the distortion correction coefficient calculation circuit 22 a in synchronization with the start of the operation of the interpolation position calculation circuit 21 a and the output of the coordinates (XI, Y1).
- the trigger trig is output to the distortion correction coefficient calculation circuit 22a at the time when the output can be output (step S7).
- the distortion correction coefficient calculation circuit 22a Upon receiving the trigger trig, the distortion correction coefficient calculation circuit 22a calculates the distortion correction coefficient F for the pixels within the UL data based on the above equation 16, and outputs it to the interpolation position correction circuit 22b. The distortion correction coefficient calculating circuit 22a also performs the operation for one UL similarly to the above-mentioned inter-symbol position calculating circuit 21a, calculates the next UL leading coordinate, and ends (step S8).
- the interpolation position correction circuit 22b uses the distortion correction coefficient F received from the distortion correction coefficient calculation circuit 22a and the coordinates (XI, Y1) received from the above-mentioned interpolated position calculation circuit 2la to calculate The coordinates (X 5 , Y ′) are calculated based on Expression 12.
- the interpolation position correction circuit 22b also performs the operation for one UL in accordance with the distortion correction coefficient calculation circuit 22a, calculates the next UL start coordinate, and ends (step S9).
- the selector 23 performs the distortion correction processing in accordance with the operation mode set by the CPU 3 via the control register 7a: ⁇ is the coordinate (X ,, Y 5 ), and if the distortion correction processing is not performed, the coordinates (XI, Y1) from the above-described inter-bit position calculation circuit 2 la are selected (step S 10).
- Adders 27a, 27b may also coordinate selected by the selector 23 (X 1, Y1) is the coordinates (X 5, Y,), and adds the coordinates (Xd, Yd) of the strain center position respectively (Sutedzu flop S 11).
- the read address generation circuit 24a based on the coordinates received from the calorie calculators 27a and 27b, outputs the address ADR of the pixel data read from the 2-port SRAM 25a to be used for interpolation to the 2-port SRAM 25a. and outputs the interpolation coefficient and the data sequence control signal to the interpolation circuit 26a (step S12).
- the interpolator 26a receives the interpolation coefficient and data received from the read address generator 24a. — Using the evening control signal and the pixel data received from the 2-port SRAM 25a, calculate the interpolated pixel data as shown in Equation 5 above and output it to the subsequent processing block (Step S13).
- the buffer release amount calculation circuit 24c based on the outputs of the B-to-B position calculation circuit 21a and the adders 27a and 27b, confirms that the UL data has been output to the end, Calculate the difference between the finished UL start coordinate and the next UL start coordinate, and release the buffer to release the buffer (area in 2-port SRAM 25a) where unnecessary data is stored.
- the amount is output to the buffer free capacity monitoring circuit 24d, and the above GRANT-N transmission is used to determine how much data needs to be received from the preceding processing procedure in order to perform the next UL processing. It is transmitted to the judgment circuit 24e (step S14).
- the buffer free space monitoring circuit 24d returns to step S1 when it is confirmed in step S14 that the storage area is free in the 2-port SRAM 25a, which is the internal buffer, and returns to step S1. Such processing is repeated (step S15).
- the GRAN T-N transmission determination circuit 24e calculates the next UL data based on the value of the BLC count from the write address generation circuit 24b and the output from the noise release amount calculation circuit 24c. Is determined to be able to be transmitted to the subsequent processing block, and if it is determined that the transmission can be performed, the processing of the above step S5 is performed (step S16) o
- FIG. 17 is a block diagram showing an example of the configuration of the distortion correction coefficient calculation circuit 22a.
- the distortion correction coefficient calculation circuit 22a is for calculating the distortion correction coefficient F according to the above equation (16).
- Z indicates Z (2 dots) shown on the left side of Equation 10
- coefficients A, B, and C indicate A (Dot), B (dot), and C (dot).
- the distortion correction coefficient calculation circuit 22a receives a trigger tr from the GRANT-N transmission determination circuit 24e.
- the distortion correction coordinate calculation circuit 31 that calculates the interpolation coordinates X2 and Y2 based on the above equation 11 and the interpolation coordinate X2 calculated by the distortion correction coordinate calculation circuit 31 are converted to floating decimals.
- a floating-point conversion circuit 32a that converts the interpolation coordinates Y2 calculated by the distortion correction coordinate calculation circuit 31 into a floating-point number, and a floating-point conversion circuit 3
- Z more accurate As described above, the square of Z (two dots), the same applies hereinafter) is calculated, and the output of the square is squared to calculate the fourth power of Z.
- the delay circuit 35a for delaying the output from c and the control register 7a from the CPU 3 are set to the square of Z that is delayed from the circuit 35a and output at the same timing.
- the multiplier 36 a that multiplies the coefficient A (more precisely, A (dot) as described above, the same applies hereinafter) and the Z that is delayed from the delay circuit 35 a and output at the same timing
- a multiplier 36 b for multiplying the fourth power by a coefficient B (more precisely, B (dot) as described above; the same applies hereinafter) set in the control register 7 a from the CPU 3,
- a multiplier 3 6 that multiplies the sixth power of Z output from 6 d by a coefficient C (more precisely, C (dot) as described above; the same applies hereinafter) set in the control register 7 a from the CPU 3 c, a fixed-point conversion circuit 3 7a for converting the output from the multiplier 36 a into a fixed-point number by giving the sign sig nA of the coefficient A set in the control register a from the CPU 3 to the output from the CPU 3
- the output from the multiplier 36 b is given the sign sig nB of the coefficient B set in the
- the fixed decimal conversion circuit 37b for converting to a fixed decimal and the sign sign C of the coefficient C set in the control register 7a from the CPU 3 are given to the output from the multiplier 36c to a fixed decimal.
- a calorie calculator 38 that calculates a distortion correction coefficient F based on the above equation 16 by calorie-calculating a constant 1.0 set in the control register 7a from 3. .
- the double-lined part is the part that performs arithmetic processing using floating-point numbers, and X2, Y2, Z, etc. with a wide dynamic range are handled as floating-point numbers. As a result, the circuit scale is reduced while maintaining accuracy.
- FIG. 18 is a block diagram showing another example of the configuration of the distortion correction coefficient calculating circuit 22a.
- the distortion correction coefficient calculation circuit 22a shown in FIG. 18 is the same as the distortion correction coordinate calculation circuit 31.
- the floating-point conversion circuit 3 2 a, the floating-point conversion circuit 3 2 b, the square calculator 33 3 a, the squarer ⁇ 13 3 b, and The fixed decimal number is obtained by performing the reference using the square of the floating-point Z output from the calorie calculator 34 (more precisely, Z (2 dots) as described above; the same applies hereinafter).
- a LUT (look-up table) 39 for outputting the obtained distortion correction coefficient F.
- the portion indicated by the double line is the portion where arithmetic processing is performed using floating point numbers.
- the configuration example shown in FIG. 18 reduces the processing time for calculating the distortion correction coefficient F by using the loop table, thereby reducing the power consumption of the circuit. .
- the coefficients A, B, and C are not set from CPU3 but are fixed values.
- the husband of the look-up table may be large, prepare a look-up table corresponding to a plurality of combinations of the coefficients A, B, and C, and select an appropriate one. You may use it.
- FIG. 19 is a timing chart showing a state when an interpolation position is generated for each clock
- FIG. 20 is a timing chart showing a state when an interpolation position is generated once every three clocks. It is.
- FIG. 19 shows the state of operation when an interpolation position is generated for each clock.
- a request signal REQ—N is input to a GRANT—N transmission determination circuit 24 e from a processing block at a later stage.
- the GRAN T-N transmission determination circuit 24 e transmits the permission signal GRANT-N to the subsequent processing program when the image data can be output.
- This permission signal GRAN T-N is also input to the interpolation position calculation circuit 21a, where the interpolation positions X 1 and Y 1 are generated and output. In the example shown in FIG. 19, the interpolation positions XI and Y1 are output for each clock.
- the interpolated image data is output from the above-mentioned inter-Bffi circuit 26a to the subsequent processing program, and at this time, the write permission from the read address generation circuit 24a is enabled.
- Signal WE-N is output.
- FIG. 20 shows an operation state when the interpolation position is generated once every three clocks.
- Fig. 19 also shows the time required for processing from the generation of the interpolation positions X 1 and Y 1 to the output of the interpolated image data from the B-to-B circuit 26a.
- the interpolation positions XI and Y1 are generated once every three clocks, the output of the image data after interpolation is also once every three clocks.
- the output of WE-N is once every three clocks.
- the interpolation position is generated every clock or once every three clocks.
- the present invention is not limited to this, and the interpolation position may be generated once in a plurality of appropriate times. It is also possible to generate m times (n ⁇ m) every time (for example, twice every 3 clocks), and it is possible to generate the interpolation position at an arbitrary frequency. Further, the ratio of the number of generated interpolation positions to the number of peaks may be dynamically changed.
- the same effects as those of the first embodiment can be obtained, and the distortion correction process and the enlargement / reduction process can be performed simultaneously by one circuit. However, it is possible to reduce the processing time and the circuit size. Thus, a high-speed image processing apparatus can be configured at low cost.
- the consumption is reduced.
- the power can be reduced.
- the calculation of coordinates by these interpolation position calculation circuits is not performed for each clock as needed (performed at every other clock that is not a clock), so that power consumption can be dispersed in the time direction. It becomes possible. By appropriately changing the number of times coordinates are calculated per unit time, power consumption can be more efficiently dispersed. Thus, the temperature of the processing circuit can be prevented from rising, and the instantaneous power consumption (peak power consumption) of the entire processing apparatus can be reduced.
- the interpolation position generation unit and the distortion correction coordinate conversion are used.
- the number of powers provided inside the unit can be reduced, and the number of circuits can be reduced.
- the position corresponding to the pixel of interest (X, ⁇ ) in the image after distortion correction (that is, (X, ⁇ )
- the distance Z (or Z (2 dots)) between the position Xoff, Yoff, M, SX, SY, etc.) and the distortion center position (Xd, Yd) is a number with a wide dynamic range.
- the squares, fourths, sixths, etc. have a wider dynamic range, but they are treated as floating-point numbers and calculations are performed to calculate the distortion correction coefficient, thus reducing the circuit size while maintaining accuracy. It is possible to do.
- the circuit time is reduced while the processing time is reduced. Transport can be reduced.
- FIG. 21 to FIG. 31 show a third embodiment of the present invention.
- a description of the same parts as those in the first and second embodiments will be omitted, and only different points will be mainly described.
- the configuration of the main part of the image processing apparatus according to the third difficult mode is the same as that shown in FIG. 15 of the second difficult mode described above.
- the internal buffer which can reduce the capacity by transferring the image data in a predetermined block unit is provided in the internal memory section 25 or FIG. 29 shown in FIG.
- the 2-port SRAM 25a is shown.
- FIG. 21 is a block diagram showing an outline of the configuration of the distortion correction processing section 7. As shown in FIG.
- a color image is usually decomposed into three (or more) independent signal components, such as RGB and YCbCr, and each component is processed.
- the paths (channels) through which each of the three independent signal components is processed will be described as Ch.0, Ch.1, and Ch.2.
- Ch.0 The signal processed is R
- the signal processed in Ch.1 is G
- the signal processed in Ch.2 is B
- so on the paths (channels) through which each of the three independent signal components is processed.
- the distortion correction processing section 7 is configured such that the distortion correction processing section for each channel transmits a request to the processing block of the corresponding channel in the preceding stage, and determines the image data transmitted from the processing block in the preceding stage in response to the request. After receiving the data in block units, performing distortion correction, the data is output to the processing block of the corresponding channel in the subsequent stage.
- the distortion correction processing unit for processing Ch.0 data is 7 A
- the distortion correction processing unit for processing Ch.1 data is 7 B and Ch.2 data.
- the distortion correction processing unit for processing one night is denoted by 7 C, which is included in the distortion correction processing unit 7. Note that these distortion correction processing units 7 A, 7 B, and 7 C can transmit when they receive a request to transmit image data from the subsequent block. At this stage, the image data is transmitted to the subsequent stage in units of a predetermined process.
- the processing block in the preceding stage corresponds to the image processing unit 6, and the processing block in the subsequent stage corresponds to the JPEG processing unit 9.
- the subsequent processing block is also configured to perform processing for each channel.
- the distortion correction processing unit 7 is provided with a control register 7a, and the set values and various data from the CPU 3 to the distortion correction processing unit 7 are stored in the distortion correction processing units 7A and 7A. 7B and 7C are set, and the status of the processing result can be read from the CPU 3 at the same time.
- the outline of the processing of the portion related to one channel of the distortion correction processing section 7 is substantially the same as that described with reference to FIGS.
- the distortion correction processing unit 7 for one channel for performing such processing is the same as that shown in FIG.
- the basic formula for calculating the coordinates in the position generation unit 21 between Bffi and the distortion correction coordinate conversion unit 22 and the circuit 3 ⁇ 4f can be reduced by modifying the basic formula.
- the practical formulas are the same as those described with reference to Formulas 1 to 3 and Formulas 5 to 16 in the second difficult mode described above.
- the calculation of the distortion correction coefficient F as shown in the above equation 16 is based on the calculation of the distortion correction coefficient as the distortion correction coefficient calculation means of the above-mentioned distortion correction coordinate conversion unit 22 as shown in FIG.
- the circuit 22a is used, a configuration as shown in FIG. 28, which will be described later, may be used instead of the configuration shown in FIG.
- the interpolation unit 22 of the conversion unit 22 is a position correction circuit 22b.
- FIG. 22 is a diagram illustrating an example of chromatic aberration generated when an image is captured by the optical system.
- pincushion-type distortion occurs, and red R shifts inside green G when viewed from the distortion center, and blue B shifts outside green G when viewed from the distortion center.
- red R shifts inside green G when viewed from the distortion center
- blue B shifts outside green G when viewed from the distortion center.
- Such chromatic aberration occurs.
- the deviation due to the chromatic aberration increases as the distance from the distortion center increases.
- FIG. 25 is a block diagram showing a more detailed configuration of the distortion correction processing section 7.
- the distortion correction processing unit 7A includes the Ch.0 distortion correction circuit 7A1
- the distortion correction processing unit 7B includes the Ch • 1 distortion correction circuit 7B1
- the distortion correction processing unit 7C includes The C.2 distortion correction circuits 7 C 1 are each configured as distortion correction calculation means.
- the distortion correction coefficient calculation circuit 22 a for calculating the distortion correction coefficient F constitutes a part of the distortion correction coordinate conversion section 22, and includes a distortion correction processing section 7 A, 7 B, In order to be able to be common in 7 C, it is provided as a single circuit common to the three channels, and the distortion correction coefficient F 0 for Ch. 0 and the distortion correction coefficient F Calculate the distortion correction coefficient F 2 for Ch. 2 and the distortion correction circuit 7 A 1 for Ch. 0, the distortion correction circuit 7 B 1 for Ch. 1, and the distortion correction coefficient for Ch. 2
- the circuit 7 C1 is adapted to output each of them.
- FIG. 23 is a diagram showing the state of the image data stored in the internal memory when the interpolation data for B can be calculated.
- FIG. 24 is a diagram showing the interpolation data for R, G, and B.
- FIG. 9 is a diagram illustrating a state of image data stored in an internal memory unit at the time when evening can be calculated.
- the image data from the preceding processing program is stored in the internal memory section 25 of each channel (two ports shown in FIG. 29 described later). It starts to be sequentially stored in the SRAM 25 a). At this time, the part that has already been memorized as a night is the part shown with diagonal lines. At the time shown in Fig. 23, the interpolation data for blue B has been accumulated to the point where the calculation of the interpolation data for blue B is possible, but the interpolation data for green G and red R must be calculated. We have not yet reached the amount that we can do.
- the image data has been accumulated to the point where the interpolation data for red R, ⁇ , and blue B can be calculated.
- the synchronization is performed so as to permit the transfer of the image data to the subsequent processing block by a grant synchronization means.
- This is the runt synchronization circuit 27.
- the distortion correction circuit for Ch. Outputs a request signal tr ok-0 for requesting the start of distortion correction processing, and requests the start of distortion correction processing when the distortion correction circuit 7B1 for Ch. 1 can perform distortion correction processing (not shown).
- the request signal trok-1 is output, and when the state shown in FIG. 24 is reached, the Ch.2 distortion correction circuit 7 C1 outputs the request signal trok-2 requesting the start of the distortion correction processing. It has become.
- the grant synchronization circuit 27 In the processing block, the permission signal GRANT—NO is applied to the part that performs the processing related to Ch. 0, the permission signal GRAN T—N1 is applied to the part that performs the processing related to Ch. 1, and the processing related to Ch.
- the enable signal GRANT—N2 is output to the part to be performed, and the distortion correction circuit 7A1 for Ch.0, the distortion correction circuit 7B1 for Ch.1, and the distortion correction circuit 7C1 for Ch. As described later, ffl is controlled so that the distortion correction processing is started simultaneously.
- the grant synchronization circuit 27 has a switch inside, and can switch whether or not to synchronize the outputs of the three channels.
- FIG. 26 is a block diagram showing a configuration of the distortion correction coefficient calculation circuit 22a.
- the distortion correction coefficient calculation circuit 22a is a distortion correction coefficient calculation means for calculating the distortion correction coefficient F by the above equation 16, and A (dot) reflecting the optical property of the optical system in the equation 16 , B (dot) and C (dot) are set in the control register 7a from the CPU 3 for each channel, that is, for example, for each color component of RGB.
- Z means Z (2 dots) shown on the left side of Expression 10.
- the coefficients A, ⁇ , and C indicate ⁇ (dot), B (dot), and C (de, ⁇ ⁇ ) shown on the left side of Equation 13.
- the distortion correction coefficient calculation circuit 22a includes a distortion correction coordinate calculation circuit 31 that calculates the interpolation coordinates X2 and Y2 based on the equation 11 when the permission signal e-grant is input from the grant synchronization circuit 27, A floating-point conversion circuit 32a for converting the interpolation coordinate X2 calculated by the distortion correction coordinate calculation circuit 31 into a floating-point number, and a floating-point conversion circuit 32a calculated by the distortion correction coordinate calculation circuit 31 A floating-point conversion circuit 32 b for converting the interpolation coordinates Y 2 into a floating-point number; a square calculator 33 a for squaring the interpolation coordinates X 2 floating-pointed by the floating-point conversion circuit 32 a; Square calculator 33 b that squares the interpolation coordinate Y 2 floating-pointed by the conversion circuit 32 b, and the square of the interpolation coordinate X 2 calculated by the square calculator 33 a and the square calculator above 33 A calo calculator that calculates the square of Z (more precisely, Z (2 dots)
- a square calculator 33c that calculates the fourth power of Z by squaring the output from the calorie calculator 34, a circuit 35b that delays the output from the adder 34, and a square calculator 33 is multiplied by the fourth power of Z calculated by c and the square of Z outputted by the delay circuit 35b at the same timing.
- a multiplier 36 for calculating the sixth power of Z, a delay circuit 35a for delaying the output from the adder 34 and delaying the output from the square calculator 33c, and a delay circuit 35 For Ch. 0, Ch. 1, and Ch.
- a distance-dependent coefficient calculation circuit 40a, 40b, 40c for calculating the distortion correction coefficients FO, F1, F2 of the above.
- FIG. 27 is a block diagram showing a configuration of the distance-dependent coefficient calculating circuit 40 which is an arbitrary one of the distance-dependent coefficient calculating circuits 40a, 40b, and 40c.
- the distance-dependent coefficient calculating circuit 40 calculates the coefficient A set in the control register 7a from the CPU 3 by the square of Z output from the delay circuit 35a at the same timing (more precisely, As described above, a multiplier 4 la that multiplies A (dot), the same applies hereinafter), and the CPU 3 outputs the fourth power of Z, which is delayed from the delay circuit 35 a and output at the same time, from the CPU 3.
- Conversion circuit 42b and the fixed-point conversion circuit 42 for converting the output from the multiplier 3 ⁇ 4 ⁇ 41 c to a fixed-point number by giving the sign si gnC of the coefficient C set in the control register 7a from the CPU'3 to the output from the above-mentioned multiplier 41c c, the output from the fixed-point conversion circuit 42a, the output from the fixed-point conversion circuit 42b, the output from the fixed-point conversion circuit 42c, and the control register 7a from the CPU 3
- a calorie calculator 43 for calculating a distortion correction coefficient F (that is, any one of the distortion correction coefficients FO, Fl, and F2) based on the above equation 16 by adding the constant 1.0.
- the double-lined parts are the parts where arithmetic processing is performed using floating-point numbers, and X2, Y2, Z, etc. with a wide dynamic range are treated as floating-point numbers. The circuit is being reduced in size while maintaining accuracy.
- a part of the distortion correction coefficient calculation circuit 22a that is, the distortion correction coordinate calculation circuit 31, the floating-point conversion circuits 32a and 32b, the square calculators 33a and 33b, 33c, Caro ⁇ ⁇ 34, Delay circuit 35a, 35b, Power ⁇
- FIG. 28 is a block diagram showing another example of the configuration of the distortion correction coefficient calculation circuit 22a.
- the distortion correction coefficient calculation circuit 22a shown in FIG. 28 includes the distortion correction coordinate calculation circuit 31, the floating-point conversion circuit 32a, the floating-point conversion circuit 32b, and the square meter 33a.
- LUTs (lookup tables) 39a, 39b, 39c that output the fixed-point decimal distortion correction coefficients FO, F1, and F2, respectively, by performing reference using the square of It is configured.
- the portion indicated by the double line is the portion where arithmetic processing is performed using floating-point numbers.
- the configuration example shown in FIG. 28 reduces processing time for calculating the distortion correction coefficients F 0, F 1, and F 2 by using the loop table, thereby reducing the power consumption of the circuit. It has become something.
- FIG. 29 is a block diagram illustrating a configuration of the distortion correction circuit 7A1 for Ch. 0.
- the configuration of the distortion correction circuit 7B1 for Ch.1 and the distortion correction circuit 7CI for Ch.2 are the same as the configuration of the distortion correction circuit 7A1 for Ch.0. Only the distortion correction circuit 7A1 will be described.
- the interpolation position calculation circuit 2 la is for calculating the coordinates (XI, Y1) of the point of interest as described above, and is a circuit part corresponding to the above-described speech position generation unit 21.
- the interpolation position correction circuit 22b uses the distortion correction coefficient F0 calculated by the distortion correction coefficient calculation circuit 22a to calculate the coordinates ( ⁇ ,, Y ,) And is a part of the distortion correction coordinate conversion unit 22.
- the selector 23 selects the coordinates (XI, Y1) from the above-described inter-BS position calculation circuit 2 la (regardless of whether or not to perform the enlargement / reduction processing).
- the outputs of the calorie burners 27a and 27b are output to a read address generation circuit 24a and a buffer opening amount calculation circuit 24c.
- the coordinates (XI, Y1) calculated by the above-described position calculation circuit 2 la between Bffi are also input to the read address generation circuit 24 a separately from the path via the selector 23. .
- the read address generation circuit 24a calculates the pixel data related to the coordinates (XI, Y1) (in the case of performing 16-point interpolation, 16 pixel data centered on the coordinates (XI, Y1)) Is output to the 2-port SRAM 25a, and the interpolation coefficients (for example, interpolation coefficients kx0 to kx3, kyO to ky3 as shown in the above equation 5) and the pixel data to be output are DO to A data sequence control signal indicating which position of the pixel data in D15 is present is output to the interpolation circuit 26a. Further, the read address generation circuit 24a outputs the write enable signal WE-NO to the processing block corresponding to Ch. 0 at the subsequent stage.
- the two-port SRAM 25a is a circuit part corresponding to the internal memory unit 25 shown in FIG.
- the interpolation circuit 26a corresponds to the interpolation operation unit 26 shown in FIG. 2 above, and uses the image data read from the two-port SRAM 25a to express the above equation (3). Such interpolation processing is performed, and the processed image data is output to a subsequent processing program.
- the buffer opening amount calculating circuit 24c is configured to calculate the buffer opening amount based on the output from the BM position calculating circuit 21a and the output from the selector 23 via the 3-parameter calculators 27a and 27b. Calculates the storage capacity (buffer release amount) that can be released in the port SRAM 25a.
- the free space monitoring circuit 24d refers to the output of the buffer open amount calculation circuit 2c to grasp the state of the free space of the 32 ports 311 to 125a.
- the write address generation circuit 24b receives the image data relating to Ch. 0 from the processing block at the preceding stage, and records it in the 2-port SRAM 25a.
- the data overnight transmission permission / non-permission determination circuit 24f communicates with the write address generation circuit 24b and the buffer release amount. It is determined whether or not transmission of the image data is possible based on the output from the calculation circuit 24c. Possible: the request signal tr ok-0 is output to the grant synchronization circuit 27 in ⁇ . .
- the buffer free space monitoring circuit 24d monitors the free space of the 2-port SRAM 25a via the buffer open amount calculating circuit 24c, and when a predetermined free space is found, the processing block of the preceding stage related to Ch. In response, a request signal REQ-0 is issued to transmit image data in a predetermined block unit (hereinafter referred to as unit line (UL) data as appropriate) (step S21).
- UL unit line
- the preceding processing block relating to Ch. 0 Upon receiving the request signal REQ-0, the preceding processing block relating to Ch. 0 transmits the permission signal GRANT-0 when the image data can be transmitted, and the buffer free space monitoring circuit 24. d receives the permission signal GRANT-0 (step S22).
- the buffer free space monitoring circuit 24d is configured to grasp the free space of 2 ports 311 by using the power held internally, and upon receiving the permission signal GRANT, Decrease the value of this internal count by one. When the internal count becomes 0, the buffer free space monitoring circuit 24d operates to withdraw the request signal REQ-0 (step S23).
- the write enable signal WE-0 is written from the previous processing block related to Ch.
- the image data is input to the address generation circuit 24b, and then the image data is input.
- the write address generation circuit 24b outputs a control signal to the 2-port SRAM 25a, and stores the image data DATA in the area of the 2-port SHAM 25a specified by the address ADDRE SS. Write.
- the write address generation circuit 24b counts a BLC counter (a count indicating how much data has been stored in the 2-port SRAM 25a as an internal buffer). Then, the data is output to the transmission enable / disable determination circuit 24f (Step S24).
- the data transmission availability determination circuit 24f determines whether the next UL data that can be transmitted is within the 2-port SRAM 25a.
- the request signal tr ok — 0 is transmitted to the above-mentioned grant circuit 27 (step S 25).
- the grant synchronizing circuit 27 sends a permission signal GRANT-NO, to the subsequent processing block relating to each channel and the interpolation position calculating circuit 21a relating to each channel when the transmission conditions for the image data are established.
- GRANT—Nl, GRANT—N2 is output.
- the interpolation position calculation circuit 21a starts the operation in response to the permission signal GRANT-NO, and when the calculation operation of the coordinates (XI, Y1) as the interpolation position has been performed for 1 UL, the following operation is performed. Calculate the UL start coordinates and end (step S26).
- the distortion correction coefficient calculation circuit 22a outputs the distortion correction coefficient F0 in synchronization with the start of the operation of the interpolation position calculation circuit 21a and the output of the coordinates (X1, Y1).
- the permission signal e-grant is output to the distortion correction coefficient calculation circuit 22a at the time of the evening such that it can be performed (step S27).
- the distortion correction coefficient calculation circuit 22a Upon receiving the permission signal e-grant, the distortion correction coefficient calculation circuit 22a calculates the distortion correction coefficients F0, Fl, and F2 for each channel based on the above equation 16, and calculates the interpolation position correction circuit 22 for each channel. Output to b. This distortion correction coefficient calculation circuit 22a also performs the operation for one UL, as in the above-described position calculation circuit 2la between Bffi, and then calculates the next UL start coordinate and ends.
- the interpolation position correction circuit 22b includes the distortion correction coefficient F0 received from the distortion correction coefficient calculation circuit 22a, the coordinates (XI, Y1) received from the above-described inter-St position calculation circuit 2la, and Is used to calculate the coordinates (X 5 , Y,) based on Equation 12 above.
- the interpolation position correction circuit 22b also performs 1 UL operation in accordance with the distortion correction coefficient calculation circuit 22a. Then, the next UL start coordinate is calculated and the processing is terminated (step S29).
- the selector 23 performs the distortion correction processing in accordance with the operation mode set by the CPU 3 via the control register 7a.
- Caro adder 27 a, 27 b are coordinate (XI, Y1) or the coordinates (, X 5 Y,) selected by the selector 23, the coordinates (Xd, Yd) of the strain center position to it it added (Step S31).
- the read address generation circuit 24a based on the coordinates received from the adder m ⁇ 27a, 27b, outputs the address ADR of the pixel data read from the two-port SRAM 25a to be used for interpolation to the two-port SRAM 25a. And outputs the interpolation coefficient and the data sequence control signal to the interpolation circuit 26a (step S32).
- the interpolation circuit 26a uses the interpolation coefficient and the data sequence control signal received from the read address generation circuit 24a and the pixel data received from the two-port SRAM 25a to obtain Then, the interpolated pixel data is calculated and output to the subsequent processing block related to Ch. 0 (step S33).
- the sofa opening amount calculation circuit 24c based on the outputs of the above-described inter-position calculation circuit 21a and the adders 27a and 27b, completes the UL data output to the end, and Calculate the difference between the UL start coordinate after finishing and the next UL start coordinate, and release the buffer (area in 2-port SRAM 25a) where unnecessary data is stored.
- the released amount is output to the buffer free space monitoring circuit 24d, and how much data needs to be received from the preceding processing cycle related to Ch.0 in order to perform the next UL process is determined.
- the above data is transmitted to the transmission permission / inhibition determination circuit 24f (step S34).
- step S34 When it is confirmed in step S34 that there is free space in the 2-port SRAM 25a, which is an internal buffer, the notifier free space monitoring circuit 24d returns to step S21, and returns to step S21. Repeat the process (Step S35) o
- FIG. 30 is a block diagram showing the configuration of the grant synchronization circuit 27, and FIG. 31 is a timing chart for explaining the operation of the grant synchronization circuit 27.
- DT difficultON obtained by referring to the above control register 7a holds a Boolean value indicating whether or not to perform distortion correction. (True): ⁇ is configured to be acquired as a high-level signal.
- the grant synchronization circuit 27 includes a request signal tr ok-0 from the distortion correction circuit 7A1 for Ch. 0, a request signal trok-1 from the distortion correction circuit 7B1 for Ch.1, and a distortion correction circuit 7 for Ch.
- An AND circuit 51 for calculating the logical product of the request signal tr ok—2 from C 1 and the rising of the request signal trok—0, trok—1, trok—2 and the output of the AND circuit 51 are detected.
- DT- ⁇ N is at a single level: ⁇ is connected to the output side of the differentiator 52 relating to the request signal trok-0, and DT-ON is at a high level: ⁇
- the switch 53a which is switched to be connected to the output side of the differentiating circuit 52 according to the AND circuit 51, and the switch DT-ON which is at a single level are connected to the differential circuit 52 according to the request signal tr ok-1.
- ⁇ is a switch that can be switched to be connected to the output side of the differentiating circuit 52 according to the AND circuit 51.
- Switch 53b and DT-ON are at a single level: ⁇ is connected to the output side of the differentiating circuit 52 relating to the request signal trok-2, and if the DT-ON is a high-level signal, the AND The switch 53c, which is switched to be connected to the output side of the differentiating circuit 52 related to the circuit 51, and the AND of the output of the differentiating circuit 52 related to the AND circuit 51 and DT-ON, calculates the distortion correction coefficient. And an AND circuit 54 that outputs as a permission signal e-grant to the distortion correction coordinate calculation circuit 31 of the circuit 22a.
- the switches 53a, 53b, 53c are the request signals trok-0, trok-1 and trok-2 Are switched to the output side of the differentiating circuit 52 for detecting the above.
- the distortion correction coefficient calculation circuit 22a does not calculate the distortion correction coefficients F0, F1, and F2. Therefore, the interpolation position correction circuit 22b for each channel does not operate, and the distortion interpolation processing is not performed after all.
- the output of the AND circuit 51 is maintained as long as the request signal trok-2 is at a low level. Remains at the mouth level.
- the output of the differentiating circuit 52 is simultaneously output as the permission signals GRANT—N0, GRANT—Nl, and GRAN T__N2, and is also output to the AND circuit 54, which is logically ANDed with the high-level DT— ⁇ N. Is output to the distortion correction coefficient calculating circuit 22a as the permission signal e-grant.
- the same effects as those of the first and second embodiments described above can be obtained, and a circuit capable of performing distortion correction and chromatic aberration correction is small, and image processing with low power consumption is achieved.
- Device capable of performing distortion correction and chromatic aberration correction is small, and image processing with low power consumption is achieved.
- the distortion correction coefficient calculation circuit should be shared for a plurality of channels.
- the circuit size can be effectively reduced, and low power consumption can be achieved.
- the calculation is performed by treating a number having a wide dynamic range as a floating-point number, it is possible to reduce the size of the circuit while maintaining accuracy.
- the distortion correction coefficient is obtained with reference to a look-up table, it is possible to reduce the circuit scale while reducing the processing time.
- a grant synchronization circuit is provided so that image data can be output simultaneously from each channel, so that it can cope well with simultaneous processing of image data from multiple channels in the subsequent processing program. can do.
- the grant synchronization circuit can process the image data of a plurality of channels so as to be output at the respective timings by switching, so that the selection can be made as necessary.
- the interpolation position generator and the distortion correction unit are used. The number of powers provided inside the target conversion unit can be reduced, and the circuit can be greatly reduced.
- a circuit capable of performing the enlargement / reduction processing and the distortion correction processing is small, and the screen processing apparatus has low power consumption.
- an image processing apparatus that can perform distortion correction and chromatic aberration correction and has a small circuit smell and low power consumption is provided.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/558,994 US7636498B2 (en) | 2003-06-02 | 2004-05-31 | Image processing apparatus |
EP04735521.9A EP1657675B1 (en) | 2003-06-02 | 2004-05-31 | Image processing device |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003-157044 | 2003-06-02 | ||
JP2003157044A JP2004362069A (ja) | 2003-06-02 | 2003-06-02 | 画像処理装置 |
JP2003-177291 | 2003-06-20 | ||
JP2003-177290 | 2003-06-20 | ||
JP2003177290A JP2005011268A (ja) | 2003-06-20 | 2003-06-20 | 画像処理装置 |
JP2003177291A JP4436626B2 (ja) | 2003-06-20 | 2003-06-20 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004109597A1 WO2004109597A1 (ja) | 2004-12-16 |
WO2004109597A9 true WO2004109597A9 (ja) | 2005-03-17 |
Family
ID=33514552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2004/007855 WO2004109597A1 (ja) | 2003-06-02 | 2004-05-31 | 画像処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7636498B2 (ja) |
EP (1) | EP1657675B1 (ja) |
WO (1) | WO2004109597A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100910670B1 (ko) * | 2001-03-05 | 2009-08-04 | 지멘스 악티엔게젤샤프트 | 승객 보호 시스템을 위한 이미지 보정 방법 및 장치 |
CN100444633C (zh) * | 2005-02-16 | 2008-12-17 | 奥林巴斯株式会社 | 图像处理方法和图像处理装置 |
KR100744516B1 (ko) * | 2005-09-06 | 2007-08-01 | 엘지전자 주식회사 | 영상기기의 화면 왜곡 보정 장치 및 방법 |
US7912317B2 (en) * | 2005-10-29 | 2011-03-22 | Apple Inc. | Estimating and removing lens distortion from scenes |
JP2007148500A (ja) * | 2005-11-24 | 2007-06-14 | Olympus Corp | 画像処理装置および画像処理方法 |
EP1798956A1 (en) * | 2005-12-16 | 2007-06-20 | Perkinelmer Singapore PTE Ltd. | A method of processing data from a CCD and a CCD imaging apparatus |
US7881563B2 (en) * | 2006-02-15 | 2011-02-01 | Nokia Corporation | Distortion correction of images using hybrid interpolation technique |
US8503817B2 (en) * | 2006-03-01 | 2013-08-06 | Panasonic Corporation | Apparatus, method and imaging apparatus for correcting distortion of image data using interpolation |
JP4470930B2 (ja) * | 2006-09-21 | 2010-06-02 | ソニー株式会社 | 画像処理装置、画像処理方法、及び、プログラム |
WO2008096534A1 (ja) * | 2007-02-07 | 2008-08-14 | Nikon Corporation | 画像処理装置および画像処理方法 |
KR100812997B1 (ko) * | 2007-03-07 | 2008-03-13 | 삼성전기주식회사 | 키스톤 보정 방법 및 디스플레이 장치 |
US20090087115A1 (en) * | 2007-10-02 | 2009-04-02 | Ping Wah Wong | Correction for geometric distortion in images in pipelined hardware |
TWI424374B (zh) * | 2007-12-12 | 2014-01-21 | Altek Corp | 影像處理系統及方法 |
JP4919978B2 (ja) * | 2008-01-26 | 2012-04-18 | 三洋電機株式会社 | 歪補正装置 |
JP2010092360A (ja) * | 2008-10-09 | 2010-04-22 | Canon Inc | 画像処理システム、画像処理装置、収差補正方法及びプログラム |
JP5443844B2 (ja) * | 2009-06-17 | 2014-03-19 | オリンパス株式会社 | 画像処理装置及び撮像装置 |
JP5489871B2 (ja) * | 2009-06-24 | 2014-05-14 | オリンパス株式会社 | 画像処理装置 |
JP5632997B2 (ja) * | 2009-06-24 | 2014-12-03 | オリンパス株式会社 | 画像処理装置 |
JP5493531B2 (ja) * | 2009-07-17 | 2014-05-14 | 三菱電機株式会社 | 映像音声記録再生装置および映像音声記録再生方法 |
JP5607911B2 (ja) * | 2009-10-21 | 2014-10-15 | オリンパスイメージング株式会社 | 画像処理装置、撮像装置、画像処理方法、および、画像処理プログラム |
CN102045478B (zh) * | 2009-10-23 | 2013-05-01 | 精工爱普生株式会社 | 图像读取装置、校正处理方法及用该装置的图像处理方法 |
KR20110090083A (ko) * | 2010-02-02 | 2011-08-10 | 삼성전자주식회사 | 디지털 촬영 장치 및 이의 영상 왜곡 보정 방법 |
JP2012059152A (ja) | 2010-09-10 | 2012-03-22 | Internatl Business Mach Corp <Ibm> | データ処理を行うシステムおよびメモリを割り当てる方法 |
JP5679763B2 (ja) * | 2010-10-27 | 2015-03-04 | ルネサスエレクトロニクス株式会社 | 半導体集積回路及び全周囲映像システム |
US9105090B2 (en) | 2011-07-13 | 2015-08-11 | Analog Devices, Inc. | Wide-angle lens image correction |
JP2013126101A (ja) * | 2011-12-14 | 2013-06-24 | Samsung Electronics Co Ltd | 撮像装置および撮像方法 |
JP2013125401A (ja) * | 2011-12-14 | 2013-06-24 | Samsung Electronics Co Ltd | 撮像装置および歪補正方法 |
US8787689B2 (en) * | 2012-05-15 | 2014-07-22 | Omnivision Technologies, Inc. | Apparatus and method for correction of distortion in digital image data |
JP6136190B2 (ja) | 2012-10-23 | 2017-05-31 | 株式会社ソシオネクスト | 画像処理装置、撮像装置 |
JP5488853B1 (ja) * | 2012-11-16 | 2014-05-14 | 株式会社ジェイエイアイコーポレーション | 収差補正機能付き画像読取装置 |
GB2516288B (en) | 2013-07-18 | 2015-04-08 | Imagination Tech Ltd | Image processing system |
WO2015029024A1 (en) * | 2013-08-26 | 2015-03-05 | Inuitive Ltd. | Method and system for correcting image distortion |
US9536287B1 (en) * | 2015-07-09 | 2017-01-03 | Intel Corporation | Accelerated lens distortion correction with near-continuous warping optimization |
CN105245765A (zh) * | 2015-07-20 | 2016-01-13 | 联想(北京)有限公司 | 图像传感阵列及其排布方法、图像采集部件、电子设备 |
WO2017045129A1 (zh) * | 2015-09-15 | 2017-03-23 | 华为技术有限公司 | 图像畸变校正方法及装置 |
US10572982B2 (en) * | 2017-10-04 | 2020-02-25 | Intel Corporation | Method and system of image distortion correction for images captured by using a wide-angle lens |
US11244431B2 (en) * | 2019-10-18 | 2022-02-08 | Apical Limited | Image processing |
US11734789B2 (en) * | 2020-06-02 | 2023-08-22 | Immersive Tech, Inc. | Systems and methods for image distortion correction |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742552A (en) * | 1983-09-27 | 1988-05-03 | The Boeing Company | Vector image processing system |
JP2707609B2 (ja) | 1988-06-24 | 1998-02-04 | ソニー株式会社 | メモリ装置 |
JPH05207351A (ja) * | 1992-01-27 | 1993-08-13 | Canon Inc | 画像信号処理方法および装置 |
JP2925871B2 (ja) | 1992-12-11 | 1999-07-28 | キヤノン株式会社 | 固体撮像カメラ |
US5608864A (en) * | 1994-04-29 | 1997-03-04 | Cirrus Logic, Inc. | Variable pixel depth and format for video windows |
JPH09259264A (ja) * | 1996-03-25 | 1997-10-03 | Ricoh Co Ltd | 歪曲収差補正方法 |
JPH09307789A (ja) | 1996-05-17 | 1997-11-28 | Olympus Optical Co Ltd | 画像処理装置 |
US5889500A (en) * | 1997-01-31 | 1999-03-30 | Dynacolor Inc. | Single chip display system processor for CRT based display systems |
JPH10224695A (ja) | 1997-02-05 | 1998-08-21 | Sony Corp | 収差補正装置及び方法 |
JPH11161773A (ja) * | 1997-11-28 | 1999-06-18 | Konica Corp | 画像処理方法及び画像入力装置 |
JPH11275391A (ja) | 1998-03-20 | 1999-10-08 | Kyocera Corp | ディストーション補正を選択できるディジタル撮像装置 |
JP4179701B2 (ja) | 1999-04-28 | 2008-11-12 | オリンパス株式会社 | 画像処理装置 |
JP2000311241A (ja) | 1999-04-28 | 2000-11-07 | Olympus Optical Co Ltd | 画像処理装置 |
US6496199B1 (en) * | 1999-10-01 | 2002-12-17 | Koninklijke Philips Electronics N.V. | Method for storing and retrieving data that conserves memory bandwidth |
WO2001069919A1 (en) * | 2000-03-10 | 2001-09-20 | Datacube, Inc. | Image processing system using an array processor |
JP2002232908A (ja) * | 2000-11-28 | 2002-08-16 | Monolith Co Ltd | 画像補間方法および装置 |
JP4024649B2 (ja) * | 2001-11-14 | 2007-12-19 | オリンパス株式会社 | 画像処理装置及び画像処理方法 |
EP1650705B1 (en) * | 2003-07-28 | 2013-05-01 | Olympus Corporation | Image processing apparatus, image processing method, and distortion correcting method |
-
2004
- 2004-05-31 EP EP04735521.9A patent/EP1657675B1/en not_active Expired - Fee Related
- 2004-05-31 US US10/558,994 patent/US7636498B2/en active Active
- 2004-05-31 WO PCT/JP2004/007855 patent/WO2004109597A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20070025636A1 (en) | 2007-02-01 |
EP1657675B1 (en) | 2014-12-24 |
WO2004109597A1 (ja) | 2004-12-16 |
EP1657675A4 (en) | 2013-04-10 |
EP1657675A1 (en) | 2006-05-17 |
US7636498B2 (en) | 2009-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2004109597A9 (ja) | 画像処理装置 | |
JP4772281B2 (ja) | 画像処理装置及び画像処理方法 | |
EP1650705B1 (en) | Image processing apparatus, image processing method, and distortion correcting method | |
JP4131052B2 (ja) | 撮像装置 | |
CN100389435C (zh) | 图像处理装置 | |
JP4924627B2 (ja) | 画像形成方法、画像サイズの変更方法およびサイズ変更器 | |
US8164662B2 (en) | Image-processing device for color image data and method for the image processing of color image data | |
EP2083572A1 (en) | Image processing method, image processing apparatus, and imaging apparatus | |
JP4253881B2 (ja) | 撮像装置 | |
US6593965B1 (en) | CCD data pixel interpolation circuit and digital still camera equipped with it | |
US7808539B2 (en) | Image processor that controls transfer of pixel signals between an image sensor and a memory | |
JP4334932B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2005011269A (ja) | 画像処理装置 | |
CN1328911C (zh) | 图像信号处理装置 | |
US7319463B2 (en) | Electronic camera apparatus and image processing method thereof | |
JP4158245B2 (ja) | 信号処理装置 | |
JP2009003953A (ja) | 画像処理装置 | |
JP4264602B2 (ja) | 画像処理装置 | |
JP3972478B2 (ja) | 撮像装置 | |
JP2006262382A (ja) | 画像処理装置 | |
JP5572992B2 (ja) | 画像処理装置、撮像装置及び画像処理プログラム | |
JP4424097B2 (ja) | 電子ズーム装置 | |
JP2009020894A (ja) | 画像処理装置 | |
JP2006303693A (ja) | 縮小画像の生成機能を備える電子カメラ | |
JP2005011268A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
COP | Corrected version of pamphlet |
Free format text: PAGES 2/22-22/22, DRAWINGS, REPLACED BY NEW PAGES 2/22-22/22 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007025636 Country of ref document: US Ref document number: 10558994 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004735521 Country of ref document: EP Ref document number: 20048154521 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2004735521 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 10558994 Country of ref document: US |