JP2011076539A - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP2011076539A
JP2011076539A JP2009229825A JP2009229825A JP2011076539A JP 2011076539 A JP2011076539 A JP 2011076539A JP 2009229825 A JP2009229825 A JP 2009229825A JP 2009229825 A JP2009229825 A JP 2009229825A JP 2011076539 A JP2011076539 A JP 2011076539A
Authority
JP
Japan
Prior art keywords
coordinates
pixel
image
rotation
pixels
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
JP2009229825A
Other languages
English (en)
Inventor
Eriko Nakayama
恵梨子 中山
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009229825A priority Critical patent/JP2011076539A/ja
Publication of JP2011076539A publication Critical patent/JP2011076539A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】画像処理装置の小型化を図り、画像の歪みも抑制する。
【解決手段】画像処理装置は、入力画像データが有する複数の画素の座標を1画素単位で入力し、画素の座標の入力順に、入力座標を回転させたときの回転座標を取得する取得部(322)と、前記取得部による前記入力座標における画素の画素データ値を、回転座標系において前記回転座標を囲む近接した複数の近接画素の画素データ値に重み付けて分配する分配部(324)と、前記分配部によって重み付けて分配された前記複数の近接画素の画素データ値を格納する記憶部(33)とを有する。
【選択図】図4

Description

