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
Application number
PCT/JP2004/007855
Other languages
English (en)
French (fr)
Other versions
WO2004109597A1 (ja
Inventor
Hideaki Furukawa
Masaki Higurashi
Akira Ueno
Original Assignee
Olympus Corp
Hideaki Furukawa
Masaki Higurashi
Akira Ueno
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2003157044A external-priority patent/JP2004362069A/ja
Priority claimed from JP2003177290A external-priority patent/JP2005011268A/ja
Priority claimed from JP2003177291A external-priority patent/JP4436626B2/ja
Application filed by Olympus Corp, Hideaki Furukawa, Masaki Higurashi, Akira Ueno filed Critical Olympus Corp
Priority to US10/558,994 priority Critical patent/US7636498B2/en
Priority to EP04735521.9A priority patent/EP1657675B1/en
Publication of WO2004109597A1 publication Critical patent/WO2004109597A1/ja
Publication of WO2004109597A9 publication Critical patent/WO2004109597A9/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory 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

技術分野
この発明は、 画像処理装置、 より詳しくは、 光学系を介して撮像された電子的な画像デ —夕を処理する画像処理装置に関する。
•目] 田
デジタルカメラ等の電子的撮像装置においては、 光学系により結像された被写体像を、
C CD等の撮像素子により光電変換して撮像デ一夕を取得し、 この撮像データに種々の画 像処理を施した後に、 J P E G等の圧縮方式で圧縮してメモリカード等の記録媒体に記録 するのが一般的であり、 該デジタルカメラ等の電子的撮像装置は、 画像処理装置を兼ねた ものとなっている。
図 3 2は画像処理装置における一般的な画像処理の手順を示す図である。
C C D等の撮像素子は、 光学系により結像された光学的な被写体像を光電変換して電気 的な撮像信号を生成する。 この撮像信号は、 画素欠陥の補正や A/D変換などのプリプロ セス処理が行われた後に、 フレームメモリに記憶される。
次に、 フレームメモリに記憶された画像デ一夕が、 読み出されて、 第 1のイメージプロ セス、 第 2のイメージプロセス、 ···、 第 Nのイメージプロセス等により、 単板信号から 3 板信号への変換処理や、 口一パスフィル夕処理、 ェヅジ強調処理、 拡大縮小処理などの各 種の画像処理が行われる。
画像処理後の画像信号は、 さらに J P E Gなどの圧縮方式により圧縮されて、 画像ファ ィルとしてメモリ力一ドへ記録される。
図 3 3は、 上記図 3 2に示したような一般的な画像処理を行うための従来の画像処理装 置の構成を示すプロヅク図である。
この画像処理装置は、 C C D 9 1と、 プリプロセス咅 9 2と、 フレームメモリ 9 4と、 第 1イメージプロセス部 9 5 a, 第 2イメージプロセス部 9 5 b , …, 第 Nイメージプロ セス部 9 5 nと、 J P E G処理部 9 6と、 メモリカード等 9 7と、 上記 C CD 9 1を除く 上記各回路と後述する C P U 9 3とが接続されているバス 9 8と、 上述した各回路を含む この画 «理装置を統括的に制御する C P U 9 3と、 を有して構成されている。
この図 3 3に示したような構成の画像処理装置により、 上記図 3 2に示したような処理 を行う場合には、 具体的には次のような手順になる。
まず、 プリプロセス部 9 2からの画像データをバス 9 8を介してフレームメモリ 9 4に 一旦記憶させる。
次に、 該フレームメモリ 9 4から画像デ一夕を読み出して、 ノ ス 9 8を介して第 1ィメ —ジプロセス部 9 5 aに入力し、 第 1の画像処理を行って、 処理後の画像データをフレ一 ムメモリ 9 4上に書き込む。
同様にして、 該フレームメモリ 9 4から第 1の画像処理後の画像デ一夕を読み出して、 バス 9 8を介して第 2イメージプロセス部 9 5 bに入力し、 第 2の画像処理を行って、 処 理後の画像デ一夕をフレームメモリ 9 4上に書き込む、 という処理を行い、 同様の処理を 各イメージプロセス部毎に繰り返して行う。
このように、 画像処理を行う際には、 画像データが何度もバス 9 8を流れることになる が、 画像データは一般的にデ一夕サイズが大きいために ノ、'ス 9 8には大きな負荷がかか ることになる。 このようなバス 9 8に対する大きな負荷は、 連 能を使用しているとき などに、 より顕著である。
こうした観点から、 複数のイメージプロセス部をパイプライン処理可能なように接続し て、 フレームメモリからの画像をパイプライン処理することにより、 バスの負荷を減らす ようにした技術が、 例えば特開 2 0 0 0 - 3 1 1 2 4 1号公報に記載されていて、 バスの 負荷を減らしながら、 メモリ容量を増やすことなく拡大縮小処理を含む画像処理をリアル タイムで行うことができるようになつている。
さらに、 特開 2 0 0 0— 3 1 2 3 2 7号公報には、 フレームメモリに記憶されている画 像をブロック単位で所定方向 (列方向) に読み出すことで、 ノ、'ィプライン処理を行う際の バッファ量を減らす技術も記載されていて、 低消費電力、 省メモリの画像処理装置を構成 することができるようになつている。
ところで、 デジタルカメ^や銀塩カメラを含むカメラの光学系においては、 大小の差こ そあれ、 歪曲収差を生じるのが一般的である。 この歪曲収差は、 例えば、 格子状の被写体 を撮影すると、 樽型、 糸巻き型などとして観測される (本発明の «形態に係る図 3 (A )、 図 3 (B)、 図 3 ( C)参照) 。 また、 現在発売されているカメラは、 光学ズームを 行い得る漏が多いが、 こうしたズーム可能な光学系は、 ワイド端からテレ端にかけての ズームレンジ内で焦点距離を変更すると、 歪曲収差の状態が変化することが多い。
このような現象に対し、 画像処理の一部として歪補正を行う技術が、 より開発され ており、 その一例として、 例えば特開平 6— 1 8 1 5 3 0号公報に記載されたものが挙げ られる。該公報に記載されたような通常の画«理では、 フレームメモリから例えばライ ン単位でデ一夕を読み出すようになつている。
また、 画像処理の一部として歪補正を行う他の技術として、 例えば特開平 1 0 - 2 2 4 6 9 5号公報には、 各イメージプロセス部がフレームメモリにランダムにアクセスするよ うにした技術が記載されている。 この技術によれば、 イメージプロセス部内にバヅファを 設ける必要がなくなるために、 該イメージプロセス部の回路夫 莫を小さくすることができ る利点がある。
さらに、 上記カメラの光学系においては、 色収差が発生することが知られている。 この 色収差は、 光学系に光が入射するときに、 光の波長によって屈折率が異なることに起因し て発生するものであり、 光学系により光学像を結像する際に、 波長毎に結像される光学像 が微妙にずれる現象となって現れる。 光学系は、 この色収差ができるだけ小さくなるよう に設計されるが、 配置スペースや重量、 コストなどの観点から、 色収差を全てなくすこと は困難となっている。
上記特開平 6— 1 8 1 5 3 0号公報に記載されたものでは、 画像処理としての歪補正を 、 補正後の画像の 1ライン分について行うためには、 図 3 4に示すような、 補正前の画像 データを、 歪補正に必要な複数ライン分だけ、 画像全体の横方向の幅に渡って読み出す必 要がある。 この図 3 4は、 従来において歪補正処理を行うために必要なメモリ量を説明す るための図である。 これら複数ライン分の画像データは、 イメージプロセス部の内部に設 けられたバッファに一旦蓄積されてから処理されるために、 1ライン分の補正画像を得る には、 ノ 'ヅファとして比較的大きな容量が必要になり、 回路夫 臭が大きくなつて製造コス トが増すとともに消費電力も増加してしまう。 さらに、 イメージプロセス部内のバッファ メモリ容量によって、 処理可能な画像サイズが制限されてしまうことになる。
また、 上記特開平 1 0— 2 2 4 6 9 5号公報に記載されたものでは、 S D RAM等で構 成されたフレームメモリにランダムにアクセスしょうとすると、 S D RAMから高速に読 み出せるバースト転送に比べて、 デ一夕の転送時間が全体の処理時間を増大させる要因と なる。
ところで、 画 理装置に、 上述したような歪補正処理を行うための処理ブロックと、 拡大縮小処理を行うための処理ブロックと、 の両方を設けることにより、 拡大縮小処理と 歪補正処理との両方を行うことが可能となる。 しかし、 これらの処理は画素毎の補間演算 を伴うものであって、 処理回路も大 ¾になるために、 単純に両方の処理回路を設ける構 成では、 回路構成が大きくなつて消費電力が上がるとともに製造コストも増すことになつ てしまう。
そして、 上述したような色収差についても、 コスト等をあまり増加させることなく、 良 好に補正することができることが望ましい。
本発明は上記事情に鑑みてなされたものであり、 ノ スのデ一夕転送量ゃメモリ容量を増 犬させることなく、 画像処理を行うことができる画像処理装置を することを目的とし ている。
また、 本発明は、 拡大縮小処理と歪補正処理とを行い得る回路皿が小さく低消費電力 な画 理装置を することを目的としている。
さらに、 本発明は、 歪補正と色収差補正とを行い得る回路鍵臭が小さく低消費電力な画 像処理装置を ¾することを目的としている。 発明の開示
この発明は、 光学系を介して撮像することにより得られた電子的な画像デ一夕であって
、 画素データが行方向および列方向に 2次元的に配列された画像データ、 を処理する画像 処理装置において、 上記画像デ一夕を少なくとも画像処理を行う前に格納するとともに画 像処理を行った後にも格納し得るメモリと、 上記画像デ一夕の上記 2次元的な配列におけ るプロヅクを単位として上記メモリからノ スを介して該ブロヅク内の画素デ一夕を行方向 に読み出しその後に該ブロヅク内の画素デ一夕を列方向に出力する第 1のデ一夕順序変換 部と、 上記第 1のデ一夕順序変換部と上記バスとは異なる情報伝達経路でパイプライン処 理可能なように接続されていて該第 1のデータ順序変換部から列方向に出力される画像デ —夕を入力して画像処理した後に該列方向に出力する画像処理部と、 上記画像処理部とパ ィプライン処理可能なように接続されていて該画像処理部から列方向に出力される画像デ —夕を行方向の画像デ一夕に変換して出力する第 2のデータ順序変換部と、 を備えた画像 処理装置である。
また、 この発明は、 光学系を介して撮像することにより得られた電子的な画像デ一夕に 、 歪補正処理および拡大縮小処理を含む画讓理を行い得る画像処理装置であって、 歪補 正処理と拡大縮小処理とを含み得る画像処理に係る補間処理を行った後の画素位置に対応 する補間処理前の座標デ一夕である補間座標デ一夕を生成するための補間座標生成部と、 上記画像データの少なくとも一部を格納するためのメモリ部と、 上 Ϊ3Μ間座標デ一夕に基 づいて上記画像データの一部を上記メモリ部に書き込む制御と該メモリ部から読み出す制 御とを行うメモリ制御部と、 上記メモリ制御部の制御により上記メモリ部から読み出され た画像データを補間演算することにより補間処理を行つた後の画素位置における画像デ一 夕を生成する補間演算部と、 を有して構成される歪補正処理部を備えた画像処理装置であ る ο
さらに、 この発明は、 光学系を介して撮像することにより得られた電子的な画像データ であって、 複数の成分で構成される画像データ、 を処理する画像処理装置において、 上記 光学系に起因する歪曲収差を補正するのに用いるための歪補正係数を歪中心位置からの距 離に基づき上記成分毎に算出する歪補正係数算出手段と、 上記歪補正係数算出手段により 算出された成分毎の歪補正係数を用いて上記画像デ一夕を成分毎に歪補正する歪補正演算 手段と、 を有して構成される歪補正処理手段を備えた画像処理装置である。 図面の簡単な説明
図 1は、 本発明の第 1の実施形態における画像処理装置の構成を示すプロヅク図。 図 2は、 上記第 1の難形態における歪補正処理部の構成を示すプロヅク図。
図 3は、 上記第 1の 形態において、 格子状の被写体を光学系を介して撮影したとき の歪曲収差の例を示す図。
図 4は、 上記第 1の実施形態において、 歪補正を含む補間処理の概要を説明するための 図。
図 5は、 上記第 1の実施形態において、 1 6点補間による処理を説明するための図。 図 6は、 上記第 1の難形態における画像デ一夕の読出順序を示す図。
図 7は、 上記第 1の実施形態におけるデータ順序変換部の構成を示すプロヅク図。 図 8は、 上記第 1の難形態において、 補正画像と撮影画像との対応関係と、 処理に必 要なバッファ量と、 を示す図。
図 9は、 上記第 1の^形態において、 歪中心からの距離に応じて読み出す画像デ一夕 の幅を縦方向に異ならせる例を示す図。
図 1 0は、 上記第 1の難形態において、 歪中心からの距離に応じて読み出す画像デ一 夕のサイズおよび読出開始位置を異ならせる例を示す図。
図 1 1は、 上記第 1の^形態における画 理装置の構成の第 1変形例を示すプロヅ ク図。
図 1 2は、 上記第 1の鶴形態における画像処理装置の構成の第 2変形例を示すプロヅ ク図。
図 1 3は、 上記第 1の難形態における画舰理装置の構成の第 3変形例を示すプロヅ ク図。
図 1 4は、 上記第 1の^ ¾形態における画像処理装置の構成の第 4変形例を示すプロヅ ク図。
図 1 5は、 本発明の第 2の実施形態における画像処理装置の構成を示すブロック図。 図 1 6は、 上記第 2の^形態における歪補正処理部のより詳細な構成を示すブロック 図。
図 1 7は、 上記第 2の実施形態における歪補正係数算出回路の構成の一例を示すブロッ ク図。
図 1 8は、 上記第 2の実施形態における歪補正係数算出回路の構成の他の例を示すプロ ヅク図。
図 1 9は、 上記第 2の実施形態において、 クロック毎に補間位置を生成するときの様子 を示す夕ィミングチャート。 . 図 2 0は、 上記第 2の«形態において、 3クロックに 1回の割合で補間位置を生成す るときの様子を示すタイミングチャート。
図 2 1は、 上記第 3の実施形態における歪補正処理部の構成の概要を示すブロック図。 図 2 2は、 上記第 3の実施形態において、 光学系により画像を撮影したときに発生する 色収差の一例を示す図。
図 2 3は、 上記第 3の実施形態において、 Bに係る補間データを算出可能となった時点 での内部メモリ部に蓄積された画像デ一夕の様子を示す図。
図 2 4は、 上記第 3の実施形態において、 R, G, Bのそれそれに係る補間データを算 出可能となつた時点での内部メモリ部に蓄積された画像データの様子を示す図。
図 2 5は、 上記第 3の鶴形態における歪補正処理部のより詳細な構成を示すブロック 図。
図 2 6は、 上記第 3の実施形態における歪補正係数算出回路の構成を示すブロック図。 図 2 7は、 上記第 3の実 «態における距離依存係数算出回路の構成を示すブロック図 ο
図 2 8は、 上記第 3の実施形態における歪補正係数算出回路の構成の他の例を示すプロ ヅク図。
図 2 9は、 上記第 3の^形態における C h. 0用歪補正回路の構成を示すブロック図 ο
図 3 0は、 上記第 3の実施形態におけるグラント同期回路の構成を示すブロック図。 図 3 1は、 上記第 3の^形態におけるグラント同期回路の動作を説明するためのタイ ミングチヤ一卜。
図 3 2は、 画像処理装置における一般的な画像処理の手順を示す図。
図 3 3は、 上記図 3 2に示したような一般的な画像処理を行うための従来の画像処理装 置の構成を示すプロック図。
図 3 4は、 において歪補正処理を行うために必要なメモリ量を説明するための図。 発明を するための最良の形態
以下、 図面を参照して本発明の の形態を説明する。
図 1から図 1 4は本発明の第 1の ^形態を示したものであり、 図 1は画像処理装置の 構成を示すプロヅク図である。
この画像処理装置は、 光学系により結像された光学的な被写体像を光電変換して電気的 な撮像信号を生成する撮像素子たる C C D 1と、 この C C D 1から出力される撮像信号に 画素欠陥の補正や A/D変換などのプリプロセス処理を行うプリプロセス部 2と、 このプ リプロセス部 2により処理された後のフレーム画像を記憶するフレームメモリ 4と、 この フレームメモリ 4に記憶された画像デ一夕を後述するバス 1 1を介して所定プロック毎に 読み出し一旦記憶してその後に読み出し順序を変更し出力する第 1データ順序変換部 5と 、 この第 1デ一夕順序変換部 5から出力される画像デ一夕に所定の画像処理を施す画像処 理部たるイメージプロセス部 6と、 このィメ一ジプロセス部 6による処理後の画像データ に歪^ ffi正の処理を行う画 «理部たる歪補正処理部 7と、 この歪補正処理部 7から出力 されるプロヅク毎の画像デ一夕を一旦記憶して、 上記第 1デ一夕順序変換部 5によりフレ —ムメモリ 4から読み出したときと同じ方向に読み出して出力する第 2デ一夕順序変換部 8と、 この第 2デ一夕順序変換部 8から出力される画像データを J P E G等の圧縮方式に より圧縮する J P E G処理部 9と、 この J P E G処理部 9により圧縮された画像デ一夕を 後述するバス 1 1を介して一旦フレームメモリ 4に書き込み、 この書き込まれた画像デー 夕をバス 1 1を介して読み出して入力し画像ファイルとして記憶する不揮発性の記憶手段 たるメモリカード等 1 0と、 上記 C C D 1を除く上記各回路と後述する C P U 3とが接続 されているバス 1 1と、 上述した各回路を含むこの画像処理装置を統括的に制御,する制御 手段たる C P U 3と、 を有して構成されている。
ここに、 上記第 1データ順序変換部 5から J P E G処理部 9までは、 バス 1 1を介する ことなく、 該バス 1 1とは異なる情報伝達経路でパイプライン処理可能なように接続され ていて、 画像データを、 2次元的な画素配列における所定のブロック単位で転送して処理 するようになつている。 これにより、 デ一夕量の大きい画像デ一夕が、 各プロセス毎にバ ス 1 1を何度も転送されることがなくなるために、 バス 1 1の負荷を大幅に軽減すること が可能であるとともに、 処理をプロック単位で行うことにより画像処理部の内部ノ ヅファ 部の容量を小さくすることが可能となっている。
また、 この図 1に示す例においては、 画像処理を行うイメージプロセス部 6を 1つのみ 設けているが、 複数の画像処理に対応した複数のイメージプロセス部を、 上記パイプライ ン処理の 上に配置するようにしても構わないことは勿論である。 ここに画像処理の例 としては、 上述と同様に、 箱信号から 3板信号への変換処理や、 口一パスフィル夕処理 、 エッジ強調処理、 拡大縮小処理などが挙げられる。 このときのイメージプロセス部 6の 配置は、 上記歪補正処理部 7よりも前段側であっても構わないし、 後段側であっても構わ ない。
次に、 図 2は、 上記歪補正処理部 7の構成を示すブロック図である。
この歪補正処理部 7は、 前段の処理プロヅクから画像データを所定プロヅク単位で受け 取って、 歪補正を行った後に、 後段の処理プロヅクへ出力するものであり、 上記図 1に示 したような構成例においては、 前段の処理ブロックがイメージプロセス部 6に対応し、 後 段の処理プロヅクが第 2デ一夕順序変換部 8に対応している。
この歪補正処理部 7には、 制御レジス夕 7 aが付随して設けられており、 C P U 3から の該歪補正処理部 7に対する設定値や各種データなどが設定され、 同時に処理結果のステ —タスなどを該 C P U 3から読むことができるようになつている。
該歪補正処理部 7の処理の概要は、 図 4や図 5にも示すように、 おおよそ、 次のように なっている。 図 4は歪補正を含む補間処理の概要を説明するための図、 図 5は 1 6点補間 による処理を説明するための図である。
まず、 図 4 (B) に示すような歪補正処理後の画像の座標系 (X, Y) を予め準備して おく。 この座標系 (X, Y) における画像デ一夕は、 歪補正処理を開始する前は、 当然に してまだ何も求められていない。
該座標系 (X, Y) における着目点 (注目画素) (これは、 歪補正処理後の画像におけ る各画素の座標に対応しており、 同様に、 (X, Y) と表す。 ) を設定して、 該着目点 ( X, Y) に対応する画像デ一夕の座標 (補間座標デ一夕) (X, , Y, ) を座標変換によ り求める (図 4 (Α)参照)。 この (Χ, Υ) と (Χ, , Y' ) との対応関係は、 上記 C C D 1へ被写体:像を結像するための光学系の光学的性質により決まるものであり、 該対応 関係を定義付けるパラメ一夕等は、 光学系の設計値から、 あるいは製造後の光学系の検査 から、 予め求められて、 図示しない不揮発性メモリ等に記憶されている。 そして、 上記 C P U 3が、 この不揮発性メモリ等からパラメ一夕を読み出して、 上記制御レジス夕 7 aに 設定するようになっている。
こうして対応関係により座標 (X, , Y' ) を求めると、 該座標 (X5 , Y, ) におけ る画像デ一夕を求めるために必要な周辺の画像デ一夕の座標が決定される。例えば、 C u b i c補間処理を行う場合には、 図 5に示すように、 該座標 (Χ, , Y, ) (図 5におけ る画像データが Dout となっている点) に対して周辺の 1 6点の座標が決定される。
従って、 これら 1 6点の座標における画像デ一夕 D O〜: D 1 5から、 白丸で示されてい る座標 (X' , Y, ) の点の画像データ Dout を所定の補間式を用いて求めることにより 、 それが歪補正処理後の画像の着目点 (X, Y) における画像デ一夕となる。
上記着目点 (X, Y) を移動させながら、 必要な範囲の全ての画像デ一夕を算出するこ とにより、 歪補正後の画像デ一夕が生成される。
このような処理を行うための歪補正処理部 7は、 図 2に示すように、 着目点の座標 (X , Y) を生成するための補間位置生成部 2 1と、 この補間位置生成部 2 1により生成され た着目点の座標 (X, Y) から歪補正処理前の画像デ一夕の座標 (X' , Y, ) を算出す るための歪補正座標変換部 2 2と、 歪補正処理を行わない; ^には上言 Bffi 位置生成部 2 1から出力される座標 (X, Y) を選択し歪補正処理を行う場合には上記歪補正座標変換 部 2 2から出力される座標 (X5 , Y, ) を選択するセレクタ 2 3と、 前段の処理ブロヅ クからの画像デ一夕の読み出しを制御するとともに上記セレク夕 2 3から出力される座標 に対応して補間処理を行うのに必要な周辺画素の画像デ一夕を送出するように後述する内 部メモリ部 2 5を制御するメモリ制御部 2 4と、 前段の処理プロヅクからの画像デ一夕を 蓄積するものであり上記メモリ制御部 2 4の制御により補間に必要な周辺画素の画像デー 夕を後述する補間演算部 2 6へ出力する内部メモリ部 2 5と、 この内部メモリ部 2 5から 出力される着目点近傍の画像デ一夕と上記セレクタ 2 3から出力される着目点の座標とに 基づき該着目点における画像データを上述したように例えば C u b i c補間により求めて 後段の処理ブロックへ出力する補間演算部 2 6と、 を有して構成されている。
これらの構成ブロックの内の上言彌間位置生成部 2 1と、 歪補正座標変換部 2 2と、 セ レク夕 2 3とは、 補間座標生成部 2 0を構成する要素となっている。
上言 BM 位置生成部 2 1は、 上記 C P U 3から上記制御レジスタ 7 aに設定される補間 開始位置 (XST, YST) および補間ステップ(ΔΧ, ΔΥ) を用いて、 次の数式 1に示す ように、 補間を行う着目点(X, Y) の座標を算出するものである。
【数式 1】
X = XST +kxAX
Y = YST +l AY ここに、 kは着目点を X方向に ΔΧだけ移動させる際にインクリメントされる変数、 1は 着目点を Y方向に ΔΥだけ移動させる際にィンクリメントされる変数である。
なお、 上言彌間開始位置(XST, YST) は、 画像内の任意の位置に設定することが可能 である。 また、 上言彌間ステップ(ΔΧ, ΔΥ) は、 上記 C P U 3が麓に設定すること により、 画像の拡大や縮小を行うことが可能である。
上記歪補正座標変換部 2 2は、 上言 BM間位置生成部 2 1から出力される歪補正処理後の 着目点の座標 (X, Y) から、 歪補正処理前の着目点の座標 (X, , Y, ) を次のように 算出するものである。
すなわち、 まず、 処理対象の画像における歪中心位置の座標 (Xd, Yd ) と、 歪補正 処理後に該歪補正に起因して被写体の位置が撮影時とずれてしまうのを補正するための中 心ずれ補正量 (Xoff , Yoff ) と、 光学系の光学的な性質を示すパラメ一夕を用いて歪 補正処理を行つた場合に補正後の画像が画像データとして必要な範囲からはみ出したり不 足したりするのを補正するための範囲補正倍率 Mと、 を用いて、 次の数式 2に示すような 中間的な算出値 (X (ドット) , Y (ドット) ) (ここに、 文字の上に付す点を文章中で は (ドット) などとして表している。 ) を求める。 【数式 2】
Figure imgf000013_0001
なお、 上記歪中心位置の座標 (Xd, Yd ) は、 上記 C C D 1に被写体光像を結像する 光学系の光軸が交わる画像上の位置に相当する座標である。
また、 上記歪中心位置の座標 (Xd , Yd )、 中心ずれ補正量 (Xoff , Yoff )、 範 囲補正倍率 Mは、 上記 C P U 3により、 上 Ϊ己制御レジス夕 7 aに設定されるようになって いる。
次に、 求めた算出値(X (ドット) , Y (ドット) ) と、 上記歪中心位置の座標 (Xd , Yd ) と、 画像データを間引いて取り込んだ などに画像の縦方向と横方向とで空間 的なサンプリングが異なるのを補正するための係数 ( SX , SY ) と、 を用いて、 歪中心 からの距離を示す Z (より正確には Zの 2乗) を次の数式 3に示すように計算する。 【数式 3】
Figure imgf000013_0002
こうして算出された Zと、 上記 C P U 3から上記制御レジス夕 7 aに設定される光学系 の歪曲収差に関する光学的性質を示すパラメ一夕である歪補正係数 A, B , C , D, Eと 、 上記算出値(X (ドット) , Y (ドット) ) と、 上言歴中心位置の座標 (Xd , Yd ) と、 を用いて、 歪補正処理後の着目点の座標 (X, Y) に対応する歪補正処理前の着目点 の座標 (Χ, , Y, ) を、 次の数式 4に示すように算出する。
【数式 4】
Figure imgf000013_0003
ここで図 3は、 格子状の被写体を光学系を介して撮像したときの歪曲収差の例を示す図 である。 まず、 図 3 (A) は、 格子状の被写体の例を示している。 は、 Zの 2次項ま でしか考慮していないために、 図 3 (A) に示すような被写体を光学系を介して撮像した ときに生じ得る、 図 3 (B) に示すような樽型の歪曲収差や、 図 3 (C) に示すような糸 巻き型の歪曲収差をある程度補正することは可能であつたが、 図 3 (D) に示すような陣 笠型の歪曲収差を補正することはできなかった。 しかし、 本第 1の^形態では、 この数 式 4に示すように、 Zの 2次項を越える次数まで、 つまり例えば 4次項、 または 6次項ま で考慮するようにしているために、 このようなより高次の収差も高精度に補正することが 可能となっている。 さらに、 より一層、 高次の項まで考慮しても構わない。
上述したような補間位置生成部 2 1により算出された座標 (X, Y)、 または歪補正座 標変換部 2 2により算出された座標 (Χ, , Y, ) は、 セレクタ 2 3に入力されて、 歪補 正を行うか否かに応じて、 必要なものが選択される。
また、 上言3¾間演算部2 6は、 上記セレクタ 2 3から出力される座標に基づき、 の近傍の画素の画像デ一夕 DO〜D15を上記内部メモリ部 2 5から読み出して、 次のよう な数式 5を用いることにより、 該着目点に係る歪補正処理後の画像デ一夕 Dout を算出し て、 後段ブロックへ出力する。
【数式 5】
Dout = kx0 [kyQDQ + kylD + ky2D% + ky3Di2
Figure imgf000014_0001
+ ^3 (^ο^3 + kylD7 + ky2D + ky3Dl5) ここに、 kx0〜kx3, ky0~ky3は、 例えば Cu b i c補間を行う際に定められた所定 の補間係数である。
次に、 図 6は、 本第 1の実施形態における画像デ一夕の読出順序を示す図である。 画像デ一夕は、 通常は、 ライン方向、 つまり行方向に読み出されるようになつており、 1ラインの画像データを全て読み出して、 次に隣接するラインの画像デ一夕を全て読み出 すといつた動作を繰り返して行うのが一般的である。
これに対して、 本第 1の »形態の画像処理装置は、 行方向に所定長さだけ読み出して 、 次の行に移動して同様に所定長さだけ読み出し、 これを所定の行数がまとまってから、 列方向に順番に出力することにより、 所定のブロック単位で、 縦方向に画像データを読み 出したようにデ一夕順序を変換したものとなっている。 この行方向への所定の長さは、 フ レームメモリ 4から高速に読み出せる幅を単位として決定される。
その後に続いて読み出すブロックは、 行方向に隣接する (図 6において右隣となる) ブ ロックとなっていて、 画像デ一夕の右端まで到達したところで、 今まで読み出した一連の プロヅク群と縦方向に重複するように、 少し下にずれて、 次のブロック群を読み出すよう になっている。第 2デ一夕順序変換部 8で出力される隣接する行 (横方向) のデ一夕をそ れそれ生成するために必要な画像デ一夕は、 一部重複する。 そのために、 第 1デ一夕順序 変換部 5では、 その分を考慮して読み出す必要がある。
画像デ一夕の読み出し命令は連続的に発行されるために、 このようなプロヅク単位の読 み出しは、 実際には、 進的に行われ、 図 6における行方向に細長の矩形内のデータは、 実線の矢印のように、 縦方向に連続して流れることとなる。
こうした画像デ一夕の読み出しを可能にするための第 1デ一夕順序変換部 5と、 第 2デ —夕順序変換部 8との構成を、 図 7を参照して説明する。 図 7は、 データ順序変換部の構 成を示すブロック図である。
第 1データ順序変換部 5は、 図 7 (A) に示すように、 ブロック単位の画像デ一夕を記 憶可能なメモリを複数、 ここでは 2つ備えており、 メモリ 5 aとメモリ 5 bとなっている 。 フレームメモリ 4は、 これらのメモリ 5 aとメモリ 5 bとに切換可能に接続されている とともに、 イメージプロセス部 6もこれらのメモリ 5 aとメモリ 5 bとに切換可能に接統 されていて、 フレームメモリ 4がメモリ 5 aとメモリ 5 bとの一方に接続されているとき には、 該メモリ 5 aとメモリ 5 bとの他方がイメージプロセス部 6に接続されるように切 り換えられる。 すなわち、 メモリ 5 a , 5 bは、 フレームメモリ 4とイメージプロセス部 6との両方に同時に接続されることがないようにスィヅチングされるようになつている。 フレームメモリ 4に記憶されているフレーム画像の一部は、 プロヅク単位でライン方向 に読み出され、 一方のメモリ、 ここでは例えばメモリ 5 aに記憶される。
これと並列して、 メモリ 5 bからは、 既にフレームメモリ 4から読み出されて記憶され ているブロック単位の画像データが、 列方向 (縦方向) に順に読み出されて、 イメージプ 口セス部 6へ出力される。
フレームメモリ 4からメモリ 5 aへの書き込みと、 メモリ 5 bからイメージプロセス部 6への読み出しが終了すると、 書き込み側のスィヅチおよび読み出し側のスィヅチが切り 換えられて、 次に、 フレームメモリ 4からメモリ 5 bへ次のブロック単位の画像デ一夕の 書き込みが開始されるとともに、 メモリ 5 aからイメージプロセス部 6へのプロック単位 の画像デ一夕の読み出しが開始される。
第 2デ一夕順序変換部 8も、 図 7 (B) に示すように、 上記第 1デ一夕順序変換部 5と ほぽ同様に構成されていて、 ほぽ同様に動作するようになっている。 すなわち、 第 2データ順序変換部 8は、 メモリ 8 aとメモリ 8 bとを有して構成されて いる。
そして、 該第 2デ一夕順序変換部 8の動作時には、 歪補正処理部 7からの書き込みがメ モリ 8 aとメモリ 8 bとの一方に対して列方向 (縦方向) に行われ、 メモリ 8 aとメモリ 8 bとの他方からは行方向 (横方向) に読み出しが行われて J P E G処理部 9へ出力され るようになっている。
また、 図 2の内部メモリ部 2 5として必要なノ ヅファの量は、 図 8に示すようになつて いる。 図 8は、 補正画像と撮影画像との対応関係と、 処理に必要なバッファ量と、 を示す 図である。
図 8における点線同士が交差する点は、 イメージプロセス部 6から歪補正処理部 7へ入 力される画像デ一夕 (つまり、 歪補正処理が行われる前の画像デ一夕であり、 ひいてはフ レームメモリ 4から読み出される画像データ) を示している。 また、 黒点は、 歪補正処理 後の着目点の座標 (X, Y) から算出された歪補正処理前の着目点の座標 (X' , Y5 ) を示していて、 処理対象となる複数の点 (図 8に示す例においては、 横 4 x縦 5ドットで なる点) を示している。 これらの点は、 例えば、 縦方向に並んだ 5ドット単位で歪補正処 理が行われるようになつており、 例えば横 4 X縦 5ドットのブロックの内の一番右側の縦 5 ドット (図 8において太い実線上に配置された 5 ドット) を処理するために必要なバヅ ファ量は、 図 8中の矢印で示すような範囲、 つまり縦 9 X横 7ドットでなる入力画像デ一 夕のブロックとなっている (ただし、 これは C u b i c補間を行う際に、 着目点の周囲 1 6点の画像デ一夕が必要な:^であり、 補間方法を変更すれば、 当然、 必要なバッファ量 は変わることになる。 ) 。
なお、 バッファ (内部メモリ部 2 5 ) の大きさ (記憶容量) は、 歪曲収差が最も大きい 画像の 4隅部分を補間処理することができるような大きさとして確保する必要があるのは 勿論である。
また、 図 6に示した例では、 縦方向に読み出す画素数を、 フレーム画面内の何れの位置 においても等しく取っていたが、 これに限らず、 図 9に示すように、 位置に応じて異なら せるようにしても構わない。 図 9は、 歪中心からの距離に応じて読み出す画像デ一夕の幅 を縦方向に異ならせる例を示す図である。 つまり、 歪曲収差による歪みは、 歪中心から離 れるほど大きくなり、 逆に歪中心に近ければ小さくなる。従 όて、 歪中心に遠い場所では 縦方向に読み出す画素数を多くし、 歪中心に近い場所では縦方向に読み出す画素数を少な くするようにすれば、 より処理を高速化することが可能となる。
さらに、 図 1 0は、 歪中心からの距離に応じて読み出す画像デ一夕のサイズおよび読出 開始位置を異ならせる例を示す図である。 この図 1 0に示す例は、 縦方向に読み出す画素 数を、 横方向の位置に応じて変更するとともに、 画像デ一夕を読み出す開始位置をもプロ ヅク単位で変更するようにしたものである。
すなわち、 歪中心が画面のほぼ中央部にある場合を例に取ると、 同一ライン上であって も、 中央部ほど歪中心に近く、 左右端ほど歪中心から遠くなる。従って、 歪中心に近い中 央部は縦方向に読み出す画素数を少なくし、 歪中心に遠い左右端部は縦方向に読み出す画 素数を多くしている。 さらに、 図示のような樽型の歪曲収差が発生している場合には、 そ の収差に基づく曲線の形状に合わせて、 左右端ではプロヅク単位の画像デ一夕を読み出す 開始位置を縦方向やや下側とし、 中央部ではプロヅク単位の画像デ一夕を読み出す開始位 置を縦方向やや上側としている。 ここでは樽型の歪曲収差が発生している場合を例に示し たが、 糸巻き型や陣笠型の歪曲収差が発生している:^であっても、 発生している歪み形 状に合わせて、 読み出す画素数を変更することが可能であるのは勿論である。
なお、 読み出すブロックにおいて、 読み出す画素数を、 縦方向に異ならせるだけでなく 、 横方向に異ならせるようにしても構わない。
また、 上述では、 イメージプロセス部 6により処理された後の画像データを歪補正する ようにしていたが、 これに限るものではない。
図 1 1は、 画像処理装置の構成の第 1変形例を示すブロック図である。 この図 1 1は、 C CD 1から出力される撮像デ一夕 (例えば、 ベィャ一デ一夕) を、 一旦フレームメモリ 4に蓄積した後に、 3板化する前に歪補正するようにした構成例を示しており、 上記図 1 に示した構成に比して、 イメージプロセス部 6と歪補正処理部 7との位置が交換されたも のとなつている。上記図 1においては、 例えばイメージプロセス部 6により 3板化した画 像デ一夕を各色毎に処理することになるが、 これに限らず、 この図 1 1に示すように、 ぺ ィヤー配列の力ラーフィル夕を備えた C CD 1から出力されるべィャ一データを歪補正処 理するようにしても構わない。 この;^には、 隣接する複数画素 (例えば 1 6画素) を用 いて補間処理を行うのではなく、 ペイヤー配列における同色の隣接する画素を用いて補間 処理を行うことになる。 この構成によれば、 3板ィ匕した後の画像デ一夕に比して、 歪補正 を行うデ一夕量を減らすことができる。
次に、 図 1 2は、 画像処理装置の構成の第 2変形例を示すブロック図である。 この図 1 2は、 メモリ力一ド等 1 0に記録されている画像デ一夕を歪補正処理するようにした構成 例を示している。 この構成例では、 第 1デ一夕順序変換部 5の前段に J P E G処理部 9が 配置されていて、 メモリカード等 1 0から読み出した J P E G等の圧縮方式により圧縮さ れている画像デ一夕を伸張するようになっている。伸張された画像デ一夕は、 該第 1デ一 夕順序変換部 5やイメージプロセス部 6を介して、 歪補正処理部 7により上述したように 処理され、 第 2デ一夕順序変換部 8で元のデータ順序に変換される。 なお、 メモリカード 等 1 0に T I F F等の非圧縮デ一夕として記録が行われている場合には、 特に伸張処理す ることなく歪補正を含む画像処理を実行することも可能である。
続いて、 図 1 3は、 画像処理装置の構成の第 3変形例を示すブロック図である。 この図 1 3は、 歪補正処理後の画像デ一夕を圧縮することなく、 画像表示するためなどに出力す るようにした構成例を示している。第 2デ一夕)暖序変換部 8により元のデータ順序に変換 された画像データは、 J P E G等の圧縮方式により圧縮されることなく、 バス 1 1を介し てビデオメモリ 1 2に書き込まれ、 画像として表示されるようになっている。
さらに、 図 1 4は、 画像処理装置の構成の第 4変形例を示すブロック図である。 この図 1 4は、 歪補正処理に用いる距離情報 (上述した歪中心から補間位置までの距離 Z ) を、 他の画像処理にも用いるようにした構成例を示している。 この構成例では、 イメージプロ セス部 6の後段に、 上記光学系に起因する周辺光量不足を補正するための画像処理部たる シエーディング補正部 1 4、 不要な高周波成分をカヅ卜するための画像処理部たるローパ スフィルタ (L P F)処理部 1 5、 上記歪補正処理部 7ヽ 画像中のェヅジ部分を強調する ための画像処理部たるエッジ強調処理部 1 6、 をこの順にパイプライン処理経路上に配置 している。 そして、 距離情報が、 歪補正処理部 7からシェーディング補正部 1 4、 口一パ スフィル夕 ( L P F )処理部 1 5、 ェヅジ強調処理部 1 6に出力されて、 必要に応じてこ れらの処理において用いられるようになつている。
これにより、 歪中心からの距離に応じて発生する周辺光量不足を、 シェーディング補正 部 1 4が適切に補正することができる。 また、 歪中心からの距離に応じて発生する歪曲収 差が、 例えば樽型である:^には、 歪曲収差を補正したときに画像の周辺部が引き延ばさ れて画像の鮮明さが低下する可能性があるが、 これを口一パスフィル夕処理部 1 5ゃェヅ ジ強調処理部 1 6により、 適切に補正することができる。 そして、 これらシェーディング 補正部 1 4、 口一パスフィル夕処理部 1 5、 エッジ強調処理部 1 6が、 それそれ個別に g巨 離情報を算出する必要がなくなるために、 回路 を縮小することが可能となる。 なお、 図示上は、 歪補正処理部 7から、 それよりもパイブライン処理経路上の前段にあ るシェーディング補正部 1 4や口一パスフィル夕処理部 1 5に距離情報を出力するように なっているが、 処賴匿序を考慮して、 距離 Zを算出するための処理ブロックを別構成とし て、 距離情報を使用する各プロヅクよりも前段側に配置するようにしても構わない。 なお、 上述では、 デジタルカメラに画像処理装置を適用した例について説明したが、 こ れに限らず、 専用の画像処理装置であっても構わないし、 コンピュータ等の増設ボードな どとして «される夕ィブの画像処理装置とすることも可能である。
また、 画像処理の対象とするのは、 デジタルカメラやビデオカメラにおいて、 光学系に より結像された被写体像を撮像素子である C C D等の撮像手段により光電変換して得られ る画像デ一夕、 または該画像データを処理して得られる非圧縮画像デ一夕、 あるいは該画 像デ一夕を処理した後に圧縮して得られる圧縮画像デ一夕、 に限るものではなく、 例えば 、 銀塩カメラで撮影したフィルム、 もしくはブリントを、 スキャナ等の撮像手段で取り込 むことにより得られる画像デ一夕等であっても、 上述したような歪補正処理の対象とする ことができる。
さらに、 画像処理の対象とするのは、 画素データが行方向および列方向に完全に整列し ている画像データに限るものではない。例えば、 ハニカムタイプの画素配列を備えた撮像 素子で撮像された画像デ一夕であっても、 実質的に行方向および列方向に処理を行うこと ができるような画像デ一夕となっていれば、 上述したような歪補正処理を ίラうことが可能 である。
このような第 1の難形態によれば、 イメージプロセス部や歪補正処理部への画像デ一 夕の転送は、 バスとは異なる情報伝達経路を介してパイプライン処理可能なように行い、 さらに、 データ転送をプロヅク単位で行うとともにその読み出し方向を工夫するようにし たために、 ノ 'スのデ一夕転送量やメモリ容量を増大させることな 歪補正を含む画像処 理を行うことが可能となる。
そして、 歪補正処理後の着目点の座標に対応する歪補正処理前の着目点の座標を、 歪中 心から補間位置までの距離の 4次項、 6次項、 またはそれ以上の高次項まで考慮して計算 するようにしたために、 陣笠型の歪曲収差等の、 より高次の収差も高精度に補正すること が可能となる。
また、 補間位置生成部により生成された座標と、 歪補正座標変換部により変換された座 標と、 をセレクタにより選択することができるようにしたために、 歪補正を行うか否かを 必要に応じて所望に選択することが可能となる。 これにより、 ひいては、 撮像時には歪補 正処理を行うことなく画像デ一夕をメモリカード等に一旦記憶しておき、 後の時点で、 該 メモリカードから画像データを読み出して歪補正処理を行うなどが可能となる。 このよう な選択を行えば、 撮像時に歪補正処理を省略することができるために、 より高速な処理が 可能となる。
さらに、 歪補正処理部により算出した距離情報を、 シェーディング補正部や口一パスフ ィル夕、 エッジ強調処理部に出力することにより、 周辺光量不足を適切に補正したり画像 の不鮮明さを適切に補正したりすることが、 回路 莫を増大させることなく可能となる。 また、 歪中心からの距離により異なる歪曲収差の大きさに合わせて、 メモリから読み出 すプロヅク単位の画像データの行方向のサイズと列方向のサイズとの少なくとも一方を適 切に変更することにより、 処理に必要最小限のデータを読み出すことができるために、 処 理を高速化することが可能となる。
図 1 5から図 2 0は本発明の第 2の ^形態を示したものであり、 図 1 5は画像処理装 置の構成を示すプロヅク図である。
この第 2の実施形態において、 上述の第 1の実施形態と同様である部分については説明 を省略し、 主として異なる点についてのみ説明する。
この第 2の!^形態の画像処理装置は、 上記図 1に示した第 1の«形態の画像処理装 置から、 第 1デ一夕順序変換部 5と、 第 2デ一夕順序変換部 8と、 を取り除いたものとな つている。
また、 この第 2の実施形態における画像処理部であり歪補正処理手段たる歪補正処理部 7は、 上言 3イメージプロセス部 6による処理後の画像データに歪補正処理を行うだけでな く、 さらに拡大縮小処理を うものとなっている。
さらに、 上記イメージプロセス部 6、 歪補正処理部 7、 J P E G処理部 9が、 バス 1 1 とは異なる情報伝達経路でパイプライン処理可能なように接続されているのも上述と同様 である。 このとき、 処理をブロック単位で行うことにより容量を小さくすることができる 画像処理部の内部バッファは、 上記図 2に示した内部メモリ部 2 5または図 1 6に示す 2 ポート S RAM 2 5 aである。
また、 歪補正処理部 7の構成は、 上記図 2を参照して説明したものと同様である。 なお、 上記図 1 5に示したような構成例においては、 歪補正処理部 7に対する前段の処 理ブロヅクがィメージプロセス部 6に対応し、 後段の処理プロヅクが J P E G処理部 9に 対応している。
ここで、 上言 Bffi間位置生成部 2 1と歪補正座標変換部 2 2とにおいて、 座標を算出する 際の基本的な数式と、 それを変形することにより回路規模を縮小することができるように した実用的な数式と、 について説明する。
まず、 基本的な数式について説明する。
上言 間位置生成部 2 1は、 基本的に、 上記 C P U 3から上記制御レジス夕 7 aに設定 される補間開始位置 (XST, YST) および補間ステップ (Δ Χ , ΔΥ) を用いて、 上記数 式 1に示したように、 補間を行う着目点の座標 (X, Y) を算出するものである。
上言 補雄標変換部 2 2は、 基本的に、 上言 ¾|間位置生成部 2 1から出力される歪補 正処理後の着目点の座標 (X, Y) から、 歪補正処理前の着目点の座標 (X, , Y, ) を 次のように算出するものである。
すなわち、 歪補正座標変換部 2 2は、 まず、 上記数式 2に示すような中間的な算出値 ( X (ドヅ ト) , Υ (ドヅ ト) ) (ここに、 文字の上に付す点を文章中では (ドット) など として表している。 ) を求める。
次に、 歪補正座標変換部 2 2は、 歪中心からの距離を示す Ζ (より正確には Ζの 2乗) を、 上記数式 3に示したように計算する。
歪補正座標変換部 2 2は、 こうして算出された Ζと、 上記 C P U 3から上記制御レジス 夕 7 aに設定される光学系の歪曲収差に関する光学的性質を示すパラメ一夕である歪補正 係数 A, B , Cと、 上記算出値 (X (ドット) , Y (ドット) ) と、 上記歪中心位置の座 標 (Xd, Yd ) と、 を用いて、 歪補正処理後の着目点の座標 (X, Y) に対応する歪補 正処理前の着目点の座標 (X' , Y, ) を、 次の数式 6に示すように算出する。
【数式 6】
1+A-Z^ + B -Z4 + C ' Z6 + X,
Figure imgf000021_0001
この第 2の¾»態においても、 この数式 6に示すように、 Ζの 2次項を越える次数ま で、 つまり例えば 4次項、 または 6次項まで考慮するようにしているために、 上記 3 ( D) に示したような陣笠型の歪曲収差等のより高次の収差も高精度に補正することが可能 となっている。 なお、 ここでは 6次項まで考慮する例を示したが、 上記数式 4に示したよ うに、 8次項、 1 0次項等の、 より一層高次の収差も補正するようにしても構わない。 上述したような補間位置生成部 21により算出された座標 (X, Y)、 または歪補正座 標変換部 22により算出された座標(X, , Y, ) は、 セレクタ 23に入力されて、 歪補 正を行うか否かに応じて、 必要なものが選択される。
次に、 回路纖を縮小することができるようにした実用的な数式について説明する。 まず、 上記数式 3に数式 2および数式 1を代入して、 次の数式 7に示すように変形する
【数式 7】
2、
(H M
Figure imgf000022_0001
そして、 数式 8に示すような新たな定数式を導入して、 上記数式 7を数式 9に示すよう に変形する。
【数式 8】
X
off
M
Figure imgf000022_0002
AX=SxxAX
AY = SYxAY
【数式 9】
Figure imgf000022_0003
ここに、 数式 9における Z (2ドット) は、 次の数式 10に示すように定義され、 X2 , Y2 (補間座標デ一夕) は次の数式 11に示すように定義される。
【数式 10】
Z
【数式 11】
X2 = XST+k X
72 = ¾Γ+ Δ7 この数式 10および数式 11に示すように定義された Z (2ドヅト) を用いると、 上言 3 数式 6は次の数式 12に示すように変形される。
【数式 12】
1+ AM2)Z2+(BM4)Z +{CM6)Z6 1+AZZ + BZ4 + CZ6 X一 xd +xd
I+AZ2+BZ4+CZ6 :M(XST-Xd) + + Xd
Figure imgf000023_0001
1 + AZ2 + BZ4 + CZ6 'x + kAx) + X,
1+ AM2)Z2+ BM4)Z4+[CM6)Z6 I+AZ2+BZ4+CZ6
1+AZ2 + BZ4 + CZ6 M Y S,T
1+AZ2 + BZ4 + CZ6 [Y+IAY)+Y,
ここに、 この数式 12においては、 次の数式 13から数式 16に示すように定義された 定数式または変数式を用いている。
【数式 13】
A = AM2
B = BM4
C = CM6
【数式 14】
X=M(XST-XD)+XOJF
ΔΧ= ·ΔΧ
Y=M(YST-YD)+YOFF
ΔΓ= ·ΔΓ
【数式 15】
Xl = X+kAX
Υ\ = Ϋ+ΙΑΫ 【数式 16】
F I+AZ2+BZ4+CZ6 上記数式 1〜数式 3および数式 6に示したような基本的な数式に沿って演算を行う場合 には、 係数が 14個で乗算回数が 13回となる。 すなわち、 係数は、 歪中心位置 (Xd, Yd )、 中心ずれ補正量 (Xoff , Yoff )、 範囲補正倍率 M、 係数 (Sx, Sy)、 歪 補正係数 A, B, C、 補間開始位置 (XST, YST)、 補間ステップ (ΔΧ, ΔΥ)の合計 14個である。 また、 乗算回数は、 数式 2における Μとの乗算が 2回、 数式 3における S x, Syとの各乗算と 2つの 2乗式とで乗算が 4回、 数式 6における歪補正係数 A, B, Cとの乗算が 3回、 Zの 4乗および 6乗の算出に乗算が 2回、 大括弧と小括弧との乗算が 2回、 で合計 13回となる。
これに対して、 上記数式 7〜数式 16に示したような実用的な数式に沿って演算を行う には、 係数が 13個で乗算回数が 9回となる。 すなわち、 係数は、 X (2ドヅト) ST , Y (2ドット) ST, 厶 X (2ドット) , ΔΥ (2ドット) , X (3ドット) , Y (3ド ヅト) , 厶 X (3ドヅト) , 厶 Y (3ドヅト) , A (ドヅト) , B (ドット) , C (ドヅ ト) , Xd, Ydの合計 13個である。 また、 乗算回数は、 数式 9の中括弧内における 2 つの 2乗式で 2回、 数式 16における A (ドット) , B (ドット) , C (ドット) との乗 算が 3回、 該数式 16における Z (ドット) の 4乗および 6乗の算出に乗算が 2回、 数式 12における Fとの乗算が 2回、 で合計 9回となる。
.このような演算で扱う数は、 ダイナミックレンジが大きく、 計算回数が少し増えるだけ でも回路 l莫が大きくなってしまうために、 上記に示したような実用的な数式に沿って演 算を行うことにより、 乗算器の個数を減少させるとともに、 係数を設定するためのレジス 夕を削減することができ、 回路 を効果的に縮小することが可能となる。
このように変形された実用的な数式に基づいて、 上言 3¾間位置生成部21に対応する補 間位置算出回路 21 a (後述する図 16参照) は、 上記 CPU3から上記制御レジス夕 7 aに設定される補間開始位置 (X (3ドット) , Y (3ドヅト) ) および補間ステップ ( ΔΧ (3ドヅト) , ΔΥ (3ドヅト) ) を用いて、 上記数式 15に示すように、 補間を行 う着目点の座標(補間位置) (XI, Y1) を算出するようになっている。
また、 上記歪補正座標変換部 22の歪補正係数算出手段たる歪補正係数算出回路 22 a (後述する図 16および図 17参照) は、 上記 CPU 3から上記制御レジス夕 Ί aに設定 される A (ドヅト) , Β (ドット) , C (ドット) を用いて、 上記数式 16に示すように 歪補正係数 Fを算出するようになっている。 なお、 後述するように、 該図 17に示す構成 に代えて、 図 18に示すような構成により、 歪補正係数 Fを算出することも可能となって いる。
さらに、 上記歪補正座標変換部 22の補間位置補正回路 22 b (後述する図 16参照) は、 算出された歪補正係数 Fと、 上記 CPU3から上記制御レジス夕 7 aに設定される歪 中心位置の座標 (Xd , Yd ) と、 を用いて上記着目点の座標 (補間位置) (XI, Y 1 ) から上記数式 12により歪補正処理前の着目点の座標 (補間座標デ一夕) (X, , Y' ) を算出するようになっている。
次に、 上言 間演算部 26は、 上記セレクタ 23から出力される座標に基づき、 該座標 の近傍の画素の画像データ DO〜D15を上記内部メモリ部 25から読み出して、 上記数式 5を用いることにより、 該着目点に係る歪補正処理後の画像データ Doutを算出して、 後 段の処理プロヅクへ出力する。
図 16は、 歪補正処理部 7のより詳細な構成を示すブロック図である。
上言 Bffi間位置生成部 21は、 上記着目点の座標 (XI, Y1) を上述したように算出す るための補間位置算出回路 21 aを有して構成されている。
上記歪補正座標変換部 22は、 上記歪補正係数 Fを上記数式 16に示したように算出す るための歪補正係数算出回路 22 aと、 この歪補正係数算出回路 22 aにより算出された 歪補正係数 Fを用いて上記数式 12に示したように歪補正処理前の着目点の座標 (X, , Y5 ) を算出するための補間位置補正回路 22 bと、 を有して構成されている。
上記セレクタ 23は、 歪補正処理を行わない場合には (拡大縮小処理を行うか否かに関 わらず)上謹間位置算出回路 2 laからの座標 (XI, Y1) を選択し、 歪補正処理を 行う場合には (拡大縮小処理を伴うか否かに関わらず) 上言 Bffi間位置補正回路 22 bから の座標 (X, , Y' ) を選択するものである。
このセレクタ 23により選択された座標 (XI, Y1) または座標 (X' , Y, ) には 、 制御レジス夕 7 aを介して上記 CPU 3により設定される歪中心位置の座標 (Xd , Y d )が、 加算器 27a, 27bによりそれそれ加算されるようになっている。
これらカロ算器 27a, 27bの出力は、 読出しアドレス生成回路 24 aとバッファ開放 量算出回路 24 cとへ出力されるようになっている。
この読出しアドレス生成回路 24 aには、 さらに、 上記補間位置算出回路 2 laにより 算出された座標 (XI, Y1) も上記セレクタ 23を介する経路とは別途に入力されるよ うになつている。 そして、 該読出しアドレス生成回路 24 aは、 この座標 (XI, Y1) に関連する画素デ一夕 (16点補間を行う: ^には、 該座標 (XI, Y1) を中心とする 16個の画素デ一夕) が記憶されているアドレス ADRを 2ポート SRAM25 aに出力 するとともに、 補間係数 (例えば、 上記数式 5に示したような補間係数 kx0〜kx3, kyO 〜ky3) と出力する画素デ一夕が DO〜D15のどの位置の画素データであるかを示すデー 夕列制御信号とを補間回路 26 aに出力するようになっている。 さらに、 該読出しァドレ ス生成回路 24 aは、 書き込み許可信号 WE— Nを後段の処理ブロックへ出力する。 上記 2ポート S R AM 25 aは、 上記図 2に示した内部メモリ部 25に対応する回路部 分である。
補間回路 26 aは、 上記図 2に示した補間演算部 26に対応するものであり、 上記 2ポ —ト SRAM25 aから読み出された画像デ一夕を用いて上記数式 5に示したような補間 処理を行い、 処理後の画像デ一夕を後段の処理プロヅクに出力するものである。
上記バッファ開放量算出回路 24 cは、 上言 Bffi間位置算出回路 2 laからの出力と、 上 記セレクタ 23からの出力と、 に基づいて、 上記 2ポート SRAM25 aにおいて開放可 能な記憶容量(バッファ開放量) を算出するものである。
バッファ空き容量監視回路 24 dは、 このバッファ開放量算出回路 24 cの出力を参照 して、 上記 2ポ一ト SRAM25 aの空き容量の状況を把握するものである。
書込みアドレス生成回路 24 bは、 前段の処理ブロックからの画像データを受けて、 上 記 2ポート SRAM 25 aに記録するものである。
GRAN T— N送信判定回路 24 eは、 後段の処理プロヅクからの画像デ一夕を要求す る要求信号 REQ— Nを受けて、 上記書込みアドレス生成回路 24bとバッファ開放量算 出回路 24 cとの出力に基づき画像データの送信が可能であるか否かを判断し、 可能であ る: ^に許可信号 G R A N T_Nを後段の処理プロヅクに出力するとともに、 上言 間位 置算出回路 21 aにも出力するものである。 この GRANT— N送信判定回路 24 eは、 さらに、 該許可信号 GRANT— Nを受けた補間位置算出回路 2 laが座標 (XI, Y1 ) を算出して出力するのにタイミングを合わせて歪補正係数算出回路 22 aが歪補正係数 Fを出力することができるように、 トリガ t r i gを該歪補正係数算出回路 22 aへ出力 するようになっている。
なお、 上記図 16に示した歪補正処理部 7の構成の内で、 上言 3歪補正座標変換部 22を 除く各回路にはクロヅク CLK2が供給されるが、 この歪補正座標変換部 22にはこのク ロック CLK 2とは異なり得るクロック CLK 1が供給されるようになっている。
これにより、 歪補正処理を行わない場合、 つまり例えば拡大縮小処理のみを行う:^や 、 歪補正処理および披大縮小処理を両方とも行わない場合などに、 歪補正座標変換部 22 への供給クロック CLK 1を停止すれば、 不要な電力の消費を抑制することが可能である 。 また、 供給するクロック CLK1のクロック数を低下させたり戻したり制御することに より、 単位時間当たりに補間座標デ一夕を生成する回数を制御し調整することも可能とな る
次に、 この図 16に示したような歪補正処理部 7の動作について説明する。
ノ^ファ空き容量監視回路 24 dは、 ノ ッファ開放量算出回路 24 cを介して 2ポート SRAM 25 aの空き容量を監視し、 所定の空き容量があると、 前段の処理ブロックに対 して所定のプロヅク単位の画像デ一夕 (以下、 適宜、 ユニットライン (UL)デ一夕とい う。 ) を送信するように要求信号 REQを出す (ステヅプ S1)。
前段の処理ブロックは、 この要求信号 REQを受けて、 画像デ一夕が送信可能になった ところで許可信号 GRANTを送信し、 上記バッファ空き容量監視回路 24 dは、 この許 可信号 GRANTを受信する (ステップ S 2)。
該ノ ヅファ空き容量監視回路 24 dは、 2ポート S R AM 25 aの空き容量を、 内部に 保持するカウンタで把握するようになつており、 許可信号 G R ANTを受信すると同時に 、 この内部カウン夕の値を 1つ減らす。該バッファ空き容量監視回路 24 dは、 この内部 カウン夕が 0になったら、 上記要求信号 REQを取り下げるように動作する (ステップ S 3)
そして、 前段の処理ブロックから、 書き込み許可信号 WEが書込みアドレス生成回路 2 4 bに入力さ; 続いて画像データが入力される。 これに応じて、 書込みアドレス生成回 路 24bは、 制御信号を 2ポート SRAM 25 aへ出力して、 画像デ一夕 DATAを該 2 ポート SRAM 25 aの、 アドレス ADD RE S Sで指定される領域に書き込む。 また、 書込みアドレス生成回路 24bは、 1ULデータが入力される毎に、 BLCカウン夕 (内 部バッファである 2ポート SRAM25 aにどれだけのデータが溜められたかを示すカウ ン夕) をアップして、 GRANT一 N送信判定回路 24 eへ出力する (ステヅプ S 4)。
GRANT— N送信判定回路 24 eは、 後段の処理ブロックから要求信号 RE Q—Nを 受信すると、 次に送信することができる U Lデ一夕が 2ポート S R AM 25 a内にあるか 否かを判定し、 あると判定した: ^には、 許可信号 GRANT—Nを後段の処理ブロック と上言 fflf間位置算出回路 2 laとへ送信する (ステップ S 5)。
補間位置算出回路 2 laは、 この許可信号 GRANT— Nを受けて動作を開始し、 補間 位置である座標 (XI, Y1)の算出動作を 1UL分行ったところで、 次の UL先頭座標 を算出して終了する (ステップ S 6)。
上記 GRANT— N送信判定回路 24 eは、 補間位置算出回路 21 aが動作を開始して 座標 (XI, Y1) を出力するのと同期して歪補正係数算出回路 22 aが歪補正係数 Fを 出力することができるような夕イミングで、 トリガ t r i gを該歪補正係数算出回路 22 aへ出力する (ステップ S 7)。
歪補正係数算出回路 22 aは、 トリガ trigを受けると、 ULデ一夕内の画素につい て歪補正係数 Fを上記数式 16に基づき算出し、 補間位置補正回路 22 bに出力する。 こ の歪補正係数算出回路 22 aも、 上言 間位置算出回路 21 aと同様に、 1 UL分の動作 を行ったところで、 次の UL先頭座標を算出して終了する (ステップ S 8)。
補間位置補正回路 22 bは、 この歪補正係数算出回路 22 aから受け取った歪補正係数 Fと、 上言 間位置算出回路 2 laから受け取った座標 (XI, Y1) と、 を用いて、 上 記数式 12に基づき座標 (X5 , Y' ) を算出する。 この補間位置補正回路 22 bも、 上 記歪補正係数算出回路 22 aに従って、 1UL分の動作を行ったところで、 次の UL先頭 座標を算出して終了する (ステップ S 9)。
セレクタ 23は、 上記制御レジス夕 7 aを介して上記 C P U 3により設定された動作モ —ドに従って、 歪補正処理を行う:^には上言 3«間位置補正回路 22 bからの座標 (X, , Y5 ) を選択し、 歪補正処理を行わない場合には上言 Bit間位置算出回路 2 laからの座 標 (XI, Y1) を選択する (ステップ S 10)。
加算器 27a, 27bは、 このセレクタ 23により選択された座標 (X 1, Y1) また は座標 (X5 , Y, ) に、 歪中心位置の座標 (Xd , Yd ) をそれぞれ加算する (ステヅ プ S 11)。
読み出しアドレス生成回路 24 aは、 カロ算器 27 a, 27 bから受け取った座標に基づ いて、 補間に用いるために 2ポート SRAM25 aから読み出す画素デ一夕のアドレス A D Rを該 2ポート S R AM 25 aに出力するとともに、 補間係数とデ一夕列制御信号とを 補間回路 26 aに出力する (ステヅプ S 12)。
補間回路 26 aは、 読み出しァドレス生成回路 24 aから受け取った補間係数およびデ —夕列制御信号と、 2ポート SRAM25 aから受け取った画素デ一夕と、 を用いて、 上 記数式 5に示すように、 補間された画素デ一夕を算出し、 後段の処理ブロックに出力する (ステップ S 13) 。
バッファ開放量算出回路 24 cは、 上言 B¾間位置算出回路 21 aおよび加算器 27 a, 27 bの出力に基づいて、 ULデ一夕を最後まで出力したことが確認されたら、 今処理を 終えた UL先頭座標と、 次の UL先頭座標との差を計算して、 必要なくなったデ一夕が蓄 積されているバヅファ (2ポート SRAM25 a内の領域) を開放するために、 バッファ 開放量をバッファ空き容量監視回路 24 dへ出力するとともに、 次の U L処理を行うため に後どれだけのデ一夕を前段の処理プロヅクから受けることが必要であるかを、 上記 GR ANT— N送信判定回路 24eへ送信する (ステップ S 14)。
バッファ空き容量監視回路 24 dは、 上記ステップ S 14において内部バッファである 2ポ一ト SRAM25 aに記憶領域の空きができたことが確認されたところで、 上記ステ ヅプ S1へ戻って、 上述したような処理を繰り返して行う (ステップ S 15)。
GRAN T— N送信判定回路 24 eは、 上記書込みァドレス生成回路 24bからの BL Cカウン夕の値と、 ノ ファ開放量算出回路 24 cからの出力と、 に基づいて、 次の UL デ一夕を後段の処理プロックに送信することができるか否かを判定し、 送信することがで きると判定した ¾ ^には、 上記ステヅプ S 5の処理を行う (ステップ S 16) o
図 17は、 上記歪補正係数算出回路 22 aの構成の一例を示すブロック図である。 この 歪補正係数算出回路 22 aは、 上記数式 16によって、 歪補正係数 Fを算出するためのも のである。
なお、 この図 17において、 および以下に示す図 17の説明においては、 Zは数式 10 の左辺に示す Z (2ドット) のことを指し、 係数 A, B, Cは数式 13の左辺に示す A ( ドヅト) , B (ドット) , C (ドット) のことを指している。
歪補正係数算出回路 22 aは、 上記 GRANT—N送信判定回路 24 eからトリガ t r
1 gが入力されたところで上記数式 11に基づき補間座標 X 2, Y2を算出する歪補正用 座標算出回路 31と、 この歪補正用座標算出回路 31により算出された補間座標 X 2を浮 動小数に変換する浮動小数化回路 32 aと、 上記歪補正用座標算出回路 31により算出さ れた補間座標 Y 2を浮動小数に変換する浮動小数化回路 32 bと、 上記浮動小数化回路 3
2 aにより浮動小数化された補間座標 X 2を 2乗する 2乗計算器 33 aと、 上記浮動小数 化回路 32 bにより浮動小数化された補間座標 Y 2を 2乗する 2乗計算器 33わと、 上記 2乗計 3 3 aにより算出された補間座標 X 2の 2乗と上記 2乗計^! 3 3 bにより算 出された補間座標 Y 2の 2乗とをカロ算することにより Z (より正確には、 上述したように Z ( 2ドット) 。 以下同様) の 2乗を算出する加 3 4と、 この加 4からの出力 を 2乗することにより Zの 4乗を算出する 2乗計 3 3 cと、 上記加^ §3 4からの出 力を «させる遅延回路 3 5 bと、 上記 2乗計算器 3 3 cにより算出された Zの 4乗とこ の ®®回路 3 5 bにより遅延されタイミングを合わせて出力される Zの 2乗とを乗算する ことにより Zの 6乗を算出する乗 3 6 dと、 上記加 mi 3 4からの出力を遅延させる とともに上記 2乗計算器 3 3 cからの出力を遅延させる遅延回路 3 5 aと、 上記 回路 3 5 aから遅延されタイミングを合わせて出力される Zの 2乗に上記 C P U 3から制御レ ジス夕 7 aに設定される係数 A (より正確には、 上述したように A (ドット) 。 以下同様 ) を乗算する乗算器 3 6 aと、 上記遅延回路 3 5 aから遅延されタイミングを合わせて出 力される Zの 4乗に上記 C P U 3から制御レジス夕 7 aに設定される係数 B (より正確に は、 上述したように B (ドット)。以下同様) を乗算する乗算器 3 6 bと、 上記乗難 3 6 dから出力される Zの 6乗に上記 C P U 3から制御レジスタ 7 aに設定される係数 C ( より正確には、 上述したように C (ドット) 。 以下同様) を乗算する乗算器 3 6 cと、 上 記乗算器 3 6 aからの出力に上記 C P U 3から制御レジス夕 Ί aに設定される上記係数 A の符号 s i g nAを与えて固定小数に変換する固定小数化回路 3 7 aと、 上記乗算器 3 6 bからの出力に上言 3C P U 3から制御レジス夕 7 aに設定される上記係数 Bの符号 s i g nBを与えて固定小数に変換する固定小数化回路 3 7 bと、 上記乗算器 3 6 cからの出力 に上記 C P U 3から制御レジス夕 7 aに設定される上記係数 Cの符号 s i g n Cを与えて 固定小数に変換する固定小数化回路 3 7 cと、 上記固定小数化回路 3 7 aからの出力と上 記固定小数化回路 3 7 bからの出力と上記固定小数化回路 3 7 cからの出力と上記 C P U 3から制御レジス夕 7 aに設定される定数 1 . 0とをカロ算することにより上記数式 1 6に 基づく歪補正係数 Fを算出するカロ算器 3 8と、 を有して構成されている。
なお、 この図 1 7において、 2重線で示している部分が、 浮動小数による演算処理を行 つている部分であり、 ダイナミックレンジの広い X 2, Y 2や Zなどを浮動小数で扱うこ とにより、 精度を保ちながら回路規模を縮小するようになっている。
また、 図 1 8は、 上記歪補正係数算出回路 2 2 aの構成の他の例を示すブロック図であ る。
この図 1 8に示す歪補正係数算出回路 2 2 aは、 上記歪補正用座標算出回路 3 1と、 上 記浮動小数化回路 3 2 aと、 上記浮動小数化回路 3 2 bと、 上記 2乗計算器 3 3 aと、 上 記 2乗計^ 13 3 bと、 上言劭口難 3 4と、 このカロ算器 3 4から出力される浮動小数化さ れた Z (より正確には、 上述したように Z ( 2ドット) 。 以下同様) の 2乗を用いて参照 を行うことにより固定小数化された歪補正係数 Fを出力する L U T (ルックアツプテープ ル) 3 9と、 を有して構成されている。
この図 1 8においても、 2重線で示している部分が、 浮動小数による演算処理を行って いる部分である。
このように、 この図 1 8に示す構成例は、 ルヅクァヅプテ一ブルを用いることにより、 歪補正係数 Fを算出するための処理時間を^;縮し回路の消費電力を低減するものとなって いる。
なお、 この構成例を適用する場合には、 上記係数 A, B , Cは C P U 3から設定される ものではなく、 固定値となっている。 もちろん、 ルックアップテ一ブルの夫 f莫が大きくな つても構わない には、 上記係数 A, B, Cの複数の組み合わせに対応するルヅクァヅ プテ一ブルを用意しておいて、 適切なものを用いるようにしても構わない。
次に、 図 1 9はクロック毎に補間位置を生成するときの様子を示すタイミングチャート 、 図 2 0は 3クロックに 1回の割合で補間位置を生成するときの様子を示す夕ィミングチ ャ一トである。
図 1 9は、 クロヅク毎に補間位置を生成するときの動作の様子を示したものであり、 後 段の処理プロックから要求信号 R E Q— Nが G R A N T— N送信判定回路 2 4 eに入力さ れると、 該 GRAN T— N送信判定回路 2 4 eは、 画像デ一夕を出力可能となったところ で、 該後段の処理プロヅクに対して許可信号 G R A N T— Nを送信する。
この許可信号 GRAN T— Nは、 補間位置算出回路 2 1 aへも入力されて、 補間位置 X 1 , Y 1が生成され出力される。 この図 1 9に示す例では、 補間位置 X I , Y 1は、 各ク ロック毎に出力される。
そして、 適宜の処理時間を経た後に、 上言 Bffi間回路 2 6 aから補間後の画像デ一夕が後 段の処理プロヅクへ出力され、 このときには上記読出しアドレス生成回路 2 4 aから書き 込み許可信号 WE一 Nが出力されている。
また、 図 2 0は、 3クロヅクに 1回の割合で補間位置を生成するときの動作の様子を示 したものである。
許可信号 GRAN T— Nが補間位置算出回路 2 1 aに入力されるまでの動作は図 1 9に 示した場合と同様であるが、 その後に該補間位置算出回路 2 l aは、 3クロックに 1回の 害 []合で補間位置 X I, Y 1を生成して出力する。
また、 補間位置 X 1 , Y 1が生成されてから上言 B¾間回路 2 6 aから補間後の画像デー 夕が出力されるまでの処理に要する時間も図 1 9に示した:^と同様であるが、 補間位置 X I , Y 1の生成が 3クロヅクに 1回であるために、 補間後の画像デ一夕の出力も同様に 3クロックに 1回であり、 これに合わせて書き込み許可信号 WE— Nの出力も 3クロヅク に 1回となっている。
なお、 ここでは補間位置をクロック毎あるいは 3クロックに 1回生成する例を示してレヽ るが、 これに限るものではなく、 適宜の複数回に 1回生成するようにしても構わないし、 あるいは n回毎に m回 (n≥m) (例えば、 3クロックに 2回)生成するようにすること も可能であり、 任意の頻度で補間位置を生成することが可能である。 また、 このようなク 口ヅク数に対する補間位置の生成数の割合を、 動的に変更するようにしても構わない。 このような第 2の^形態によれば、 上述した第 1の^形態とほぼ同様の効果を奏す るとともに、 歪補正処理と拡大縮小処理とを、 1つの回路で同時に行うことができるため に、 処理時間を短縮して、 回路^莫を縮小することが可能となる。 これにより、 高速な画 像処理装置を低コストに構成することができる。
また、 歪補正を行わないときに、 歪補正座標変換部に供給するクロックを停止すること により、 つまり、 歪補正係数算出回路と補間位置補正回路とに供給するクロックを停止す ることにより、 消費電力を低減することが可能となる。
さらに、 これら補間位置算出回路による座標の算出を、 必要に応じてクロック毎でない ようにする (毎クロヅクではない隔クロックに行うようにする) ことにより、 電力の消費 を時間方向に分散することが可能となる。 この単位時間当たりに座標を算出する回数を適 応的に変更することにより、 一層効率的に消費電力の分散を図ることができる。 これによ つて、 処理回路の温度が上昇するのを抑制することができるとともに、 画 ί«理装置全体 の瞬間的な消費電力 (ピーク消費電力) を低減することができる。
そして、 基本的な数式に基づく場合よりも乗算の回数が減るように変形した実用的な数 式に基づいて、 補間座標データを生成するようにしたために、 補間位置生成部や歪補正座 標変換部の内部に設ける乗 の個数を削減することができ、 回路夫«の縮小を図ること ができる。
カロえて、 歪補正後の画像内の注目画素 (X, Υ) に対応する位置 (つまり、 (X, Υ) に Xoff , Yoff , M, SX , SYなどを考慮した位置) と歪中心位置 (Xd , Yd ) と の間の距離 Z (あるいは Z ( 2ドット) ) は、 ダイナミックレンジが広い数であり、 これ らの 2乗、 4乗、 6乗などはさらにダイナミックレンジが広い数となるが、 これらを浮動 小数として扱って演算を行い歪補正係数を算出するようにしたために、 精度を保ちながら 回路 を縮小することが可能となる。
また、 歪補正係数を求める際に、 上記距離 Z (あるいは Z ( 2ドヅト) ) (もしくはそ の 2乗) に基づき参照可能なルヅクアツプテ一ブルを用いる場合には、 処理時間を短縮し ながら回路夫搬を縮小することが可能となる。
図 2 1から図 3 1は本発明の第 3の実施形態を示したものである。 この第 3の実施形態 において、 上述の第 1, 第 2の ^形態と同様である部分については説明を省略し、 主と して異なる点についてのみ説明する。
この第 3の難形態における画像処理装置の主要部の構成は、 上述した第 2の難形態 の図 1 5に示したものと同様である。
また、 画像データを所定のプロック単位で転送することにより容量を小さくすることが できる内部バッファは、 この第 3の 形態では、 上記図 2に示した内部メモリ部 2 5ま たは図 2 9に示す 2ポート S RAM 2 5 aとなっている。
図 2 1は、 上記歪補正処理部 7の構成の概要を示すブロック図である。
カラ一画像デ一夕は、 通常、 RGBや Y C b C rなどの 3つ (もしくはそれ以上) の独 立した信号成分に分解され、 各成分毎に処理が行われるようになつている。 ここでは、 3 つの独立した信号成分のそれぞれが処理される経路 (チャンネル) を C h. 0、 C h. 1 、 C h. 2として説明するが、 具体的には、 例えば C h . 0で処理される信号が R、 C h . 1で処理される信号が G、 C h. 2で処理される信号が Bなどとなる。
この歪補正処理部 7は、 各チャンネル毎の歪補正処理部が、 前段の対応するチャンネル の処理ブロックへリクエストを送信し、 該リクエストに応じて前段の処理ブロックから送 信される画像データを所定ブロック単位で受け取って、 歪補正を行った後に、 後段の対応 するチャンネルの処理ブロックへ出力するようになっている。 具体的には、 C h. 0デ一 夕を処理するための歪補正処理部が 7 A、 C h. 1デ一夕を処理するための歪補正処理部 が 7 B、 C h . 2デ一夕を処理するための歪補正処理部が 7 C、 となっていて、 これらが 上記歪補正処理部 7に含まれている。 なお、 これらの歪補正処理部 7 A, 7 B , 7 Cは、 後段のブロックから画像デ一夕を送信して欲しい旨のリクエストを受信すると、 送信可能 になった段階で、 画像データを所定のプロヅク単位で該後段のプロヅクへ送信するように なっている。
なお、 上記図 1 5に示したような構成例においては、 前段の処理ブロックがイメージプ 口セス部 6に対応し、 後段の処理プロックが J P E G処理部 9に対応していて、 これらの 前段および後段の処理プロックも、 各チヤンネル毎に処理を行うように構成されている。 歪補正処理部 7には、 制御レジス夕 7 aが付随して設けられており、 C P U 3からの該 歪補正処理部 7に対する設定値や各種デ一夕などが上記歪補正処理部 7 A, 7 B , 7 Cへ 設定され、 同時に処理結果のステータスなどを C P U 3から読み取ることができるように なっている。
上記歪補正処理部 7の 1つのチヤンネルに係る部分の処理の概要は、 上記図 4および図 5を参照して説明したのとほぼ同様である。
そして、 このような処理を行うための 1つのチャンネルに係る歪補正処理部 7は、 上記 図 2に示したものと同様である。
また、 上言 Bffi間位置生成部 2 1と歪補正座標変換部 2 2とにおいて、 座標を算出する際 の基本的な数式と、 それを変形することにより回路 ¾f莫を縮小することができるようにし た実用的な数式と、 は、 上述した第 2の難形態において、 数式 1〜数式 3および数式 5 〜数式 1 6を参照して説明したものと同様である。
このとき、 上記数式 1 6に示すように歪補正係数 Fを算出するのは、 後述する図 2 6に 示すような、 上記歪補正座標変換部 2 2の歪補正係数算出手段たる歪補正係数算出回路 2 2 aであるが、 該図 2 6に示す構成に代えて、 後述する図 2 8に示すような構成を用いて も構わない。
さらに、 上記数式 1 2により歪補正処理前の着目点の座標 (補間座標デ一夕) (X, , Y ' ) を算出するのは、 後述する図 2 9に示すような、 上記歪補正座標変換部 2 2の補間 位置補正回路 2 2 bとなっている。
図 2 2は、 光学系により画像を撮影したときに発生する色収差の一例を示す図である。 この図 2 2に示す例においては、 糸巻き型の歪曲収差が発生するとともに、 赤 Rが歪中 心から見て緑 Gの内側に、 青 Bが歪中心から見て緑 Gの外側に、 それぞれずれるような色 収差が発生している。 そして、 この色収差によるずれは、 歪中心からの距離が遠いほど大 きくなつている。
このように、 色収差は各色毎に異なるために、 補間処理も上記図 2 1に示したように、 各色毎に行っている。 図 2 5は、 上記歪補正処理部 7のより詳細な構成を示すプロヅク図 ¾>る。
上記歪補正処理部 7 Aは C h. 0用歪補正回路 7 A 1を、 上記歪補正処理部 7 Bは C h • 1用歪補正回路 7 B 1を、 上記歪補正処理部 7 Cは C h. 2用歪補正回路 7 C 1を、 そ れぞれ歪補正演算手段として有して構成されている。
また、 歪補正係数 Fを算出するための歪補正係数算出回路 2 2 aは、 上記歪補正座標変 換部 2 2の一部を構成するものであり、 歪補正処理部 7 A, 7 B , 7 Cにおいて共通化す ることができるために、 3つのチャンネルに共通な単一の回路として設けられていて、 C h. 0用の歪補正係数 F 0、 C h. 1用の歪補正係数 F l、 C h. 2用の歪補正係数 F 2 を算出して、 上記 C h. 0用歪補正回路 7 A 1、 C h. 1用歪補正回路 7 B 1、 C h. 2 用歪補正回路 7 C 1へそれそれ出力するようになつている。
また、 歪補正処理や拡大縮小処理に係る補間処理を行った後に、 後段の処理ブロックに 対して画像データを出力する際には、 該後段の処理ブロックの処理内容によっては、 3つ のチャンネルの画像デ一夕が同時に必要となる: ^がある。 ところが、 上記図 2 2に示し たように、 色収差がある には注目画素の位置が色によって異なるために、 3つのデー 夕が同時に揃って出力されるとは限らない。
これを図 2 3および図 2 4を参照して説明する。 図 2 3は Bに係る補間データを算出可 能となった時点での内部メモリ部に蓄積された画像データの様子を示す図、 図 2 4は R , G, Bのそれそれに係る補間デ一夕を算出可能となった時点での内部メモリ部に蓄積され た画像データの様子を示す図である。
3つのチヤンネルで補間デ一夕の算出処理を同時に開始した場合には、 前段の処理プロ ヅクからの画像データが、 各チヤンネルの内部メモリ部 2 5 (後述する図 2 9に示す 2ポ ート S RAM 2 5 a) に順次記憶され始める。 このときに、 既にデ一夕として記憶されて いる部分が、 斜線で示している部分である。 図 2 3に示す時点では、 青 Bに関する補間デ —夕の算出が可能なところまで画像デ一夕の蓄積が行われているが、 緑 Gおよび赤 Rに関 する補間データの算出を行うことができる量にはまだ至っていない。
また、 図 2 4に示す時点では、 赤 R、 綠 、 青 Bに関する補間デ一夕の算出を行うこと が可能なところまで画像デ一夕の蓄積が行われている。
このように、 3つのチャンネルの補間デ一夕を算出可能になった時点で、 後段の処理ブ 口ヅクへの画像デ一夕の転送を許可するように同期させるのが、 グラント同期手段たるグ ラント同期回路 27である。
Ch. 0が R、 Ch. 1が G、 Ch. 2が Bである場合を例にとると、 上記図 23に示 すような状態になったところで上記 Ch. 0用歪補正回路 7 A 1が歪補正処理の開始を要 求する要求信号 t r ok— 0を出力し、 図示はしないが Ch. 1用歪補正回路 7B1が歪 補正処理可能となった時点で歪補正処理の開始を要求する要求信号 t r o k— 1を出力し 、 上記図 24に示すような状態になったところで C h . 2用歪補正回路 7 C 1が歪補正処 理の開始を要求する要求信号 t r o k— 2を出力するようになっている。
グラント同期回路 27は、 これらの要求信号 t r ok— 0, t r ok_l5 t r ok_ 2が全て揃った後に、 すなわち、 3つのチャンネルの全てで補間データを送信することが 可能になったところで、 後段の処理ブロックの、 Ch. 0に係る処理を行う部分に対して 許可信号 GRANT— NOを、 Ch. 1に係る処理を行う部分に対して許可信号 GRAN T— N1を、 Ch. 2に係る処理を行う部分に対して許可信号 GRANT— N 2を、 それ それ出力するとともに、 上記 Ch. 0用歪補正回路 7A1、 Ch. 1用歪補正回路 7B1 、 Ch. 2用歪補正回路 7 C1に対して後述するように歪補正処理を同時に開始させるよ う ffl御するようになっている。
なお、 該グラント同期回路 27は、 後述するように、 内部にスイッチを有しており、 3 つのチャンネルの出力を同期させるか否かを切り換えることができるようになつている。 図 26は、 上記歪補正係数算出回路 22 aの構成を示すブロック図である。
この歪補正係数算出回路 22 aは、 上記数式 16によって、 歪補正係数 Fを算出するた めの歪補正係数算出手段であり、 該数式 16における光学系の光学的性質を反映する A ( ドット) , B (ドット) , C (ドット) は、 各チャンネル毎に、 つまり例えば RGBの各 色成分毎に、 上記 C P U 3から制御レジス夕 7 aに設定されるようになつている。
なお、 この図 26および後述する図 27, 図 28の図面中において、 そして以下に示す 図 26から図 28までの説明においては、 Zは数式 10の左辺に示す Z (2ドット) のこ とを ί旨し、 係数 A, Β, Cは数式 13の左辺に示す Α (ドヅト) , B (ドット) , C (ド, ヅト) のことを指している。
歪補正係数算出回路 22 aは、 上記グラント同期回路 27から許可信号 e— g rant が入力されたところで上記数式 11に基づき補間座標 X 2, Y 2を算出する歪補正用座標 算出回路 31と、 この歪補正用座標算出回路 31により算出された補間座標 X 2を浮動小 数に変換する浮動小数化回路 32 aと、 上記歪補正用座標算出回路 31により算出された 補間座標 Y 2を浮動小数に変換する浮動小数化回路 32 bと、 上記浮動小数化回路 32 a により浮動小数化された補間座標 X 2を 2乗する 2乗計算器 33 aと、 上記浮動小数化回 路 32 bにより浮動小数化された補間座標 Y 2を 2乗する 2乗計算器 33 bと、 上記 2乗 計算器 33 aにより算出された補間座標 X2の 2乗と上記 2乗計算器 33 bにより算出さ れた補間座標 Y2の 2乗とをカロ算することにより Z (より正確には、 上述したように Z ( 2ドヅト) 。以下同様) の 2乗を算出するカロ算器 34と、 このカロ算器 34からの出力を 2 乗することにより Zの 4乗を算出する 2乗計算器 33 cと、 上記加 34からの出力を 遅延させる ® 回路 35bと、 上記 2乗計算器 33 cにより算出された Zの 4乗とこの遅 延回路 35bにより遅延されタイミングを合わせて出力される Zの 2乗とを乗算すること により Zの 6乗を算出する乗算器 36と、 上記加算器 34からの出力を遅延させるととも に上記 2乗計算器 33 cからの出力を遅延させる遅延回路 35 aと、 この遅延回路 35 a からタイミングを合わせて出力される Zの 2乗および Zの 4乗と上記乗^^ 36から出力 される Zの 6乗とを用いて Ch. 0用, Ch. 1用, Ch. 2用の歪補正係数 FO, F 1 , F 2をそれぞれ算出する距離依存係数算出回路 40 a, 40 b, 40 cと、 を有して構 成されている。
図 27は上記距離依存係数算出回路 40 a, 40 b, 40 cの任意の 1つである距離依 存係数算出回路 40の構成を示すプロヅク図である。
この距離依存係数算出回路 40は、 上記遅延回路 35 aから されタイミングを合わ せて出力される Zの 2乗に上記 C P U 3から制御レジスタ 7 aに設定される係数 A (より 正確には、 上述したように A (ドット) 。 以下同様) を乗算する乗算器 4 laと、 上記遅 延回路 35 aから遅延されタイミングを合わせて出力される Zの 4乗に上記 C P U 3から 制御レジス夕 7 aに設定される係数 B (より正確には、 上述したように B (ドット) 。 以 下同様) を乗算する乗 4 lbと、 上記乗 ^§36から出力される Zの 6乗に上記 CP U 3から制御レジス夕 7 aに設定される係数 C (より正確には、 上述したように C (ドヅ ト) 。 以下同様) を乗算する乗算器 41 cと、 上記乗算器 41 aからの出力に上記 CPU 3から制御レジス夕 Ί aに設定される上記係数 Aの符号 s i gnAを与えて固定小数に変 換する固定小数化回路 42 aと、 上記乗^ §4 lbからの出力に上記 CPU3から制御レ ジス夕 7 aに設定される上記係数 Bの符号 s i gnBを与えて固定小数に変換する固定小 数化回路 42 bと、 上記乗 ¾§41 cからの出力に上記 CPU'3から制御レジス夕 7 aに 設定される上記係数 Cの符号 s i gnCを与えて固定小数に変換する固定小数化回路 42 cと、 上記固定小数化回路 42 aからの出力と上記固定小数化回路 42 bからの出力と上 記固定小数化回路 42 cからの出力と上記 C P U 3から制御レジス夕 7 aに設定される定 数 1. 0とを加算することにより上記数式 16に基づく歪補正係数 F (すなわち、 歪補正 係数 FO, Fl, F 2の何れか) を算出するカロ算器 43と、 を有して構成されている。 なお、 図 26および図 27において、 2重線で示している部分が、 浮動小数による演算 処理を行っている部分であり、 ダイナミヅクレンジの広い X2, Y2や Zなどを浮動小数 で扱うことにより、 精度を保ちながら回路 莫を縮小するようになつている。
このとき、 上記図 26に示したように、 歪補正係数算出回路 22 aの一部、 すなわち、 歪補正用座標算出回路 31、 浮動小数化回路 32a, 32b、 2乗計算器 33 a, 33b , 33c、 カロ^ §34、 遅延回路 35 a, 35 b, 乗^ |36は、 チャンネルによらない 共通した部分として構成されている。 これにより、 さらに回路夫 H臭の縮小を図って、 消費 電力を低減することができるようになっている。
また、 図 28は、 上記歪補正係数算出回路 22 aの構成の他の例を示すブロック図であ る。
この図 28に示す歪補正係数算出回路 22 aは、 上記歪補正用座標算出回路 31と、 上 記浮動小数化回路 32 aと、 上記浮動小数化回路 32 bと、 上記 2乗計 33 aと、 上 記 2乗計難 33 bと、 上記加算器 34と、 この加算器 34から出力される浮動小数化さ れた Z (より正確には、 上述したように Z (2ドット) 。 以下同様) の 2乗を用いて参照 を行うことにより固定小数化された歪補正係数 FO, F 1, F2をそれぞれ出力する LU T (ルックァヅプテーブル) 39 a, 39b, 39 cと、 を有して構成されている。 この図 28においても、 2重線で示している部分が、 浮動小数による演算処理を行って いる部分である。
このように、 この図 28に示す構成例は、 ルヅクァヅプテ一ブルを用いることにより、 歪補正係数 F 0 , F 1, F 2を算出するための処理時間を短縮し回路の消費電力を低減す るものとなっている。
なお、 この構成例を適用する:^には、 チャンネル毎の上記係数 A, B, Cは CPU 3 から設定されるものではなく、 固定値となっている。 もちろん、 ルヅクァヅプテ一ブルの 莫が大きくなつても構わない場合には、 上記係数 A, B, Cの複数の組み合わせに対応 するルヅクアツプテ一ブルをチヤンネル毎に用意しておいて、 適切なものを用いるように しても構わない。 次に、 図 29は、 上記 Ch. 0用歪補正回路 7A1の構成を示すブロック図である。 C h. 1用歪補正回路 7B1、 Ch. 2用歪補正回路 7 CIの構成も、 この Ch. 0用歪補 正回路 7 A 1の構成と同様であるために、 ここでは Ch. 0用歪補正回路 7 A 1について のみ説明する。
補間位置算出回路 2 laは、 上記着目点の座標 (XI, Y1) を上述したように算出す るためのものであり、 上言 間位置生成部 21に対応する回路部分である。
補間位置補正回路 22 bは、 上記歪補正係数算出回路 22 aにより算出された歪補正係 数 F0を用いて上記数式 12に示したように歪補正処理前の着目点の座標 (Χ, , Y, ) を算出するためのものであり、 上記歪補正座標変換部 22の一部となっている。
上記セレクタ 23は、 歪補正処理を行わない場合には (拡大縮小処理を行うか否かに関 わらず)上言 BS間位置算出回路 2 laからの座標 (XI, Y1) を選択し、 歪補正処理を 行う:^には (拡大縮小処理を伴うか否かに関わらず) 上言 3¾1間位置補正回路 22 から の座標 (X5 , Y' ) を選択するものである。
このセレクタ 23により選択された座標 (XI, Y1) または座標 (X5 , Y, ) には 、 制御レジスタ 7 aを介して上記 CPU 3により設定される歪中心位置の座標 (Xd , Y d )が、 カロ難 27a, 27bによりそれぞれ加算されるようになっている。
これらカロ難 27 a, 27bの出力は、 読出しアドレス生成回路 24 aとバヅファ開放 量算出回路 24 cとへ出力されるようになっている。
この読出しアドレス生成回路 24 aには、 さらに、 上言 Bffi間位置算出回路 2 laにより 算出された座標(XI, Y1) も上記セレクタ 23を介する経路とは別途に入力されるよ うになつている。 そして、 該読出しアドレス生成回路 24 aは、 この座標 (XI, Y1) に関連する画素データ (16点補間を行う場合には、 該座標 (XI, Y1) を中心とする 16個の画素データ) が記憶されているアドレス ADRを 2ポート SRAM25 aに出力 するとともに、 補間係数(例えば、 上記数式 5に示したような補間係数 kx0〜kx3, kyO 〜ky3) と出力する画素デ一夕が DO〜D15のどの位置の画素デ一夕であるかを示すデー 夕列制御信号とを補間回路 26 aに出力するようになっている。 さらに、 該読出しァドレ ス生成回路 24 aは、 書き込み許可信号 WE— NOを後段の Ch. 0に対応する処理プロ ヅクへ出力する。
上記 2ポート S R AM 25 aは、 上記図 2に示した内部メモリ部 25に対応する回路部 分である。 補間回路 26 aは、 上記図 2に示した補間演算部 26に対応するものであり、 上記 2ポ —ト SRAM25 aから読み出された画像デ一夕を用いて上言 3数式 5に示したような補間 処理を行い、 処理後の画像データを後段の処理プロヅクに出力するものである。
上記バヅファ開放量算出回路 24 cは、 上言 BM 位置算出回路 21 aからの出力と、 上 言 3¾ロ算器 27a, 27 bを介した上記セレクタ 23からの出力と、 に基づいて、 上記 2ポ —ト SRAM25 aにおいて開放可能な記憶容量 (バッファ開放量) を算出するものであ る。
ノ^ファ空き容量監視回路 24 dは、 このバッファ開放量算出回路 2 cの出力を参照 して、 上言32ポ一ト311八^125 aの空き容量の状況を把握するものである。
書込みアドレス生成回路 24bは、 前段の処理ブロックからの Ch. 0に係る画像デ一 夕を受けて、 上記 2ポート SRAM25 aに言己録するものである。
デ一夕送信可否判定回路 24 fは、 Ch. 0に係る後段の処理ブロックからの画像デ一 夕を要求する要求信号 REQ— NOを受けて、 上記書込みアドレス生成回路 24bとバヅ ファ開放量算出回路 24 cとの出力に基づき画像デ一夕の送信が可能であるか否かを判断 し、 可能である:^に要求信号 t r ok— 0を上記グラント同期回路 27へ出力するもの である。
次に、 この図 29に示したような歪補正処理部 7の動作について説明する。
バッファ空き容量監視回路 24 dは、 バッファ開放量算出回路 24 cを介して 2ポート SRAM 25 aの空き容量を監視し、 所定の空き容量があると、 Ch. 0に係る前段の処 理ブロックに対して所定のブロック単位の画像データ (以下、 適宜、 ュニヅトライン (U L)デ一夕という。 ) を送信するように要求信号 REQ—0を出す (ステップ S 21) o
Ch. 0に係る前段の処理ブロックは、 この要求信号 REQ— 0を受けて、 画像デ一夕 が送信可能になったところで許可信号 GRAN T—0を送信し、 上記バッファ空き容量監 視回路 24 dは、 この許可信号 GRANT— 0を受信する (ステップ S 22)。
該バッファ空き容量監視回路 24 dは、 2ポ一ト311八]\ 25&の空き容量を、 内部に 保持する力ゥン夕で把握するようになつており、 許可信号 G R ANTを受信すると同時に 、 この内部カウン夕の値を 1つ減らす。該バッファ空き容量監視回路 24 dは、 この内部 カウン夕が 0になったら、 上記要求信号 REQ—0を取り下げるように動作する (ステヅ プ S23)。
そして、 Ch. 0に係る前段の処理ブロックから、 書き込み許可信号 WE— 0が書込み アドレス生成回路 24bに入力され、 続いて画像デ一夕が入力される。 これに応じて、 書 込みァドレス生成回路 24 bは、 制御信号を 2ポート S R AM 25 aへ出力して、 画像デ 一夕 DATAを該 2ポート SHAM25 aの、 アドレス ADDRE S Sで指定される領域 に書き込む。 また、 書込みアドレス生成回路 24 bは、 1ULデ一夕が入力される毎に、 BLCカウンタ (内部バッファである 2ポート SRAM 25 aにどれだけのデ一夕が溜め られたかを示すカウン夕) をアップして、 デ一夕送信可否判定回路 24 fへ出力する (ス テツプ S 24)。
デ一夕送信可否判定回路 24 fは、 Ch. 0に係る後段の処理ブロックから要求信号 R E Q— N 0を受信すると、 次に送信することができる U Lデ一夕が 2ポート S R AM 25 a内にあるか否かを判定し、 あると判定した: ^には、 要求信号 t r ok— 0を上記グラ ント同期回路 27へ送信する (ステップ S 25)。
グラント同期回路 27は、 後述するように、 画像デ一夕の送信条件が整つたところで各 チヤンネルに係る後段の処理プロックおよび各チヤンネルに係る補間位置算出回路 21 a に対して許可信号 GRANT— NO, GRANT— Nl, GR AN T— N 2を出力する。
Ch. 0に係る補間位置算出回路 21 aは、 この許可信号 GRANT— NOを受けて動 作を開始し、 補間位置である座標 (XI, Y1)の算出動作を 1UL分行ったところで、 次の UL先頭座標を算出して終了する (ステップ S 26)。
上記グラント同期回路 27は、 補間位置算出回路 21 aが動作を開始して座標 (X 1 , Y1) を出力するのと同期して歪補正係数算出回路 22 aが歪補正係数 F 0を出力するこ とができるような夕イミングで、 許可信号 e— g rantを該歪補正係数算出回路 22a へ出力する (ステップ S 27)。
歪補正係数算出回路 22 aは、 許可信号 e— g rantを受けると、 各チヤンネルに係 る歪補正係数 F0, Fl, F 2を上記数式 16に基づき算出し、 各チャンネルの補間位置 補正回路 22 bへ出力する。 この歪補正係数算出回路 22 aも、 上言 Bffi間位置算出回路 2 laと同様に、 1UL分の動作を行ったところで、 次の UL先頭座標を算出して終了する
(ステップ S 28)。
Ch. 0に係る補間位置補正回路 22 bは、 この歪補正係数算出回路 22 aから受け取 つた歪補正係数 F0と、 上言 St間位置算出回路 2 laから受け取った座標 (XI, Y1) と、 を用いて、 上記数式 12に基づき座標 (X5 , Y, ) を算出する。 この補間位置補正 回路 22 bも、 上記歪補正係数算出回路 22 aに従って、 1 UL分の動作を行ったところ で、 次の UL先頭座標を算出して終了する (ステップ S 29)。
セレクタ 23は、 上記制御レジス夕 7 aを介して上言己 C P U 3により設定された動作モ —ドに従って、 歪補正処理を行う:^には上言彌間位置補正回路 22 bからの座標 (X, , Y' ) を選択し、 歪補正処理を行わない:^には上言 ¾t間位置算出回路 2 laからの座 標 (XI, Y1) を選択する (ズテヅブ S30)。
カロ算器 27 a, 27 bは、 このセレクタ 23により選択された座標 (XI, Y1) また は座標 (X5 , Y, ) に、 歪中心位置の座標 (Xd , Yd ) をそれそれ加算する (ステツ プ S31)。
読み出しアドレス生成回路 24 aは、 加 m§27a, 27 bから受け取った座標に基づ いて、 補間に用いるために 2ポート SRAM25 aから読み出す画素デ一夕のアドレス A DRを該 2ポ一ト SRAM25aに出力するとともに、 補間係数とデ一夕列制御信号とを 補間回路 26 aに出力する (ステップ S32)。
補間回路 26 aは、 読み出しァドレス生成回路 24 aから受け取った補間係数およびデ 一夕列制御信号と、 2ポート SRAM25 aから受け取った画素デ一夕と、 を用いて、 上 記数式 5に示すように、 補間された画素デ一夕を算出し、 Ch. 0に係る後段の処理プロ ヅクへ出力する (ステップ S33)。
ノ ソファ開放量算出回路 24 cは、 上言¾|間位置算出回路 21 aおよび加算器 27 a, 27bの出力に基づいて、 ULデ一夕を最後まで出力したことが確認されたら、 今処理を 終えた UL先頭座標と、 次の UL先頭座標との差を計算して、 必要なくなったデ一夕が蓄 積されているバッファ (2ポート SRAM25 a内の領域) を開放するために、 バッファ 開放量をバッファ空き容量監視回路 24 dへ出力するとともに、 次の UL処理を行うため に後どれだけのデ一夕を C h . 0に係る前段の処理プロヅクから受けることが必要である かを、 上記デ一夕送信可否判定回路 24 fへ送信する (ステップ S34) o
ノ ツファ空き容量監視回路 24 dは、 上記ステップ S 34において内部バッファである 2ポート SRAM25aに記憶領域の空きができたことが確認されたところで、 上記ステ ヅプ S21へ戻って、 上述したような処理を繰り返して行う (ステップ S35) o
デ一夕送信可否判定回路 24 fは、 上記書込みアドレス生成回路 24bからの BLC力 ゥン夕の値と、 ノ^ファ開放量算出回路 24 cからの出力と、 に基づいて、 次の ULデー 夕を後段の処理プロヅクに送信することができるか否かを判定し、 送信することができる と判定した:^には、 上記ステヅブ S 25の処理を行う (ステップ S36) 0 図 30はグラント同期回路 27の構成を示すブロック図、 図 31はグラント同期回路 2 7の動作を説明するための夕ィミングチヤ一トである。
まず、 上記制御レジス夕 7aを参照することにより得られる DT„ONは、 歪補正を行 うか否かを示すブール値を保持するものであり、 0 (偽) の場合には口一レベル、 1 (真 ) の:^にはハイレベルの信号として取得されるように構成されている。
このグラント同期回路 27は、 Ch. 0用歪補正回路 7A1からの要求信号 t r ok— 0と Ch. 1用歪補正回路 7B 1からの要求信号 t rok— 1と Ch. 2用歪補正回路 7 C 1からの要求信号 t r ok— 2との論理積をとるための AND回路 51と、 上記要求信 号 trok— 0, trok— 1, t r o k— 2と AND回路 51の出力との立ち上がりを 検出するための微分回路 52と、 DT—〇Nが口一レベルである:^には要求信号 t r o k— 0に係る微分回路 52の出力側に接続され該 DT— ONがハイレベルである:^には 上記 AND回路 51に係る微分回路 52の出力側に接続されるように切り換えられるスィ ヅチ 53 aと、 DT— ONが口一レベルである^には要求信号 t r ok— 1に係る微分 回路 52の出力側に接続され該 DT— ONがハイレベルである: ^には上記 AND回路 5 1に係る微分回路 52の出力側に接続されるように切り換えられるスイッチ 53bと、 D T— ONが口一レベルである: ^には要求信号 t r ok— 2に係る微分回路 52の出力側 に接続され該 DT— ONがハイレべノレである場合には上記 AND回路 51に係る微分回路 52の出力側に接続されるように切り換えられるスイッチ 53 cと、 上記 AND回路 51 に係る微分回路 52の出力と DT— ONとの論理積をとつて上記歪補正係数算出回路 22 aの歪補正用座標算出回路 31へ許可信号 e— grantとして出力する AND回路 54 と、 を有して構成されている。
このようなグラント同期回路 27の動作は、 次のようになっている。
まず、 DT— ONが口一レベルであるとき、 つまり歪補正を行わない:^には、 上記ス ィヅチ 53 a, 53 b, 53 cは、 要求信号 trok— 0, trok— 1, trok— 2 に係る検出する微分回路 52の出力側にそれそれ切り換えられている。
このときに、 図 31の左側に示すように、 要求信号 t r o k— 0にハイレベルの信号が 入力されると、 微分回路 52でその立ち上がりが検出されて、 GRANT— N0として出 力される。 次に、 要求信号 t r ok— 1にハイレベルの信号が入力されると、 微分回路 5 2でその立ち上がりが検出されて、 GRANT— N1として出力され、 さらにその後に、 要求信号 t r o k— 2にハイレベルの信号が入力されると、 微分回路 52でその立ち上が りが検出されて、 GRANT— N2として出力される。 このように、 DT— ONがローレ ベルであるときには、 3つのチャンネルからの画像デ一夕の出力は、 各チャンネル毎にそ れそれのタイミングで行われる。
また、 DT— ONがローレベルとなっているときには、 AND回路 51の出力如何に関 わらず、 AND回路 54の出力は口一レベルのままとなり、 許可信号 e— grantは出 力されない (あるいは不許可の出力となる) ために、 上記歪補正係数算出回路 22 aは歪 補正係数 F0, F 1, F 2の算出を行わない。従って、 各チャンネルに係る補間位置補正 回路 22 bも動作せず、 結局、 歪補間処理は行われないことになる。
次に、 DT— ONがハイレベルであるとき、 つまり歪補正を行う:^には、 上記スィヅ チ 53 a, 53b, 53 cは、 AND回路 51に係る微分回路 52の出力側に切り換えら れている。
このときに、 図 31の右側に示すように、 要求信号 t r o k_0にハイレベルの信号が 入力されても、 その時点では、 要求信号 trok__l, t r ok— 2は口一レベルのまま であるために、 該 AND回路 51の出力は口一レベルのまま維持される。
その後、 要求信号 t r o k— 0がハイレベルであって、 かつ要求信号 t r o k— 1がノ、 ィレベルとなった時点でも、 要求信号 t r ok— 2が口一レベルである間は、 AND回路 51の出力は口一レベルのままである。
そして、 要求信号 trok— 0, t r ok_l , t r o k_2の全てがハイレベルとな つた時点で、 AND回路 51の出力がハイレベルとなり、 微分回路 52でその立ち上がり が検出される。
この微分回路 52の出力は、 許可信号 GRANT— N0, GRANT— Nl, GRAN T__N 2として同時に出力されるとともに、 AND回路 54にも出力されて、 ハイレベル となっている D T—〇 Nと論理積がとられ、 許可信号 e— g r a n tとして上記歪補正係 数算出回路 22 aへ出力される。
このようにして、 DT— ONがハイレベルであるときには、 3つのチャンネルからの画 像データの出力は、 同期したタイミングで行われる。
このような第 3の実施形態によれば、 上述した第 1,第 2の実施形態とほぼ同様の効果 を奏するとともに、 歪補正と色収差補正とを行い得る回路,が小さく低消費電力な画像 処理装置となる。
特に、 歪補正係数算出回路の少なくとも一部を複数のチャンネルに対して共通化するこ とにより、 回路 莫を効果的に小さくし、 低消費電力化を図ることができる。 このとき、 ダイナミックレンジが広い数を浮動小数として扱って演算を行っているために、 精度を保 ちながら回路^ tを縮小することが可能となる。 そして、 歪補正係数をルックァヅプテー ブルを参照して求める場合には、 処理時間を^;縮しながら回路規模を縮小することが可能 となる。
また、 グラント同期回路を設けて、 各チャンネルからの画像デ一夕出力を同時に行うこ とができるようにしたために、 後段の処理プロヅクにおいて複数チヤンネルの画像データ を同時に必要とする場合に良好に対応することができる。 このとき、 グラント同期回路は 、 スィツチングにより複数チャンネルの画像データがそれそれのタイミングで出力される ように処理することも可能であるために、 必要に応じた選択を行うことが可能となる。 カロえて、 基本的な数式に基づく よりも乗算の回数が減るように変形した実用的な数 式に基づいて、 補間座標デ一夕を生成するようにしたために、 補間位置生成部や歪補正座 標変換部の内部に設ける乗 の個数を削減することができ、 回路 莫の縮小を図ること ができる。
さらに、 拡大縮小処理も、 歪補正処理と同一の回路で同時に行うことが可能となる利点 がある。
なお、 本発明は上述した難形態に限定されるものではな 発明の主旨を逸脱しない 範囲内において種々の変形や応用が可能であることは勿論である。 産業上の利用可能性
以上説明したように本発明の画像処理装置によれば、 )、'スのデ一夕転送量ゃメモリ容量 を増大させることなく、 画«理を行うことができる。
また、 拡大縮小処理と歪補正処理とを行い得る回路 ¾が小さく低消費電力な画丫魏理 装置となる。
さらに、 歪補正と色収差補正とを行い得る回路簾臭が小さく低消費電力な画像処理装置 となる。

Claims

請 求 の 範 囲
1 . 光学系を介して撮像することにより得られた電子的な画像デ一夕であって、 画素デ —夕が行方向および列方向に 2次元的に配列された画像デ一夕、 を処理する画像処理装置 において、
上記画像データを、 少なくとも画像処理を行う前に格納するとともに、 画像処理を行つ た後にも格納し得るメモリと、
上記画像デ一夕の上記 2次元的な配列におけるプロヅクを単位として、 上記メモリから バスを介して該ブロック内の画素デ一夕を行方向に読み出し、 その後に、 該ブロヅク内の 画素データを列方向に出力する第 1のデータ順序変換部と、
上記第 1のデ一夕順序変換部と上記バスとは異なる情報伝達経路でパイブライン処理可 能なように接続されていて、 該第 1のデ一夕順序変換部から列方向に出力される画像デ一 夕を入力して画像処理した後に該列方向に出力する画像処理部と、
上記画像処理部とパイプライン処理可能なように接続されていて、 該画像処理部から列 方向に出力される画像データを、 行方向の画像デ一夕に変換して出力する第 2のデ一夕順 序変換部と、
を具備したことを特数とする画像処理装置。
2 . 上記第 1のデ一夕順序変換部は、 上記メモリから読み出すプロヅク単位の画像デー 夕の行方向のサイズと列方向のサイズとの少なくとも一方を変更し得るものであることを とする請求の範囲第 1項に記載の画像処理装置。
3 . 上記画像処理を行う前の画像デ一夕は、 光学系により結像された被写体建を撮像 手段により光電変換して出力される撮像データと、 該撮像デ一夕に圧縮処理を除く所定の 処理を必要に応じて施した非圧縮画像データと、 上言 3ί最像データに圧縮処理を除く所定の 処理を必要に応じて施した後に圧縮処理した圧縮画像デ一夕と、 の内の何れかであること を ^とする請求の範囲第 1項に記載の画像処理装置。
4. 上記画像処理を行う前の画像データは、 光学系により結像された被写体光像を撮像 手段により光電変換して出力される撮像デ一夕と、 該撮像データに圧縮処理を除く所定の 処理を必要に応じて施した非圧縮画像データと、 上言 at像データに圧縮処理を除く所定の 処理を必要に応じて施した後に圧縮処理した圧縮画像デ一夕と、 の内の何れかであること を M (とする請求の範囲第 2項に記載の画像処理装置。
5 . 上記画像処理部は、 上記光学系に起因する歪曲収差を補正するための歪補正処理部 を有して構成されたものであることを特徴とする請求の範囲第 1項に記載の画像処理装置 o
6 . 上記画像処理部は、 上記光学系に起因する歪曲収差を補正するための歪補正処理部 を有して構成されたものであることを とする請求の範囲第 4項に記載の画 1»理装置
7. 上記歪補正処理部は、
補間座檫を生成.する補間座標生成部と、
上記画像データの一部を記憶するための内部メモリ部と、
上言 甫間座標生成部により生成された補間座標に基づき上記内部メモリ部に記憶された 画像デ一夕から該補間座標の画素デ一夕を生成する補間演算部と、
を有して構成されたものであることを特徴とする請求の範囲第 5項に記載の画像処理装
8 . 上記歪補正処理部は、
補間座標を生成する補間座標生成部と、
上記画像デ一夕の一部を記憶するための内部メモリ部と、
上言 甫間座標生成部により生成された補間座標に基づき上記内部メモリ部に記憶された 画像データから該補間座標の画素デ一夕を生成する補間演算部と、
を有して構成されたものであることを 敷とする請求の範囲第 6項に記載の画像処理装
9 . 上言翻座標生成部は、
歪補正後の画像において補間の対象とする画素の座標を生成する補間位置生成部と、 この補間位置生成部により生成された座標に対応する、 歪補正前の画像における座標を 求める歪補正座標変換部と、
を有して構成されたものであることを特徴とする請求の範囲第 7項に記載の画像処理装
1 0 . 上翻間座標生成部は、
歪補正後の画像において補間の対象とする画素の座標を生成する補間位置生成部と、 この補間位置生成部により生成された座標に対応する、 歪補正前の画像における座標を 求める歪補正座標変換部と、 を有して構成されたものであることを とする請求の範囲第 8項に記載の画像処理装 置。
1 1 . 上言 at間座標生成部は、 さらに、 上言 at間位置生成部により生成された座標と、 上記歪補正座標変換部により求められた座標と、 の何れかを選択して上言 at間演算部へ出 力するセレクタを有して構成されたものであることを特徴とする請求の範囲第 9項に記載 の画像処理装置。
1 2 . 上言 B 座標生成部は、 さらに、 上言 間位置生成部により生成された座標と、 上記歪補正座標変換部により求められた座標と、 の何れかを選択して上言 BM 演算部へ出 力するセレクタを有して構成されたものであることを とする請求の範囲第 1 0項に記
1 3 . 上記歪補正座標変換部は、 上言 BM間位置生成部により生成された座標に対応する 、 歪補正前の画像における座標を、 歪中心から補間位置までの距離の整数乗を線形結合し て得られる多項式を含む所定の補正式を用いて求めるものであることを とする請求の 範囲第 9項に記載の画像処理装置。
1 4. 上記歪補正座標変換部は、 上 ΐ¾€ 位置生成部により生成された座標に対応する 、 歪補正前の画像における座標を、 歪中心から補間位置までの距離の整数乗を線形結合し て得られる多項式を含む所定の補正式を用いて求めるものであることを特徴とする請求の 範囲第 1 0項に記載の画像処理装置。
1 5 . 上記歪補正座標変換部は、 上言 甫間位置生成部により生成された座標に対応する 、 歪補正前の画像における座標を、 歪中心から補間位置までの距離の整数乗を線形結合し て得られる多項式を含む所定の補正式を用いて求めるものであることを特徴とする請求の 範囲第 1 1項に記載の画像処理装置。
1 6 . 上記歪補正座標変換部は、 上言 as間位置生成部により生成された座標に対応する 、 歪補正前の画像における座標を、 歪中心から補間位置までの距離の整数乗を線形結合し て得られる多項式を含む所定の補正式を用いて求めるものであることを TOとする請求の 範囲第 1 2項に記載の画像処理装置。
1 7 . 上記多項式は、 上記距離の 2次項を越える高次項を含んだものであることを とする請求の範囲第 1 3項に記載の画像処理装置。
1 8 . 上記多項式は、 上記距離の 2次項を越える高次項を含んだものであることを とする請求の範囲第 1 4項に記載の画像処理装置。
1 9 . 上記多項式は、 上記距離の 2次項を越える高次項を含んだものであることを特徴 とする請求の範囲第 1 5項に記載の画像処理装置。
2 0 . 上記多項式は、 上記距離の 2次項を越える高次項を含んだものであることを特徴 とする請求の範囲第 1 6項に記載の画ィ«理装置。
2 1 . 上記画像処理部は、 上記歪補正処理部以外の他の画像処理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画像処理部へ出力するものであることを特徴とする請求の範囲第 1 3項に記載の画像処
2 2 . 上記画像処理部は、 上記歪補正処理部以外の他の画 理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画像処理部へ出力するものであることを特徴とする請求の範囲第 1 4項に記載の画像処
2 3 . 上記画像処理部は、 上記歪補正処理部以外の他の画纏理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画像処理部へ出力するものであることを特徴とする請求の範囲第 1 5項に記載の画像処
2 4 . 上記画 ί纏理部は、 上記歪補正処理部以外の他の画像処理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画像処理部へ出力するものであることを 11とする請求の範囲第 1 6項に記載の画 ίϋ¾
2 5 . 上記画像処理部は、 上記歪補正処理部以外の他の画像処理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画像処理部へ出力するものであることを特徴とする請求の範囲第 1 7項に記載の画像処
2 6 . 上記画像処理部は、 上記歪補正処理部以外の他の画像処理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画 it ^理部へ出力するものであることを,とする請求の範囲第 1 8項に記載の画像処
2 7 . 上記画像処理部は、 上記歪補正処理部以外の他の画 «理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画像処理部へ出力するものであることを,とする請求の範囲第 1 9項に記載の画像処
2 8 . 上記画像処理部は、 上記歪補正処理部以外の他の画像処理部をさらに含んで構成 されており、
上記歪補正座標変換部は、 上記歪中心から補間位置までの距離に関する情報を、 上記他 の画 1»理部へ出力するものであることを とする請求の範囲第 2 0項に記載の画像処
2 9 . 上記他の画像処理部は、 シェーディング補正部と、 口一パスフィルタ処理部と、 エッジ強調処理部と、 の内の 1つ以上を含むものであることを とする請求の範囲第 2 1項に記載の画 1»理装置。
3 0 . 上記他の画讓理部は、 シヱ一ディング補正部と、 口一パスフィルタ処理部と、 エッジ強調処理部と、 の内の 1つ以上を含むものであることを とする請求の範囲第 2 2項に記載の画像処理装置。
3 1 . 上記他の画像処理部は、 シェーディング補正部と、 口一パスフィル夕処理部と、 エッジ強調処理部と、 の内の 1つ以上を含むものであることを TOとする請求の範囲第 2 3項に記載の画像処理装置。
3 2 . 上記他の画像処理部は、 シェーディング補正部と、 口一パスフィル夕処理部と、 エッジ強調処理部と、 の内の 1つ以上を含むものであることを TOとする請求の範囲第 2 4項に記載の画像処理装置。
3 3 . 上記他の画像処理部は、 シェーディング補正部と、 口一パスフィル夕処理部と、 ェヅジ強調処理部と、 の内の 1つ以上を含むものであることを 11とする請求の範囲第 2 5項に記載の画像処理装置。
3 4 . 上記他の画讓理部は、 シェ一ディング補正部と、 口一パスフィル夕処理部と、 ェヅジ強調処理部と、 の内の 1つ以上を含むものであることを特徴とする請求の範囲第 2 6項に記載の画 11 ^理装置。
3 5 . 上記他の画舰理部は、 シェ一デイング補正部と、 ローパスフィル夕処理部と、 エッジ強調処理部と、 の内の 1つ以上を含むものであることを (とする請求の範囲第 2 7項に記載の画像処理装置。
3 6 . 上記他の画像処理部は、 シエーディング補正部と、 口一パスフィル夕処理部と、 エッジ強調処理部と、 の内の 1つ以上を含むものであることを とする請求の範囲第 2 8項に記載の画像処理装置。
3 7 . 光学系を介して撮像することにより得られた電子的な画像データに、 歪補正処理 および拡大縮小処理を含む画像処理を行い得る画像処理装置であって、
歪補正処理と拡大縮小処理とを含み得る画像処理に係る補間処理を行った後の画素位置 に対応する補間処理前の座標デ一夕である補間座標デ一夕を生成するための補間座標生成 部と、
上記画像デ一夕の少なくとも一部を格納するためのメモリ部と、
上言 BM 座標データに基づいて、 上記画像デ一夕の一部を上記メモリ部に書き込む制御 と該メモリ部から読み出す制御とを行うメモリ制御部と、
上記メモリ制御部の制御により上記メモリ部から読み出された画像デ一夕を補間演算す ることにより、 補間処理を行った後の画素位置における画像データを生成する補間演算部 と、
を有して構成される歪補正処理部を具備したことを とする画像処理装置。
3 8 . 上謹間座標生成部は、
歪補正処理を含まず拡大縮小処理を含み得る画像処理に係る補間処理を行った後の画素 位置に対応する補間処理前の座標データである補間位置を生成する補間位置生成部と、 上言 BS間位置生成部により生成された補間位置を用いて、 歪補正処理を含み得る画像処 理に係る補間処理を行った後の画素位置に対応する補間処理前の座標データである補間座 標デ一夕を生成する歪補正座標変換部と、
歪補正処理を行わない場合には上言 B 間位置生成部の出力を選択し、 歪補正処理を行う には上記歪補正座標変換部の出力を選択して、 上記メモリ制御部へ出力するセレク夕 と、
を有して構成されたものであることを特徴とする請求の範囲第 3 7項に記載の画像処理
3 9 . 上記歪補正座標変換部は、
上記光学系の歪曲収差による座標の変ィ匕を示す係数である歪補正係数を算出する歪補正 係数算出回路と、
上記歪補正係数算出回路により算出された歪補正係数を用いて、 上 位置生成部に より生成された補間位置を補正することにより上言 at間座標デ一夕を生成する補間位置補 正回路と、
を有して構成されたものであることを ^とする請求の範囲第 3 8項に記載の画像処理
4 0 . 上記歪補正処理部は、 クロックを供給されることにより動作を行うものであって 該歪補正処理部における上記歪補正座標変換部は、 該歪補正処理部における該歪補正座 檫変換部以外の部分に供給されるクロックとは異なるク口ヅクが供給され得るように構成 されていることを特徴とする請求の範囲第 3 8項に記載の画像処理装置。
4 1 . 上記歪補正処理部は、 クロックを供給されることにより動作を行うものであって 該歪補正処理部における上記歪補正座標変換部は、 該歪補正処理部における該歪補正座 標変換部以外の部分に供給されるクロヅクとは異なるク口ヅクが供給され得るように構成 されていることを とする請求の範囲第 3 9項に記載の画 «理装置。
4 2 . 上記歪補正処理部は、 クロックを供給されることにより動作を行うものであって 上言 Bffi間位置生成部、 または該補間位置生成部および上記歪補正座標変換部は、 補間位 置の生成、 または補間位置の生成および補間座標デ一夕の生成を、 毎クロックではない隔 クロックに行レ、得るように構成されたものであることを とする請求の範囲第 3 8項に
4 3 . 上記歪補正処理部は、 クロックを供給されることにより動作を行うものであって 上言 3 間位置生成部、 または該補間位置生成部および上記歪補正座標変換部は、 補間位 置の生成、 または補間位置の生成および補間座標データの生成を、 毎クロヅクではない隔 クロヅクに行い得るように構成されたものであることを とする請求の範囲第 3 9項に
4 4 . 上記歪補正処理部は、 クロックを供給されることにより動作を行うものであって 上言 Bffi間位置生成部、 または該補間位置生成部および上記歪補正座標変換部は、 補間位 置の生成、 または補間位置の生成および補間座標デ一夕の生成を、 每クロックではない隔 クロックに行い得るように構成されたものであることを とする請求の範囲第 4 0項に 記載の画像処理装置。
4 5 . 上記歪補正処理部は、 クロックを供給されることにより動作を行うものであって 上言識間位置生成部、 または該補間位置生成部および上記歪補正座標変換部は、 補間位 置の生成、 または補間位置の生成および補間座標デ一夕の生成を、 毎クロックではない隔 クロックに行 V、得るように構成されたものであることを特徴とする請求の範囲第 4 1項に
4 6 . 上記歪補正座標変換部は、 基本的な数式に基づく: ^よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標データを生成するように構成されたもの であることを特徴とする請求の範囲第 3 8項に記載の画 理装置。
4 7 . 上記歪補正座標変換部は、 基本的な数式に基づく場合よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標デ一夕を生成するように構成されたもの であることを特徴とする請求の範囲第 3 9項に記載の画像処理装置。
4 8 . 上記歪補正座標変換部は、 基本的な数式に基づく場合よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標デ一夕を生成するように構成されたもの であることを ί|¾1とする請求の範囲第 4 0項に記載の画像処理装置。
4 9 . 上記歪補正座標変換部は、 基本的な数式に基づく よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標データを生成するように構成されたもの であることを特徴とする請求の範囲第 4 1項に記載の画 «理装置。
5 0 . 上記歪補雄標変換部は、 基本的な数式に基づく場合よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標データを生成するように構成されたもの であることを とする請求の範囲第 4 2項に記載の画像処理装置。
5 1 . 上記歪補確標変換部は、 基本的な数式に基づく よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標デ一夕を生成するように構成されたもの であることを とする請求の範囲第 4 3項に記載の画像処理装置。
5 2 . 上記歪補正座標変換部は、 基本的な数式に基づく場合よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標デ一夕を生成するように構成されたもの であることを特徴とする請求の範囲第 4 4項に記載の画像処理装置。
5 3 . 上記歪補正座標変換部は、 基本的な数式に基づく場 よりも乗算の回数が減るよ うに変形した実用的な数式に基づいて、 補間座標データを生成するように構成されたもの であることを とする請求の範囲第 4 5項に記載の画像処理装置。
5 4 . 上記歪補正係数算出回路は、 上記歪補正係数を、 歪補正後の画像内の注目画素に 対応する位置と歪中心位置との間の距離に基づいて算出するものであって、 該算出におけ る演算処理の少なくとも一部を浮動小数演算により行うように構成されていることを特徴 とする請求の範囲第 3 9項に記載の画像処理装置。
5 5 · 上言 3歪補正係数算出回路は、 上記距離の 2乗値と上記歪補正係数との対応関係を 記憶するルヅクアツプテーブルを有して構成されており、
該距離の 2乗値を上記浮動小数演算により求めて、 求めた距離の 2乗値に基づき該ルヅ クアツプテ一ブルを参照することにより上記歪補正係数を求めるものであることを特徴と する請求の範囲第 5 4項に記載の画像処理装置。
5 6 . 光学系を介して撮像することにより得られた電子的な画像デ一夕であって、 複数 の成分で構成される画像データ、 を処理する画 1»理装置において、
上記光学系に起因する歪曲収差を補正するのに用いるための歪補正係数を、 歪中 ii 立置 からの距離に基づき、 上記成分毎に算出する歪補正係数算出部と、
上記歪補正係数算出部により算出された成分毎の歪補正係数を用いて、 上記画像デ一夕 を成分毎に歪補正する歪補正演算部と、
を有して構成される歪補正処理部を具備したことを' TOとする画像処理装置。
5 7 . 上記歪補正演算部は、 上記画像デ一夕を構成する全ての成分に一対一に対応して 複数設けられたものであることを,とする請求の範囲第 5 6項に記載の画像処理装置。 5 8 . 上記歪補正演算部は、 画像データを記憶するための内部バッファを有して構成さ れるとともに、 歪補正処理を行うに必要な画像データが該内部ノ ヅファに蓄積された段階 で歪補正処理開始要求を出力するものであり、
上言 at数の歪補正演算部の全てからの歪補正処理開始要求が揃つた後に、 これら全ての 歪補正演算部に対して歪補正処理を開始させるように制御するグラント同期部をさらに具 備したことを とする請求の範囲第 5 7項に記載の画像処理装置。
5 9 . 上記グラント同期部は、 歪補正係数の算出処理を許可するための許可信号を上記 歪補正係数算出部に出力して、 該歪補正係数算出部による全ての成分に係る歪補正係数の 算出を開始させることにより、 全ての歪補正演算部に対して歪補正処理を開始させるよう に制御するものであることを待敷とする請求の範囲第 5 8項に記載の画 ί«理装置。
6 0 · 上記歪補正係数算出部は、 その少なくとも一部が、,上記成分毎の歪補正係数を算 出する際に全ての成分に対して共通に用いられる部分として構成されたものであることを とする請求の範囲第 5 6項に記載の画像処理装置。
6 1 . 上記歪補正係数算出部は、 その少なくとも一部が、 上記成分毎の歪補正係数を算 出する際に全ての成分に対して共通に用いられる部分として構成されたものであることを 牛 ^(とする請求の範囲第 5 7項に記載の画像処理装置。
6 2 . 上記歪補正係数算出部は、 その少なくとも一部が、 上記成分毎の歪補正係数を算 出する際に全ての成分に対して共通に用いられる部分として構成されたものであることを 特徴とする請求の範囲第 5 8項に記載の画像処理装置。
6 3 . 上記歪補正係数算出部は、 その少なくとも一部が、 上記成分毎の歪補正係数を算 出する際に全ての成分に対して共通に用いられる部分として構成されたものであることを 特徴とする請求の範囲第 5 9項に記載の画像処理装置。
6 4 . 上記歪補正係数算出部は、 上記歪中心位置からの 離の 2乗値を算出して、 該 2 乗値に基づき上記歪補正係数を成分毎に求めるものであり、
上記全ての成分に対して共通に用いられる部分は、 この歪中心位置からの距離の 2乗値 を算出する部分であることを特徴とする請求の範囲第 6 0項に記載の画像処理装置。 6 5 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値を算出して、 該 2 乗値に基づき上記歪補正係数を成分毎に求めるものであり、
上記全ての成分に対して共通に用いられる部分は、 この歪中心位置からの距離の 2乗値 を算出する部分であることを特徴とする請求の範囲第 6 1項に記載の画像処理装置。 6 6 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値を算出して、 該 2 乗値に基づき上記歪補正係数を成分毎に求めるものであり、
上記全ての成分に対して共通に用いられる部分は、 この歪中心位置からの距離の 2乗値 を算出する部分であることを特徴とする請求の範囲第 6 2項に記載の画像処理装置。 6 7 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値を算出して、 該 2 乗値に基づき上記歪補正係数を成分毎に求めるものであり、
上記全ての成分に対して共通に用いられる部分は、 この歪中心位置からの距離の 2乗値 を算出する部分であることを とする請求の範囲第 6 3項に記載の画像処理装置。 6 8 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値と上記歪補正係数 との対応関係を記憶するルックァヅプテ一ブルを上記成分毎に有して構成されており、 上記算出した距離の 2乗値に基づき上記成分毎のルヅクァヅプテーブルを参照すること により、 上記歪補正係数を成分毎に求めるものであることを特徴とする請求の範囲第 6 4 項に記載の画像処理装置。
6 9 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値と上記歪補正係数 との対応関係を記憶するルヅクァヅプテ一ブルを上記成分毎に有して構成されており、 上記算出した距離の 2乗値に基づき上記成分毎のルヅクァヅプテーブルを参照すること により、 上記歪補正係数を成分毎に求めるものであることを 致とする請求の範囲第 6 5 項に記載の画像処理装置。
7 0 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値と上記歪補正係数 との対応関係を記憶するルヅクァヅプテーブルを上記成分毎に有して構成されており、 上記算出した距離の 2乗値に基づき上記成分毎のルヅクアツプテ一ブルを参照すること により、 上記歪補正係数を成分毎に求めるものであることを とする請求の範囲第 6 6 項に記載の画像処理装置。
7 1 . 上記歪補正係数算出部は、 上記歪中心位置からの距離の 2乗値と上記歪補正係数 との対応関係を記憶するルヅクアツプテーブルを上記成分毎に有して構成されており、 上記算出した距離の 2乗値に基づき上記成分毎のルヅクァヅプテ一ブルを参照すること により、 上記歪補正係数を成分毎に求めるものであることを とする請求の範囲第 6 7 項に記載の画像処理装置。
PCT/JP2004/007855 2003-06-02 2004-05-31 画像処理装置 WO2004109597A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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