説明

画像変形方法及び画像変形装置

【課題】画像の変形処理において、入力画像バッファのサイズを小さくする。
【解決手段】画像変形方法は、変形前画像の走査線方向に第1ピッチで、且つ垂直走査方向に第2ピッチで配置された領域隅点によって囲まれた複数の領域を設定する工程と、複数の領域の各々に対して0個以上のサンプリングポイントを設定する工程と、サンプリングポイントの個数と、各サンプリングポイントを特定する識別子と、変形後画像において各サンプリングポイントに対応する画素とを対応づける変形データを生成する工程と、変形前画像の画像データを読み込んで入力バッファに格納する工程と、変形データに基づいて画像データを変更することにより変形後画像を生成する工程とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を変形する技術に関する。本発明は特に、画像の歪みを補正するのに適した画像変形技術に関する。
【背景技術】
【0002】
車載カメラ、監視カメラ、デジタルカメラ等によって撮影した画像を処理する様々な技術が開発されている。例えば、車載カメラの映像をカーナビゲーションシステムのLSI(Large Scale Integrated Circuit)によって画像処理を行う技術が開発されている。画像処理により、運転支援のための車載カメラの視点変換や広角カメラの歪み補正が可能である。
【0003】
カメラ等からリアルタイムで入力される映像の歪み補正等の変形を行う場合、通常は、入力画像を一時フレームメモリに格納し、フレームメモリ上の画像に対して処理を行う。しかしながら、例えば4つの入力画像をそれぞれ1/4に縮小し、1つのフレームバッファに合成するなどの場合、4つの入力それぞれに対して一時メモリが必要であり、必要なメモリの容量とメモリアクセスが大きくなってしまうという問題がある。
【0004】
特許文献1には、画像処理装置の一例が記載されている。この技術では、画像の入力画素が、座標アドレス毎に、補正後画像の対応する出力画素座標(格納するメモリのアドレス)に変換される。このアドレス変換は入力画像の歪みを補正するように実行される。
【0005】
この技術では、各入力画素アドレスと出力画素アドレスは1対1の変換になる。そのため、例えば画像の拡大時には、対応する入力画素が存在しない出力画素が生じる。対応する入力画素が存在しない出力座標は、あらかじめキャリブレーションテーブルに設定しておく。該当画素は、その周囲の画素値に基づいて補間される。
【0006】
特許文献2には、画像補正に関する技術が記載されている。この技術では、入力画素の輝度をスキャン順に読み込み、1つの入力画素値について、対応づけられた全ての出力画素(補正後画素)に対し順次重み付け演算を行う。1つの出力画素に対するn個の重み付けされた画素値を加算することにより、出力画素値を得る。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−338137号公報
【特許文献2】特開2002−56385号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1の手法においては、補正後の画素値を得るために参照する画素は、対応付けられた1つの補正前画素である。さらに、対応する補正前画素が存在しない補正後画素値については、あらかじめ用意されたキャリブレーションテーブルにそのアドレスを格納しておき、該当アドレスの画素に着いては、(対応する補正前画素が存在する)周辺の補正後画素値に基づいて補間する。
【0009】
当該方法では、多くの補正前画素と補正後画素のアドレスは1対1の関係にある。すなわち、一部の補間によって得られた補正後画素を除くと、ポイントサンプリング手法による変形と同じような出力画像となる。例えば車載カメラの歪み補正等の用途では、その補正後画像の品質が十分ではない。
【0010】
特許文献2の手法では、補正後の画素値を得るために、例えばバイリニア法等、補正後画像の品質が比較的高い手法をとることが可能である。しかしながら、この手法では、各入力画素に、対応するすべての出力画素の数だけ重み演算をし、その結果をバッファに一時保持しなければならない。そのためバッファサイズが大きくなってしまう。あるいはバッファを共有する場合でも、メモリアクセスの頻度が非常に多くなってしまうという問題がある。
【課題を解決するための手段】
【0011】
本発明の一側面において、画像変形方法は、変形前画像の走査線方向に第1ピッチで、且つ垂直走査方向に第2ピッチで配置された領域隅点によって囲まれた複数の領域を設定する工程と、複数の領域の各々に対して0個以上のサンプリングポイントを設定する工程と、サンプリングポイントの個数と、各サンプリングポイントを特定する識別子と、変形後画像において各サンプリングポイントに対応する画素とを対応づける変形データを生成する工程と、変形前画像の画像データを読み込んで入力バッファに格納する工程と、変形データに基づいて画像データを変更することにより変形後画像を生成する工程とを備える。
【0012】
本発明の他の側面において、画像変形装置は、変形前画像の走査線方向に第1ピッチで、且つ垂直走査方向に第2ピッチで配置された領域隅点によって囲まれた複数の領域を設定する領域設定部と、複数の領域の各々に対して0個以上のサンプリングポイントを設定するサンプリングポイント設定部と、サンプリングポイントの個数と、各サンプリングポイントを特定する識別子と、変形後画像において各サンプリングポイントに対応する画素とを対応づける変形データを生成する変形データ生成部と、変形前画像の画像データを読み込んで入力バッファに格納する画像データ読込部と、変形データに基づいて画像データを変更することにより変形後画像を生成する変形後画像生成部とを備える。
【発明の効果】
【0013】
本発明により、画像の変形処理において、入力画像バッファのサイズを小さくすることができる。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明の第1実施形態における画像変形装置の構成を示す。
【図2】図2は、変形処理部の構成を示す。
【図3】図3は、補間演算部の構成を示す。
【図4】図4は、入力画像の画素Pと領域Rの関係を示す。
【図5】図5は、変形前画像と変形後画像の関係を示す。
【図6】図6は、変形データを示す。
【図7】図7は、変形処理のフローを示す。
【図8】図8は、画像座標系と画素の入力順序とを示す。
【図9】図9は、入力バッファに格納されるデータを示す。
【図10】図10は、読み出しデータを示す。
【図11】図11は、補間方法の一例を示す。
【図12】図12は、本発明の第2実施形態における画像変形装置の構成を示す。
【図13】図13は、符号化の一例を示す。
【図14】図14は、変形処理のフローを示す。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を説明する。ラスタスキャン順に入力される画素を一時記憶メモリに格納する。この一時記憶メモリは、補間演算に必要な分のみ用意すればよい。例えばバイリニア補間を用いる場合は1走査線+2ピクセル分のデータを格納する容量を持つバッファを用意する。バイキュービック補間を用いる場合は3走査線+4ピクセル分のバッファを用意する。補間演算方法は、変形後の画像の品質要求に応じ、適切なものを採用できる。
【0016】
変形の演算は、あらかじめ定められた変形データを参照して行う。この変形データには、各画素の近傍領域内に対応する変形後画素の数、領域内にサンプリングポイントをもつ変形後画像の画素の座標および、そのサンプリングポイントの領域内における相対位置を示す情報が含まれる。
【0017】
次に、添付図面を参照して、本発明の第1実施形態について説明する。図1は、本実施形態における画像変形装置の構成を示す。画像変形装置は、ビデオ入力部1、入力画像バッファ2、変形処理部3、ビデオ出力部4、及び出力画像・変形データバッファ6を備える。これらの各部はバス5で互いに接続される。
【0018】
ビデオ入力部1は、カメラ等によって撮影された映像データをそのラスタスキャン順に取り込む。映像データは、入力の時系列順にリアルタイムに入力画像バッファ2に書き込まれる。映像データには、具体的には、変形対象の画像を構成する画素の座標を特定する情報と、画素値(輝度など)を示す情報とが含まれる。
【0019】
入力画像バッファ2は、映像データをビデオ入力部1から取り込んだ順に格納する。入力画像バッファ2は、例えばSRAM(Static Random Access Memory)によって構成することができる。入力画像バッファ2は、SRAM以外に、一部あるいは全部をフリップフロップ等を用いた汎用あるいは専用レジスタを用いて構成することができる。また入力画像バッファ2と出力画像・変形データバッファ6とが物理的に同一のメモリを共有している構成であってもよい。
【0020】
変形処理部3は、予め出力画像・変形データバッファ6に格納されている変形データを読み込む。入力した変形前画像は、この変形データに基づいて変形後画像に変形される。変形後画像は出力画像・変形データバッファ6のDRAM(Dynamic Random Access Memory)に格納される。
【0021】
出力画像・変形データバッファ6は、DRAMによって構成することができ、変形データと変形後データ(変形処理後の画像データ)とを格納する。出力画像・変形データバッファ6は必ずしもDRAMである必要はない。例えばその一部あるいは全部がSRAMやその他の記憶素子であってもよい。また出力画像・変形データバッファ6と入力画像バッファ2が物理的に同一のメモリを共有する構成であってもよい。図1では出力画像・変形データバッファ6は、変形処理を行うために参照される変形データと、出力する変形後画像とを共に格納している。しかし変形データを格納する変形データバッファと、変形後画像を格納する出力画像バッファとを物理的に別のメモリで構成してもよい。ビデオ出力部4は、出力画像・変形データバッファ6に格納された変形後画像を外部装置に出力する。
【0022】
次に、変形処理部3の内部構成を示す。制御部14は、各モジュールの処理タイミング等を制御する。変形データ読み出し部13は、DRAM(出力画像・変形データバッファ6)に格納されている変形データを読み出し、各モジュールに、以下のようにデータを送信する。制御部14に対しては、現在の処理対象の変形前画像領域に含まれる処理対象点の数を送信する。補間演算部11に対しては、現在の処理対象画素のサンプリングポイント座標を送信する。変形後画像書き込み部12に対しては、現在の処理対象画素の変形後の座標(メモリアドレス)を送信する。
【0023】
補間演算部11は、変形の補間演算を行う。補間演算のためのパラメータ(補間対象座標の周辺画素値の重み係数)としては、変形データ読み出し部13より得たサンプリングポイント座標が用いられる。変形後画像書き込み部12は、変形後画像の画素値のデータを出力画像・変形データバッファ6に書き込む。書き込みアドレスは変形データ読み出し部13より得る。
【0024】
図3は、補間演算部11が備える機能ブロックを示す。補間演算部11は、領域設定部A1、サンプリングポイント設定部A2、変形データ生成部A3、画像データ読込部A4、及び変形後画像生成部A5として機能する。これらの機能は、変形処理装置が備える演算制御装置が、記憶装置に予め格納されたプログラムを読み出し、そのプログラムの記述に従って動作することによって実現される。
【0025】
図4は、変形処理の対象となる変形前画像を示す。変形前画像は、縦横にマトリクス状に並んだ画素Pによって形成される。2行2列の互いに隣接する4画素のそれぞれの中心点Cを結ぶことによって矩形領域が形成される。
【0026】
この矩形の領域Rの設定について説明する。補間演算部11が備える領域設定部A1は、変形前画像に対して予め、走査線方向と垂直走査線方向に縦横に並んだ複数の領域Rを設定する。この領域Rは、次のようにして設定することができる。変形前画像の走査線方向に第1ピッチで、且つ垂直走査線方向に第2ピッチで配置された領域隅点を設定する。第1ピッチは、変形前画像の走査線方向の画素のピッチの整数倍であり、好ましくは同一である。第2ピッチは、変形前画像の垂直走査線方向の画素のピッチの整数倍であり、後述する入力バッファの節約のためには同一であることが特に好ましい。この領域隅点を四隅とする矩形が、領域Rとして設定される。以下の説明では、領域Rは2行2列の画素の中心によって囲まれた領域であるとする。領域設定部A1によって予め設定される領域Rと、各変形前画素との位置関係が、後に説明する補間演算に用いられる。
【0027】
サンプリングポイント設定部A2は、各領域R内に、画像変形のために用いられるサンプリングポイントを0個以上、設定する。0個以上というのは、サンプリングポイントが1つも設定されない領域もあり得るという意味である。領域設定部A1とサンプリングポイント設定部A2は、以上の領域Rとサンプリングポイントを、処理対象の映像データが入力される前に、オペレータの入力作業に応じて、あるいは所定のアルゴリズムによりコンピュータが生成したデータによって設定し保存する。
【0028】
変形データ生成部A3は、変形前画像から変形後画像を生成するための処理を定義する画像フィルタとして機能する変形データを生成する。変形データは、各領域Rについて、サンプリングポイントの個数と、各サンプリングポイントを特定する識別子と、変形後画像において各サンプリングポイントに対応する画素とを対応づける。
【0029】
具体的には、変形データは、以下のデータを含む。
(1)矩形領域R内のサンプリングポイント数(以下Nとする)。
領域R内にサンプリングポイントが無い場合は、N=0である。
(2)N!=0(Nが0でない)の場合
それぞれのサンプリングポイントに対応する変形後画像の画素の座標(以下Dとする)。Dが演算出力の格納先アドレスとなる。
(3)N!=0の場合
それぞれのサンプリングポイントの領域R内の相対座標(以下Sとする)。例えば各領域Rの左上を原点とする。Sが補間演算のパラメータとなる。
【0030】
画像データ読込部A4は、ビデオ入力部1からの入力画像バッファ2への入力画像データのバッファリングと、入力画像バッファ2から変形処理部3へのバッファされたデータの読み出しとを制御する。
【0031】
図5は、画像変形処理の例を示す。変形前画像の各サンプリングポイントの座標S(xは各サンプリングポイントを特定する識別子)は、変形後画像の画素の座標D(xは各画素を特定する識別子)に対応する。変形前画像20の矩形は、2行2列の画素の中心点で囲まれた領域を示す(以降領域R)。すなわち、変形前の各画素の中心は、矩形の頂点位置となる。変形後の画像の矩形は、画素そのものを表す。
【0032】
図6に変形データの例を示す。変形データ22には、領域R0、R1、R2・・・と、各領域Rに関する変形データがラスタスキャン順に含まれる。各領域Rxの変形データには、変形後画素(変形後画像において当該領域に対応する画素)の数N、N個の変形後画素の座標Dx(xは0からN−1までの整数)、および変形後画素に対応する変形前矩形領域R内のサンプリングポイントの位置Sxが含まれる。
【0033】
次に、図5の変形を例にとり、図6の変形データがどのように決定されるかを示す。変形前画像の最初の2つの領域(Rで示される左上の領域とRで示されるその右隣の領域)には、対応する変形後の画素が存在しない。そのため、変形データ22の変形後画素の数Nは、(a)に示されるように0である。Rで示される3番目の領域は、サンプリングポイントS、Sが2つ、それぞれに対応する変形後の画素D、Dが2つある。そのため変形データ22のNは2である。Rの変形データ22には更に、変形後の画素の変形後画像内での座標D、Dおよび、変形前の領域の相対位置S、Sがそれぞれ格納される。
【0034】
変形処理は、あらかじめ用意された上記の変形データに基づいて行われる。画像データは、画素のスキャン順に入力される。画素のデータが入力される毎に、対応する変形データが参照される。
【0035】
変形データはR、R、R・・・と画素の入力順(ラスタスキャン順)に格納されている。そのため、フレームの処理開始時より、順次に入力される画素データに対応する変形データを先頭から順次読み込む。変形データがN=0である場合、対応する変形後の画素は存在しない。そのため、何も処理を行わない。変形データがN!=0である場合、Nの数だけ補間演算を行う。具体的には、Sの値を用いて補間演算を行う。画素を格納するメモリアドレスは、Dの値を用いて決定される。
【0036】
変形処理のフローチャートを図7に示す。このフローチャートに従って、変形処理を説明する。入力画像23の座標系を図8に示す。画像の左上を原点として、右方向(走査線方向)にx座標、下方向(垂直走査線方向)にy座標が設定される。ラスタスキャンの画素入力順24は、走査線をx方向として、走査線に沿って左から右、且つ上の走査線から下の走査線に向かう方向である。ビデオ入力部1によって処理対象の映像データを取り込む前に、予め変形データが準備され、出力画像・変形データバッファ6に格納される。
【0037】
ステップS1
ビデオ入力部1がカメラ等からの画像データ(画素データ)を入力し、入力画像バッファ2に取り込む。入力画像バッファ2は、補間演算に必要な分のサイズを持つ。例えばバイリニア補間の場合、補間対象領域の近傍4点の画素値が必要である。そのため、図9に示すように1ライン+2ピクセル分のバッファが必要である。補間演算に不要となった画素データは破棄される。
【0038】
この入力バッファの動作をより一般的に説明する。画像データ読込部A4は、画像データのうち、走査順に、各々の走査線(図9の前ラインの画素データ31、仮に第1走査線と呼ぶ)の第1画素から第1走査線の次に走査される走査線(現ラインの画素データ32、第2走査線と呼ぶ)の第2画素までのm個の画素のデータを入力画像バッファ2に読み込んで保存する。m個は、少なくとも(p+2)個(pは1走査線の画素数)である。図9の例では、m=p+2である。この場合、領域Rnは2行2列の領域となる。この例が最も入力バッファが小さくて済む点で好ましい。
【0039】
画像データ読込部は更に、第2走査線の第2画素の次の画素の入力画素データ34を入力バッファに読み込む。その際、入力バッファの以前に入力したデータ33のうち、第1画素のデータを破棄データ35として破棄する。変形後画像生成部A5は、入力バッファ30に保存された画像データから変形後画像を生成する。
【0040】
ステップS2
入力画素の座標が、x=0あるいはy=0(入力画像の左端あるいは上端)の場合、補間処理を行わない。入力画像の左端あるいは上端画素を入力する時点では、対応する領域Rx(入力画素を右下とした2行2列の4画素の中心点で囲まれる領域)が存在しないためである。
【0041】
以降、各入力画素を右下とする領域(入力画素の座標が(m,n)の場合、(m−1,n−1),(m,n−1),(m−1,n),(m,n)で囲まれた領域)をRmnとする。
【0042】
ステップS3
領域Rmn内で変形データを参照してN==0(Nの値が0)である場合、補間処理を行わない。Rmn内に処理対象の画素が存在しないためである。
【0043】
ステップS4
画像データ読込部A4は、補間に必要な画素データを、入力画像バッファより読み出す。例えば、バイリニア補間を行う場合、処理対象の近傍4画素の画素値が必要であるため、座標(m−1,n−1),(m,n−1),(m−1,n),(m,n)の画素値を読み出す。図10は、画像データ読込部A4が読み出す読み出しデータ40を示す。図9の入力バッファ30に格納された前ラインの画素データ31、現ラインの画素データ32がそれぞれ前ラインの画素データ41、現ラインの画素データ42として読み出される。その結果、領域Rnに対する変形処理が可能となる。
【0044】
ステップS5
変形後画像生成部A5は、ステップS5〜S10において変形後画像を生成する。まず変形後画像生成部A5は、変形データを変形データバッファより読み出す。ステップS6以降で必要な変形パラメータを読み出す。
【0045】
ステップS6
所定の補間方法に基づいて、変形前画像の画像データ(ステップS4で読み出した画素値)から、サンプリングポイントSxの各々の画素値である補間画素値を計算する補間演算を行う。バイリニア補間の場合、ここでSxは、領域Rmnの左上を原点とする相対座標(u,v)(0<=u,v<1)とする。図11のように、補間対象点Sxの近傍の画素値をそれぞれP(m−1,n−1),P(m,n−1),P(m−1,n),P(m,n)とすると、補間演算は下式により行われる。
【数1】

