JP2016091060A - Image processing apparatus, image processing method, and program - Google Patents

Image processing apparatus, image processing method, and program Download PDF

Info

Publication number
JP2016091060A
JP2016091060A JP2014220726A JP2014220726A JP2016091060A JP 2016091060 A JP2016091060 A JP 2016091060A JP 2014220726 A JP2014220726 A JP 2014220726A JP 2014220726 A JP2014220726 A JP 2014220726A JP 2016091060 A JP2016091060 A JP 2016091060A
Authority
JP
Japan
Prior art keywords
image data
pixel
order tensor
processing apparatus
value
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
Application number
JP2014220726A
Other languages
Japanese (ja)
Inventor
檜垣 欣成
Kinsei Higaki
欣成 檜垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014220726A priority Critical patent/JP2016091060A/en
Publication of JP2016091060A publication Critical patent/JP2016091060A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a device for reducing a processing amount when making a plurality of images high definition to achieve high definition.SOLUTION: An image processing apparatus includes: first generation means for generating a high order tensor of 3 order or more from input image data indicating an image; and second generation means for generating output image data which is image data obtained by making the input image data high definition by using the high order tensor.SELECTED DRAWING: Figure 3

Description

本発明は、画像の高解像度化を行う技術に関する。   The present invention relates to a technique for increasing the resolution of an image.

複数の低解像度画像から高解像度画像を生成する画像処理技術として、複数の低解像度画像間に存在するサブ画素単位の位置ずれを利用して、反復演算により画素の補間を行い、画素数の増大と高周波成分の復元とを同時に行う手法が存在する(特許文献1)。このような高解像度化処理のアルゴリズムとして、MAP(Maximum A Posterior)法、POCS(Projection On to Convex Sets)法などがある。   As an image processing technology that generates high-resolution images from multiple low-resolution images, the number of pixels is increased by performing pixel interpolation through iterative operations using positional displacement in units of subpixels that exist between multiple low-resolution images. And a method for simultaneously restoring high-frequency components (Patent Document 1). Such high resolution processing algorithms include a MAP (Maximum A Poster) method and a POCS (Projection On to Convex Sets) method.

特許5197446号公報Japanese Patent No. 5197446

しかしながら、特許文献1に記載の技術を用いて高解像度化処理を行った場合、生成される高解像度画像は1枚だけであり、複数の低解像度画像の各々に対応する高解像度画像を得るためには高解像度化処理を複数回行う必要があった。さらに、特許文献1に記載の技術で画像の高解像度化を行う場合には、各画像間で位置合わせを行ったり、観測モデルに基づく反復演算を行ったりする必要があり、高解像度化処理のために膨大な計算コストが必要であった。ここで、観測モデルとは、撮像装置の光学系や撮像素子に起因する像の劣化のモデルであり、一般に点像強度分布やダウンサンプリングの情報を含む。そこで本発明は、複数の画像を高解像度化する際の計算コストの低減を目的とする。   However, when high resolution processing is performed using the technique described in Patent Document 1, only one high resolution image is generated, and a high resolution image corresponding to each of a plurality of low resolution images is obtained. It was necessary to perform high resolution processing multiple times. Furthermore, in the case of increasing the resolution of an image using the technique described in Patent Document 1, it is necessary to perform alignment between the images or perform an iterative calculation based on an observation model. Therefore, enormous calculation cost was necessary. Here, the observation model is a model of image degradation caused by the optical system or image sensor of the image pickup apparatus, and generally includes point image intensity distribution and downsampling information. In view of the above, an object of the present invention is to reduce the calculation cost when increasing the resolution of a plurality of images.

上記課題を解決するために本発明に係る画像処理装置は、画像を示す入力画像データから3次元以上の高階テンソルを生成する第一の生成手段と、前記高階テンソルを用いて、前記入力画像データを高解像度化した画像データである出力画像データを生成する第二の生成手段とを有する。   In order to solve the above problems, an image processing apparatus according to the present invention uses first generation means for generating a three-dimensional or higher order tensor from input image data representing an image, and the input image data using the higher order tensor. And second generation means for generating output image data which is image data with a higher resolution.

本発明によれば、画像データから生成した3次元以上の高階テンソルを用いて、高解像度化した画像データを生成できるので、複数の画像を高解像度化する際の計算コストが低減できる。   According to the present invention, it is possible to generate high-resolution image data using a three-dimensional or higher-order tensor generated from image data, so that it is possible to reduce the calculation cost when increasing the resolution of a plurality of images.

実施例1の画像処理装置の構成を示すブロック図。1 is a block diagram illustrating a configuration of an image processing apparatus according to Embodiment 1. FIG. 実施例1の画像処理装置の構成を示すブロック図。1 is a block diagram illustrating a configuration of an image processing apparatus according to Embodiment 1. FIG. 実施例1の画像処理装置で行われる処理の流れを示すフローチャート。3 is a flowchart illustrating a flow of processing performed by the image processing apparatus according to the first embodiment. ブランク画素挿入の例を示す図。The figure which shows the example of blank pixel insertion. 実施例1の補完部206で行われる処理の流れを示すフローチャート。5 is a flowchart illustrating a flow of processing performed by a complementing unit 206 according to the first embodiment.

<実施例1>
本実施例においては、テンソルにおける欠損データ補完技術を応用して画像データの高解像度化を行う処理について説明する。すなわち、画像データから生成したテンソルに意図的に欠損画素を挿入し、その画素に対してテンソルにおけるデータ補完技術を用いることで、解像度の向上した画像データを得る。なお、テンソルとは線型的な量を一般化したものであり、規定を選べば多次元の配列として表現されるものである。テンソルの要素の広がりの次元数は階数と呼ばれる。例えば、スカラー量は階数0のテンソルであり、ベクトル量は階数1のテンソル、行列は階数2のテンソルである。すなわち、行列を、行列で表現される2次元とは異なる次元方向に積み上げたような3次元の配列は、階数3のテンソル(3階のテンソル)となる。
<Example 1>
In the present embodiment, a process for increasing the resolution of image data by applying a missing data interpolation technique in a tensor will be described. In other words, image data with improved resolution is obtained by intentionally inserting a missing pixel into a tensor generated from image data and using a data complement technique in the tensor for that pixel. A tensor is a generalization of a linear quantity. If a rule is selected, it is expressed as a multidimensional array. The number of dimensions of the tensor element spread is called the rank. For example, the scalar quantity is a rank 0 tensor, the vector quantity is a rank 1 tensor, and the matrix is a rank 2 tensor. That is, a three-dimensional array in which matrices are stacked in a direction different from the two dimensions expressed by the matrix is a rank 3 tensor (third-order tensor).

図1は、本発明に係る画像処理装置の構成の一例を示す図である。画像処理装置100は、CPU101、RAM102、ROM103、二次記憶装置104、入力インターフェース105、出力インターフェース106、システムバス107を有する。外部蓄積手段108は入力インターフェース105と出力インターフェース106に接続され、表示装置109は出力インターフェース106に接続されている。   FIG. 1 is a diagram showing an example of the configuration of an image processing apparatus according to the present invention. The image processing apparatus 100 includes a CPU 101, a RAM 102, a ROM 103, a secondary storage device 104, an input interface 105, an output interface 106, and a system bus 107. The external storage unit 108 is connected to the input interface 105 and the output interface 106, and the display device 109 is connected to the output interface 106.

CPU101は、RAM102をワークメモリとして、ROM103に格納されたプログラムを実行し、システムバス107を介して後述する各部を統括的に制御する処理回路である。これにより、後述する様々な処理が実行される。二次記憶装置104は、システムバス107を介してプログラムの実行に必要なデータの蓄積を行うことができるメモリである。また、二次記憶装置104に蓄積されたデータは、システムバス107を介して読み出すことが可能である。二次記憶装置104としてはHDDの他、光ディスクドライブやフラッシュメモリ等の記憶デバイスを用いることができる。   The CPU 101 is a processing circuit that executes a program stored in the ROM 103 by using the RAM 102 as a work memory, and comprehensively controls each unit to be described later via the system bus 107. Thereby, various processes described later are executed. The secondary storage device 104 is a memory capable of accumulating data necessary for program execution via the system bus 107. The data stored in the secondary storage device 104 can be read out via the system bus 107. As the secondary storage device 104, a storage device such as an optical disk drive or a flash memory can be used in addition to the HDD.

入力インターフェース105は、例えばUSBやIEEE1394等のシリアルバスインターフェースである。この入力インターフェース105を介して、外部蓄積手段108(例えば、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリ)などからデータを取得することができる。   The input interface 105 is a serial bus interface such as USB or IEEE1394. Data can be acquired from the external storage means 108 (for example, hard disk, memory card, CF card, SD card, USB memory) via the input interface 105.

出力インターフェース106は、例えばDVIやHDMI(登録商標)等の映像出力端子である。この出力インターフェース106を介して、表示装置109(液晶ディスプレイなどの各種出力デバイス)に、処理された画像などを表示することができる。また、出力インターフェース106には、入力インターフェース105と同様に、USBやIEEE1394等のシリアルバスインターフェースが含まれる。画像処理装置100は、出力インターフェース106を介して、外部蓄積手段108へのデータの蓄積を行うことができる。   The output interface 106 is a video output terminal such as DVI or HDMI (registered trademark). The processed image or the like can be displayed on the display device 109 (various output devices such as a liquid crystal display) via the output interface 106. In addition, the output interface 106 includes a serial bus interface such as USB or IEEE 1394, similar to the input interface 105. The image processing apparatus 100 can store data in the external storage unit 108 via the output interface 106.

なお、画像処理装置100の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。   Note that the components of the image processing apparatus 100 exist in addition to those described above.

次に、画像処理装置100で行われる処理について、図2に示すブロック図と図3に示すフローチャートとを参照して説明する。画像処理装置100は、CPU101が、ROM103に格納されたプログラムをRAM102をワークメモリとして実行することで、図2に示す各ブロックとして機能し、図3に示す各ステップの処理を行う。なお、以下に示す処理の全てがCPU101によって実行される必要はなく、処理の一部又は全部がCPU101以外の一つ又は複数の処理回路によって行われるように画像処理装置100が構成されていてもよい。   Next, processing performed in the image processing apparatus 100 will be described with reference to a block diagram shown in FIG. 2 and a flowchart shown in FIG. In the image processing apparatus 100, the CPU 101 executes the program stored in the ROM 103 using the RAM 102 as a work memory, thereby functioning as each block illustrated in FIG. 2 and performing the process of each step illustrated in FIG. 3. Note that it is not necessary for the CPU 101 to execute all of the processes described below, and the image processing apparatus 100 may be configured such that part or all of the processes are performed by one or a plurality of processing circuits other than the CPU 101. Good.

ステップS301では、取得部201が、処理対象である入力画像データを取得し、分割部202に出力する。ここで取得される画像データは、多眼カメラやプレノプティックカメラにより取得された、同一の被写体を複数の異なる視点から見た複数の画像である。本実施例においては、入力画像データが示す複数の画像それぞれを高解像度化した画像を得る処理が行われる。なお、処理対象の入力画像データは複数の画像を示すデータである必要はなく、1枚の画像を示すデータであってもよい。異なる視点に対応する複数の画像を用いた方が超解像処理の精度は向上するが、1枚の画像を用いた場合であっても、画像内に類似の領域が多数存在する画像の一般的な性質を利用して高解像度化が可能である。   In step S <b> 301, the acquisition unit 201 acquires input image data to be processed and outputs it to the dividing unit 202. The image data acquired here is a plurality of images obtained by viewing the same subject from a plurality of different viewpoints acquired by a multi-view camera or a plenoptic camera. In the present embodiment, a process for obtaining an image obtained by increasing the resolution of each of the plurality of images indicated by the input image data is performed. The input image data to be processed need not be data indicating a plurality of images, and may be data indicating a single image. The use of multiple images corresponding to different viewpoints improves the accuracy of super-resolution processing. However, even when only one image is used, it is common for images that have many similar regions in the image. It is possible to increase the resolution by using the characteristic.

