WO2004019607A1 - 画像処理装置と画像処理システム及び画像処理方法 - Google Patents

画像処理装置と画像処理システム及び画像処理方法 Download PDF

Info

Publication number
WO2004019607A1
WO2004019607A1 PCT/JP2003/010410 JP0310410W WO2004019607A1 WO 2004019607 A1 WO2004019607 A1 WO 2004019607A1 JP 0310410 W JP0310410 W JP 0310410W WO 2004019607 A1 WO2004019607 A1 WO 2004019607A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
correction
horizontal
vertical
data
Prior art date
Application number
PCT/JP2003/010410
Other languages
English (en)
French (fr)
Inventor
Koji Aoyama
Tohru Kurata
Atsushi Nose
Kimitaka Wada
Original Assignee
Sony 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
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to US10/524,758 priority Critical patent/US7457478B2/en
Priority to EP03792699A priority patent/EP1549052A4/en
Publication of WO2004019607A1 publication Critical patent/WO2004019607A1/ja
Priority to US12/232,766 priority patent/US7783129B2/en

Links

Classifications

    • G06T3/047
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • G06T5/80
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/81Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation

Definitions

  • Image processing apparatus image processing system, and image processing method
  • the present invention relates to an image processing apparatus, an image processing system, and an image processing method used for a video camera, a digital still camera, a silver halide camera, and the like.
  • FIG. 33 shows the configuration of a conventional image processing apparatus 100.
  • the conventional image processing apparatus 100 has a lens 20 0, an image sensor 300, a data conversion unit 400, a signal processing unit 500, an image memory 600 A control microcomputer 700, a synchronization signal generation unit 800, a correction data table 1 0 1 0, a recording unit 1 1 0 0, a reproduction unit 1 2 0 0, and a display system processing unit 1 3 0 0.
  • step S 1 an analog image signal for an object 1 0 1 is input via the lens 2 0 0 and the imaging device input. Then, in step S 2, the data conversion unit 400 converts the analog image signal into a digital image signal to generate an image 102.
  • step S3 the signal processing unit 500 is distorted using the distortion correction vector (hereinafter, also simply referred to as a “correction vector”) stored in the correction data table 1 0 1 0. Perform correction on the base image.
  • step S4 the control microcomputer 700 determines whether or not to finish inputting the image. If it is determined that the input is not finished, the process returns to step S1.
  • the above is shown in FIG. The outline of the operation of the conventional image processing apparatus 100 will be described in detail below.
  • the lens 200 collects the reflected light from the subject 1 0 1 and maps it on the imaging device 3 0 0.
  • the image pickup device 300 is composed of a CCD, a CMOS sensor, etc., and generates an analog image signal by capturing a photographed image. Further, the data conversion unit 400 converts the analog signal supplied from the image sensor 300 into a digital image signal to generate an image 102.
  • the control microcomputer 700 issues a command instructing a predetermined operation in response to an input to the external user interface.
  • the signal processing unit 500 stores the digital image signal generated by the data conversion unit 400 in the image memory 600 according to the command supplied from the control microcomputer 700. Then, the signal processing unit 500 reads out from the table the correction vector corresponding to all the pixels pre-recorded in the correction data table 1 0 1 0, and from the image memory 6 0 0 according to the correction information. After acquiring the necessary image signal, distortion of the image 102 output from the data conversion unit 400 is corrected by performing geometric correction using the two-dimensional interpolation method on the image signal.
  • the image signal generated in the signal processing unit 500 is supplied to the display processing unit 1 300 to display the image on the monitor,
  • the data is recorded on an external tape, a disk, or a medium 1 4 0 0 such as a memory.
  • the image signal recorded in the medium 140 is reproduced by the reproducing unit 1200, and the reproduced signal is supplied to the display system processing unit 1300, whereby the reproduced image is recorded. It will be displayed in the evening.
  • the synchronization signal generation unit 800 generates an internal synchronization signal in accordance with the clock signal CLK supplied from the outside, and the imaging device 300, the delay conversion unit 400, and the signal processing unit 500 Supply to.
  • FIG. 35 is a block diagram showing a configuration of the signal processing unit 500 shown in FIG.
  • the signal processing unit 500 is a shading control unit 510 and an interpolation phase ⁇ input data coordinate calculation unit 520, a data acquisition unit 530, an interpolation coefficient generation unit 5 4 0, data interpolation calculation unit 5 5 0, output data buffer 5 6 0, and data write unit 5 7 0.
  • the data writing unit 5 7 0 supplies the digital image signal supplied from the data conversion unit 4 0 0 together with the writing control signal S w to the image memory 6 0 0.
  • the timing control unit 510 generates the control timing signal St according to the internal synchronization signal supplied from the synchronization signal generation unit 800, and the interpolation phase ⁇ input data coordinate calculation unit 520 is supplied
  • the coordinates of the output image are calculated according to the control timing signal S t, and a correction vector request signal S a for obtaining a correction vector for the obtained coordinates is supplied to the correction data table 1 0 1 0.
  • the correction data table 1 0 1 0 10 obtains a correction vector according to the correction vector request signal S a from the built-in table, and obtains a data acquisition unit 5 3 0 and an interpolation coefficient generation unit 5 4 0 Supply to.
  • the data acquisition unit 530 supplies the read control signal Sr to the image memory 600, thereby correcting the correction data.
  • Interpolation data is acquired from the image memory 600 according to the integer component of the correction vector output from one block 1 0 1 0. Note that the acquisition unit for data acquisition 5300 supplies the acquired data for interpolation to the data interpolation calculation unit 550.
  • the interpolation coefficient generation unit 540 generates an interpolation coefficient according to the fractional component of the correction vector supplied from the correction data table 1 01 0, and supplies the interpolation coefficient to the data interpolation calculation unit 5 5 0. Then, the data interpolation calculation unit 550 executes an interpolation operation in accordance with the interpolation data supplied from the data acquisition unit 530 and the interpolation coefficient supplied from the interpolation coefficient generation unit 540. A two-dimensional interpolation operation is performed as the interpolation operation.
  • FIG. 36A shows an image before and after two-dimensional interpolation
  • FIG. 36B shows an enlarged view of a part of FIG. 36A.
  • FIG. 36A shows the case where an original image consisting of arrows connecting points A1 to A4 is converted to an output image connecting points a1 to a4 by two-dimensional interpolation.
  • the distances between the lattice point K 0 0 and the lattice point K 1 0 and between the lattice point K 10 and the lattice point K 11 are both set to 1.
  • the position of the point A 1 in the X direction and the y direction is specified by the decimal parameters P and P y respectively.
  • the data obtained as a result of the interpolation operation by the data interpolation calculation unit 550 is held in the output data buffer 560, and to the display processing unit 1300 or the recording unit 1100 at a predetermined timing. It is output.
  • the conventional data interpolation calculation unit 550 is configured as shown in FIG. 37.
  • FIG. 37 in the case where the image of each point of the output image is determined using an image data set consisting of 16 pieces in total of 4 pieces (4 ⁇ 4) arranged in each of the X and y directions. The configuration is shown.
  • the circuit scale is large because it is necessary to have correction vectors corresponding to all pixels. There is a problem of cost increase. Furthermore, when changing the position of the lens 200 or changing the lens, it is necessary to update the correction base according to the change in the distortion characteristic of the lens, so the cost is high. A large capacity correction data table 1 0 1 0 is required.
  • the update of the correction data table 1 0 1 0 is executed by the control microcomputer 7 0 0 according to the instruction from the user interface, but the control microcomputer 7 0 0 and the correction data table 1 0 1 0 Since a large communication capacity is required between the two, there is also a problem that real-time processing by the control microcomputer 700 becomes difficult.
  • image data at a plurality of points on a two-dimensional plane on which an image is formed is used to correct one image data, but high quality images are obtained. In order to do so, it is necessary to use image data at many points, so the frequency of access to the image memory 600 becomes high, and there is a problem that the operation speed can not be increased.
  • the port width of the image memory 600 must be a pand width several times the output rate. That is, for example, in the case of generating image data of one pixel from image delay of four pixels in two-dimensional interpolation, the port width needs to be four times the bandwidth of one pixel.
  • the present invention has been made to solve the above problems, and an image processing apparatus, an image processing system, and an image processing system for correcting image distortion at low cost and generating a high quality image in real time.
  • the purpose is to provide a method. Disclosure of the invention
  • An object of the present invention is an image processing apparatus including an image correction means for correcting an original image having distortion according to a supplied correction vector, which decodes an externally supplied encoded correction vector.
  • the present invention is achieved by providing an image processing apparatus characterized by comprising decoding means for supplying a decoded correction vector to an image correction means.
  • the image correction means corrects the original image in accordance with the decoded correction vector.
  • the need to hold in advance the correction vector at all the pixel points to be configured in the image processing apparatus is avoided. This reduces the size and manufacturing cost of the image processing apparatus that corrects the distorted original image in real time. be able to.
  • Another object of the present invention is to provide an image processing apparatus for correcting an original image having distortion, which uses a horizontal correction parameter indicating the amount of correction in the horizontal direction at pixel points constituting the original image.
  • horizontal correction means for correcting distortion in the horizontal direction of the original image by performing one-dimensional interpolation operation, and an image obtained by the correction by the horizontal correction means at the pixel points constituting the original image.
  • Image processing characterized by comprising: vertical correction means for correcting distortion in the vertical direction of an original image by performing one-dimensional interpolation calculation using a vertical correction parameter indicating a correction amount in the vertical direction. Achieved by providing the device.
  • the horizontal correction means performs one-dimensional interpolation in the horizontal direction of the original image
  • the vertical correction means performs the one-dimensional interpolation in the vertical direction of the original image.
  • Image distortion can be corrected.
  • Either of the correction by the horizontal correction means and the correction by the vertical correction means may be performed first.
  • the object of the present invention is to provide an original image by applying a one-dimensional interpolation operation to the original image using a vertical correction parameter that indicates the amount of correction in the vertical direction at pixel points constituting the original image.
  • Vertical correction means for correcting distortion in the direction, and an image obtained by the correction by the vertical correction means, using a horizontal correction parameter that indicates the amount of horizontal correction at pixel points constituting the original image can also be achieved by providing an image processing apparatus characterized by including horizontal correction means for correcting distortion in the horizontal direction of an original image by performing interpolation calculation.
  • the horizontal correction means stretches the original image in the horizontal direction by adjusting the interval in the horizontal direction of the pixel point for which the image data is obtained by the one-dimensional interpolation calculation, and the vertical correction means performs the one-dimensional interpolation calculation.
  • the original image is expanded and contracted in the vertical direction by adjusting the interval in the vertical direction of pixel points for which image data is to be obtained, distortion correction and enlargement or reduction of the original image can be easily realized.
  • the horizontal correction means is a first data acquisition means for selectively acquiring image data at pixel points according to the integer components of the horizontal correction parameter, and the fractional component of the horizontal correction parameter Using the first interpolation coefficient generation means for generating an interpolation coefficient according to the first image data acquired by the first data acquisition means, and the interpolation coefficient generated by the first interpolation coefficient generation means And second data acquisition means for selectively acquiring the image data at the pixel point according to the integer component of the vertical correction parameter, and a decimal point for the vertical correction parameter.
  • Second interpolation coefficient generation means for generating an interpolation coefficient according to the component; image data acquired by the second data acquisition means; interpolation coefficients generated by the second interpolation coefficient generation means; And second interpolation operation means for executing a one-dimensional interpolation operation using The above-mentioned fractional component is taken as the interpolation phase.
  • it further comprises storage means for storing the horizontal correction image obtained by the correction by the horizontal correction means, and the vertical correction means acquires a horizontal correction image according to the vertical correction parameter from the storage means. It is possible to include data acquisition means, and interpolation operation means for performing one-dimensional interpolation operation using vertical correction parameters on the horizontal correction image acquired by the data acquisition means.
  • Another object of the present invention is an image processing system including an image correction unit that corrects an original image having distortion according to a supplied correction vector.
  • An image comprising: encoding means for selectively encoding the image data; and decoding means for decoding the encoded correction vector supplied from the encoding means and for supplying the decoded correction vector to the image correction means. It is achieved by providing a processing system.
  • the decoding means decodes the correction vector encoded by the encoding means, and the image correction means corrects the original image in accordance with the decoded correction vector. Distortion correction can be performed without using a correction vector at points, and the original image can be corrected in real time at low cost.
  • Another object of the present invention is an image processing system for correcting a distorted original image, which comprises: a horizontal correction parameter indicating a horizontal correction amount at a pixel point constituting the original image; Encoding means for selectively encoding the vertical correction parameter indicating the amount of correction in the vertical direction, horizontal decoding means for decoding the encoded horizontal correction parameter supplied from the encoding means, and decoding by the horizontal decoding means Horizontal correction means for correcting distortion in the horizontal direction of the original image by performing one-dimensional interpolation calculation on the original image using the corrected horizontal correction parameters, and encoding supplied from the encoder means.
  • Vertical decoding means for decoding the corrected vertical correction parameters, and vertical decoding for the image obtained by the correction by the horizontal correction means.
  • An image processing system comprising: vertical correction means for correcting distortion in the vertical direction of an original image by performing a one-dimensional interpolation operation using a vertical correction parameter decoded by the code means.
  • the horizontal correction means performs one-dimensional interpolation in the horizontal direction of the original image
  • the vertical correction means performs the one-dimensional interpolation in the vertical direction of the original image.
  • the encoding means is a grid dividing means for dividing the original image according to a control signal supplied from the user interface, and a horizontal correction parameter at grid points obtained by the grid division is selectively compressed.
  • Horizontal correction parameters and vertical correction parameters are supplied to horizontal decoding means, and parameter compression means for selectively compressing vertical correction parameters at grid points and supplying them to vertical decoding means. Can be efficiently supplied to the horizontal and vertical decoding means.
  • the horizontal decoding means is determined by: first lattice determination means for determining a lattice frame surrounding each pixel point of the generated image corresponding to the lattice generated by the lattice division means; Each grid frame is approximated by a function, and horizontal parameter calculation means for calculating a horizontal correction parameter at each pixel point of the generated image using the function is included, and the vertical decoding means is Second lattice determination means for determining a lattice frame surrounding each pixel point of the generated image corresponding to the lattice generated by the means; and each lattice frame determined by the second lattice determination means approximated by a function And a vertical parameter calculation means for calculating a vertical correction parameter 'at each pixel point of the generated image using the function, and an encoded horizontal correction parameter.
  • the evening and vertical correction parameter Isseki can and accurately decode child.
  • At least one of the horizontal parameter calculation means and the vertical parameter calculation means can approximate at least one lattice frame by an n-order polynomial (n is a natural number).
  • Another object of the present invention is to provide an image processing method for correcting a distorted original image, wherein a horizontal correction parameter indicating a horizontal correction amount at pixel points constituting the original image is used for the original image.
  • a second step of correcting distortion in the vertical direction of the original image by performing one-dimensional interpolation calculation using a vertical correction parameter indicating a correction amount of the direction; Achieved by providing.
  • the one-dimensional interpolation operation is performed in the horizontal direction of the original image
  • the one-dimensional interpolation operation is performed in the vertical direction of the original image. Image distortion can be corrected.
  • the original image is expanded or contracted in the horizontal direction by adjusting the horizontal interval of the pixel points for which the image data is obtained by the one-dimensional interpolation operation, or in the second step. If the original image can be expanded or contracted in the vertical direction by adjusting the interval in the vertical direction of the pixel point for which the image data is obtained by one-dimensional interpolation calculation, the original image can be easily further horizontally or vertically or in both directions Can be scaled up or down.
  • Another object of the present invention is an image processing method for correcting a distorted original image, comprising: a first step of dividing the original image into lattices according to a control signal supplied from the user interface; Second step of selectively encoding horizontal and vertical correction amounts at the grid points obtained by the second step, and third step of decoding encoded horizontal and vertical correction amounts. And according to the horizontal correction amount decoded It has the fourth step of performing one-dimensional interpolation in the horizontal direction of the original image, and the fifth step of performing the one-dimensional interpolation in the vertical direction of the original image according to the decoded vertical correction amount. This is achieved by providing an image processing method characterized by
  • the amount of correction at each pixel point of the original image is efficiently encoded and decoded, and one-dimensional interpolation calculation in the horizontal direction and the vertical direction is performed according to the corrected amount of correction. Since it is applied, real-time correction processing of the original image can be easily realized.
  • the third step includes: a grid frame determining step of determining a grid frame surrounding each pixel point of the generated image corresponding to the grid generated in the first step; and the grid frame determining step. Assuming that each grid frame is approximated by a number and a parameter calculation step of calculating correction amounts in horizontal and vertical directions at each pixel point constituting a generated image using a function is included, encoding The horizontal and vertical correction amounts can be easily and reliably decoded.
  • FIG. 1 is a block diagram showing a configuration of an image processing system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of the signal processing unit shown in FIG.
  • FIGS. 3A to 3B are diagrams for describing an outline of a one-dimensional interpolation operation performed by the signal processing unit shown in FIG.
  • FIG. 4 is a diagram showing the configuration of a horizontal processing circuit included in the data interpolation calculation unit shown in FIG.
  • FIG. 5 is a first flow chart showing the operation of the horizontal one-dimensional interpolation unit shown in FIG.
  • Fig. 6 is a second front view showing the operation of the horizontal one-dimensional interpolation unit shown in Fig. 2.
  • Figs. 7A to 7C are Figs. 5 and 6. It is a figure explaining the operation shown in.
  • FIG. 8 is a diagram showing an example of equal-magnification conversion in horizontal one-dimensional interpolation.
  • FIG. 9 is an end view showing the operation timing of the unit-magnification conversion shown in FIG. .
  • FIG. 10 is a diagram showing an example of horizontal enlargement conversion in horizontal one-dimensional interpolation.
  • FIG. 11 is a timing chart showing the operation timing of the horizontal enlargement conversion shown in FIG.
  • FIG. 12 is a first flow chart showing the operation of the vertical one-dimensional interpolation unit shown in FIG.
  • FIG. 13 is a second flowchart showing the operation of the vertical one-dimensional interpolation unit shown in FIG.
  • FIGS. 14A to 14 C are diagrams for explaining the operations shown in FIGS. 12 and 13;
  • FIG. 15 is a diagram showing an example of vertical enlargement conversion in vertical one-dimensional interpolation.
  • FIG. 16 is a flow chart outlining the operation of the preprocessing device and correction parameter decoder shown in FIG.
  • FIG. 17 is a block diagram showing the configuration of the correction parameter encoder shown in FIG.
  • FIGS. 18A to 18B are diagrams for explaining the outline of the operation of the grid dividing unit shown in FIG. 17;
  • FIG. 19 is a first flow chart showing a method of optimal division.
  • FIG. 20 is a second flow chart showing the method of optimal division.
  • FIGS. 21A to 21D are first diagrams for explaining the operation shown in FIGS. 19 and 20.
  • FIGS. 22A to 22C are second diagrams illustrating the operation shown in FIGS. 19 and 20.
  • FIG. 22A to 22C are second diagrams illustrating the operation shown in FIGS. 19 and 20.
  • FIG. 23 is a block diagram showing a configuration of an image distortion correction parameter decoder for the X direction shown in FIG.
  • FIGS. 24A to 24 B are diagrams for explaining the operation of the correction parameter decoder shown in FIG.
  • FIG. 25 is a diagram showing the configuration of the image memory, data acquisition unit and data interpolation calculation unit shown in FIG. 2;
  • FIG. 26 is a timing chart showing timings of horizontal one-dimensional interpolation processing and vertical one-dimensional interpolation processing.
  • FIG. 27 is a diagram for explaining the memory capacity required to execute horizontal one-dimensional interpolation and vertical one-dimensional interpolation.
  • FIG. 28 is a view for explaining the method of storing data in the image memory shown in FIG. 25 at once.
  • FIGS. 29A to 29C are diagrams showing possible vertical change patterns in adjacent pixels.
  • FIGS. 3A to 3B are diagrams showing an impossible change pattern in the vertical direction in adjacent pixels.
  • FIG. 31 is a diagram for explaining vertical four-tap processing.
  • FIG. 32 is a diagram for explaining a method for reading data from the image memory shown in FIG. 25.
  • FIG. 33 is a block diagram showing a configuration of a conventional image processing apparatus.
  • FIG. 34 is a flow chart showing an outline of the operation of the image processing apparatus shown in FIG.
  • FIG. 35 is a block diagram showing the configuration of the signal processing unit shown in FIG.
  • FIGS. 36A to 36B are diagrams showing the principle of image conversion by two-dimensional interpolation.
  • FIG. 37 is a block diagram showing a configuration of a data interpolation calculation unit shown in FIG. 35.
  • FIG. 1 is a block diagram showing a configuration of an image processing system according to an embodiment of the present invention.
  • the image processing system according to the embodiment of the present invention comprises an image processing device 2, a pre-processing device 3 and a media 140, and the image processing device 2 comprises a lens 200 and Image sensor 300, data converter 400, signal processor 10, image memory 7, control microcomputer 8, correction parameter decoder 9, synchronization signal generator 800, recording unit 1 100, playback
  • the preprocessing unit 3 includes a correction parameter encoder 5 and a correction parameter derivation unit 6.
  • the lens 200 is for condensing the reflected light from the subject 101 and imaging it on the imaging device 300, and is not limited to a single focus lens but has a zoom function. It is good.
  • the image pickup device 300 is composed of a CCD and a CMOS sensor, etc., and according to the internal synchronization signal supplied from the synchronization signal generation unit 800, a captured image is captured and an analog image signal is generated. Do.
  • the digital conversion unit 400 is connected to the image pickup device 300, and the analog image signal generated by the image pickup device 300 is digitalized according to the internal synchronization signal supplied from the synchronization signal generation unit 800. Convert to an image signal to generate an image.
  • the signal processing unit 10 is connected to the control microcomputer 8, the data conversion unit 400, the image memory 7, the correction parameter decoder 9, and the synchronization signal generation unit 800. Then, the signal processing unit 10 stores the digital image signal supplied from the data conversion unit 400 in the image memory 7 in accordance with the command supplied from the control microcomputer 8, and also from the correction parameter decoder 9. A correction process is performed on the image signal stored by the correction amount parameter supplied. Then, the signal processing unit 10 supplies the image signal obtained by the correction to the display system processing unit 1 300 and the recording unit 1 100. The signal processing unit 10 will be described in detail later.
  • the correction parameter deriving unit 6 calculates in advance a correction amount vector corresponding to each position of all pixels from data etc. of the distortion of the lens 200. Further, the correction parameter encoder 5 is connected to the correction parameter deriving unit 6 and the user interface, and the correction parameter deriving unit 6 receives the correction according to the control signal L n, L w supplied from the user interface. The amount vector is compressed (encoded), and the compressed data P c is supplied to the correction parameter decoder 9.
  • both the calculation in the correction parameter derivation unit 6 and the encoding described above are calculations with a very large load, it may be calculated separately using a personal computer or the like, and the influence on the real time processing by the image processing device 2 will be It is not something to give.
  • the preprocessing device 3 is not an essential component, and the compressed data P c is supplied from outside the image processing device 2 to the correction parameter decoder 9.
  • the various embodiments to be carried out are likewise conceivable.
  • control microcomputer 8 outputs a command for instructing a predetermined operation or the like to the signal processing unit 10 in accordance with a control signal from the user interface, and at the same time, corrects position information of the lens 200 or the like.
  • the correction parameter decoder 9 is connected to the correction parameter encoder 5, the control microcomputer 8, and the signal processing unit 10. Then, the correction parameter decoder 9 corrects the correction amount parameter corresponding to each pixel by the encoded compressed data P c supplied from the correction parameter encoder 5 in accordance with the information etc. supplied from the control microcomputer 8. Then, the correction amount parameter is supplied to the signal processing unit 10.
  • the correction parameter decoder 9 supplies the correction amount parameter to the signal processing unit 10 regardless of the interpolation method executed in the signal processing unit 10.
  • the correction parameter encoder 5 and the correction parameter decoder 9 will be described in detail later.
  • the recording unit 1 0 0 0 is connected to the signal processing unit 1 0, and the image signal generated by the signal processing unit 1 0 can be a tape, a flexible disc, a DVD (digital versatile disc), a hard disc, a memory Media such as (Recording media) 1 4 0 0 Record.
  • the signal processing unit 10 generated The image signal may be recorded in the media 140 using a network or wireless communication.
  • the playback unit 1200 is connected to the medium 140 and plays back the image signal stored in the medium 140 and supplies it to the display processing unit 1300: Display system processing unit 1
  • the signal processing unit 10 is connected to the signal processing unit 10 and the reproduction unit 120 and displays the image signal supplied from the signal processing unit 10 or the reproduction unit 120 on the monitor.
  • the synchronization signal generation unit 800 generates an internal synchronization signal according to the clock signal CLK supplied from the outside, and supplies the internal synchronization signal to the imaging device 300, the data conversion unit 400, and the signal processing unit 10.
  • FIG. 2 is a block diagram showing a configuration of the signal processing unit 10 shown in FIG.
  • the signal processing unit 10 includes a horizontal one-dimensional interpolation unit 5 0 1 and a vertical one-dimensional interpolation unit 5 0 2.
  • the image memory 7 includes an image memory 601 including a horizontal processing FIF ⁇ memory and an image memory 602 including a vertical processing line buffer.
  • the correction parameter decoder 9 is an image distortion correction parameter decoder for the X direction. 3 3 and an image distortion correction parameter decoder for the y direction 3 4.
  • the image memory 622 has a capacity sufficient to store data across the minimum number of lines necessary to realize vertical distortion correction, which will be described later. Also, the capacity is usually determined according to the frequency of the output synchronization signal supplied to the output data buffer 32.
  • the horizontal one-dimensional interpolation unit 501 has a data writing unit 21 and an operation control unit 22, an interpolation phase ⁇ input data coordinate calculation unit 23, a data acquisition unit 24, an interpolation coefficient generation unit 25, and
  • the vertical interpolation calculation unit 26 includes 6 and the vertical one-dimensional interpolation unit 5 0 2 includes the calculation control unit 2 7 and the interpolation phase ⁇ input data coordinate calculation unit 2 8 It includes a curve acquisition unit 29, an interpolation coefficient generation unit 30, a curve interpolation calculation unit 31, and an output data buffer 32.
  • the data write unit 21 is connected to the data conversion unit 400, and the operation control unit 22 is connected to the synchronization signal generation unit 800.
  • the interpolation phase ⁇ input data coordinate calculation unit 23 is connected to the arithmetic control unit 22 and the control microcomputer 8 and the delay acquisition unit 24 is an interpolation phase ⁇ input data coordinate calculation unit 23 and the image memory 6 0 1 It is connected to the image distortion correction parameter one-to-one decoder 33.
  • the interpolation coefficient generation unit 25 is connected to the image distortion correction parameter decoder 33, and the interpolation calculation unit 26 is connected to the cancellation acquisition unit 24 and the interpolation coefficient generation unit 25.
  • the image memory 601 is connected to the data writing unit 21 and the data acquisition unit 24, and the image memory 600 is connected to the data interpolation calculation unit 26 and the data acquisition unit 29.
  • the image distortion correction parameter decoder 3 3 is connected to the interpolation phase ⁇ input data coordinate calculation unit 23 and the data acquisition unit 24.
  • the calculation control unit 27 is connected to the synchronization signal generation unit 800
  • the interpolation phase ⁇ input data coordinate calculation unit 28 is connected to the calculation control unit 27 and the control microcomputer 8.
  • the data acquisition unit 29 is connected to the interpolation phase ⁇ input data coordinate calculation unit 28, the image memory 620, and the image distortion correction parameter decoder 34.
  • the interpolation coefficient generation unit 30 is an image distortion correction parameter It is connected to the evening decoder 34.
  • the data interpolation calculation unit 31 is connected to the data acquisition unit 29 and the interpolation coefficient generation unit 30.
  • the output data buffer 32 is connected to the data interpolation calculation unit 31 and the synchronization signal generation unit 800. .
  • the output node of the output data buffer 32 is connected to the display system processing unit 1 3 0 0 and the recording unit 1 1 0 0.
  • the image distortion correction parameter decoder 34 is connected to the interpolation phase / input data coordinate calculation unit 28.
  • the horizontal one-dimensional interpolation unit 5 1 executes the one-dimensional interpolation calculation in the horizontal direction (X direction), and then the vertical one-dimensional interpolation unit 50 2 c here to perform a one-dimensional interpolation operation in the vertical direction (y-direction), the outline of the operation by the signal processing unit 1 0 will be described with reference to 3 a view through the 3 B FIG. In FIGS.
  • the image data of each point of the output image is obtained using image data consisting of a total of 16 (4 ⁇ 4) arranged in each of the X and y directions.
  • c and FIG. 3A are corrected in the X direction to form points B 1 to B 4 corresponding to the points B 1 to B 4 constituting the original image with distortion, respectively.
  • FIG. 3B further shows that the image data of points b 1 to b 4 correspond to the points B 1 0 to B 4 0 by correction in the y direction.
  • Image data of the point b3 is calculated by performing predetermined interpolation calculation on the image data in the above.
  • the image data of points b 1, b 2 and b 4 are calculated corresponding to the points B I O, B 2 0 and B 4 0 respectively.
  • the horizontal processing circuit 40 shown in FIG. 4 included in the data interpolation calculation unit 26 includes a line memory 900, four registers 901 connected in series to the output node of the line memory 900, and each register 901.
  • Four multiplier circuits 920, which multiply the output data by the corresponding interpolation coefficient CHk (k 0 to 3), and four And an adder circuit 9 0 3 for adding the data obtained by the multiplier circuit 9 0 2.
  • the one-dimensional interpolation calculation in the vertical direction as described above is realized by the circuit shown in FIG. 25 described later, which will be described in detail later.
  • the image data input from the data conversion unit 400 to the horizontal one-dimensional interpolation unit 501 is supplied to the image memory 600 together with the writing control signal by the delay writing unit 21. It is written to the image memory 6 0 1 according to the write control signal.
  • the data acquisition unit 24 supplies the read control signal to the image memory 601 for horizontal processing, thereby responding to the correction amount parameter X m for the X direction supplied from the image distortion correction parameter decoder 3 3.
  • Image data aligned horizontally in the image memory 601 is acquired as data for interpolation.
  • the data interpolation calculation unit 26 executes the one-dimensional interpolation calculation in the horizontal direction using the interpolation coefficient supplied from the interpolation coefficient generation unit 25 and the image memory for vertical processing 60 2 calculates the calculation result Store.
  • the vertical one-dimensional interpolation unit 502 vertical processing is performed according to the correction amount parameter Y m for the y direction supplied from the image distortion correction parameter decoder 34 in the data acquisition unit 29.
  • Image data aligned in the vertical direction is acquired from the image memory for image processing as data for interpolation.
  • the data interpolation calculation unit 31 executes the one-dimensional interpolation operation in the vertical direction using the interpolation coefficient supplied from the interpolation coefficient generation unit 30, and the output data buffer 32 responds to the output synchronization signal. Output the calculation result.
  • the interpolation operation performed by the horizontal one-dimensional interpolation unit 501 and the vertical one-dimensional interpolation unit 520 is regarded as a one-dimensional interpolation operation, It is possible to use a 4-tap filter such as one big interpolation or a filter of higher order number of taps.
  • the one-dimensional interpolation calculation is realized by the simple circuit as described above, the calculation by the high-order tap filter, which is difficult in the two-dimensional interpolation calculation, can be easily realized, and a higher quality image can be obtained.
  • a general pixel number conversion circuit or the like is a circuit that executes one-dimensional interpolation, the existing circuit may be shared for the above calculation.
  • one-dimensional interpolation calculation in the horizontal direction is performed and then one-dimensional interpolation calculation in the vertical direction is performed
  • one-dimensional interpolation calculation in the vertical direction is performed first.
  • horizontal one-dimensional interpolation calculation may be performed.
  • the image data output from the data conversion unit 400 is input to the vertical one-dimensional interpolation unit 502, and after the vertical one-dimensional interpolation operation is performed, the image memory for horizontal processing is temporarily processed. It is stored in 1. And.
  • the image data stored in the image memory 601 is further subjected to a horizontal one-dimensional interpolation operation by a horizontal one-dimensional interpolation unit 501 to completely correct distortion and go outside the signal processing unit 10 t is output the arithmetic processing in not only applied to the data of one line, may be applied to each system with respect to color signals (RGB, YUV). Furthermore, when the interpolation calculation is performed on a moving image, the calculation may be performed in synchronization with the vertical synchronization signal.
  • an imaging apparatus such as a video camera or a digital still camera often has a so-called optical zoom function or a camera shake correction function.
  • the distortion characteristic of the lens fluctuates according to whether it is tele (zoom up) or id (zoom down). That is, generally, when the lens 200 moves in the wide direction, barrel distortion occurs in the image.
  • tele zoom up
  • id zoom down
  • pincushion distortion occurs in the image.
  • the correction parameter decoder 9 selects an optimum correction parameter according to the position of the lens. Specifically, the correction parameter decoder 9 receives information indicating the position of the lens 200 from the control microcomputer 8, and the compressed data P c supplied from the correction parameter encoder 5 is transmitted to the position.
  • the decoding is performed according to the characteristics. Since only the decoded correction amount parameter is used for the interpolation operation, the amount of data used for the operation can be minimized, and as a result, the manufacturing cost can be reduced.
  • the camera shake correction function will be described.
  • a method of correcting image distortion due to camera shake there is a method of optically correcting the image by controlling the position of a lens or the like like an active prism method or an adaptive lens method, and an active image method.
  • a method of electrically correcting the image signal obtained as in the Elia method by performing predetermined processing there is a method of electrically correcting the image signal obtained as in the Elia method by performing predetermined processing.
  • the optical correction method is difficult to be realized by the image processing apparatus 2 according to the embodiment of the present invention, since the lens characteristic varies according to the position of the lens 200.
  • the above-mentioned electrical correction method is realized by signal processing that cuts out a part (effective area) of an entire image based on the information on the camera shake position detected by an angular velocity sensor or the like.
  • the correction parameter decoder 9 further receives information on the camera shake position from the control microcomputer 8 and selectively decodes the compressed data P c supplied from the correction parameter encoder 5 in accordance with the position information.
  • the camera shake correction is realized.
  • the correction parameter decoder 9 selectively selects the new lens 200 according to the new lens 200 or the like.
  • the operation control unit 22 generates a control timing signal according to the internal synchronization signal supplied from the synchronization signal generation unit 800.
  • the interpolation phase ⁇ input data coordinate calculation unit 23 operates according to the control timing signal supplied from the calculation control unit 22, and the image input to the signal processing unit 10 has no distortion. Coordinates of the interpolation point in the coordinate system with the decimal point.
  • step S 1 the interpolation phase ⁇ input data coordinate calculation unit 23 is extracted as coordinates (X, y) on the image subjected to distortion correction and equal magnification conversion as shown in FIG. 7A.
  • the upper left coordinates (SX, Sy) of the image CI are initialized, and the correction parameter request signal Rx is supplied to the image distortion correction parameter decoder 33.
  • step S2 the image distortion correction parameter decoder 33 obtains the correction parameter request signal RX supplied and the correction amount parameter X m corresponding to the coordinates (S x, S y), and acquires the data.
  • Supply to block 24 and interpolation coefficient generator 25 the interpolation coefficient generator 25.
  • the image distortion correction parameter decoder 33 incorporates, for example, a ROM (Read On Memory), and stores in advance in the ROM a comparison table between the x coordinate and the correction amount parameter X m. You may do so, or the amount of correction
  • the parameter X m may be approximated as a function of the x coordinate, and the correction amount parameter X m may be determined using this function, but this will be described in detail later.
  • step S3 the distortion acquisition correct parameter-evening decoder 3 3 is acquired at the coordinates (X, Y) supplied from the interpolation phase and input coordinate-evening coordinate calculation unit 23. Add a correction amount vector (X m, 0) according to the correction amount parameter X m supplied from. From this, as shown in FIG. 7B, the coordinates (X + X m, Y) of the point corresponding to the above coordinates (X, Y) in the original image ⁇ I before correction, that is, the correction vector is obtained become. Note that instead of the data acquisition unit 24, the image distortion correction parameter decoder 33 determines the above correction vector according to the X coordinate supplied from the interpolation phase ⁇ input data coordinate calculation unit 23, and the correction vector It is also possible to supply the data acquisition unit 24 with data.
  • the data acquisition unit 24 determines whether the integer value of the X coordinate has changed by adding X m. If it is determined that the integer has changed, the process proceeds to step S5, and it is determined that the change has not occurred. If it does, the process proceeds to step S6.
  • step S5 the data acquisition unit 24 further determines whether the integer value has changed by 2 or more, and if it is determined that 2 or more has changed, the process proceeds to step S8, and only 1 has changed. If it is determined, the process proceeds to step S7.
  • step S6 the same data for interpolation as that output in the previous cycle is read again from the data acquisition unit in response to the hold signal Sh supplied from the data acquisition unit 24 in step S6. 24 Supply to 4
  • the data acquisition unit 24 generates the address of the data to be read out from the image memory 601 according to the integer value of the generated X component (X + X m) of the correction vector, and the read control signal Is supplied to the image memory 601 to acquire interpolation data according to the address.
  • the image memory 601 sequentially outputs the interpolation data according to the address while incrementing the address from the top address one by one, and at the same time the hold signal Sh is supplied from the data acquisition unit 24. Temporarily stop the above increment.
  • the image memory 601 may receive a read start address from the data acquisition unit 24 and output a predetermined number of continuous data with the read start address as the start address.
  • the hold signal S h and the read start address are obtained from the integer component of the correction amount parameter X m output from the image distortion correction parameter decoder 33.
  • the interpolation coefficient generation unit 25 treats the fractional component of the correction amount parameter Xm supplied from the image distortion correction parameter decoder 33 as the phase of the horizontal interpolation filter, and the interpolation coefficient is calculated according to the fractional component. Generate Such an operation is applied when the image 102 input to the signal processing unit 10 is an RGB format.
  • the filter phase of the luminance signal Y can be treated in the same way as the filter phase of the RGB format, and for the chrominance signal C b ZC r, not only the fractional component of the correction amount parameter X m
  • the integer component can also be used in combination to calculate the phase.
  • step S7 the data interpolation calculation unit 26 performs a one-dimensional interpolation operation according to the interpolation data supplied from the data acquisition unit 24 and the interpolation coefficient, and the process proceeds to step S9.
  • luminance data of eight pixels in the horizontal direction from the vicinity of the correction vector (X + X m, Y) D t is used as a deinterpolation signal, and an 8-tap interpolation operation is performed with the above fractional component as the phase, Note that the result obtained by the interpolation calculation is used as luminance data of an output image, etc., whereby horizontal distortion is corrected.
  • step S8 the data acquisition unit 24 supplies the interpolation signal sk to the interpolation phase ⁇ input data coordinate calculation unit 23 and the image distortion correction parameter decoder 33 and the deviation interpolation calculation unit 26 ⁇ Stop the operation of the input data coordinate calculation unit 2 3, the image distortion correction parameter decoder 3 3 and the data interpolation calculation unit 2 6.
  • step S5 if it is determined that the X coordinate has changed by 2 or more in step S5, this means that the center coordinate to be subjected to the interpolation calculation actually moves by 2 or more pixels. 0 Data output to 2 is interrupted.
  • the fractional component (interpolation phase) of the correction amount parameter X m output from the image distortion correction parameter decoder 3 3 is until the next cycle. Since it is held, the operation of the image distortion correction parameter decoder 33 is stopped.
  • step S13 the interpolation phase ⁇ input data coordinate calculation unit 2 3 adds the scaling parameter H a in the horizontal direction to the X coordinate, and the process proceeds to step S2.
  • the scaling parameter H a is determined by the ratio of the length of the original image with distortion to the image after correction in the horizontal direction, and is smaller than 1 when the image is enlarged in the horizontal direction after correction. In the case of reduction, the value is greater than 1 and in the case of equal magnification, it is 1.
  • the interpolation calculation unit 26 stores the obtained image data in an image memory 602 consisting of a vertical processing line buffer. Then, at step S10, the interpolation phase ⁇ input data coordinate calculation unit 23 outputs image data for one line based on the X coordinate at the current point, that is, the output horizontal pixel number HS for the image memory 62 to 2 To determine the data for one line If it is determined that it has been output, the process proceeds to step S11, and if it is determined that one line of data has not been output, the process proceeds to step S13. In step S11, the interpolation phase ⁇ input data coordinate calculation unit 23 sets the X coordinate to SX and adds 1 to the y coordinate.
  • step S12 the interpolation phase ⁇ input data coordinate calculation unit 23 further outputs one frame worth of image data, ie, the number of output vertical lines, to the image memory 602 based on the y coordinate. If it is determined that one frame of data has been output, the operation ends. If it is determined that one frame of data has not been output, the process proceeds to step S13.
  • the horizontal one-dimensional interpolation unit 501 performs horizontal one-dimensional interpolation on the original image with distortion to simultaneously perform horizontal image distortion correction processing and horizontal enlargement / reduction processing. Realize and store the obtained image in the image memory for vertical processing.
  • FIG. 8 shows the conversion of the luminance signal
  • FIG. 8 (a) shows the interpolation data D0 to D9 input to the signal processing unit 10
  • FIG. 8 (b) and FIG. Fig. 8 (f) shows the correction amount parameter Xm
  • Fig. 8 (c) and Fig. 8 (d) show the sampling positions and numbers of the data constituting the image after correction.
  • Fig. 8 (e) shows the X coordinate (xt) supplied from the interpolation phase ⁇ input data coordinate calculation unit 23 to the image distortion correction parameter decoder 33
  • Fig. 8 (g) shows the data acquisition unit 24.
  • Fig. 8 (h) shows the address of interpolation data in the image before correction
  • Fig. 8 (i) shows the interpolation phase.
  • the correction amount parameter Xm of the dead point located at the point of the X coordinate of 2.0 is set to 1.25.
  • the x coordinate of the corresponding point of the point in the image before correction is obtained as 3.25 by adding the correction amount parameter Xm to the 2.0.
  • the integer component (3) of the X coordinate (3.25) indicates the address of the image in the image before correction, and 0.25 indicates the interpolation phase. Therefore, the luminance signal at the point with an X coordinate of 2.0 in the image after correction targets multiple consecutive data with three adjacent X addresses in the image before correction, and the phase of the horizontal interpolation filter is 0.25. It is determined by one-dimensional interpolation calculation.
  • FIG. 9 is a timing diagram showing operation timing of the unit-magnification conversion shown in FIG.
  • FIG. 9 (a) shows the internal synchronization signal supplied to the arithmetic control unit 22
  • FIG. 9 (b) is a control timing signal generated by the arithmetic control unit 22
  • FIG. (c) a read control signal
  • FIG. 9 (d) interpolation data is input from the image memory 6 0 1 to the data acquisition unit 2 4 supplied from the data acquisition unit 24 to the image memory 6 0 1
  • 9 Figure (e) shows the X coordinate (xt) supplied from the interpolation phase ⁇ input data coordinate calculation unit 23 to the image distortion correction parameter decoder 33.
  • FIG. 9 (f) shows a correction amount parameter Xm outputted from the image distortion correction parameter decoder 33
  • FIG. 9 (g) shows a correction parameter generated by the data acquisition unit 24
  • 9 (h) is the address of the data for interpolation in the image before correction
  • FIG. 9 (i) is the interpolation phase
  • FIGS. 9 (j) and 9 (k) are the data acquisition units respectively.
  • Fig. 9 (1) is 2-tap data read from the image memory 600.
  • Fig. 9 (m) is the image from the data interpolation calculation unit 26
  • FIG. 9 (n) shows an output enable signal generated internally by the data interpolation calculation unit 26.
  • FIG. here, in order to simplify the explanation, in the interpolation operation to obtain one data, In this case, the 2-tap data shown in Figure 9 (1) shall be used.
  • the X coordinate (x t) incremented by 1.0 is sequentially supplied to the image distortion correction parameter decoder 33.
  • the image distortion correction parameter decoder 33 determines the corresponding correction amount parameter Xm, and thereafter, the data acquisition unit 24 generates FIG. 9 (g). Calculate the indicated correction parameters.
  • the data acquisition unit 24 specifies, from the integer component of the correction parameter, the leading address of the interpolation data in the image before correction as 0.
  • the acquisition unit 24 acquires the address 0 identified as described above together with the activated readout control signal. Supply to 6 0 1
  • the image memory 601 sequentially outputs interpolation data to the data acquisition unit 24 sequentially from the data D0 corresponding to the leading address 0.
  • the data acquisition unit 24 corrects the integer component of the correction parameter (8.75) generated at time T 4 one cycle earlier. Judge that it is the same as the integer component of parameter (8.25), and activate the hold signal Sh to high level at time T4. From this, as shown in FIG. 9 (1), at time T5, the data acquisition unit 24 acquires the interpolation data D 8 and D 9 of the same two taps as the previous cycle from the image memory 601.
  • FIG. 10 shows an example of enlargement conversion by horizontal one-dimensional interpolation as in FIG. 8, and FIG. 11 shows an operation timing of the enlargement conversion in the same manner as FIG.
  • Fig. 10 (e) the data from the evening number 2 to the vicinity of 6 is enlarged in the horizontal direction with the horizontal scaling parameter H a set to 0.5. Be done.
  • FIG. 10 (b) shows the correction amount parameter Xm for 10 data of which the data numbers are from 0 to 9
  • FIG. 10 (f) is the interpolation point by the enlargement. That is, the correction amount parameter Xm at 10 points at 0.5 intervals at X coordinates from 2.0 to 6.5 is shown.
  • the integer component of the correction parameter does not change at time T 2, T 3, T 4, T 5, T 6.
  • the hold signal Sh is activated to high level for one cycle at each time.
  • the operation control unit 27 generates a control timing signal in accordance with the internal synchronization signal supplied from the synchronization signal generation unit 800.
  • interpolation phase ⁇ input data The coordinate calculation unit 28 operates according to the control timing signal supplied from the calculation control unit 27 and coordinates of the interpolation point in the coordinate system when there is no distortion in the image input to the signal processing unit 10 Calculate with the decimal point.
  • step S1 the interpolation phase ⁇ input data coordinate calculation unit 28 is used as coordinates (x, y) on the image subjected to distortion correction and equal magnification conversion as shown in FIG. 14A.
  • the upper left coordinate (S x, S y) of the cut-out image CI is initially set, and the correction parameter request signal Ry is supplied to the image distortion correction parameter decoder 34.
  • step S2 the image distortion correction parameter decoder 34 obtains a correction amount parameter Ym corresponding to the y coordinate according to the supplied correction parameter request signal Ry, and obtains the data acquisition unit 29 and the interpolation coefficient. Supply to generation unit 30.
  • the image distortion correction parameter one-time decoder 34 incorporates, for example, a ROM (Read Only Memory) so that a comparison table between the y coordinate and the correction amount parameter Ym is stored in advance in the ROM.
  • the correction amount parameter Ym may be approximated as a function having ay coordinate, and the correction amount parameter Ym may be obtained using the function, which will be described in detail later.
  • step S 3 the distortion acquisition parameter decoder 34 supplies the coordinates (X, Y) supplied from the interpolation phase / input card coordinate calculation unit 28 to the coordinate acquisition unit 29. Add a correction amount vector (0, Ym) according to the corrected correction amount parameter Ym. From this, as shown in FIG. 14B, the coordinates (X, Y + Ym) of the point corresponding to the coordinates (X, Y) in the original image OI before correction, that is, the correction vector can be obtained. At this time, the data acquisition unit 2 9 generates an address of the circuit to be read out from the image memory 6 2 in accordance with the integer value of the y component (Y + Ym) of the generated correction vector. Image memory 600 is supplied.
  • the image distortion correction parameter decoder 34 determines the above-mentioned correction vector according to the y-coordinate supplied from the interpolation phase and input coordinate calculation unit 28, and the correction vector It is also possible to supply Kukul to the data acquisition unit 29 and so on.
  • step S4 according to the address supplied with the image memory for vertical processing 602, a plurality of data for interpolation simultaneously arranged in a plurality of lines in the vertical direction at the coordinate X are simultaneously acquired.
  • the image memory 602 receives the top address to start reading from the data acquisition unit 29 and increments the address by 1 to sequentially output interpolation data according to the address, or Alternatively, a predetermined number of consecutive data are output from the received top address without incrementing the address.
  • the head address is obtained from the integer component of the correction amount parameter Y m output from the image distortion correction parameter decoder 34.
  • the interpolation coefficient generation unit 30 treats the fractional component of the correction amount parameter Y m supplied from the image distortion correction parameter decoder 34 as the phase of the vertical interpolation filter, and interpolates according to the fractional component Generate coefficients.
  • step S5 the data interpolation calculation unit 31 executes a one-dimensional interpolation operation according to the interpolation data supplied from the data acquisition unit 29 and the interpolation coefficient.
  • the above interpolation calculation is not applied only when the image 102 input to the signal processing unit 10 is RGB format, that is, in the case of YUV format, the vertical direction of the luminance signal and the color difference signal
  • the filter phase of the luminance signal can also be used as the filter phase of the color difference signal if the data density at the same time is the same, and correction is performed if the deviation density differs
  • the filter phase of the color difference signal is calculated.
  • luminance data D t of eight pixels in the vertical direction from the vicinity of the correction vector (X, Y + Y m) is used as interpolation data.
  • An 8-tap interpolation operation is performed with the above-mentioned fractional component as the phase.
  • the result obtained by the interpolation operation is used as luminance data and color difference data of the output image, and vertical distortion is corrected from this.
  • step S6 the output data buffer 32 outputs the image data obtained by the interpolation operation.
  • step S7 the interpolation phase-input data coordinate calculation unit 23 determines whether image data of one line, that is, the output horizontal pixel number HS, has been output based on the current X coordinate, If it is determined that data for one line has been output, the process proceeds to step S8. If it is determined that data for one line is not output, the process proceeds to step S10.
  • step S8 the interpolation phase ⁇ input data coordinate calculation unit 28 sets the X coordinate to S x and adds the scaling parameter V a in the vertical direction to the y coordinate.
  • step S10 the horizontal scaling parameter H a is added to the X coordinate, and the process returns to step S2.
  • the scaling parameter V a is determined by the ratio of the length of the original image with distortion to the image after correction in the vertical direction, and is smaller than 1 when the image is enlarged in the vertical direction after correction. It is a value, and conversely, it is considered as a value larger than 1 when it reduces, and 1 when it is equal.
  • step S9 the interpolation phase ⁇ input data coordinate calculation unit 28 further outputs image data for one frame, ie, the number of vertical lines (number of vertical pixels) based on the y coordinate, from the output delay buffer 32 Determine whether or not 1 If it is determined that the data for the frame has been output, the operation is ended. If it is determined that the data for one frame has not been output, the process proceeds to step S10.
  • the above-mentioned one-dimensional interpolation in the vertical direction does not involve interpolation of data in the horizontal direction or enlargement / reduction of the image, so every cycle in the horizontal scan shown in FIG. 14 A. Similar operations are repeated.
  • the data acquisition unit 29 supplies the activated standby signal WT to the interpolation phase ⁇ input data coordinate calculation unit 28 and the image distortion correction parameter decoder 34, and the activation of the standby signal WT is performed.
  • the operation of the interpolation phase ⁇ input data coordinate calculation unit 2 8 and the image distortion correction parameter decoder 3 4 is interrupted in a period.
  • the vertical one-dimensional interpolation unit 520 performs vertical image distortion correction processing and vertical enlargement / reduction processing simultaneously by performing vertical one-dimensional interpolation calculation on the original image with distortion. Realize, generate and output a completely distorted image.
  • FIG. 15 is a graph showing a conversion to a luminance signal, the horizontal axis indicates an X coordinate, and the vertical axis indicates a corrected y coordinate (Y + Y m).
  • one point of y coordinates of 0 and X coordinates of from 0. 0 to 1 0. 0 indicates one point on the image after correction, and arrows correspond to the respective points.
  • the interpolation phase is set to 1 as its fractional component 0.1.
  • the preprocessing device 3 and the correction parameter decoder 9 shown in FIG. 1 will be described in detail. First, the outline of the operation of the preprocessing device 3 and the correction parameter decoder 9 will be described with reference to the flow chart shown in FIG.
  • step S1 the correction parameter encoder 5 reads the correction amount vectors of all pixel points from the correction parameter derivation unit 6.
  • step S2 the correction parameter generator 5 determines grid lines for dividing the correction amount vector of all the pixel points into sections. The determination of the grid lines will be described in detail later.
  • step S3 the correction parameter encoder 5 compresses the correction amount vector of each section divided by the grid line and supplies it to the correction parameter decoder 9 as compressed data Pc, and In 4, the image pickup device 300 picks up an image. The compression of the correction amount vector will be described in detail later.
  • step S5 the data conversion unit 400 converts the analog image signal generated by the imaging into a digital image signal.
  • step S 6 the correction parameter decoder 9 determines a grid necessary for reading out the correction amount parameter data to the signal processing unit 10.
  • step S 7 the coordinates supplied from the signal processing unit 10 are used as the grid. Normalize according to.
  • step S 8 the correction parameter decoder 9 decodes the compressed data P c supplied from the correction parameter encoder 5 using the lattice, and the obtained correction amount parameter is processed by the signal processing unit 1. Supply to 0. Then, in step S9, the signal processing unit 10 performs interpolation calculation on the original image using the correction amount parameter.
  • step S10 the control microcomputer 8 determines whether or not the input of the original image to the signal processing unit 10 is ended, and if it is determined that the operation is ended, the operation of the image processing apparatus 2 is performed. If it is determined that the input is not ended, the process returns to step S4.
  • FIG. 17 is a block diagram showing the configuration of the correction parameter encoder 5 shown in FIG.
  • the correction parameter encoder 5 includes a lattice division unit 11 and a parameter compression unit 12.
  • the grid division unit 11 is connected to the user interface
  • the parameter compression unit 12 is connected to the grid division unit 11 and the correction parameter derivation unit 6.
  • FIGS. 18A to 18B to 23 the operation of the correction parameter encoder 5 will be described in detail with reference to FIGS. 18A to 18B to 23.
  • the grid division unit 11 determines grid lines for dividing the image 12 obtained by the data conversion unit 400 into a plurality of regions. Then, the parameter compression unit 12 compresses the correction amount vector of the image using lattice points for each of the regions divided by such lattice lines, and complements the obtained compression curve P c. Supply to the normal parameter one-way decoder 9.
  • the number of correction amount vectors to be held can be reduced by the correction parameter decoder 9, and the X and y directions are the same as in the case of holding correction amount vectors at all points.
  • the correction vector can be divided and calculated, and high-speed interpolation can be realized.
  • the image processing in the first quadrant Q 1 uses the X coordinate and / or the y coordinate, or both.
  • the inversion can be applied as it is to image processing in other quadrants.
  • the grid division determination method includes a method of equally dividing a predetermined area in the X direction and y direction (even division), a method of dividing the width of each lattice into a power of two (power division), and an optimum method. There is a method of dividing at the division position (optimal division).
  • the grid division unit 1 1 receives from the user interface the signal L w specifying the grid division method and the signal L n specifying the number of grid divisions, and as shown in FIG. Divide the image 102 into the specified number of divisions using the lattice 50 according to the method.
  • step S1 first, the scanning direction in image processing is determined as the X direction.
  • step S3 a target point is set two pixels to the right of the reference point (origin), and all points between the reference point and the target point (one segment) are second-order polynomials (hereinafter referred to as “segment second Fitting with "polynomial”.
  • step S4 the reference point is shifted to the target point, and a rightward search in the next section is performed.
  • points XI, X 2 and X 3 shown in FIG. 21 B are sequentially determined by such a method, and the correction amount parameter X m (x) as a function of X is determined for each section. It is approximated by a quadratic polynomial.
  • step S5 it is determined whether the target point is at the right end. If it is determined that it is the right end, the process proceeds to step S6, and if it is determined that the target point is not the right end, the process returns to step S3.
  • step S6 a target point is set to the left of two pixels of the reference point with the data at the right end as a reference point, and the left direction search is executed in the same manner as the right direction search. Then, after a segment is determined by the cost calculation, the reference point is shifted to the target point in step S7, and a leftward search in the next segment is performed.
  • the points X5 and X4 shown in FIG. 21C are sequentially determined by such a method, and the correction amount parameter X m (X) as a function of X is quadratically determined for each section. It is approximated by a polynomial.
  • step S8 it is determined whether the target point is at the left end. If it is determined that it is the left end, the process proceeds to step S9, and if it is determined that it is not the left end, the process returns to step S6.
  • step S9 as shown in FIG. 21D, the point obtained by the rightward search is compared with the point obtained by the leftward search, and the overall cost is minimized.
  • step S10 it is determined whether or not the search direction of the division position is the X direction, and if it is determined that it is the X direction, the process proceeds to step S11 and the y direction is not the X direction. If it is determined that the operation is ended.
  • step S11 the correction amount parameter of one line at the right end of the division target area is acquired, y dependency of the correction amount parameter is checked, and the process returns to step S3.
  • the search operation is performed as in the X direction.
  • the grid dividing unit 11 determines the dividing position in the X direction and the y direction, and determines the grid 50.
  • the determined grid position is supplied to the parameter compression unit 12 as grid information L i.
  • the parameter compression unit 12 shown in FIG. 17 holds only the correction amount vector at each grid point in accordance with the grid information L i supplied from the grid division unit 11. Then, as shown in FIG. 22A, the parameter compression unit 12 determines a line segment L2 that constitutes the lattice 50 as a processing target.
  • the parameter compression unit 12 determines a line segment L2 that constitutes the lattice 50 as a processing target.
  • X coordinates of both ends of line segment L 2 are X 0 and X 2
  • correction amount parameters at these both ends are X m 0 and X m 2 respectively
  • the relationship between the X coordinate and the correction amount parameter at each point of is shown, for example, as shown in FIG.
  • the parameter compression unit 12 calculates and holds the coefficients C a, C b and C c for all line segments forming the lattice 50, and at the same time, compresses these coefficients C a, C b and C c as compressed data P Supply to correction parameter decoder 9 as c.
  • FIG. 23 is a block diagram showing the configuration of the image distortion correction parameter decoder 33 for the X direction shown in FIG.
  • the image distortion correction parameter decoder 33 has a distortion parameter buffer 61, a lattice determination unit 62, a normalization unit 63, a function conversion unit 64, and a plane interpolation unit. 6 5 including; where distortion parameter Isseki buffer 61 is connected to the control microcomputer 8 and the correction parameter menu Isseki encoder 5, the lattice determination section 6 2 and the normalized unit 6 3 and associated number converter 6 4 Both are connected to the distortion parameter buffer 61.
  • the lattice determination unit 62 is connected to the signal processing unit 10, and the normalization unit 63 is connected to the lattice determination unit 62.
  • the function conversion unit 64 is connected to the normalization unit 63, and the plane interpolation unit 65 is connected to the function conversion unit 64.
  • the signal processing unit 1 0 is connected to the planar interpolation unit 65.
  • the image distortion correction parameter decoder 33 having the above configuration decodes the compressed data P c supplied from the correction parameter encoder 5 and calculates the correction amount parameter in the X direction at each point on the screen. The operation is described in detail below.
  • the image distortion correction parameter decoder 34 for the y direction shown in FIG. 2 has the same configuration as the image distortion correction parameter decoder 33 for the X direction, and the image distortion correction parameter decoder 3 Works in the same way as 3
  • the distortion parameter buffer 61 has a compression parameter P c from the correction parameter encoder 5, grid position information L p indicating the position of the grid corresponding to the compressed data P c, and the width of the grid While inputting and storing lattice constant information L c consisting of inverse numbers, the control microcomputer 8 inputs a command signal C d.
  • the grid determination unit 62 receives the X coordinate (xt) and the y coordinate (yt) of the point for which the corrected image is to be obtained from the signal processing unit 10 together with the correction parameter request signal Rx, and determines the grid frame including the point Do.
  • the lattice determination unit 62 determines the lattice frame by comparing the supplied coordinates (x t, y t) with the lattice information L I supplied from the distortion parameter buffer 61.
  • the normalization unit 63 executes a predetermined interpolation operation within the range of the grid frame determined by the grid determination unit 62, the coordinates (x t, y t)
  • the coordinates of the four corners of the lattice frame including the coordinates (xt, yt) are (X 0, Y 0) and (X 0, Y 2), (X 2, Y) It is assumed that 0) and (X2, Y2).
  • the values of 1 / (X 2-X 0) and 1 / (Y 2-Y 0) in the above equation (2) are calculated in the grid division unit 1 1 included in the correction parameter encoder 5 and
  • the conversion unit 63 receives the value from the distortion parameter buffer 61 as lattice constant information L c. From this, coordinates (px, py) are calculated by performing multiplication using the above values in the normalization unit 63.
  • the function conversion unit 64 corrects the correction amount parameters f (x) and g (x), m as a function of X or y. Find (y), and n (y).
  • the function conversion unit 64 also receives the coefficients C a, C b and C c in each of the above four functions from the distortion parameter buffer 61 as coefficient information CL.
  • the function conversion unit 64 obtains the correction amount parameter of the coordinates (xtyt) using the above four functions, but in order to secure the continuity of the functions in the X direction and the y direction, the four functions f and g , m, n are converted into approximate functions F, G, M, N in consideration of the weighting as shown in the following equation (3), for example.
  • fa, fb and fc in the equation (3) indicate the coefficients corresponding to the above coefficients C a, C b and C c in the function f, and similarly, ga, gb and g c are ma, of the function g mb and mc show the function m, na, nb and nc show the coefficients of the function n, respectively.
  • the function conversion unit 64 supplies the coordinates (px, py) supplied from the normalization unit 63 to the plane interpolation unit 65 as it is.
  • the plane interpolation unit 65 uses the functions F, G, M, N obtained by the function conversion unit 64 and the information indicating the coordinates (px, py) to obtain the coordinates according to the following equation (4) Calculate the correction amount parameter Xm at (xt, yt).
  • the plane interpolation unit 65 supplies the correction amount parameter Xm calculated by such a method to the signal processing unit 10 together with the enable signal EN indicating that the calculation operation of the parameter is completed. .
  • the image distortion correction parameter decoder 34 for the y direction calculates the correction amount parameter Ym by the same method as described above, and supplies it to the signal processing unit 10 together with the enable signal EN.
  • the above-mentioned functions f, g, m, and n forming a lattice frame may be approximated by an n-order polynomial (n is a natural number) in general, in addition to the approximation by the piecewise quadratic polynomial as described above.
  • FIG. 25 is a diagram showing the configuration of the image memory 620, data acquisition unit 29 and data interpolation calculation unit 31 shown in FIG. Note that Figure 25 is The configuration in the case where the image processing device 2 generates the image data of each pixel by interpolation calculation using the image data of 16 pixels of (4 ⁇ 4) taps is shown.
  • the image memory 602 is a selector 67, and five memories that are larger by one than the number of vertical taps, ie, A memory 7 1 and B memory 7 2, C memory 7 3, D
  • the memory 7 4 and the E memory 7 5 are included
  • the delay acquisition unit 2 9 is a control unit 80, an A buffer 81, a B buffer 82, a C buffer 83, a D buffer 84, an E buffer 85, It includes cycle division unit 56 2 and selectors 9 6 to 9 9.
  • the cycle division unit 56 2 includes selectors 9 1 to 9 5.
  • the data acquisition unit 29 includes five buffers (A buffer 81 to E buffer 85) and corresponding five selectors 91 to 95, each having one more than the number of vertical taps. It will include four selectors 9 6-9 9 which are the number of vertical taps.
  • the delay interpolation calculation unit 31 includes four registers 901, a multiplication circuit 902, and an addition circuit 43.
  • the selector 67 is connected to the data interpolation calculation unit 26 and the control unit 80, and the A memory 71, the B memory 72, the C memory 73, the D memory 74, and the E memory 75 are selectors 6 Connected to 7
  • control unit 80 is connected to the image distortion correction parameter decoder 34, the Ano and the buffer 81 are connected to the A memory 71, and the B buffer 82 is connected to the B memory 72.
  • C buffer 83 is connected to C memory 73, D buffer 84 is connected to D memory 74, and E buffer 85 is connected to E memory 75.
  • selector 91 is connected to A buffer 81
  • selector 92 is connected to B buffer 82
  • selector 93 is connected to C buffer 83
  • selector 94 is a D buffer 8 Connected to 4
  • selector 9 5 is E Connected to buffer 85
  • selectors 9 6-9 9 are connected to five selectors 9 1-9 5 respectively. The selectors 9 1 to 9 9 are respectively controlled by the control unit 80.
  • selectors 901 to 9 are connected to the selectors 9 6 to 9 respectively, and multiplier circuits 902 are connected to the registers 9 0 1 respectively.
  • the four multiplication circuits 9 0 2 are connected to one addition circuit 4 3.
  • the data which has been subjected to the interpolation processing in the horizontal direction by the interpolation interpolation calculation unit 26 is written to the image memory 602 and, at the same time, acquired from the image memory 620 by the data acquisition unit 29. Since the interpolation processing in the vertical direction is applied to the obtained data, the image distortion correction is performed without causing a frame delay as a processing waiting time.
  • data stored in A memory 71 is supplied to selector 91 via A buffer 81, and data stored in B memory 72 is supplied to selector 92 via B buffer 82. Ru.
  • data stored in C memory 7 3 is supplied to selector 9 3 via C buffer 8 3
  • data stored in D memory 7 4 is supplied to selector 9 4 via D buffer 8 4.
  • the data stored in the E memory 75 is supplied to the selector 95 through the E buffer 85.
  • each selector 9 1 to 9 5 included in cycle division unit 5 6 2 is controlled from A buffer 8 1 to E buffer 8 5 according to control by control unit 80. For example, data read out in units of two pixels is divided, and data for one pixel is supplied to selectors 9 6-9 9 per cycle.
  • each selector 9 6-9 selectively outputs the data supplied from the selector 9 1-9 5 to the register 9 0 1 under the control of the control unit 80. From this, four data, which is the number of taps necessary for interpolation processing in the vertical direction, is selectively supplied to the data interpolation calculation unit 31.
  • each data stored in register 901 is multiplied with interpolation coefficients C0 to C3 in each multiplier circuit 902, and the four products are added in addition circuit 43.
  • interpolation calculation in the vertical direction is performed and supplied to the output delay buffer 32.
  • FIG. 26 (a) to (d) image data for one frame is shown.
  • FIG. 26 (a) when image data is input from time T1 to the signal processing unit 10, horizontal interpolation is performed by the horizontal one-dimensional interpolation unit 501 from time T2. Processing is applied. Then, as shown in FIG. 26 (c), the image subjected to the horizontal interpolation processing is stored at time T 2 and after-A memory 7 1 to E memory 7 contained in the image memory 6 0 2 Write to 5 sequentially.
  • the data for vertical processing is read from the image memory 62 to the data acquisition unit 29 in the odd cycle, and the data subjected to horizontal processing from the interpolation calculation unit 26 in the even cycle is By writing to image memory 602, distortion correction processing with a two-cycle cycle is performed.
  • the maximum distortion curve of the horizontal line in the image 102 is equal to the number of lines corresponding to the maximum distortion amount in the vertical direction D m X
  • the delay time in the interpolation calculation is from time T1 to time T3, and it is not necessary to set the time (frame delay) in which horizontal interpolation processing is applied to one frame of data as the waiting time.
  • Image distortion can be corrected in real time.
  • the image memory 602 has the number obtained by adding the number of lines corresponding to the maximum distortion amount and the number of taps for vertical processing (for example, 4 taps) in the vertical direction, and to the signal processing unit 10 in the horizontal direction. It has a memory capacity to store data for the number of horizontal pixels of the input image.
  • the five memories from A memory 1 to E memory 75 shown in FIG. 25 have the same capacity, for example, and the port width of each memory is 32 bits, for example.
  • FIG. 28 shows a method for storing data in the area 102P of the image 102 into the image memory 602.
  • “A” to “E” mean “A memory” 71 to “E memory” 75 shown in FIG. 25 respectively.
  • the port width of each memory is 32 bits, and one pixel's worth of data is Y (brightness information) and C signals.
  • the selector 67 sequentially stores the data from the A memory 71 to the E memory 75 in units of data for two pixels.
  • the selector 67 first stores the data of the 0th line from 0 to 2 3rd pixel in the A memory 7 1, and then the 1st line from 0 to 2. 2 Store the data up to the 3rd pixel in B memory 72. Similarly, selector 6 7 stores data of 0 to 2 3rd pixel of 2nd line in C memory 7 3 and data of 0 to 2 3rd pixel of 3rd line to D memory 7 4 Store the data from 0 to 2 3rd pixel of the 4th line Is stored in E-memory 75. In the same manner, selector 67 sequentially stores the data for each line for each line from A memory 71 to E memory 75.
  • data acquisition unit 29 has one more than the number of vertical taps.
  • image data between two adjacent pixels in the horizontal direction is obtained. Has not moved more than two pixels in the vertical direction.
  • the image data does not move at all in the vertical direction between horizontally adjacent pixels, or pattern 2 in FIG. 29B or FIG.
  • the image data is moved by one pixel in the vertical direction as shown in pattern 3, as shown in FIG. 3A and FIG. 3B, the image data is vertically made between horizontally adjacent pixels. It does not move more than 2 pixels.
  • filtering processing is performed using data of four pixels including three peripheral pixels I p vertically adjacent to the central pixel I c. Is executed.
  • the five memories of the A memory 71 to the E memory 75 contained in the image memory 602 are assumed to have, for example, 32 bit ports, respectively.
  • image data of 16 bits is output for two pixels through each port by one access. That is, as shown in FIG. 32, image data Ia 0 and I a 1 consisting of 16 bits are read out in units of 2 pixels from A memory 7 1 by one access, Image data I b 0 and I b 1 consisting of 16 bits are read out in units of 2 pixels from B memory 72, and image data I c 0 and I consisting of 16 bits each from C memory 73 cl is read out in units of 2 pixels.
  • D memory 74 consists of 16 bits each The image data I d 0 and I d 1 are read out in units of two pixels, and the E memory 7 5 is read out of image data I e 0 and I e 1 each consisting of 16 bits in units of two pixels.
  • FIGS. 29A to 29C By reading out the image data for two adjacent pixels by one more than the number of taps in the vertical direction, the change between adjacent pixels is shown in FIGS. 29A to 29C.
  • the same process is performed in each row, whether it is from row 3 to row 3. That is, for example, as shown by the hatched portion in FIG. 32, the image data in four pixels arranged in the vertical direction from the pixel one pixel above the central pixel I c to the pixel two pixels below in each column is paired in each column.
  • image data of two pixels adjacent in the horizontal direction are generated respectively.
  • control unit 80 receives the y-coordinates of two central pixels I c in two horizontally adjacent rows from the image distortion correction parameter decoder 34, and selects the selector according to the difference of the y-coordinates.
  • the image data shown by the hatched portion in FIG. 32 is selectively supplied to the data interpolation calculation unit 31 as a target of the filtering process.
  • the image processing method according to the embodiment of the present invention includes: an image memory 6 0 2, a data acquisition unit 2 9, a data interpolation calculation unit 3 1 It is needless to say that the present invention can be applied to filtering processing other than four taps by changing the data input / output cycle to the image memory 602 with a configuration according to the number of taps. From the above, according to the image processing system according to the embodiment of the present invention, one-dimensional interpolation calculation is performed in the horizontal and vertical directions on the image with the optical distortion taken, and the correction vector becomes efficient.
  • distortion of an original image can be corrected at low cost in real time, so high quality images can be easily obtained.