本発明は、例えば、画像を回転させる処理を行う画像処理装置および画像処理方法に関するものである。
近年、例えば、被写体の中から人物の顔を自動的に検出する機能を有するデジタルカメラが市場に広く流通している。
この機能を有するデジタルカメラの中には、人物の顔を検出する際に、例えば、その顔に相当する部分の画像を抽出し、抽出した顔の画像を予め登録してあるデータベースと比較する処理を行うものがある。この処理を行うためには、正面から撮影された傾きの少ない顔の画像を用いる必要がある。
そのため、顔の画像に傾きがある場合には、この画像を回転させることにより、その傾きが適切に補正される。回転処理には、例えば、特許文献1,2に開示される画像処理装置が用いられる。
特許文献1に記載の画像処理装置は、入力画像を構成する画素(ピクセル)を1画素ずつスキャン(走査)し、スキャンした画素の座標に対して回転処理を施す。回転処理の際に、画像処理装置は、回転処理後の座標とその近傍の4つの座標に対応した画素の画素データ値を取得し、これらの画素データ値を用いて回転処理後の座標に対してバイリニア補間を施す。そして、画像処理装置は、バイリニア補間を施した座標の画素データ値をスキャン対象の画素における画素データ値とする。
なお、バイリニア補間は、補間すべき座標の画素データ値を、この座標とその周辺の4つの座標との距離に応じて、これらの座標の画素データ値で重み付けする線形補間の一種である。
一方、特許文献2に記載の画像処理装置は、入力画像の各ラスター(raster)を表す線分群を、全ての線分が同一の傾きを取り、y切片だけが各々異なる線分群に変換する。なおラスタは、ドットの集合を指す。そして、この画像処理装置は、スキャン対象の画素の座標における画素データ値を、回転後の線分群の座標の画素データ値とする。
特開平5−153486号公報 特開平9−311935号公報
特許文献1によれば、スキャンされた画素の座標に対して1画素ずつ回転処理が施されるため、回転処理後の画像を格納するメモリとは別に、回転処理前の入力画像を一旦格納する中間バッファを設ける必要がある。
このため、必然的に、回路基板上のメモリの占有面積が増大し、画像処理装置の回路規模が大きくなる。
一方、特許文献2によれば、特許文献1のように、中間バッファを設けずとも入力画像に回転処理を施すことができるため、回路基板上のメモリの占有面積の低減化を図ることができる。
その反面、特許文献2が開示する方法では、元の1本の線分を回転させた結果、元の1本の線分があたかも歪んだかのように複数の線分に変換され、回転処理後の画像に歪みが発生するという欠点がある。
いずれにせよ、画像の回転処理を行うにあたり、回転処理後の画像の画質を維持しようとすれば、画像処理装置の回路規模が大きくなり、メモリの使用量の低減化を図れば、回転処理後の画像の画質が劣化するという問題があった。
そこで、画像処理装置の小型化を図ることが可能な画像処理装置が望まれている。また、画像処理を容易にする画像処理方法が望まれている。
本発明は、画像処理装置の小型化を図ることができ、画像の歪みを抑制することができる画像処理装置を提供することにある。また、本発明は、画像処理の容易化を図ることができる画像処理方法を提供することにある。
本発明の画像処理装置は、入力画像データが有する複数の画素の座標を1画素単位で入力し、画素の座標の入力順に、入力座標を回転させたときの回転座標を取得する取得部と、前記取得部による前記入力座標における画素の画素データ値を、回転座標系において前記回転座標を囲む近接した複数の近接画素の画素データ値に重み付けて分配する分配部と、前記分配部によって重み付けて分配された前記複数の近接画素の画素データ値を格納する記憶部とを有する。
本発明の画像処理方法は、入力画像データが有する複数の画素の座標を1画素単位で入力する第1の工程と、前記第1の工程での画素の座標の入力順に、入力座標を回転させたときの回転座標を取得する第2の工程と、前記第2の工程での前記入力座標における画素の画素データ値を、回転座標系において前記回転座標を囲む近接した複数の近接画素の画素データ値に重み付けて分配する第3の工程と、前記第3の工程で重み付けて分配した前記複数の近接画素の画素データ値を記憶部に格納する第4の工程とを有する。
本発明の画像処理装置によれば、取得部は、入力画像データが有する複数の画素の座標を1画素単位で入力すると、画素の座標の入力順に、入力座標を回転させたときの回転座標を取得する第2の工程と、入力座標を回転させたときの回転座標を取得する。
そして、分配部は、入力座標における画素の画素データ値を、回転座標系において前記回転座標を囲む近接した複数の近接画素の画素データ値に重み付けて分配する。
そして、記憶部は、重み付けて分配された前記複数の近接画素の画素データ値を格納する。
本発明によれば、画像処理装置の小型化を図ることができ、画像の歪みも抑制することができる。また、本発明によれば、画像処理の容易化を図ることができる。
図1は、本発明の実施形態に係る画像処理装置の構成例を示す概略ブロック図である。 図2は、本発明の実施形態に係るラスタースキャンを説明するための概念図である。 図3(A)、(B)は、本発明の実施形態に係る回転処理を説明するための図である。 図4は、本発明の実施形態に係る画像回転部の構成例を示すブロック図である。 図5は、本発明の実施形態に係る回転処理を説明するための図である。 図6は、本発明の実施形態に係る回転処理後の画像の一例を示す図である。 図7は、本発明の実施形態に係る画像処理装置の動作例を示すフローチャートである。 図8は、本発明の実施形態に係る画像回転部の動作例を示すフローチャートである。 図9は、回転処理後の座標P2の輝度値に対してバイリニア補間を行い、この輝度値を画像とする場合の画像回転部の構成例を示す概略ブロック図である。 図10(A)、(B)は、一般的な画像処理装置による回転処理の例を示す図である。
以下、本発明の実施形態を図面に関連付けて説明する。なお、説明は以下の順序で行う。
1.画像処理装置1の構成例
2.処理部3の構成例
3.画像回転部32の構成例
4.画像処理装置1の動作例
5.画像回転部32の動作例
本発明の実施形態を説明する前に、本発明の構成要素と実施形態の構成要素との対応関係について説明する。
本発明の取得部は、座標演算部322に対応する。本発明の分配部は、演算部324に対応する。本発明のカウンタは、走査カウンタ321に対応する。
本発明の入力座標は、座標P1に対応する(図3参照)。本発明の回転座標は、座標P2に対応する(図3参照)。
本発明の第1、第2、第3、第4の近接画素は、画素PIX31〜PIX34に各々対応する(図5参照)。
本発明の第1、第2、第3、第4の近接画素の座標は、座標P31〜P34に各々対応する(図5参照)。
本発明の画像データ記憶部は、画像記憶部2に対応する。本発明の走査制御部は、制御部35に対応する。
<実施形態>
[画像処理装置1の構成例]
本実施形態に係る画像処理装置の構成例を図1に関連づけて説明する。図1は、本発明の実施形態に係る画像処理装置の構成例を示す概略ブロック図である。
図1に図示する画像処理装置1は、画像記憶部(RAM)2、処理部(DSP)3、CPU4および内部バス(BUS)5を有する。
画像処理装置1は、例えば、撮像装置(不図示)を有するデジタルカメラに搭載される。デジタルカメラの一部を構成する画像処理装置1は、撮像装置によって撮像された画像の中から人物の顔に相当する部分がどの人物であるかを認識する。この処理を「認識処理」という。
画像記憶部2は、例えば、RAM(Random Access Memory)である。画像記憶部2は、例えば、撮像装置によって撮像された原画像データsrcを内部バス5を介して格納する。
ただし、画像記憶部2に格納された原画像データsrcは、予め人物の顔に相当する部分の画像が元の撮像画像から抽出(「トリミング」ともいう)されたものであると仮定する。
以下、説明を明確にするため、画像処理装置1が扱う画像(データ)は、一枚の静止画像であるものと仮定するが、これは、例えば、複数の連続したフレーム画像で構成される動画像データ(例えば、MPEG:Moving Picture Experts Group)であってもよい。
処理部3は、基本的には、加算器、除算器、カウンタ等を用いたハードウェアで構成される。そのため、画像処理装置1で取り扱う画像データは、処理部3の回路規模等を考慮し、認識処理を実行可能な程度の画質(解像度)であることが望ましい。
処理部3は、大別して、(1)画像データの読み出し処理と、(2)画像を拡大/縮小する拡大/縮小処理と、(3)画像を回転させる回転処理と、(4)人物の顔を認識する認識処理とを行う。以下、処理部3の概要を処理別に説明する。
[(1)読み出し処理]
処理部3は、ラスタースキャン(raster scan)を行って、画像記憶部2に格納されている原画像データsrcを読み出す。この処理を「読み出し処理」という。
ここで、ラスタースキャンを図2に関連づけて説明する。図2は、本発明の実施形態に係るラスタースキャンを説明するための概念図である。
画像記憶部2には、例えば、図2に図示する原画像データsrcが格納されている。一枚の原画像srcは、m(行)×n(列)画素(PIX)で構成されている。ここで、mおよびnは、正の整数である。m×n個の画素は、例えば、256階調(8ビット)で表現される画素データ値を各々持つ。本実施形態では、画素データ値として輝度値を例に挙げるが、これは、例えば、色差信号の色差値であっても差し支えない。
処理部3は、テレビジョンにおけるスキャンのように、画像記憶部2に格納されている原画像srcを行の始めから終わりまで1画素ずつスキャンしていき、スキャン対象の画素が行の終わりに達したら、次の行の始めからスキャンを開始する。図2には、ラスタースキャンの方向が矢印Vで図示されている。処理部3は、上述のラスタースキャンを行って、原画像srcを構成するm×n個の画素における画素データ値やその座標を順番に読み出す。
[(2)拡大/縮小処理]
処理部3は、原画像srcの大きさが認識処理可能な大きさとなるように、これを拡大/(または)縮小する(「スケーリング」ともいう)。このとき、処理部3は、原画像srcを構成する全ての画素を取得してから拡大/縮小処理を行うのではなく、1画素ずつ拡大/縮小を行う。この処理を「拡大/縮小処理」という。なお、原画像srcの拡大率/縮小率は、原画像srcごとにCPU4から与えられる。
[(3)回転処理]
図3(A)、(B)は、本発明の実施形態に係る回転処理を説明するための図である。図3(A)には、拡大/縮小処理後の原画像src1が図示されている。
ところで、図3(A)に図示する人物の顔Fは、X軸と平行な水平線Hに対して角A°(度)傾いている。この状態では、認識処理を的確に行うことが困難であるため、処理部3は、座標cs(csx,csy)を中心として、原画像src1を反時計方向に角A°回転させる。この座標csは、原画像srcの中心点である。
なお、回転角Aは、元の画像から原画像srcが抽出される際に予め取得されており、CPU4から与えられる。この処理を「回転処理」といい、回転すべき角Aを「回転角」ともいう。図3(B)には、回転座標系における回転処理後の画像destが図示されている。
[(4)認識処理]
処理部3は、回転処理後の画像destを基に、顔の認識処理を行う。認識処理では、画像destにおける顔の部分の画像データが、予めデータベースに登録されている顔の画像データに一致(マッチング)するか否かが判別される。なお、データベースは、画像記憶部2あるいは不図示の記憶部に格納されている。
CPU4は、制御部35に制御信号Cを与え、画像処理装置1の全般の動作を制御する。この制御信号Cは、例えば、認識処理の開始/終了、画像記憶部2からの画像データの読み出し開始/終了、拡大率/縮小率、記憶部33の初期化を制御するための信号である。
内部バス5は、主に、画像記憶部2および処理部3間でのデータの授受を行う。内部バス5は、例えば、撮像装置(不図示)にも接続されており、この撮像装置および画像記憶部2間でのデータの授受も行う。
[処理部3の構成例]
次に、処理部3の構成例を説明する。処理部3は、スケーリング部(SCA)31、画像回転部(ROT)32、記憶部(MEM)33、画像認識部(REC)34および制御部(CTL)35を有する。
スケーリング部31は、ラスタースキャンにより、1画素ずつ入力された原画像データsrcに対して拡大/縮小処理を施し、これを拡大/縮小処理後の原画像データsrc1として画像回転部32に出力する。
画像回転部32は、スケーリング部31から1画素ずつ入力された原画像データsrc1に回転処理を施す。具体的には、例えば、画像回転部32が、図3(A)に図示する任意の画素PIXにおける座標P1(x1,y1)の輝度値を取得したものとする。このとき、画像回転部32は、この画素PIX1の座標P1(x1,y1)を取得し、この座標P1を座標CSを中心として反時計回りに角A°回転させる。
その結果、画像回転部32は、図3(B)に図示するように、回転処理後の座標P2(x2,y2)を取得する。そして、画像回転部32は、座標P1が位置する画素PIX1の輝度値を、座標P2を取り囲むように、その周囲に近接(隣接でもよい)した4つの座標における画素の輝度値に重み付けて分配する。回転処理の終了後、画像回転部32は、重み付けの結果を回転処理後の画像データdestとして記憶部33に格納する。
記憶部33は、例えば、ランダムアクセス(random access)が可能なRAMである。記憶部33は、主に、画像回転部32から入力された画像データdestを格納する。
ただし、記憶部33は、1枚の原画像データsrc1に対する回転処理が施される前、より詳細には、1枚の原画像データsrc1の始めの画素の座標が座標演算部322に入力される前に、全てのアドレスの値を0にリセットする。このリセットは、制御部35の指示に従って行われる。
画像認識部34は、記憶部33から回転処理後の画像データdestを読み出し、顔の認識処理を行う。画像destにおける顔の部分の画像データが、予めデータベースに登録されている顔画像データに一致(マッチング)するか否かを判別し、両者が一致した場合には、判別結果を処理信号Sとして制御部35およびCPU4に出力する。
制御部35は、CPU4の制御信号Cに従って、処理部3の動作を統括する。基本的には、制御部35は、制御信号C1〜C3をスケーリング部31、画像回転部32および画像認識部34に各々出力し、読み出し処理、拡大/縮小処理、回転処理および認識処理が実行できるように、各々を制御する。
読み出し処理時には、制御部35は、ラスタースキャンを行って、画像記憶部2から原画像データsrcを読み出し、これをスケーリング部31に出力する制御を行う。
[画像回転部32の構成例]
画像回転部32の構成例を図4および図5に関連づけて説明する。この説明に当たり、図2も適宜参照する。
図4は、本発明の実施形態に係る画像回転部の構成例を示すブロック図である。図5は、本発明の実施形態に係る回転処理を説明するための図である。図5には、図3(B)に図示する画像destの座標P2(x2,y2)の周辺部分のみが図示されている。
図4に図示する画像回転部32は、走査カウンタ321、座標演算部322、アドレス制御部323および演算部324を有する。
走査カウンタ321は、スケーリング部31から1画素ずつ入力されてくる原画像データsrc1の画素数をカウントする。換言すれば、走査カウンタ321は、原画像src1に対して、1行1列の画素からm行n列の画素まで順にカウントする。カウントは、例えば、アップカウントである。この場合、最大カウント数は、m×nである。なお、カウント数は、記憶部33のリセットと共に、0にリセットされる。
このように、カウントを行うことで、スキャン対象の画素を把握することができる。なお、図3(A)には、カウントする順番が矢印Vで図示されている。
そして、走査カウンタ321は、カウントごとに、その画素の座標を取得し、これを座標P1として座標演算部322に出力する。例えば、カウント数がk(kは任意の正の整数)のとき、走査カウンタ321は、図3(A)に図示する画素PIX1の座標P1を取得する。
座標演算部322は、走査カウンタ321から入力された座標P1および回転角Aを基に、下記の(1.1)〜(1.2)式を使用し、座標P1に対する回転処理後の座標P2(x2,y2)を演算する。ただし、回転処理後の画像destの中心点は、図3(B)に図示するように、cd(cdx,cdy)である。
(数1)
x2=(x1−csx)×cos(A)−(y1−csy)×sin(A)+cdx
…(1.1)
y2=(x1−csx)×sin(A)−(y1−csy)×cos(A)+cdy
…(1.2)
(1.1)〜(1.2)式は、回転処理前の座標P1(x1,y1)を、座標cs(csx,csy)を中心として反時計方向に角A°回転させることを表す。座標演算部322は、上式により取得した(x2,y2)をアドレス制御部323に出力する。なお、座標P2は、画像destの画素PIX2上に位置する。
更に、座標演算部322は、回転処理後の座標P2が位置する画素PIX2を取り囲む近接した画素PIX31〜PIX32の座標を取得するため、座標P2(x2,y2)の整数部(x3,y3)および小数部(Δx,Δy)を演算により取得する。即ち、アドレス制御部323は、x2≒[x3]+Δx、y2≒[y3]+Δyを取得する。
ただし、記号「[ ]」は、ガウス記号を表す。小数部Δxは、図5に図示するように、座標P2および座標P31間の差分のx軸方向(列方向)成分を表す。小数部Δyは、座標P2および座標P31間の差分のy軸方向(行方向)成分を表す。なお、座標P2および座標P31間の差分は、これら2点間の直線距離であると捉えることもできる。
小数部を取得した結果、図5に図示するように、座標P2の周囲に、整数部の値と小数部の値とに応じた4点の座標、P31(x3,y3)、P32(x3+1,y3)、P33(x3,y3+1)、P34(x3+1,y3+1)が求まる。したがって、座標P31〜P34における画素PIX31〜PIX34の輝度値Y31、Y32、Y33、Y34も各々取得することができる。
そして、座標演算部322は、取得した小数部(Δx,Δy)および輝度値Y31〜Y34も演算部324に出力する。
アドレス制御部323は、座標演算部322から入力された整数部(x3,y3)および小数部(Δx,Δy)を基に、演算部324が4点の座標P31〜P34の画素における輝度値Y31〜Y34を記憶部33から読み出すためのアドレス演算を行う。
このアドレス演算は、アドレス制御部323のランダムアクセスにより、記憶部33に格納されている輝度値Y31〜Y34のアドレスを指定する演算である。詳細については後述するが、これらの輝度値Y31〜Y34は、演算部324による以前の演算時に、記憶部33に格納されたものである。
演算部324は、輝度値Y31〜Y34を用いて座標P2における画素PIX2の輝度値をバイリニア補間する代わりに、下記の(2.1)〜(2.4)式を用いた演算による補間を行う。この演算による補間を「重み付け分配」ともいう。重み付け分配の際に、演算部324は、座標P1(x1,y1)の輝度値Y1、輝度値Y31〜Y34、小数部(Δx,Δy)、輝度値Y31〜Y34を用いる。
なお、輝度値Y1は、スケーリング部31から入力されたものである。輝度値Y31〜Y34および小数部(Δx,Δy)は、座標演算部322から入力されたものである。輝度値Y31〜Y34は、演算部324がアドレス制御部323のアドレス演算によって記憶部33から読み出したものである。
(数2)
Y31=Y31+Y1×(1−Δx)×(1−Δy) …(2.1)
Y32=Y32+Y1×Δx×(1−Δy) …(2.2)
Y33=Y33+Y1×(1−Δx)×Δy …(2.3)
Y34=Y34+Y1×Δx×Δy …(2.4)
(2.1)〜(2.4)式は、代入式を表している。左辺の輝度値Y31〜Y34は、新たに求めるべき輝度値である。右辺の輝度値Y31〜Y34は、既に求められた輝度値である。輝度値Y31〜Y34は、以前の演算、例えば、座標P1(x1、y1)に近接した座標P1(x1+1,y1)に対する演算を行ったときに取得され、既に記憶部33に格納されている。
(2.1)式によれば、演算部324は、左辺の輝度値Y31を求めるに際し、座標P2および座標P34間の差分のx軸方向成分(1−Δx)と、この差分のy軸方向成分(1−Δy)との積(1−Δx)×(1−Δy)に、回転すべき座標P1における輝度値Y1を乗じる。
回転処理後の座標P2における輝度値Y2が座標P2に近接した座標P31〜P34の輝度値Y31〜Y34と似た値をとるため、積(1−Δx)×(1−Δy)を算出し、この積に輝度値Y1を乗じることで、座標P2における輝度値Y2に対する重みづけ分配率を高めることができる。換言すれば、積(1−Δx)×(1−Δy)は、重みづけ量を表す、輝度値Y1の寄与率Aであると捉えることができる。なお、寄与率A((2.1)式の場合、積(1−Δx)×(1−Δy))がとる値の範囲は、0<A<1である。
そして、演算部324は、積Y1×(1−Δx)×(1−Δy)に、既に記憶部33に格納されているY31を加算する。
(2.2)〜(2.4)式に示す演算も、(2.1)式に示す演算と同様の理由に基づく。
(2.2)式によれば、演算部324は、座標P2および座標P33間の差分のx軸方向成分Δxと、この差分のy軸方向成分(1−Δy)との積Δx×(1−Δy)(=寄与率A)に、回転すべき座標P1における輝度値Y1を乗じ、これに輝度値Y32を加算する。
(2.3)式によれば、演算部324は、座標P2および座標P32間の差分のx軸方向成分(1−Δx)と、この差分のy軸方向成分Δyとの積(1−Δx)×Δy(=寄与率A)に、回転すべき座標P1における輝度値Y1を乗じ、これに輝度値Y33を加算する。
(2.4)式によれば、演算部324は、座標P2および座標P31間の差分のx軸方向成分Δxと、この差分のy軸方向成分Δyとの積Δx×Δy(=寄与率A)に、回転すべき座標P1における輝度値Y1を乗じ、これに輝度値Y34を加算する。
以上、要約すれば、演算部324は、輝度値Y31〜Y34を求めるに際し、座標P2の画素PIX2を取り囲む画素PIX31〜34の内、求める対象の画素の対極に位置する、対角線上の画素の座標と座標P2間の差分のx軸方向成分とy軸方向成分とを、各々輝度値Y1に乗算する。そして、演算部324は、これらの乗算結果に輝度値Y31〜Y34を各々加算する。
図6は、本発明の実施形態に係る回転処理後の画像の一例を示す図である。図6に図示する濃淡は寄与率Aを表し、色が濃いほど、寄与率Aが高い。ここでは、小数部がΔx=Δyであるものと仮定する。
寄与率Aが最も高い画素は、(2.4)式から明らかなように、座標P2に最も近接した位置にある座標P34の画素PIX34である。次いで、寄与率Aが高い画素は、(2.2)、(2.3)式に示すように、寄与率Aが同一の画素PIX32、PIX33である。そして、寄与率Aが最も低い画素は、(2.1)式に示すように、座標P2から最も遠い位置にある座標P31の画素PIX31である。即ち、座標P2に近い座標の画素ほど、寄与率Aが高い。
上述の重み付け分配を行うことで、一般的な画像回転装置のように入力画像を線分群に変換することなく、座標P2が属する画素PIX2の輝度値が、その周囲の画素PIX31〜PIX34の輝度値Y31〜Y34で補間され、回転処理後の画像に歪みが低減される。
[画像処理装置1の動作例]
先ず、画像処理装置1全体の動作例を図7に関連づけて説明する。図7は、本発明の実施形態に係る画像処理装置1の動作例を示すフローチャートである。
始めに、画像記憶部2に原画像データsrcを格納する(ST1)。
原画像データsrcの格納終了後、記憶部33の全てのアドレスの値を0にリセットする(ST2)。これは、演算部324が、(2.1)〜(2.4)式を用いた演算を行う際に、異なる画像destにおける新たな輝度値Y31〜Y34が、既に求められた輝度値として使用されるのを回避するためである。
記憶部33のリセット後、読み出し処理を行う(ST3)。工程ST3においては、処理部3は、ラスタースキャンを行って、原画像srcを構成するm×n個の画素における画素データ値を順番に読み出す。
読み出し処理後、拡大/縮小処理を行う(ST4)。工程ST4においては、処理部3は、原画像srcの大きさが認識処理可能な大きさとなるように、これを拡大/縮小する。
拡大/縮小処理後、回転処理を行う(ST5)。工程ST5においては、処理部3は、座標cs(csx,csy)を中心として、原画像src1を反時計方向に角A°回転させる。
回転処理後、認識処理を行う(ST6)。工程ST6においては、回転処理後の画像データdestを基に、顔の認識処理を行う。
ラスタースキャンが未完了の場合、即ち、読み出すべき画素がある場合には、(ST7:NO)、工程ST1に戻る。一方、ラスタースキャンが完了した場合には、(ST7:YES)、1枚の原画像データsrcに対する一連の処理を終了する。
[画像回転部32の動作例]
次に、図7に図示する回転処理の詳細を図8に関連づけて説明する。図8は、本発明の実施形態に係る画像回転部の動作例を示すフローチャートである。
先ず、走査カウンタ321が、スケーリング部31から入力された原画像データsrc1の画素数をラスタースキャン順にカウントする(ST51)。例えば、カウントがkのとき、走査カウンタ321は、画素PIX1の座標P1(x1,y1)を取得する。
次に、座標演算部322が、走査カウンタ321から入力された座標P1および回転角Aを基に、座標P1に対する回転処理後の座標P2(x2,y2)を演算する(ST52)。
更に、座標演算部322は、座標P2に対する整数部(x3,y3)と小数部(Δx,Δy)とを演算により取得する(ST53)。
次に、アドレス制御部323は、座標演算部322から入力された座標P2に対する整数部(x3,y3)および小数部(Δx,Δy)を基に、演算部324が輝度値Y31〜Y34を記憶部33から読み出すためのアドレス演算を行う(ST54)。
このアドレス演算に従って、演算部324は、記憶部33から(2.1)〜(2.4)式の右辺に示す輝度値Y31〜Y34を読み出す。
次に、演算部324は、座標P1(x1,y1)の輝度値Y1、輝度値Y31〜Y34、小数部(Δx,Δy)、輝度値Y31〜Y34を用いて、(2.1)〜(2.4)式に示す演算、即ち、重み付け分配を行う(ST55)。
ラスタースキャンが完了するまで、上記工程ST51〜ST55を繰り返すことにより、1枚の原画像データsrcの全画素の座標に対する回転処理が終了する。
以下、図9を参照しながら、回転処理後の座標P2の輝度値Y2に対してバイリニア補間を行い、この輝度値Y2を画像destとする場合について述べる。
上述の場合、画像回転部は、図9に図示するように構成される。図9に図示する画像回転部6は、中間バッファ61、座標演算部62、走査カウンタ63、演算部64および記憶部65を有する。
この画像回転部6は、ラスタースキャンにより原画像srcを不図示の記憶部から読み出して、原画像src1に回転処理を施し、回転処理後の画像destにバイリニア補間を施す。なお、座標演算部62による座標の回転自体は(1.1)、(1.2)式を用いた同様の手法である。このバイリニア補間は、下記の式を用いて行われる。
(数3)
Y2=Y31×(1−Δx)×(1−Δy)+
Y32×Δx×(1−Δy)+
Y33×(1−Δx)×Δy+
Y34×Δx×Δy …(3)
(3)式において、Y2は、座標P2(x2,y2)の輝度値を示す。図5を参照すれば、画像回転部6が行うバイリニア補間では、座標P2の輝度値Y2が、小数部(Δx,Δy)の値で決まる面積比に応じて、輝度値Y31〜Y34が重み付けされる。
(3)式によれば、バイリニア補間を行うためには、4つの座標P31〜P34が必要である。したがって、(3)式を用いたバイリニア補間を行う限り、画像回転部6に入力された原画像srcを中間バッファ61に一旦格納する必要がある。
中間バッファ61は、原画像srcを構成する全画素データがラスタースキャン順に入力されると、入力された全ての画素データを一旦格納する。輝度値Y31〜Y34を得るためには、座標演算部62が、中間バッファ61に対して4画素分のランダムアクセスを行い、輝度値Y31〜Y34を取得しなければならない。座標演算部62がこのランダムアクセスを行うことにより、演算部64は、中間バッファ61から輝度値Y31〜Y34を読み出し、(3)式を用いて座標P2の輝度値Y2を補間した後、輝度値Y2を画像destとして記憶部65に格納する。
なお、座標演算部322が中間バッファ61から読み出すべき輝度値Y31〜Y34のアドレスは、走査カウンタ63によって指定される。
上述した観点から、回転処理後の座標P2に対してバイリニア補間を行い、この補間後の座標P2の輝度値Y2を画像destとする場合には、原画像srcを構成する全画素データを一旦格納するための中間バッファ61が必要となる。
これに対し、図4に図示する画像回転部32は、座標演算部322が原画像src1の全画素の座標を1画素ずつ入力し、この入力順に回転後の座標P2を取得する。そして、演算部324が重み付け分配を行った後に、記憶部33が重み付け分配後の輝度値Y31〜Y34を格納するので、画像回転部32は、中間バッファ61を必要としない。
そのため、回路基板上のメモリの占有面積の縮小化を図ることができる。延いては、画像処理装置の小型化を図ることができるため、デジタルカメラのように、小型化が著しい電子機器に搭載することが容易となる。更には、中間バッファ61に対するランダムアクセスが不要な分、画像処理自体が容易になるという効果も得る。
一般的な画像処理装置として、入力画像の線分群を、全ての線分が同一の傾きを取り、y切片だけが各々異なる線分群に変換し、スキャン対象の画素の座標における画素データ値を、回転後の線分群の座標の画素データ値とするものがある。このような画像処理装置を用いて入力画像に回転処理を施す例を、図10(A)、(B)に示す。
図10(A)には、X軸と平行な水平線Hに対してA°傾いている四角形の画像が例示されている。この画像を、座標csを中心に反時計回りにA°回転させた場合、回転処理後の画像に示す四角形に、図10(B)に図示するような画像の歪みが生じやすい。
しかしながら、本実施形態によれば、(2.1)〜(2.4)式を用いた演算による補間を行うことから、図10(B)に図示するような画像の歪みが発生しにくいという、顕著な効果を得ることができる。
本実施形態では、処理部3はハードウェアで構成されているが、処理部3が行う処理の全てあるいはその一部を、ソフトウェアを用いて実現することもできる。
本実施形態では、認識処理において人物の顔の認識が行われるが、認識対象およびその認識処理はどのようなものであってもよい。例えば、認識対象が指紋の場合、画像回転部32が指紋の画像を好適に回転させ、画像認識部34が回転処理後の指紋の画像を用いて指紋の認証を行えばよい。この場合、画像処理装置1は、例えば、指紋認証を行う装置に搭載される。
本実施形態では、拡大/縮小処理の終了後に回転処理が行われるが、拡大/縮小処理を行いながら回転処理を行うこともできる。
本実施形態では、画像処理装置1がデジタルカメラに搭載される例を挙げたが、これは、パーソナルコンピュータ、テレビジョン、防犯カメラシステム等、画像データを扱う種々の電子機器に搭載可能である。
1…画像処理装置、2…画像記憶部、3…処理部、4…CPU、5…内部バス、31…スケーリング部、32…画像回転部、33…記憶部、34…画像認識部、35…制御部、321…走査カウンタ、322…座標演算部、323…アドレス制御部、324…演算部

Claims (8)

  1. 入力画像データが有する複数の画素の座標を1画素単位で入力し、画素の座標の入力順に、入力座標を回転させたときの回転座標を取得する取得部と、
    前記取得部による前記入力座標における画素の画素データ値を、回転座標系において前記回転座標を囲む近接した複数の近接画素の画素データ値に重み付けて分配する分配部と、
    前記分配部によって重み付けて分配された、前記複数の近接画素の画素データ値を格納する記憶部と
    を有する画像処理装置。
  2. 前記分配部は、
    前記回転座標の整数部分および小数部分を用いて前記複数の近接画素の座標を取得し、取得した前記複数の近接画素の座標と前記回転座標との前記小数部分で示される距離に応じて、前記回転座標における画素の画素データ値を前記入力座標における画素の画素データ値で補間する
    請求項1記載の画像処理装置。
  3. 2次元の回転座標系において、
    前記小数部分は、
    行方向の行成分と、
    列方向の列成分と
    を有し、
    前記回転座標は、
    第1、第2、第3および第4の近接画素の座標に囲まれており、
    前記分配部は、
    前記第1から前記第4の近接画素の各画素データ値を求めるに際し、求める対象の近接画素の対極に位置する近接画素の座標と前記回転座標間の差分の行方向成分と列方向成分とを、各々前記入力座標における画素の画素データ値に乗算して重み付け分配することにより、前記求める対象の近接画素の画素データ値を求める
    請求項2記載の画像処理装置。
  4. 前記記憶部から読み出すべき前記複数の近接画素の画素データ値が格納されているアドレスを指定するアドレス制御部を有し、
    前記分配部は、
    補間した前記回転座標における画素の画素データ値を、前記アドレス制御部が指定する前記記憶部のアドレスから読み出した前記複数の近接画素の画素データ値に加算する
    請求項3記載の画像処理装置。
  5. 前記記憶部は、
    前記取得部が1画面を構成する入力画像データの始めの画素の座標を入力する前に、全てのアドレスの値を初期化する
    請求項4記載の画像処理装置。
  6. 前記取得部が画素の座標を入力するごとに、画素数をカウントするカウンタを有する
    請求項5記載の画像処理装置。
  7. 前記入力画像データが格納された画像データ記憶部と、
    前記画像データ記憶部に格納された前記入力画像データを1画素ずつ走査して読み出す走査制御部と
    を有する
    請求項1記載の画像処理装置。
  8. 入力画像データが有する複数の画素の座標を1画素単位で入力する第1の工程と、
    前記第1の工程での画素の座標の入力順に、入力座標を回転させたときの回転座標を取得する第2の工程と、
    前記第2の工程での前記入力座標における画素の画素データ値を、回転座標系において前記回転座標を囲む近接した複数の近接画素の画素データ値に重み付けて分配する第3の工程と、
    前記第3の工程で重み付けて分配した前記複数の近接画素の画素データ値を記憶部に格納する第4の工程と
    を有する画像処理方法。