ステップS302では、分割部202が、取得部201から入力された入力画像データが示す各画像を、一定のサイズのブロック(部分画像)の集合に分割し、得られたブロックの集合をクラスタリング部203に出力する。この時、分割部202は、各ブロックが入力画像のどの位置に対応するかを示す位置情報を、RAM102や二次記憶装置104に記憶しておく。なお、各ブロックを、互いに重複する領域を持つように抽出すると、最終的に得られる高解像度化された画像で、ブロックの境界が目立ちにくくなる。この場合には、全ブロックの合計画素数は、入力画像の全画素数よりも大きくなる。   In step S302, the dividing unit 202 divides each image indicated by the input image data input from the obtaining unit 201 into a set of blocks (partial images) of a certain size, and the obtained set of blocks is the clustering unit 203. Output to. At this time, the dividing unit 202 stores position information indicating which position in the input image each block corresponds to in the RAM 102 or the secondary storage device 104. Note that if each block is extracted so as to have an overlapping area, the boundary between the blocks is less noticeable in the finally obtained high-resolution image. In this case, the total number of pixels of all blocks is larger than the total number of pixels of the input image.

ステップS303では、クラスタリング部203が、分割部202から入力された複数のブロックを、各ブロック間の類似度などの基準に従って複数のクラスタに分類する(クラスタリングを行う)。類似度の指標としては、SAD(Sum of Absolute Difference)やNCC(Normalized Cross Correlation)などの公知の指標を用いることができる。また、クラスタリングの方法としては、k−means法のような公知の方法を用いることができる。本実施例においては、類似度の指標としてSSD(Sum of Squared Difference)を用いている。また、クラスタリングの方法としてはk−means++法を用いている。なお、ここで用いられる類似度の指標およびクラスタリングの方法は、前述したものに限定されない。例えば、各ブロックの特性を考慮し、類似度の判定基準をクラスタごとに変えると、処理コストは少し増大する代わりにより精度の良い超解像処理を行うことができる。   In step S303, the clustering unit 203 classifies the plurality of blocks input from the dividing unit 202 into a plurality of clusters according to a criterion such as similarity between the blocks (clustering is performed). As the similarity index, a known index such as SAD (Sum of Absolute Difference) or NCC (Normalized Cross Correlation) can be used. As a clustering method, a known method such as a k-means method can be used. In the present embodiment, SSD (Sum of Squared Difference) is used as an index of similarity. Further, the k-means ++ method is used as a clustering method. Note that the similarity index and the clustering method used here are not limited to those described above. For example, if the similarity criterion is changed for each cluster in consideration of the characteristics of each block, the processing cost is slightly increased, and more accurate super-resolution processing can be performed.

本実施例で行われるクラスタリング処理の詳細について説明する。まず、クラスタリング部203は、各ブロックをベクトルデータとして扱うために、各ブロックをモノクロ画像に変換する。本実施例では、クラスタリング部203は、各ブロックをYCbCr空間における輝度チャネルYに変換する。次に、クラスタリング部203は、この処理により得られた、各ブロックに対応する複数のベクトルから1つをランダムに選択し、選択された1つのベクトルと残りの複数のベクトル各々との差分二乗和をSSDとして算出する。次に、クラスタリング部203は、あらかじめ決定されたクラスタの数Nと、各SSD値の相対比率とから、各クラスタのクラスタリングの初期解としてN個のベクトルを選択する。次にクラスタリング部は、決定された初期解に基づいて、k−means法の処理を終了条件を満たすまで反復する。すなわち、各クラスタの重心であるN個のベクトルと、残りのベクトルの全通りの組み合わせに対しSSD値を算出し、これに基づきクラスタを更新し、新たにN個のベクトルを各クラスタの重心に置き換えるという一連の処理を反復する。なお、クラスタ数Nは固定した値には限られず、ブロック間の類似度などに応じて適応的に調整してもよい。例えば、類似度の最悪値や1クラスタ内のブロック数が閾値を超えた場合にはNを増減してもよい。処理前と処理後のクラスタの割り当ての変化量が閾値を下回るなどのクラスタリング処理の終了条件が満たされたら、クラスタリング部203は、ブロックの分類の結果を生成部204に出力する。   Details of the clustering processing performed in this embodiment will be described. First, the clustering unit 203 converts each block into a monochrome image in order to handle each block as vector data. In the present embodiment, the clustering unit 203 converts each block into a luminance channel Y in the YCbCr space. Next, the clustering unit 203 randomly selects one of a plurality of vectors corresponding to each block obtained by this processing, and the sum of squared differences between the selected one vector and each of the remaining plurality of vectors. Is calculated as SSD. Next, the clustering unit 203 selects N vectors as the initial clustering solution for each cluster from the predetermined number N of clusters and the relative ratio of each SSD value. Next, the clustering unit repeats the k-means process until the end condition is satisfied based on the determined initial solution. That is, the SSD value is calculated for all combinations of N vectors that are the centroids of the clusters and the remaining vectors, and the clusters are updated based on the SSD values. The N vectors are newly set as the centroids of the clusters. Repeat a series of processing to replace. The number of clusters N is not limited to a fixed value, and may be adaptively adjusted according to the similarity between blocks. For example, N may be increased or decreased when the worst value of the similarity or the number of blocks in one cluster exceeds a threshold value. When the end condition of the clustering process such as the change amount of the cluster assignment before and after the processing falls below the threshold is satisfied, the clustering unit 203 outputs the block classification result to the generation unit 204.

ステップS304では、生成部204が、同じクラスタに属する複数のブロックをまとめて複数の3階のテンソルを生成し、生成した3階のテンソルを挿入部205に出力する。ここで、3階のテンソルとは、2次元画像であるブロックを第三の次元の方向に積み重ねた3次元配列である。本実施例では、図4(a)に示すように、各画像の中の間で類似するブロックが抽出され、1つのテンソルを構成する。画像401〜403はそれぞれ入力画像データが示す画像の一部であり、その中の点線で囲まれた領域が同じクラスタに分類されたブロックである。それらが集積されテンソル404を形成する。入力画像がカラーの場合には、カラーチャネルごとに独立してテンソルを構成する。なお、最終的な出力画像に偽色が発生しないように、カラーチャネル間でクラスタリングの方法が共通であることが望ましい。また、テンソルの構成の仕方は前述したものに限定されず、図4(b)に示すような方法でも良い。すなわち、1枚の画像の中の類似領域が同じクラスタに分類され、テンソルを構成してもよい。   In step S <b> 304, the generation unit 204 generates a plurality of third-floor tensors by grouping a plurality of blocks belonging to the same cluster, and outputs the generated third-floor tensors to the insertion unit 205. Here, the third-order tensor is a three-dimensional array in which blocks that are two-dimensional images are stacked in the direction of the third dimension. In the present embodiment, as shown in FIG. 4A, similar blocks are extracted in each image to constitute one tensor. Each of the images 401 to 403 is a part of the image indicated by the input image data, and is a block in which the area surrounded by the dotted line is classified into the same cluster. They are accumulated to form a tensor 404. When the input image is color, a tensor is formed independently for each color channel. Note that it is desirable that the clustering method is common between the color channels so that a false color does not occur in the final output image. The tensor configuration is not limited to that described above, and a method as shown in FIG. That is, similar regions in one image may be classified into the same cluster to form a tensor.

ステップS305では、挿入部205が、生成部204から入力された3階のテンソルにブランク画素を挿入し、ブランク画素の挿入が行われた3階のテンソルを補完部206に出力する。ここで、ブランク画素とは画素値を持たない画素を意味するが、ブランク画素は必ずしも値を持たない画素である必要はなく、仮の値が挿入された画素のことをブランク画素と呼ぶようにしてもよい。なお、ブランク画素は、ブランク画素挿入前後の3階のテンソルの水平・垂直方向(2次元平面像の座標軸方向)の画素数の比が、所望の解像度増加率に一致するように挿入される。例えば、水平・垂直の各方向における解像度が2倍になるように高解像度化を行う場合には、図4(c)に示すように、3階のテンソルの水平・垂直方向に1列おきにブランク画素が挿入される。図4(c)に示す挿入の方法以外にも、例えば、ブランク画素列を非欠損画素列(ブランク画素ではない画素の列)の前後どちらに挿入するかをブロックごとに異ならせるなどの方法を用いてもよい。さらには、非欠損画素の1つ1つに対して、一定でない相対位置にブランク画素を挿入するようにしてもよい。例えば、水平・垂直方向における解像度が2倍になるような高解像度化を行う場合には、各非欠損画素を2×2画素の単位ブロックに置き換え、各単位ブロック内の任意に選択した1画素に非欠損画素、残り3画素にブランク画素を挿入することなどである。なお、挿入部205は必ずしも3階のテンソルに対してブランク画素挿入の処理を行う必要はなく、3階のテンソルを構成する前の入力画像またはブロックに対してブランク画素の挿入を行ってもよい。この場合、生成部204は、ブランク画素が挿入された入力画像データを用いて3階のテンソルの生成を行う。   In step S <b> 305, the insertion unit 205 inserts blank pixels into the third-floor tensor input from the generation unit 204, and outputs the third-floor tensor into which the blank pixels are inserted to the complementing unit 206. Here, the blank pixel means a pixel having no pixel value, but the blank pixel is not necessarily a pixel having no value, and a pixel in which a temporary value is inserted is referred to as a blank pixel. May be. The blank pixels are inserted so that the ratio of the number of pixels in the horizontal and vertical directions (the coordinate axis direction of the two-dimensional plane image) of the third-floor tensor before and after blank pixel insertion matches the desired resolution increase rate. For example, when the resolution is increased so that the resolution in each of the horizontal and vertical directions is doubled, as shown in FIG. 4C, every other column in the horizontal and vertical directions of the third floor tensor. A blank pixel is inserted. In addition to the insertion method shown in FIG. 4 (c), for example, a method of making a blank pixel column inserted before or after a non-defective pixel column (a column of pixels that are not blank pixels) differs for each block. It may be used. Furthermore, a blank pixel may be inserted at a non-constant relative position with respect to each non-defective pixel. For example, when the resolution is increased so that the resolution in the horizontal and vertical directions is doubled, each non-defective pixel is replaced with a 2 × 2 pixel unit block, and one arbitrarily selected pixel in each unit block For example, a non-deficient pixel is inserted into the remaining three pixels and a blank pixel is inserted into the remaining three pixels. Note that the insertion unit 205 does not necessarily need to perform blank pixel insertion processing on the third-floor tensor, and may insert blank pixels into the input image or block before forming the third-floor tensor. . In this case, the generation unit 204 generates a third-floor tensor using input image data in which blank pixels are inserted.

ステップS306では、補完部206が、テンソルの欠損要素を補完するアルゴリズムを用いてブランク画素に対応する画素値を推定し、ブランク画素の画素値が補完された3階のテンソルを分解部207に出力する。ここで行われる処理の詳細については後述する。   In step S306, the complementing unit 206 estimates the pixel value corresponding to the blank pixel using an algorithm that complements the missing element of the tensor, and outputs the third-order tensor complemented with the pixel value of the blank pixel to the decomposing unit 207. To do. Details of the processing performed here will be described later.

ステップS307では、分解部207が、補完部206から入力された3階のテンソルを2次元の画像ブロックに分解し、分解により得られた複数のブロックを統合部208に出力する。ここで分解により得られた各ブロックは、ブランク画素の挿入と該ブランク画素の補完処理の結果により、元のブロックよりも高い解像度を有するブロックになっている。   In step S307, the decomposing unit 207 decomposes the third-floor tensor input from the complementing unit 206 into two-dimensional image blocks, and outputs a plurality of blocks obtained by the decomposing to the integrating unit 208. Here, each block obtained by the decomposition is a block having a higher resolution than the original block due to the result of blank pixel insertion and blank pixel interpolation processing.

ステップS308では、統合部208が、分解部207から入力された画像ブロックを統合し、高解像度画像データを生成する。ここで、統合部208は、ステップ302で記憶された各ブロックに対応する位置を示す情報に基づいて、各ブロックを入力画像データの対応する位置に当てはめることで高解像度の画像データを生成する。なお、各ブロックが互いに重複する画像領域を有する場合には、重なった部分の画素の画素値は、対応する位置の複数の画素の画素値の平均値を当てはめて処理する。画素値の生成方法はこれに限られず、必要に応じてその他の方法を利用することも可能である。これにより、入力画像データが示す全ての画像について、高解像度化された画像が得られる。なお、統合処理は全ての画像について行われる必要はなく、ユーザが指定した特定の画像に対応する高解像度画像だけを生成してもよい。このように、特定の画像のみを出力する場合であっても、他の画像を入力することは、補完部206における補完処理の精度を向上させる目的で役立つ。統合部208は、生成された高解像度画像データを出力画像データとして二次記憶装置104などに出力して処理を終了する。   In step S308, the integration unit 208 integrates the image blocks input from the decomposition unit 207 and generates high-resolution image data. Here, the integration unit 208 generates high-resolution image data by applying each block to the corresponding position of the input image data based on the information indicating the position corresponding to each block stored in step 302. In addition, when each block has an image area | region which overlaps mutually, the pixel value of the pixel of the overlapped part is processed by applying the average value of the pixel value of the some pixel of a corresponding position. The pixel value generation method is not limited to this, and other methods may be used as necessary. As a result, high-resolution images are obtained for all the images indicated by the input image data. Note that the integration process need not be performed for all images, and only a high-resolution image corresponding to a specific image designated by the user may be generated. Thus, even when only a specific image is output, inputting another image is useful for the purpose of improving the accuracy of the complementing process in the complementing unit 206. The integration unit 208 outputs the generated high resolution image data as output image data to the secondary storage device 104 or the like, and ends the processing.

以上が、本実施例の画像処理装置100で行われる処理の流れである。次に、補完部206で行われる補完処理(ステップS306)の詳細について、図5に示すフローチャートを参照して説明する。   The above is the flow of processing performed by the image processing apparatus 100 of the present embodiment. Next, details of the complementing process (step S306) performed by the complementing unit 206 will be described with reference to the flowchart shown in FIG.

ステップS501では、補完部206が、テンソルの、欠損画素(ブランク画素)に対応する要素の初期値を、非欠損画素(ブランク画素ではない画素)に対応する要素の画素値に基づいて決定する。この初期値の決定方法としては、ニアレストネイバー法やバイリニア補間、バイキュービック補間などの公知の補間法を用いることができる。また、ブロックごとに欠損画素列の位置が異なる場合には、欠損画素の値を他のブロックの同位置の非欠損画素の画素値から決定するようにしてもよい。   In step S501, the complementing unit 206 determines the initial value of the element corresponding to the missing pixel (blank pixel) of the tensor based on the pixel value of the element corresponding to the non-deficient pixel (non-blank pixel). As a method for determining the initial value, a known interpolation method such as a nearest neighbor method, bilinear interpolation, or bicubic interpolation can be used. In addition, when the position of the defective pixel row is different for each block, the value of the defective pixel may be determined from the pixel value of the non-defective pixel at the same position in another block.

ステップS502では、補完部206が、各3階のテンソルを、各3階のテンソルが示す次元のうちの1つの次元について、行列(2階のテンソル)に展開する。ここで行われる処理は、テンソルを指定した次元の列ベクトルに一旦分解したうえで並置するような要素の再配置処理であり、unfoldingとも呼ばれる。   In step S502, the complementing unit 206 expands each third-floor tensor into a matrix (second-floor tensor) for one of the dimensions indicated by the third-floor tensor. The process performed here is an element rearrangement process in which a tensor is once decomposed into a specified dimension column vector and juxtaposed, and is also called unfolding.

ステップS503では、補完部206が、ステップS502で得られた行列に対して特異値分解を行う。特異値分解とは、ある任意の行列を、対角行列を含む3つの行列の積に分解する手法である。例えば、あるn行×m列の行列Anmの特異値分解は以下の式で表わされる。 In step S503, the complement unit 206 performs singular value decomposition on the matrix obtained in step S502. Singular value decomposition is a technique for decomposing an arbitrary matrix into a product of three matrices including a diagonal matrix. For example, the singular value decomposition of an n-row × m-column matrix A nm is expressed by the following equation.

Figure 2016091060
Figure 2016091060

ここで、Unrはn行×r列の行列、Σrrは特異値行列と呼ばれるr行×r列の対角行列、Vrmはr行×m列の行列である。ここで、rは行列Anmのランク(階数)と呼ばれる。 Here, U nr is an n-row × r-column matrix, Σ rr is an r-row × r-column diagonal matrix called a singular value matrix, and V rm is an r-row × m-column matrix. Here, r is called the rank (rank) of the matrix A nm .