Abstract

 低コストで画像の歪みを補正し、高品質な画像をリアルタイムに生成することができる画像処理装置と画像処理システム及び画像処理方法である。歪みを持った原画像を補正する画像処理装置であって、該原画像を構成する画素点における水平方向の補正量を示す水平補正パラメータXmを用いて1次元補間演算を施すことにより、水平方向における歪みを補正する水平1次元補間部(501)と、水平1次元補間部(501)による補正により得られた画像に対し、該原画像を構成する画素点における垂直方向の補正量を示す垂直補正パラメータYmを用いた1次元補間演算を施すことにより、該原画像の垂直方向における歪みを補正する垂直1次元補間部(502)とを備えたことを特徴とする画像処理装置を提供する。

Description

明細 ; 画像処理装置と画像処理システム及び画像処理方法 技術分野
本発明はビデオカメラやデジタルスチルカメラ、 銀塩カメラなどに用 いられる画像処理装置と画像処理システム及び画像処理方法に関するも のである。 背景技術
従来より、' ビデオカメラやデジタルスチルカメラ、 あるいは銀塩カメ ラなどにより撮像された画像においては、 撮像レンズの歪曲収差特性の 影響により歪みが生じていた。 ここで、 高精度で高性能なレンズにおい て該歪みは目立たないが、 コストが低いレンズを使用する場合や光学ズ ームレンズを使用する場合には、 画歪みの影響を完全に回避することは 難しい。
そこで、 近年、 該歪みを信号処理により補正する画像処理装置が提案 されてきている。 第 3 3図は、 従来における画像処理装置 1 0 0の構成 を示す。 第 3 3図に示されるように従来の画像処理装置 1 0 0は、 レン ズ 2 0 0と撮像素子 3 0 0、 データ変換部 4 0 0、 信号処理部 5 0 0、 画像メモリ 6 0 0、 制御マイコン 7 0 0、 同期信号生成部 8 0 0、 補正 データテーブル 1 0 1 0、 記録部 1 1 0 0、 再生部 1 2 0 0、 及び表示 系処理部 1 3 0 0とを備える。
ここで、 第 3 4図のフロ一チャートを参照しつつ、 上記画像処理装置 1 0 0の動作の概要を説明する。 まずステップ S 1では、 レンズ 2 0 0 及び撮像素子 3 0 0を介して被写体 1 0 1に対するアナログ画像信号を 入力する。 そして、 ステップ S 2ではデータ変換部 4 0 0で該アナログ 画像信号をデジタル画像信号に変換し、 画像 1 0 2を生成する。
次に、 ステップ S 3において、 信号処理部 5 0 0は補正デ一夕テープ ル 1 0 1 0に格納された歪み補正べクトル (以下、 単に 「補正べクト ル」 ともいう) を用いて歪んだ画像 1 0 2に対し補正演算を施す。 そし て、 ステップ S 4において、 制御マイコン 7 0 0は画像の入力を終了す るか否かを判断し、 終了しないと判断した場合にはステップ S 1へ戻る 以上が、 第 3 3図に示された従来の画像処理装置 1 0 0の動作の概要 であるが、 以下において該動作を詳しく説明する。
レンズ 2 0 0は被写体 1 0 1からの反射光を集光して撮像素子 3 0 0 に写影する。 また、 撮像素子 3 0 0は C CDや CMO Sセンサなどから構成 され、 写影された映像をキヤプチヤーして、 アナログの画像信号を生成 する。 また、 データ変換部 4 0 0は撮像素子 3 0 0から供給された該ァ ナログ信号をデジタルの画像信号に変換し、 画像 1 0 2を生成する。 一 方、 制御マイコン 7 0 0は外部のュ一ザインタフェースへの入力に応じ て、 所定の動作を命令するコマンドを発行する。
また、 信号処理部 5 0 0は制御マイコン 7 0 0から供給されたコマン ドに応じてデータ変換部 4 0 0により生成されたデジタル画像信号を画 像メモリ 6 0 0へ格納する。 そして、 信号処理部 5 0 0は補正データテ 一ブル 1 0 1 0に予め記録された全画素に対応する補正べクトルを該テ 一ブルから読み出し、 該補正情報に応じて画像メモリ 6 0 0から必要な 画像信号を取得した後、 該画像信号につき 2次元補間方式による幾何学 補正を実行することによって、 データ変換部 4 0 0から出力された画像 1 0 2の歪みを補正する。
ここで、 信号処理部 5 0 0において生成された画像信号は、 表示系処 理部 1 3 0 0へ供給されることにより該画像がモニタに表示され、 ある いは記録部 1 1 0 0へ供給されることにより外部のテープやディスクあ るいはメモリなどのメディア 1 4 0 0に記録される。 また、 メディア 1 4 0 0に記録された画像信号は、 再生部 1 2 0 0により再生され、 該再 生信号が表示系処理部 1 3 0 0へ供給されることにより該再生画像がモ 二夕に表示される。
なお、 同期信号生成部 8 0 0は、 外部から供給されるクロック信号 C L Kに応じて内部同期信号を生成し、 撮像素子 3 0 0とデ一夕変換部 4 0 0及び信号処理部 5 0 0へ供給する。
第 3 5図は、 第 3 3図に示された信号処理部 5 0 0の構成を示すプロ ック図である。 第 3 5図に示されるように、 信号処理部 5 0 0は夕イミ ング制御部 5 1 0と補間位相 ·入力データ座標計算部 5 2 0、 データ取 得部 5 3 0、 補間係数生成部 5 4 0、 データ補間計算部 5 5 0、 出力デ 一夕バッファ 5 6 0、 及びデータ書き込み部 5 7 0とを含む。
ここで、 データ書き込み部 5 7 0はデータ変換部 4 0 0から供給され たデジタル画像信号を書き込み制御信号 S wと共に画像メモリ 6 0 0へ 供給し、 画像メモリ 6 0 0に対して該デジタル画像信号を格納させる。 また、 タイミング制御部 5 1 0は同期信号生成部 8 0 0から供給され た内部同期信号に応じて制御タイミング信号 S tを生成し、 補間位相 · 入力デ一タ座標計算部 5 2 0は供給された制御タイミング信号 S tに応 じて出力画像の座標を計算し、 得られた座標に対する補正ベクトルを要 求する補正べクトル要求信号 S aを補正データテーブル 1 0 1 0へ供給 する。
補正デ一タテーブル 1 0 1 0は、 内蔵する該テーブルにより補正べク トル要求信号 S aに応じた補正べク卜ルを求め、 データ取得部 5 3 0及 び補間係数生成部 5 4 0へ供給する。 データ取得部 5 3 0は、 読み出し 制御信号 S rを画像メモリ 6 0 0へ供給することにより、 補正データテ 一ブル 1 0 1 0から出力された補正べクトルの整数成分に応じた補間用 データを画像メモリ 6 0 0から取得する。 なお、 デ一夕取得部 5 3 0は 取得した該補間用データをデータ補間計算部 5 5 0へ供給する。
一方、 補間係数生成部 5 4 0は、 補正データテーブル 1 0 1 0から供 給された補正ベクトルの小数成分に応じて補間係数を生成し、 データ補 間計算部 5 5 0へ供給する。 そして、 データ補間計算部 5 5 0はデータ 取得部 5 3 0から供給された補間用データと、 補間係数生成部 5 4 0か ら供給された補間係数とに応じて補間演算を実行する。 なお、 該補間演 算として 2次元の補間演算が実行される。
以下、 2次元補間による画像変換を第 3 6 A図乃至第 3 6 B図を参照 しつつ説明する。 第 3 6 A図は 2次元補間の前後における画像を示し、 第 3 6 B図は第 3 6 A図の一部を拡大した図を示す。
ここで、 例えば第 3 6 A図に示された点 a 1から点 a 4までを結ぶ矢 印が出力画像であるとき、 該出力画像を構成する点 a 1から点 a 4まで に対応する画像 1 0 2上の点は点 A 1から点 A 4までとする。 従って、 第 3 6 A図では点 A 1から点 A 4までを結ぶ矢印からなる原画像が、 2 次元補間により点 a 1から点 a 4までを結ぶ出力画像に変換された場合 が示される。
このとき X及び y方向においてそれぞれ 2つ (2 X 2 ) の画像データ を用いて出力画像の各点の画像を決定する場合には、 例えば点 A 1を囲 む 4つの格子点 K 0 0 , K 0 1 , K 1 0 , K 1 1における画像データを 用いて点 a 1の画像データが決定される。 なお、 点 A 2から点 A 4まで についても同様な演算が実行されることにより、 点 a 2から点 a 4の画 像データが決定される。 ここで、 上記 4つの格子点 K 0 0 , K 0 1 , K 1 0 , K 1 1は、 補正データテーブル 1 0 1 0から出力された補正座標 に応じて決定される。 また、 第 3 6 B図に示されるように、 格子点 K 0 0と格子点 K 1 0と の間、 及び格子点 K 1 0と格子点 K 1 1との間の距離を共に 1としたと き、 X方向及び y方向における点 A 1の位置はそれぞれ小数パラメータ P , P yにより特定される。 このとき、 点 a 1の画像データを算出す る際に用いられる格子点 K 0 0, K 0 1 , K 1 0 , K 1 1の各画像デ一 夕の重み付け (補間係数) C n (n= l〜4) は、 補正データテーブル 1 0 1 0から供給される上記補正ベクトルの小数成分、 すなわち該小数 パラメ一夕 P x, P yにより決定される。
また、 データ補間計算部 5 5 0による補間演算の結果得られたデータ は、 出力データバッファ 5 6 0に保持され、 所定のタイミングで表示系 処理部 1 3 0 0又は記録部 1 1 0 0へ出力される。
ここで、 従来のデータ補間計算部 5 5 0は第 3 7図に示されるように 構成される。 なお、 第 3 7図においては、 X及び y方向にそれぞれ 4つ 並んだ (4 X 4) 合計 1 6個からなる画像デ一夕を用いて出力画像の各 点の画像が決定される場合の構成が示される。
第 3 7図に示されるように、 従来のデ一夕補間計算部 5 5 0は 4つの ラインメモリ 9 0 0と、 各ラインメモリ 9 0 0の出力ノードにそれぞれ 4つずつ直列接続された合計 1 6個のレジス夕 9 0 1と、 各レジスタ 9 0 1から出力された画像データと対応する補間係数 CHn (n= 0 0〜 3 3 ) とをそれぞれ乗算する 1 6個の乗算回路 9 0 2と、 該 1 6個の乗 算回路 9 0 2により得られたデータを加算する加算回路 9 04と、 加算 回路 9 0 4により得られたデータを除算する除算回路 9 0 5とを含む。 しかしながら、 上記のような従来の画像処理装置によれば、 リアル夕 ィムに画像の歪みを補正することもできるが、 全画素に対応する補正べ クトルを持つ必要があるために回路規模が大きくなり、 コストがかかる という問題がある。 さらに、 レンズ 2 0 0の位置を変動させる場合やレンズ交換を行う場 合には、 該レンズの歪曲収差特性の変化に応じて補正べク卜ルを更新す る必要があるため、 コストの高い大容量の補正デ一タテーブル 1 0 1 0 が必要となる。
また、 補正データテーブル 1 0 1 0の該更新は、 ユーザインタフエ一 スからの指示により制御マイコン 7 0 0により実行されるが、 制御マイ コン 7 0 0と補正データテーブル 1 0 1 0との間においては大きな通信 容量が必要とされるため、 制御マイコン 7 0 0によるリアルタイム処理 が困難になるという問題もある。
なお、 補正データテーブル 1 0 1 0を備える代わりに該補正ベクトル を逐次演算する方法もあるが、 かかる方法ではいわゆるフレーム遅延の ないリアルタイム処理が困難であり、 リアルタイム処理を実現するため には大きな八一ドウエアが必要となってコストがかかるという問題があ る。
また、 上記のように 2次元補間では、 1点の画像データを補正するた めに画像が形成される 2次元平面上の複数の点における画像データが用 いられるが、 質の高い画像を得るためには多数の点における画像デ一夕 が必要となるため、 画像メモリ 6 0 0に対するアクセス頻度が高くなり 動作の高速化を図ることができないという問題がある。
また、 2次元補間を実行する場合には、 画像メモリ 6 0 0のポート幅 が出力レートの数倍のパンド幅であることが必要となる。 すなわち例え ば、 2次元補間において 4画素の画像デ一夕から 1画素の画像データを 生成する場合には、 該ポート幅は 1画素のバンド幅の 4倍であることが 必要となる。
このように、 2次元補間を実行する場合には該ポート幅に一定の条件 が必要とされるため、 高次タップ ( 「タップ」 とは、 画像処理の対象と される一方向におけるデータ数を意味する) の高性能フィルタを用いる ことが非常に困難であることから、 高画質な画像を得ることが難しいと いう問題がある。
本発明は上記のような問題を解消するためになされたもので、 低コス 卜で画像の歪みを補正し、 高品質な画像をリアルタイムに生成するため の画像処理装置と画像処理システム及び画像処理方法を提供することを 目的とする。 発明の開示
本発明の目的は、 歪みを持った原画像を供給された補正ベクトルに応 じて補正する画像補正手段を含む画像処理装置であって、 外部から供給 されるエンコードされた補正べクトルをデコードし、 デコードされた補 正べクトルを画像補正手段へ供給するデコード手段を備えたことを特徴 とする画像処理装置を提供することにより達成される。
このような手段によれば、 外部から供給されるエンコードされた補正 べク卜ルをデコードすると共に、 画像補正手段はデコードされた該補正 べクトルに応じて原画像を補正するため、 原画像を構成する全画素点に おける補正べクトルを画像処理装置内に予め保持する必要が回避される これより、 歪みを持った原画像をリアルタイムに補正する画像処理装置 の装置規模及び製造コストを低減することができる。
ここで、 ユーザィン夕フェースへの入力に応じたコマンドをデコード 手段へ発行することにより、 補正べクトルを選択的にデコードさせるデ コード制御手段をさらに備えることによって、 例えばレンズの位置や手 振れ等といった原画像の取り込み環境に応じた適切な補正べクトルを用 いて該補正を実現することができる。 また、 本発明の目的は、 歪みを持った原画像を補正する画像処理装置 であって、 原画像を構成する画素点における水平方向の補正量を示す水 平補正パラメ一夕を用いて原画像に対し 1次元補間演算を施すことによ り、 原画像の水平方向における歪みを補正する水平補正手段と、 水平補 正手段による補正により得られた画像に対し、 原画像を構成する画素点 における垂直方向の補正量を示す垂直補正パラメ一夕を用いた 1次元補 間演算を施すことにより、 原画像の垂直方向における歪みを補正する垂 直補正手段とを備えたことを特徴とする画像処理装置を提供することに より達成される。
このような手段によれば、 水平補正手段は原画像の水平方向に 1次元 補間演算を施し、 垂直補正手段は該原画像の垂直方向に 1次元補間演算 を施すため、 低コストでリアルタイムに原画像の歪みを補正することが できる。
なお、 水平補正手段による補正と垂直補正手段による補正は、 どちら を先に実行させても良い。
すなわち、 本発明の目的は、 原画像を構成する画素点における垂直方 向の補正量を示す垂直補正パラメ一夕を用いた 1次元補間演算を原画像 に対して施すことにより、 原画像の垂直方向における歪みを補正する垂 直補正手段と、 垂直補正手段による補正により得られた画像に対し、 原 画像を構成する画素点における水平方向の補正量を示す水平補正パラメ 一夕を用いた 1次元補間演算を施すことにより、 原画像の水平方向にお ける歪みを補正する水平補正手段とを備えたことを特徴とする画像処理 装置を提供することによつても達成することができる。
上記において水平補正手段は、 1次元補間演算により画像データを求 める画素点の水平方向における間隔を調整することによって、 原画像を 水平方向において伸縮すると共に、 垂直補正手段は、 1次元補間演算に より画像データを求める画素点の垂直方向における間隔を調整すること によって、 原画像を垂直方向において伸縮するものとすれば、 歪み補正 と共に原画像の拡大あるいは縮小を容易に実現することができる。
また、 より具体的には、 水平補正手段は、 水平補正パラメ一夕の整数 成分に応じて画素点における画像データを選択的に取得する第一データ 取得手段と、 水平補正パラメ一夕の小数成分に応じて補間係数を生成す る第一補間係数生成手段と、 第一データ取得手段により取得された画像 データと、 第一補間係数生成手段により生成された補間係数とを用いて 1次元補間演算を実行する第一補間演算手段とを含み、 垂直補正手段は, 垂直補正パラメータの整数成分に応じて画素点における画像データを選 択的に取得する第二データ取得手段と、 垂直補正パラメータの小数成分 に応じて補間係数を生成する第二補間係数生成手段と、 第二データ取得 手段により取得された画像デ一夕と、 第二補間係数生成手段により生成 された補間係数とを用いて 1次元補間演算を実行する第二補間演算手段 とを含むものとすることができる。 なお、 上記小数成分は補間位相とさ れる。
また、 上記において、 水平補正手段による補正により得られた水平補 正画像を記憶する記憶手段をさらに備え、 垂直補正手段は、 記憶手段か ら垂直補正パラメ一夕に応じた水平補正画像を取得するデータ取得手段 と、 データ取得手段により取得された水平補正画像に対して、 垂直補正 パラメータを用いた 1次元補間演算を施す補間演算手段とを含むものと することができる。
このような手段によれば、 垂直方向の 1次元補間演算に必要な水平補 正画像のみがデータ取得手段により記憶手段から選択的に取得されるた め、 該 1次元補間演算を効率的に実行することができる。 また、 本発明の目的は、 歪みを持った原画像,を供給された補正べクト ルに応じて補正する画像補正手段を含む画像処理システムであって、 原 画像を構成する画素点における補正べクトルを選択的にエンコードする エンコード手段と、 エンコード手段から供給されるエンコードされた補 正ベクトルをデコードし、 デコードされた補正ベクトルを画像補正手段 へ供給するデコード手段を備えたことを特徴とする画像処理システムを 提供することにより達成される。
このような手段によれば、 エンコード手段によりエンコードされた補 正べクトルをデコード手段がデコードし、 画像補正手段がデコードされ た該補正ベクトルに応じて原画像を補正するため、 原画像の全画素点に おける補正べクトルを用いることなく歪み補正を実行することができ、 原画像を低コストでリアルタイムに補正することができる。
また、 本発明の目的は、 歪みを持った原画像を補正する画像処理シス テムであって、 原画像を構成する画素点における水平方向の補正量を示 す水平補正パラメ一夕と、 画素点における垂直方向の補正量を示す垂直 補正パラメ一夕を選択的にエンコードするエンコード手段と、 ェンコ一 ド手段から供給されるエンコードされた水平補正パラメータをデコード する水平デコード手段と、 水平デコード手段によりデコードされた水平 補正パラメ一夕を用いた 1次元補間演算を原画像に対して施すことによ り、 原画像の水平方向における歪みを補正する水平補正手段と、 ェンコ 一ド手段から供給されるエンコードされた垂直補正パラメ一夕をデコー ドする垂直デコード手段と、 水平補正手段による補正により得られた画 像に対し、 垂直デコード手段によりデコードされた垂直補正パラメータ を用いた 1次元補間演算を施すことにより、 原画像の垂直方向における 歪みを補正する垂直補正手段とを備えたことを特徴とする画像処理シス テムを提供することにより達成される。 このような手段によれば、 水平補正手段は原画像の水平方向に 1次元 補間演算を施し、 垂直補正手段は該原画像の垂直方向に 1次元補間演算 を施すため、 低コストでリアルタイムに画像の歪みを補正することがで さる。
ここで、 上記エンコード手段を、 ユーザインタフェースから供給され る制御信号に応じて原画像を格子分割する格子分割手段と、 格子分割に より得られた格子点における水平補正パラメータを選択的に圧縮して水 平デコード手段へ供給すると共に、 格子点における垂直補正パラメ一夕 を選択的に圧縮して垂直デコード手段へ供給するパラメ一夕圧縮手段と を含むものとすれば、 水平補正パラメータ及び垂直補正パラメータを効 率的に水平及び垂直デコード手段へ供給することができる。
またこのとき、 例えば水平デコード手段を、 格子分割手段により生成 された格子に対応して生成画像の各画素点を囲む格子枠を決定する第一 格子決定手段と、 第一格子決定手段により決定された各々の格子枠を関 数により近似し、 該関数を用いて生成画像の各画素点における水平補正 パラメ一夕を算出する水平パラメ一夕算出手段とを含むものとし、 垂直 デコード手段を、 格子分割手段により生成された格子に対応して生成画 像の各画素点を囲む格子枠を決定する第二格子決定手段と、 第二格子決 定手段により決定された各々の格子枠を関数により近似し、 該関数を用 いて生成画像の各画素点における垂直補正パラメ一夕'を算出する垂直パ ラメ一夕算出手段とを含むものとすることによって、 エンコードされた 水平補正パラメ一夕及び垂直補正パラメ一夕を精度よくデコードするこ とができる。
ここで、 水平パラメ一夕算出手段と垂直パラメ一夕算出手段のうち少 なくとも一方は、 少なくとも一つの格子枠を n次多項式 (nは自然数) により近似するものとすることができる。 また、 本発明の目的は、 歪みを持った原画像を補正する画像処理方法 であって、 原画像を構成する画素点における水平方向の補正量を示す水 平補正パラメータを用いて原画像に対し 1次元補間演算を施すことによ り、 原画像の水平方向における歪みを補正する第一のステップと、 第一 のステップにおいて得られた画像に対し、 原画像を構成する画素点にお ける垂直方向の補正量を示す垂直補正パラメ一夕を用いた 1次元補間演 算を施すことにより、 原画像の垂直方向における歪みを補正する第二の ステップとを有することを特徴とする画像処理方法を提供することによ り達成される。
このような手段によれば、 第一のステップにおいて原画像の水平方向 に 1次元補間演算を施し、 第二のステップにおいて該原画像の垂直方向 に 1次元補間演算を施すため、 低コストでリアルタイムに画像の歪みを 補正することができる。
ここで、 少なくとも第一のステップにおいて、 1次元補間演算により 画像デ一夕を求める画素点の水平方向における間隔を調整することによ り原画像を水平方向において伸縮し、 又は第二のステップにおいて、 1 次元補間演算により画像データを求める画素点の垂直方向における間隔 を調整することにより原画像を垂直方向において伸縮するものとすれば、 さらに水平方向又は垂直方向、 あるいは双方向において原画像を容易に 拡大あるいは縮小することができる。
また、 本発明の目的は、 歪みを持った原画像を補正する画像処理方法 であって、 ユーザィン夕フェースから供給される制御信号に応じて原画 像を格子分割する第一のステップと、 格子分割により得られた格子点に おける水平方向及び垂直方向の補正量を選択的にェンコ一ドする第二の ステップと、 エンコードされた水平方向及び垂直方向の補正量をデコ一 ドする第三のステップと、 デコードされた水平方向の補正量に応じて、 原画像の水平方向について 1次元補間演算を施す第四のステップと、 デ コードされた垂直方向の補正量に応じて、 原画像の垂直方向について 1 次元補間演算を施す第五のステップとを有することを特徴とする画像処 理方法を提供することにより達成される。
このような手段によれば、 原画像の各画素点における補正量が効率的 にエンコード及びデコ一ドされ、 デコ一ドされた該補正量に応じて水平 方向及び垂直方向の 1次元補間演算が施されるため、 原画像のリアル夕 ィムな補正処理を容易に実現することができる。
ここで、 上記第三のステップは、 第一のステップにおいて生成された 格子に対応して生成画像の各画素点を囲む格子枠を決定する格子枠決定 ステップと、 格子枠決定ステップにおいて決定された各々の格子枠を閧 数により近似し、 関数を用いて生成画像を構成する各画素点における水 平方向及び垂直方向の補正量を算出するパラメ一夕算出ステップとを含 むものとすれば、 エンコードされた水平方向及び垂直方向の補正量を容 易かつ確実にデコードすることができる。
なお、 パラメ一タ算出ステップにおいては、 少なくとも一つの格子枠 を例えば n次多項式 (nは自然数) により近似することが考えられる。 図面の簡単な説明
第 1図は、 本発明の実施の形態に係る画像処理システムの構成を示 すブロック図である。
第 2図は、 第 1図に示された信号処理部の構成を示すブロック図であ る。
第 3 A図乃至第 3 B図は、 第 2図に示された信号処理部により実行さ れる 1次元補間演算の概要を説明する図である。 第 4図は、 第 2図に示されたデータ補間計算部に含まれる水平処理回 路の構成を示す図である。
第 5図は、 第 2図に示された水平 1次元補間部の動作を示す第一のフ ローチャー卜である。
第 6図は、 第 2図に示された水平 1次元補間部の動作を示す第二のフ 口—チヤ—卜である 第 7 A図乃至第 7 C図は、 第 5図及び第 6図に示された動作を説明す る図である。
第 8図は、 水平 1次元補間における等倍変換の一例を示す図である。 第 9図は、 第 8図に示された等倍変換の動作タイミングを示す夕イミ ング図である。 .
第 1 0図は、 水平 1次元補間における水平拡大変換の一例を示す図で ある。
第 1 1図は、 第 1 0図に示された水平拡大変換の動作タイミングを示 すタイミング図である。
第 1 2図は、 第 2図に示された垂直 1次元補間部の動作を示す第一の フロ一チヤ一卜である。
第 1 3図は、 第 2図に示された垂直 1次元補間部の動作を示す第二の フローチヤ一トである。
第 1 4 A図乃至第 1 4 C図は、 第 1 2図及び第 1 3図に示された動作 を説明する図である。
第 1 5図は、 垂直 1次元補間における垂直拡大変換の一例を示す図で ある。
第 1 6図は、 第 1図に示された前処理装置及び補正パラメ一タデコ一 ダの動作の概要を示すフローチャートである。 第 1 7図は、 第 1図に示された補正パラメ一夕エンコーダの構成を示 すブロック図である。
第 1 8 A図乃至第 1 8 B図は、 第 1 7図に示された格子分割部の動作 の概要を説明する図である。
第 1 9図は、 最適分割の方法を示す第一のフローチャートである。 第 2 0図は、 最適分割の方法を示す第二のフローチャートである。 第 2 1 A図乃至第 2 1 D図は、 第 1 9図及び第 2 0図に示された動作 を説明する第一の図である。
第 2 2 A図乃至第 2 2 C図は、 第 1 9図及び第 2 0図に示された動作 を説明する第二の図である。
第 2 3図は、 第 2図に示された X方向用の画歪補正パラメータデコ一 ダの構成を示すブロック図である。
第 2 4 A図乃至第 2 4 B図は、 第 2 3図に示された補正パラメータデ コーダの動作を説明する図である。
第 2 5図は、 第 2図に示された画像メモリとデータ取得部及びデータ 補間計算部の構成を示す図である。
第 2 6図は、 水平 1次元補間処理及び垂直 1次元補間処理のタイミン グを示すタイミング図である。
第 2 7図は、 水平 1次元補間及び垂直 1次元補間を実行するために必 要なメモリ容量を説明する図である。
第 2 8図は、 第 2 5図に示された画像メモリへのデ一夕格納方法を説 明する図である。
第 2 9 A図乃至第 2 9 C図は、 隣接画素における垂直方向の取り得る 変化パターンを示す図である。
第 3 O A図乃至第 3 0 B図は、 隣接画素における垂直方向の有り得な い変化パターンを す図である。 第 3 1図は、 垂直 4タップ処理を説明する図である。
第 3 2図は、 第 2 5図に示された画像メモリからのデ一夕読み出し方 法を説明する図である。
第 3 3図は、 従来における画像処理装置の構成を示すブロック図であ る。
第 3 4図は、 第 3 3図に示された画像処理装置の動作の概要を示すフ ローチヤ一卜である。
第 3 5図は、 第 3 3図に示された信号処理部の構成を示すブロック図 である。
第 3 6 A図乃至第 3 6 B図は、 2次元補間による画像変換の原理を示 す図である。
第 3 7図は、 第 3 5図に示されたデータ補間計算部の構成を示すプロ ック図である。 発明を実施するための最良の形態
以下において、 本発明の実施の形態を図面を参照しつつ詳しく説明す る。 なお、 図中同一符号は同一または相当部分を示す。
第 1図は、 本発明の実施の形態に係る画像処理システムの構成を示す ブロック図である。 第 1図に示されるように、 本発明の実施の形態に係 る画像処理システムは画像処理装置 2と前処理装置 3及びメディァ 1 4 0 0を備え、 画像処理装置 2はレンズ 2 0 0と撮像素子 3 0 0、 データ 変換部 4 0 0、 信号処理部 1 0、 画像メモリ 7、 制御マイコン 8、 補正 パラメ一夕デコーダ 9、 同期信号生成部 8 0 0、 記録部 1 1 0 0、 再生 部 1 2 0 0、 及び表示系処理部 1 3 0 0とを含み、 前処理装置 3は補正 パラメ一タエンコーダ 5と補正パラメ一夕導出部 6とを含む。 ここで、 レンズ 2 0 0は被写体 1 0 1からの反射光を集光して撮像素 子 3 0 0に写影するものであって、 単焦点のレンズにとどまらずズーム 機能を有するものであっても良い。 また、 撮像素子 3 0 0は C CDや CMO Sセンサなどから構成され、 同期信号生成部 8 0 0から供給された 内部同期信号に応じて、 写影された映像をキヤプチヤーしアナログ画像 信号を生成する。
デ一夕変換部 4 0 0は撮像素子 3 0 0に接続され、 同期信号生成部 8 0 0から供給された内部同期信号に応じて、 撮像素子 3 0 0により生成 されたアナログ画像信号をデジタル画像信号に変換し画像 1 0 2を生成 する。
信号処理部 1 0は、 制御マイコン 8とデータ変換部 4 0 0、 画像メモ リ 7、 補正パラメータデコーダ 9及び同期信号生成部 8 0 0に接続され る。 そして、 信号処理部 1 0は、 制御マイコン 8から供給されたコマン ドに応じて、 データ変換部 4 0 0から供給されるデジタル画像信号を画 像メモリ 7へ格納すると共に、 補正パラメータデコーダ 9から供給され る補正量パラメ一夕によって格納された該画像信号に対する補正処理を 実行する。 そして、 信号処理部 1 0は、 該補正により得られた画像信号 を表示系処理部 1 3 0 0及び記録部 1 1 0 0へ供給する。 なお、 信号処 理部 1 0については後に詳しく説明する。
一方、 補正パラメータ導出部 6は、 レンズ 2 0 0の歪曲収差に関する データなどから、 全画素の各位置に応じた補正量べクトルを予め計算す る。 また、 補正パラメータエンコーダ 5は補正パラメータ導出部 6及び ユーザィン夕フェースに接続され、 ユーザィンタフエースから供給され た制御信号 L n, L wに応じて、 補正パラメータ導出部 6から供給され た補正量ベクトルを圧縮 (エンコード) し、 該圧縮データ P cを補正パ ラメータデコーダ 9へ供給する。 なお、 補正パラメータ導出部 6における演算及び上記ェンコ一ドは、 共に非常に負荷の大きな演算となるが、 別途パーソナルコンピュータ等 を用いて計算すればよく、 画像処理装置 2によるリアルタイム処理に影 響を与えるものでない。
また、 本発明の実施の形態に係る画像処理システムでは、 前処理装置 3は必須の構成要素とされず、 画像処理装置 2の外から上記圧縮データ P cが補正パラメ一タデコ一ダ 9へ供給される種々の実施の形態が同様 に考えられる。
また、 制御マイコン 8はユーザィンタフェースからの制御信号に応じ て、 所定の動作を命令するコマンド等を信号処理部 1 0へ出力すると共 に、 レンズ 2 0 0の位置情報などを補正パラメ一夕デコーダ 9へ供給す る。
補正パラメ一夕デコーダ 9は、 補正パラメ一夕エンコーダ 5と制御マ イコン 8及ぴ信号処理部 1 0に接続される。 そして、 補正パラメ一タデ コーダ 9は、 制御マイコン 8から供給された情報等に応じて、 補正パラ メータエンコーダ 5から供給されたェンコ一ドされた圧縮データ P cを 各画素に対応した補正量パラメ一夕に伸長 (デコ一ド) し、 該補正量パ ラメ一夕を信号処理部 1 0へ供給する。
ここで、 補正パラメータデコーダ 9は、 信号処理部 1 0において実行 される補間方式によらず、 上記補正量パラメータを信号処理部 1 0へ供 給する。 なお、 上記補正パラメ一夕エンコーダ 5及び補正パラメータデ コーダ 9については、 後に詳しく説明する。
また、 記録部 1 1 0 0は信号処理部 1 0に接続され、 信号処理部 1 0 により生成された画像信号をテープやフレキシブルディスク、 DVD (デ ジタル多用途ディスク) 、 ハ一ドディスク、 メモリなどのメディァ (記 録媒体) 1 4 0 0に記録する。 なお、 信号処理部 1 0により生成された 画像信号は、 ィン夕一ネットゃワイヤレス通信等を用いてメディァ 1 4 0 0に記録されるようにすることもできる。
また、 再生部 1 2 0 0はメディア 1 4 0 0に接続され、 メディア 1 4 0 0に格納された画像信号を再生して表示系処理部 1 3 0 0へ供給する: 表示系処理部 1 3 0 0は信号処理部 1 0及び再生部 1 2 0 0に接続され、 信号処理部 1 0又は再生部 1 2 0 0から供給された画像信号をモニタに 表示する。
なお、 同期信号生成部 8 0 0は外部から供給されたクロック信号 C L Kに応じて内部同期信号を生成し、 撮像素子 3 0 0とデータ変換部 4 0 0及び信号処理部 1 0へ供給する。
第 2図は、 第 1図に示された信号処理部 1 0の構成を示すブロック図 である。 第 2図に示されるように、 信号処理部 1 0は水平 1次元補間部 5 0 1と垂直 1次元補間部 5 0 2とを含む。 なお、 画像メモリ 7は水平 処理用 F I F〇メモリからなる画像メモリ 6 0 1と垂直処理用ラインバ ッファからなる画像メモリ 6 0 2とを含み、 補正パラメータデコーダ 9 は X方向用の画歪補正パラメータデコーダ 3 3と y方向用の画歪補正パ ラメ一夕デコーダ 3 4とを含む。
なお、 画像メモリ 6 0 2は垂直方向の歪み補正を実現するために必要 な最小限のライン数分に渡るデータを格納できるだけの容量を有するも のとされるが、 この点については後述する。 また、 通常上記容量は、 出 力データバッファ 3 2に供給される出力同期信号の周波数に応じて決定 される。
そして、 水平 1次元補間部 5 0 1はデータ書き込み部 2 1と演算制御 部 2 2、 補間位相 ·入力データ座標計算部 2 3、 データ取得部 2 4、 補 間係数生成部 2 5、 及びデ一夕補間計算部 2 6を含み、 垂直 1次元補間 部 5 0 2は演算制御部 2 7と補間位相 ·入力データ座標計算部 2 8、 デ 一夕取得部 2 9、 補間係数生成部 3 0、 デ一夕補間計算部 3 1、 及び出 力データバッファ 3 2を含む。
ここで、 データ書き込み部 2 1はデータ変換部 4 0 0に接続され、 演 算制御部 2 2は同期信号生成部 8 0 0に接続される。 また、 補間位相 · 入力データ座標計算部 2 3は演算制御部 2 2及び制御マイコン 8に接続 され、 デ一夕取得部 2 4は補間位相 ·入力データ座標計算部 2 3と画像 メモリ 6 0 1及び画歪補正パラメ一夕デコーダ 3 3に接続される。 また. 補間係数生成部 2 5は画歪補正パラメータデコーダ 3 3に接続され、 デ 一夕補間計算部 2 6はデ一夕取得部 2 4及び補間係数生成部 2 5に接続 される。
なお、 画像メモリ 6 0 1はデータ書き込み部 2 1及びデータ取得部 2 4に接続され、 画像メモリ 6 0 2はデータ補間計算部 2 6及びデ一夕取 得部 2 9に接続される。 また、 画歪補正パラメータデコーダ 3 3は補間 位相 ·入力データ座標計算部 2 3及びデータ取得部 2 4に接続される。 一方、 演算制御部 2 7は同期信号生成部 8 0 0に接続され、 補間位 相 ·入力データ座標計算部 2 8は演算制御部 2 7及び制御マイコン 8に 接続される。 また、 データ取得部 2 9は補間位相 ·入力データ座標計算 部 2 8と画像メモリ 6 0 2及び画歪補正パラメ一夕デコーダ 3 4に接続 され、 補間係数生成部 3 0は画歪補正パラメ一夕デコーダ 3 4に接続さ れる。 また、 データ補間計算部 3 1はデータ取得部 2 9及び補間係数生 成部 3 0に接続され、 出力データバッファ 3 2はデータ補間計算部 3 1 及び同期信号生成部 8 0 0に接続される。
なお、 出力データバッファ 3 2の出力ノードは表示系処理部 1 3 0 0 及び記録部 1 1 0 0に接続される。 また、 画歪補正パラメ一タデコーダ 3 4は補間位相 ·入力データ座標計算部 2 8に接続される。 上記のような構成を有する信号処理部 1 0では、 まず水平 1次元補間 部 5ひ 1が水平方向 (X方向) の 1次元補間演算を実行し、 続いて垂直 1次元補間部 5 0 2が垂直方向 (y方向) の 1次元補間演算を実行する c ここで、 信号処理部 1 0による該演算の概要を、 第 3 A図乃至第 3 B図 を参照しつつ説明する。 なお、 第 3 A図乃至第 3 B図においては、 X及 び y方向にそれぞれ 4つ並んだ (4 X 4) 合計 1 6個からなる画像デー 夕を用いて出力画像の各点の画像データが決定される場合が例示される c そして、 第 3 A図は X方向の補正により、 歪みを伴う原画像を構成す る点 B 1〜B 4に対応してそれぞれ点 B 1 0〜: B 4 0の画像データが算 出されたことを示し、 第 3 B図はさらに y方向の補正により、 点 B 1 0 〜B 4 0に対応して点 b 1〜b 4の画像デ一夕が算出されたことを示す t より具体的には、 例えば水平方向に連続した点 B 1を跨ぐ 4つの格子 点の画像デ一夕に所定の補間演算を施すことにより点 B 1 0の画像デ一 夕が算出され、 同様に点 B 2〜B 4に対応してそれぞれ点 B 2 0〜B 4 0の画像データが算出される。
次に、 第 3 B図に示されるように、 例えば点 B 3 0に対しては、 垂直 方向に連続した点 B 3 0を跨ぐ破線内の 4つの格子点 (点 K 2 0〜K 2 3 ) における画像データに所定の補間演算を施すことにより点 b 3の画 像データが算出される。 また同様に、 点 B I O , B 2 0 , B 4 0に対応 してそれぞれ点 b l , b 2 , b 4の画像データが算出される。
ここで、 上記のような水平方向における 1次元補間演算は、 データ補 間計算部 2 6に含まれる第 4図に示された水平処理回路 4 0により実現 される。 第 4図に示されるように水平処理回路 4 0は、 ラインメモリ 9 0 0と、 ラインメモリ 9 0 0の出力ノードに直列接続された 4つのレジ スタ 9 0 1と、 各レジスタ 9 0 1から出力されたデータと対応する補間 係数 CHk (k = 0〜 3 ) とを乗算する 4つの乗算回路 9 0 2と、 4つ の乗算回路 9 0 2により得られたデータを加算する加算回路 9 0 3とを 含む。
なお、 上記のような垂直方向における 1次元補間演算は後述する第 2 5図に示された回路により実現されるが、 これについては後に詳しく説 明する。
次に、 第 2図に示された信号処理部 1 0の動作の概要を説明する。 ま ずデータ変換部 4 0 0から水平 1次元補間部 5 0 1へ入力された画像デ 一夕は、 デ一夕書き込み部 2 1によって書き込み制御信号と共に画像メ モリ 6 0 1へ供給され、 該書き込み制御信号に応じて画像メモリ 6 0 1 に書き込まれる。
このとき、 データ取得部 2 4は読み出し制御信号を水平処理用の画像 メモリ 6 0 1へ供給することにより、 画歪補正パラメータデコーダ 3 3 から供給される X方向用の補正量パラメータ X mに応じて、 画像メモリ 6 0 1から水平方向に並ぶ画像データを補間用データとして取得する。 そして、 データ補間計算部 2 6が補間係数生成部 2 5から供給された 補間係数を用いて水平方向の 1次元補間演算を実行し、 垂直処理用の画 像メモリ 6 0 2が該演算結果を格納する。
次に、 垂直 1次元補間部 5 0 2では、 データ取得部 2 9が画歪補正パ ラメ一夕デコーダ 3 4から供給される y方向用の補正量パラメ一夕 Y m に応じて、 垂直処理用の画像メモリ 6 0 2から垂直方向に並ぶ画像デー タを補間用データとして取得する。 そして、 データ補間計算部 3 1が補 間係数生成部 3 0から供給された補間係数を用いて垂直方向の 1次元補 間演算を実行し、 出力データバッファ 3 2は出力同期信号に応じて該演 算結果を出力する。
なお、 上記のように、 水平 1次元補間部 5 0 1及び垂直 1次元補間部 5 0 2により実行される補間演算は 1次元補間演算とされるため、 キュ 一ビック補間のような 4タップのフィルタ、 又はより高次夕ップ数のフ ィル夕を用いることができる。
すなわち、 1次元補間演算は上記のように簡易な回路により実現され るため、 2次元補間演算では難しい高次タップのフィルタによる演算が 容易に実現できることから、 より高画質な画像を得ることができる。 な お、 一般的な画素数変換回路などは 1次元補間を実行する回路とされて いるため、 既存の該回路を上記演算に共用しても良い。
また、 上記においては、 水平方向の 1次元補間演算を実行した後に垂 直方向の 1次元補間演算を実行する実施の形態を説明したが、 逆に垂直 方向の 1次元補間演算を先に実行し、 その後に水平方向の 1次元補間 演算を実行するようにしても良い。 なお、 この場合にはデータ変換部 4 0 0から出力される画像データは垂直 1次元補間部 5 0 2へ入力され、 垂直 1次元補間演算が施された後に一旦水平処理用の画像メモリ 6 0 1 へ格納される。 そして、 。このように画像メモリ 6 0 1に格納された画像 データは、 さらに水平 1次元補間部 5 0 1により水平 1次元補間演算 が施され、 完全に歪みが補正されて信号処理部 1 0の外部へ出力される t また、 上記における演算処理は 1系統のデータに適用するのみならず, 色信号 (R G B , Y U V ) に対して系統毎に適用しても良い。 さらに、 動画像に対して該補間演算を施す塲合には、 垂直同期信号に同期して該 演算を実行すれば良い。
ところで、 ビデオカメラやデジタルスチルカメラなどの撮像装置では, いわゆる光学ズーム機能や手ぶれ補正機能が搭載されることが多い。 こ こで、 上記機能により光学ズームを行うと、 テレ (ズームアップ) かヮ イド (ズームダウン) かに応じてレンズの歪み特性が変動する。 すなわ ち、 一般的に、 ワイドの向きにレンズ 2 0 0が移動すると画像に樽歪み が生じ、 テレの向きにレンズ 2 0 0が移動すると画像に糸巻き型の歪み が発生する。
このとき、 該光学ズームに応じた適切な補正べクトルにより該画像が 補正されないときは画質が劣化するため、 補正パラメ一夕デコーダ 9は レンズの位置に応じた最適な補正量パラメ一夕を選択するものとされる, 具体的には、 補正パラメ一タデコーダ 9は制御マイコン 8からレンズ 2 0 0の位置を示す情報を受け取り、 補正パラメ一夕エンコーダ 5から 供給された圧縮データ P cを該位置情報に応じて選択的にデコ一ドする このように、 第 1図に示された画像処理装置 2によれば、 レンズ 2 0 0の特性が変動するような場合においても、 該特性に応じてデコードさ れた補正量パラメ一夕のみが補間演算に使用されるため、 該演算に使用 されるデータ量を最小限に抑えることができ、 その結果として製造コス トを低減することができる。
次に、 上記手ぶれ補正機能について説明する。 一般的に、 手ぶれによ る画像の歪みを補正する方法には、 アクティブプリズム方式ゃァクティ ブレンズ方式のようにレンズ等の位置を制御して該画像を光学的に補正 する方法と、 ァクティブイメージエリァ方式のように得られた画像信号 に所定の処理を施すことにより電気的に補正する方法とがある。
ここで、 光学的な補正方法はレンズ 2 0 0の位置に応じてレンズ特性 が変動することから、 本発明の実施の形態に係る画像処理装置 2で実現 するのは難しい。
一方、 上記の電気的な補正方法は、 角速度センサ等により検知された 手ぶれ位置の情報に基づいて、 画像全体から一部 (有効エリァ) の画像 を切り出す信号処理により実現される。 このとき、 該有効エリアの位置 等に応じて画像処理の対象が変化するため、 該対象に応じて補間演算を 施す際に使用する補正べクトルを変更する必要がある。 そこで、 補正パラメータデコーダ 9はさらに、 制御マイコン 8から手 ぶれ位置の情報を受け取り、 補正パラメ一夕エンコーダ 5から供給され た圧縮データ P cを該位置情報に応じて選択的にデコ一ドすることによ つて、 手ぶれ補正を実現する。
なお、 本実施の形態に係る画像処理装置 2では、 レンズ 2 0 0を交換 したような場合にも同様に、 補正パラメータデコーダ 9が該新たなレン ズ 2 0 0等に応じて選択的に該圧縮データ P cをデコードすることとす れば、 部品交換後においても容易に高画質の画像を得ることができる。 次に、 第 5図及び第 6図のフローチャートを参照しつつ、 第 2図に示 された水平 1次元補間部 5 0 1の動作を詳しく説明する。 まず、 演算制 御部 2 2は、 同期信号生成部 8 0 0から供給される内部同期信号に応じ て制御タイミング信号を生成する。 そして、 補間位相 ·入力データ座標 計算部 2 3は、 演算制御部 2 2から供給された制御タイミング信号に応 じて動作し、 信号処理部 1 0に入力された画像に歪みがない場合におけ る座標系での補間点の座標を小数点付きで計算する。
具体的には、 ステップ S 1において補間位相 ·入力データ座標計算部 2 3は、 第 7 A図に示されるように歪み補正され等倍変換された画像上 の座標 (X , y ) として、 切り出した画像 C Iの左上の座標 (S X , S y ) を初期設定し、 画歪補正パラメ一夕デコーダ 3 3へ補正パラメータ 要求信号 R xを供給する。 一方、 ステップ S 2において、 画歪補正パラ メータデコーダ 3 3は供給された補正パラメ一夕要求信号 R X及び該座 標 (S x, S y ) に対応する補正量パラメータ X mを求め、 データ取得 部 2 4及び補間係数生成部 2 5へ供給する。
ここで画歪補正パラメ一夕デコーダ 3 3は、 例えば R O M (Re ad On l y Memo ry) を内蔵し、 該 R O Mに x座標と補正量パラメータ X m との間の対照テーブルを予め格納しておくようにしても良いし、 補正量 パラメータ X mを x座標のある関数として近似し、 該関数を用いて補正 量パラメ一夕 X mを求めても良いが、 後に詳しく説明する。
次に、 ステップ S 3において、 デ一夕取得部 2 4は補間位相 ·入力デ —夕座標計算部 2 3から供給された座標 (X, Y ) に、 画歪捕正パラメ —夕デコーダ 3 3から供給された補正量パラメ一夕 X mに応じた補正量 ベクトル (X m, 0 ) を加える。 これより、 第 7 B図に示されるように 補正前の原画像〇 Iにおいて上記座標 (X, Y ) に対応する点の座標 ( X + X m, Y ) 、 すなわち補正ベクトルが求められたことになる。 なお、 データ取得部 2 4の替わりに、 画歪補正パラメ一夕デコーダ 3 3が補間位相 ·入力データ座標計算部 2 3から供給された X座標に応じ て上記補正べクトルを求め、 該補正べクトルをデータ取得部 2 4へ供給 するようにしても良い。
このとき、 データ取得部 2 4は X座標の整数値が X mを加えることで 変化したか否かを判断し、 変化したと判断した場合にはステップ S 5へ 進み、 変化していないと判断した場合にはステップ S 6へ進む。
ステップ S 5では、 データ取得部 2 4が、 さらに該整数値は 2以上変 化したか否かを判断し、 2以上変化したと判断した場合にはステップ S 8へ進み、 1のみ変化したと判断した場合にはステップ S 7へ進む。 ― 方、 ステップ S 6では、 画像メモリ 6 0 1がデータ取得部 2 4から供給 されたホ一ルド信号 S hに応じて、 前サイクルに出力したものと同じ補 間用データを再度データ取得部 2 4へ供給する。
上記において、 データ取得部 2 4は生成された補正べクトルの X成分 ( X + X m) の整数値に応じて画像メモリ 6 0 1から読み出すべきデ一 夕のァドレスを生成し、 読み出し制御信号を画像メモリ 6 0 1に供給す ることによって該ァドレスに応じた補間用データを取得する。 ここで、 画像メモリ 6 0 1は先頭アドレスからアドレスを 1づっイン クリメントしつつ該ァドレスに応じた補間用データを順次出力すると共 に、 データ取得部 2 4からホールド信号 S hが供給されることによって. 上記ィンクリメントを一時的に停止する。
なお、 画像メモリ 6 0 1はデ一夕取得部 2 4から読み出し開始アドレ スを受け取り、 該読み出し開始ァドレスを上記先頭ァドレスとした所定 数の連続デ一タを出力するものであっても良い。
ここで、 上記ホールド信号 S h及び読み出し開始アドレスは、 画歪補 正パラメ一夕デコーダ 3 3から出力される補正量パラメ一タ X mの整数 成分から求められる。
一方、 補間係数生成部 2 5は、 画歪補正パラメ一夕デコーダ 3 3から 供給される補正量パラメータ X mの小数成分を水平補間フィル夕の位相 として扱い、 該小数成分に応じて補間係数を生成する。 なお、 このよう な動作は、 信号処理部 1 0に入力される画像 1 0 2が R G Bフォーマツ トの場合に適用される。 一方、 Y U Vフォーマットの場合には輝度信号 Yのフィルタ位相は R G Bフォーマツトのフィルタ位相と同じように扱 うことができ、 色差信号 C b Z C rについては、 補正量パラメータ X m の小数成分だけでなく整数成分も併用して該位相を算出することができ る。
そして、 ステップ S 7においてデータ補間計算部 2 6は、 データ取得 部 2 4から供給された補間用データと上記補間係数とに応じて 1次元補 間演算を実行し、 ステップ S 9へ進む。
ここで、 上記の 1次元補間演算では、 例えば Y U Vフォーマットにお いては、 第 7 C図に示されるように補正ベクトル (X + X m, Y ) の近 傍から水平方向において 8画素の輝度データ D tが補間用デ一夕として 利用され、 上記小数成分を位相とした 8タップの補間演算が実行される, なお、 該補間演算により得られた結果は出力画像の輝度データ等として 利用され、 これより水平方向の歪みが補正される。
一方、 ステップ S 8ではデータ取得部 2 4が補間位相 ·入力データ座 標計算部 2 3と画歪補正パラメータデコーダ 3 3及びデ一夕補間計算部 2 6ヘスキップ信号 s kを供給し、 これら補間位相 ·入力デ一タ座標計 算部 2 3と画歪補正パラメータデコーダ 3 3及びデータ補間計算部 2 6 の動作を停止させる。
ここで、 ステップ S 5において X座標が 2以上変化したと判断される 場合は、 実際に補間演算する中心座標が 2画素以上移動する場合を意味 するため、 データ補間計算部 2 6による画像メモリ 6 0 2へのデータ出 力が中断される。 また、 実際に補間演算する中心座標が 2画素以上移動 する場合は、 画歪補正パラメ一夕デコーダ 3 3から出力される補正量パ ラメ一夕 X mの小数成分 (補間位相) は次サイクルまで保持されること から、 画歪補正パラメータデコーダ 3 3の動作が停止される。
そして、 ステップ S 1 3では、 補間位相 ·入力データ座標計算部 2 3 が X座標に水平方向の拡大縮小パラメ一夕 H aを加算し、 ステップ S 2 へ進む。 なお、 この拡大縮小パラメ一夕 H aは、 補正後の画像に対する 歪みを持った原画像の水平方向における長さの比により決定され、 補正 後に画像を水平方向に拡大する場合には 1より小さな値とされ、 逆に縮 小する場合は 1より大きな値とされ、 等倍の場合には 1とされる。
ステップ S 9ではデ一夕補間計算部 2 6が、 得られた画像データを垂 直処理用ラインバッファからなる画像メモリ 6 0 2へ格納する。 そして, ステップ S 1 0では補間位相 ·入力データ座標計算部 2 3が現時点の X 座標を基に 1ライン分、 すなわち出力水平画素数 H S分の画像データが 画像メモリ 6 0 2へ出力されたか否かを判断し、 1ライン分のデータが 出力されたと判断した場合にはステップ S 1 1へ進み、 1ライン分のデ 一夕が出力されていないと判断した場合にはステップ S 1 3へ進む。 ステップ S 1 1では補間位相 ·入力データ座標計算部 2 3が X座標を S Xとすると共に、 y座標に 1を加える。 そして、 ステップ S 1 2では 補間位相 ·入力データ座標計算部 2 3がさらに y座標を基に 1フレーム 分、 すなわち出力垂直ライン数分の画像データが画像メモリ 6 0 2へ出 力されたか否かを判断し、 1フレーム分のデータが出力されたと判断し た場合には動作を終了し、 1フレーム分のデータが出力されていないと 判断した場合にはステップ S 1 3へ進む。
以上より、 水平 1次元補間部 5 0 1は、 歪みを持った原画像に対して 水平方向の 1次元補間演算を施すことにより、 水平画歪み補正処理と水 平方向の拡大 ·縮小処理を同時に実現し、 得られた画像を垂直処理用の 画像メモリ 6 0 2に保存する。
なお、 上記水平 1次元補間による等倍変換の具体例が第 8図に示され る。 ここで、 第 8図は輝度信号に関する変換を示し、 第 8図 (a) は信 号処理部 1 0に入力された補間用デ一夕 D 0〜D 9、 第 8図 (b) 及び 第 8図 ( f ) は補正量パラメ一夕 Xm、 第 8図 (c) 及び第 8図 (d) はそれぞれ補正後の画像を構成するデータのサンプリング位置及び番号 を示す。
また、 第 8図 (e) は補間位相 ·入力データ座標計算部 2 3から画歪 補正パラメータデコーダ 3 3へ供給される X座標 (x t ) を示し、 第 8 図 (g) はデータ取得部 24により生成される補正ベクトルの X座標
(補正パラメータ) 、 第 8図 (h) は補正前の画像における補間用デー 夕のアドレス、 第 8図 ( i ) は補間位相をそれぞれ示す。
例えば、 第 8図に示されるように、 補正後の画像において X座標が 2.0の点に位置するデ一夕の補正量パラメ一夕 Xmは 1.25 とされる。 その結果、 補正前の画像における該点の対応点の x座標は、 該 2.0に 補正量パラメ一夕 Xmを加算して 3.25 と求められる。 このとき、 該 X 座標 (3.25) の整数成分 (3) が補正前の画像における該デ一夕のァ ドレスを示し、 0.25が補間位相を示す。 従って、 補正後の画像におけ る X座標が 2.0の点の輝度信号は、 補正前の画像において 3近傍の X ァドレスを有する複数の連続デ一夕を対象とし、 水平補間フィルタの位 相を 0.25 とした 1次元補間演算により求められることになる。
第 9図は、 第 8図に示された等倍変換の動作夕イミングを示すタイミ ング図である。 ここで、 第 9図 (a) は演算制御部 2 2に供給される内 部同期信号を示し、 第 9図 (b) は演算制御部 2 2により生成される制 御タイミング信号、 第 9図 (c) はデータ取得部 24から画像メモリ 6 0 1に供給される読み出し制御信号、 第 9図 (d) は画像メモリ 6 0 1 からデータ取得部 24へ入力される補間用データ、 第 9図 (e) は補間 位相 ·入力データ座標計算部 2 3から画歪補正パラメータデコーダ 3 3 へ供給される X座標 (x t ) をそれぞれ示す。
また、 第 9図 ( f ) は画歪補正パラメ一夕デコーダ 3 3から出力され る補正量パラメ一夕 Xmを示し、 第 9図 (g) はデータ取得部 24によ り生成される補正パラメ一夕、 第 9図 (h) は補正前の画像における補 間用データのアドレス、 第 9図 ( i ) は補間位相、 第 9図 (j ) 及び第 9図 (k) はそれぞれデータ取得部 24により生成されるスキップ信号 s k及びホールド信号 S h、 第 9図 ( 1 ) は画像メモリ 6 0 1から読み 出される 2タップのデータ、 第 9図 (m) はデータ補間計算部 2 6から 画像メモリ 6 0 2へ出力されるデータ、 第 9図 (n) はデ一タ補間計算 部 2 6で内部生成される出カイネーブル信号をそれぞれ示す。 なお、 こ こでは説明を簡略化するために、 一つのデータを得るための補間演算に おいては、 第 9図 ( 1 ) に示される 2タップのデータが使用されるもの とする。
第 9図 (b) に示されるように、 時刻 T 1において制御タイミング信 号が内部同期信号に応じてハイレベルに活性化されると、 第 9図 (e ) に示されるように補間位相 ·入力データ座標計算部 2 3は 0.0から
1.0づっインクリメントされる X座標 (x t ) を順次画歪補正パラメ一 夕デコーダ 3 3へ供給する。
これより、 第 9図 ( f ) に示されるように画歪補正パラメータデコ一 ダ 3 3は対応する補正量パラメ一夕 Xmを求め、 その後にデータ取得部 2 4は第 9図 (g) に示される補正パラメータを算出する。 ここで、 第 9図 (h) に示されるように、 データ取得部 2 4は該補正パラメータの 整数成分から補正前の画像における補間用データの先頭ァドレスを 0と 特定する。 そして、 第 9図 (c ) 及び第 9図 (d) に示されるように、 デ一夕取得部 2 4は活性化された読み出し制御信号と共に、 上記のよう に特定されたァドレス 0を画像メモリ 6 0 1へ供給する。
これより、 第 9図 (d) に示されるように、 画像メモリ 6 0 1は該先 頭ァドレス 0に対応するデータ D 0から順次補間用データをデータ取得 部 2 4へ連続的に出力する。
また、 第 9図 (g) 及び第 9図 (j ) に示されるように、 時刻 T 2に おいてデータ取得部 2 4は補正パラメータの整数成分が 2以上増加した と判断すると、 ハイレベル (H) のスキップ信号 s kを生成して補間位 相 ·入力データ座標計算部 2 3とデータ補間計算部 2 6及び画歪補正パ ラメ一夕デコーダ 3 3へ供給する。 この結果、 第 9図 (e ) から第 9図 (g) に示されるように時刻 T 3から 1サイクルの間補正パラメ一夕の 生成動作が停止されると共に、 第 9図 (m) 及び第 9図 (n) に示され るように出力イネ一ブル信号がロウレベルに不活性化されることによつ て、 デ一夕補間計算部 2 6から画像メモリ 6 0 2へのデータ出力が停止 される。
また、 第 9図 (g) 及び第 9図 (k) に示されるように、 データ取得 部 2 4は時刻 T 4において生成された補正パラメ一夕 (8.75) の整数 成分が 1サイクル前の補正パラメータ (8.25) の整数成分と同じであ ると判断し、 時刻 T 4においてホールド信号 S hをハイレベルに活性化 させる。 これより、 第 9図 ( 1 ) に示されるように時刻 T 5において、 データ取得部 2 4は画像メモリ 6 0 1から前サイクルと同じ 2タップの 補間用データ D 8 , D 9を取得する。
なお、 第 1 0図は第 8図と同様に水平 1次元補間による拡大変換の具 体例を示し、 第 1 1図は第 9図と同様に該拡大変換の動作タイミングを 示す。 この拡大変換の例では、 第 1 0図 (e ) に示されるように、 デ一 夕番号が 2から 6近傍までのデータが水平方向の拡大縮小パラメ一夕 H aを 0.5 として水平方向に拡大される。 ここで、 第 1 0図 (b) はデ 一夕番号が 0から 9までの 1 0個のデータについての補正量パラメ一夕 Xmを示し、 第 1 0図 ( f ) は該拡大による補間点、 すなわち X座標が 2.0から 6.5までにおける 0.5間隔の 1 0個の点における補正量パラ メータ Xmを示す。
そして、 このような拡大変換においては、 第 1 1図 (g) に示される ように時刻 T 2 , T 3 , T 4, T 5 , T 6において補正パラメ一夕の整 数成分が変化しないため、 各時刻において 1サイクルの間ホールド信号 S hがハイレベルに活性化される。
次に、 第 1 2図及び第 1 3図のフロ一チャートを参照しつつ、 第 2図 に示された垂直 1次元補間部 5 0 2の動作を詳しく説明する。 まず、 演 算制御部 2 7は、 同期信号生成部 8 0 0から供給される内部同期信号に 応じて制御タイミング信号を生成する。 そして、 補間位相 ·入力データ 座標計算部 2 8は、 演算制御部 2 7から供給された制御タイミング信号 に応じて動作し、 信号処理部 1 0に入力された画像に歪みがない場合に おける座標系での補間点の座標を小数点付きで計算する。
具体的には、 ステップ S 1において補間位相 ·入力データ座標計算部 2 8は、 第 1 4 A図に示されるように歪み補正され等倍変換された画像 上の座標 (x, y) として、 切り出した画像 C Iの左上の座標 (S x, S y) を初期設定し、 画歪補正パラメータデコーダ 34へ補正パラメ一 夕要求信号 Ryを供給する。 一方、 ステップ S 2において、 画歪補正パ ラメ一タデコーダ 34は供給された補正パラメータ要求信号 Ryに応じ て該 y座標に対応する補正量パラメ一夕 Ymを求め、 データ取得部 2 9 及び補間係数生成部 3 0へ供給する。
ここで画歪補正パラメ一夕デコーダ 34は、 例えば ROM (Read Only Memory) を内蔵し、 該 R〇 Mに y座標と補正量パラメ一タ Ym との間の対照テーブルを予め格納しておくようにしても良いし、 補正量 パラメ一タ Ymを y座標のある関数として近似し、 該関数を用いて補正 量パラメータ Ymを求めても良いが、 後に詳しく説明する。
次に、 ステップ S 3において、 デ一夕取得部 2 9は補間位相 ·入カデ 一夕座標計算部 2 8から供給された座標 (X, Y) に、 画歪補正パラメ 一夕デコーダ 34から供給された補正量パラメータ Ymに応じた補正量 ベクトル (0, Ym) を加える。 これより、 第 1 4 B図に示されるよう に、 補正前の原画像 O Iにおいて上記座標 (X, Y) に対応する点の座 標 (X, Y + Ym) 、 すなわち補正ベクトルが求められる。 このとき、 データ取得部 2 9は生成された補正ベクトルの y成分 (Y + Ym) の整 数値に応じて画像メモリ 6 0 2から読み出すべきデ一夕のァドレスを生 成し、 メモリ制御信号と共に画像メモリ 6 0 2へ供給する。 なお、 データ取得部 2 9の替わりに、 画歪補正パラメータデコーダ 3 4が補間位相 ·入力デ一夕座標計算部 2 8から供給された y座標に応じ て上記補正べクトルを求め、 該補正べクトルをデータ取得部 2 9等へ供 給するようにしても良い。
そして、 ステップ S 4においては、 垂直処理用の画像メモリ 6 0 2が 供給された上記ァドレスに応じて、 座標 Xにおいて垂直方向に複数ライ ンに渡って並ぶ複数の補間用データを同時にデータ取得部 2 9へ出力す る。
ここで、 画像メモリ 6 0 2は、 データ取得部 2 9から読み出しを開始 する先頭アドレスを受け取り、 該アドレスを 1づっインクリメントする ことにより該ァドレスに応じた補間用デ一夕を順次出力するか、 あるい は、 アドレスをインクリメントすることなく、 受け取った該先頭アドレ スから所定数連続したデータを出力するものとされる。 ここで、 上記先 頭ァドレスは、 画歪補正パラメータデコーダ 3 4から出力される補正量 パラメ一夕 Y mの整数成分から求められる。
一方、 補間係数生成部 3 0は、 画歪補正パラメ一夕デコーダ 3 4から 供給される補正量パラメ一夕 Y mの小数成分を垂直補間フィル夕の位相 として扱い、 該小数成分に応じて補間係数を生成する。
そして、 ステップ S 5においてデータ補間計算部 3 1は、 データ取得 部 2 9から供給された補間用データと上記補間係数とに応じて 1次元補 間演算を実行する。 なお、 上記補間演算は、 信号処理部 1 0に入力され る画像 1 0 2が R G Bフォ一マツトの場合にのみ適用されるものでない, すなわち、 Y U Vフォーマットの場合、 輝度信号と色差信号の垂直方向 におけるデータ密度が同じ場合には輝度信号のフィルタ位相を色差信号 のフィル夕位相としても利用でき、 該デ一夕密度が異なる場合には補正 量パラメ一夕 Y mの小数成分だけでなく整数成分も併用することにより 色差信号のフィル夕位相が算出される。
また、 Y U Vフォーマットにおいては、 第 1 4 C図に示されるように 補正ベクトル (X, Y + Y m) の近傍から垂直方向において例えば 8画 素の輝度データ D t等が補間用データとして利用され、 上記小数成分を 位相とした 8タップの補間演算が実行される。 なお、 該補間演算により 得られた結果は出力画像の輝度データや色差データとして利用され、 こ れより垂直方向の歪みが補正される。
次に、 ステップ S 6において、 出力データバッファ 3 2は該補間演算 により得られた画像データを出力する。 ステップ S 7では、 補間位相 - 入力データ座標計算部 2 3が現時点の X座標を基に 1ライン分、 すなわ ち出力水平画素数 H S分の画像データが出力されたか否かを判断し、 1 ライン分のデータが出力されたと判断した場合にはステップ S 8へ進み- 1ライン分のデータが出力されていないと判断した場合にはステップ S 1 0へ進む。
ステップ S 8では、 補間位相 ·入力データ座標計算部 2 8が X座標を S xとすると共に、 y座標に垂直方向の拡大縮小パラメータ V aを加算 する。 一方、 ステップ S 1 0では X座標に水平方向の拡大縮小パラメ一 夕 H aを加算し、 ステップ S 2へ戻る。 なお、 上記拡大縮小パラメ一夕 V aは、 補正後の画像に対する歪みを持った原画像の垂直方向における 長さの比により決定され、 補正後に画像を垂直方向に拡大する場合には 1より小さな値とされ、 逆に縮小する場合は 1より大きな値とされ、 等 倍の場合には 1とされる。
ステップ S 9では補間位相 ·入力データ座標計算部 2 8がさらに y座 標を基に 1フレーム分、 すなわち垂直ライン数 (垂直画素数) 分の画像 データが出力デ一夕バッファ 3 2から出力されたか否かを判断し、 1フ レーム分のデータが出力されたと判断した場合には動作を終了し、 1フ レーム分のデータが出力されていないと判断した場合にはステップ S 1 0へ進む。
なお、 以上のような垂直方向における 1次元補間では、 水平方向に関 するデータの補間や画像の拡大 ·縮小を伴わないため、 第 1 4 A図に示 される水平方向のスキャンにおいては毎サイクル同様な動作が繰り返さ れる。 しかしながら、 補正量パラメータ Y mが大きいときには、 画像メ モリ 6 0 2における格納場所に応じて然るべき補間用データを読み出す 時間が大きくなる場合がある。 このような場合に、 データ取得部 2 9は 補間位相 ·入力データ座標計算部 2 8及び画歪補正パラメ一夕デコーダ 3 4へ活性化された待機信号 W Tを供給し、 待機信号 W Tの該活性期間 において補間位相 ·入力データ座標計算部 2 8及び画歪補正パラメ一夕 デコーダ 3 4の動作を中断させる。
以上より、 垂直 1次元補間部 5 0 2は、 歪みを持った原画像に対して 垂直方向の 1次元補間演算を施すことにより、 垂直画歪み補正処理と垂 直方向の拡大 ·縮小処理を同時に実現し、.完全に歪みの取れた画像を生 成して出力する。
なお、 上記垂直 1次元補間による等倍変換の具体例が第 1 5図に示さ れる。 ここで、 第 1 5図は輝度信号に闋する変換を示すグラフであり、 横軸は X座標、 縦軸は補正された y座標 (Y + Y m) を示す。
そして、 第 1 5図において、 y座標が 0で X座標が 0. 0から 1 0. 0の 1 1個の点は補正後の画像上における点を示し、 矢印は該各点に対応す る原画像上の点までの補正量パラメ一夕 Y mを示す。 すなわち例えば、 補正後の画像において座標 (1 . 0 , 0 ) の点は、 補正前の原画像におい て座標 (1 . 0, 7. 1 ) の点に対応し、 補正量パラメ一夕が 7. 1で補間位 相がその小数成分 0. 1 とされる。 次に、 第 1図に示された前処理装置 3及び補正パラメ一夕デコーダ 9 について詳しく説明する。 最初に、 第 1 6図に示されたフロ一チャート を参照しつつ、 前処理装置 3及び補正パラメ一夕デコーダ 9の動作の概 要を説明する。
第 1 6図に示されるように、 ステップ S 1では、 補正パラメ一タエン コーダ 5が補正パラメ一夕導出部 6から全画素点の補正量べクトルを読 み込む。 次に、 ステップ S 2に示されるように、 補正パラメ一夕ェンコ —ダ 5は該全画素点の補正量べクトルを区分毎に分割するための格子線 を決定する。 なお、 該格子線の決定については後に詳しく説明する。 ステップ S 3では、 - 補正パラメ一夕エンコーダ 5が該格子線により分 割された各区分の補正量べクトルを圧縮して圧縮デ一夕 P cとして補正 パラメータデコーダ 9へ供給すると共に、 ステップ S 4では撮像素子 3 0 0が画像を撮像する。 なお、 補正量ベクトルの該圧縮については後に 詳しく説明する。
そして、 ステップ S 5ではデータ変換部 4 0 0が該撮像により生成さ れたアナログ画像信号をデジタル画像信号に変換する。 ステップ S 6で は、 補正パラメータデコーダ 9は補正量パラメ一夕の信号処理部 1 0へ の読み出しに必要な格子を決定し、 ステップ S 7において信号処理部 1 0から供給された座標を該格子に応じて正規化する。
次にステップ S 8においては、 補正パラメータデコーダ 9が該格子を 利用して補正パラメータエンコーダ 5から供給された圧縮デ一タ P cを デコ一ドし、 得られた補正量パラメータを信号処理部 1 0へ供給する。 そして、 ステップ S 9においては、 信号処理部 1 0が該補正量パラメ一 タを用いて原画像に対する補間演算を施す。 ここで、 ステップ S 1 0に おいて制御マイコン 8が信号処理部 1 0への原画像の入力を終了させる か否かを判断し、 終了させると判断した場合には画像処理装置 2の動作 を終了させ、 該入力を終了させないと判断した場合にはステップ S 4へ 戻る。
第 1 7図は、 第 1図に示された補正パラメ一夕エンコーダ 5の構成を 示すブロック図である。 第 1 7図に示されるように、 補正パラメ一タエ ンコーダ 5は格子分割部 1 1とパラメ一タ圧縮部 1 2とを含む。 ここで. 格子分割部 1 1はユーザインタフェースに接続され、 パラメータ圧縮部 1 2は格子分割部 1 1と補正パラメ一夕導出部 6に接続される。 以下に おいて、 第 1 8 A図乃至第 1 8 B図から第 2 3図を参照しつつ、 補正パ ラメ一夕エンコーダ 5の動作を詳しく説明する。
まず、 格子分割部 1 1はデータ変換部 4 0 0により得られた画像 1 0 2を複数の領域に分割するための格子線を決定する。 そして、 パラメ一 夕圧縮部 1 2は、 このような格子線により分割された領域毎に格子点を 利用して画像の補正量べクトルを圧縮し、 得られた圧縮デ一夕 P cを補 正パラメ一夕デコーダ 9へ供給する。
このような方法によれば、 補正パラメータデコーダ 9により保持すベ き補正量べクトルの数を削減することができると共に、 全点の補正量べ クトルを保持する場合と同様に X及び y方向の補正べクトルを分けて演 算することができ、 高速な補間演算を実現することができる。
以下において、 第 1 7図に示された格子分割部 1 1による格子分割動 作を説明する。 なお、 実際にはデ一夕変換部 4 0 0により生成された画 像 1 0 2の歪みは中心 (原点) に対して点対称に発生するため、 第 1 8 A図に示されるように、 画像 1 0 2の 1 / 4の領域、 例えば第一象限 Q 1のみを格子分割の対象領域とすれば足りる。
すなわち、 上記歪みは中心からの距離によって決まるため、 第一象限 Q 1における画像処理は X座標又は y座標、 あるいはその双方の符号を 反転させることにより他の象限における画像処理にそのまま適用するこ とができる。
格子分割決定方法には、 所定の領域を X方向及び y方向において均等 に分割する方法 (均等分割) と、 各格子の幅が 2のべき乗となるように 分割する方法 (べき乗分割) と、 最適分割位置において分割する方法 (最適分割) とがある。
ここで、 格子分割部 1 1はユーザインタフェースから格子分割方法を 指定する信号 L wと格子分割数を指定する信号 L nとを受け取り、 第 1 8 B図に示されるように、 該指定された方法により格子 5 0を用いて画 像 1 0 2を指定された分割数に分割する。
このとき、 上記のような格子分割により得られた格子点における補正 量ベクトル、 すなわち各方向につき ( 1 /格子幅) 毎の補正量ベクトル のみが該補間演算に利用される。 なお、 上記べき乗分割では格子の幅が
2のべき乗とされることにより、 各格子点における補正量べクトルの演 算が容易となるため、 回路規模を軽減することができる。
以下において、 第 1 9図及び第 2 0図のフローチャートを参照しつつ 格子分割部 1 1により実行される上記最適分割方法を説明する。
ステップ S 1では、 まず画像処理における走査方向を X方向と決定す る。 次に、 ステップ S 2では第 1 8 A図に示される画面上端における 1 ライン L 1の補正量パラメ一夕を取得して、 該補正量パラメ一夕の X依 存性を調べる。 そして例えば、 基準点を x = 0としたときにおける該補 正量パラメ一夕 X m ( x ) の x依存性の一例が第 2 1 A図に示される。 ステップ S 3では、 該基準点 (原点) の 2画素右方にターゲット点を 設定し、 基準点と該ターゲット点との間 (一区分) における全点を 2次 多項式 (以下、 「区分 2次多項式」 ともいう) でフィッティングする。 このとき、 該区分において補正量パラメ一夕 X m ( x ) の値と該 2次 多項式により求められた補正量との差 (コストともいう) が所定値より 小さいという条件を満たす場合には、 夕一ゲット点をさらに右へ 1画素 ずらして該コスト計算を繰り返す。 このようにして、 上記条件を満足す る最大点を探索する (右方向探索) 。
ステップ S 4では基準点をターゲット点にずらし、 次区分における右 方向探索を実行する。 なお、 このような方法により、 例えば第 2 1 B図 に示された点 X I , X 2 , X 3が順次決定され、 Xの関数としての補正 量パラメ一夕 X m ( x ) が区分毎に 2次多項式で近似される。
ステップ S 5ではターゲット点が右端であるか否かを判断し、 右端で あると判断した場合にはステップ S 6へ進むと共に、 右端でないと判断 した場合にはステップ S 3へ戻る。
ステップ S 6では右端のデータを基準点として該基準点の 2画素左方 にターゲット点を設定し、 上記右方向探索と同様に左方向探索を実行す る。 そして、 該コスト計算によりある区分が決定された後は、 ステップ S 7において基準点を該タ一ゲット点にずらし、 次区分における左方向 探索を実行する。 なお、 このような方法により、 例えば第 2 1 C図に示 された点 X 5, X 4が順次決定され、 Xの関数としての補正量パラメ一 夕 X m ( X ) が区分毎に 2次多項式で近似される。
ステップ S 8ではターゲット点が左端であるか否かを判断し、 左端で あると判断した場合にはステップ S 9へ進むと共に、 左端でないと判断 した場合にはステップ S 6へ戻る。
次にステップ S 9においては、 第 2 1 D図に示されるように、 上記右 方向探索により求められた点と左方向探索により求められた点とを比較 し、 全体の該コストが最小となる分割位置 (最適点) を求める。 ここで 例えば、 第 2 1 D図に示されるように、 点 X 4と点 X 1とを比較するこ とにより点 X 6を決定し、 点 X 5と点 X 2とを比較することによって点 X 7を決定する。
ステップ S 1 0では、 分割位置の探索方向が X方向であるか否かを判 断し、 X方向であると判断した場合にはステップ S 1 1へ進むと共に、 X方向でなく y方向であると判断した場合には動作を終了する。
ステップ S 1 1では、 分割対象領域の右端における 1ラインの補正量 パラメータを取得して該補正量パラメ一夕の y依存性を調べ、 ステップ S 3へ戻る。 なお、 基準点を y == 0とし、 横軸を y座標、 縦軸を補正量 パラメ一夕 X m ( y ) とした関数は第 2 1 A図と同様に示され、 該関数 に対して X方向と同様に該探索動作が実行される。 格子分割部 1 1は、 このように X方向及び y方向においてそれぞれ分割位置を決定して格子 5 0を確定する。 なお、 この確定された格子位置は、 格子情報 L i とし てパラメ一夕圧縮部 1 2へ供給される。
第 1 7図に示されたパラメ一夕圧縮部 1 2は、 格子分割部 1 1から供 給された格子情報 L iに応じて、 各格子点における補正量べクトルのみ を保持する。 そしてパラメータ圧縮部 1 2は、 第 2 2 A図に示されるよ うに格子 5 0を構成する線分 L 2を処理対象として決定する。 ここで例 えば、 線分 L 2の両端の X座標を X 0及び X 2とし、 これら両端におけ る補正量パラメ一夕をそれぞれ X m 0及び X m 2としたとき、 線分 L 2 上の各点における X座標と補正量パラメ一夕との関係は例えば第 2 2 B 図のように示される。 このとき、 線分 L 2上の画素における X座標を X 1、 補正量パラメ一夕を X m lとして、 以下の式 (1 ) を満たす係数 C a , C b , C cを算出する。 (1)
Figure imgf000044_0001
なお、 第 2 2 B図及び第 2 2 C図に示されるように、 X Iは X 0から X 2まで順次 1だけインクリメントされ、 線分 2上の各点において補 正量パラメ一夕の大きさと該区分 2次多項式による近似値との差が順次 比較される。 そして、 該差が最小となる点の X座標及び補正量パラメ一 夕が、 それぞれ X 1及び X m lとして上記式 (1 ) に代入される。
ここでパラメータ圧縮部 1 2は、 格子 5 0をなす全線分について上記 係数 C a, C b , C cを算出して保持すると共に、 これらの係数 C a , C b, C cを圧縮データ P cとして補正パラメータデコーダ 9へ供給す る。
第 2 3図は、 第 2図に示された X方向用の画歪補正パラメータデコー ダ 3 3の構成を示すブロック図である。 第 2 3図に示されるように、 画 歪補正パラメ一タデコーダ 3 3は歪みパラメ一夕バッファ 6 1と格子決 定部 6 2、 正規化部 6 3、 関数変換部 6 4、 及び平面補間部 6 5を含む ; ここで、 歪みパラメ一夕バッファ 6 1は制御マイコン 8及び補正パラ メ一夕エンコーダ 5に接続され、 格子決定部 6 2と正規化部 6 3及び関 数変換部 6 4は共に歪みパラメータバッファ 6 1に接続される。 さらに、 格子決定部 6 2は信号処理部 1 0に接続され、 正規化部 6 3は格子決定 部 6 2に接続される。 また、 関数変換部 6 4は正規化部 6 3に接続され、 平面補間部 6 5は関数変換部 6 4に接続される。 なお、 信号処理部 1 0 は平面補間部 6 5に接続される。 上記のような構成を有する画歪補正パラメ一夕デコーダ 33は、 補正 パラメ一夕エンコーダ 5から供給された圧縮デ一夕 P cをデコードして 画面上の各点における X方向の補正量パラメータを復元するが、 該動作 を以下に詳しく説明する。
なお、 第 2図に示された y方向用の画歪補正パラメ一夕デコーダ 34 は、 X方向用の画歪補正パラメ一夕デコーダ 3 3と同様な構成を有し、 該画歪補正パラメータデコーダ 3 3と同様に動作する。
まず歪みパラメ一夕バッファ 6 1は、 補正パラメータエンコーダ 5よ り圧縮デ一夕 P cと、 該圧縮データ P cに対応する格子の位置を示す格 子位置情報 L pと、 該格子の幅の逆数からなる格子定数情報 L cとを入 力して格納すると共に、 制御マイコン 8からコマンド信号 C dを入力す る。
格子決定部 62は、 信号処理部 1 0から補正後の画像を求める点の X 座標 (x t) 及び y座標 (y t) を補正パラメータ要求信号 Rxと共に 受領し、 該点が含まれる格子枠を決定する。 ここで、 格子決定部 6 2は 供給された座標 (x t, y t) と歪みパラメ一夕バッファ 6 1から供給 される格子情報 L Iとを比較することにより該格子枠を決定する。
次に、 正規化部 6 3は格子決定部 62により決定された格子枠の範囲 で所定の補間演算を実行するため、 座標 (x t, y t) を以下の式
(2) により正規化する。 但し、 ここでは第 24 A図に示されるように. 座標 (x t, y t) を含む格子枠の四隅の座標が (X 0, Y 0) と (X 0, Y 2) 、 (X 2 , Y 0 ) 及び (X 2, Y 2) であると仮定する。
Figure imgf000046_0001
なお、 上記式 (2) における 1 / (X 2 -X 0 ) 及び 1/ (Y 2 - Y 0) の値は補正パラメータエンコーダ 5に含まれた格子分割部 1 1にお いて算出され、 正規化部 6 3は歪みパラメータバッファ 6 1から該値を 格子定数情報 L cとして受領する。 これより、 正規化部 6 3において上 記値を用いた乗算を実行することによって、 座標 (p x, p y) が算出 される。
関数変換部 64は、 第 24 B図に示されるように座標 (X t, y t ) を含む該格子枠において、 X又は yの関数としての補正量パラメータ f (x) と g (x) 、 m (y) 、 及び n (y) を求める。 また関数変換部 64は、 上記 4つの関数のそれぞれにおける係数 C a, C b, C cを、 係数情報 CLとして歪みパラメ一夕バッファ 6 1から受領する。
そして、 関数変換部 64は、 上記 4つの関数を用いて上記座標 (x t y t ) の補正量パラメータを求めるが、 X方向及び y方向における関数 の連続性を担保するため、 該 4つの関数 f , g, m, nを例えば下記の 式 (3) に示されるような重み付けを考慮した近似関数 F, G, M, N に変換する。 なお、 式 (3) における f a, f b, f cは、 関数 f にお いて上記係数 C a, C b, C cに対応する係数を示し、 同様に g a, g b , g cは関数 gの、 ma, m b , mcは関数 mの、 n a, n b , n c は関数 nの該係数をそれぞれ示す。
Figure imgf000047_0001
なお、 関数変換部 64は正規化部 6 3より供給された座標 (p x, p y) を、 そのまま平面補間部 6 5へ供給する。
そして、 平面補間部 6 5は、 関数変換部 64により得られた関数 F, G, M, Nと上記座標 (p x, p y) を示す情報とを用いて、 下記の式 (4) によって上記座標 (x t, y t) における補正量パラメ一夕 Xm を算出する。
1
m= — x{(1-py) x F(px)+py x G(px)+(1-px) x N(py)+px M(py)}
(4) 平面補間部 6 5は、 このような方法により算出された補正量パラメ一 夕 Xmを、 該パラメータの算出動作が終了したことを示すィネーブル信 号 ENと共に信号処理部 1 0へ供給する。 なお、 y方向用の画歪補正パ ラメ一夕デコーダ 34は、 上記と同様な方法により補正量パラメ一夕 Y mを算出し、 ィネーブル信号 ENと共に信号処理部 1 0へ供給する。 なお、 格子枠をなす上記関数 f , g, m, nは、 上記のように区分 2 次多項式によって近似する他、 一般的に n次多項式 (nは自然数) によ り近似しても良い。
第 2 5図は、 第 2図に示された画像メモリ 6 02とデータ取得部 2 9 及びデータ補間計算部 3 1の構成を示す図である。 なお、 第 2 5図は、 画像処理装置 2が (4 X 4 ) タップの 1 6画素の画像データを利用した 補間演算によって各画素の画像データを生成する場合の構成を示す。
第 2 5図に示されるように、 画像メモリ 6 0 2はセレクタ 6 7と、 垂 直タップ数より 1だけ大きな 5つのメモリ、 すなわち Aメモリ 7 1と B メモリ 7 2、 Cメモリ 7 3、 Dメモリ 7 4、 及び Eメモリ 7 5を含み、 デ一夕取得部 2 9は制御部 8 0と Aバッファ 8 1、 Bバッファ 8 2、 C バッファ 8 3、 Dバッファ 8 4、 Eバッファ 8 5、 サイクル分割部 5 6 2、 及びセレクタ 9 6〜 9 9を含む。 なお、 サイクル分割部 5 6 2はセ レクタ 9 1〜 9 5を含む。
ここで、 データ取得部 2 9には、 上記のように垂直タップ数より 1だ け多い 5つのバッファ ( Aバッファ 8 1から Eバッファ 8 5 ) 及び対応 する 5つのセレクタ 9 1〜 9 5と、 垂直タップ数である 4つのセレクタ 9 6〜 9 9が含まれることになる。
また、 デ一夕補間計算部 3 1は 4つのレジス夕 9 0 1及び乗算回路 9 0 2と加算回路 4 3を含む。
上記において、 セレクタ 6 7はデータ補間計算部 2 6及び制御部 8 0 に接続され、 Aメモリ 7 1と Bメモリ 7 2、 Cメモリ 7 3、 Dメモリ 7 4、 及び Eメモリ 7 5はセレクタ 6 7に接続される。
また、 制御部 8 0は画歪補正パラメータデコーダ 3 4に接続され、 A ノ、ッファ 8 1は Aメモリ 7 1に接続され、 Bバッファ 8 2は Bメモリ 7 2に接続される。 同様に、 Cバッファ 8 3は Cメモリ 7 3に接続され、 Dバッファ 8 4は Dメモリ 7 4に接続され、 Eバッファ 8 5は Eメモリ 7 5に接続される。
また、 セレクタ 9 1は Aバッファ 8 1に接続され、 セレクタ 9 2は B ノ ッファ 8 2に接続され、 セレクタ 9 3は Cバッファ 8 3に接続される, 同様に、 セレクタ 9 4は Dバッファ 8 4に接続され、 セレクタ 9 5は E バッファ 8 5に接続される。 また、 セレクタ 9 6〜 9 9はそれぞれ 5つ のセレクタ 9 1〜 9 5に接続される。 なお、 セレクタ 9 1〜9 9はそれ ぞれ制御部 8 0により制御される。
また、 セレクタ 9 6〜 9 9にはそれぞれレジス夕 9 0 1が接続され、 各レジス夕 9 0 1には乗算回路 9 0 2が接続される。 そして、 4つの乗 算回路 9 0 2は一つの加算回路 4 3が接続される。
ここで、 上記のように、 デ一夕補間計算部 2 6により水平方向の補間 処理がなされたデータは画像メモリ 6 0 2へ書き込まれ、 同時にデータ 取得部 2 9により画像メモリ 6 0 2から取得されたデータに垂直方向の 補間処理が施されるため、 処理待ち時間としてのフレーム遅延を生じさ せることなく画歪み補正が実行される。
以下において、 第 2 5図に示された画像メモリ 6 0 2とデータ取得部
2 9及びデータ補間計算部 3 1の動作を詳しく説明する。 まず、 水平方 向の補間処理がなされたデータはデ一夕補間計算部 2 6から順次セレク タ 6 7へ供給されるが、 該デ一夕は制御部 8 0により制御されるセレク 夕 6 7によって Aメモリ 7 1から Eメモリ Ί 5までの 5つのメモリへ振 り分けられて格納される。
そして、 Aメモリ 7 1に格納されたデータは Aバッファ 8 1を介して セレクタ 9 1へ供給され、 Bメモリ 7 2に格納されたデータは Bバッフ ァ 8 2を介してセレクタ 9 2へ供給される。 同様に、 Cメモリ 7 3に格 鈉されたデータは Cバッファ 8 3を介してセレクタ 9 3へ供給され、 D メモリ 7 4に格納されたデータは Dバッファ 8 4を介してセレクタ 9 4 へ供給され、 Eメモリ 7 5に格納されたデータは Eバッファ 8 5を介し てセレクタ 9 5へ供給される。
ここで、 サイクル分割部 5 6 2に含まれた各セレクタ 9 1〜 9 5は、 制御部 8 0による制御に応じて、 Aバッファ 8 1から Eバッファ 8 5へ 例えば 2画素単位で読み出されたデータを分割し、 1サイクル毎に 1画 素分のデ一夕をセレクタ 9 6〜 9 9へ供給する。
そして、 各セレクタ 9 6〜 9 9はセレクタ 9 1〜 9 5から供給された データを制御部 8 0による制御により選択的にレジスタ 9 0 1へ出力す る。 これより、 垂直方向の補間処理に必要なタップ数である 4つのデ一 夕が、 選択的にデータ補間計算部 3 1へ供給されることになる。
さらに、 レジスタ 9 0 1に格納された各データは、 各乗算回路 9 0 2 において補間係数 C 0〜C 3との間で積がとられ、 該 4つの積が加算回 路 4 3で加算されることにより垂直方向の補間演算が施され、 出力デ一 夕バッファ 3 2へ供給される。
ここで、 第 2 6図を参照しつつ、 本発明の実施の形態に係る画像処理 装置 2の動作を説明する。 なお、 第 2 6図 (a ) 〜 (d ) においては、 1フレーム分の画像データが示される。
まず第 2 6図 (a ) に示されるように、 時刻 T 1から信号処理部 1 0 へ画像データが入力されると、 時刻 T 2から水平 1次元補間部 5 0 1に より水平方向の補間処理が施される。 そして、 第 2 6図 (c ) に示され るように、 水平方向の補間処理が施された画像は時刻 T 2以降において- 画像メモリ 6 0 2に含まれた Aメモリ 7 1から Eメモリ 7 5へ順次書き 込まれる。 ここで、 例えば奇数サイクルにおいて画像メモリ 6 0 2から データ取得部 2 9へ垂直処理用のデータが読み出され、 偶数サイクルに おいてデ一夕補間計算部 2 6から水平処理がなされたデータが画像メモ リ 6 0 2へ書き込まれることによって、 2サイクル周期による歪み補正 処理が実行される。
このとき、 第 2 7図に示されるように、 画像 1 0 2における水平ライ ンの最大歪み曲線 1 0 4における垂直方向の最大歪み量に応じたライン 数分のデ一夕 D m Xが画像メモリ 6 0 2に格納された時刻 T 3から、 各 ラインの垂直方向における補間演算が順次実行される。 従って、 該補間 演算における遅延時間は時刻 T 1から時刻 T 3までとされ、 1フレーム 分のデータに水平方向の補間処理が施される時間 (フレーム遅延) を待 ち時間とする必要がないため、 リアルタイムに画歪み補正を実行するこ とができる。
また、 全体として画像メモリ 6 0 2は、 垂直方向においては上記最大 歪み量に対応したライン数と垂直処理用タップ数 (例えば 4タップ) を 加算した数、 水平方向においては信号処理部 1 0へ入力された画像の水 平方向画素数分のデータを記憶するメモリ容量を有する。 なお、 第 2 5 図に示された Aメモリ Ί 1から Eメモリ 7 5までの 5つのメモリは例え ば同容量とされ、 各メモリのポート幅は例えば 3 2ビットとされる。 ここで、 画像 1 0 2の領域 1 0 2 Pにおけるデ一夕を画像メモリ 6 0 2へ格納する方法が第 2 8図に示される。 なお、 第 2 8図において 「A」 から 「E」 は、 それぞれ第 2 5図に示された 「Aメモリ」 7 1か ら 「Eメモリ」 7 5を意味する。 また、 上記のように各メモリのポ一ト 幅が 3 2ビットで、 1画素分のデ一夕が Y信号 (輝度情報) と C信号
(色差情報) を含む 1 6ビットからなる場合には、 セレクタ 6 7は 2画 素分のデータを単位として該デ一夕を Aメモリ 7 1から Eメモリ 7 5へ 順次格納する。
すなわちセレクタ 6 7は、 第 2 8図に示されるように、 まず 0ライン 目の 0から 2 3画素目までのデ一夕を Aメモリ 7 1に格納し、 次に 1ラ イン目の 0から 2 3画素目までのデータを Bメモリ 7 2に格納する。 ま た同様に、 セレクタ 6 7は 2ライン目の 0から 2 3画素目までのデータ を Cメモリ 7 3に格納し、 3ライン目の 0から 2 3画素目までのデータ を Dメモリ 7 4に格納し、 4ライン目の 0から 2 3画素目までのデータ を Eメモリ 7 5に格納する。 なお、 セレクタ 6 7は、 以下同様に各ライ ンのデ一夕をライン毎に順次 Aメモリ 7 1から Eメモリ 7 5へ格納する 以下において、 データ取得部 2 9に垂直タップ数より 1多い数のパッ ファが必要とされる理由を説明する。 歪みを持った画像 1 0 2を局所的 に見た場合、 第 2 9 A図〜第 2 9 C図のパターン 1から 3に示されるよ うに、 水平方向に隣接する 2画素間においては画像データが垂直方向に 2画素以上移動していることはない。
すなわち、 第 2 9 A図のパターン 1に示されるように水平方向に隣接 する画素間で該画像データは垂直方向に全く移動しないか、 第 2 9 B図 や第 2 9 C図のパターン 2やパターン 3に示されるように垂直方向に 1 画素分移動するものの、 第 3 0 A図や第 3 0 B図に示されるように、 水 平方向に隣接する画素間で該画像データが垂直方向に 2画素分以上移動 することはない。
ここで、 該垂直 4タップ処理においては、 第 3 1図に示されるように 中心画素 I cに対して垂直方向に隣接する 3つの周辺画素 I pを含めた 4画素のデータを用いてフィルタリング処理が実行される。
このとき、 第 3 2図に示されるように、 画像メモリ 6 0 2に含まれた Aメモリ 7 1から Eメモリ 7 5の 5つのメモリは、 例えばそれぞれ 3 2 ビットのポートを持つものとされ、 この場合には 1回のアクセスにより 該各ポートを介して 1 6ビットの画像データが 2画素分出力される。 すなわち、 第 3 2図に示されるように、 1回のアクセスによって Aメ モリ 7 1からは各々 1 6ビットからなる画像デ一夕 I a 0, I a 1が 2 画素単位で読み出され、 Bメモリ 7 2からは各々 1 6ビットからなる画 像データ I b 0, I b 1が 2画素単位で読み出され、 Cメモリ 7 3から は各々 1 6ビットからなる画像データ I c 0 , I c lが 2画素単位で読 み出される。 また同様に、 Dメモリ 7 4からは各々 1 6ビットからなる 画像データ I d 0, I d 1が 2画素単位で読み出され、 Eメモリ 7 5か らは各々 1 6ビットからなる画像デ一夕 I e 0, I e 1が 2画素単位で 読み出される。
このように、 隣接する 2画素分の画像データを垂直方向にタップ数よ り 1だけ多く読み出すことによって、 隣接画素間の変化が第 2 9 A図か ら第 2 9 C図に示されるパターン 1からパ夕一ン 3までのいずれであつ ても、 各列において同じ処理が実行される。 すなわち例えば第 3 2図の 斜線部に示されるように、 各列において中心画素 I cの 1つ上の画素か ら 2つ下の画素まで垂直方向に並ぶ 4つの画素における画像デ一夕を対 象としたフィルタリング処理を実行することにより、 水平方向に隣接す る 2画素の画像データがそれぞれ生成される。
なお、 隣接画素間の該変化が第 2 9 A図から第 2 9 C図に示されたパ ターン 1からパターン 3のどれにあたるかは、 制御部 8 0により該フィ ルタリング処理前に予め識別される。
より具体的には、 制御部 8 0が画歪補正パラメ一夕デコーダ 3 4から 水平方向に隣接する 2列における 2つの中心画素 I cの y座標を受け、 該 y座標の差に応じてセレクタ 9 6〜9 9を制御することにより、 第 3 2図の斜線部に示された画像データがフィルタリング処理の対象として 選択的にデータ補間計算部 3 1へ供給される。
なお、 上記においては例として 4タップのフィルタリング処理を説明 したが、 本発明の実施の形態に係る画像処理方法は、 画像メモリ 6 0 2 とデ一夕取得部 2 9及びデータ補間計算部 3 1をタップ数に応じた構成 とし、 画像メモリ 6 0 2に対するデータの入出力サイクルを変更するこ とによって 4タツプ以外のフィル夕リング処理にも適用することができ ることはいうまでもない。 以上より、 本発明の実施の形態に係る画像処理システムによれば、 撮 像された光学歪みを伴う画像に対して水平及び垂直方向に 1次元補間演 算が施され、 補正ベクトルが効率的に利用されるため、 静止画像だけで なくリアルタイム処理が必要な動画像に対する歪み補正が簡易な構成に より実現され、 歪みの無い高画質な画像を容易に得ることができる。 また、 本発明の実施の形態に係る画像処理システムによれば、 信号処 理によりリアルタイムに画像の歪みを補正することができるため、 レン ズ設計の自由度を高めることができ、 レンズの小型化やレンズの低コス ト化を容易に実現することができる。
本発明に係る画像処理装置と画像処理システム及び画像処理方法によ れば、 低コストでリアルタイムに原画像の歪みを補正することができる ため、 高品質な画像を容易に得ることができる。

Claims

請求の範囲
1 . 歪みを持った原画像を供給された補正べクトルに応じて補正する 画像補正手段を含む画像処理装置であって、
外部から供給されるエンコードされた前記補正べクトルをデコードし デコードされた前記補正べクトルを前記画像補正手段へ供給するデコ一 ド手段を備えたことを特徴とする画像処理装置。
2 . ュ一ザィンタフェースへの入力に応じたコマンドを前記デコード 手段へ発行することにより、 前記補正べクトルを選択的にデコードさせ るデコード制御手段をさらに備えた請求の範囲第 1項に記載の画像処理
3 . 歪みを持った原画像を補正する画像処理装置であって、
前記原画像を構成する画素点における水平方向の補正量を示す水平補 正パラメ一夕を用いて前記原画像に対し 1次元補間演算を施すことによ り、 前記原画像の水平方向における歪みを補正する水平補正手段と、 前記水平補正手段による補正により得られた画像に対し、 前記原画像 を構成する画素点における垂直方向の補正量を示す垂直補正パラメータ を用いた 1次元補間演算を施すことにより、 前記原画像の垂直方向にお ける歪みを補正する垂直補正手段とを備えたことを特徴とする画像処理 装置。
4 . 前記水平補正手段は、 前記 1次元補間演算により画像デ一夕を求 める画素点の水平方向における間隔を調整することによって、 前記原画 像を水平方向において伸縮すると共に、
前記垂直補正手段は、 前記 1次元補間演算により画像デ一夕を求める 画素点の垂直方向における間隔を調整することによって、 前記原画像を 垂直方向において伸縮する請求の範囲第 3項に記載の画像処理装置。
5 . 前記水平補正手段は、
前記水平補正パラメータの整数成分に応じて前記画素点における画像 データを選択的に取得する第一データ取得手段と、
前記水平補正パラメ一夕の小数成分に応じて補間係数を生成する第一 補間係数生成手段と、
前記第一データ取得手段により取得された前記画像データと、 前記第 一補間係数生成手段により生成された前記補間係数とを用いて前記 1次 元補間演算を実行する第一補間演算手段とを含み、
前記垂直補正手段は、
前記垂直補正パラメ一夕の整数成分に応じて前記画素点における画像 データを選択的に取得する第二デ一夕取得手段と、
前記垂直補正パラメ一夕の小数成分に応じて補間係数を生成する第二 補間係数生成手段と、
前記第二データ取得手段により取得された前記画像デ一夕と、 前記第 二補間係数生成手段により生成された前記補間係数とを用いて前記 1次 元補間演算を実行する第二補間演算手段とを含む請求の範囲第 3項に記 載の画像処理装置。
6 . 前記水平補正手段による補正により得られた水平補正画像を記憶 する記憶手段をさらに備え、
前記垂直補正手段は、
前記記憶手段から前記垂直補正パラメ一夕に応じた前記水平補正画像 を取得するデータ取得手段と、
前記データ取得手段により取得された前記水平補正画像に対して、 前 記垂直補正パラメ一夕を用いた 1次元補間演算を施す補間演算手段とを 含む請求の範囲第 3項に記載の画像処理装置。
7 . 歪みを持った原画像を補正する画像処理装置であって、 前記原画像を構成する画素点における垂直方向の補正量を示す垂直補 正パラメ一夕を用いた 1次元補間演算を前記原画像に対して施すことに より、 前記原画像の垂直方向における歪みを補正する垂直補正手段と、 前記垂直補正手段による補正により得られた画像に対し、 前記原画像 を構成する画素点における水平方向の補正量を示す水平補正パラメ一夕 を用いた 1次元補間演算を施すことにより、 前記原画像の水平方向にお ける歪みを補正する水平補正手段とを備えたことを特徴とする画像処理
8 . 歪みを持った原画像を供給された補正べクトルに応じて補正する 画像補正手段を含む画像処理システムであって、
前記原画像を構成する画素点における前記補正べク卜ルを選択的にェ ンコードするエンコード手段と、
前記エンコード手段から供給されるェンコ一ドされた前記補正べクト ルをデコードし、 デコードされた前記補正べクトルを前記画像補正手段 へ供給するデコード手段を備えたことを特徴とする画像処理システム。 9 . 歪みを持った原画像を補正する画像処理システムであって、 前記原画像を構成する画素点における水平方向の補正量を示す水平補 正パラメ一夕と、 前記画素点における垂直方向の補正量を示す垂直補正 パラメ一夕を選択的にエンコードするエンコード手段と、
前記エンコード手段から供給されるェンコ一ドされた前記水平補正パ ラメ一夕をデコードする水平デコード手段と、
前記水平デコード手段によりデコードされた前記水平補正パラメ一夕 を用いた 1次元補間演算を前記原画像に対して施すことにより、 前記原 画像の水平方向における歪みを補正する水平補正手段と、
前記エンコード手段から供給されるエンコードされた前記垂直補正パ ラメ一夕をデコードする垂直デコード手段と、 前記水平補正手段による補正により得られた画像に対し、 前記垂直デ コード手段によりデコードされた前記垂直補正パラメータを用いた 1次 元補間演算を施すことにより、 前記原画像の垂直方向における歪みを補 正する垂直補正手段とを備えたことを特徴とする画像処理システム。 1 0 . 前記エンコード手段は、
ユーザィン夕フェースから供給される制御信号に応じて前記原画像を 格子分割する格子分割手段と、
前記格子分割により得られた格子点における前記水平補正パラメ一タ を選択的に圧縮して前記水平デコード手段へ供給すると共に、 前記格子 点における前記垂直補正パラメータを選択的に圧縮して前記垂直デコ一 ド手段へ供給するパラメータ圧縮手段とを含む請求の範囲第 9項に記載 の画像処理システム。
1 1 . 前記水平デコード手段は、
前記格子分割手段により生成された格子に対応して生成画像の各画素 点を囲む格子枠を決定する第一格子決定手段と、
前記第一格子決定手段により決定された各々の前記格子枠を関数によ り近似し、 前記関数を用いて前記生成画像の各画素点における前記水平 補正パラメータを算出する水平パラメータ算出手段とを含み、
前記垂直デコード手段は、
前記格子分割手段により生成された格子に対応して前記生成画像の各 画素点を囲む格子枠を決定する第二格子決定手段と、
前記第二格子決定手段により決定された各々の前記格子枠を関数によ り近似し、 前記関数を用いて前記生成画像の各画素点における前記垂直 補正パラメ一夕を算出する垂直パラメ一夕算出手段とを含む請求の範囲 第 1 0項に記載の画像処理システム。
1 2 . 前記水平パラメ一夕算出手段と前記垂直パラメ一夕算出手段の うち少なくとも一方は、 少なくとも一つの前記格子枠を n次多項式 (n は自然数) により近似する請求の範囲第 1 1項に記載の画像処理システ ム。
1 3 . 前記水平補正手段による補正により得られた水平補正画像を記 憶する記憶手段をさらに備え、
前記垂直補正手段は、
前記記憶手段から前記垂直補正パラメータに応じた前記水平補正画像 を取得するデ一夕取得手段と、
前記データ取得手段により取得された前記水平補正画像に対して、 前 記垂直補正パラメ一夕を用いた 1次元補間演算を施す補間演算手段とを 含む請求の範囲第 9項に記載の画像処理システム。
1 4 . 歪みを持った原画像を補正する画像処理方法であって、
前記原画像を構成する画素点における水平方向の補正量を示す水平補 正パラメ一夕を用いて前記原画像に対し 1次元補間演算を施すことによ り、 前記原画像の水平方向における歪みを補正する第一のステップと、 前記第一のステップにおいて得られた画像に対し、 前記原画像を構成 する画素点における垂直方向の補正量を示す垂直補正パラメータを用い た 1次元補間演算を施すことにより、 前記原画像の垂直方向における歪 みを補正する第二のステップとを有することを特徴とする画像処理方法,
1 5 . 少なくとも前記第一のステップにおいて、 前記 1次元補間演算 により画像データを求める画素点の水平方向における間隔を調整するこ とにより前記原画像を水平方向において伸縮し、 または
前記第二のステツプにおいて、 前記 1次元補間演算により画像データ を求める画素点の垂直方向における間隔を調整することにより前記原画 像を垂直方向において伸縮する請求の範囲第 1 4項に記載の画像処理方 法。
1 6 . 前記第一のステップにおける補正により得られた水平補正画像 を記憶手段に記憶させるステップをさらに備え、
前記第二のステップは、
前記記憶手段から前記垂直補正パラメ一夕に応じた前記水平補正画像 を取得するデー夕取得ステップと、
前記データ取得ステップにおいて取得された前記水平補正画像に対し て、 前記垂直補正パラメ一夕を用いた 1次元補間演算を施す補間演算ス テツプとを含む請求の範囲第 1 4項に記載の画像処理方法。
1 7 . 歪みを持った原画像を補正する画像処理方法であって、
ユーザィンタフェースから供給される制御信号に応じて前記原画像を 格子分割する第一のステップと、
前記格子分割により得られた格子点における水平方向及び垂直方向の 補正量を選択的にエンコードする第二のステップと、
エンコードされた前記水平方向及び垂直方向の補正量をデコードする 第三のステップと、
デコードされた前記水平方向の補正量に応じて、 前記原画像の水平方 向について 1次元補間演算を施す第四のステップと、
デコードされた前記垂直方向の補正量に応じて、 前記原画像の垂直方 向について 1次元補間演算を施す第五のステップとを有することを特徴 とする画像処理方法。
1 8 . 前記第三のステップは、
前記第一のステップにおいて生成された格子に対応して生成画像の各 画素点を囲む格子枠を決定する格子枠決定ステップと、 前記格子枠決定ステップにおいて決定された各々の前記格子枠を関数 により近似し、 前記関数を用いて前記生成画像を構成する各画素点にお ける前記水平方向及び垂直方向の補正量を算出するパラメータ算出ステ ップとを含む請求の範囲第 1 7項に記載の画像処理方法。
1 9 . 前記パラメ一夕算出ステップにおいては、 少なくとも一つの前 記格子枠を n次多項式 (nは自然数) により近似する請求の範囲第 1 8 項に記載の画像処理方法。
PCT/JP2003/010410 2002-08-20 2003-08-18 画像処理装置と画像処理システム及び画像処理方法 WO2004019607A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/524,758 US7457478B2 (en) 2002-08-20 2003-08-18 Image processing apparatus, image processing system, and image processing method
EP03792699A EP1549052A4 (en) 2002-08-20 2003-08-18 IMAGE PROCESSING DEVICE, IMAGE PROCESSING SYSTEM, AND IMAGE PROCESSING METHOD
US12/232,766 US7783129B2 (en) 2002-08-20 2008-09-24 Image processing apparatus, image processing system and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002239865A JP4144292B2 (ja) 2002-08-20 2002-08-20 画像処理装置と画像処理システム及び画像処理方法
JP2002-239865 2002-08-20

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10524758 A-371-Of-International 2003-08-18
US12/232,766 Continuation US7783129B2 (en) 2002-08-20 2008-09-24 Image processing apparatus, image processing system and image processing method

