WO2004109597A1 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
WO2004109597A1
WO2004109597A1 PCT/JP2004/007855 JP2004007855W WO2004109597A1 WO 2004109597 A1 WO2004109597 A1 WO 2004109597A1 JP 2004007855 W JP2004007855 W JP 2004007855W WO 2004109597 A1 WO2004109597 A1 WO 2004109597A1
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
WO2004109597A9 (ja
Inventor
Hideaki Furukawa
Masaki Higurashi
Akira Ueno
Original Assignee
Olympus Corporation
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 Corporation filed Critical Olympus Corporation
Priority to EP04735521.9A priority Critical patent/EP1657675B1/en
Priority to US10/558,994 priority patent/US7636498B2/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 after performing various image processing on the image pickup device, the image data is compressed by a compression method such as JPEG to record a memory card or the like.
  • a compression method such as JPEG to record a memory card or the like.
  • the image is recorded on a medium, and an electronic imaging device such as a 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,. , And various types of image processing such as low-pass fill processing, edge enhancement processing, and scaling processing are performed.
  • the processed image signal is further compressed by a compression method such as JPEG and recorded on a 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 apparatus includes a CCD 91, a pre-process ⁇ ! ⁇ 92, a frame memory 94, a first image processing section 95a, a second image processing section 95b,. , A JPEG processor, a memory card, etc., and a bus, which connects the above circuits except for the CCD, and a CPU, which will be described later, Including circuit And a CPU 93 that controls the image processing apparatus in a comprehensive manner.
  • the image processing apparatus having the configuration as shown in FIG. 33 performs the processing as shown in FIG. 32 above. Specifically, the following procedure is performed for ⁇ .
  • the image data from the pre-processing section 92 is temporarily stored in the frame memory 94 via the bus 98.
  • image data is read out from the frame memory 94, input to the first image processing unit 95a via the bus 98, and the first image processing is performed. Write the evening into 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 unit 95 b via the bus 98, and the second image Processing is performed, and the processed image data is written into the frame memory 94.
  • the same processing is repeated for each image processing unit.
  • the image data flows through the bus 98 many times, but since the image data generally has a large data size, a large load is imposed on 98. Will be involved. Such a large load on the bus 98 is more remarkable when the link is used.
  • Japanese Patent Application Laid-Open No. 2 ⁇ 00-311 327 discloses an image stored in a frame memory in a predetermined direction (column direction) in units of blocks to perform a pre-processing. A technique for reducing the buffer amount is also described, so that an image processing device with low power consumption and memory saving can be configured.
  • distortion is generally generated to a large or small degree.
  • 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 the embodiment of the present invention). See).
  • the cameras currently on the market have a large number of ⁇ 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, there is no need to provide a buffer in the image processing unit, and thus there is an advantage that the circuit scale 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, it is necessary to compare the images as a buffer to obtain a corrected image for one line. Larger capacity is required, and the larger the circuit, the higher the manufacturing cost and the higher the power consumption. 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 processing circuits become large.Therefore, in a configuration in which both processing circuits are simply provided, the circuit configuration becomes large, and the power consumption increases. Manufacturing costs also increase.
  • 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 per second / memory capacity. It is.
  • Another object of the present invention is to provide an image processing apparatus which can perform enlargement / reduction processing and distortion correction processing, has a small circuit block, and consumes low power.
  • a further object of the present invention is to provide an image processing apparatus having a small circuit size and low power consumption capable of performing distortion correction and chromatic aberration correction.
  • the present invention relates to an electronic image data obtained by imaging through an optical system
  • an image processing apparatus for processing image data in which pixel data is two-dimensionally arranged in a row direction and a column direction
  • the image data is stored at least before image processing and after image processing.
  • a pixel data in the block is read out from the memory via a nos in a row direction from the memory in units of blocks in the two-dimensional array of the image data, and thereafter the block is read out.
  • a first data sequence converter for outputting pixel data in the column in the column direction, and a pipeline capable of performing pipeline processing on a different information transmission path from the first data sequence converter and the bus.
  • An image processor connected to the first data order converter and output in the column direction from the first data order converter, inputting the image data and performing image processing, and then outputting the image data in the column direction; and the image processor and the pipeline It can be processed An image data output from the image processing unit in the column direction and a second data order conversion unit that converts the image data into image data in the row direction and outputs the image data. is there.
  • 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.
  • An interpolation coordinate generation unit for generating interpolation coordinate data which is coordinate data before interpolation processing corresponding to a pixel position after performing interpolation processing related to image processing which may include normal processing and scaling processing,
  • a memory unit for storing at least a part of the image data, and a control for writing a part of the image data to the memory unit and a control for reading out from the memory unit based on the above-described inter-coordinate data.
  • An image processing apparatus provided with a distortion correction processing unit configured to include:
  • the present invention relates to an image processing apparatus for processing an electronic image data obtained by capturing an image via an optical system
  • the image processing device comprises: A distortion correction coefficient calculating means for calculating a distortion correction coefficient for use in correcting distortion caused by the optical system for each component based on a distance from a distortion center position, and a distortion correction coefficient calculating means for calculating the distortion correction coefficient.
  • a distortion correction operation unit configured to correct the image data for each component using the distortion correction coefficient for each component.
  • FIG. 1 is a block diagram showing a configuration of an image processing apparatus according to a first difficult mode 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 the reading order of image data in the above-described first embodiment.
  • FIG. 3 is a block diagram showing a configuration of a data sequence converter 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 image data read out in the vertical direction differs according to the distance from the center of distortion in the first ⁇ 5 ⁇ mode.
  • FIG. 10 shows image data read out according to the distance from the center of distortion in the first embodiment.
  • FIG. 11 is a block diagram showing a first modification of the configuration of the image processing apparatus according to the first embodiment.
  • FIG. 12 is a block diagram showing a second modification of the configuration of the image processing apparatus in the first difficult mode.
  • FIG. 13 is a block diagram showing a third modification of the configuration of the processing device according to the first embodiment.
  • FIG. 14 is a block diagram showing a fourth modification of the configuration of the image processing apparatus according to the first difficult mode.
  • 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 showing an example of the configuration of the distortion correction coefficient calculation circuit in 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.
  • Figure 20 shows the second! In the form, a timing chart showing a state in which an interpolation position is generated once every three clocks.
  • 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 image data stored in the internal memory unit at the time when the interpolation data according to ⁇ can be calculated in the third embodiment.
  • FIG. 24 shows the state of the image data stored in the internal memory unit at the time when it is possible to calculate the interpolation data related to that of R, G, ⁇ in the third embodiment.
  • FIG. 25 is a block diagram showing a more detailed configuration of the distortion correction processing unit in the third embodiment.
  • FIG. 26 is a block diagram showing 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.
  • 2 8 is a professional brute view showing another example of the configuration of the distortion compensation coefficient calculating circuit in the third ⁇ forms.
  • FIG. 29 is a block diagram showing a configuration of a Ch.0 distortion correction circuit in the third embodiment.
  • FIG. 30 is a block diagram showing a configuration of a grant synchronization circuit in the third embodiment.
  • FIG. 31 is a timing chart for explaining the operation of the grant synchronization circuit in the third ⁇ form.
  • 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 an image processing apparatus of the above-mentioned * for performing the general image processing as shown in FIG. .
  • FIG. 34 is a diagram for explaining the amount of memory conventionally required for performing distortion correction processing.
  • 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.
  • a pre-processing unit 2 for performing pre-processing such as pixel defect correction and A / D conversion, a frame memory 4 for storing a frame image processed by the pre-processing unit 2, and a frame memory 4
  • a first data order conversion unit 5 for reading out the stored image data for each predetermined block via a bus 11 described later, temporarily storing the read out image data, and thereafter changing and outputting the readout order; and a first data order conversion unit 5
  • An image processing unit 6 that performs predetermined image processing on the image data output from the image processing unit; and an image processing unit that performs a distortion process on the image data processed by the image processing unit 6.
  • Barrel distortion The same direction as when the primary processing unit 7 and the image data for each process output from the distortion correction processing unit 7 are temporarily stored and read out from the frame memory 4 by the first data / sequence order conversion unit 5 described above.
  • 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 passed to the path 11.
  • a memory card or the like 10 which is a non-volatile storage means for reading out, inputting and storing as an image file via the I / O, a bus 11 connecting each of the circuits except for the CCD 1 and a CPU 3 which will be described later, And a CPU 3 that is a control means for controlling the image processing device including the respective circuits as a whole.
  • the first data-to-night sequence converter 5 to the JPEG processor 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. Therefore, the image data is transferred and processed in a predetermined process unit 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 node 11 can be greatly reduced. By performing the processing in units of blocks, the capacity of the internal buffer unit of the image processing unit can be reduced.
  • only one image processing unit 6 for performing image processing is provided.
  • examples of the image processing include, as described above, a conversion process from a plowing signal to a three-plate signal, a mouth-to-pass fill process, a page enhancement process, a scaling process, and the like.
  • 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 the configuration of the distortion correction processing section 7.
  • the distortion correction processing unit 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 preceding processing block corresponds to the image processing unit 6
  • the subsequent processing block corresponds to the second data order changing unit 8.
  • the distortion correction processing unit 7 is provided with a control register 7a, in which a set value and various data for the distortion correction processing unit 7 from the CPU 3 are set. Status 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.
  • the image data in this coordinate system (X, Y) before the distortion correction process is started, of course, nothing has been obtained yet.
  • Points of interest in the true mark system (X, Y) (This corresponds to the coordinates of each pixel in the image after the distortion correction processing, and is similarly expressed as (X, Y).) Is set, and the coordinates (interpolated coordinate data) ( ⁇ ,, ⁇ ') of the image corresponding to the point of interest (X, Y) are obtained by coordinate transformation (see FIG. 4 ( ⁇ )).
  • the correspondence between (X, ⁇ ) and ( ⁇ ,, ⁇ ,) is determined by the optical properties of the optical system for forming the subject 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 coordinates (X,, Y ') are obtained from the correspondence in this manner, the coordinates of the surrounding image data necessary for obtaining the image data at the coordinates (X,, Y,) are determined. .
  • Cubic interpolation processing is performed; ⁇ , as shown in FIG. 5, the coordinates ( ⁇ ,, Y,) (the point where the image data is Dout in FIG. 5) The coordinates of 16 points are determined.
  • the image data Dout at the coordinates (X,, Y ') indicated by the white circle is calculated using a predetermined interpolation formula. By obtaining this, it becomes the image data at the point of interest (X, Y) of the image after the distortion correction processing.
  • 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.
  • select the coordinates (X, ⁇ ) output from the above-mentioned intersymbol position generator 21 and perform distortion correction processing:
  • Coordinates ( ⁇ ,,) output from the distortion correction coordinate converter 22
  • Selector 23 for selecting ( ⁇ ,) and peripheral pixels necessary for controlling the reading of image data from the preceding processing block and performing interpolation processing corresponding to the coordinates output from the selector 23
  • a memory control unit 24 for controlling the internal memory unit 25, and a memory for storing the image data from the preceding processing block. Under the control of the memory control unit 24, the image data of peripheral pixels necessary for interpolation are stored.
  • An internal memory unit 25 that outputs the image 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 operation unit 26 for obtaining the image data at the point of interest based on the above, for example, by Cubic interpolation as described above, and outputting the image data to the subsequent processing block.
  • the above-mentioned inter-Bffi position generator 21, the distortion correction coordinate converter 22, and the selector 23 are elements constituting the interpolation coordinate generator 20.
  • the upper knitting position generating unit 21 uses the interpolation start position (XST, YST) and the interpolation step ( ⁇ , ⁇ ) set in the control register 7a from the CPU 3 and calculates the following equation (1). Thus, 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 Y in the Y direction.
  • start position between the above (1) (XST, YST) can be set to an arbitrary position in the image.
  • the image can be enlarged or reduced by setting the CPU 3 to indigo.
  • 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 interval position generation unit 21. 3 , Y,) is calculated as follows.
  • the coordinates (Xd, Yd), the center shift correction amount (Xoff, Yoff), and the range correction magnification M of the distortion center position are set in the control register 7a by the CPU 3 described above. I have.
  • the coordinates (X, Y) of the distortion center position are used.
  • the coordinates (X, Y,) of the point of interest before the distortion correction process 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, Although it was possible to correct to some extent the distortion of the pincushion type and the pincushion-type distortion as shown in Fig. 3 (C), it was possible to correct the distortion as shown in Fig. 3 (D). It was not possible to correct the hat-shaped distortion.
  • Equation 4 up to the order exceeding the second-order term of Z, that is, up to the fourth-order term or the sixth-order term, for example, 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 interpolation operation unit 26 reads out the image data DO to D15 of the pixels near the coordinates from the internal memory unit 25, and obtains the following equation: By using No. 5, the image data Dout after the distortion correction process for the point of interest is calculated and output to the subsequent block.
  • FIG. 6 is a diagram showing a reading order of image data overnight in the first embodiment.
  • image data is read in the line direction, that is, in the row direction. For example, all image data of one line is read, and then all image data of an adjacent line are read. Generally, the operation is repeatedly performed.
  • the image processing apparatus of the first embodiment 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 the predetermined number of rows are collected. 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 out, shifted slightly 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 converter 8 partially overlaps.
  • 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 switchably connected to these memories 5a and 5b.
  • the memory 4 is connected to one of the memory 5a and the memory 5b, the memory 5a is switched so that the other of the memory 5a and the memory 5b is connected to the image processing unit 6.
  • the memories 5a and 5b are switched so as not to be connected to both the frame memory 4 and the image processing unit 6 at the same time.
  • a part of the frame image stored in the frame memory 4 is read in the line direction in block units, and is stored in one memory, here, for example, the memory 5a.
  • the image data of the block unit which has already been read and stored from the frame memory 4 is sequentially read in the column direction (vertical direction), and the image port is read. Output to the processor 6.
  • the second date / time sequence conversion unit 8 is also configured in substantially the same manner as the first date / time j-injection conversion unit 5 and operates almost in the same manner. ing. That is, the second data overnight 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 (composition direction) and output to the JPEG processing unit 9.
  • FIG. 8 is a diagram showing 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 in FIG. 8 intersect is 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, and thus the frame memory). Image data read out from step 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, points (4 ⁇ 5 dots) are shown. For example, these points are arranged so that the distortion correction processing is performed in units of 5 dots arranged in the vertical direction, for example, the rightmost vertical in a block of 4 ⁇ 5 in the vertical direction.
  • the amount of buffer required to process 5 dots is in the range indicated by the arrow in Fig. 8, that is, an input consisting of 9 dots vertically and 7 dots horizontally. It is a block of image data. (However, this is a case where image data of 16 points around the point of interest is required when performing Cubic interpolation. 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 is large at a place far from the center of distortion, and the number of pixels read out vertically is small at a place 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 image data to be read and the read start position are changed according to the distance from the center of distortion.
  • 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 image data is also changed in units of blocks.
  • barrel-shaped distortion as shown in the figure occurs: ⁇ indicates the image data in block units at the left and right ends according to the shape of the curve based on the aberration.
  • the starting position for reading out image data in units of a work is set slightly upward in the vertical direction.
  • barrel-shaped distortion is generated: ⁇ is shown as an example.However, even if pincushion-type or Jinkasa-type distortion is generated, according to the shape of the generated distortion, Of course, 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 distortion of the image data processed by the image processing unit 6 is corrected.
  • the present invention is not limited to this.
  • FIG. 11 is a block diagram illustrating a first modification of the configuration of the image processing apparatus.
  • Fig. 11 shows a configuration in which the imaging data output from the CCD 1 (for example, Bayer data) 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.
  • image data that has been made into three plates by the image processing unit 6 is processed for each color.
  • the distortion correction processing may be performed on the video data output from the CCD 1 having the color filter.
  • the interpolation process is not performed using a plurality of adjacent pixels (for example, 16 pixels), but is performed using adjacent pixels of the same color in the Payer array. According to this configuration, the amount of data on which distortion correction is performed can be reduced as compared with the image data after being made into three plates.
  • FIG. 12 is a block diagram showing a second modification of the configuration of the image processing apparatus.
  • Reference numeral 2 denotes a configuration example in which image data recorded in a memory card or the like 10 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.
  • recording is performed as uncompressed data such as TIFF on memory card 10 etc .: ⁇ indicates that it is possible to execute image processing including distortion correction without particular expansion processing. is there.
  • 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 for displaying an image without being compressed.
  • the image data converted into the original data order by the second data order converter 8 is written to the video memory 12 via the bus 11 without being compressed by a compression method such as JPEG, and is converted into an image. It is displayed.
  • FIG. 14 is a block diagram showing a fourth modification of the configuration of the image processing device.
  • 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 as an image processing unit for correcting a peripheral light quantity shortage caused by the above-described optical system, and an image for cutting unnecessary high-frequency components are provided downstream of the image processing unit 6.
  • a low-pass fill (LPF) processing unit 15 serving as a processing unit, the distortion correction processing unit 7 described above, and a page enhancement processing unit 16 serving as an image processing unit for enhancing an edge portion in an image are arranged on the pipeline processing path in this order. It is located at Then, 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 the processing is performed as necessary.
  • LPF low-pass fill
  • 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.
  • when distortion is corrected, the peripheral portion of the image is elongated and the sharpness of the image is reduced.
  • 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 distance information individually, the circuit size can be reduced. 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 at a preceding stage on the pipeline processing path.
  • a processing block for calculating the distance Z may be configured separately, and may be arranged at a stage preceding each block using the distance information.
  • Image processing is performed on 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 in a digital camera or video camera, or
  • the image data is not limited to the uncompressed image data obtained by processing the image data or the compressed image data obtained by compressing the image data after being processed. Even if the image or the like is obtained by capturing a film or a print with an imaging means such as a scanner, the image can be subjected to the above-described distortion correction processing.
  • the target of image processing is not limited to image data in which pixel data are perfectly aligned in the row direction and the column direction.
  • image data is captured by an image sensor having a honeycomb type pixel array, if the image data is such that processing can be performed substantially in the row and column directions, It is possible to perform the distortion correction processing as described above.
  • the transfer of the image data to the image processing unit and the distortion correction processing unit is performed so that the image processing unit and the distortion correction processing unit can perform pipeline processing via information transmission different from noss.
  • image processing including distortion correction is performed without increasing the amount of no-data transfer and memory capacity because the data transfer is performed in units of blocks and the readout direction is devised. It becomes possible.
  • 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, it is possible to temporarily store image data in a memory card or the like without performing distortion correction processing at the time of imaging, and to read out image data from the memory card and perform distortion correction processing at a later point in time. It becomes. 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 appropriately reduce the blurring of the image. Correction can be performed without increasing the circuit scale. Also, by appropriately changing at least one of the size in the row direction and the size in the column direction of the image data in block units read from the memory in accordance with the magnitude of the distortion that varies depending on the distance from the distortion center. Since the minimum data required for the processing can be read, the processing can be sped up.
  • FIGS. 15 to 20 show the second embodiment of the present invention
  • FIG. 15 is a block diagram showing the configuration of the image processing apparatus.
  • the image processing apparatus includes a first data order conversion unit 5 and a second data order conversion unit 8 from the image processing apparatus according to the first embodiment shown in FIG. It has been removed.
  • the distortion correction processing unit 7 serving as the image processing unit and the distortion correction processing unit in the second embodiment performs not only the distortion correction processing on the image after the processing by the image processing unit 6 but also the distortion correction processing. Further, enlargement / reduction processing is performed.
  • the image processing unit 6, the distortion correction processing unit 7, and the JPEG processing unit 9 are connected so as to be pipelined on an information transmission path different from that of the bus 11 as described above. is there. At this time, the capacity can be reduced by performing the processing on a per-block basis.
  • the internal buffer of the image processing unit is either the internal memory unit 25 shown in FIG. 2 or the 2-port SRAM 25a shown in FIG. It is.
  • the configuration of the distortion correction processing unit 7 is the same as that described with reference to FIG. Note that, in the configuration example shown in FIG. 15 above, the processing block preceding the distortion correction processing unit 7 corresponds to the image processing unit 6, and the processing block subsequent to the distortion correction processing unit 7 corresponds to the JPEG processing unit 9. Yes, it is.
  • the above at position generation unit 21 basically uses the interpolation start position (XST, YST) and the interpolation step ( ⁇ , ⁇ ) set by the CPU 3 in the control register 7a. As shown in Equation 1, the coordinates (X, Y) of the point of interest to be interpolated are calculated.
  • the distortion correction coordinate conversion unit 22 basically calculates the point of interest before the distortion correction processing from the coordinates (X, ⁇ ) of the point of interest after the distortion correction processing output from the ⁇ 3 ⁇ position generation unit 21.
  • the coordinates (X ', Y') of 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 manner and the distortion correction coefficient A, which is a parameter indicating the optical property related to the distortion of the optical system set by the CPU 3 in the control register ⁇ a.
  • the calculated values (X (dot), Y (dot)), and the coordinates (Xd, Yd) of the distortion center position are used to obtain 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 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 Equation 10 below, and X 2, Y 2 (interpolation point ⁇ de ⁇ ) is defined as shown in Equation 11 below.
  • Equation 6 is transformed as shown in Equation 12 below.
  • the coefficients are the distortion center position (Xd, Yd), the center deviation correction amount (Xoff, Yoff), the range correction magnification M, the coefficient (Sx, Sy), the distortion correction coefficient A, B, C, the interpolation start position (XST , YST) and interpolation steps ( ⁇ , ⁇ ).
  • the number of multiplications is twice as many as ⁇ in Equation 2, four as each multiplication with SX and Sy in Equation 3 and two squares, and as distortion correction coefficients A, B and Three multiplications with C, two multiplications to calculate the fourth and sixth powers of Z, two multiplications with brackets and parentheses, 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), ⁇ (3 dots) ), Y (3 dots), A (dot), B (dot), C (dot), Xd, Yd.
  • the number of multiplications is twice as two squares in the curly braces of Equation 9, and three times as multiplication with A (dot), B (dot), and C (dot) in Equation 16,
  • the multiplication is performed twice in calculating the fourth and sixth powers of Z (dot) in Expression 16, and the multiplication with F in Expression 12 is performed twice, for a total of nine times.
  • the interpolation position calculation circuit 2 la (see FIG. 16 described later) corresponding to the above-mentioned BM position generation unit 21 sends the control register 7 a from the CPU 3 to the control register 7 a.
  • the interpolation is performed as shown in Expression 15 above.
  • the coordinates (interpolated position) (XI, Y1) of the point of interest to be performed are calculated.
  • 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 conversion unit 22, sets the control register 7a from the CPU3. Using the obtained A (dot), B (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 (interpolation position) (XI, Y1) of the point of interest using, the coordinates of the point of interest (interpolated coordinate data) before distortion correction processing are calculated by Equation 12 above ( ⁇ ⁇ , , Y,) are calculated.
  • the three-minute arithmetic unit 26 reads the image data DO to D15 of the pixels near the coordinates from the internal memory unit 25, and Is used to calculate the image data Dout after the distortion correction processing relating to the point of interest, and output it 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 above-described 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, and a distortion calculated by the distortion correction coefficient calculation circuit 22a.
  • the interpolation position correction circuit 22 for calculating the coordinates ( ⁇ ′, Y ′) of the point of interest before the distortion correction processing as shown in the above Expression 12 using the correction coefficient F, I have.
  • the selector 23 selects the coordinates (XI, Y1) from the above-mentioned inter-symbol position calculation circuit 2 la (regardless of whether or not to perform the enlargement / reduction processing), and corrects the distortion.
  • the processing is performed (regardless of whether or not the processing is accompanied by the scaling processing)
  • the coordinates (X 5 , Y ′) from the above-mentioned 3 ⁇ 41 position correction circuit 22 are selected.
  • the coordinates (XI, Y1) or 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 these adders 27a and 27b are output to a read address generation circuit 24a and a buffer release amount calculation circuit 24c.
  • the read address generation circuit 24a further includes a The calculated coordinates (XI, YD are also input separately from the path via the selector 23. Then, the read address generation circuit 24a outputs the pixel associated with the coordinates (XI, Y1). It outputs the address ADR where the data is stored (16 points are interpolated: ⁇ is the 16 pixel data centered around the summary mark (XI, Y1)) to the 2-port SRAM 25a, Interpolation coefficient (for example, interpolation coefficient kxO ⁇ : kx3, kyO ⁇ : ky3 as shown in the above formula 5) and data indicating the position of the pixel data to be output from DO to D15. Further, the read address generation circuit 24a outputs the write enable signal WE-N to a processing block at a subsequent stage. Is a circuit part corresponding to the internal memory part 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 to perform interpolation as shown in the above equation (5). The processing is performed, and the image data after the processing is output to a subsequent processing program.
  • the buffer release amount calculation circuit 24 c determines the storage capacity (buffer) that can be released in the 2-port SRAM 25 a. (Opening 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 2-port SRAM 25a.
  • the write address generation circuit 24b receives the image data from the processing block at the preceding stage and records it in the above-mentioned 2-port SRAM 25a.
  • the GRAN T-N transmission determination circuit 24e Upon receiving the request signal REQ-N for requesting image data from a subsequent processing program, the GRAN T-N transmission determination circuit 24e receives the write address generation circuit 24b and the buffer release amount calculation circuit 24c. Judgment whether transmission of image data is possible is possible based on the output of, and possible: Output permission signal GRANT-N to the subsequent processing block in ⁇ and calculate Bi position This is also output to the circuit 21a.
  • the GRANT-N transmission determination circuit 24 e further includes a distortion correction coefficient calculation circuit that matches 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 22a can output the distortion correction coefficient F.
  • a clock CLK 2 is supplied to each of the circuits except for the above, but a clock CLK 1 that may be different from the clock CLK 2 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 reducing or returning the number of clocks of the supplied clock CLK1, it is possible to control and adjust the number of times the interpolation coordinate data is generated per unit time.
  • the free space monitoring circuit 24d monitors the free space of the 2-port SRAM 25a via the free space calculation circuit 24c.
  • a request signal REQ is issued to transmit the image data of a predetermined work unit (hereinafter, appropriately referred to as unit line (UL) data) (step S1).
  • UL unit line
  • the preceding processing program Upon receiving the request signal REQ, the preceding processing program transmits a permission signal GRANT when the image data can be transmitted, and the buffer free space monitoring circuit 24d receives the permission signal GRANT. (Step S2).
  • the buffer free space monitoring circuit 24d is configured to grasp the free space of the two-port SRAM 25a by a power supply that holds the data inside the buffer. Decrease evening value by one. When the internal count becomes 0, the buffer empty capacity 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, and then the image data is input.
  • the write address generation circuit 24b outputs a control signal to the two-port SRAM 25a, and writes the image data DATA to an area of the two-port SRAM 25a specified by the address ADD RES.
  • the write address generation circuit 24b indicates, every time 1UL data is input, how much data has been stored in the BLC counter (2-port SRAM 25a which is an internal buffer). And outputs it to the GRANT-N transmission determination circuit 24e (step S4).
  • the GRANT-N transmission determination circuit 24 e checks if there is UL data that can be transmitted next in the 2-port SRAM 25 a. It was determined whether or not there was:! In ⁇ , the permission signal GRANT-N is transmitted to the subsequent processing block and the above-described inter-phone position calculation circuit 2 la (step S5) o
  • 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, as in the case of the Kamikoya 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 position calculation circuit 2 la between Bffi to obtain The coordinates ( ⁇ ,, Y,) are calculated based on equation (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 a distortion correction process in accordance with the operation mode set by the CPU 3 through the control register 7a: ⁇ denotes the coordinates (X ′) from the position correction circuit 22b between St. , Y ') and do not perform the distortion correction processing: For ⁇ , select the coordinates (XI, Y1) from the above BM position calculation circuit 2 la (step S10).
  • 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 (Sutetsu flop S 11).
  • the read address generation circuit 24a outputs the address ADR of pixel data read from the 2-port SRAM 25a to the 2-port SRAM 25a for use in the interpolation based on the coordinates received from the calorie 27a, 27b.
  • the interpolation coefficient and the data sequence control signal are output 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 open amount calculation circuit 24c ends the process when it is confirmed that the UL data has been output to the end based on the outputs of the auxiliary position calculation circuit 21a and the adders 27a and 27b. Calculates the difference between the UL start coordinate and the next UL start coordinate, and releases the buffer to release the buffer (area in 2-port SRAM 25a) where unnecessary data is stored. Is output to the buffer free capacity monitoring circuit 24d, and the GRANT-N transmission determination circuit determines how much data must be received from the preceding processing procedure in order to perform the next UL processing. 24 to e (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 as described above. Repeat the process (Step S15) o
  • the GRAN T-N transmission determination circuit 24 e calculates the following UL data based on the value of the BLC count from the write address generation circuit 24 b and the output from the configuration release amount calculation circuit 24 c. It was determined whether or not the evening could be transmitted to the subsequent processing program, and it was determined that the evening could be transmitted: In the case of ⁇ , the process of step S5 was 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 means Z (2 dots) shown on the left side of Equation 10, and the coefficients A, ⁇ , and C are shown on the left side of Equation 13.
  • a (dot), B (dot), and C (dot) are shown.
  • the distortion correction coefficient calculation circuit 22a includes a distortion correction coordinate calculation circuit 31 that calculates the interpolation coordinates X 2 and Y 2 based on the equation 11 when the trigger trig is input from the GRANT-N transmission determination circuit 24e, A floating-point conversion circuit 32a that converts the interpolation coordinate X2 calculated by the distortion correction coordinate calculation circuit 31 into a floating decimal point, and a floating decimal point Y2 calculated by the distortion correction coordinate calculation circuit 31 Floating-point conversion circuit 32 b for converting to decimal, floating-point conversion circuit 32 b for squaring interpolated coordinates X 2 floated by floating-point conversion circuit 32 a, and floating-point conversion circuit 32 b for floating point
  • the square calculator 33b that squares the decimalized interpolation coordinates Y2, and The square of the interpolated coordinate X2 calculated by the squared calculation 3 3a and the square of the interpolated coordinate Y2 calculated by the square calculator 33b are added to obtain Z (more accurately).
  • the power of ⁇ H36d which calculates the sixth power of Z by multiplying by the square of Z, which is output together with the evening, and the output from the above-mentioned calculator 34, and the above square A delay circuit 35a for delaying the output from the total 33c and a square of Z output from the delay circuit 35a and output at the same timing, the control register from the CPU 3 7 Multiplied by the coefficient A set to a (more precisely, A (dot) as described above; the same applies hereinafter) and a multiplier 36 a for multiplying by the delay circuit 35 a and output at the same time
  • the power 3 6b multiplied by the coefficient B (the B (dot) as described above; more precisely, the same as described above) multiplied by the fourth power of Z to the control register 7a from the CPU 3;
  • the sixth power of Z output from the multiplier 36 d is multiplied by the coefficient C (more precisely, C (dot) as described above, which is the same as described above) set in the control
  • Fixed decimal conversion circuit that gives the sign sig nA of the coefficient A set in the control register 7a from the CPU 3 to the output from the above-mentioned square 36c and the output from the above-mentioned square 36a, and converts it to a fixed decimal.
  • the fixed-point conversion circuit 37 b for converting to a fixed-point number and the sign C of the coefficient C set in the control register ⁇ a from the CPU 3 are given to the output from the multiplier 36 c to a fixed-point number.
  • the calculation is performed by adding a constant 1.0 set to the control register 7a from 3 to obtain a distortion correction coefficient F based on the above-described equation 16.
  • 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.
  • the circuit size is reduced while maintaining the 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 32a, the floating-point conversion circuit 32b, the square calculator 33a, the squaring difficulty 33b, the adder 34, and this addition The fixed-point distortion is obtained by performing the reference using the square of the floating-point Z output from the unit 34 (more precisely, Z (2 bits) as described above; the same applies hereinafter).
  • a LUT (Lookup Table) 39 for outputting the 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 uses a look-up table to shorten the processing time for calculating the distortion correction coefficient F and reduce the power consumption of the circuit.
  • FIG. 19 is a timing chart showing a state when the interpolation position is generated for each clock
  • FIG. 20 is a timing chart showing a state when the interpolation position is generated once every three clocks. It is.
  • Fig. 19 shows the operation when generating the interpolation position for each clock.
  • the request signal REQ-N is input from the subsequent processing block to the GRAN T-N transmission determination circuit 24 e. Then, the GRAN T-N transmission determination circuit 24 e transmits the permission signal GRAN T_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 2 la to generate and output interpolation positions X 1 and Y 1.
  • the interpolation positions XI and Y1 are output for each clock.
  • the interpolated image data is output from the above-mentioned inter-circuit 26a to the subsequent processing program, and at this time, the above-mentioned 3 read address generation circuit 24a outputs Write enable signal WE-N is output.
  • FIG. 20 shows the operation when the interpolation position is generated once every three clocks.
  • Fig. 19 also shows the time required from the generation of the interpolation positions X 1 and Y 1 to the output of the interpolated image data from the inter-St circuit 26a. Similarly, since the interpolation positions XI and Y1 are generated once every three clocks, the output of the interpolated image data is also once every three clocks, and accordingly, the write enable signal WE — The output of 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 every appropriate number of times, or n times. It can be generated m times (n ⁇ m) (for example, twice every three clocks) every time, and the interpolation position can be generated at any frequency. Further, the ratio of the number of generated interpolation positions to the number of peaks may be dynamically changed.
  • substantially the same effects as those of the first embodiment described above can be obtained, and the distortion correction process and the enlargement / reduction process can be performed simultaneously by one circuit. Thus, the processing time can be reduced, and the circuit can be reduced. 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 necessary (performed not at every clock but at every other 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 image processing apparatus can be reduced.
  • the interpolation position generator and the distortion correction coordinate are generated.
  • the number of powers provided inside the conversion unit can be reduced, and the circuit can be reduced.
  • the position corresponding to the target pixel (X, Y) in the image after distortion correction (that is, (X, Y)
  • the distance Z (or Z (2 dots)) between the 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. «Can be reduced.
  • FIG. 21 to FIG. 31 show a third embodiment of the present invention.
  • the 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 unit 25 shown in FIG. It is a 2-port SRAM 25a as shown below.
  • 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 the three independent signal components are processed are described as Ch.0, Ch.1, and Ch.2. Specifically, for example, Ch.0
  • the signal processed in Ch is R
  • the signal processed in Ch.1 is G
  • the signal processed in Ch.2 is B, and so on.
  • the distortion correction processing unit 7 transmits a request to the processing block of the channel of the preceding stage, and in response to the request, the image data transmitted from the processing block of the previous stage. One night is received in a predetermined block unit, and after distortion correction, it is output to the processing block of the corresponding channel at 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
  • the distortion correction processing unit is 7 Ch.
  • the distortion correction processing unit for processing is denoted by 7 C, and these are included in the distortion correction processing unit 7.
  • these distortion correction processing section 7 A, 7 B 5 7 C receives a request to the effect that I want to transmit the image data from the subsequent Purodzuku, transmittable At this stage, the image data is transmitted to the subsequent stage in a predetermined process unit.
  • the preceding processing block corresponds to the image processing unit 6, and the subsequent processing block corresponds to the JPEG processing unit 9.
  • the processing block at the subsequent stage 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 for the distortion correction processing unit 7 are stored in the distortion correction processing unit 7A, 7 B, 7. Is set to, 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 BM position generation unit 21 and the distortion correction coordinate conversion unit 22 allow the basic mathematical formulas for calculating the coordinates and reduce the circuit size by modifying the basic formulas.
  • the practical equations are the same as those described with reference to Equations 1 to 3 and Equations 5 to 16 in the second embodiment 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 distortion occurs, and red R is inside green G when viewed from the distortion center, and blue B is outside green G when viewed from the distortion center.
  • Displaced 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 Each of them is output to the circuit 7 C 1.
  • FIG. 23 shows the state of the image data stored in the internal memory when the interpolation data for B can be calculated
  • Fig. 24 shows the interpolation for each of 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 the calculation of the data is possible.
  • the image data from the processing stage at the preceding stage is stored in the internal memory section 25 of each channel (2 ports shown in FIG. 29 described later). It starts to be sequentially stored in the SRAM 25 a). At this time, the portion that has already been stored as data is the portion indicated by diagonal lines. At the time shown in Fig. 23, the image data has been accumulated to the point where the interpolation data for blue B-evening can be calculated, but the interpolation data for green G and red R can be calculated. Not yet in quantity.
  • the image data has been accumulated to the point where the interpolation data for red R, green G, and blue B can be calculated.
  • the distortion correction circuit for Ch. 0 7 A 1 when the state shown in Fig. 23 above is reached Outputs a request signal tr ok— ⁇ requesting the start of the distortion correction process, and requests the start of the distortion correction process when the distortion correction circuit 7B1 for Ch. 1 can perform the distortion correction process (not shown).
  • the request signal trok-1 is output, and when the state shown in FIG. 24 is reached, the distortion correction circuit 7C1 for Ch.2 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 of the above, the permission signal GRANT—NO is applied to the part that performs the processing related to Ch. 0, and the permission signal GRAN T_N1 is applied to the part that performs the processing related to Ch. Outputs the grant signal GRANT-N2 for each part, and also applies the above to the distortion correction circuit 7A1 for Ch.0, the distortion correction circuit 7B1 for Ch.1, and the distortion correction circuit 7C1 for Ch.2. Control to start the distortion correction processing at the same time.
  • 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 (dots), and C (dots) are set for each channel, that is, for example, for each RGB color component ⁇ , from the CPU 3 to the control register 7a.
  • Z means Z (2 dots) shown on the left side of Expression 10.
  • the coefficients A, B, and C indicate A (dot), B (dot), and C (do, ⁇ ) 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, and the distortion correction coordinates.
  • a multiplier 36 for calculating the sixth power, a delay circuit 35a for outputting the output from the adder 34 and delaying the output from the squarer 33c, and a timing from the delay circuit 35a are combined.
  • the distortion correction coefficients F0, F1 for Ch.0, Ch.1, and Ch.2 are obtained by using the squared Z and the fourth power of Z that are output and the sixth power of Z that is output from the above power 36. , And F2, respectively, and distance-dependent coefficient calculation circuits 40a, 40b, and 40c.
  • 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 (which is more accurately set) from the CPU 3 to the control register 7a by the square of Z output from the circuit 35a after being delayed and synchronized. Is multiplied by A (dot) as described above; the same applies to the following), and the CPU 3 outputs the 4th power of Z output from the delay circuit 35a together with the timing.
  • E 7 Multiplier 4 lb that multiplies the coefficient B set to a (more precisely, B (dot) as described above; the same applies to the following) and the sixth power of Z output from the power I36 A multiplier 41 c for multiplying 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,
  • the output is given the sign si gnA of the coefficient A set in the control register 7a from the CPU 3 and converted to a fixed decimal number.
  • Fixed decimal conversion circuit 42a and the output from the multiplier ⁇ 141 b are given a sign si gnB of the coefficient B set in the control register 7a from the CPU 3 and converted to a fixed decimal.
  • an adder 43 that calculates a distortion correction coefficient F (that is, any one of the distortion correction coefficients FO, F1, and F2) based on the above Expression 16 by adding Expression 1.0. ing.
  • the double-lined part is the part where arithmetic processing is performed using floating-point numbers, and X2, Y2, Z, etc. with a wide dynamic range are handled as floating-point numbers.
  • the circuit scale is reduced 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, and the square calculators 33a and 33b , 33c, the calorie calculator 34, the delay circuits 35a, 35b, and the power ⁇ 36 are configured as common parts independent of the channel. As a result, the circuit size can be further reduced, and the power consumption can be reduced.
  • FIG. 28 is a block diagram illustrating another example of the configuration of the distortion correction coefficient calculation circuit 22a.
  • the distortion correction coefficient calculation circuit 22a illustrated in FIG. 28 includes the distortion correction coordinate calculation circuit 31 and The floating-point conversion circuit 32a, the floating-point conversion circuit 32b, the square calculator 33a, the squarer ⁇ 133, the adder 34, and an output from the adder 34.
  • the fixed-decimal distortion correction coefficients F0 and F are obtained by reference using the square of the floating-point Z (more precisely, the same applies to Z (2 dots) o as described above).
  • LUTs (lookable tables) 39a, 39b, and 39c for outputting 1 and F2, respectively.
  • 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 the processing time for calculating the distortion correction coefficients F0, Fl, and F2 and reduces the power consumption of the circuit by using the look-ahead table. Has become.
  • FIG. 29 is a block diagram showing 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 7C1 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 interval 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 5 ), and is a part of the self-distortion correcting coordinate converter 22.
  • the selector 23 does not perform the distortion correction processing; ⁇ selects the coordinates (XI, Y1) from the position calculation circuit 2 la during the above 3 ⁇ (regardless of whether or not to perform the scaling processing), Perform distortion correction processing: ⁇ selects the coordinates (X,, Y,) from the above-mentioned BM-to-BM position correction circuit 22 (with or without scaling processing).
  • Outputs of these heats 27a and 27b are output to a read address generation circuit 24a and a buffer open amount calculation circuit 24c.
  • the coordinates (XI, Y1) calculated by the above-mentioned position calculating circuit 2 la are also inputted to the read address generating circuit 24 a separately from the above through the selector 23. Then, the read address generation circuit 24a performs a 16-point interpolation on the pixel data related to the coordinates (XI, Y1). Outputs the address ADR in which the pixel data is stored to the 2-port SRAM 25a, and outputs the interpolation coefficients (for example, interpolation coefficients kx0 to kx3, kyO to ky3 as shown in Equation 5 above) and the pixel data to be output.
  • the interpolation coefficients for example, interpolation coefficients kx0 to kx3, kyO to ky3 as shown in Equation 5 above
  • the two-port SRAM 25a is a circuit corresponding to the internal memory 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 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 two points based on the output from the above-mentioned position calculation circuit 2 la and the output from the selector 23 via the adders 27a and 27b. (G) Calculate the storage capacity (buffer release amount) that can be released in the SRAM 25a.
  • the no-charge free space monitoring circuit 24d refers to the output of the buffer open amount calculation circuit 24c to grasp the state of the free space of the 2-port SRAM 25a.
  • the write address generation circuit 24b receives the image data relating to Ch. 0 from the preceding processing block, and records it in the above-mentioned 2-port SRAM 25a.
  • the data overnight transmission availability determination circuit 24f calculates the write address generation circuit 24b and the buffer release amount. Based on the output from the circuit 24c, it is determined whether or not transmission of the image data is possible. Possible: The request signal trok-0 is output to the grant synchronization circuit 27 in ⁇ .
  • the free space monitoring circuit 24d monitors the free space of the 2-port SRAM 25a via the free space calculation circuit 24c, and if there is a predetermined free space, the preceding stage related to Ch.
  • a request signal REQ-10 is issued to transmit image data in a predetermined block unit (hereinafter, appropriately referred to as unit line (UL) data) to the processing block (step S21).
  • UL unit line
  • the preceding processing block relating to Ch. 0 transmits a permission signal GRANT-0 when the image data can be transmitted, and the above-mentioned free space monitoring circuit 24 d receives the permission signal GRANT_0 (step S22).
  • the buffer free space monitoring circuit 24d is configured to know the free space of the 2-port SRAM 25a by a count that is held internally, and upon receiving the enable signal GRANT, the value of the internal count is checked at the same time. Reduce 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 two-port SRAM 25a, and stores the image data DATA in the area of the two-port SRAM 25a specified by the address ADD RESSS.
  • the write address ⁇ circuit 24b receives a BLC count every time 1UL data is input (a count indicating how much data has been stored in the 2-port SRAM 25a, which is an internal buffer). And outputs it to the data transmission availability judgment circuit 24f (step S24).
  • the data transmission availability determination circuit 24f Upon receiving the request signal REQ__N0 from the subsequent processing block related to Ch. 0, the data transmission availability determination circuit 24f transmits the next UL data, which can be transmitted next, to 2 points. SRAM 25a The request signal trok-0 is transmitted to the above-mentioned grant circuit 27 (step S25).
  • the grant synchronizing circuit 27 sends permission signals GRANT—NO, GRANT— to the subsequent processing block for each channel and the interpolation position calculation circuit 21a for each channel when the transmission of image data is completed.
  • the interpolation position calculation circuit 2 la related to Ch. 0 starts the operation in response to the permission signal GRANT-NO, and when the operation of calculating 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 grant synchronizing circuit 27 is capable of outputting the distortion correction coefficient F0 in synchronization with the interpolation position calculation circuit 2la starting operation and outputting the coordinates (XI, YD). In a possible timing, the permission signal e_grant is output to the distortion correction coefficient calculation circuit 22a (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 F 0, F 1, and F2 for each channel based on the above equation 16, and calculates the interpolation position correction circuit 22b for each channel. Output to The distortion correction coefficient calculation circuit 22a also calculates the next UL start coordinate after completing the operation for one UL, similarly to the above-described BM-to-BM position calculation circuit 2la, and terminates.
  • 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 position calculation circuit 2 la between ⁇ i, Is used to calculate the coordinates ( ⁇ ,, 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 through the control register 7a as described above. X,, Y,) are selected, and no distortion correction processing is performed: For ⁇ , the coordinates (XI, Y1) from the above-mentioned inter-St position calculation circuit 2 la are selected (step S30).
  • the adders 27a and 27b add the coordinates (Xd, Yd) of the distortion center position to the coordinates (XI, Y1) or coordinates ( ⁇ ,, Y,) selected by the selector 23, respectively (step S31).
  • the read address generation circuit 24a uses the 2-port SRAM 25a to read the address ADR of the pixel data to be read from the 2-port SRAM 25a for use in interpolation. 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 data control signal received from the read address generation circuit 24a and the pixel data received from the two-port SRAM 25a, and calculates Next, the interpolated pixel data is calculated and output to the subsequent processing block related to Ch. 0 (step S33).
  • the no-open circuit amount calculating circuit 24c terminates the processing of the UL that has just finished.
  • the difference between the start coordinates and the next UL start coordinates is calculated, and the buffer release amount is calculated in order to release the buffer (the area in the 2-port SRAM 25a) where unnecessary data is stored.
  • the data is output to the buffer free capacity monitoring circuit 24d, and the above data is used to determine how much data must be received from the preceding processing cycle related to Ch.0 in order to perform the next UL process.
  • the buffer free space monitoring circuit 24d returns to step S21 when it is confirmed in step S34 that the storage area is free in the 2-port SRAM 25a, which is the internal buffer, and returns to step S21. Repeat the process (Step S35) o
  • the data transmission availability determination circuit 24f Based on the value of the BLC power supply from the write address generation circuit 24b and the output from the open-circuit-amount calculation circuit 24c, the data transmission availability determination circuit 24f generates the next UL data in the subsequent stage. It is determined whether or not transmission can be performed to the processing process of step S. If the transmission is determined to be possible, the process of step S25 is performed (step S36).
  • 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-ON 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 trok—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 7C for Ch.
  • An AND circuit 51 for calculating the logical product of the request signal tr ok_2 from 1 and a differentiating circuit 52 for detecting the rising of the request signals trok_0, tr ok_l, trok-2 and the output of the AND circuit 51 , DT-ON is at the highest level: ⁇ is connected to the output side of the differentiating circuit 52 related to the request signal tro k_0 and the DT- ⁇ N is high level: ⁇ is the differentiating related to the AND circuit 51 Switch 53a, which is switched to be connected to the output side of the circuit 52, and DT-ON are at a single level; ⁇ is connected to the output side of the differentiation circuit 52 related to the request signal tr ok-1.
  • is a switch 5 that is switched to be connected to the output side of the differentiating circuit 52 according to the AND circuit 51. 3b, and when the DT-ON is at the mouth level, it is connected to the output side of the differentiating circuit 52 related to the request signal tr ok-2, and when the DT-ON is at the high level, it is connected to the AND circuit 51.
  • the switch 53c which is switched to be connected to the output side of the differentiating circuit 52, and the logical product of the output of the differentiating circuit 52 related to the AND circuit 51 and DT-ON are used to calculate the distortion correction coefficient calculating circuit 22a.
  • an AND circuit 54 that outputs the permission signal e-grant to the distortion correction coordinate calculation circuit 31.
  • the output of the AND circuit 54 remains at the mouth level regardless of the output of the AND circuit 51, and the permission signal e-grant is not output (or Therefore, 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 remains as long as the request signal trok-2 is at the verbal level. It remains at the mouth level.
  • This differentiating circuit 52 is simultaneously output as the enable signals GRANT-NO, GRANT-Nl, and GRANT-N2, and is also output to the AND circuit 54, where the logical level of DT-0N is high.
  • the product is taken and output to the above-mentioned 3 distortion correction coefficient calculating circuit 22a as the permission signal e-grant.
  • a circuit capable of performing distortion correction and chromatic aberration correction an image with low odor and low power consumption Processing device.
  • the circuit scale can be effectively reduced, and low power consumption can be achieved.
  • the operation is performed by treating a number with a wide dynamic range as a floating point number, it is possible to reduce the size of the circuit while maintaining the accuracy.
  • the circuit scale can be reduced while shortening the processing time.
  • a grant synchronization circuit is provided to enable simultaneous output of image data from each channel, image processing of a plurality of channels is required at the same time in the subsequent processing program. It can respond well. At this time, 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. Since the interpolation coordinate data is generated based on a practical formula modified to reduce the number of multiplications from ⁇ based on the basic formula, the interpolation position generation unit and distortion correction coordinates The number of powers mi provided inside the conversion unit can be reduced, and the circuit can be significantly reduced.
  • the image processing apparatus of the present invention it is possible to perform a process that does not increase the data transfer amount of the bus / memory capacity.
  • an image processing apparatus having a small circuit size capable of performing the enlargement / reduction processing and the distortion correction processing and having low power consumption is provided.
  • an image processing apparatus having a small circuit architecture capable of performing distortion correction and chromatic aberration correction and having low power consumption is provided.

Description

技術分野
この発明は、 画像処理装置、 より詳しくは、 光学系を介して撮像された電子的な画像デ —夕を処理する画像処理装置に関する。
明 背景技術 田
デジタルカメラ等の電子的撮像装置においては、 光学系により結像された被写体像を、
C C D等の撮像素子により光電変換して撮像デ一夕を取得し、 この撮像デ一夕に種々の画 像処理を施した後に、 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 ηと、 J P E G処理部 9 6と、 メモリカード等 9 7と、 上記 C C D 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の画 «L理後の画像デ一夕を読み出して、 バス 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— 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 R AMから高速に読 み出せるバースト転送に比べて、 デ一夕の転送時間が全体の処理時間を増大させる要因と なる。
ところで、 画像処理装置に、 上述したような歪補正処理を行うための処理ブロックと、 拡大縮小処理を行うための処理ブロックと、 の両方を設けることにより、 拡大縮小処理と 歪補正処理との両方を行うことが可能となる。 しかし、 これらの処理は画素毎の補間演算 を伴うものであって、 処理回路も大 になるために、 単純に両方の処理回路を設ける構 成では、 回路構成が大きくなつて消費電力が上がるとともに製造コストも増すことになつ てしまう。
そして、 上述したような色収差についても、 コスト等をあまり増加させることなく、 良 好に補正することができることが望ましい。
本発明は上記事情に鑑みてなされたものであり、 ノ、'スのデ一夕転送量ゃメモリ容量を増 犬させることなく、 画 «理を行うことができる画像処理装置を することを目的とし ている。
また、 本発明は、 拡大縮小処理と歪補正処理とを行い得る回路夫簾が小さく低消費電力 な画像処理装置を することを目的としている。
さらに、 本発明は、 歪補正と色収差補正とを行い得る回路繊莫が小さく低消費電力な画 像処理装置を することを目的としている。 . 発明の開示
この発明は、 光学系を介して撮像することにより得られた電子的な画像デ一夕であって
、 画素データが行方向および列方向に 2次元的に配列された画像データ、 を処理する画像 処理装置において、 上記画像データを少なくとも画 »理を行う前に格納するとともに画 像処理を行った後にも格納し得るメモリと、 上記画像デ一夕の上記 2次元的な配列におけ るブロックを単位として上記メモリからノスを介して該ブロヅク内の画素デ一夕を行方向 に読み出しその後に該ブロヅク内の画素デ一夕を列方向に出力する第 1のデ一夕順序変換 部と、 上記第 1のデ一夕順序変換部と上記バスとは異なる情報伝達経路でパイプライン処 理可能なように接続されていて該第 1のデータ順序変換部から列方向に出力される画像デ —夕を入力して画像処理した後に該列方向に出力する画像処理部と、 上記画像処理部とパ ィプライン処理可能なように接続されていて該画像処理部から列方向に出力される画像デ —夕を行方向の画像データに変換して出力する第 2のデ一夕順序変換部と、 を備えた画像 処理装置である。
また、 この発明は、 光学系を介して撮像することにより得られた電子的な画像デ一夕に 、 歪補正処理および拡大縮小処理を含む画像処理を行い得る画像処理装置であって、 歪補 正処理と拡大縮小処理とを含み得る画像処理に係る補間処理を行った後の画素位置に対応 する補間処理前の座標データである補間座標デ一夕を生成するための補間座標生成部と、 上記画像データの少なくとも一部を格納するためのメモリ部と、 上言 甫間座標データに基 づいて上記画像データの一部を上記メモリ部に書き込む制御と該メモリ部から読み出す制 御とを行うメモリ制御部と、 上記メモリ制御部の制御により上記メモリ部から読み出され た画像データを補間演算することにより補間処理を行つた後の画素位置における画像デ一 夕を生成する補間演算部と、 を有して構成される歪補正処理部を備えた画像処理装置であ る。
さらに、 この発明は、 光学系を介して撮像することにより得られた電子的な画像デ一夕 であって、 複数の成分で構成される画像デ一夕、 を処理する画像処理装置において、 上記 光学系に起因する歪曲収差を補正するのに用いるための歪補正係数を歪中心位置からの距 離に基づき上記成分毎に算出する歪補正係数算出手段と、 上記歪補正係数算出手段により 算出された成分毎の歪補正係数を用いて上記画像データを成分毎に歪補正する歪補正演算 手段と、 を有して構成される歪補正処理手段を備えた画纏理装置である。 図面の簡単な説明
図 1は、 本発明の第 1の難形態における画像処理装置の構成を示すプロヅク図。 図 2は、 上記第 1の難形態における歪補正処理部の構成を示すプロヅク図。
図 3は、 上記第 1の 形態において、 格子状の被写体を光学系を介して撮影したとき の歪曲収差の例を示す図。
図 4は、 上記第 1の実施形態において、 歪補正を含む補間処理の概要を説明するための 図。
図 5は、 上記第 1の実施形態において、 1 6点補間による処理を説明するための図。 図 6は、 上記第 1の錢形態における画像データの読出順序を示す図。
図 Ίは、 上記第 1の実施形態におけるデ一夕順序変換部の構成を示すプロヅク図。 図 8は、 上記第 1の難形態において、 補正画像と撮影画像との対応関係と、 処理に必 要なバッファ量と、 を示す図。
図 9は、 上記第 1の ¾5¾形態において、 歪中心からの距離に応じて読み出す画像データ の幅を縦方向に異ならせる例を示す図。
図 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の実施形態において、 Βに係る補間データを算出可能となった時点 での内部メモリ部に蓄積された画像データの様子を示す図。
図 2 4は、 上記第 3の実施形態において、 R, G, Βのそれそれに係る補間デ一夕を算 出可能となつた時点での内部メモリ部に蓄積された画像デ一夕の様子を示す図。
図 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 CD 1と、 この C CD 1から出力される撮像信号に 画素欠陥の補正や A/D変換などのプリプロセス処理を行うプリプロセス部 2と、 このプ リプロセス部 2により処理された後のフレーム画像を記憶するフレームメモリ 4と、 この フレームメモリ 4に記憶された画像データを後述するバス 1 1を介して所定ブロック毎に 読み出し一旦記憶してその後に読み出し順序を変更し出力する第 1データ順序変換部 5と 、 この第 1デ一夕順序変換部 5から出力される画像デ一夕に所定の画像処理を施す画像処 理部たるイメージプロセス部 6と、 このイメージプロセス部 6による処理後の画像デ一夕 に歪 «正の処理を行う画像処理部たる歪補正処理部 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つのみ 設けているが、 複数の画 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) に対応する画像デ一夕の座標 (補間座標データ) (Χ, , Υ' ) を座標変換によ り求める (図 4 (Α)参照)。 この (X, Υ) と (Χ, , Υ, ) との対応関係は、 上記 C CD 1へ被写体像を結像するための光学系の光学的性質により決まるものであり、 該対応 関係を定義付けるパラメ一夕等は、 光学系の設計値から、 あるいは製造後の光学系の検査 から、 予め求められて、 図示しない不揮発性メモリ等に記憶されている。 そして、 上記 C P U 3が、 この不揮発性メモリ等からパラメ一夕を読み出して、 上記制御レジス夕 7 aに 設定するようになっている。
こうして対応関係により座標(X, , Y' ) を求めると、 該座標 (X, , 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と、 歪補正処理を行わない:!^には上言 間位置生成部 2 1から出力される座標 (X, Υ) を選択し歪補正処理を行う:^には上記歪補正座標変換 部 2 2から出力される座標 (Χ, , Υ, ) を選択するセレクタ 2 3と、 前段の処理ブロヅ クからの画像データの読み出しを制御するとともに上記セレク夕 2 3から出力される座標 に対応して補間処理を行うのに必要な周辺画素の画像データを送出するように後述する内 部メモリ部 2 5を制御するメモリ制御部 2 4と、 前段の処理ブロックからの画像デ一夕を 蓄積するものであり上記メモリ制御部 2 4の制御により補間に必要な周辺画素の画像デ一 夕を後述する補間演算部 2 6へ出力する内部メモリ部 2 5と、 この内部メモリ部 2 5から 出力される着目点近傍の画像デ一夕と上記セレクタ 2 3から出力される着目点の座標とに 基づき該着目点における画像データを上述したように例えば Cu b i c補間により求めて 後段の処理ブロックへ出力する補間演算部 2 6と、 を有して構成されている。
これらの構成ブロックの内の上言 Bffi間位置生成部 2 1と、 歪補正座標変換部 2 2と、 セ レク夕 2 3とは、 補間座標生成部 2 0を構成する要素となっている。
上編間位置生成部 2 1は、 上記 C P U 3から上記制御レジス夕 7 aに設定される補間 開始位置 (XST, YST)および補間ステップ (ΔΧ, ΔΥ) を用いて、 次の数式 1に示す ように、 補間を行う着目点(X, Y) の座標を算出するものである。
【数式 1】
X = XST + kxAX
Y = YST +lxAY ここに、 kは着目点を X方向に ΔΧだけ移動させる際にインクリメントされる変数、 1は 着目点を Y方向に厶 Yだけ移動させる際にインクリメントされる変数である.。
なお、 上言 ¾1間開始位置(XST, YST) は、 画像内の任意の位置に設定することが可能 である。 また、 上言 3 間ステップ(ΔΧ, ΔΥ) は、 上記 C P U 3が藍に設定すること により、 画像の拡大や縮小を行うことが可能である。
上記歪補正座標変換部 2 2は、 上言 Β¾間位置生成部 2 1から出力される歪補正処理後の 着目点の座標 (X, Y) から、 歪補正処理前の着目点の座標 (X3 , Y, ) を次のように 算出するものである。
すなわち、 まず、 処理対象の画像における歪中心位置の座標 (Xd , Yd ) と、 歪補正 処理後に該歪補正に起因して被写体の位置が撮影時とずれてしまうのを補正するための中 心ず i jf正量 (Xoff , Yoff ) と、 光学系の光学的な性質を示すパラメ一夕を用いて歪 補正処理を行つた場合に補正後の画像が画像デ一夕として必要な範囲からはみ出したり不 足したりするのを補正するための範囲補正倍率 Mと、 を用いて、 次の数式 2に示すような 中間的な算出値 (X (ドット) , Y (ドット) ) (ここに、 文字の上に付す点を文章中で は (ドット) などとして表している。 ) を求める。 【数式 2】
X=M-(X-Xd)+[Xd + Xoff
Y = M'{Y-Yd)+[Yd+Yoff なお、 上記歪中心位置の座標 (Xd, Yd ) は、 上記 CCD 1に被写体光像を結像する 光学系の光軸が交わる画像上の位置に相当する座標である。
また、 上記歪中心位置の座標 (Xd, Yd )、 中心ずれ補正量 (Xoff , Yoff )、 範 囲補正倍率 Mは、 上言 3CPU3により、 上記制御レジス夕 7 aに設定されるようになって いる。
次に、 求めた算出値(X (ドット) , Y (ドット) ) と、 上記歪中心位置の座標 (Xd , Yd ) と、 画像デ一夕を間弓 Iいて取り込んだ:^などに画像の縦方向と横方向とで空間 的なサンプリングが異なるのを補正するための係数 (SX, SY ) と、 を用いて、 歪中心 からの距離を示す Z (より正確には Zの 2乗) を次の数式 3に示すように計算する。 【数式 3】
Z2=\SX-[X-X, + S: y ,Y~Yd
こうして算出された Zと、 上記 C PU3から上記制御レジス夕 Ί aに設定される光学系 の歪曲収差に関する光学的性質を示すパラメ一夕である歪補正係数 A, B, C, D, Eと 、 上記算出値(X (ドット) , Y (ドット) ) と、 上記歪中心位置の座標 (Xd , Yd ) と、 を用いて、 歪補正処理後の着目点の座標 (X, Y) に対応する歪補正処理前の着目点 の座標 (X, , Y, ) を、 次の数式 4に示すように算出する。
【数式 4】
, = (x-Zd)-[l+A-Z2 + 5-Z4 + C-Z6 + -Z8 + £-Z10+-
Figure imgf000013_0001
ここで図 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に入力されて、 歪補 正を行うか否かに応じて、 必要なものが選択される。
また、 上記補間演算部 2 6は、 上記セレクタ 2 3から出力される座標に基づき、 該座標 の近傍の画素の画像データ DO〜D15を上記内部メモリ部 2 5から読み出して、 次のよう な数式 5を用いることにより、 該着目点に係る歪補正処理後の画像デ一夕 Doutを算出し て、 後段ブロックへ出力する。
【数式 5】
Figure imgf000014_0001
+ kxl [kDx + kylD5 + ky2D9 + ky3Dl3)
+ i [kyA + A + ky2D10 + ky3D14 )
+ 3 (ky0D3 + kylD7 +ky2Dn + ky3D15) ここに、 kx0〜kx3, ky0〜ky3は、 例えば C u 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に記 1意される。
これと並列して、 メモリ 5 bからは、 既にフレームメモリ 4から読み出されて記憶され ているブロック単位の画像デ一夕が、 列方向 (縦方向) に順に読み出されて、 イメージプ 口セス部 6へ出力される。
フレームメモリ 4からメモリ 5 aへの書き込みと、 メモリ 5 bからイメージプロセス部 6への読み出しが終了すると、 書き込み側のスィツチおよび読み出し側のスィヅチが切り 換えられて、 次に、 フレームメモリ 4からメモリ 5 bへ次のプロック単位の画像データの 書き込みが開始されるとともに、 メモリ 5 aからイメージプロセス部 6へのブロック単位 の画像データの読み出しが開始される。
第 2デ一夕順序変換部 8も、 図 7 (B) に示すように、 上記第 1デ一夕 j噴序変換部 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ドットでなる入力画像デー 夕のブロックとなっている (ただし、 これは Cu 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 C D 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»理を実行することも可能である。
続いて、 図 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が、 それそれ個別に距 離情報を算出する必要がなくなるために、 回路應を縮小することが可能となる。 なお、 図示上は、 歪補正処理部 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は、 上記イメージプロセス部 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に 対応している。
ここで、 上言 at間位置生成部 2 1と歪補正座標変換部 2 2とにおいて、 座標を算出する 際の基本的な数式と、 それを変形することにより回路規模を縮小することができるように した実用的な数式と、 について説明する。
まず、 基本的な数式について説明する。
上言 at 位置生成部 2 1は、 基本的に、 上記 C P U 3から上記制御レジス夕 7 aに設定 される補間開始位置(XST, YST)および補間ステップ(Δ Χ, Δ Υ) を用いて、 上記数 式 1に示したように、 補間を行う着目点の座標(X, Y) を算出するものである。
上記歪補正座標変換部 2 2は、 基本的に、 上 Ϊ3Μ間位置生成部 2 1から出力される歪補 正処理後の着目点の座標(X, Υ) から、 歪補正処理前の着目点の座標 (X' , Y' ) を 次のように算出するものである。
すなわち、 歪補正座標変換部 2 2は、 まず、 上記数式 2に示すような中間的な算出値 ( X (ドヅ ト) , Υ (ドヅ ト) ) (ここに、 文字の上に付す点を文章中では (ドット) など として表している。 ) を求める。
次に、 歪補正座標変換部 2 2は、 歪中心からの距離を示す Ζ (より正確には Ζの 2乗) を、 上記数式 3に示したように計算する。
歪補正座標変換部 2 2は、 こうして算出された Ζと、 上記 C P U 3から上記制御レジス 夕 Ί aに設定される光学系の歪曲収差に関する光学的性質を示すパラメ一夕である歪補正 係数 A, B , Cと、 上記算出値(X (ドット) , Y (ドット) ) と、 上記歪中心位置の座 標 (Xd, Yd ) と、 を用いて、 歪補正処理後の着目点の座標 (X, Y) に対応する歪補 正処理前の着目点の座標 (X, , Y, ) を、 次の数式 6に示すように算出する。
【数式 6】
X , = ^X - Xd)-[l+A -Z2 + B -Z4 + C -Z6]+ Xd Y' = (†-Yd [l+ A'Z2 + B - Z4 + C- Z6]+Yd この第 2の»¾態においても、 この数式 6に示すように、 Zの 2次項を越える次数ま で、 つまり例えば 4次項、 または 6次項まで考慮するようにしているために、 上記 3 ( D) に示したような陣笠型の歪曲収差等のより高次の収差も高精度に補正することが可能 となっている。 なお、 ここでは 6次項まで考慮する例を示したが、 上記数式 4に示したよ うに、 8次項、 1 0次項等の、 より一層高次の収差も補正するようにしても構わない。 上述したような補間位置生成部 2 1により算出された座標 (X, Y)、 または歪補正座 標変換部 2 2により算出された座標(X' , Y' ) は、 セレクタ 2 3に入力されて、 歪補 正を行うか否かに応じて、 必要なものが選択される。
次に、 回路 ¾を縮小することができるようにした実用的な数式について説明する。 まず、 上記数式 3に数式 2および数式 1を代入して、 次の数式 7に示すように変形する
【数式 7】
つ 2、
Figure imgf000022_0001
そして、 数式 8に示すような新たな定数式を導入して、 上記数式 7を数式 9に示すよう に変形する。
【数式 8】
Figure imgf000022_0002
【数式 9】
Figure imgf000022_0003
ここに、 数式 9における Z ( 2ドット) は、 次の数式 1 0に示すように定義され、 X 2 , Y 2 (補間座槔デ一夕) は次の数式 1 1に示すように定義される。
【数式 1 0】
Z
z =
M
【数式 1 1】
X2 = XST +kAX
Figure imgf000022_0004
この数式 10および数式 11に示すように定義された Z (2ドット) を用いると、 上記 数式 6は次の数式 12に示すように変形される。
【数式 12】
Figure imgf000023_0001
ここに、 この数式 12においては、 次の数式 13から数式 16に示すように定義された 定数式または変数式を用いている。
【数式 13】
A = AM2
= 4
C = CM6
【数式 14】
X=M(XST-XD)+XOFF
ΔΧ= ·ΔΧ
Y-M(YST-YD)+YOJR
AY^M'AY
【数式 15】
Yl-Y+lAY m
WO 2004/109597 ^
【数式 16】
'l+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ド ット) , ΔΧ (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回となる。
.このような演算で扱う数は、 ダイナミヅクレンジが大きく、 計算回数が少し増えるだけ でも回路皿が大きくなつてしまうために、 上記に示したような実用的な数式に沿って演 算を行うことにより、 乗算器の個数を減少させるとともに、 係数を設定するためのレジス 夕を削減することができ、 回路 を効果的に縮小することが可能となる。
このように変形された実用的な数式に基づいて、 上言 BM 位置生成部 21に対応する補 間位置算出回路 2 la (後述する図 16参照) は、 上記 CPU 3から上記制御レジスタ 7 aに設定される補間開始位置(X (3ドット) , Y (3ドット) ) および補間ステップ ( △ X (3ドット) , ΔΥ (3ドヅト) ) を用いて、 上記数式 15に示すように、 補間を行 う着目点の座標 (補間位置) (XI, Y1) を算出するようになっている。
また、 上記歪補 標変換部 22の歪補正係数算出手段たる歪補正係数算出回路 22 a (後述する図 16および図 17参照) は、 上記 CPU3から上記制御レジス夕 7aに設定 される A (ドット) , B (ドット) , C (ドヅト) を用いて、 上記数式 16に示すように 歪補正係数 Fを算出するようになっている。 なお、 後述するように、 該図 17に示す構成 に代えて、 図 18に示すような構成により、 歪補正係数 Fを算出することも可能となって いる。
さらに、 上記歪補正座標変換部 22の補間位置補正回路 22 b (後述する図 16参照) は、 算出された歪補正係数 Fと、 上記 CPU3から上記制御レジス夕 7 aに設定される歪 中心位置の座標 (Xd, Yd ) と、 を用いて上記着目点の座標 (補間位置) (XI, Y1 ) から上記数式 12により歪補正処理前の着目点の座標(補間座標デ一夕) (Χ, , Y, ) を算出するようになっている。
次に、 上言 3¾間演算部 26は、 上記セレクタ 23から出力される座標に基づき、 該座標 の近傍の画素の画像デ一夕 DO〜D15を上記内部メモリ部 25から読み出して、 上記数式 5を用いることにより、 該着目点に係る歪補正処理後の画像デ一夕 Doutを算出して、 後 段の処理プロヅクへ出力する。
図 16は、 歪補正処理部 7のより詳細な構成を示すブロック図である。
上言 Bffi間位置生成部 21は、 上記着目点の座標 (XI, Y1) を上述したように算出す るための補間位置算出回路 21 aを有して構成されている。
上言 補正座標変換部 22は、 上記歪補正係数 Fを上記数式 16に示したように算出す るための歪補正係数算出回路 22 aと、 この歪補正係数算出回路 22 aにより算出された 歪補正係数 Fを用いて上記数式 12に示したように歪補正処理前の着目点の座標 (Χ' , Y' ) を算出するための補間位置補正回路 22わと、 を有して構成されている。
上記セレクタ 23は、 歪補正処理を行わない場合には (拡大縮小処理を行うか否かに関 わらず) 上言 間位置算出回路 2 laからの座標 (XI, Y1) を選択し、 歪補正処理を 行う場合には (拡大縮小処理を伴うか否かに関わらず)上言 ¾1間位置補正回路 22わから の座標 (X5 , Y' ) を選択するものである。
このセレクタ 23により選択された座標 (XI, Y1) または座標 (X, , Y' ) には 、 制御レジス夕 7 aを介して上記 CPU 3により設定される歪中心位置の座標 (Xd , Y d )が、 加算器 27a, 27bによりそれそれ加算されるようになっている。
これら加 m§27a, 27bの出力は、 読出しアドレス生成回路 24 aとバッファ開放 量算出回路 24 cとへ出力されるようになっている。
この読出しアドレス生成回路 24 aには、 さらに、 上言 間位置算出回路 2 laにより 算出された座標 (XI, YD も上記セレクタ 23を介する経路とは別途に入力されるよ うになつている。 そして、 該読出しアドレス生成回路 24 aは、 この座標 (XI, Y1) に関連する画素デ一夕 (16点補間を行う:^には、 纏標 (XI, Y1) を中心とする 16個の画素デ一夕) が記憶されているアドレス ADRを 2ポート SRAM25 aに出力 するとともに、 補間係数 (例えば、 上記数式 5に示したような補間係数 kxO〜: kx3, kyO 〜: ky3) と出力する画素データが DO〜D 15のどの位置の画素データであるかを示すデー 夕列制御信号とを補間回路 26 aに出力するようになっている。 さらに、 該読出しァドレ ス生成回路 24 aは、 書き込み許可信号 WE— Nを後段の処理プロックへ出力する。 上記 2ポート S R AM 25 aは、 上記図 2に示した内部メモリ部 25に対応する回路部 分である。
補間回路 26 aは、 上記図 2に示した補間演算部 26に対応するものであり、 上記 2ポ —ト SRAM25aから読み出された画像デ一夕を用いて上記数式 5に示したような補間 処理を行い、 処理後の画像デ一夕を後段の処理プロヅクに出力するものである。
上記バッファ開放量算出回路 24 cは、 上言 BM 位置算出回路 2 laからの出力と、 上 記セレクタ 23からの出力と、 に基づいて、 上記 2ポート SRAM25 aにおいて開放可 能な記憶容量 (バッファ開放量) を算出するものである。
バッファ空き容量監視回路 24 dは、 このバッファ開放量算出回路 24 cの出力を参照 して、 上記 2ポート SRAM25aの空き容量の状況を把握するものである。
書込みァドレス生成回路 24 bは、 前段の処理プロヅクからの画像デ一夕を受けて、 上 記 2ポート SRAM25 aに記録するものである。
GRAN T一 N送信判定回路 24 eは、 後段の処理プロヅクからの画像デ一夕を要求す る要求信号 REQ— Nを受けて、 上記書込みアドレス生成回路 24bとバッファ開放量算 出回路 24 cとの出力に基づき画像デ一夕の送信が可能であるか否かを判断し、 可能であ る:^に許可信号 GRANT— Nを後段の処理ブロックに出力するとともに、 上言 Bi間位 置算出回路 21 aにも出力するものである。 この GRANT— N送信判定回路 24 eは、 さらに、 該許可信号 GRANT_Nを受けた補間位置算出回路 2 laが座標(XI, Y1 ) を算出して出力するのにタイミングを合わせて歪補正係数算出回路 22 aが歪補正係数 Fを出力することができるように、 トリガ t r i gを該歪補正係数算出回路 22 aへ出力 するようになっている。
なお、 上記図 16に示した歪補正処理部 7の構成の内で、 上記歪補正座標変換部 22を 除く各回路にはクロヅク CLK 2が供給されるが、 この歪補正座標変換部 22にはこのク ロック CLK 2とは異なり得るクロック CLK 1が供給されるようになっている。
これにより、 歪補正処理を行わない場合、 つまり例えば拡大縮小処理のみを行う:^や 、 歪補正処理および拡大縮小処理を両方とも行わない:^などに、 歪補正座標変換部 22 への供給クロック C L K 1を停止すれば、 不要な電力の消費を抑制することが可能である 。 また、 供給するクロック CLK1のクロヅク数を低下させたり戻したり制御することに より、 単位時間当たりに補間座標デ一夕を生成する回数を制御し調整することも可能とな o '
次に、 この図 16に示したような歪補正処理部 7の動作について説明する。
ノ 'ヅファ空き容量監視回路 24 dは、 ノ ファ開放量算出回路 24 cを介して 2ポート SRAM 25 aの空き容量を監視し、 所定の空き容量があると、 前段の処理プロヅクに対 して所定のプロヅク単位の画像データ (以下、 適宜、 ュニヅトライン (UL)デ一夕とい う。 ) を送信するように要求信号 REQを出す(ステップ S1)。
前段の処理プロヅクは、 この要求信号 REQを受けて、 画像デ一夕が送信可能になった ところで許可信号 GRANTを送信し、 上記バッファ空き容量監視回路 24 dは、 この許 可信号 GRANTを受信する (ステップ S 2)。
該バヅファ空き容量監視回路 24 dは、 2ポ一ト SRAM25 aの空き容量を、 内部に 保持する力ゥン夕で把握するようになっており、 許可信号 GRAN Tを受信すると同時に 、 この内部カウン夕の値を 1つ減らす。 該バッファ空き容量監視回路 24 dは、 この内部 カウン夕が 0になったら、 上記要求信号 REQを取り下げるように動作する (ステップ S 3)。
そして、 前段の処理ブロックから、 書き込み許可信号 WEが書込みアドレス生成回路 2 4bに入力され、 続いて画像データが入力される。 これに応じて、 書込みアドレス生成回 路 24bは、 制御信号を 2ポート SRAM 25 aへ出力して、 画像デ一夕 DATAを該 2 ポート SRAM25aの、 アドレス ADD RE S Sで指定される領域に書き込む。 また、 書込みアドレス生成回路 24 bは、 1ULデ一夕が入力される毎に、 BLCカウン夕 (内 部バヅファである 2ポ一ト SRAM 25 aにどれだけのデ一夕が溜められたかを示すカウ ン夕) をアップして、 GRANT一 N送信判定回路 24 eへ出力する (ステップ S 4)。
GRANT— N送信判定回路 24 eは、 後段の処理ブロックから要求信号 RE Q—Nを 受信すると、 次に送信することができる ULデータが 2ポート SRAM25 a内にあるか 否かを判定し、 あると判定した:!^には、 許可信号 GRANT— Nを後段の処理ブロック と上言 甫間位置算出回路 2 laとへ送信する (ステップ S 5) o
補間位置算出回路 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と、 上言 Bffi間位置算出回路 2 laから受け取った座標 (XI, Y1) と、 を用いて、 上 記数式 12に基づき座標 (Χ, , Y, ) を算出する。 この補間位置補正回路 22 bも、 上 記歪補正係数算出回路 22 aに従って、 1UL分の動作を行ったところで、 次の UL先頭 座標を算出して終了する (ステヅプ S 9)。
セレクタ 23は、 上記制御レジス夕 7 aを介して上記 C P U 3により設定された動作モ —ドに従って、 歪補正処理を行う: ^には上言 St間位置補正回路 22 bからの座標 (X' , Y' ) を選択し、 歪補正処理を行わない:^には上言 BM 位置算出回路 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 RAM 25 aに出力するとともに、 補間係数とデ一夕列制御信号とを 補間回路 26 aに出力する (ステップ S 12)。
補間回路 26 aは、 読み出しアドレス生成回路 24 aから受け取った補間係数およびデ —夕列制御信号と、 2ポート SRAM25 aから受け取った画素デ一夕と、 を用いて、 上 記数式 5に示すように、 補間された画素デ一夕を算出し、 後段の処理ブロックに出力する (ステップ S 13) 。
バッファ開放量算出回路 24 cは、 上記補 位置算出回路 21 aおよび加算器 27 a, 27 bの出力に基づいて、 ULデ一夕を最後まで出力したことが確認されたら、 今処理を 終えた UL先頭座標と、 次の UL先頭座標との差を計算して、 必要なくなったデ一夕が蓄 積されているバヅファ (2ポート SRAM 25 a内の領域) を開放するために、 バッファ 開放量をバッファ空き容量監視回路 24 dへ出力するとともに、 次の UL処理を行うため に後どれだけのデータを前段の処理プロヅクから受けることが必要であるかを、 上記 GR AN T— N送信判定回路 24 eへ送信する (ステップ S 14)。
バッファ空き容量監視回路 24 dは、 上記ステップ S 14において内部バッファである 2ポート SRAM25aに記憶領域の空きができたことが確認されたところで、 上記ステ ヅプ S 1へ戻って、 上述したような処理を繰り返して行う (ステップ S 15) o
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, Β, Cは数式 13の左辺に示す A ( ドット) , B (ドヅト) , C (ドット) のことを指している。
歪補正係数算出回路 22 aは、 上記 GRANT— N送信判定回路 24 eからトリガ t r i gが入力されたところで上記数式 11に基づき補間座標 X 2 , Y 2を算出する歪補正用 座標算出回路 31と、 この歪補正用座標算出回路 31により算出された補間座標 X 2を浮 動小数に変換する浮動小数化回路 32 aと、 上記歪補正用座標算出回路 31により算出さ れた補間座標 Y 2を浮動小数に変換する浮動小数化回路 32 bと、 上記浮動小数化回路 3 2 aにより浮動小数化された補間座標 X 2を 2乗する 2乗計難 33 aと、 上記浮動小数 化回路 32bにより浮動小数化された補間座標 Y2を 2乗する 2乗計算器 33bと、 上記 2乗計難 3 3 aにより算出された補間座標 X 2の 2乗と上記 2乗計算器 3 3 bにより算 出された補間座標 Y 2の 2乗とを加算することにより Z (より正確には、 上述したように Z ( 2ドット) 。以下同様) の 2乗を算出する加 3 4と、 この加算器 3 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乗を算出する乗^ H 3 6 dと、 上言劭ロ算器 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から制御レジス夕 7 aに設定される上記係数 A の符号 s i g nAを与えて固定小数に変換する固定小数化回路 3 7 aと、 上言 算器 3 6 bからの出力に上記 C P U 3から制御レジス夕 Ί aに設定される上記係数 Bの符号 s i g nBを与えて固定小数に変換する固定小数化回路 3 7 bと、 上記乗算器 3 6 cからの出力 に上記 C P U 3から制御レジス夕 Ί 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を算出する加 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乗計難3 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から設定される ものではなく、 固定値となっている。 もちろん、 ルックアップテ一ブルの が大きくな つても構わない:^には、 上記係数 A, B , Cの複数の組み合わせに対応するルヅクァヅ ブテ一ブルを用意しておいて、 適切なものを用いるようにしても構わない。
次に 図 1 9はクロック毎に補間位置を生成するときの様子を示すタイミングチヤ一ト 、 図 2 0は 3クロヅクに 1回の割合で補間位置を生成するときの様子を示す夕ィミングチ ャ一トである。
図 1 9は、 クロヅク毎に補間位置を生成するときの動作の様子を示したものであり、 後 段の処理ブロックから要求信号 RE Q—Nが GRAN T— N送信判定回路 2 4 eに入力さ れると、 該 GRAN T— N送信判定回路 2 4 eは、 画像デ一夕を出力可能となったところ で、 該後段の処理プロヅクに対して許可信号 GRAN T_Nを送信する。
この許可信号 GRAN T— Nは、 補間位置算出回路 2 l aへも入力されて、 補間位置 X 1 , Y 1が生成され出力される。 この図 1 9に示す例では、 補間位置 X I , Y 1は、 各ク ロック毎に出力される。
そして、 適宜の処理時間を経た後に、 上言 3«間回路 2 6 aから補間後の画像デ一夕が後 段の処理プロヅクへ出力され、 このときには上言 3読出しァドレス生成回路 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が生成されてから上言 St間回路 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, Y) に対応する位置 (つまり、 (X, Y) に 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 5 7 Cは、 後段のプロヅクから画像データを送信して欲しい旨のリクエストを受信すると、 送信可能 になった段階で、 画像デ一夕を所定のプロヅク単位で該後段のプロヅクへ送信するように なっている。 ' なお、 上記図 1 5に示したような構成例においては、 前段の処理ブロックがイメージプ 口セス部 6に対応し、 後段の処理ブロックが J P E G処理部 9に対応していて、 これらの 前段および後段の処理プロックも、 各チヤンネル毎に処理を行うように構成されている。 歪補正処理部 7には、 制御レジス夕 7 aが付随して設けられており、 C P U 3からの該 歪補正処理部 7に対する設定値や各種デ一夕などが上記歪補正処理部 7 A, 7 B , 7。へ 設定され、 同時に処理結果のステータスなどを C P U 3から読み取ることができるように なっている。
上記歪補正処理部 7の 1つのチヤンネルに係る部分の処理の概要は、 上記図 4および図 5を参照して説明したのとほぼ同様である。
そして、 このような処理を行うための 1つのチャンネルに係る歪補正処理部 7は、 上記 図 2に示したものと同様である。
また、 上言 BM 位置生成部 2 1と歪補正座標変換部 2 2とにおいて、 座標を算出する際 の基本的な数式と、 それを変形することにより回路媚奠を縮小することができるようにし た実用的な数式と、 は、 上述した第 2の実施形態において、 数式 1〜数式 3および数式 5 〜数式 1 6を参照して説明したものと同様である。
このとき、 上記数式 1 6に示すように歪補正係数 Fを算出するのは、 後述する図 2 6に 示すような、 上記歪補正座標変換部 2 2の歪補正係数算出手段たる歪補正係数算出回路 2 2 aであるが、 該図 2 6に示す構成に代えて、 後述する図 2 8に示すような構成を用いて も構わない。
さらに、 上記数式 1 2により歪補正処理前の着目点の座標 (補間座標デ一夕) (Χ, , 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、 緑 G、 青 Bに関する補間デ一夕の算出を行うこと が可能なところまで画像データの蓄積が行われている。
このように、 3つのチャンネルの補間デ一夕を算出可能になった時点で、 後段の処理プ ロックへの画像デ一夕の転送を許可するように同期させるのが、 グラント同期手段たるグ ラント同期回路 27である。
Ch. 0が R、 Ch. 1が G、 Ch. 2が Bである^を例にとると、 上記図 23に示 すような状態になったところで上記 Ch. 0用歪補正回路 7 A 1が歪補正処理の開始を要 求する要求信号 t r ok—◦を出力し、 図示はしないが Ch. 1用歪補正回路 7B1が歪 補正処理可能となった時点で歪補正処理の開始を要求する要求信号 t r o k— 1を出力し 、 上記図 24に示すような状態になったところで Ch. 2用歪補正回路 7 C 1が歪補正処 理の開始を要求する要求信号 t r o k— 2を出力するようになっている。
グラント同期回路 27は、 これらの要求信号 t r ok— 0, trok— 1, trok— 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に対して後述するように歪補正処理を同時に開始させるよ う制御するようになっている。
なお、 該グラント同期回路 27は、 後述するように、 内部にスィッチを有しており、 3 つのチャンネルの出力を同期させるか否かを切り換えることができるようになつている。 図 26は、 上記歪補正係数算出回路 22 aの構成を示すブロック図である。
この歪補正係数算出回路 22 aは、 上記数式 16によって、 歪補正係数 Fを算出するた めの歪補正係数算出手段であり、 該数式 16における光学系の光学的性質を反映する A ( ドット) , B (ドット) , C (ドット) は、 各チャンネル毎に、 つまり例えば RGBの各 色成分每に、 上記 CPU 3から制御レジス夕 7 aに設定されるようになっている。
なお、 この図 26および後述する図 27, 図 28の図面中において、 そして以下に示す 図 26から図 28までの説明においては、 Zは数式 10の左辺に示す Z (2ドット) のこ とを指し、 係数 A, B, Cは数式 13の左辺に示す A (ドット) , B (ドット) , C (ド, ヅト) のことを指している。
歪補正係数算出回路 22 aは、 上記グラント同期回路 27から許可信号 e_grant が入力されたところで上記数式 11に基づき補間座標 X2, Y2を算出する歪補正用座標 算出回路 31と、 この歪補正用座標算出回路 31により算出された補間座標 X 2を浮動小 数に変換する浮動小数化回路 32 aと、 上記歪補正用座標算出回路 31により算出された 補間座標 Y 2を浮動小数に変換する浮動小数化回路 32 bと、 上記浮動小数化回路 32 a により浮動小数化された補間座標 X 2を 2乗する 2乗計算器 33 aと、 上記浮動小数化回 路 32bにより浮動小数化された補間座標 Y 2を 2乗する 2乗計算器 33bと、 上記 2乗 計算器 33 aにより算出された補間座標 X 2の 2乗と上記 2乗計算器 33 bにより算出さ れた補間座標 Y2の 2乗とをカロ算することにより Z (より正確には、 上述したように Z ( 2ドット) 。以下同様) の 2乗を算出する加^ 34と、 この加 4からの出力を 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用の歪補正係数 F0, F 1 , F 2をそれぞれ算出する距離依存係数算出回路 40 a, 40b, 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と、 上記乗 I36から出力される Zの 6乗に上記 CP U 3から制御レジス夕 7 aに設定される係数 C (より正確には、 上述したように C (ドヅ ト)。以下同様) を乗算する乗算器 41 cと、 上記乗 41 aからの出力に上記 CPU 3から制御レジス夕 7 aに設定される上記係数 Aの符号 s i gnAを与えて固定小数に変 換する固定小数化回路 42 aと、 上記乗 ^141 bからの出力に上記 CPU 3から制御レ ジス夕 7 aに設定される上記係数 Bの符号 s i gnBを与えて固定小数に変換する固定小 数化回路 42 bと、 上記乗算器 4 lcからの出力に上記 CPU3から制御レジス夕 7 aに 設定される上記係数 Cの符号 s i gnCを与えて固定小数に変換する固定小数化回路 42 cと、 上記固定小数化回路 42 aからの出力と上記固定小数化回路 42 bからの出力と上 記固定小数化回路 42 cからの出力と上記 CPU3から制御レジス夕 7 aに設定される定 数 1. 0とを加算することにより上記数式 16に基づく歪補正係数 F (すなわち、 歪補正 係数 FO, F 1, F 2の何れか) を算出する加算器 43と、 を有して構成されている。 なお、 図 26および図 27において、 2重線で示している部分が、 浮動小数による演算 処理を行っている部分であり、 ダイナミックレンジの広い X2, Y2や Zなどを浮動小数 で扱うことにより、 精度を保ちながら回路規模を縮小するようになつている。
このとき、 上記図 26に示したように、 歪補正係数算出回路 22 aの一部、 すなわち、 歪補正用座標算出回路 31、 浮動小数化回路 32 a, 32b、 2乗計算器 33 a, 33b , 33c,カロ算器 34、 遅延回路 35 a, 35 b、 乗^ §36は、 チャンネルによらない 共通した部分として構成されている。 これにより、 さらに回路 ¾莫の縮小を図って、 消費 電力を低減することができるようになつている。
また、 図 28は、 上記歪補正係数算出回路 22 aの構成の他の例を示すブロック図であ この図 28に示す歪補正係数算出回路 22 aは、 上記歪補正用座標算出回路 31と、 上 記浮動小数化回路 32 aと、 上記浮動小数化回路 32 bと、 上記 2乗計算器 33 aと、 上 記 2乗計^ 133わと、 上記加算器 34と、 この加算器 34から出力される浮動小数化さ れた Z (より正確には、 上述したように Z (2ドット) o 以下同様) の 2乗を用いて参照 を行うことにより固定小数化された歪補正係数 F0, F 1, F2をそれぞれ出力する LU T (ルックァヅブテ一ブル) 39 a, 39 b, 39 cと、 を有して構成されている。 この図 28においても、 2重線で示している部分が、 浮動小数による演算処理を行って いる部分である。
このように、 この図 28に示す構成例は、 ルックァヅブテ一ブルを用いることにより、 歪補正係数 F0, Fl, F 2を算出するための処理時間を短縮し回路の消費電力を低減す るものとなっている。
なお、 この構成例を適用する; ^には、 チャンネル毎の上記係数 A, B, Cは CPU3 から設定されるものではなく、 固定値となっている。 もちろん、 ルックアップテ一ブルの 讓が大きくなつても構わない:^には、 上記係数 A, B, Cの複数の組み合わせに対応 するルヅクァヅプテ一ブルをチヤンネノレ毎に用意しておいて、 適切なものを用いるように しても構わない。 次に、 図 29は、 上記 Ch. 0用歪補正回路 7A1の構成を示すプロヅク図である。 C h. 1用歪補正回路 7B1、 Ch. 2用歪補正回路 7 C 1の構成も、 この Ch. 0用歪補 正回路 7 A 1の構成と同様であるために、 ここでは Ch. 0用歪補正回路 7 A 1について のみ説明する。
補間位置算出回路 2 laは、 上記着目点の座標 (XI, Y1) を上述したように算出す るためのものであり、 上 ΐ¾Ι間位置生成部 21に対応する回路部分である。
補間位置補正回路 22 bは、 上記歪補正係数算出回路 22 aにより算出された歪補正係 数 F0を用いて上記数式 12に示したように歪補正処理前の着目点の座標 (Χ, , Y5 ) を算出するためのものであり、 上言己歪補正座標変換部 22の一部となっている。
上記セレクタ 23は、 歪補正処理を行わない; ^には (拡大縮小処理を行うか否かに関 わらず)上言 3ϋ間位置算出回路 2 laからの座標 (XI, Y1) を選択し、 歪補正処理を 行う:^には (拡大縮小処理を伴うか否かに関わらず)上言 BM間位置補正回路 22わから の座標 (X, , Y, ) を選択するものである。
このセレクタ 23により選択された座標 (XI, Y1) または座標 (X5 , Υ, ) には 、 制御レジス夕 7aを介して上記 CPU3により設定される歪中心位置の座標 (Xd , Y d )が、 カロ m§27a, 27bによりそれぞれ加算されるようになっている。
これらカロ^ H27a, 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 ~D 15のどの位置の画素データであるかを示すデー 夕列制御信号とを補間回路 26 aに出力するようになっている。 さらに、 該読出しァドレ ス生成回路 24 aは、 書き込み許可信号 WE— N 0を後段の C h . 0に対応する処理プロ ヅクへ出力する。
上記 2ポート SRAM25 aは、 上記図 2に示した内部メモリ部 25に対応する回路部 分である。 補間回路 26 aは、 上記図 2に示した補間演算部 26に対応するものであり、 上記 2ポ —卜 SRAM25 aから読み出された画像デ一夕を用いて上記数式 5に示したような補間 処理を行い、 処理後の画像データを後段の処理プロヅクに出力するものである。
上記バッファ開放量算出回路 24 cは、 上言 間位置算出回路 2 laからの出力と、 上 記加算器 27a, 27 bを介した上記セレクタ 23からの出力と、 に基づいて、 上記 2ポ —ト SRAM25 aにおいて開放可能な記憶容量 (バヅファ開放量) を算出するものであ 。
ノ^ファ空き容量監視回路 24 dは、. このバヅファ開放量算出回路 24 cの出力を参照 して、 上記 2ポート SRAM 25 aの空き容量の状況を把握するものである。
書込みアドレス生成回路 24bは、 前段の処理ブロックからの Ch. 0に係る画像デー 夕を受けて、 上言己 2ポート SRAM25 aに言 3録するものである。
デ一夕送信可否判定回路 24 fは、 Ch. 0に係る後段の処理ブロックからの画像デ一 夕を要求する要求信号 REQ— NOを受けて、 上記書込みアドレス生成回路 24bとバッ ファ開放量算出回路 24 cとの出力に基づき画像デ一夕の送信が可能であるか否かを判断 し、 可能である:^に要求信号 t rok—0を上記グラント同期回路 27へ出力するもの である。
次に、 この図 29に示したような歪補正処理部 7の動作について説明する。
ノ、'ヅファ空き容量監視回路 24 dは、 ノ^ファ閧放量算出回路 24 cを介して 2ポート SRAM 25 aの空き容量を監視し、 所定の空き容量があると、 Ch. ◦に係る前段の処 理ブロックに対して所定のブロック単位の画像データ (以下、 適宜、 ユニットライン (U L)データという。 ) を送信するように要求信号 REQ一 0を出す (ステップ S 21)。
Ch. 0に係る前段の処理ブロックは、 この要求信号 REQ— 0を受けて、 画像デ一夕 が送信可能になつたところで許可信号 G R A N T— 0を送信し、 上記ノ ヅファ空き容量監 視回路 24 dは、 この許可信号 GRANT_0を受信する (ステップ S 22)。
該バヅファ空き容量監視回路 24 dは、 2ポート SRAM 25 aの空き容量を、 内部に 保持するカウン夕で把握するようになっており、 許可信号 GRANTを受信すると同時に 、 この内部カウン夕の値を 1つ減らす。該バッファ空き容量監視回路 24 dは、 この内部 カウン夕が 0になったら、 上記要求信号 REQ—0を取り下げるように動作する (ステヅ プ S23)。
そして、 Ch. 0に係る前段の処理ブロックから、 書き込み許可信号 WE— 0が書込み アドレス生成回路 24bに入力され、 続いて画像データが入力される。 これに応じて、 書 込みアドレス生成回路 24 bは、 制御信号を 2ポート SRAM 25 aへ出力して、 画像デ 一夕 DATAを該 2ポート SRAM25 aの、 アドレス ADD RE 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内にあるか否かを判定し、 あると判定した:^には、 要求信号 trok— 0を上記グラ ント同期回路 27へ送信する (ステップ S 25) o
グラント同期回路 27は、 後述するように、 画像データの送信餅が整つたところで各 チャンネルに係る後段の処理ブロックおよび各チャンネルに係る補間位置算出回路 21 a に対して許可信号 GRANT— NO, GRANT— Nl, GRANT— N 2を出力する。
Ch. 0に係る補間位置算出回路 2 laは、 この許可信号 GRANT— NOを受けて動 作を開始し、 補間位置である座標 (XI, Y1)の算出動作を 1UL分行ったところで、 次の UL先頭座標を算出して終了する (ステップ S 26)。
上記グラント同期回路 27は、 補間位置算出回路 2 laが動作を開始して座標 (XI, YD を出力するのと同期して歪補正係数算出回路 22 aが歪補正係数 F0を出力するこ とができるような夕ィミングで、 許可信号 e_g rantを該歪補正係数算出回路 22a へ出力する (ステップ S 27)。
歪補正係数算出回路 22 aは、 許可信号 e_g rantを受けると、 各チャンネルに係 る歪補正係数 F 0 , F 1 , F2を上記数式 16に基づき算出し、 各チヤンネルの補間位置 補正回路 22 bへ出力する。 この歪補正係数算出回路 22 aも、 上言 BM間位置算出回路 2 laと同様に、 1UL分の動作を行ったところで、 次の UL先頭座標を算出して終了する
(ステップ S 28)。
Ch. 0に係る補間位置補正回路 22 bは、 この歪補正係数算出回路 22 aから受け取 つた歪補正係数 F0と、 上言 ¾i間位置算出回路 2 laから受け取った座標 (XI, Y1) と、 を用いて、 上記数式 12に基づき座標 (Χ, , Y, ) を算出する。 この補間位置補正 回路 22 bも、 上記歪補正係数算出回路 22 aに従って、 1 UL分の動作を行ったところ で、 次の UL先頭座標を算出して終了する (ステップ S 29)。
セレクタ 23は、 上記制御レジス夕 7 aを介して上言 3 C P U 3により設定された動作モ —ドに従って、 歪補正処理を行う: ^には上言 BM間位置補正回路 22 bからの座標 (X, , Y, ) を選択し、 歪補正処理を行わない: ^には上言 St間位置算出回路 2 laからの座 標 (XI, Y1) を選択する (ステップ S30)。
加算器 27a, 27bは、 このセレクタ 23により選択された座標 (XI, Y1) また は座標 (Χ, , Y, ) に、 歪中心位置の座標 (Xd , Yd ) をそれそれ加算する (ステヅ プ S31)。
読み出しァドレス生成回路 24 aは、 加^ §127a, 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は、 上 Ϊ3Μ間位置算出回路 21 aおよび加算器 27 a, 27bの出力に基づいて、 ULデータを最後まで出力したことが確認されたら、 今処理を 終えた UL先頭座標と、 次の UL先頭座標との差を計算して、 必要なくなったデ一夕が蓄 積されているバッファ (2ポート SRAM 25 a内の領域) を開放するために、 バッファ 開放量をバッファ空き容量監視回路 24 dへ出力するとともに、 次の UL処理を行うため に後どれだけのデ一夕を C h . 0に係る前段の処理プロヅクから受けることが必要である かを、 上記デ一夕送信可否判定回路 24 fへ送信する (ステップ S34) o
バヅファ空き容量監視回路 24 dは、 上記ステップ S 34において内部バッファである 2ポート SRAM25 aに記憶領域の空きができたことが確認されたところで、 上記ステ ヅプ S21へ戻って、 上述したような処理を繰り返して行う (ステヅブ S35) o
データ送信可否判定回路 24 fは、 上記書込みァドレス生成回路 24bからの BLC力 ゥン夕の値と、 ノ ヅファ開放量算出回路 24 cからの出力と、 に基づいて、 次の ULデー 夕を後段の処理プロヅクに送信することができるか否かを判定し、 送信することができる と判定した ^には、 上記ステップ S 25の処理を行う (ステップ S36) o 図 30はグラント同期回路 27の構成を示すプロヅク図、 図 31はグラント同期回路 2 7の動作を説明するためのタイミングチャートである。
まず、 上記制御レジス夕 7aを参照することにより得られる DT— ONは、 歪補正を行 うか否かを示すブール値を保持するものであり、 0 (偽) の場合には口一レベル、 1 (真 ) の: ^にはハイレベルの信号として取得されるように構成されている。
このグラント同期回路 27は、 Ch. 0用歪補正回路 7A1からの要求信号 t r ok— 0と Ch. 1用歪補正回路 7B1からの要求信号 t rok一 1と Ch. 2用歪補正回路 7 C 1からの要求信号 t r ok_2との論理積をとるための AND回路 51と、 上記要求信 号 trok_0, t r ok_l, t r o k— 2と AND回路 51の出力との立ち上がりを 検出するための微分回路 52と、 DT— ONが口一レベルである: ^には要求信号 t r o k_0に係る微分回路 52の出力側に接続され該 D T—〇 Nがハイレベルである:^には 上記 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の出力側 に接続され該 D T— ONがハイレベルである場合には上記 AND回路 51に係る微分回路 52の出力側に接続されるように切り換えられるスィヅチ 53 cと、 上記 AND回路 51 に係る微分回路 52の出力と DT— ONとの論理積をとつて上記歪補正係数算出回路 22 aの歪補正用座標算出回路 31へ許可信号 e一 grantとして出力する AND回路 54 と、 を有して構成されている。
このようなグラント同期回路 27の動作は、 次のようになっている。
まず、 DT— ONがローレベルであるとき、 つまり歪補正を行わない:^には、 上記ス ィヅチ 53a, 53b, 53 cは、 要求信号 trok一 0, trok—l, trok一 2 に係る検出する微分回路 52の出力側にそれそれ切り換えられている。
このときに、 図 31の左側に示すように、 要求信号 t r ok_0にハイレベルの信号が 入力されると、 微分回路 52でその立ち上がりが検出されて、 GRANT— NOとして出 力される。 次に、 要求信号 t r ok— 1にハイレベルの信号が入力されると、 微分回路 5 2でその立ち上がりが検出されて、 GRANT_N1として出力され、 さらにその後に、 要求信号 t r ok 2にハイレベルの信号が入力されると、 微分回路 52でその立ち上が りが検出されて、 GRANT— N 2として出力される。 このように、 DT__ ONがローレ ベルであるときには、 3つのチャンネルからの画像デ一夕の出力は、 各チャンネル毎にそ れそれのタイミングで行われる。
また、 DT— ONが口一レベルとなっているときには、 AND回路 51の出力如何に関 わらず、 AND回路 54の出力は口一レベルのままとなり、 許可信号 e— grantは出 力されない (あるいは不許可の出力となる) ために、 上記歪補正係数算出回路 22 aは歪 補正係数 F0, Fl, F 2の算出を行わない。従って、 各チャンネルに係る補間位置補正 回路 22 bも動作せず、 結局、 歪補間処理は行われないことになる。
次に、 DT— ONがハイレベルであるとき、 つまり歪補正を行う ¾ ^には、 上記スィヅ チ 53 a, 53 b, 53 cは、 AND回路 51に係る微分回路 52の出力側に切り換えら れている。
このときに、 図 31の右側に示すように、 要求信号 t r ok— 0にハイレベルの信号が 入力されても、 その時点では、 要求信号 trok— 1, t r ok— 2は口一レベルのまま であるために、 該 AND回路 51の出力は口一レベルのまま維持される。
その後、 要求信号 t r o k— 0がハイレベルであって、 かつ要求信号 t r o k— 1がハ ィレベルとなった時点でも、 要求信号 t r ok— 2が口一レベルである間は、 AND回路 51の出力は口一レベルのままである。
そして、 要求信号 trok— 0, trok— 1, t r ok— 2の全てがハイレベルとな つた時点で、 AND回路 51の出力がハイレベルとなり、 微分回路 52でその立ち上がり が検出される。
この微分回路 52の出力は、 許可信号 GRANT一 NO, GRANT— Nl, GRAN T—N2として同時に出力されるとともに、 AND回路 54にも出力されて、 ハイレベル となっている D T— 0 Nと論理積がとられ、 許可信号 e— g r a n tとして上言 3歪補正係 数算出回路 22 aへ出力される。
このようにして、 DT—0Nがハイレベルであるときには、 3つのチャンネルからの画 像デ一夕の出力は、 同期したタイミングで行われる。
このような第 3の実施形態によれば、 上述した第 1,第 2の実施形態とほぼ同様の効果 を奏するとともに、 歪補正と色収差補正とを行い得る回路 ¾臭が小さく低消費電力な画像 処理装置となる。
特に、 歪補正係数算出回路の少なくとも一部を複数のチャンネルに対して共通化するこ とにより、 回路規模を効果的に小さくし、 低消費電力化を図ることができる。 このとき、 ダイナミヅクレンジが広い数を浮動小数として扱って演算を行っているために、 精度を保 ちながら回路 莫を縮小することが可能となる。 そして、 歪補正係数をルックアップテー ブルを参照して求める場合には、 処理時間を短縮しながら回路規模を縮小することが可能 となる。
また、 グラント同期回路を設けて、 各チャンネルからの画像デ一夕出力を同時に行うこ とができるようにしたために、 後段の処理プロヅクにおいて複数チヤンネルの画像デ一夕 を同時に必要とする:^に良好に対応することができる。 このとき、 グラント同期回路は 、 スィツチングにより複数チャンネルの画像データがそれそれのタイミングで出力される ように処理することも可能であるために、 必要に応じた選択を行うことが可能となる。 カロえて、 基本的な数式に基づく ^よりも乗算の回数が減るように変形した実用的な数 式に基づいて、 補間座標データを生成するようにしたために、 補間位置生成部や歪補正座 標変換部の内部に設ける乗 miの個数を削減することができ、 回路 ί¾莫の縮小を図ること ができる。
さらに、 拡大縮小処理も、 歪補正処理と同一の回路で同時に行うことが可能となる利点 がある。
なお、 本発明は上述した ^形態に限定されるものではな 発明の主旨を逸脱しない 範囲内において種々の変形や応用が可能であることは勿論である。 産業上の利用可能性
以上説明したように本発明の画像処理装置によれば、 バスのデ一夕転送量ゃメモリ容量 を増大させることな 画 i ^理を行うことができる。
また、 拡大縮小処理と歪補正処理とを行い得る回路繊莫が小さく低消費電力な画像処理 装置となる。
さらに、 歪補正と色収差補正とを行い得る回路簾奠が小さく低消費電力な画像処理装置 となる。

Claims

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP04735521.9A EP1657675B1 (en) 2003-06-02 2004-05-31 Image processing device
US10/558,994 US7636498B2 (en) 2003-06-02 2004-05-31 Image processing apparatus

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2003157044A JP2004362069A (ja) 2003-06-02 2003-06-02 画像処理装置
JP2003-157044 2003-06-02
JP2003-177290 2003-06-20
JP2003-177291 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 true WO2004109597A1 (ja) 2004-12-16
WO2004109597A9 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100444633C (zh) * 2005-02-16 2008-12-17 奥林巴斯株式会社 图像处理方法和图像处理装置
CN102045507A (zh) * 2009-10-21 2011-05-04 奥林巴斯映像株式会社 图像处理装置、摄像装置、以及图像处理方法
CN103826027A (zh) * 2012-11-16 2014-05-28 Jai株式会社 具有像差修正功能的图像读取装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530202A (ja) * 2001-03-05 2004-09-30 シーメンス アクチエンゲゼルシヤフト たとえば乗員保護システムのための画像の歪みを除去する方法および装置
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 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
JP5055588B2 (ja) * 2007-02-07 2012-10-24 株式会社ニコン 画像処理装置および画像処理方法
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 三菱電機株式会社 映像音声記録再生装置および映像音声記録再生方法
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 株式会社ソシオネクスト 画像処理装置、撮像装置
GB2516288B (en) * 2013-07-18 2015-04-08 Imagination Tech Ltd Image processing system
US10013744B2 (en) 2013-08-26 2018-07-03 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 联想(北京)有限公司 图像传感阵列及其排布方法、图像采集部件、电子设备
US10373298B2 (en) * 2015-09-15 2019-08-06 Huawei Technologies Co., Ltd. Image distortion correction method and apparatus
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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207351A (ja) * 1992-01-27 1993-08-13 Canon Inc 画像信号処理方法および装置
JPH09259264A (ja) * 1996-03-25 1997-10-03 Ricoh Co Ltd 歪曲収差補正方法
JPH11161773A (ja) * 1997-11-28 1999-06-18 Konica Corp 画像処理方法及び画像入力装置
JPH11275391A (ja) * 1998-03-20 1999-10-08 Kyocera Corp ディストーション補正を選択できるディジタル撮像装置
JP2000312327A (ja) * 1999-04-28 2000-11-07 Olympus Optical Co Ltd 画像処理装置
WO2001026056A1 (en) 1999-10-01 2001-04-12 Koninklijke Philips Electronics N.V. Storing and retrieving data

Family Cites Families (12)

* 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 ソニー株式会社 メモリ装置
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
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 収差補正装置及び方法
JP2000311241A (ja) 1999-04-28 2000-11-07 Olympus Optical Co Ltd 画像処理装置
US20010036322A1 (en) * 2000-03-10 2001-11-01 Bloomfield John F. 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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05207351A (ja) * 1992-01-27 1993-08-13 Canon Inc 画像信号処理方法および装置
JPH09259264A (ja) * 1996-03-25 1997-10-03 Ricoh Co Ltd 歪曲収差補正方法
JPH11161773A (ja) * 1997-11-28 1999-06-18 Konica Corp 画像処理方法及び画像入力装置
JPH11275391A (ja) * 1998-03-20 1999-10-08 Kyocera Corp ディストーション補正を選択できるディジタル撮像装置
JP2000312327A (ja) * 1999-04-28 2000-11-07 Olympus Optical Co Ltd 画像処理装置
WO2001026056A1 (en) 1999-10-01 2001-04-12 Koninklijke Philips Electronics N.V. Storing and retrieving data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1657675A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100444633C (zh) * 2005-02-16 2008-12-17 奥林巴斯株式会社 图像处理方法和图像处理装置
CN102045507A (zh) * 2009-10-21 2011-05-04 奥林巴斯映像株式会社 图像处理装置、摄像装置、以及图像处理方法
CN102045507B (zh) * 2009-10-21 2013-05-08 奥林巴斯映像株式会社 图像处理装置、摄像装置、以及图像处理方法
CN103826027A (zh) * 2012-11-16 2014-05-28 Jai株式会社 具有像差修正功能的图像读取装置
CN103826027B (zh) * 2012-11-16 2017-03-01 Jai株式会社 具有像差修正功能的图像读取装置

Also Published As

Publication number Publication date
US20070025636A1 (en) 2007-02-01
WO2004109597A9 (ja) 2005-03-17
EP1657675A4 (en) 2013-04-10
EP1657675A1 (en) 2006-05-17
EP1657675B1 (en) 2014-12-24
US7636498B2 (en) 2009-12-22

Similar Documents

Publication Publication Date Title
WO2004109597A1 (ja) 画像処理装置
EP1650705B1 (en) Image processing apparatus, image processing method, and distortion correcting method
JP4772281B2 (ja) 画像処理装置及び画像処理方法
JP4340915B2 (ja) 撮像画像信号の歪み補正方法、撮像画像信号の歪み補正装置、撮像方法および撮像装置
CN100389435C (zh) 图像处理装置
CN100418358C (zh) 像素插值装置及照相机装置
US7834914B2 (en) Image pickup apparatus and signal processor
JP2007228019A (ja) 撮像装置
US8928782B2 (en) Image processing device and image capture device
JP2005045513A (ja) 画像処理装置及び歪補正方法
JP4334932B2 (ja) 画像処理装置及び画像処理方法
US7808539B2 (en) Image processor that controls transfer of pixel signals between an image sensor and a memory
US8902474B2 (en) Image processing apparatus, control method of the same, and program
JP4436626B2 (ja) 画像処理装置
US7319463B2 (en) Electronic camera apparatus and image processing method thereof
CN1328911C (zh) 图像信号处理装置
KR20000017456A (ko) 비디오 신호 처리 회로 및 그를 사용한 영상 픽업 장치
JP3972478B2 (ja) 撮像装置
JP2006303693A (ja) 縮小画像の生成機能を備える電子カメラ
JP2009020894A (ja) 画像処理装置
WO2004068411A1 (ja) 平均値フィルタ装置およびフィルタリング方法
JP2000059800A (ja) 画像信号処理回路
JP2007195114A (ja) 撮像装置
JP2006134030A (ja) 画像処理装置
JP2006020024A (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