ここで、S´xが補間後の画素値である。カラー画像の場合は、各色値に関してそれぞれの演算を行う。この演算は、バイリニア補間と呼ばれる一般的な補間演算である。
【0046】
ステップS7
補間結果を出力バッファに書き込む。ステップS5で求めた画素値S´xを出力バッファのDが示すアドレスに格納する。この処理によって、補間画素値を変形データにおいて対応する変形後画像の画素値とすることにより、変形後画像が生成される。
【0047】
ステップS8
領域Rmn内に残りの処理対象画素が存在する場合はステップS5に戻り、処理を行う。
【0048】
ステップS9
フレーム最終画素である場合には処理を終了する。以上の一連の処理が各フレームに対して実行される。
【0049】
上記のように、変形処理は画像データの入力順に行うことが可能となる。そのため、変形の補間演算に必要な入力画像バッファのサイズを小さくすることができ、かつ、メモリアクセスも従来技術に比較して少なくすることが可能となる。
【0050】
本実施形態の画像変形方法によれば、変形対象画素の入力順に、対応する領域R単位に含まれる変形情報をあらかじめ用意しておくことにより、変形処理を画素の入力順に行うことが可能となる。そのため入力バッファのサイズを小さくすることが出来る。さらに、この変形情報は各領域R内に複数の対象画素を持つことが可能であり、また、バイリニア補間等に適用することが可能であるため、特許文献1の技術に比べて画質を向上することが可能である。
【0051】
また、特許文献2記載の技術では、入力された各画素に対して、対応する変形後画素の数だけ重み演算を行い、一時バッファに保存しておく必要がある。そのため、メモリアクセスが非常に多くなるという問題があった。本実施形態では、図7のフローチャートからわかるように、各領域単位での処理において、入力バッファからの近傍画素値の読み出し(ステップS4)は1回のみである。そのため、メモリアクセスは必要最低限となり、処理速度の高速化と消費電力の低減が可能である。
【0052】
次に、本発明の第2実施形態を説明する。図12は、第2実施形態における画像変形装置の構成を示す。第1実施形態との差異は、変形データ伸張部54が追加されていることである。変形データ伸張部54は、あらかじめ圧縮され、バッファに格納されている変形データを伸張する。変形データ伸張部54以外の構成は、第1実施形態と同様である
【0053】
本実施形態においては、第1実施形態における変形データをあらかじめデータ圧縮しておく。以下に圧縮方法の一例を示す。しかし、圧縮対象データ(N,S,D)および圧縮方法としては、他の手段を採用することも可能である。
【0054】
ここでは、以下のような変形データの特徴を利用し、サンプリングポイントの個数Nおよび変形後画像の画素の座標Dを圧縮する例を説明する。
(1)通常の変形では多くの場合、Nの値の出現頻度に偏りが生じる。例えば単純な2×2拡大の場合、常にN=4である。
(2)多くの変形処理では、隣接するDの値は連続する。例えば図6の変形データ(図5の画像変形の例)では、出現順に見た場合、Dの値のx,yいずれかが不連続になるのはD−D,D−Dの場合のみである。
【0055】
上記(1)の性質より、Nの圧縮のためにUnary符号化を採用する。本来は、N値の偏りに最適化したエントロピー符号化を行うことが望ましいが、ここでは簡単のために図13に示すようなUnary符号化をベースにしたエントロピー符号化を用いる。
【0056】
上記(2)の性質より、Dの圧縮のために、その変形データ内での出現順で、直前のDとの差分をとり、その差分をUnary符号化する。
【0057】
図14は、第2実施形態における画像変形方法の処理フローを示す。第1実施形態との差異は、ステップS5aの処理のみである。ステップS5aにおいて、読み出す変形データのうち、NとDは圧縮済みである(本例ではSは非圧縮)。そのため、この工程でNとDを伸張し、以降は第1実施形態と同様の処理を行う。
【0058】
本実施形態では、第1実施形態に比べて変形データのデータサイズが小さく、消費するメモリサイズおよびメモリアクセスを低減することができる。そのため、より低コスト、低消費電力となる。
【符号の説明】
【0059】
1 ビデオ入力部
2 入力画像バッファ
3 変形処理部
4 ビデオ出力部
5 バス
6 出力画像・変形データバッファ
10 変形前画像読み出し部
11 補間演算部
12 変形後画像書き込み部
13 変形データ読み出し部
14 制御部
20 変形前画像
21 変形後画像
22 変形データ
23 入力画像
24 画素入力順
30 入力バッファ
31 前ラインの画素データ
32 現ラインの画素データ
33 以前に入力したデータ
34 入力画素データ
35 破棄データ
40 読み出しデータ
41 前ラインの画素データ
42 現ラインの画素データ
51 入力画像バッファ
52 ビデオ入力部
53 変形処理部
54 変形データ伸張部
55 ビデオ出力部
56 バス
57 出力画像・変形データバッファ
A1 領域設定部
A2 サンプリングポイント設定部
A3 変形データ生成部
A4 画像データ読込部
A5 変形後画像生成部
C 中心点
D 画素の座標
P 画素
R 領域
S サンプリングポイントの座標