ステップS504では、補完部206が、ステップS503で得られた特異値分解の結果に、閾値処理を行う。具体的には、特異値行列の各要素のうち、所定の閾値以下の値となる要素を全て0に置換する。これにより、行列Anmのランクは特異値行列の非0要素の数にまで実質的に低下する。自然画像の部分領域に対応する行列は一般的に低ランクであるので、ここで行列Anmのランクを下げる補正処理を行うことにより、ステップS501で行われた補間の結果が、より自然画像に近い結果に置き換えられる。ステップS505では、補完部206が、ステップS503で行われた操作とは逆の操作により、行列を3階のテンソルに変換する。 In step S504, the complementing unit 206 performs threshold processing on the result of the singular value decomposition obtained in step S503. Specifically, among the elements of the singular value matrix, all elements having a value equal to or less than a predetermined threshold are replaced with 0. This substantially reduces the rank of the matrix A nm to the number of non-zero elements of the singular value matrix. Since the matrix corresponding to the partial region of the natural image is generally low rank, the result of the interpolation performed in step S501 is closer to the natural image by performing correction processing for lowering the rank of the matrix Anm here. Replaced with the result. In step S505, the complementing unit 206 converts the matrix into a third-order tensor by an operation opposite to the operation performed in step S503.

ステップS506では、補完部206が、3階のテンソルに対応する3つの次元全てについて、ステップS502からステップS505の処理が行われたかどうかを判定する。全ての次元についてステップS502からステップS505の処理が行われたと判定された場合は、ステップS507に進む。ステップS502からステップS505までの処理が全ての次元について行われていないと判定された場合は、ステップS502に戻り、別の次元についてテンソルの展開を行う。   In step S506, the complementing unit 206 determines whether or not the processing from step S502 to step S505 has been performed for all three dimensions corresponding to the third-floor tensor. If it is determined that the processing from step S502 to step S505 has been performed for all dimensions, the process proceeds to step S507. If it is determined that the processing from step S502 to step S505 is not performed for all dimensions, the process returns to step S502, and the tensor is expanded for another dimension.

ステップS507では、補完部206が、ランクを下げる処理の結果3つの次元それぞれについて得られたテンソルを平均化する。ここで行われる平均化の処理は、3つのテンソルの、同じ座標に存在する要素の値の平均値を、最終的なテンソルの値とする処理である。なお、ここで行われる平均化の処理は単純な平均処理である必要はなく、各次元におけるランク低下処理の信頼度に応じて、各テンソルに重みを付けた重みづけ平均処理であってもよい。   In step S507, the complementing unit 206 averages the tensors obtained for each of the three dimensions as a result of the rank lowering process. The averaging process performed here is a process in which the average value of the elements existing at the same coordinates of the three tensors is used as the final tensor value. The averaging process performed here does not have to be a simple averaging process, and may be a weighted averaging process in which each tensor is weighted according to the reliability of rank reduction processing in each dimension. .

ステップS508では、補完部206が、ステップS507で得られたテンソルの各要素において、非欠損画素に対応する要素の値を、ステップS504の処理が行われる前の値に置き換える。これにより、テンソルのランクを低下させる処理やテンソルの平均化を行う処理によって、入力画像データが示す画素(実際に撮影された情報を示す画素)に対応するデータが書き変わってしまうことを防ぐことができる。なお、ここで値の置き換えを行わずに、元より非欠損画素に対応する要素の値をデータ更新の対象から除外しておいてもよい。   In step S508, the complementing unit 206 replaces the value of the element corresponding to the non-missing pixel in each element of the tensor obtained in step S507 with the value before the process of step S504 is performed. This prevents the data corresponding to the pixel indicated by the input image data (the pixel indicating the actually captured information) from being rewritten by the process of lowering the tensor rank or the process of averaging the tensor. Can do. Here, without replacing the value, the value of the element corresponding to the non-missing pixel may be excluded from the data update target.

ステップS509では、補完部206が、補完処理の終了条件が満たされているかどうかを判定する。本実施例では、補完処理の反復回数が所定の回数に達していることを補完処理の終了条件とする。補完処理の反復回数が所定の回数に達していると判定された場合、補完処理を終了し、補完部206は、補完処理が行われた3階のテンソルを分解部207に出力する。補完処理の反復回数が所定の回数に達していないと判定された場合、ステップ402に戻り、その時の3階のテンソルを初期解として再度ステップS502からステップS508の処理を実行する。   In step S509, the complement unit 206 determines whether or not the completion condition for the complement process is satisfied. In the present embodiment, the completion condition of the complement process is that the number of iterations of the complement process has reached a predetermined number. When it is determined that the number of repetitions of the complement process has reached a predetermined number, the complement process is terminated, and the complement unit 206 outputs the third-floor tensor subjected to the complement process to the decomposition unit 207. If it is determined that the number of iterations of the complement process has not reached the predetermined number, the process returns to step 402, and the processes from step S502 to step S508 are executed again using the third-order tensor at that time as the initial solution.

以上が本発明の画像処理装置100で行われる処理である。以上の処理によれば、テンソルの概念をを用いて画像データの高解像度化を行うことにより、入力画像データが示す複数の画像が高解像度化された複数の高解像度画像を、MAP法やPOCS法を用いる場合に比べて小さな処理量で得ることができる。   The above is the process performed by the image processing apparatus 100 of the present invention. According to the above processing, a plurality of high-resolution images obtained by increasing the resolution of a plurality of images indicated by the input image data by using the concept of tensor to increase the resolution of the image data is converted into the MAP method or POCS. Compared to the case of using the method, it can be obtained with a small processing amount.

なお、上記の実施例において、生成部204は、同じ被写体を含む複数の画像を示す入力画像データから3階以上の高階テンソルを生成する第一の生成手段として機能する。また、統合部208は、前記高階テンソルを用いて、前記入力画像データを高解像度化した画像データである出力画像データを生成する第二の生成手段とを有することを特徴とする画像処理装置として機能する。また、挿入部205は前記高階テンソルにブランク画素を挿入する挿入手段として機能する。また、補完部206は、前記ブランク画素を補完する補完手段として機能する。また、クラスタリング部203は、前記入力画像データが含む複数の画像ブロックを、各画像ブロックの間の類似度に基づいて分類するクラスタリング手段として機能する。   In the above-described embodiment, the generation unit 204 functions as a first generation unit that generates higher-order tensors on the third floor or higher from input image data indicating a plurality of images including the same subject. The integration unit 208 includes a second generation unit that generates output image data that is image data obtained by increasing the resolution of the input image data using the higher-order tensor. Function. The insertion unit 205 functions as an insertion unit that inserts a blank pixel into the higher order tensor. The complementing unit 206 functions as a complementing unit that complements the blank pixel. The clustering unit 203 functions as a clustering unit that classifies a plurality of image blocks included in the input image data based on the similarity between the image blocks.

<その他の実施形態>
上記の実施例では、3階のテンソルの欠損補完処理を応用して画像データの超解像処理を行ったが、テンソルの階数はこれに限られず、3階以上のテンソルであればよく、例えば、複数の3階のテンソルを4次元方向に積み上げた4次元配列である4階のテンソルを用いて欠損補完処理を行ってもよい。4階以上のテンソルを用いた場合、処理量は増大するが、より精度の良い欠損補完処理が可能となる。なお、ここでは階数が3階以上であるテンソルを高階テンソルと呼ぶこととする。
<Other embodiments>
In the above embodiment, the super-resolution processing of the image data is performed by applying the third-layer tensor defect complement processing. However, the tensor rank is not limited to this, and any tensor of the third floor or higher may be used. Alternatively, the defect complementing process may be performed using a fourth-floor tensor that is a four-dimensional array in which a plurality of third-floor tensors are stacked in a four-dimensional direction. When a tensor of the fourth floor or higher is used, the processing amount increases, but more accurate defect complement processing can be performed. Here, a tensor having three or more floors is referred to as a higher-order tensor.

本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。   The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

100 画像処理装置
201 取得部
202 分割部
203 クラスタリング部
204 生成部
205 挿入部
206 補完部
207 分解部
208 統合部
DESCRIPTION OF SYMBOLS 100 Image processing apparatus 201 Acquisition part 202 Division part 203 Clustering part 204 Generation part 205 Insertion part 206 Complement part 207 Decomposition part 208 Integration part

Claims (12)