JP2009229825A 2009-10-01 2009-10-01 画像処理装置および画像処理方法 Pending JP2011076539A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009229825A JP2011076539A (ja) 2009-10-01 2009-10-01 画像処理装置および画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009229825A JP2011076539A (ja) 2009-10-01 2009-10-01 画像処理装置および画像処理方法

Publications (1)

Publication Number Publication Date
JP2011076539A true JP2011076539A (ja) 2011-04-14

Family

ID=44020425

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009229825A Pending JP2011076539A (ja) 2009-10-01 2009-10-01 画像処理装置および画像処理方法

Country Status (1)

Country Link
JP (1) JP2011076539A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635634A (zh) * 2018-10-29 2019-04-16 西北大学 一种基于随机线性插值的行人再识别数据增强方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635634A (zh) * 2018-10-29 2019-04-16 西北大学 一种基于随机线性插值的行人再识别数据增强方法
CN109635634B (zh) * 2018-10-29 2023-03-31 西北大学 一种基于随机线性插值的行人再识别数据增强方法

Similar Documents

Publication Publication Date Title
EP3816928A1 (en) Image super-resolution reconstruction method, image super-resolution reconstruction apparatus, and computer-readable storage medium
US8803918B2 (en) Methods and apparatus for calibrating focused plenoptic camera data
US20120114262A1 (en) Image correction method and related image correction system thereof
EP2164040B1 (en) System and method for high quality image and video upscaling
US11030715B2 (en) Image processing method and apparatus
JP2012053602A (ja) 画像補正装置、補正画像生成方法、補正テーブル生成装置、補正テーブル生成方法、補正テーブル生成プログラムおよび補正画像生成プログラム
US20130342758A1 (en) Video retargeting using content-dependent scaling vectors
US10255665B2 (en) Image processing device and method, image capturing device, program, and record medium
TWI459325B (zh) 數位影像處理裝置及其處理方法
JP2012208553A (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP2010034964A (ja) 画像合成装置、画像合成方法及び画像合成プログラム
US11721003B1 (en) Digital image dynamic range processing apparatus and method
CN111598777A (zh) 天空云图的处理方法、计算机设备和可读存储介质
WO2017182789A1 (en) Blending images
TWI786906B (zh) 幀處理設備、方法及幀處理器
CN114648458A (zh) 鱼眼图像矫正方法、装置、电子设备及存储介质
JP4868249B2 (ja) 映像信号処理装置
WO2018234817A1 (en) APPARATUS AND METHOD FOR ASSEMBLING MULTIPLE IMAGES
JP5820716B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム、記録媒体、立体画像表示装置
JP5042251B2 (ja) 画像処理装置および画像処理方法
WO2018087856A1 (ja) 映像合成装置及び映像合成方法
JP2011076539A (ja) 画像処理装置および画像処理方法
JP6957665B2 (ja) 画像処理装置、画像処理方法及びプログラム
CN113793249A (zh) 一种Pentile图像转换为RGB图像的方法、装置及存储介质
JP3491830B2 (ja) 画像処理装置及び画像処理方法