Publications (1)

Publication Number Publication Date
WO2004019607A1 true WO2004019607A1 (ja) 2004-03-04

Family

ID=31943879

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/010410 WO2004019607A1 (ja) 2002-08-20 2003-08-18 画像処理装置と画像処理システム及び画像処理方法

Country Status (4)

Country Link
US (2) US7457478B2 (ja)
EP (1) EP1549052A4 (ja)
JP (1) JP4144292B2 (ja)
WO (1) WO2004019607A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385686B2 (en) * 2003-10-29 2013-02-26 Nikon Corporation Image processing method based on partitioning of image data, image processing device based on partitioning image data and program

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234379A (ja) 2003-01-30 2004-08-19 Sony Corp 画像処理方法、画像処理装置及び画像処理方法を適用した撮像装置、表示装置
JP2005229200A (ja) * 2004-02-10 2005-08-25 Fujitsu Ltd ディストーション補正回路
ATE540375T1 (de) * 2004-09-09 2012-01-15 Silicon Optix Inc System und verfahren zum repräsentieren einer allgemeinen zweidimensionalen räumlichen transformation
JP4606218B2 (ja) * 2005-03-28 2011-01-05 三洋電機株式会社 歪補正装置
JP2006301098A (ja) * 2005-04-18 2006-11-02 Sony Corp 光学装置、レンズユニット及び撮像装置
US7920200B2 (en) * 2005-06-07 2011-04-05 Olympus Corporation Image pickup device with two cylindrical lenses
JP4862321B2 (ja) * 2005-08-30 2012-01-25 ソニー株式会社 車載カメラ装置
JP2007135135A (ja) * 2005-11-14 2007-05-31 Olympus Corp 動画像撮像装置
JP2007180765A (ja) * 2005-12-27 2007-07-12 Toshiba Corp 映像処理装置、映像表示装置及び映像処理方法
JP4487952B2 (ja) * 2006-02-27 2010-06-23 ソニー株式会社 カメラ装置及び監視システム
US8503817B2 (en) 2006-03-01 2013-08-06 Panasonic Corporation Apparatus, method and imaging apparatus for correcting distortion of image data using interpolation
JP4854340B2 (ja) * 2006-03-08 2012-01-18 キヤノン株式会社 画像処理方法及び装置
WO2007108081A1 (ja) * 2006-03-20 2007-09-27 Fujitsu Limited 撮影装置、撮影方法及びプログラム、撮影装置のテーブル作成装置及び方法、映像処理装置及び方法
WO2007122907A1 (ja) * 2006-03-29 2007-11-01 Matsushita Electric Industrial Co., Ltd. 画像コーデック装置
JP5296967B2 (ja) * 2006-04-25 2013-09-25 パナソニック株式会社 3次元形状計測装置
JP2007299219A (ja) * 2006-04-28 2007-11-15 Kyoto Univ 撮影画像におけるゆがみの較正方法
US7570373B2 (en) * 2006-04-29 2009-08-04 Prompribor, Inc. System and method to measure parameters distribution in sheet-like objects
JP4470930B2 (ja) * 2006-09-21 2010-06-02 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
JP2008225522A (ja) 2007-03-08 2008-09-25 Sony Corp 画像処理装置、カメラ装置、画像処理方法、およびプログラム
JP4714174B2 (ja) * 2007-03-27 2011-06-29 富士フイルム株式会社 撮像装置
JP4657367B2 (ja) * 2007-05-09 2011-03-23 富士通セミコンダクター株式会社 画像処理装置、撮像装置、および画像歪み補正方法
JP2009011468A (ja) * 2007-07-03 2009-01-22 Aloka Co Ltd 超音波診断装置
JP4380740B2 (ja) * 2007-07-09 2009-12-09 セイコーエプソン株式会社 画像処理装置
JP4380741B2 (ja) * 2007-07-09 2009-12-09 セイコーエプソン株式会社 画像処理装置
US8463068B2 (en) * 2007-08-09 2013-06-11 Micron Technology, Inc. Methods, systems and apparatuses for pixel value correction using multiple vertical and/or horizontal correction curves
JP5107671B2 (ja) * 2007-10-31 2012-12-26 アイホン株式会社 インターホン装置
US9076203B2 (en) * 2007-11-26 2015-07-07 The Invention Science Fund I, Llc Image guided surgery with dynamic image reconstruction
JP5057948B2 (ja) * 2007-12-04 2012-10-24 アルパイン株式会社 歪曲補正画像生成ユニットおよび歪曲補正画像生成方法
JP2009169601A (ja) * 2008-01-15 2009-07-30 Ricoh Co Ltd 画像処理システム及びこの画像処理システムを有するカメラ
JP4919978B2 (ja) * 2008-01-26 2012-04-18 三洋電機株式会社 歪補正装置
JP5141960B2 (ja) * 2008-03-25 2013-02-13 株式会社メガチップス 画像処理装置
JP5438579B2 (ja) * 2010-03-29 2014-03-12 キヤノン株式会社 画像処理装置及びその制御方法
JP5195841B2 (ja) * 2010-08-16 2013-05-15 ソニー株式会社 車載カメラ装置および車両
JP2012090145A (ja) * 2010-10-21 2012-05-10 Sony Corp 画像処理装置および方法、並びにプログラム
TWI423659B (zh) * 2010-11-09 2014-01-11 Avisonic Technology Corp 影像校正方法與相關影像校正系統
US8878909B1 (en) 2010-11-26 2014-11-04 John H. Prince Synthesis of narrow fields of view to create artifact-free 3D images
JP5924020B2 (ja) * 2012-02-16 2016-05-25 セイコーエプソン株式会社 プロジェクター、及び、プロジェクターの制御方法
JP2013218654A (ja) 2012-03-16 2013-10-24 Panasonic Corp 画像処理装置
CN102663785B (zh) * 2012-03-29 2014-12-10 上海华勤通讯技术有限公司 移动终端及其图像处理方法
CN102800061B (zh) * 2012-06-26 2016-05-11 重庆医科大学 高照度下数字图像快速自适应最佳化方法
CN102800060B (zh) * 2012-06-26 2016-05-11 重庆医科大学 低照度下数字图像快速自适应最佳化方法
JP2014075680A (ja) * 2012-10-03 2014-04-24 Sony Corp 画像処理装置、画像処理方法およびプログラム
JP6136190B2 (ja) * 2012-10-23 2017-05-31 株式会社ソシオネクスト 画像処理装置、撮像装置
CN103929584B (zh) * 2013-01-15 2017-11-03 瑞昱半导体股份有限公司 图像校正方法及图像校正电路
JP2013135974A (ja) * 2013-04-10 2013-07-11 Hitachi Aloka Medical Ltd 超音波診断装置
CN103778607B (zh) * 2014-01-21 2017-03-15 付强 一种图像校正方法
CN104156922A (zh) * 2014-08-12 2014-11-19 广州市久邦数码科技有限公司 一种图像处理方法及其系统
US10275863B2 (en) * 2015-04-03 2019-04-30 Cognex Corporation Homography rectification
US10291844B2 (en) * 2016-03-14 2019-05-14 Realop Corporation Image processing apparatus, image processing method, recording medium, program and imaging-capturing apparatus
JP6395000B2 (ja) * 2016-04-13 2018-09-26 京セラドキュメントソリューションズ株式会社 画像処理装置
DE102016218360B4 (de) * 2016-09-23 2019-08-29 Carl Zeiss Industrielle Messtechnik Gmbh Kalibrierstruktur und Kalibrierverfahren zur Kalibrierung von optischen Messgeräten
CN109799073B (zh) * 2019-02-13 2021-10-22 京东方科技集团股份有限公司 一种光学畸变测量装置及方法、图像处理系统、电子设备和显示设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0461570A (ja) * 1990-06-29 1992-02-27 Sony Corp 映像信号処理装置
EP0479618A2 (en) 1990-10-05 1992-04-08 Kabushiki Kaisha Toshiba A method and apparatus for calibrating magnetic and geometrical distortions in an imaging system
US5276519A (en) 1991-06-21 1994-01-04 Sony United Kingdom Limited Video image capture apparatus for digitally compensating imperfections introduced by an optical system
JPH06205273A (ja) * 1993-01-04 1994-07-22 Sony Corp 幾何補正内蔵ビデオカメラ
JP2000184247A (ja) * 1998-12-21 2000-06-30 Olympus Optical Co Ltd レンズ交換式デジタルカメラ
JP2000324339A (ja) * 1999-03-09 2000-11-24 Fuji Photo Film Co Ltd 画像処理方法および画像処理装置
JP2002015327A (ja) * 2000-06-28 2002-01-18 Sony Corp 画像種別判別装置およびこれを用いた画像処理装置ならびに画像種別判別方法。
JP2002190979A (ja) * 2000-12-20 2002-07-05 Nikon Corp 電子カメラ、および画像処理プログラムの記録媒体
JP2002335438A (ja) * 2001-02-28 2002-11-22 Hewlett Packard Co <Hp> デジタル画像のパースペクティブ歪みを除去するディジタルカメラ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2620544B1 (fr) * 1987-09-16 1994-02-11 Commissariat A Energie Atomique Procede d'interpolation
JP2946360B2 (ja) 1991-05-31 1999-09-06 コニカ株式会社 画像データ補間方法及び装置
JPH089309A (ja) 1994-06-23 1996-01-12 Canon Inc 表示方法及び装置
EP0720125B1 (fr) * 1994-12-29 2002-05-08 Koninklijke Philips Electronics N.V. Dispositif de formation d'image et procédé pour effectuer des corrections de distorsions optiques géométriques dans une image
JPH11196313A (ja) * 1997-12-26 1999-07-21 Aiphone Co Ltd 広角歪み補正装置
US6603885B1 (en) * 1998-04-30 2003-08-05 Fuji Photo Film Co., Ltd. Image processing method and apparatus
US6141382A (en) * 1998-09-18 2000-10-31 Sarnoff Corporation Using estimated distortion values
US6538691B1 (en) * 1999-01-21 2003-03-25 Intel Corporation Software correction of image distortion in digital cameras
JP2001086332A (ja) 1999-09-09 2001-03-30 Fuji Photo Film Co Ltd 画像処理装置
JP2002232838A (ja) 2000-11-28 2002-08-16 Monolith Co Ltd デジタルカメラ
ATE375571T1 (de) * 2001-06-12 2007-10-15 Silicon Optix Inc Verfahen und vorrichtung zur verarbeitung einer nichtlinearen zweidimensionalen räumlichen transformation

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0461570A (ja) * 1990-06-29 1992-02-27 Sony Corp 映像信号処理装置
EP0479618A2 (en) 1990-10-05 1992-04-08 Kabushiki Kaisha Toshiba A method and apparatus for calibrating magnetic and geometrical distortions in an imaging system
US5276519A (en) 1991-06-21 1994-01-04 Sony United Kingdom Limited Video image capture apparatus for digitally compensating imperfections introduced by an optical system
JPH06205273A (ja) * 1993-01-04 1994-07-22 Sony Corp 幾何補正内蔵ビデオカメラ
JP2000184247A (ja) * 1998-12-21 2000-06-30 Olympus Optical Co Ltd レンズ交換式デジタルカメラ
JP2000324339A (ja) * 1999-03-09 2000-11-24 Fuji Photo Film Co Ltd 画像処理方法および画像処理装置
JP2002015327A (ja) * 2000-06-28 2002-01-18 Sony Corp 画像種別判別装置およびこれを用いた画像処理装置ならびに画像種別判別方法。
JP2002190979A (ja) * 2000-12-20 2002-07-05 Nikon Corp 電子カメラ、および画像処理プログラムの記録媒体
JP2002335438A (ja) * 2001-02-28 2002-11-22 Hewlett Packard Co <Hp> デジタル画像のパースペクティブ歪みを除去するディジタルカメラ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ILMAR A.: "Distortion Correction Table Compression Volume X-ray CT Applications", PHYSICS OF MEDICAL IMAGING PROCEEDINGS OF SPIE, vol. 3977, 2000, pages 621 - 632, XP002460756
See also references of EP1549052A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8385686B2 (en) * 2003-10-29 2013-02-26 Nikon Corporation Image processing method based on partitioning of image data, image processing device based on partitioning image data and program