【特許請求の範囲】
【請求項1】
変形前画像の走査線方向に第1ピッチで、且つ垂直走査方向に第2ピッチで配置された領域隅点によって囲まれた複数の領域を設定する工程と、
前記複数の領域の各々に対して0個以上のサンプリングポイントを設定する工程と、
前記サンプリングポイントの個数と、各サンプリングポイントを特定する識別子と、変形後画像において各サンプリングポイントに対応する画素とを対応づける変形データを生成する工程と、
前記変形前画像の画像データを読み込んで入力バッファに格納する工程と、
前記変形データに基づいて前記画像データを変更することにより前記変形後画像を生成する工程とを具備する
画像変形方法。
【請求項2】
前記画像データは、前記変形前画像を構成する複数の画素の各々の画素値を示し、
前記変形後画像を生成する工程は、
所定の補間方法に基づいて前記画像データから前記サンプリングポイントの各々の画素値である補間画素値を計算する工程と、
前記補間画素値を前記変形データにおいて対応する前記変形後画像の画素値とすることにより前記変形後画像を生成する工程とを具備する
画像変形方法。
【請求項3】
前記複数の領域の各々は2行2列の画素の各々の中心によって囲まれた領域であり、
前記画像データを読み込む工程は、
前記画像データのうち、走査順に、第1走査線の第1画素から前記第1走査線の次に走査される第2走査線の第2画素までのm個の画素のデータを前記入力バッファに読み込んで保存する工程とを具備し、
前記m個は、少なくとも(p+2)個(pは1走査線の画素数)であり、
前記画像データを読み込む工程は更に、
前記第2走査線の第2画素の次の画素の前記画像データを前記入力バッファに読み込む工程と、
前記入力バッファの前記第1画素のデータを破棄する工程とを具備し、
前記変形後画像を生成する工程は、前記入力バッファに保存された前記画像データに対して実行される
請求項2に記載された画像変形方法。
【請求項4】
前記変形データを生成する工程において、前記変形データは所定の圧縮方法により圧縮して前記入力バッファに保存される
請求項1から3のいずれかに記載された画像変形方法。
【請求項5】
変形前画像の走査線方向に第1ピッチで、且つ垂直走査方向に第2ピッチで配置された領域隅点によって囲まれた複数の領域を設定する領域設定部と、
前記複数の領域の各々に対して0個以上のサンプリングポイントを設定するサンプリングポイント設定部と、
前記サンプリングポイントの個数と、各サンプリングポイントを特定する識別子と、変形後画像において各サンプリングポイントに対応する画素とを対応づける変形データを生成する変形データ生成部と、
前記変形前画像の画像データを読み込んで入力バッファに格納する画像データ読込部と、
前記変形データに基づいて前記画像データを変更することにより前記変形後画像を生成する変形後画像生成部とを具備する
画像変形装置。
【請求項6】
前記画像データは、前記変形前画像を構成する複数の画素の各々の画素値を示し、
前記変形後画像生成部は、
所定の補間方法に基づいて前記画像データから前記サンプリングポイントの各々の画素値である補間画素値を計算し、
前記補間画素値を前記変形データにおいて対応する前記変形後画像の画素値とすることにより前記変形後画像を生成する
請求項5に記載された画像変形装置。
【請求項7】
前記複数の領域の各々は2行2列の画素の各々の中心によって囲まれた領域であり、
前記画像データ読込部は、
前記画像データのうち、走査順に、第1走査線の第1画素から前記第1走査線の次に走査される第2走査線の第2画素までのm個の画素のデータを前記入力バッファに読み込んで保存し、
前記m個は、少なくとも(p+2)個(pは1走査線の画素数)であり、
前記画像データ読込部は更に、
前記第2走査線の第2画素の次の画素の前記画像データを前記入力バッファに読み込み、
前記入力バッファの前記第1画素のデータを破棄し、
前記変形後画像生成部は、前記入力バッファに保存された前記画像データから前記変形後画像を生成する
請求項6に記載された画像変形装置。
【請求項8】
前記変形データ生成部は、前記変形データを所定の圧縮方法により圧縮して前記入力バッファに保存する
請求項5から7のいずれかに記載された画像変形装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate