JP2010113554A - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP2010113554A JP2010113554A JP2008285994A JP2008285994A JP2010113554A JP 2010113554 A JP2010113554 A JP 2010113554A JP 2008285994 A JP2008285994 A JP 2008285994A JP 2008285994 A JP2008285994 A JP 2008285994A JP 2010113554 A JP2010113554 A JP 2010113554A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- component
- image
- value
- input
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 192
- 238000003672 processing method Methods 0.000 title claims abstract description 9
- 238000000034 method Methods 0.000 claims description 195
- 238000006243 chemical reaction Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 description 30
- 230000014509 gene expression Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 230000009467 reduction Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 6
- 239000000049 pigment Substances 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 101100006352 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CHS5 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
Description
本発明は、画像を変形する処理を行う画像処理装置および画像処理方法に関する。 The present invention relates to an image processing apparatus and an image processing method for performing processing for deforming an image.
画像処理装置は、画像を拡大、縮小あるいは回転など変形して表示するとき、画像を表す画像データに対して幾何変換を行って表示する。幾何変換は、画像データを所定の座標変換式によって別の座標系に射影する変換である。画像データがベクトル型データであるときは、座標変換処理を行うだけで幾何変換を行うことができるが、画像データがラスタ型データであるときは、座標変換処理の他に、画像再配列処理および画像データの内挿処理を行う必要がある。 When the image processing apparatus displays the image by enlarging, reducing, rotating, or transforming it, the image processing apparatus performs geometric conversion on the image data representing the image and displays it. Geometric transformation is transformation for projecting image data to another coordinate system using a predetermined coordinate transformation formula. When the image data is vector type data, geometric transformation can be performed only by performing coordinate transformation processing. However, when the image data is raster type data, in addition to coordinate transformation processing, image rearrangement processing and It is necessary to perform image data interpolation processing.
座標変換処理は、入力画像の画像データを出力画像の座標系での画像データに変換する処理、または出力画像の画像データを入力画像の座標系での画像データに変換する処理である。画像再配列処理は、座標変換処理後の画像データが示す画像の各画素を、出力画像の座標系で定められる格子状の画素位置(以下「格子点」という)に対応するように、入力画像の各画素を並べ直す処理である。 The coordinate conversion process is a process of converting the image data of the input image into image data in the coordinate system of the output image, or a process of converting the image data of the output image into image data in the coordinate system of the input image. In the image rearrangement process, the input image is set so that each pixel of the image indicated by the image data after the coordinate conversion process corresponds to a grid-like pixel position (hereinafter referred to as a “grid point”) determined by the coordinate system of the output image. This is a process for rearranging the pixels.
画像データの内挿処理は、座標変換処理によって変換された画像データが示す出力画像の各画素の位置が格子点の位置に一致しない場合、格子点に配置する画素の値を内挿補間によって算出する処理である。内挿補間の方法には、いくつかの方法があり、処理の単純さ、精度、あるいは歪みの発生などの影響を考慮して、目的に応じた方法を選択する必要がある。 In the image data interpolation process, if the position of each pixel of the output image indicated by the image data converted by the coordinate conversion process does not match the position of the grid point, the value of the pixel placed at the grid point is calculated by interpolation. It is processing to do. There are several methods of interpolation, and it is necessary to select a method according to the purpose in consideration of influences such as simplicity of processing, accuracy, and occurrence of distortion.
画像処理装置の多様化に伴い、多くの画像処理装置は、画像の拡大表示あるいは縮小表示を行う機能を有している。画像処理装置として、たとえばディジタルスチルカメラでは、ディジタルズーム機能によって、ディジタル信号処理によるカラー画像の拡大縮小を行うことができる。画像の拡大縮小は、内挿する点(以下「補間点」という)の画素の値(以下「補間値」という)をどのような方法で算出するかによって、画質および処理速度に大きな影響を与える。 Along with diversification of image processing apparatuses, many image processing apparatuses have a function of performing enlarged display or reduced display of an image. As an image processing apparatus, for example, a digital still camera can perform enlargement / reduction of a color image by digital signal processing by a digital zoom function. Image scaling greatly affects image quality and processing speed depending on the method used to calculate the pixel value (hereinafter referred to as “interpolation value”) of the point to be interpolated (hereinafter referred to as “interpolation point”). .
内挿補間の方法には、たとえば最近隣内挿法(以下「ニアレストネイバー法」ともいう)、共1次内挿法(以下「バイリニア法」ともいう)および3次たたみ込み内挿法(以下「バイキュービック法」ともいう)がある。ニアレストネイバー法およびバイリニア法は、バイキュービック法よりも、演算処理が簡易で処理速度は速いが、補間精度が低く、画質の面で劣る。バイキュービック法は、ニアレストネイバー法およびバイリニア法よりも、補間精度が高く、画質の面で優れているが、演算処理が複雑であり、処理に時間がかかる。したがって要求される仕様が処理速度を重視するか画質を重視するかによって、補間方法を選択する必要がある。 Examples of the interpolation method include nearest neighbor interpolation (hereinafter also referred to as “nearest neighbor method”), bilinear interpolation (hereinafter also referred to as “bilinear method”), and cubic convolution interpolation ( (Hereinafter also referred to as “bicubic method”). The nearest neighbor method and the bilinear method are simpler and faster than the bicubic method, but the interpolation accuracy is low and the image quality is inferior. The bicubic method has higher interpolation accuracy and better image quality than the nearest neighbor method and the bilinear method, but the calculation processing is complicated and takes time. Therefore, it is necessary to select an interpolation method depending on whether the required specification emphasizes processing speed or image quality.
図14は、従来の技術による画像処理装置100の構成を示すブロック図である。画像処理装置100は、2つの補間方法を用いて画像の拡大縮小を行う装置であり、入力画像メモリ101、補間演算部102および出力画像メモリ103を含んで構成される。入力画像メモリ101は、入力される画像を表す画像データを記憶するメモリであり、画像データを、色成分の種類たとえば輝度成分および色差成分などの種類ごとに記憶する。補間演算部102は、第1の補間処理部102aおよび第2の補間処理部102bを含む。出力画像メモリ103は、補間演算部102で演算された補間値を色成分の種類ごとに記憶するメモリである。
FIG. 14 is a block diagram illustrating a configuration of an
第1の補間処理部102aおよび第2の補間処理部102bは、それぞれ異なる補間方法によって補間値を算出する。たとえば、第1の補間処理部102aは、バイキュービック法によって第1成分である輝度成分の補間値を算出し、第2の補間処理部102bは、バイリニア法によって第2成分および第3成分である色差成分の補間値を算出する。図14に示した補間演算部102は、2つの補間処理部を含むが、色成分の種類が3つ以上ある場合は、それぞれの成分に対応する補間処理部を設けることによって、それぞれの成分の補間値を並行して算出することができる。
The first
たとえば特許文献1に記載の画像処理装置は、投影法などの高品位の画素密度変換を行う第1の画素密度変換部と、単純間引きなどの高速な画素密度変換を行う第2の画素密度変換部と含む。第1の画素密度変換部は、YUV画像データから得られるY信号つまり輝度信号に対して画素密度変換を行う。第2の画素密度変換部は、2つの画素密度変換部を含み、YUV画像データから得られるU信号およびV信号つまり2つの色差信号に対して画素密度変換を行う。
For example, an image processing apparatus described in
第1の画素密度変換部は、図14に示した補間処理部102aつまりバイキュービック法によって補間値を算出する補間処理部に対応し、第2の画素密度変換部は、図14に示した補間処理部102bつまりバイリニア法によって補間値を算出する補間処理部に対応する。
The first pixel density conversion unit corresponds to the
特許文献2に記載の画像処理装置は、輝度信号を4×4画素以上の演算領域の内挿法たとえば立体たたみ込み内挿法、すなわち3次たたみ込み内挿法を用いて信号処理を行う輝度信号処理部と、色差信号を立体たたみ込み内挿法とは異なる2×2画素以内の演算領域の内挿法である他の内挿法を用いて信号処理を行う色差信号処理部とを含み、画像信号を輝度信号と色差信号とに分けて異なる補間方法を用いて信号処理を行う。信号処理は、内挿法に対応する補間プログラムを実行することによって処理される。
The image processing apparatus described in
他の内挿法は、たとえば共1次内挿法、最近隣内挿法、単純間引きあるいは単純補間である。それぞれの内挿法に対応した補間プログラムをROM(Read Only Memory)に記憶しておき、目的の内挿法に対応する補間プログラムを選択して実行することも可能である。色差信号に演算領域の狭い補間方法を用いているので、位置が離れているために生じる色の違いを低く抑えると共に、色ずれを防止することができる。 Other interpolation methods are, for example, bilinear interpolation, nearest neighbor interpolation, simple decimation or simple interpolation. It is also possible to store an interpolation program corresponding to each interpolation method in a ROM (Read Only Memory) and select and execute the interpolation program corresponding to the target interpolation method. Since the interpolation method with a narrow calculation area is used for the color difference signal, it is possible to suppress the color difference caused by the distant position and to prevent color misregistration.
特許文献1に記載の画像処理装置では、人の目が色差信号よりも輝度信号のほうに敏感であることを利用しており、演算量を減らして、画質の劣化の少ない画像に変換することができる。特許文献1の画像処理装置は、高速な処理は可能であるが、輝度信号および2つの色差信号ごとに画素密度変換を行う回路が必要となるので、回路面積が増大するという問題がある。
The image processing apparatus described in
特許文献2に記載の画像処理装置では、補間プログラムを実行することによって所定の補間方法による信号処理が行われるので、ハードウェアによる信号処理に比べて時間がかかり、実時間処理には適していない。実時間処理が要求される装置に適用するためには、内挿法による補間処理をハードウェアによって実現する必要がある。しかし、前記補間処理をハードウェアによって実現した場合、特許文献1の画像処理装置と同様に、回路面積が増大するという問題がある。
In the image processing apparatus described in
本発明の目的は、処理速度が早く、かつ回路面積およびコストの低減化を図ることができる画像処理装置および画像処理方法を提供することである。 An object of the present invention is to provide an image processing apparatus and an image processing method capable of achieving high processing speed and reducing circuit area and cost.
本発明は、相互に異なる第1〜第3成分からなる画素によって構成される画像を表す画像データを入力する入力手段と、
画像のサイズを変更する倍率を指示する指示手段と、
3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出手段と、
補間値算出手段を用いて、入力手段によって入力される画像データを、指示手段によって指示される倍率で変更したサイズの画像を表す画像データに変換する変換手段と、
変換手段によって変換される画像データを出力する出力手段とを含み、
変換手段は、変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値を補間値算出手段によって算出させるとき、
第1成分については、補間点ごとにそれぞれ、入力手段によって入力される画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素の第1成分に基づいて、3次たたみ込み内挿法によって第1成分の補間値を算出させ、
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点での第2成分の補間値を、前記入力画像の画素のうちの第1の補間点を囲む4個の画素の第2成分に基づいて、第1の補間点での第3成分の補間値を第1の補間点を囲む前記4個の画素の第3成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点での第2成分の補間値を、前記入力画像の画素のうちの第2の補間点を囲む4個の画素の第2成分に基づいて、および第2の補間点での第3成分の補間値を第2の補間点を囲む前記4個の画素の第3成分に基づいて、共1次内挿法によって算出させ、
補間値算出手段によって算出される第1成分の補間値を第1成分、補間値算出手段によって算出される第2成分の補間値を第2成分、および補間値算出手段によって算出される第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データを変換後の画像データとすることを特徴とする画像処理装置である。
The present invention comprises an input means for inputting image data representing an image constituted by pixels composed of mutually different first to third components;
An instruction means for instructing a magnification for changing the size of the image;
Interpolation value calculating means for calculating an interpolation value by a cubic convolution interpolation method or a bilinear interpolation method;
Conversion means for converting the image data input by the input means into image data representing an image having a size changed by the magnification indicated by the instruction means, using the interpolation value calculation means;
Output means for outputting image data converted by the conversion means,
When the conversion means causes the interpolation value calculation means to calculate the interpolation values of the first to third components at the interpolation points that are positions corresponding to the pixels of the image indicated by the image data after conversion in the coordinate system before conversion,
For the first component, for each interpolation point, among the pixels of the input image indicated by the image data input by the input means, four pixels surrounding the interpolation point and twelve pixels surrounding the four pixels are included. Based on the first component of the 16 pixels including, the interpolation value of the first component is calculated by the third-order convolution interpolation method,
For the second component and the third component, the interpolation value of the second component at the first interpolation point of the two interpolation points is simultaneously calculated for each of the two interpolation points, and the first of the pixels of the input image. Based on the second component of the four pixels surrounding the interpolation point, the interpolation value of the third component at the first interpolation point is based on the third component of the four pixels surrounding the first interpolation point. Interpolation values of the second component at the second interpolation point different from the first interpolation point of the two interpolation points are the four pixels surrounding the second interpolation point of the pixels of the input image. And the interpolated value of the third component at the second interpolation point based on the third component of the four pixels surrounding the second interpolation point by bilinear interpolation Let me calculate
The interpolation value of the first component calculated by the interpolation value calculation means is the first component, the interpolation value of the second component calculated by the interpolation value calculation means is the second component, and the third component is calculated by the interpolation value calculation means. The image processing apparatus is characterized in that image data representing an image constituted by pixels having the third interpolation value as the third component is converted image data.
また本発明は、相互に異なる第1〜第3成分からなる画素によって構成される画像を表す画像データを入力する入力ステップと、
画像のサイズを変更する倍率を指示する指示ステップと、
3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出部によって、入力ステップで入力された画像データを、指示ステップで指示された倍率で変更したサイズの画像を表す画像データに変換する変換ステップであって、
変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値を補間値算出部によって算出するとき、
第1成分については、補間点ごとにそれぞれ、入力ステップで入力された画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素の第1成分に基づいて、3次たたみ込み内挿法によって第1成分の補間値を算出し、
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点での第2成分の補間値を、前記入力画像の画素のうちの第1の補間点を囲む4個の画素の第2成分に基づいて、第1の補間点での第3成分の補間値を第1の補間点を囲む前記4個の画素の第3成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点での第2成分の補間値を、前記入力画像の画素のうちの第2の補間点を囲む4個の画素の第2成分に基づいて、および第2の補間点での第3成分の補間値を第2の補間点を囲む前記4個の画素の第3成分に基づいて、共1次内挿法によって算出し、
補間値算出部によって算出された第1成分の補間値を第1成分、補間値算出部によって算出された第2成分の補間値を第2成分、および補間値算出部によって算出された第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データを変換後の画像データとする変換ステップと、
変換ステップで変換された画像データを出力する出力ステップとを含むことを特徴とする画像処理方法である。
According to another aspect of the present invention, there is provided an input step for inputting image data representing an image constituted by pixels including first to third components different from each other;
An instruction step for instructing a magnification for changing the size of the image;
An image having a size obtained by changing the image data input in the input step by the magnification specified in the instruction step by the interpolation value calculation unit that calculates the interpolation value by the cubic convolution interpolation method or the bilinear interpolation method. A conversion step for converting into image data representing,
When the interpolation value calculation unit calculates the interpolation values of the first to third components at the interpolation point that is the position corresponding to the pixel of the image indicated by the image data after conversion in the coordinate system before conversion,
For the first component, for each interpolation point, among the pixels of the input image indicated by the image data input in the input step, four pixels surrounding the interpolation point and twelve pixels surrounding the four pixels are included. Calculating an interpolated value of the first component by a third-order convolution method based on the first component of the 16 pixels included;
For the second component and the third component, the interpolation value of the second component at the first interpolation point of the two interpolation points is simultaneously calculated for each of the two interpolation points, and the first of the pixels of the input image. Based on the second component of the four pixels surrounding the interpolation point, the interpolation value of the third component at the first interpolation point is based on the third component of the four pixels surrounding the first interpolation point. Interpolation values of the second component at the second interpolation point different from the first interpolation point of the two interpolation points are the four pixels surrounding the second interpolation point of the pixels of the input image. And the interpolated value of the third component at the second interpolation point based on the third component of the four pixels surrounding the second interpolation point by bilinear interpolation Calculate
The interpolation value of the first component calculated by the interpolation value calculator is the first component, the interpolation value of the second component calculated by the interpolation value calculator is the second component, and the third component calculated by the interpolation value calculator A conversion step of converting image data representing an image constituted by pixels having the interpolation value of the third component into image data after conversion;
And an output step for outputting the image data converted in the conversion step.
本発明によれば、入力手段によって、相互に異なる第1〜第3成分からなる画素によって構成される画像を表す画像データが入力され、指示手段によって、画像のサイズを変更する倍率が指示される。補間値算出手段によって、3次たたみ込み内挿法または共1次内挿法によって補間値が算出される。変換手段によって、補間値算出手段を用いて、入力手段によって入力される画像データが、指示手段によって指示される倍率で変更したサイズの画像を表す画像データに変換され、出力手段によって、変換手段によって変換される画像データが出力される。 According to the present invention, image data representing an image composed of mutually different first to third components is input by the input means, and the magnification for changing the size of the image is instructed by the instruction means. . The interpolation value calculation means calculates the interpolation value by the cubic convolution interpolation method or the bilinear interpolation method. The conversion means converts the image data input by the input means using the interpolation value calculation means into image data representing an image having a size changed at the magnification indicated by the instruction means, and the output means converts the image data by the conversion means. The converted image data is output.
さらに、変換手段によって、変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値が補間値算出手段によって算出されるとき、第1成分については、補間点ごとにそれぞれ、入力手段によって入力される画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素の第1成分に基づいて、3次たたみ込み内挿法によって第1成分の補間値が算出される。 Further, the interpolation value calculation means calculates the interpolation values of the first to third components at the interpolation points at the positions corresponding to the pixels of the image indicated by the converted image data in the coordinate system before the conversion. For the first component, for each interpolation point, among the pixels of the input image indicated by the image data input by the input means, four pixels surrounding the interpolation point and 12 pixels surrounding the four pixels are included. Based on the first component of the 16 pixels including the pixel, the interpolation value of the first component is calculated by the third-order convolution interpolation method.
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点での第2成分の補間値が、前記入力画像の画素のうちの第1の補間点を囲む4個の画素の第2成分に基づいて、第1の補間点での第3成分の補間値が第1の補間点を囲む前記4個の画素の第3成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点での第2成分の補間値が、前記入力画像の画素のうちの第2の補間点を囲む4個の画素の第2成分に基づいて、および第2の補間点での第3成分の補間値が第2の補間点を囲む前記4個の画素の第3成分に基づいて、共1次内挿法によって算出される。 As for the second component and the third component, the interpolation value of the second component at the first interpolation point of the two interpolation points is the first of the pixels of the input image at the same time every two interpolation points. Based on the second component of the four pixels surrounding the interpolation point, the third component interpolation value at the first interpolation point is based on the third component of the four pixels surrounding the first interpolation point. Four pixels whose second component interpolation value at a second interpolation point different from the first interpolation point of the two interpolation points surrounds the second interpolation point of the pixels of the input image. And the interpolated value of the third component at the second interpolation point based on the third component of the four pixels surrounding the second interpolation point by bilinear interpolation Calculated.
そして、補間値算出手段によって算出される第1成分の補間値を第1成分、補間値算出手段によって算出される第2成分の補間値を第2成分、および補間値算出手段によって算出される第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データが変換後の画像データとされる。 Then, the interpolation value of the first component calculated by the interpolation value calculation means is the first component, the interpolation value of the second component calculated by the interpolation value calculation means is the second component, and the first value calculated by the interpolation value calculation means. Image data representing an image composed of pixels having the third component interpolation value as the third component is the converted image data.
したがって、3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出手段として、たとえばハードウェアによって構成される手段を有しているので、補間値を算出するプログラムを実行して逐次計算するよりも短時間で3次たたみ込み内挿法による補間値を算出することができ、その補間値算出手段を用いて、共1次内挿法によって算出される補間値を算出することができるので、共1次内挿法によって補間値を算出するためのハードウェアが不要であり、回路面積およびコストの低減化を図ることができる。すなわち、処理速度が早く、かつ回路面積およびコストの少ない回路で画像の補間を行うことができる。 Therefore, since the interpolation value calculation means for calculating the interpolation value by the cubic convolution interpolation method or the bilinear interpolation method has means configured by hardware, for example, a program for calculating the interpolation value is provided. It is possible to calculate the interpolation value by the third-order convolution interpolation method in a shorter time than the execution and sequential calculation, and the interpolation value calculation means can be used to calculate the interpolation value calculated by the bilinear interpolation method. Since it can be calculated, hardware for calculating an interpolation value by bilinear interpolation is not required, and the circuit area and cost can be reduced. That is, the image can be interpolated with a circuit having a high processing speed and a small circuit area and cost.
また本発明によれば、入力ステップでは、相互に異なる第1〜第3成分からなる画素によって構成される画像を表す画像データを入力し、指示ステップでは、画像のサイズを変更する倍率を指示する。 According to the invention, in the input step, image data representing an image composed of mutually different first to third components is input, and in the instruction step, a magnification for changing the size of the image is instructed. .
変換ステップでは、3次たたみ込み内挿法または共1次内挿法よって補間値を算出する補間値算出部によって、入力ステップで入力された画像データを、指示ステップで指示された倍率で変更したサイズの画像を表す画像データに変換するにあたって、変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値を補間値算出部によって算出するとき、第1成分については、補間点ごとにそれぞれ、入力ステップで入力された画像データが示す画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素の第1成分に基づいて、3次たたみ込み内挿法によって第1成分の補間値を算出する。 In the conversion step, the image data input in the input step is changed by the magnification specified in the instruction step by the interpolation value calculation unit that calculates the interpolation value by the cubic convolution interpolation method or the bilinear interpolation method. When converting to image data representing a size image, the interpolation values of the first to third components at the interpolation point at the position corresponding to the pixel of the image indicated by the image data after conversion in the coordinate system before conversion are interpolated values When calculating by the calculation unit, for the first component, for each interpolation point, among the pixels of the image indicated by the image data input in the input step, four pixels surrounding the interpolation point and the four pixels are included. Based on the first component of the 16 pixels including the 12 surrounding pixels, the interpolated value of the first component is calculated by the cubic convolution interpolation method.
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点での第2成分の補間値を、前記入力画像の画素のうちの第1の補間点を囲む4個の画素の第2成分に基づいて、第1の補間点での第3成分の補間値を第1の補間点を囲む前記4個の画素の第3成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点での第2成分の補間値を、前記入力画像の画素のうちの第2の補間点を囲む4個の画素の第2成分に基づいて、および第2の補間点での第3成分の補間値を第2の補間点を囲む前記4個の画素の第3成分に基づいて、共1次内挿法によって算出する。 For the second component and the third component, the interpolation value of the second component at the first interpolation point of the two interpolation points is simultaneously calculated for each of the two interpolation points, and the first of the pixels of the input image. Based on the second component of the four pixels surrounding the interpolation point, the interpolation value of the third component at the first interpolation point is based on the third component of the four pixels surrounding the first interpolation point. Interpolation values of the second component at the second interpolation point different from the first interpolation point of the two interpolation points are the four pixels surrounding the second interpolation point of the pixels of the input image. And the interpolated value of the third component at the second interpolation point based on the third component of the four pixels surrounding the second interpolation point by bilinear interpolation calculate.
そして、補間値算出部によって算出された第1成分の補間値を第1成分、補間値算出部によって算出された第2成分の補間値を第2成分、および補間値算出部によって算出された第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データを変換後の画像データとする。さらに、出力ステップでは、変換ステップで変換された画像データを出力する。 Then, the interpolation value of the first component calculated by the interpolation value calculation unit is the first component, the interpolation value of the second component calculated by the interpolation value calculation unit is the second component, and the first value calculated by the interpolation value calculation unit is Image data representing an image composed of pixels having the third component interpolation value as the third component is defined as converted image data. Further, in the output step, the image data converted in the conversion step is output.
したがって、本発明に係る画像処理方法を適用すれば、3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出部として、たとえばハードウェアによって構成される回路を用いるので、補間値を算出するプログラムを実行して逐次計算するよりも短時間で3次たたみ込み内挿法による補間値を算出することができ、その補間値算出部を用いて、共1次内挿法によって算出される補間値を算出することができるので、共1次内挿法によって補間値を算出するためのハードウェアが不要であり、回路面積およびコストの低減化を図ることができる。すなわち、処理速度が早く、かつ回路面積およびコストを少なくすることができる。 Therefore, when the image processing method according to the present invention is applied, a circuit configured by hardware, for example, is used as an interpolation value calculation unit that calculates an interpolation value by a cubic convolution interpolation method or a bilinear interpolation method. Therefore, it is possible to calculate the interpolated value by the third-order convolution interpolation method in a shorter time than executing the program for calculating the interpolated value and sequentially calculating, and using the interpolated value calculating unit, Since the interpolation value calculated by the interpolation method can be calculated, hardware for calculating the interpolation value by the bilinear interpolation method is unnecessary, and the circuit area and cost can be reduced. That is, the processing speed is high, and the circuit area and cost can be reduced.
図1は、本発明の実施の一形態である画像処理装置1の概略の構成を示すブロック図である。画像処理装置1は、画像を変形する処理たとえば拡大、縮小あるいは回転などの処理を行う装置であり、入力画像メモリ11、補間演算部12および出力画像メモリ13を含んで構成される。本発明に係る画像処理方法は、画像処理装置1で処理される。
FIG. 1 is a block diagram showing a schematic configuration of an
入力画像メモリ11は、たとえばイメージセンサなどの入力手段である図示しない入力装置によって入力される画像を表す画像データを記憶するメモリである。入力画像メモリ11は、画像データを、画像データが示す画像を構成する各画素の成分の種類たとえば画像をYCbCr(Luma Chroma-blue Croma-red)方式で表した場合の輝度成分および色差成分などの種類ごとに記憶する。図1に示した画像データAがたとえば輝度成分を表すデータであり、画像データBがたとえば2つの色差成分のうちの1つの色差成分を表すデータである。
The
補間演算部12は、3次たたみ込み内挿法であるバイキュービック法、共1次内挿法であるバイリニア法およびニアレストネイバー法のうちのいずれかの補間方法を選択し、選択した補間方法を用いて補間値を算出することができる。補間演算部12は、これらの補間方法を用いることによって、指示手段である図示しない操作部によって指示される倍率で、入力画像を出力画像に変換する。
The
補間演算部12は、入力データ制御部121、補間処理部122、出力データ制御部123および入出力制御部124を含んで構成される。入力データ制御部121は、入出力制御部124から指示される画素で、かつその画素の成分のうち入出力制御部124から指示される成分を表す画素データを入力画像メモリ11から読み出し、読み出した画素データもしくは入出力制御部124から指示される値が「0」である成分のデータ、および入出力制御部124から指示される補間係数を、補間処理部122に入力する。補間係数は、補間値を算出すために必要な係数であり、バイキュービック法の補間係数、バイリニア法の補間係数およびニアレストネイバー法の補間係数がある。以下、補間係数のことを重み係数ともいう。
The
補間処理部122は、補間値を算出するための中間値を算出する論理回路であり、入力データ制御部121によって入力される入力データおよび重み係数に基づいて、中間値を算出し、算出した中間値を出力データ制御部123に入力する。出力データ制御部123は、補間処理部122から入力される中間値に対して、入出力制御部124から指示される画素の成分に対応する演算を行って補間値を算出し、算出した補間値を変換後の画像データとして出力画像メモリ13に書き込む。演算の必要がない場合は、補間処理部122から入力される中間値を補間値として扱い、その補間値を変換後の画像データとして出力画像メモリ13に書き込む。
The
入出力制御部124は、入力データ制御部121および出力データ制御部123を制御する。入力データ制御部121に対しては、入力画像メモリ11から読み出す画素データの画像および成分、値を「0」とする成分、ならびに重み係数を指示する。出力データ制御部123に対しては、補間値を算出する画素の成分を指示する。
The input /
出力画像メモリ13は、補間演算部12で演算される補間値つまり変換後の画像データを画像の成分ごとに記憶するメモリである。たとえば、画像データA’が輝度成分を表す画像データであり、画像データB’が2つの色差成分のうちの1つの色差成分を表す画像データである。出力画像メモリ13に記憶される画像データは、液晶ディスプレイあるいはプリンタなどの出力手段である図示しない出力装置に出力される。
The
入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13は、補間値算出手段あるいは補間値算出部である。入出力制御部124は、変換手段である。
The
図2は、入力画像メモリ11に記憶される画像データが示す画像を構成する各画素51の位置と補間点52の位置との関係を示す図である。各画素51は、格子状に配列され、各格子点に1つの画素51が配置される。XY座標軸における各格子点の位置は、X座標およびY座標ともに整数の値の位置である。
FIG. 2 is a diagram illustrating the relationship between the position of each
補間点52の位置は、入力画像の画素を出力画像に変換したとき、出力画像の画素を入力画像の座標系で表した位置であり、座標(u,v)で表す。補間点52での補間値をP(u,v)とする。バイキュービック法を用いて補間値P(u,v)(以下単に「P」ともいう)を算出する場合は、領域53内にある16個の画素、つまり補間点52を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素に基づいて算出し、バイリニア法を用いて補間値Pを算出する場合は、領域54内にある4個の画素、つまり補間点52を囲む4個の画素に基づいて算出する。
The position of the
図3は、図2に示した領域53を拡大した図である。画像データP11,P12,P13,P14,P21,P22,P23,P24,P31,P32,P33,P34,P41,P42,P43,P44(以下「P11〜P44」ともいう)は、領域53内にある各画素の演算対象の成分を示す。バイキュービック法を用いる場合、補間値P(u,v)は、式(1)〜(3)から算出することができる。変数x1〜x4は、補間点から領域53内にある16個の画素までのX軸方向の距離であり、変数y1〜y4は、補間点から領域53内にある16個の画素までのY軸方向の距離である。重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)は、式(3)の変数tに、式(2)によって求められる変数x1〜x4および変数y1〜y4を代入して求められる係数である。式(2),(3)における[]は、少数部分を切り捨てて整数部分をとるガウス記号である。
FIG. 3 is an enlarged view of the
x1=1+(u-[u]),x2=(u-[u]),x3=1-(u-[u]),x4=2-(u-[u]),
y1=1+(v-[v]),y2=(v-[v]),y3=1-(v-[v]),y4=2-(v-[v]) …(2)
f(t)=sin(πt)/(πt) …(3)
x 1 = 1 + (u- [u]), x 2 = (u- [u]), x 3 = 1- (u- [u]), x 4 = 2- (u- [u]),
y 1 = 1 + (v- [v]), y 2 = (v- [v]), y 3 = 1- (v- [v]), y 4 = 2- (v- [v])… (2)
f (t) = sin (πt) / (πt) (3)
式(3)に含まれるsin関数をディジタル的に演算することができないので、補間演算部12は、式(4)に示す積和演算のみで表現した近似式を用いて演算する。定数aは実数であり、定数aの値を変化させることによって補間特性を制御することができる。画像処理装置1では、定数aの値は、たとえば「−1」である。
Since the sine function included in Expression (3) cannot be calculated digitally, the
図4は、図2に示した領域54を拡大した図である。図2では、領域54内の4個の画素の成分はP22,P23,P32,P33であるが、図4では、一般化してPij,Pij+1,Pi+1j,Pi+1j+1で表している。変数iおよびjは、正の整数である。バイリニア法を用いる場合、補間値Pは、補間点を囲む4個の画素と補間点との距離に応じた重み係数を用いて、式(5),(6)から算出することができる。バイリニア法は、バイキュービック法と比べて、補間精度は低いが演算量が少ないという利点がある。式(6)における[]は、ガウス記号である。
P={(i+1)-u}{(j+1)-v}Pij+{(i+1)-u}(v-j)Pij+1
+{(u-i){(j+1)-v}Pi+1j+(u-i)(v-j)Pi+1j+1 …(5)
i=[u],j=[v] …(6)
FIG. 4 is an enlarged view of the
P = {(i + 1) -u} {(j + 1) -v} P ij + {(i + 1) -u} (vj) P ij + 1
+ {(ui) {(j + 1) -v} P i + 1j + (ui) (vj) P i + 1j + 1 (5)
i = [u], j = [v] (6)
図5は、ニアレストネイバー法を用いて補間値を求める例を説明するための図である。ニアレストネイバー法は、補間点を囲む画素に基づいて、式(7),(8)によって補間値を算出する。ニアレストネイバー法は、位置精度は最大で画素間隔の距離の1/2の距離がずれるが、元の画素の成分の値がそのまま適用され変化しないという利点がある。さらに、バイリニア法に比して演算量が少ない。式(8)における[]は、ガウス記号である。
P=Pmn …(7)
m=[u+0.5],n=[v+0.5] …(8)
FIG. 5 is a diagram for explaining an example in which an interpolation value is obtained using the nearest neighbor method. In the nearest neighbor method, an interpolation value is calculated by Expressions (7) and (8) based on pixels surrounding an interpolation point. The nearest neighbor method has the advantage that the position accuracy is maximum and the distance of ½ of the distance between the pixels is shifted, but the value of the original pixel component is applied as it is and does not change. Furthermore, the amount of calculation is small compared to the bilinear method. [] In Equation (8) is a Gaussian symbol.
P = P mn (7)
m = [u + 0.5], n = [v + 0.5] (8)
バイキュービック法の演算量とバイリニア法の演算量とを比較するために、それぞれの算出式を変形する。バイキュービック法については、式(1)を展開して、式(9)〜(13)に変形する。式(9)〜(12)によって算出されるPA〜PDは、最終的な補間値Pを求めるための途中結果である中間値であり、図3に示した16画素を左上の4画素、左下の4画素、右上の4画素、および右下の4画素に等分割した各4画素についての計算結果である。補間値Pは、中間値PA〜PDの和であり、式(13)によって算出される。
PA=P11f(x1)f(y1)+P21f(x2)f(y1)+P12f(x1)f(y2)+P22f(x2)f(y2) …(9)
PB=P31f(x3)f(y1)+P41f(x4)f(y1)+P32f(x3)f(y2)+P42f(x4)f(y2) …(10)
PC=P13f(x1)f(y3)+P23f(x2)f(y3)+P14f(x1)f(y4)+P24f(x2)f(y4) …(11)
PD=P33f(x3)f(y3)+P43f(x4)f(y3)+P34f(x3)f(y4)+P44f(x4)f(y4) …(12)
P=PA+PB+PC+PD …(13)
In order to compare the calculation amount of the bicubic method and the calculation amount of the bilinear method, the respective calculation formulas are modified. For the bicubic method, Formula (1) is expanded and transformed into Formulas (9) to (13). PA to PD calculated by the equations (9) to (12) are intermediate values that are intermediate results for obtaining the final interpolation value P, and the 16 pixels shown in FIG. These are the calculation results for each of the four pixels equally divided into four pixels, four upper right pixels, and four lower right pixels. The interpolation value P is the sum of the intermediate values PA to PD, and is calculated by the equation (13).
PA = P 11 f (x 1 ) f (y 1 ) + P 21 f (x 2 ) f (y 1 ) + P 12 f (x 1 ) f (y 2 ) + P 22 f (x 2 ) f ( y 2 ) (9)
PB = P 31 f (x 3 ) f (y 1 ) + P 41 f (x 4 ) f (y 1 ) + P 32 f (x 3 ) f (y 2 ) + P 42 f (x 4 ) f ( y 2 )… (10)
PC = P 13 f (x 1 ) f (y 3 ) + P 23 f (x 2 ) f (y 3 ) + P 14 f (x 1 ) f (y 4 ) + P 24 f (x 2 ) f ( y 4 )… (11)
PD = P 33 f (x 3 ) f (y 3 ) + P 43 f (x 4 ) f (y 3 ) + P 34 f (x 3 ) f (y 4 ) + P 44 f (x 4 ) f ( y 4 )… (12)
P = PA + PB + PC + PD… (13)
バイリニア法については、式(5),(6)を式(14),(15)に変形する。
f(x1)=(i+1)-u,f(x2)=u-i,f(y1)=(j+1)-v,f(y2)=v-j …(14)
P=f(x1)f(y1)Pij+ f(x1)f(y2)Pij+1+f(x2)f(y1))Pi+1j+f(x2)f(y2)Pi+1j+1
…(15)
For the bilinear method, equations (5) and (6) are transformed into equations (14) and (15).
f (x 1 ) = (i + 1) -u, f (x 2 ) = ui, f (y 1 ) = (j + 1) -v, f (y 2 ) = vj… (14)
P = f (x 1 ) f (y 1 ) P ij + f (x 1 ) f (y 2 ) P ij + 1 + f (x 2 ) f (y 1 )) P i + 1j + f (x 2 ) f (y 2 ) P i + 1j + 1
… (15)
重み係数については、バイリニア法は、補間点を囲む4個の画素に基づいて、式(14)によって算出するが、バイキュービック法は、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素に基づいて、式(2),(4)によって算出する。すなわち、バイキュービック法で重み係数を算出する演算量は、バイリニア法で重み係数を算出する演算量よりも多い。 As for the weighting coefficient, the bilinear method is calculated according to the equation (14) based on the four pixels surrounding the interpolation point. The bicubic method calculates the four pixels surrounding the interpolation point and the four pixels. Based on 16 pixels including 12 surrounding pixels, the calculation is performed using equations (2) and (4). That is, the amount of calculation for calculating the weighting coefficient by the bicubic method is larger than the amount of calculation for calculating the weighting coefficient by the bilinear method.
これらの重み係数は、倍率および補間精度が予め決まっている場合は、予め算出しておくことが可能である。予め算出した重み係数をテーブル化したデータとして記憶しておき、記憶されている重み係数を用いて補間計算を行うことによって、演算量を低減し、処理時間の短縮を図ることができる。 These weighting factors can be calculated in advance if the magnification and interpolation accuracy are determined in advance. By storing the weighting factors calculated in advance as tabulated data and performing interpolation calculation using the stored weighting factors, the amount of calculation can be reduced and the processing time can be shortened.
補間計算については、バイキュービック法の計算式である式(9)〜(12)と、バイリニア法の計算式である式(15)とを比較すると、式(15)の項の構成は、式(9)〜(12)のそれぞれの項の構成と同じである。したがって、重み係数をテーブル化したとしても、バイキュービック法での演算量は、バイリニア法での演算量の4倍であり、論理回路の構成によっては、バイキュービック法はバイリニア法よりも処理時間がかかる。 As for the interpolation calculation, when the formulas (9) to (12) that are the calculation formulas of the bicubic method are compared with the formula (15) that is the calculation formula of the bilinear method, the configuration of the term of the formula (15) is (9) It is the same as the structure of each term of (12). Therefore, even if the weighting factor is tabulated, the amount of computation in the bicubic method is four times the amount of computation in the bilinear method, and depending on the configuration of the logic circuit, the bicubic method requires more processing time than the bilinear method. Take it.
図6は、補間処理部122の構成を示すブロック図である。図6では、重み係数を予め算出したデータがテーブル化されて記憶される係数部125が追加されている。図1では、重み係数は、入出力制御部124で演算され、演算された重み係数が入出力制御部124から入力データ制御部121を介して補間処理部122に入力されたが、図6では、係数部125に記憶される重み係数が補間処理部122に入力され、処理時間の短縮を図っている。
FIG. 6 is a block diagram illustrating a configuration of the
補間処理部122は、8個の論理回路部(以下「CAL」という)31〜38を含んで構成される。バイキュービック法によって補間値を算出する場合、入力データ制御部121は、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16画素の画像データP11〜P44を補間処理部122に入力する。係数部125は、重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)を補間処理部122に入力する。補間処理部122は、各CAL31〜38で算出された中間値PA〜PDを出力し、出力データ制御部123に入力する。出力データ制御部123は、中間値PA〜PDを加算して補間値Pを出力する。
The
図7は、補間処理部122の論理回路図である。図8は、補間処理部122のうち中間値PAを算出する部分の論理回路図である。CAL31は、3つの乗算器311,312,314および1つの加算器313によって構成され、CAL33は、3つの乗算器331,332,334および1つの加算器333によって構成される。乗算器311,312,314,331,332,334はそれぞれ2つの入力の乗算を行い、加算器313,333はそれぞれ2つの入力の加算を行う。
FIG. 7 is a logic circuit diagram of the
乗算器311には、画像データP11および重み係数f(x1)が入力され、乗算器312には、画像データP21および重み係数f(x2)が入力される。加算器313には、乗算器311の出力および乗算器312の出力が入力され、乗算器314には、加算器313の出力および重み係数f(y1)が入力される。乗算器331には、画像データP12および重み係数f(x1)が入力され、乗算器332には、画像データP22および重み係数f(x2)が入力される。加算器333には、乗算器331の出力および乗算器332の出力が入力され、乗算器334には、加算器333の出力および重み係数f(y2)が入力される。CAL31の出力およびCAL33の出力は、加算器391に入力され、加算器391によって加算された値が中間値PAとして出力される。
The
中間値PBを出力するためのCAL32、CAL34および加算器392の組み合わせ、中間値PCを出力するためのCAL35、CAL37および加算器393の組み合わせ、ならびに中間値PDを出力するためのCAL36、CAL38および加算器394の組み合わせは、CAL31、CAL33および加算器391の組合せと同じ論理回路構成であり、重複を避けるために説明は省略する。
Combination of CAL32, CAL34 and
中間値PA〜PDは、式(9)〜(12)を変形した式(16)〜(19)に基づいて算出される。
PA={P11f(x1)+P21f(x2)}f(y1)+{P12f(x1)+P22f(x2)}f(y2) …(16)
PB={P31f(x3)+P41f(x4)}f(y1)+{P32f(x3)+P42f(x4)}f(y2) …(17)
PC={P13f(x1)+P23f(x2)}f(y3)+{P14f(x1)+P24f(x2)}f(y4) …(18)
PD={P33f(x3)+P43f(x4)}f(y3)+{P34f(x3)+P44f(x4)}f(y4) …(19)
Intermediate values PA to PD are calculated based on equations (16) to (19) obtained by modifying equations (9) to (12).
PA = {P 11 f (x 1 ) + P 21 f (x 2 )} f (y 1 ) + {P 12 f (x 1 ) + P 22 f (x 2 )} f (y 2 )… (16 )
PB = {P 31 f (x 3 ) + P 41 f (x 4 )} f (y 1 ) + {P 32 f (x 3 ) + P 42 f (x 4 )} f (y 2 )… (17 )
PC = {P 13 f (x 1 ) + P 23 f (x 2 )} f (y 3 ) + {P 14 f (x 1 ) + P 24 f (x 2 )} f (y 4 )… (18 )
PD = {P 33 f (x 3 ) + P 43 f (x 4 )} f (y 3 ) + {P 34 f (x 3 ) + P 44 f (x 4 )} f (y 4 )… (19 )
CAL31は、式(16)の第1項を演算する論理回路であり、CAL32は、式(17)の第1項を加算する論理回路であり、CAL33は、式(16)の第2項を加算する論理回路であり、CAL34は、式(17)の第2項を加算する論理回路であり、CAL35は、式(18)の第1項を加算する論理回路であり、CAL36は、式(19)の第1項を加算する論理回路であり、CAL37は、式(18)の第2項を加算する論理回路であり、CAL38は、式(19)の第2項を加算する論理回路である。 CAL31 is a logic circuit that calculates the first term of Equation (16), CAL32 is a logic circuit that adds the first term of Equation (17), and CAL33 is the second term of Equation (16). CAL34 is a logic circuit that adds the second term of Equation (17), CAL35 is a logic circuit that adds the first term of Equation (18), and CAL36 is 19) is a logic circuit for adding the first term of the equation, CAL37 is a logic circuit for adding the second term of the equation (18), and CAL38 is a logic circuit for adding the second term of the equation (19). is there.
CAL31〜38は、それぞれ3つの乗算器と1つの加算器から構成され、補間処理部122は、それらに4つの加算器を加えて構成される。すなわち合計で24個の乗算器と12個の加算器とから構成される。それに対して、補間処理部122を式(9)〜(12)に基づいて、論理構成すると、32個の乗算器と12個の加算器が必要になる。したがって、式(16)〜(19)に基づいて論理構成することによって、式(9)〜(12)に基づいて論理構成する場合よりも、乗算器を8個削減することができ、回路規模を小さくすることができる。
Each of the
図9は、補間演算部12を用いてバイリニア法による補間値を1つ算出するときに用いる画素データの配置を示す図である。補間演算部12は、バイリニア法によって補間値を1つ求める場合、領域54内の画素データつまり補間点を囲む4個の画素の画素データを用い、他の12個の画素データの値を「0」とする。
FIG. 9 is a diagram illustrating an arrangement of pixel data used when one interpolation value by the bilinear method is calculated using the
具体的には、補間演算部12は、補間点を囲む4個の画素の画素データP22,P32,P23,P33(以下「P22〜P33」という)を補間処理部122に入力し、16個の画素データP11〜P44のうち前記4個の画素データP22〜P33を除く他の12個の画素データとして「0」のデータを補間処理部122に入力する。そして、式(14)によって求めた重み係数f(x1)、f(x2)、f(y1)およびf(y2)を、式(9)〜(12)の項のうち入力される画素データの値が「0」でない項の重み係数、つまり画素データP22〜P33が含まれる項の重み係数f(x2)、f(x3)、f(y2)およびf(y3)として補間処理部122に入力し、式(9)〜(13)によって補間値Pを算出する。式(9)〜(12)の重み係数f(x1)、f(x4)、f(y1)およびf(y4)の値は、画像データの値が0であるのでどんな値でもよい。
Specifically, the
まず、式(9)〜(12)に、4個の画素データP22〜P33、16個の画素データP11〜P44のうち4個の画素データP22〜P33を除く他の12個の画素データとして「0」を代入すると、式(9)〜(12)は、それぞれ式(20)〜(23)と表される。
PA=0・f(x1)f(y1)+0・f(x2)f(y1)+0・f(x1)f(y2)+P22f(x2)f(y2) …(20)
PB=0・f(x3)f(y1)+0・f(x4)f(y1)+P32f(x3)f(y2)+0・f(x4)f(y2) …(21)
PC=0・f(x1)f(y3)+P23f(x2)f(y3)+0・f(x1)f(y4)+0・f(x2)f(y4) …(22)
PD=P33f(x3)f(y3)+0・f(x4)f(y3)+0・f(x3)f(y4)+0・f(x4)f(y4) …(23)
First, in Expressions (9) to (12), four pixel data P 22 to P 33 and 12 pixel data P 11 to P 44 other than the four pixel data P 22 to P 33 are excluded. When “0” is substituted as pixel data, Expressions (9) to (12) are expressed as Expressions (20) to (23), respectively.
PA = 0 ・ f (x 1 ) f (y 1 ) +0 ・ f (x 2 ) f (y 1 ) +0 ・ f (x 1 ) f (y 2 ) + P 22 f (x 2 ) f ( y 2 )… (20)
PB = 0 ・ f (x 3 ) f (y 1 ) +0 ・ f (x 4 ) f (y 1 ) + P 32 f (x 3 ) f (y 2 ) +0 ・ f (x 4 ) f ( y 2 )… (21)
PC = 0 ・ f (x 1 ) f (y 3 ) + P 23 f (x 2 ) f (y 3 ) +0 ・ f (x 1 ) f (y 4 ) +0 ・ f (x 2 ) f ( y 4 )… (22)
PD = P 33 f (x 3 ) f (y 3 ) +0 ・ f (x 4 ) f (y 3 ) +0 ・ f (x 3 ) f (y 4 ) +0 ・ f (x 4 ) f ( y 4 )… (23)
次に、式(20)〜(23)を変形すると式(24)〜(27)となる。
PA=P22f(x2)f(y2) …(24)
PB=P32f(x3)f(y2) …(25)
PC=P23f(x2)f(y3) …(26)
PD=P33f(x3)f(y3) …(27)
Next, equations (20) to (23) are transformed into equations (24) to (27).
PA = P 22 f (x 2 ) f (y 2 )… (24)
PB = P 32 f (x 3 ) f (y 2 )… (25)
PC = P 23 f (x 2 ) f (y 3 )… (26)
PD = P 33 f (x 3 ) f (y 3 )… (27)
さらに、式(24)〜(27)によって算出される中間値PA〜PDを式(13)に代入し、式(28)よって、補間値Pを算出する。
P=PA+PB+PC+PD=P22f(x2)f(y2)+P32f(x3)f(y2)+P23f(x2)f(y3)+P33f(x3)f(y3)
…(28)
Further, the intermediate values PA to PD calculated by the equations (24) to (27) are substituted into the equation (13), and the interpolation value P is calculated by the equation (28).
P = PA + PB + PC + PD = P 22 f (x 2 ) f (y 2 ) + P 32 f (x 3 ) f (y 2 ) + P 23 f (x 2 ) f (y 3 ) + P 33 f (x 3 ) f (y 3 )
… (28)
式(28)は、バイリニア法によって補間値を算出する式(15)の4個の画素データと重み係数とを置き換えた式である。換言すれば、12個の画像データの値を「0」とし、かつ重み係数をバイリニア法の重み係数とすれば、バイキュービック法によって補間値を算出する補間演算部12によって、バイリニア法による補間値を算出することができる。
Expression (28) is an expression obtained by replacing the four pixel data and weighting coefficient of Expression (15) for calculating the interpolation value by the bilinear method. In other words, if the value of 12 pieces of image data is set to “0” and the weighting factor is a weighting factor of the bilinear method, the interpolation value calculated by the bicubic method is used by the
たとえば、画素をYCbCr方式で表して、輝度成分であるY成分の補間値をバイキュービック法によって算出し、色差成分であるCb成分およびCr成分の補間値をバイリニア法によって算出する場合、補間演算部12は、まず、バイキュービック法によって第1成分の補間値であるY成分の補間値を算出し、次にバイリニア法によって第2成分の補間値であるCb成分の補間値を算出し、最後にバイリニア法によって第3成分の補間値であるCr成分の補間値を算出する。 For example, when the pixel is represented by the YCbCr system, the interpolation value of the Y component that is the luminance component is calculated by the bicubic method, and the interpolation value of the Cb component and the Cr component that are the color difference components is calculated by the bilinear method, 12 first calculates an interpolated value of the Y component that is the interpolated value of the first component by the bicubic method, then calculates an interpolated value of the Cb component that is the interpolated value of the second component by the bilinear method, and finally The Cr component interpolation value, which is the third component interpolation value, is calculated by the bilinear method.
図10は、補間演算部12を用いてバイリニア法による補間値を同時に4つ算出するときに用いる画素データの配置を示す図である。補間演算部12は、バイリニア法によって、2つの補間点についてのそれぞれ2つの色素成分つまり合計4つの色素成分について、同時に4つの補間値を求める場合、領域55内の4個の画素データP11,P21,P12,P22を1つの色差成分を求めるために用い、領域56内の4個の画素データP31,P41,P32,P42を1つの色差成分を求めるために用い、領域57内の4個の画素データP13,P23,P14,P24を1つの色差成分を求めるために用い、領域58内の4個の画素データP33,P43,P34,P44を1つの色差成分を求めるために用いる。
FIG. 10 is a diagram illustrating an arrangement of pixel data used when four interpolation values by the bilinear method are calculated simultaneously using the
具体的には、2つの補間点の画素のうち第1の補間点の画素のCb成分を求めるための4個の画素データのCb成分をPA22,PA23,PA32,PA33(以下「PA22〜PA33」という)とし、第1の補間点の画素のCr成分を求めるための4個の画素データのCr成分をPB22,PB23,PB32,PB33(以下「PB22〜PB33」という)とし、第2の補間点の画素のCb成分を求めるための4個の画素データのCb成分をPC22,PC23,PC32,PC33(以下「PC22〜PC33」という)とし、第2の補間点の画素のCr成分を求めるための4個の画素データのCr成分をPD22,PD23,PD32,PD33(以下「PD22〜PD33」という)とすると、補間演算部12は、第1の補間点を囲む4個の画素のCb成分の画素データPA22〜PA33を、16個の画素データP11〜P44のうちの4個の画素データP11,P21,P12,P22として補間処理部122に入力し、第1の補間点を囲む4個の画素のCr成分の画素データPB22〜PB33を、16個の画素データP11〜P44のうちの4個の画素データP31,P41,P32,P42として補間処理部122に入力し、第2の補間点を囲む4個の画素のCr成分の画素データPC22〜PC33を、16個の画素データP11〜P44のうちの4個の画素データP13,P23,P14,P24として補間処理部122に入力し、第2の補間点を囲む4個の画素のCr成分の画素データPD22〜PD33を、16個の画素データP11〜P44のうちの4個の画素データP33,P43,P34,P44として補間処理部122に入力する。
Specifically, among the pixels at the two interpolation points, the Cb components of the four pieces of pixel data for obtaining the Cb component of the pixel at the first interpolation point are referred to as PA 22 , PA 23 , PA 32 , PA 33 (hereinafter “ PA 22 to PA 33 ), and the Cr components of the four pieces of pixel data for obtaining the Cr component of the pixel at the first interpolation point are PB 22 , PB 23 , PB 32 , PB 33 (hereinafter referred to as “PB 22 ˜ PB 33 ”) and the Cb components of the four pieces of pixel data for obtaining the Cb component of the pixel at the second interpolation point are PC 22 , PC 23 , PC 32 , PC 33 (hereinafter“ PC 22 to PC 33 ”). And the Cr components of the four pieces of pixel data for obtaining the Cr component of the pixel at the second interpolation point as PD 22 , PD 23 , PD 32 , PD 33 (hereinafter referred to as “PD 22 to PD 33 ”). You If,
そして、第1の補間点のCb成分について式(14)によって求めた重み係数f(x1)、f(x2)、f(y1)およびf(y2)を、式(16)の重み係数f(x1)、f(x2)、f(y1)およびf(y2)として補間処理部122に入力し、第1の補間点のCr成分について式(14)によって求めた重み係数f(x1)、f(x2)、f(y1)およびf(y2)を、式(17)の重み係数f(x3)、f(x4)、f(y1)およびf(y2)として補間処理部122に入力し、第2の補間点のCb成分について式(14)によって求めた重み係数f(x1)、f(x2)、f(y1)およびf(y2)を、式(18)の重み係数f(x1)、f(x2)、f(y3)およびf(y4)として補間処理部122に入力し、第2の補間点のCr成分について式(14)によって求めた重み係数f(x1)、f(x2)、f(y1)およびf(y2)を、式(19)の重み係数f(x3)、f(x4)、f(y3)およびf(y4)として補間処理部122に入力する。これらの値を式(16)〜(19)に代入して変形すると、式(16)〜(19)は、それぞれ式(29)〜(32)と表される。
PA=PA22f(x1)f(y1)+PA32f(x2)f(y1)+PA23f(x1)f(y2)+PA33f(x2)f(y2) …(29)
PB=PB22f(x3)f(y1)+PB32f(x4)f(y1)+PB23f(x3)f(y2)+PB33f(x4)f(y2) …(30)
PC=PC22f(x1)f(y3)+PC32f(x2)f(y3)+PC23f(x1)f(y4)+PC33f(x2)f(y4) …(31)
PD=PD22f(x3)f(y3)+PD32f(x4)f(y3)+PD23f(x3)f(y4)+PD33f(x4)f(y4) …(32)
Then, the weighting factors f (x 1 ), f (x 2 ), f (y 1 ), and f (y 2 ) obtained by the equation (14) for the Cb component at the first interpolation point are expressed by the equation (16). The weighting factors f (x 1 ), f (x 2 ), f (y 1 ), and f (y 2 ) are input to the
PA = PA 22 f (x 1 ) f (y 1 ) + PA 32 f (x 2 ) f (y 1 ) + PA 23 f (x 1 ) f (y 2 ) + PA 33 f (x 2 ) f ( y 2 )… (29)
PB = PB 22 f (x 3 ) f (y 1 ) + PB 32 f (x 4 ) f (y 1 ) + PB 23 f (x 3 ) f (y 2 ) + PB 33 f (x 4 ) f ( y 2 )… (30)
PC = PC 22 f (x 1 ) f (y 3 ) + PC 32 f (x 2 ) f (y 3 ) + PC 23 f (x 1 ) f (y 4 ) + PC 33 f (x 2 ) f ( y 4 )… (31)
PD = PD 22 f (x 3 ) f (y 3 ) + PD 32 f (x 4 ) f (y 3 ) + PD 23 f (x 3 ) f (y 4 ) + PD 33 f (x 4 ) f ( y 4 )… (32)
式(29)〜(32)は、バイリニア法によって補間値を算出する式(15)の4個の画素データと重み係数とを置き換えた式である。換言すれば、画像データを2つの補間点のCb成分およびCr成分の画素データとし、かつ重み係数を2つの補間点でのCb成分およびCr成分を算出するためのバイリニア法の重み係数とすれば、バイキュービック法によって補間値を算出する補間演算部12によって、色差成分であるCb成分およびCr成分のバイリニア法による補間値を、2つの補間点について同時に算出することができる。
Expressions (29) to (32) are expressions in which the four pixel data and the weighting coefficient in Expression (15) for calculating the interpolation value by the bilinear method are replaced. In other words, if the image data is the pixel data of the Cb component and the Cr component at the two interpolation points, and the weighting factor is the weighting factor of the bilinear method for calculating the Cb component and the Cr component at the two interpolation points. The
たとえば、画素をYCbCr方式で表し、輝度成分であるY成分の補間値をバイキュービック法によって算出し、色差成分であるCb成分およびCr成分の補間値をバイリニア法によって算出する場合、補間演算部12は、まず、第1の補間点および第2の補間点について、バイキュービック法によって第1成分であるY成分の補間値をそれぞれ算出し、次にバイリニア法によって第2成分であるCb成分および第3成分であるCr成分の補間値を、第1の補間点および第2の補間点について同時に算出する。したがって、2つの補間点についての補間値を算出する場合、図9に示した場合は、バイキュービック法によって2回そしてバイリニア法によって4回合計6回の処理が必要であったが、補間演算部12の場合は、バイキュービック法によって2回そしてバイリニア法によって1回合計3回の処理で算出することができ、処理時間を1/2に低減することができる。
For example, when the pixel is represented by the YCbCr system, the Y component interpolation value that is the luminance component is calculated by the bicubic method, and the Cb component and Cr component interpolation values that are the color difference components are calculated by the bilinear method, the
図11は、本発明の実施の他の形態であるディジタルスチルカメラ2の構成を示すブロック図である。画像処理装置であるディジタルスチルカメラ2は、図1に示した画像処理装置1をディジタルスチルカメラに適用した例であり、入力装置20、画像メモリ21、サイズ変換処理部22、出力装置23および制御プロセッサ24を含んで構成される。本発明に係る画像処理方法は、ディジタルスチルカメラ2で処理される。
FIG. 11 is a block diagram showing a configuration of a digital
入力手段である入力装置20は、たとえばイメージセンサによって構成され、撮像した画像の画像データを、具体的には、画像をYCbCr方式で表す場合、輝度成分であるY成分ならびに色差成分であるCb成分およびCr成分の画像データに変換して、画像メモリ21に送り記憶させる。画像メモリ21は、たとえば半導体メモリあるいはハードディスク装置などの記憶装置によって構成され、入力装置20から受け取る画像データおよびサイズ変換処理部22から受け取る画像データを記憶する。
The
画像をYCbCr方式で表す場合、ディジタルスチルカメラ2は、輝度成分であるY成分の補間値をバイキュービック法によって算出し、色差成分であるCb成分およびCr成分の補間値をバイリニア法によって算出する。これは、人の目が色差成分よりも輝度成分のほうに敏感であることを利用したものであり、画質の劣化が少なく、かつ演算量を少なくする上で、非常に効果的である。さらに、色差成分であるCb成分およびCr成分の補間値を算出するために、バイキュービック法での算出に必要な補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16画素よりも少ない画素、つまり補間点を囲む4画素の成分で算出しているので、位置が離れているために生じる色の違いを低く抑えると共に、色ずれを防止することができる。
When the image is represented by the YCbCr system, the digital
サイズ変換処理部22は、画像入力部221、入力データ制御部222、補間処理部223、係数部224、出力データ制御部225、画像出力部226およびコントローラ部227を含んで構成される。
The size
画像入力部221は、たとえば半導体メモリによって構成される入力バッファ221aを含み、コントローラ部227から指示される画像データを画像メモリ21から読み出しし、読み出した画像データを入力バッファ221aに記憶する。具体的には、画像メモリ21に記憶される画像データのうち、コントローラ部227から指示される成分の画素データから、コントローラ部227から指示される画素についての画素データを選択して読み出し、読み出した画素データを入力バッファ221aに記憶する。
The
たとえばコントローラ部227から1つの補間点について輝度成分が指示されると、画像入力部221は、輝度成分つまりY成分の画素データから、コントローラ部227から指示される16個の画素、つまり補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む4×4の画素の画素データP11〜P44を選択して読み出し、読み出した16個の画素データP11〜P44を入力バッファ221aに記憶する。そして、入力バッファ221aに記憶した16個の画素データP11〜P44を入力データ制御部222に送る。
For example, when a luminance component is instructed for one interpolation point from the
あるいはコントローラ部227から1つの補間点について色差成分が指示されると、画像入力部221は、色差成分つまりCb成分およびCr成分の画素データから、コントローラ部227から指示される4個の画素のCb成分の画素データ、つまり補間点を囲む2×2の画素のCb成分の画素データ、および4個のCr成分の画素データ、つまり補間点を囲む2×2の画素のCb成分の画素データ、たとえば4個のCb成分の画素データPA22〜PA33および4個のCr成分のPB22〜PB33を選択して読み出し、読み出した4個のCb成分の画素データPA22〜PA33および4個のCr成分の画素データPB22〜PB33を入力バッファ221aに記憶する。
Alternatively, when the color difference component is instructed for one interpolation point from the
さらに、コントローラ部227から2つの補間点について色差成分が指示されると、画像入力部221は、色差成分つまりCb成分およびCr成分の画素データから、コントローラ部227から指示される第1の補間点を囲む4個の画素のCb成分の画素データおよび4個のCr成分の画素データ、たとえば4個のCb成分の画素データPA22〜PA33および4個のCr成分のPB22〜PB33、ならびにコントローラ部227から指示される第2の補間点を囲む4個の画素のCb成分の画素データおよび4個のCr成分の画素データ、たとえば4個のCb成分の画素データPC22〜PC33および4個のCr成分のPD22〜PD33を選択して読み出す。そして、読み出した第1の補間点についての4個のCb成分の画素データPA22〜PA33および4個のCr成分の画素データPB22〜PB33、ならびに第2の補間点についての4個のCb成分の画素データPC22〜PC33および4個のCr成分の画素データPD22〜PD33を入力バッファ221aに記憶する。
Furthermore, when the color difference component is instructed from the
入力データ制御部222は、画像入力部221から受け取る画素データを、補間処理部223への入力データに変換して、補間処理部223に送る。補間処理部223は、図1に示した補間処理部122と同じ回路構成であり、重複を避けるために回路構成の詳細な説明は省略する。補間処理部223は、入力データ制御部222から受け取る16個の画像データ、および係数部224から受け取る重み係数に基づいて、中間値PA〜PDを算出し、算出した中間値PA〜PDを出力データ制御部225に送る。
The input
記憶手段である係数部224は、たとえば不揮発性のメモリによって構成され、式(2),(4),(14)によって求められる重み係数を予め計算しテーブル化して記憶する。そして、係数部224に記憶する補間係数情報であるテーブルから、コントローラ部227から指示される重み係数を読み出し、読み出した重み係数を補間処理部223に入力する。
The
具体的には、係数部224は、コントローラ部227から輝度成分が指示されると、式(2),(4)から求められる重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)を係数部224に記憶するテーブルから読み出し、読み出した重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)を補間処理部223に送る。あるいは、コントローラ部227から色差成分が指示されると、式(14)から求められる重み係数f(x1)、f(x2)、f(y1)およびf(y2)を係数部224に記憶するテーブルから読み出し、読み出した重み係数f(x1)、f(x2)、f(y1)およびf(y2)を、それぞれ式(16)〜(19)の重み係数f(x1)〜(x4)およびf(y1)〜f(y4)として、補間処理部223に送る。
Specifically, when the luminance component is instructed from the
出力データ制御部225は、補間処理部223から受け取る中間値に基づいて補間値を算出し、算出した補間値を画像出力部226に送る。輝度成分については、補間処理部223から受け取る中間値PA〜PDを加算して補間値Pを求め、求めた補間値Pを画像出力部226に送る。色差成分については、補間処理部223から受け取る中間値PAを補間値PAとして、補間処理部223から受け取る中間値PBを補間値PBとして、補間処理部223から受け取る中間値PCを補間値PCとして、補間処理部223から受け取る中間値PDを補間値PDとして、画像出力部226に送る。
The output
画像出力部226は、たとえば半導体メモリによって構成される出力バッファ226aを含み、出力データ制御部225から受け取る補間値PをY成分の画素データとして、出力データ制御部225から受け取る補間値PAおよび補間値PBを第1の補間点についてのCb成分の画素データおよびCr成分の画素データとして、出力データ制御部225から受け取る補間値PCおよび補間値PDを第2の補間点についてのCb成分の画素データおよびCr成分の画素データとして、出力バッファ226aに記憶する。そして、出力バッファ226aに記憶するY成分の画素データ、あるいはCb成分の画素データおよびCr成分の画素データを画像メモリ21に送り記憶させる。
The
コントローラ部227は、たとえば半導体メモリによって構成される制御レジスタ227aを含み、制御レジスタ227aに記憶されるパラメータに基づいて、画像入力部221、入力データ制御部222、補間処理部223、係数部224、出力データ制御部225および画像出力部226を制御する。
The
制御レジスタ227aに記憶されるパラメータは、制御プロセッサ24およびコントローラ部227によって設定される。制御プロセッサ24によって設定されるパラメータは、画素を構成する成分、つまり輝度成分および色差成分のうち処理する成分を示す処理成分指定情報、入力画像のサイズを表す入力画像サイズ情報、および拡大または縮小する倍率を表す拡大縮小倍率情報などの情報を含む。
The parameters stored in the
制御プロセッサ24は、指示手段である図示しない操作部から、ユーザによって入力される情報に基づいて、入力画像サイズ情報および拡大縮小倍率情報などの情報を生成し、生成した情報をパラメータとして制御レジスタ227aに設定し記憶させる。制御レジスタ227aに記憶されるパラメータは、画像入力部221、入力データ制御部222、補間処理部223、係数部224、出力データ制御部225および画像出力部226から参照される。
The
コントローラ部227は、制御プロセッサ24から処理の開始を指示されると、サイズ変換処理を開始する。コントローラ部227は、制御レジスタ227aに記憶される入力画像サイズ情報および拡大縮小倍率情報などの情報に基づいて、出力画像サイズおよび出力画像の座標計算を行い、計算結果を制御レジスタ227aに記憶した後、画像入力部221、入力データ制御部222、補間処理部223、係数部224、出力データ制御部225および画像出力部226に動作の開始を指示する。
When instructed to start processing from the
動作の開始を指示された画像入力部221、入力データ制御部222、補間処理部223、係数部224、出力データ制御部225および画像出力部226は、制御レジスタ227aに記憶されるパラメータを参照することによって、コントローラ部227からの指示を受け処理を行う。
The
コントローラ部227は、補間値を算出するとき、2つの補間点単位で補間値を算出する。具体的には、2つの補間点のうち第1の補間点について輝度成分であるY成分の補間値をバイキュービック法によって算出し、次に第2の補間点について輝度成分であるY成分の補間値をバイキュービック法によって算出し、最後に第1の補間点および第2の補間点について色素成分であるCb成分およびCr成分の補間値を、図10に示したバイリニア法によって算出する。補間点の数が奇数であり、最後に1つ残った場合、その補間点については、輝度成分であるY成分の補間値をバイキュービック法によって算出し、次に色素成分であるCb成分およびCr成分の補間値を第1の補間点とし、かつ第2の補間点の係数を0として図10に示したバイリニア法によって算出する。
When calculating the interpolation value, the
出力手段である出力装置23は、液晶ディスプレイなどの表示装置よって構成され、制御プロセッサ24から指示される画像データを画像メモリ21から読み出し、読み出した画像データを表示装置に表示する。制御プロセッサ24は、たとえばプログラムおよびデータを記憶する記憶装置と、記憶装置に記憶されるプログラムを実行する中央処理装置(Central Processing Unit:以下「CPU」という)とを含んで構成される。CPUは、記憶装置に記憶されるプログラムを実行することによって、入力装置20、サイズ変換処理部22および出力装置23を制御する。
The
画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226は、補間値算出手段あるいは補間値算出部である。コントローラ部227および制御プロセッサ24は、変換手段である。
The
図12は、制御プロセッサ24および補間演算部22が実行するサイズ変換処理の処理手順を示すフローチャートである。サイズ変換処理は、色素成分の補間値を算出する場合、図10に示したように、2つの補間点について同時に4つの補間値を算出する場合の処理である。図12に示したフローチャートの前処理ステップで、入力装置20によって画像データが入力され、入力された画像データが画像メモリ21に記憶され、図示しない操作部から画像サイズを変更する倍率が指示されると、ステップA1に移る。
FIG. 12 is a flowchart showing the processing procedure of the size conversion process executed by the
ステップA1では、パラメータを設定する。具体的には、制御プロセッサ24は、処理成分指定情報、入力画像サイズ情報および拡大縮小倍率情報などの情報を生成し、生成した情報をパラメータとして制御レジスタ227aに設定し記憶させる。制御プロセッサ24は、制御レジスタ227aにパラメータを設定した後、処理の開始をコントローラ部227に指示する。コントローラ部227は、制御プロセッサ24から処理の開始を指示されると、処理を開始する。
In step A1, parameters are set. Specifically, the
ステップA2では、座標計算を行う。具体的には、コントローラ部227は、制御レジスタ227aに記憶される入力画像サイズ情報および拡大縮小倍率情報などの情報に基づいて、出力画像サイズおよび出力画像の座標計算を行い、計算結果を制御レジスタ227aに記憶した後、画像入力部221、入力データ制御部222、補間処理部223、係数部224、出力データ制御部225および画像出力部226に動作の開始を指示する。
In step A2, coordinate calculation is performed. Specifically, the
ステップA3では、入力画像データを取得する。具体的には、動作の開始を指示された画像入力部221は、制御レジスタ227aに記憶されたパラメータを参照し、参照したパラメータによって指示される画像データを画像メモリ21から読み出し、読み出した画像データを入力バッファ221aに記憶する。
In step A3, input image data is acquired. Specifically, the
たとえば参照した処理成分指定情報が輝度成分を指定していると、画像入力部221は、補間値を算出する補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素のY成分の画素データP11〜P44を画像メモリ21から読み出し、読み出した16個のY成分の画素データP11〜P44を入力バッファ221aに記憶する。あるいは参照した処理成分指定情報が色差成分を指定していると、第1の補間点を囲む4個の画素のCb成分の画素データPA22〜PA33およびCr成分の画素データPB22〜PB33、ならびに第2の補間点を囲む4個の画素のCb成分の画素データPC22〜PC33およびCr成分の画素データPD22〜PD33を読み出し、読み出した4個のCb成分の画素データPA22〜PA33および4個のCr成分の画素データPB22〜PB33、ならびに4個のCb成分の画素データPC22〜PC33および4個のCr成分の画素データPD22〜PD33を入力バッファ221aに記憶する。
For example, when the referred processing component designation information designates a luminance component, the
さらに、画像入力部221は、処理成分指定情報が輝度成分を指定している場合は、入力バッファ221aに記憶した16個のY成分の画素データP11〜P44を入力データ制御部222に送る。処理成分指定情報が色差成分を指定している場合は、入力バッファ221aに記憶した4個のCb成分の画素データPA22〜PA33および4個のCr成分の画素データPB22〜PB33、ならびに4個のCb成分の画素データPC22〜PC33および4個のCr成分の画素データPD22〜PD33を読み出し、読み出した4個のCb成分の画素データPA22〜PA33および4個のCr成分の画素データPB22〜PB33、ならびに4個のCb成分の画素データPC22〜PC33および4個のCr成分の画素データPD22〜PD33を、入力データ制御部222に送る。
Further, when the processing component designation information designates a luminance component, the
ステップA4では、補間計算処理を行う。具体的には、入力データ制御部222は、画像入力部221から受け取る16個の画素データを、補間処理部223への入力データとして補間処理部223に送る。補間処理部223への入力データへの変換が必要であれば、補間処理部223への入力データに変換して補間処理部223に送る。補間処理部223は、入力データ制御部222から受け取る16個の画像データP11〜P44、および係数部224から受け取る重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)に基づいて、中間値PA〜PDを算出し、算出した中間値PA〜PDを出力データ制御部225に送る。
In step A4, an interpolation calculation process is performed. Specifically, the input
出力データ制御部225は、補間処理部223から受け取る中間値に基づいて補間値を算出し、算出した補間値を画像出力部226に送る。輝度成分の場合は、中間値PA〜PDを加算して補間値Pを算出し、算出した補間値Pを画像出力部226に送る。色差成分の場合は、補間処理部223から受け取った中間値PA〜PDを補間値PA〜PDとして画像出力部226に送る。ステップA4の補間計算処理は、図13に示す補間計算処理を呼び出すことによって処理される。
The output
ステップA5では、出力画像データ送信を行う。具体的には、画像出力部226は、輝度成分の場合は、出力データ制御部225から受け取る補間値PをY成分の画素データとして出力バッファ226aに記憶し、色差成分の場合は、出力データ制御部225から受け取る補間値PA〜PDのうち、補間値PAを第1の補間点のCb成分の画素データとして、補間値PBを第1の補間点のCr成分の画素データとして、補間値PCを第2の補間点のCb成分の画素データとして、補間値PDを第2の補間点のCr成分の画素データとして出力バッファ226aに記憶する。そして、出力バッファ226aに記憶するY成分の画素データ、あるいはCb成分の画素データおよびCr成分の画素データを画像メモリ21に送り、出力画像データとして記憶させる。
In step A5, output image data is transmitted. Specifically, the
ステップA6では、すべての出力画像データを作成したか否かを判定する。コントローラ部227は、1つの色成分について、出力画像サイズに変換された出力画像のすべての画素について、出力画像データに変換されると、すべての出力画像データを作成したと判定し、ステップA7に進む。1つの色成分について、出力画像サイズに変換された出力画像のすべての画素について、出力画像データに変換されていないと、すべての出力画像データを作成していないと判定し、ステップA2に戻り、ステップA2〜ステップA5を繰り返す。
In step A6, it is determined whether all output image data has been created. When all the pixels of the output image converted into the output image size are converted into the output image data for one color component, the
ステップA7では、すべての色成分を処理したか否かを判定する。制御プロセッサ24は、すべての色成分つまり輝度成分および色差成分を処理したと判定すると、サイズ変換処理を終了し、すべての色成分つまり輝度成分および色差成分を処理していないと判定すると、制御レジスタ227aに記憶される処理成分指定情報を次の色成分に変更し、ステップA1に戻り、次の色成分について、ステップA1〜ステップA6を繰り返す。
In step A7, it is determined whether or not all color components have been processed. When the
図12に示したサイズ変換処理画像が終了すると、図12に示していない後処理ステップで、メモリ21に記憶される出力画像データは、出力装置23によって出力される。
When the size conversion processing image shown in FIG. 12 is completed, output image data stored in the
図13は、補間演算部22が実行する補間計算処理の処理手順を示すフローチャートである。図12に示したステップA4が実行されると、補間計算処理が呼び出され、ステップB1に移る。
FIG. 13 is a flowchart illustrating the processing procedure of the interpolation calculation process executed by the
ステップB1では、輝度成分の処理であるか否かが判定される。具体的には、入力データ制御部222および出力データ制御部225は、制御レジスタ227aに記憶される処理成分指定情報を参照し、処理成分指定情報が輝度成分を指定していると、輝度成分の処理であると判定し、ステップB2に進む。制御レジスタ227aに記憶される処理成分指定情報を参照し、処理成分指定情報が色差成分を指定していると、輝度成分の処理でないと判定し、ステップB3に進む。
In step B1, it is determined whether or not the process is a luminance component. Specifically, the input
ステップB2では、輝度成分の補間計算を行う。具体的には、入力データ制御部222は、画像入力部221から受け取る16個の画素データP11〜P44を、変換することなく入力データとして補間処理部223に送る。補間処理部223は、入力データ制御部222から受け取る16個の画像データP11〜P44、および係数部224から受け取る重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)に基づいて、中間値PA〜PDを算出し、算出した中間値PA〜PDを出力データ制御部225に送る。出力データ制御部225は、補間処理部223から受け取る中間値PA〜PDを加算して補間値Pを算出し、算出した補間値Pを画像出力部226に送り、補間計算処理を終了する。
In step B2, a luminance component interpolation calculation is performed. Specifically, the input
ステップB3では、入力データを生成する。具体的には、入力データ制御部222は、置き換え式である式(33)に従って、画像入力部221から受け取る4個のCb成分の画像データPA22〜PA33および4個のCr成分の画像データPB22〜PB33、ならびに4個のCb成分の画素データPC22〜PC33および4個のCr成分の画素データPD22〜PD33を、16個の画素データP11〜P44に置き換える。
P11=PA22,P12=PA23,P13=PC22,P14=PC23,P21=PA32,P22=PA33,P23=PC32,P24=PC33,
P31=PB22,P32=PB23,P33=PD22,P34=PD23,P41=PB32,P42=PB33,P43=PD32,P44=PD33 …(33)
In step B3, input data is generated. Specifically, the input
P 11 = PA 22 , P 12 = PA 23 , P 13 = PC 22 , P 14 = PC 23 , P 21 = PA 32 , P 22 = PA 33 , P 23 = PC 32 , P 24 = PC 33 ,
P 31 = PB 22 , P 32 = PB 23 , P 33 = PD 22 , P 34 = PD 23 , P 41 = PB 32 , P 42 = PB 33 , P 43 = PD 32 , P 44 = PD 33 … (33 )
入力データ制御部222は、置き換え後の16個の画素データP11〜P44を入力データとして補間処理部223に送る。
The input
ステップB4では、色差成分の補間計算を行う。具体的には、補間処理部223は、入力データ制御部222から受け取る16個の画像データP11〜P44、および係数部224から受け取る重み係数f(x1)〜f(x4)およびf(y1)〜f(y4)に基づいて、中間値PA〜PDを算出し、算出した中間値PA〜PDを出力データ制御部225に送る。
In step B4, interpolation calculation of color difference components is performed. Specifically, the
ステップB5では、出力データを生成して、補間計算処理を終了する。具体的には、出力データ制御部225は、補間処理部223から中間値PA〜PDを受け取ると、受け取った中間値PA〜PDを補間値PA〜PDとして画像出力部226に送り、補間計算処理を終了する。図12に示したステップA1〜A7は、変換ステップである。
In step B5, output data is generated and the interpolation calculation process is terminated. Specifically, when the output
上述した実施の形態では、輝度成分にバイキュービック法を、そして色差成分にバイリニア法を適用したが、適用する補間方法の組み合わせは、目的に応じて自由に変更してもよい。さらに、画像をYCbCr方式つまりYUV方式で表した画像データに対して適用したが、画像を他の方式たとえばRGB(Red Green Blue)方式あるいはYIQ(Luma
In-phase Quadrature)方式で表した画像データにも適用可能である。
In the above-described embodiment, the bicubic method is applied to the luminance component and the bilinear method is applied to the chrominance component. However, the combination of interpolation methods to be applied may be freely changed according to the purpose. Further, the image is applied to the image data represented by the YCbCr method, that is, the YUV method. However, the image may be applied to other methods such as RGB (Red Green Blue) method or YIQ (Luma
The present invention can also be applied to image data represented by an In-phase Quadrature) method.
上述した実施の形態では、補間演算部12を画像処理装置1に適用し、補間演算部22をディジタルスチルカメラ2に適用したが、補間演算部12あるいは補間演算部22は、補間計算を行う他の装置にも適用可能である。
In the above-described embodiment, the
このように、図示しない入力装置あるいは入力装置20によって、相互に異なるY成分、Cb成分およびCr成分からなる画素によって構成される画像を表す画像データが入力され、図示しない操作部によって、画像のサイズを変更する倍率が指示される。補間値算出手段、具体的には、入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226によって、3次たたみ込み内挿法または共1次内挿法によって補間値が算出される。
As described above, image data representing an image composed of pixels having different Y components, Cb components, and Cr components is input by the input device or the input device 20 (not shown), and the size of the image is input by the operation unit (not shown). The magnification for changing is indicated. Interpolation value calculating means, specifically,
入出力制御部124あるいはコントローラ部227および制御プロセッサ24によって、前記補間値算出手段を用いて、図示しない入力装置あるいは入力装置20によって入力される画像データが、図示しない操作部によって指示される倍率で変更したサイズの画像を表す画像データに変換される。図示しない出力装置あるいは出力装置23によって、入出力制御部124あるいはコントローラ部227および制御プロセッサ24によって変換される画像データが出力される。
The input /
さらに、入出力制御部124あるいはコントローラ部227および制御プロセッサ24によって、変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点でのY成分、Cb成分およびCr成分の補間値が、前記補間値算出手段によって算出されるとき、Y成分については、補間点ごとにそれぞれ、図示しない入力装置あるいは入力装置20によって入力される画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素のY成分に基づいて、3次たたみ込み内挿法によってY成分の補間値が算出される。
Further, by the input /
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点のCb成分の補間値が、前記入力画像の画素のうちの第1の補間点を囲む4個の画素のCb成分に基づいて、第1の補間点のCr成分の補間値が第1の補間点を囲む前記4個の画素のCr成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点のCb成分の補間値が、前記入力画像の画素のうちの第2の補間点を囲む4個の画素のCb成分に基づいて、および第2の補間点のCr成分の補間値が第2の補間点を囲む前記4個の画素のCr成分に基づいて、共1次内挿法によって算出される。 As for the second component and the third component, the interpolation value of the Cb component at the first interpolation point of the two interpolation points is the first interpolation among the pixels of the input image at the same time every two interpolation points. Based on the Cb component of the four pixels surrounding the point, the interpolation value of the Cr component of the first interpolation point is based on the Cr component of the four pixels surrounding the first interpolation point. The interpolation value of the Cb component of the second interpolation point different from the first interpolation point is based on the Cb components of the four pixels surrounding the second interpolation point of the pixels of the input image, and The interpolated value of the Cr component at the second interpolation point is calculated by bilinear interpolation based on the Cr components of the four pixels surrounding the second interpolation point.
そして、補間値算出手段によって算出される第1成分の補間値を第1成分、補間値算出手段によって算出される第2成分の補間値を第2成分、および補間値算出手段によって算出される第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データが変換後の画像データとされる。 Then, the interpolation value of the first component calculated by the interpolation value calculation means is the first component, the interpolation value of the second component calculated by the interpolation value calculation means is the second component, and the first value calculated by the interpolation value calculation means. Image data representing an image composed of pixels having the third component interpolation value as the third component is the converted image data.
そして、前記補間値算出手段によって算出されるY成分の補間値をY成分、前記補間値算出手段によって算出されるCb成分の補間値をCb成分、および前記補間値算出手段によって算出されるCr成分の補間値をCr成分とする画素によって構成される画像を表す画像データが変換後の画像データとされる。 The Y component interpolation value calculated by the interpolation value calculation means is the Y component, the Cb component interpolation value calculated by the interpolation value calculation means is the Cb component, and the Cr component is calculated by the interpolation value calculation means. The image data representing an image constituted by pixels having the interpolation value of Cr as the Cr component is the converted image data.
したがって、3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出手段として、たとえばハードウェア、具体的には、入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226を有しているので、補間値を算出するプログラムを実行して逐次計算するよりも短時間で3次たたみ込み内挿法による補間値を算出することができる。さらに、3次たたみ込み内挿法によって補間値を算出する前記ハードウェアを用いて、共1次内挿法によって算出される補間値を算出することができるので、共1次内挿法によって補間値を算出するためのハードウェアが不要であり、回路面積およびコストの低減化を図ることができる。すなわち、処理速度が早く、かつ回路面積およびコストの少ない回路で画像の補間を行うことができる。
Therefore, as an interpolation value calculation means for calculating an interpolation value by cubic convolution interpolation or bilinear interpolation, for example, hardware, specifically,
さらに、係数部125あるいは係数部224によって、3次たたみ込み内挿法によって補間値を算出するために必要なY成分の補間係数、および共1次内挿法によって補間値を算出するために必要なCb成分およびCr成分の補間係数を表すテーブルが記憶される。
Further, the
入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226によって、前記16個の画素のY成分、および係数部125あるいは係数部224に記憶されるテーブルが示すY成分の補間係数に基づいて、Y成分の補間値が算出される。
前記第1の補間点または第2の補間点を囲む4個の画素のCb成分、および係数部125あるいは係数部224に記憶されるテーブルが示すCb成分およびCr成分の補間係数に基づいて、Cb成分の補間値が算出され、前記第1の補間点または第2の補間点を囲む4個の画素のCr成分、および係数部125あるいは係数部224に記憶されるテーブルが示すCb成分およびCr成分の補間係数に基づいて、Cr成分の補間値が算出される。
Based on the Cb component of the four pixels surrounding the first interpolation point or the second interpolation point, and the interpolation coefficient of the Cb component and the Cr component indicated by the table stored in the
すなわち、補間値を計算するために必要な補間係数を内挿法ごとに予め計算して記憶しているので、補間値を算出する内挿法に応じて補間係数を選択することができ、さらに補間係数を算出するために必要な処理時間を削減することができる。 That is, since the interpolation coefficient necessary for calculating the interpolation value is calculated and stored in advance for each interpolation method, the interpolation coefficient can be selected according to the interpolation method for calculating the interpolation value. Processing time required to calculate the interpolation coefficient can be reduced.
さらに、入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226は、補間点の位置をXY座標系で表したとき、前記16個の画素のうちの1つの画素の第1成分とその第1成分に対応するX軸方向の第1の補間係数とを乗算する2つの第1の乗算器、たとえば乗算器311,312と、2つの第1の乗算器の出力を加算する第1の加算器、たとえば加算器313と、第1の加算器の出力と前記第1成分に対応するY軸方向の第1の補間係数とを乗算する第2の乗算器、たとえば乗算器314とを備える8つの論理回路部CAL31〜38と、8つの論理回路部CAL31〜38を4つのグループに分けたとき、各グループの2つの第2の乗算器の出力を加算する4つの第2の加算器391〜394とを含む。したがって、式(9)〜(12)によって回路を構成する場合よりも乗算器の数を低減することができる。
Furthermore, the
さらに、入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226によって、3次たたみ込み内挿法によって補間値が算出されるとき、前記16個の画素のY成分、および記憶手段に記憶される補間係数情報が示す第1の補間係数が、前記8つの論理回路部CAL31〜38に入力され、前記4つのグループの第2の加算器の出力が加算されることによって、Y成分の補間値が算出される。
Furthermore, the
さらに、共1次内挿法によって4つの補間値が算出されるとき、前記第1の補間点を囲む4個の画素のCb成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数が、前記4つのグループのうちの第1のグループの2つの論理回路部に入力され、第1のグループの出力が第1の補間点のCb成分の補間値とされる。前記第1の補間点を囲む4個の画素のCr成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数が、前記4つのグループのうちの第2のグループの2つの論理回路部に入力され、第2のグループの出力が第1の補間点のCr成分の補間値とされる。前記第2の補間点を囲む4個の画素のCb成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数が、前記4つのグループのうちの第3のグループの2つの論理回路部に入力され、第3のグループの出力が第2の補間点のCb成分の補間値とされる。そして、前記第2の補間点を囲む4個の画素のCr成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数が、前記4つのグループのうちの第4のグループの2つの論理回路部に入力され、第4のグループの出力が第2の補間点のCr成分の補間値とされる。 Further, when four interpolation values are calculated by the bilinear interpolation method, the Cb components of the four pixels surrounding the first interpolation point and the second interpolation coefficient information stored in the storage means are shown. The interpolation coefficient is input to the two logic circuit units of the first group of the four groups, and the output of the first group is used as the interpolation value of the Cb component at the first interpolation point. The Cr components of the four pixels surrounding the first interpolation point and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means are the two logics of the second group of the four groups. Input to the circuit unit, and the output of the second group is the interpolation value of the Cr component of the first interpolation point. The Cb components of the four pixels surrounding the second interpolation point and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means are two logics of the third group of the four groups. The output of the third group is input to the circuit unit, and the interpolation value of the Cb component of the second interpolation point is used. Then, the Cr components of the four pixels surrounding the second interpolation point and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means are 2 in the fourth group of the four groups. The fourth group output is used as an interpolation value of the Cr component at the second interpolation point.
したがって、3次たたみ込み内挿法については1つの補間値を算出し、共1次内挿法については4つの補間値を同時に算出することができる。 Therefore, one interpolation value can be calculated for the cubic convolution method, and four interpolation values can be calculated simultaneously for the bilinear interpolation method.
さらに、図12に示したフローチャートにおいて、図示しない前処理ステップでは、相互に異なるY成分、Cb成分およびCr成分からなる画素によって構成される画像を表す画像データを入力し、画像のサイズを変更する倍率を指示する。 Furthermore, in the pre-processing step (not shown) in the flowchart shown in FIG. 12, image data representing an image composed of pixels having different Y components, Cb components, and Cr components is input, and the size of the image is changed. Specify the magnification.
ステップA1〜A7では、3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出部、具体的には入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226によって、図示しないステップで入力された画像データを、図示しない前処理ステップで指示された倍率で変更したサイズの画像を表す画像データに変換するにあたって、変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値を、前記補間値算出部によって算出するとき、第1成分については、補間点ごとにそれぞれ、図示しない前処理ステップで入力された画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素のY成分に基づいて、3次たたみ込み内挿法によってY成分の補間値を算出する。
In steps A1 to A7, an interpolation value calculation unit that calculates an interpolation value by a cubic convolution interpolation method or a bilinear interpolation method, specifically, the
さらに、第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点のCb成分の補間値を、前記入力画像の画素のうちの第1の補間点を囲む4個の画素のCb成分に基づいて、第1の補間点のCr成分の補間値を第1の補間点を囲む前記4個の画素のCr成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点のCb成分の補間値を、前記入力画像の画素のうちの第2の補間点を囲む4個の画素のCb成分に基づいて、および第2の補間点のCr成分の補間値を第2の補間点を囲む前記4個の画素のCr成分に基づいて、共1次内挿法によって算出する。 Further, with respect to the second component and the third component, the interpolation value of the Cb component at the first interpolation point of the two interpolation points is simultaneously set to the first of the pixels of the input image for every two interpolation points. Based on the Cb component of the four pixels surrounding the interpolation point, the interpolation value of the Cr component of the first interpolation point is calculated based on the Cr component of the four pixels surrounding the first interpolation point. The interpolation value of the Cb component of the second interpolation point different from the first interpolation point among the points is based on the Cb components of the four pixels surrounding the second interpolation point of the pixels of the input image. And the interpolated value of the Cr component of the second interpolation point is calculated by bilinear interpolation based on the Cr components of the four pixels surrounding the second interpolation point.
そして、前記補間値算出部によって算出されたY成分の補間値をY成分、前記補間値算出部によって算出されたCb成分の補間値をCb成分、および前記補間値算出部によってによって算出されたCr成分の補間値をCr成分とする画素によって構成される画像を表す画像データを変換後の画像データとする。さらに、図示しない後処理ステップでは、ステップA1〜A7で変換された画像データを出力する。 Then, the interpolation value of the Y component calculated by the interpolation value calculation unit is the Y component, the interpolation value of the Cb component calculated by the interpolation value calculation unit is the Cb component, and Cr is calculated by the interpolation value calculation unit. Image data representing an image composed of pixels whose component interpolation values are Cr components is assumed to be converted image data. Further, in a post-processing step (not shown), the image data converted in steps A1 to A7 is output.
したがって、本発明に係る画像処理方法を適用すれば、3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出部として、たとえばハードウェア、具体的には、入力画像メモリ11、入力データ制御部121、補間処理部122、出力データ制御部123および出力画像メモリ13あるいは画像メモリ21、画像入力部221、入力データ制御部222、補間処理部223、出力データ制御部225および画像出力部226を用いるので、補間値を算出するプログラムを実行して逐次計算するよりも短時間で3次たたみ込み内挿法による補間値を算出することができる。そして、3次たたみ込み内挿法によって補間値を算出する前記ハードウェアを用いて、共1次内挿法によって算出される補間値を算出することができるので、共1次内挿法によって補間値を算出するためのハードウェアが不要であり、回路面積およびコストの低減化を図ることができる。すなわち、処理速度が早く、かつ回路面積およびコストを少なくすることができる。
Therefore, when the image processing method according to the present invention is applied, as an interpolation value calculation unit that calculates an interpolation value by a cubic convolution interpolation method or a bilinear interpolation method, for example, hardware, specifically, an
1 画像処理装置
2 ディジタルスチルカメラ
11,101 入力画像メモリ
12,102 補間演算部
13,103 出力画像メモリ
20 入力装置
21 画像メモリ
22 サイズ変換処理部
23 出力装置
24 制御プロセッサ
31〜38 CAL
51 画素
52 補間点
221 画像入力部
221a 入力バッファ
121,222 入力データ制御部
122,223 補間処理部
123,225 出力データ制御部
124 入出力制御部
125,224 係数部
226 画像出力部
226a 出力バッファ
227 コントローラ部
227a 制御レジスタ
311,312,314,331,332,334 乗算器
313,333,391〜394 加算器
DESCRIPTION OF
51
Claims (5)
画像のサイズを変更する倍率を指示する指示手段と、
3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出手段と、
補間値算出手段を用いて、入力手段によって入力される画像データを、指示手段によって指示される倍率で変更したサイズの画像を表す画像データに変換する変換手段と、
変換手段によって変換される画像データを出力する出力手段とを含み、
変換手段は、変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値を補間値算出手段によって算出させるとき、
第1成分については、補間点ごとにそれぞれ、入力手段によって入力される画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素の第1成分に基づいて、3次たたみ込み内挿法によって第1成分の補間値を算出させ、
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点での第2成分の補間値を、前記入力画像の画素のうちの第1の補間点を囲む4個の画素の第2成分に基づいて、第1の補間点での第3成分の補間値を第1の補間点を囲む前記4個の画素の第3成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点での第2成分の補間値を、前記入力画像の画素のうちの第2の補間点を囲む4個の画素の第2成分に基づいて、および第2の補間点での第3成分の補間値を第2の補間点を囲む前記4個の画素の第3成分に基づいて、共1次内挿法によって算出させ、
補間値算出手段によって算出される第1成分の補間値を第1成分、補間値算出手段によって算出される第2成分の補間値を第2成分、および補間値算出手段によって算出される第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データを変換後の画像データとすることを特徴とする画像処理装置。 Input means for inputting image data representing an image constituted by pixels composed of mutually different first to third components;
An instruction means for instructing a magnification for changing the size of the image;
Interpolation value calculating means for calculating an interpolation value by a cubic convolution interpolation method or a bilinear interpolation method;
Conversion means for converting the image data input by the input means into image data representing an image having a size changed by the magnification indicated by the instruction means, using the interpolation value calculation means;
Output means for outputting image data converted by the conversion means,
When the conversion means causes the interpolation value calculation means to calculate the interpolation values of the first to third components at the interpolation points that are positions corresponding to the pixels of the image indicated by the image data after conversion in the coordinate system before conversion,
For the first component, for each interpolation point, among the pixels of the input image indicated by the image data input by the input means, four pixels surrounding the interpolation point and twelve pixels surrounding the four pixels are included. Based on the first component of the 16 pixels including, the interpolation value of the first component is calculated by the third-order convolution interpolation method,
For the second component and the third component, the interpolation value of the second component at the first interpolation point of the two interpolation points is simultaneously calculated for each of the two interpolation points, and the first of the pixels of the input image. Based on the second component of the four pixels surrounding the interpolation point, the interpolation value of the third component at the first interpolation point is based on the third component of the four pixels surrounding the first interpolation point. Interpolation values of the second component at the second interpolation point different from the first interpolation point of the two interpolation points are the four pixels surrounding the second interpolation point of the pixels of the input image. And the interpolated value of the third component at the second interpolation point based on the third component of the four pixels surrounding the second interpolation point by bilinear interpolation Let me calculate
The interpolation value of the first component calculated by the interpolation value calculation means is the first component, the interpolation value of the second component calculated by the interpolation value calculation means is the second component, and the third component is calculated by the interpolation value calculation means. An image processing apparatus characterized in that image data representing an image composed of pixels having a third component as an interpolation value is used as converted image data.
前記補間値算出手段は、
前記16個の画素の第1成分、および記憶手段に記憶される補間係数情報が示す第1の補間係数に基づいて、前記第1成分の補間値を算出し、
前記第1の補間点または第2の補間点を囲む4個の画素の第2成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数に基づいて、前記第2成分の補間値を算出し、
前記第1の補間点または第2の補間点を囲む4個の画素の第3成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数に基づいて、前記第3成分の補間値を算出することを特徴とする請求項1に記載の画像処理装置。 Interpolation coefficient information representing the first interpolation coefficient necessary for calculating the interpolation value by the cubic convolution interpolation method and the second interpolation coefficient necessary for calculating the interpolation value by the bilinear interpolation method Further includes storage means for storing
The interpolation value calculating means includes
Based on the first component of the 16 pixels and the first interpolation coefficient indicated by the interpolation coefficient information stored in the storage means, the interpolation value of the first component is calculated,
Interpolation of the second component based on the second component of the four pixels surrounding the first interpolation point or the second interpolation point and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means Calculate the value,
Interpolation of the third component based on the third component of the four pixels surrounding the first interpolation point or the second interpolation point and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means The image processing apparatus according to claim 1, wherein a value is calculated.
補間点の位置をXY座標系で表したとき、前記16個の画素のうちの1つの画素の第1成分とその第1成分に対応するX軸方向の第1の補間係数とを乗算する2つの第1の乗算器と、2つの第1の乗算器の出力を加算する第1の加算器と、第1の加算器の出力と前記第1成分に対応するY軸方向の第1の補間係数とを乗算する第2の乗算器とを備える8つの論理回路部と、
8つの論理回路部を4つのグループに分けたとき、各グループの2つの第2の乗算器の出力を加算する4つの第2の加算器とを含むことを特徴とする請求項2に記載の画像処理装置。 The interpolation value calculating means includes
When the position of the interpolation point is expressed in the XY coordinate system, the first component of one of the 16 pixels is multiplied by the first interpolation coefficient in the X-axis direction corresponding to the first component 2 A first adder for adding the outputs of the two first multipliers, and a first interpolation in the Y-axis direction corresponding to the output of the first adder and the first component Eight logic circuit units comprising a second multiplier for multiplying the coefficients;
3. The four second adders for adding the outputs of the two second multipliers of each group when the eight logic circuit units are divided into four groups. Image processing device.
3次たたみ込み内挿法によって補間値を算出するとき、前記16個の画素の第1成分、および記憶手段に記憶される補間係数情報が示す第1の補間係数を、前記8つの論理回路部に入力し、前記4つのグループの第2の加算器の出力を加算することによって、前記第1成分の補間値を算出し、
共1次内挿法によって4つの補間値を算出するとき、前記第1の補間点を囲む4個の画素の第2成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数を前記4つのグループのうちの第1のグループの2つの論理回路部に入力し、第1のグループの出力を第1の補間点での第2成分の補間値とし、前記第1の補間点を囲む4個の画素の第3成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数を前記4つのグループのうちの第2のグループの2つの論理回路部に入力し、第2のグループの出力を第1の補間点での第3成分の補間値とし、前記第2の補間点を囲む4個の画素の第2成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数を前記4つのグループのうちの第3のグループの2つの論理回路部に入力し、第3のグループの出力を第2の補間点での第2成分の補間値とし、前記第2の補間点を囲む4個の画素の第3成分、および記憶手段に記憶される補間係数情報が示す第2の補間係数を前記4つのグループのうちの第4のグループの2つの論理回路部に入力し、第4のグループの出力を第2の補間点での第3成分の補間値とすることを特徴とする請求項3に記載の画像処理装置。 The interpolation value calculating means includes
When the interpolation value is calculated by the cubic convolution interpolation method, the eight logic circuit units represent the first interpolation coefficient indicated by the first component of the 16 pixels and the interpolation coefficient information stored in the storage means. And calculating the interpolated value of the first component by adding the outputs of the second adders of the four groups,
When four interpolation values are calculated by bilinear interpolation, the second component of the four pixels surrounding the first interpolation point and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means Are input to two logic circuit units of the first group of the four groups, and the output of the first group is set as the interpolation value of the second component at the first interpolation point, and the first interpolation point The third component of the four pixels surrounding the second interpolation coefficient and the second interpolation coefficient indicated by the interpolation coefficient information stored in the storage means are input to the two logic circuit sections of the second group of the four groups, The output of the second group is the third component interpolation value at the first interpolation point, the second component of the four pixels surrounding the second interpolation point, and the interpolation coefficient information stored in the storage means Two theory of the third group out of the four groups indicating the second interpolation factor Input to the circuit unit, the output of the third group as the second component interpolation value at the second interpolation point, the third component of the four pixels surrounding the second interpolation point, and stored in the storage means The second interpolation coefficient indicated by the interpolation coefficient information to be input is input to the two logic circuit sections of the fourth group of the four groups, and the output of the fourth group is the third at the second interpolation point. The image processing apparatus according to claim 3, wherein an interpolated value of the component is used.
画像のサイズを変更する倍率を指示する指示ステップと、
3次たたみ込み内挿法または共1次内挿法によって補間値を算出する補間値算出部によって、入力ステップで入力された画像データを、指示ステップで指示された倍率で変更したサイズの画像を表す画像データに変換する変換ステップであって、
変換前の座標系において変換後の画像データが示す画像の画素に対応する位置である補間点での第1〜第3成分の補間値を補間値算出部によって算出するとき、
第1成分については、補間点ごとにそれぞれ、入力ステップで入力された画像データが示す入力画像の画素のうち、補間点を囲む4個の画素およびこの4個の画素を囲む12個の画素を含む16個の画素の第1成分に基づいて、3次たたみ込み内挿法によって第1成分の補間値を算出し、
第2成分および第3成分については、2つの補間点ごとに同時に、2つの補間点のうちの第1の補間点での第2成分の補間値を、前記入力画像の画素のうちの第1の補間点を囲む4個の画素の第2成分に基づいて、第1の補間点での第3成分の補間値を第1の補間点を囲む前記4個の画素の第3成分に基づいて、2つの補間点のうちの第1の補間点とは異なる第2の補間点での第2成分の補間値を、前記入力画像の画素のうちの第2の補間点を囲む4個の画素の第2成分に基づいて、および第2の補間点での第3成分の補間値を第2の補間点を囲む前記4個の画素の第3成分に基づいて、共1次内挿法によって算出し、
補間値算出部によって算出された第1成分の補間値を第1成分、補間値算出部によって算出された第2成分の補間値を第2成分、および補間値算出部によって算出された第3成分の補間値を第3成分とする画素によって構成される画像を表す画像データを変換後の画像データとする変換ステップと、
変換ステップで変換された画像データを出力する出力ステップとを含むことを特徴とする画像処理方法。 An input step of inputting image data representing an image constituted by pixels composed of mutually different first to third components;
An instruction step for instructing a magnification for changing the size of the image;
An image having a size obtained by changing the image data input in the input step by the magnification specified in the instruction step by the interpolation value calculation unit that calculates the interpolation value by the cubic convolution interpolation method or the bilinear interpolation method. A conversion step for converting into image data representing,
When the interpolation value calculation unit calculates the interpolation values of the first to third components at the interpolation point that is the position corresponding to the pixel of the image indicated by the image data after conversion in the coordinate system before conversion,
For the first component, for each interpolation point, among the pixels of the input image indicated by the image data input in the input step, four pixels surrounding the interpolation point and twelve pixels surrounding the four pixels are included. Calculating an interpolated value of the first component by a third-order convolution method based on the first component of the 16 pixels included;
For the second component and the third component, the interpolation value of the second component at the first interpolation point of the two interpolation points is simultaneously calculated for each of the two interpolation points, and the first of the pixels of the input image. Based on the second component of the four pixels surrounding the interpolation point, the interpolation value of the third component at the first interpolation point is based on the third component of the four pixels surrounding the first interpolation point. Interpolation values of the second component at the second interpolation point different from the first interpolation point of the two interpolation points are the four pixels surrounding the second interpolation point of the pixels of the input image. And the interpolated value of the third component at the second interpolation point based on the third component of the four pixels surrounding the second interpolation point by bilinear interpolation Calculate
The interpolation value of the first component calculated by the interpolation value calculator is the first component, the interpolation value of the second component calculated by the interpolation value calculator is the second component, and the third component calculated by the interpolation value calculator A conversion step of converting image data representing an image constituted by pixels having the interpolation value of the third component into image data after conversion;
An image processing method comprising: an output step of outputting the image data converted in the conversion step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008285994A JP2010113554A (en) | 2008-11-06 | 2008-11-06 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008285994A JP2010113554A (en) | 2008-11-06 | 2008-11-06 | Image processing apparatus and image processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010113554A true JP2010113554A (en) | 2010-05-20 |
Family
ID=42302067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008285994A Pending JP2010113554A (en) | 2008-11-06 | 2008-11-06 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010113554A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011152531A1 (en) * | 2010-06-03 | 2011-12-08 | 株式会社ニコン | Image capture device |
-
2008
- 2008-11-06 JP JP2008285994A patent/JP2010113554A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011152531A1 (en) * | 2010-06-03 | 2011-12-08 | 株式会社ニコン | Image capture device |
JP2011253431A (en) * | 2010-06-03 | 2011-12-15 | Nikon Corp | Imaging apparatus |
US8941771B2 (en) | 2010-06-03 | 2015-01-27 | Nikon Corporation | Image-capturing device |
US9494766B2 (en) | 2010-06-03 | 2016-11-15 | Nikon Corporation | Image-capturing device |
CN106842386A (en) * | 2010-06-03 | 2017-06-13 | 株式会社尼康 | Filming apparatus |
US9992393B2 (en) | 2010-06-03 | 2018-06-05 | Nikon Corporation | Image-capturing device |
CN106842386B (en) * | 2010-06-03 | 2019-08-30 | 株式会社尼康 | Filming apparatus |
US10511755B2 (en) | 2010-06-03 | 2019-12-17 | Nikon Corporation | Image-capturing device |
US10955661B2 (en) | 2010-06-03 | 2021-03-23 | Nikon Corporation | Image-capturing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Learned image downscaling for upscaling using content adaptive resampler | |
JP5914045B2 (en) | Image processing apparatus, image processing method, and program | |
JPH05502534A (en) | Digital image denoising system and method | |
JP2007193508A (en) | Image processor and image processing program | |
JP2001054123A (en) | Image processing unit | |
JP2014086956A (en) | Image processing apparatus and image processing method | |
JP3830304B2 (en) | Interpolation method and apparatus | |
CN106296614B (en) | Image processing apparatus and image processing method | |
JP2011199407A (en) | Imaging device, image processor, and image processing method | |
JP2010113554A (en) | Image processing apparatus and image processing method | |
WO2014156669A1 (en) | Image processing device and image processing method | |
JP2020017229A (en) | Image processing apparatus, image processing method and image processing program | |
JP5482589B2 (en) | Image processing apparatus, image processing method, and image processing program | |
JP2009140091A (en) | Image processing apparatus and image processing method | |
JP2006238188A (en) | Interpolation filter and video signal processing device | |
JP4265363B2 (en) | Image processing device | |
JP4265362B2 (en) | Image processing device | |
JP2010033406A (en) | Image processing device, image device, and image processing method | |
JP4693649B2 (en) | Image processing apparatus and image data interpolation method | |
JP4345027B2 (en) | Image processing program and image processing apparatus | |
JP2005293265A (en) | Image processing device, and method | |
KR102548993B1 (en) | Image scaling system and method for supporting various image mode | |
JP2006060629A (en) | Image processor, imaging device and image processing program | |
JP3655814B2 (en) | Enlarged image generation apparatus and method | |
JP4590973B2 (en) | Image processing apparatus and image processing method |