画像を示す入力画像データから、3階以上の高階テンソルを生成する第一の生成手段と、
前記高階テンソルを用いて、前記入力画像データを高解像度化した画像データである出力画像データを生成する第二の生成手段とを有することを特徴とする画像処理装置。
First generation means for generating a higher-order tensor of the third floor or higher from input image data indicating an image;
An image processing apparatus comprising: a second generation unit configured to generate output image data which is image data obtained by increasing the resolution of the input image data using the higher-order tensor.
前記入力画像データは同じ被写体を複数の異なる視点から見た場合の複数の画像を示すデータであることを特徴とする請求項1に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the input image data is data indicating a plurality of images when the same subject is viewed from a plurality of different viewpoints. 前記高階テンソルにブランク画素を挿入する挿入手段と、
前記挿入手段によって前記高階テンソルに挿入された前記ブランク画素を補完する補完手段とを更に有し、
前記第二の生成手段は、前記補完手段により前記ブランク画素が補完された前記高階テンソルを用いて、前記出力画像データを生成することを特徴とする請求項1又は2に記載の画像処理装置。
Insertion means for inserting blank pixels into the higher order tensor;
Complementing means for complementing the blank pixels inserted into the higher order tensor by the insertion means;
3. The image processing apparatus according to claim 1, wherein the second generation unit generates the output image data using the higher-order tensor in which the blank pixel is complemented by the complementing unit.
前記入力画像データにブランク画素を挿入する挿入手段と、
前記ブランク画素を補完する補完手段とを更に有し、
前記第一の生成手段は、前記ブランク画素が挿入された前記入力画像データを用いて前記高階テンソルを生成し、
前記補完手段は、前記高階テンソルに含まれる前記ブランク画素を補完し、
前記第二の生成手段は、前記補完手段によって前記ブランク画素が補完された前記高階テンソルを用いて、前記出力画像データを生成することを特徴とする請求項1又は2に記載の画像処理装置。
Inserting means for inserting blank pixels into the input image data;
Complementing means for complementing the blank pixels further,
The first generation means generates the higher order tensor using the input image data in which the blank pixel is inserted,
The complement means complements the blank pixels included in the higher order tensor,
3. The image processing apparatus according to claim 1, wherein the second generation unit generates the output image data using the higher-order tensor in which the blank pixel is complemented by the complementing unit.
前記補完手段は、前記高階テンソルのランクが小さくなるように前記ブランク画素の補完を行うことを特徴とする請求項4に記載の画像処理装置。   The image processing apparatus according to claim 4, wherein the complementing unit complements the blank pixel so that a rank of the higher-order tensor becomes small. 前記補完手段は、前記高階テンソルの、前記ブランク画素ではない画素に対応する要素の値に基づいて、前記ブランク画素に対応する要素の初期値を決定し、
更に、前記ブランク画素に対応する要素に前記初期値が与えられた前記高階テンソルを特異値分解した際の特異値行列に対して、所定の閾値よりも値の小さい要素を0にする補正を行うことで、前記高階テンソルの各要素の値を補正することを特徴とする請求項5に記載の画像処理装置。
The complement means determines an initial value of an element corresponding to the blank pixel based on a value of an element corresponding to a pixel that is not the blank pixel of the higher-order tensor,
Further, correction is performed to set the elements having a value smaller than a predetermined threshold to 0 for the singular value matrix obtained by performing singular value decomposition on the higher-order tensor in which the initial value is given to the element corresponding to the blank pixel. The image processing apparatus according to claim 5, wherein the value of each element of the higher order tensor is corrected.
前記補完手段は、前記特異値行列の閾値処理により値が補正された前記高階テンソルの、前記ブランク画素とは異なる画素に対応する要素の値を、前記入力画像データが示す画素値に置き換え、
前記要素の値の置き換えが行われた前記高階テンソルに対して、前記特異値行列の閾値処理を再び行うことを特徴とする請求項6に記載の画像処理装置。
The complement means replaces the value of an element corresponding to a pixel different from the blank pixel of the higher-order tensor whose value is corrected by threshold processing of the singular value matrix with a pixel value indicated by the input image data,
The image processing apparatus according to claim 6, wherein threshold processing of the singular value matrix is performed again on the higher-order tensor in which the element value is replaced.
前記ブランク画素は、画素値を有しない画素であることを特徴とする請求項4乃至7のいずれか一項に記載の画像処理装置。   The image processing apparatus according to claim 4, wherein the blank pixel is a pixel having no pixel value. 前記ブランク画素は、仮の画素値を有する画素であることを特徴とする請求項4乃至7のいずれか一項に記載の画像処理装置。   The image processing apparatus according to claim 4, wherein the blank pixel is a pixel having a provisional pixel value. 前記入力画像データが含む複数の画像ブロックを、各画像ブロックの間の類似度に基づいて分類する分類するクラスタリング手段を更に有し、
前記第二の生成手段は、前記クラスタリング手段によって同じクラスタに分類された複数の画像ブロックを用いて、1つの高階テンソルを生成することを特徴とする請求項1乃至9のいずれか一項に記載の画像処理装置。
A clustering unit that classifies a plurality of image blocks included in the input image data based on a similarity between the image blocks;
The said 2nd production | generation means produces | generates one high-order tensor using the several image block classified into the same cluster by the said clustering means, The 1st to 9 characterized by the above-mentioned. Image processing apparatus.
画像を示す入力画像データから、3階以上の高階テンソルを生成する第一の生成工程と、
前記高階テンソルを用いて、前記入力画像データを高解像度化した画像データである出力画像データを生成する第二の生成工程とを含むことを特徴とする画像処理方法。
A first generation step of generating a higher-order tensor of the third floor or higher from input image data indicating an image;
And a second generation step of generating output image data, which is image data obtained by increasing the resolution of the input image data, using the higher-order tensor.
コンピュータを請求項1乃至10のいずれか一項に記載の画像処理装置の各手段として機能させるプログラム。   A program for causing a computer to function as each unit of the image processing apparatus according to any one of claims 1 to 10.
JP2014220726A 2014-10-29 2014-10-29 Image processing apparatus, image processing method, and program Pending JP2016091060A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014220726A JP2016091060A (en) 2014-10-29 2014-10-29 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014220726A JP2016091060A (en) 2014-10-29 2014-10-29 Image processing apparatus, image processing method, and program

Publications (1)

Publication Number Publication Date
JP2016091060A true JP2016091060A (en) 2016-05-23

Family

ID=56016947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014220726A Pending JP2016091060A (en) 2014-10-29 2014-10-29 Image processing apparatus, image processing method, and program

Country Status (1)

Country Link
JP (1) JP2016091060A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204167A (en) * 2018-05-21 2019-11-28 日本放送協会 Image super resolution apparatus and program thereof, and parameter learning device and program thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019204167A (en) * 2018-05-21 2019-11-28 日本放送協会 Image super resolution apparatus and program thereof, and parameter learning device and program thereof

Similar Documents

Publication Publication Date Title
KR101723738B1 (en) Apparatus and method for resolution enhancement based on dictionary learning
KR102617626B1 (en) Image processing methods, apparatus, electronic devices, and storage media
US9053387B2 (en) Image processing circuit and image detection device
CN109919992B (en) Method for estimating depth in image
US8948502B2 (en) Image processing method, and image processor
US20140362099A1 (en) Image processing apparatus and image processing method
JP2016509805A (en) High frame rate of image stream
JP6577397B2 (en) Image analysis apparatus, image analysis method, image analysis program, and image analysis system
EP2765555B1 (en) Image evaluation device, image selection device, image evaluation method, recording medium, and program
JP6275719B2 (en) A method for sampling image colors of video sequences and its application to color clustering
CN107330944B (en) Panoramic image identification method and device, terminal equipment and storage medium
CN114758145A (en) Image desensitization method and device, electronic equipment and storage medium
US20150092848A1 (en) Method, device and system for resizing original depth frame into resized depth frame
CN113298187A (en) Image processing method and device, and computer readable storage medium
US20120218382A1 (en) Multiclass clustering with side information from multiple sources and the application of converting 2d video to 3d
JP2016091060A (en) Image processing apparatus, image processing method, and program
WO2020000333A1 (en) Image processing method and apparatus
CN115205111A (en) Image splicing method and device, terminal equipment and storage medium
US9529825B2 (en) Method, device and system for restoring resized depth frame into original depth frame
JP4956464B2 (en) Image high resolution device, learning device and method
CN104902260B (en) The acquisition methods and system of a kind of image parallactic
CN109949377B (en) Image processing method and device and electronic equipment
JP2018010359A (en) Information processor, information processing method, and program
KR101684834B1 (en) Method, device and system for resizing and restoring original depth frame
KR20150090453A (en) Video retargeting method