Also Published As

Publication number Publication date
US7783129B2 (en) 2010-08-24
US20090046179A1 (en) 2009-02-19
JP4144292B2 (ja) 2008-09-03
EP1549052A4 (en) 2008-02-13
US7457478B2 (en) 2008-11-25
US20060110050A1 (en) 2006-05-25
EP1549052A1 (en) 2005-06-29
JP2004080545A (ja) 2004-03-11

Similar Documents

Publication Publication Date Title
WO2004019607A1 (ja) 画像処理装置と画像処理システム及び画像処理方法
US7424172B2 (en) Image processing method, image processing apparatus and image pickup apparatus and display apparatus suitable for the application of image processing method
US7630584B2 (en) Image processing apparatus, image processing system, imaging apparatus and image processing method
EP2063646A2 (en) Method and apparatus for predictive coding
JP4255345B2 (ja) 撮像装置
JP2004064334A (ja) 撮像装置
JP4337463B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
JP2009105533A (ja) 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法
US7929777B2 (en) Variable length decoding device, variable length decoding method and image capturing system
JP3133702B2 (ja) ディジタルスチルカメラ
JP4285575B2 (ja) 画像処理装置とカメラシステム及び画像処理方法
JP4333270B2 (ja) 画像処理装置、画像処理システム、撮像装置および画像処理方法
JP2009116763A (ja) 画像処理装置および画像データのメモリアクセス方法
JP4720626B2 (ja) 画像処理システム、画像処理方法及びプログラム
JP2000069418A (ja) 画素数変換装置およびディジタルカメラ装置
JP4888306B2 (ja) 画像処理装置および画像処理方法
JP2009130489A (ja) 撮像装置、撮像記録方法、撮像画像記録再生装置および撮像画像記録再生方法
JPWO2006043483A1 (ja) 映像信号処理装置
JP4424097B2 (ja) 電子ズーム装置
JPH08279949A (ja) 電子ズーム処理装置および電子ズーム処理方法
JP2005080198A (ja) 撮像装置
JP2008079202A (ja) 画像処理装置および画像処理方法、並びにカメラシステム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003792699

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2003792699

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006110050

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10524758

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10524758

Country of ref document: US