JP2015069272A - 画像変形装置および画像変形方法 - Google Patents
画像変形装置および画像変形方法 Download PDFInfo
- Publication number
- JP2015069272A JP2015069272A JP2013200908A JP2013200908A JP2015069272A JP 2015069272 A JP2015069272 A JP 2015069272A JP 2013200908 A JP2013200908 A JP 2013200908A JP 2013200908 A JP2013200908 A JP 2013200908A JP 2015069272 A JP2015069272 A JP 2015069272A
- Authority
- JP
- Japan
- Prior art keywords
- image
- deformation
- interpolation
- coordinate system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000015654 memory Effects 0.000 claims abstract description 147
- 230000009466 transformation Effects 0.000 claims description 45
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減する。
【解決手段】画像変形装置10は、画像を入力する入力部11と、入力された画像を格納するフレームメモリ12と、入力された画像を変形処理する際の変形処理パラメータP1を格納するパラメータメモリ13と、フレームメモリ12からのデータ読み込み効率を向上させるため、フレームメモリ12に格納された画像に含まれる画素ブロックを一時的に格納するキャッシュメモリ14と、変形処理パラメータP1を使用してキャッシュメモリ14に格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する変形処理部16と、変形処理が施された画像を出力する出力部17とを備え、変形処理部16は、出力座標系上のある点に対応した入力座標系上の点の座標に応じて補間処理における補間方法を選択的に切り替える。
【選択図】図12
【解決手段】画像変形装置10は、画像を入力する入力部11と、入力された画像を格納するフレームメモリ12と、入力された画像を変形処理する際の変形処理パラメータP1を格納するパラメータメモリ13と、フレームメモリ12からのデータ読み込み効率を向上させるため、フレームメモリ12に格納された画像に含まれる画素ブロックを一時的に格納するキャッシュメモリ14と、変形処理パラメータP1を使用してキャッシュメモリ14に格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する変形処理部16と、変形処理が施された画像を出力する出力部17とを備え、変形処理部16は、出力座標系上のある点に対応した入力座標系上の点の座標に応じて補間処理における補間方法を選択的に切り替える。
【選択図】図12
Description
本発明は、画像変形装置および画像変形方法に関する。
従来、入力された画像を変形させて出力する画像処理装置が知られている。例えば、図8に示すように、魚眼レンズや超広角レンズを用いた撮像装置より入力される画像は歪んでいるため、この歪みを電子的に補正する画像変形装置10が提案されている(特許文献1参照)。また、プロジェクタやHUD(Head Up Display)のような投影装置を用いた場合は、投影装置の設置角度や投射対象となるスクリーン形状が原因で、入力画像をそのまま投影すると投影画像が歪むことがある。そこで、図9に示すように、入力画像をあらかじめ画像変形装置10で変形させておき、変形後の画像を投影装置に送ることで投影画像の歪みを解消する技術が提案されている(特許文献2参照)。
画像変形装置10において画像を変形するには次の手順を踏む。まず、外部より入力されてきた画像1フレーム分を走査線順に画像メモリ(以下、フレームメモリ12)へ格納する。次に、これを出力する際に、走査線順ではなく変形を考慮した画像データ読み込み制御、より具体的には“入力画像の画素データ再配置”という操作を行うことで変形を実現する。以下、具体例を挙げて説明する。
入力画像上の座標系(以下「入力座標系」)と、出力画像上の座標系(以下「出力座標系」)とを考え、入力画像と出力画像それぞれの画素を入力座標系と出力座標系それぞれの格子点に対応させる。そして、出力座標系上の各格子点について入力座標系上で対応する位置を求め、その位置における画素値から出力画素を計算する。出力座標系上の格子点が入力座標系上の格子点と1対1で対応している場合は、入力画素がそのまま出力画素として出力される。しかし、変形形状によっては対応する位置の座標が整数値にならない、つまり出力座標系上の格子点が入力座標系上の格子点上にない場合がある。この場合は、指定された位置に最も近い入力座標系上の格子点で代表させる方法(最近傍補間(ニアレストネイバー))や、周囲の画素値に対して補間演算(隣接2点補間,双一次補間(バイリニア補間),双三次補間(バイキュービック補間))を適用し出力画素値を得る。
図10に画素データ再配置の例を示す。図10は、入力座標系と出力座標系の対応をデータ配列(変形処理パラメータP1)によって表すタイプの変形方法である。ここで、出力座標系上の点O[0,0]に着目し、この出力点に対応する入力座標系上の点を求める場合を考える。この場合、入力座標系と出力座標系の対応を記したデータ配列(変形処理パラメータP1)を参照することで、出力座標系上の点O[0,0]に対応するのは入力座標系上の点I[0,0]であることがわかるため、この画素値を出力する。次に、出力座標系上の点O[2,1]に着目した場合、これに対応する入力座標系上の点はI[2,1.5]であるが、この位置は入力座標系上の格子点ではなく1対1で対応する画素は存在しない。この場合にとりうる手段としては、I[2,1]とI[2,2]の画素値に対して補間演算を適用しI[2,1.5]の画素値を合成する方法や(双一次補間(バイリニア補間))、 I[2,1]に代表させる方法(最近傍補間(ニアレストネイバー))などがある。
図10で述べた変形処理を実現するための構成を図11に示す。図11は、画像変形装置10の基本的な構成であり、入力部11と、出力部17と、変形処理部16と、フレームメモリ12と、パラメータメモリ13とを備える。入力部11は、外部から入力されてきた画像をフレームメモリ12へ格納する。出力部17は、変形処理が完了した画像を外部へ出力する。変形処理部16は、画像の変形処理を行う。具体的には、図10にて説明した“入力画像の画素データ再配置”という操作を行う。フレームメモリ12は、入力部11からの画像を格納する。パラメータメモリ13は、変形処理における入力座標系と出力座標系の対応をデータ配列(変形処理パラメータP1)として格納する。
なお、歪みの形状が台形のように数式で表現できる場合は、変形処理パラメータP1を逐次計算して生成することができる。この場合は、パラメータメモリ13の代わりに変形座標の発生器を置くことになる。
ところで、例に挙げた画像変形装置10においては、画面サイズに応じたフレームメモリ12が必要となる。レンズの歪み補正に限らず、台形や平行四辺形といった変形形状に対応するためには、フレームメモリ12の特定の箇所を高速に読み込む必要がある。特定の箇所を高速に読み込むアクセス、一般に“ランダムアクセス”と呼ばれるアクセスにはSRAM(Static Random Access Memory)が適している。しかし、フレームメモリ12を実現するに足る大容量のSRAMは非常に高価であり、これを画像変形装置10のフレームメモリ12に使うことはとても現実的とはいえない。逆に安価なDRAM(Dynamic Random Access Memory)を使用すると、変形形状によっては画素データの読み込みが変形処理に追いつかず、リアルタイム処理を実現できないといった問題がある。
これを改善するため、図12に示すように、DRAMで構成されるフレームメモリ12と変形処理部16との間に、SRAMで構成されるキャッシュメモリ14を設け、フレームメモリ12からのデータ読み込み効率を改善する方法がとられる(特許文献3、非特許文献1参照)。キャッシュメモリ14は、読み込みデータの局所性を利用し、読み込み対象となったデータだけではなく、次サイクルや次々サイクルで読み込まれる可能性が高い周辺データをもあらかじめ読み込んでおく。こうすることで、フレームメモリ12へのランダムアクセスが頻発するような状況を防ぐ。
図13は、キャッシュメモリ14を用いた画像変形装置10の基本的な動作を示したフローチャートである。変形処理部16は、パラメータメモリ13から変形処理パラメータP1を読み込み、処理対象となる画素データをキャッシュメモリ14に対して要求する(S31→S32)。ここで、処理対象となる画素データがキャッシュメモリ14中にある場合はキャッシュメモリ14から画素データを読み込む(S33→S35)。そうではない場合は、フレームメモリ12から対象データおよび次サイクルや次々サイクルで読み込まれる可能性が高い周辺データを一緒にキャッシュメモリ14へ読み込んでおく(S33→S34)。
以下、図14をもとに詳しく説明する。図14は、画像変形装置10のフレームメモリ12およびキャッシュメモリ14の概念図である。フレームメモリ12には2次元ブロック状で画素データが格納されており、キャッシュメモリ14へのデータ読み込みもこのブロック単位(以降、画素ブロック)で行われるとする。また、1つの画素ブロックは8×8画素で構成されるものとし、補間方法としては最近傍補間(ニアレストネイバー)を適用して出力画素を合成するものとする。図14におけるフレームメモリ12の座標上に示される×印は、出力画素を合成するために必要とされている入力座標系上の座標である。また、これに隣接している黒色の点は、最近傍補間(ニアレストネイバー)にて選択される画素である。
今仮に、出力画素を合成するために必要な最近傍画素がフレームメモリ12中のデータ[0], データ[1], データ[2]…であり、これに対する読み込み要求が変形処理部16より順に発行された場合を考える。変形処理部16は、最初のデータ[0]を読み込むため、キャッシュメモリ14に読み込み要求を出す。しかし、データ[0]はキャッシュメモリ14中に存在しないので、キャッシュメモリ14からフレームメモリ12へ読み込み要求を出し、データ[0]を含む画素ブロックA0をキャッシュメモリ14へ読み込む。その後、変形処理部16は、キャッシュメモリ14よりデータ[0]を読み込み、変形処理を行う。次に、データ[1]の読み込み要求があった場合、このデータ[1]はキャッシュメモリ14中に存在するため、フレームメモリ12へのアクセスは発生しない。以降、データ[7]まではキャッシュメモリ14へのアクセスのみでデータ読み込みが完了する。データ[8]を読み込む際には、フレームメモリ12から再度画素ブロックB0を読み込む必要がある。まとめると、図15に示すタイムチャートの通り、(1)キャッシュメモリ14中にデータあり、(2)キャッシュメモリ14中にデータなし、(3)当該データを含む画素ブロックをフレームメモリ12から読み込む、というサイクルを繰り返す。
次に、補間演算適用時におけるキャッシュメモリ14へのアクセスについて詳しく説明する。図14および図15で述べた例は、前記のとおり、最近傍補間(ニアレストネイバー)を適用した場合のアクセスパターンであり、画像変形装置10において出力座標系上の格子点が入力座標系上の格子点上にないときは、指定された位置に最も近い入力座標系上の格子点で代表させる。この方法は、省メモリ・省ハードウェアで実現することができるが、変形処理後の画像の画質が大きく劣化するという問題がある。そのため、ほとんどの変形処理においては、周囲の画素値に対して複数点を参照する補間演算(双一次補間(バイリニア補間),双三次補間(バイキュービック補間))を用いて出力画素値を得る手法がとられる。例として、双一次補間(バイリニア補間)を適用した場合の動きを説明する。
キャッシュメモリ14へのデータ読み込みの基本的なフローについては、図13と同様である。しかし、双一次補間(バイリニア補間)を適用する場合、出力座標系上の点に対応する入力座標系上の点に最も隣接する4画素を必要とする。例えば、ある出力座標系上の1点に対応する入力座標系上の1点がI[7.1, 7.3]である場合、最近傍補間(ニアレストネイバー)ではI[7, 7]の画素で代表させるのに対して、双一次補間(バイリニア補間)ではI[7, 7], I[7, 8], I[8, 7], I[8, 8] の4画素から合成する。
次に、補間演算適用時におけるキャッシュメモリ14へのアクセスについて詳しく説明する。図14および図15で述べた例は、前記のとおり、最近傍補間(ニアレストネイバー)を適用した場合のアクセスパターンであり、画像変形装置10において出力座標系上の格子点が入力座標系上の格子点上にないときは、指定された位置に最も近い入力座標系上の格子点で代表させる。この方法は、省メモリ・省ハードウェアで実現することができるが、変形処理後の画像の画質が大きく劣化するという問題がある。そのため、ほとんどの変形処理においては、周囲の画素値に対して複数点を参照する補間演算(双一次補間(バイリニア補間),双三次補間(バイキュービック補間))を用いて出力画素値を得る手法がとられる。例として、双一次補間(バイリニア補間)を適用した場合の動きを説明する。
キャッシュメモリ14へのデータ読み込みの基本的なフローについては、図13と同様である。しかし、双一次補間(バイリニア補間)を適用する場合、出力座標系上の点に対応する入力座標系上の点に最も隣接する4画素を必要とする。例えば、ある出力座標系上の1点に対応する入力座標系上の1点がI[7.1, 7.3]である場合、最近傍補間(ニアレストネイバー)ではI[7, 7]の画素で代表させるのに対して、双一次補間(バイリニア補間)ではI[7, 7], I[7, 8], I[8, 7], I[8, 8] の4画素から合成する。
図16、図17に、双一次補間(バイリニア補間)を適用した場合のアクセスパターンおよびタイムチャートの例を示す。図16におけるフレームメモリ12の座標上に示される×印は、出力画素を合成するために必要とされている入力座標系上の座標である。また、これに最も隣接している黒色の4点は、双一次補間(バイリニア補間)にて選択される画素である。この例では、出力画素O[7]を生成する際、すでにキャッシュメモリ14上にある画素ブロックA0に加え、A1,B0,B1を追加で読み込む必要がある。そして、4画素のデータがすべてそろった時点で出力画素O[7]を合成する。双三次補間(バイキュービック補間)など高度な補間方法を適用する場合、参照する点がさらに多くなるため、キャッシュメモリ14への読み込み回数がさらに増える場合もある。
David A. Patterson, John L. Hennessy, "Computer Architecture, Third Edition : A Quantitative Approach", Morgan Kaufmann
このように、補間方法として最近傍補間(ニアレストネイバー)を適用した場合、変形後画像の画質が大きく劣化してしまう。また、補間方法として双一次補間(バイリニア補間)を適用した場合、変形後の画質は向上するが、図17のタイミングチャートに示す通り、キャッシュメモリ14へのアクセスが頻発し、またキャッシュメモリ14の量も同時に参照される画素数にあわせて増やす必要がある。すなわち、双一次補間(バイリニア補間)では、参照する4画素がそれぞれ別の画素ブロック上に格納されている場合があるため、最低でも4画素ブロックを同時に格納するだけのキャッシュメモリ14が必要になる。
本発明は前記課題を解決するためになされたものであり、その目的は、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減することのできる画像変形装置および画像変形方法を提供することである。
前記課題を解決するために、本発明の実施形態に係る画像変形装置は、画像を入力する入力部と、入力された画像を格納するフレームメモリと、入力された画像を変形処理する際の変形処理パラメータを格納するパラメータメモリと、前記フレームメモリからのデータ読み込み効率を向上させるため、前記フレームメモリに格納された画像に含まれる画素ブロックを一時的に格納するキャッシュメモリと、前記変形処理パラメータを使用して前記キャッシュメモリに格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する変形処理部と、前記変形処理が施された画像を出力する出力部とを備え、前記変形処理部は、出力座標系上のある点に対応した入力座標系上の点の座標に応じて前記補間処理における補間方法を選択的に切り替えることを特徴とする。
また、前記変形処理部は、前記出力画素を合成する際に前記画素ブロックの境界をまたがって画素が参照されない補間方法を選択してもよい。
また、前記変形処理部は、前記画素ブロックのうち最外周の画素よりも外側の枠領域に前記入力座標系上の点の座標がある場合は最近傍補間を選択し、前記画素ブロックのうち前記枠領域を除く矩形領域に前記入力座標系上の点の座標がある場合は双一次補間を選択してもよい。
また、前記変形処理部は、前記枠領域の四隅に相当するコーナー領域に前記入力座標系上の点の座標がある場合は最近傍補間を選択し、前記枠領域のうち前記コーナー領域を除く四辺領域に前記入力座標系上の点の座標がある場合は隣接2点補間を選択してもよい。
前記課題を解決するために、本発明の実施形態に係る画像変形方法は、画像を入力する入力ステップと、入力された画像をフレームメモリに格納する第1の格納ステップと、入力された画像を変形処理する際の変形処理パラメータをパラメータメモリに格納する第2の格納ステップと、前記フレームメモリからのデータ読み込み効率を向上させるため、前記フレームメモリに格納された画像に含まれる画素ブロックを一時的にキャッシュメモリに格納する第3の格納ステップと、前記変形処理パラメータを使用して前記キャッシュメモリに格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する変形ステップと、前記変形処理が施された画像を出力する出力ステップとを備え、前記変形ステップでは、出力座標系上のある点に対応した入力座標系上の点の座標に応じて前記補間処理における補間方法を選択的に切り替えることを特徴とする。
本発明によれば、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減することのできる画像変形装置および画像変形方法を提供することが可能である。
以下、本発明の実施形態について図面を参照して詳細に説明する。ただし、この実施形態で記載されている構成は本発明の特徴をわかりやすく説明するための例であり、発明の範囲を限定するものではない。
(画像変形装置の構成)
本発明の実施形態に係る画像変形装置10は、レンズ歪みの補正、プロジェクタの台形補正、ヘッドアップディスプレイなど、入力されてくる静止画および動画の形状を変形する装置に適用することができる。このような画像変形装置10において変形処理の効率を上げるためには、フレームメモリ12上に格納された画像の一部を必要に応じて読み込むためのキャッシュメモリ14が不可欠である。本発明の実施形態では、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減するため、以下の構成を採用している。
本発明の実施形態に係る画像変形装置10は、レンズ歪みの補正、プロジェクタの台形補正、ヘッドアップディスプレイなど、入力されてくる静止画および動画の形状を変形する装置に適用することができる。このような画像変形装置10において変形処理の効率を上げるためには、フレームメモリ12上に格納された画像の一部を必要に応じて読み込むためのキャッシュメモリ14が不可欠である。本発明の実施形態では、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減するため、以下の構成を採用している。
すなわち、図12に示すように、本発明の実施形態に係る画像変形装置10は、入力部11と、フレームメモリ12と、パラメータメモリ13と、キャッシュメモリ14と、変形処理部16と、出力部17とを備える。入力部11は、画像を入力する。フレームメモリ12は、入力された画像を格納する。パラメータメモリ13は、入力された画像を変形処理する際の変形処理パラメータP1を格納する。キャッシュメモリ14は、フレームメモリ12からのデータ読み込み効率を向上させるため、フレームメモリ12に格納された画像に含まれる画素ブロックを一時的に格納する。変形処理部16は、変形処理パラメータP1を使用してキャッシュメモリ14に格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する。出力部17は、変形処理が施された画像を出力する。
ここで、変形処理部16は、出力座標系上のある点に対応した入力座標系上の点の座標に応じて補間処理における補間方法を選択的に切り替える。具体的には、変形処理部16は、出力画素を合成する際に画素ブロックの境界をまたがって画素が参照されない補間方法を選択するようになっている。
(画像変形装置の動作)
図1は、本発明の実施形態に係る画像変形装置10の処理順序を示す図である。変形処理部16は、パラメータメモリ13から変形処理パラメータP1を読み込み、後述する手法で補正方法を選択した後(S1→S2)、処理対象となる画素データをキャッシュメモリ14に対して要求する(S3)。ここで、処理対象となる画素データがキャッシュメモリ14中にある場合はキャッシュメモリ14から画素データを読み込む(S4→S6)。そうではない場合は、フレームメモリ12から対象データおよび次サイクルや次々サイクルで読み込まれる可能性が高い周辺データを一緒にキャッシュメモリ14へ読み込んでおく(S4→S5)。その後、ステップS2で選択した補間方法で補間演算を適用し、変形処理が施された画像を外部に出力する(S6→S7→S8)。
図1は、本発明の実施形態に係る画像変形装置10の処理順序を示す図である。変形処理部16は、パラメータメモリ13から変形処理パラメータP1を読み込み、後述する手法で補正方法を選択した後(S1→S2)、処理対象となる画素データをキャッシュメモリ14に対して要求する(S3)。ここで、処理対象となる画素データがキャッシュメモリ14中にある場合はキャッシュメモリ14から画素データを読み込む(S4→S6)。そうではない場合は、フレームメモリ12から対象データおよび次サイクルや次々サイクルで読み込まれる可能性が高い周辺データを一緒にキャッシュメモリ14へ読み込んでおく(S4→S5)。その後、ステップS2で選択した補間方法で補間演算を適用し、変形処理が施された画像を外部に出力する(S6→S7→S8)。
(実施例1)
図2は、本発明の実施例1に係る画像変形装置10が補間方法を選択する際の判断基準を示す図である。図2に示されるN, Mは整数であり、それぞれキャッシュブロックの横、縦のサイズを表す。キャッシュブロックとは、キャッシュメモリ14に格納される画素ブロックである。変形処理部16は、出力座標系上のある点に対応した入力座標系の座標に応じて補間方法を切り替える。以下では、要求されている入力座標を (x, y) と表し、この(x,y) に相当するキャッシュブロック中のローカル座標を(x’,y’)と表す。x’,y’は実数であり、それぞれ -0.5≦x’<M+0.5, -0.5≦y’<N+0.5 を満たす。
図2は、本発明の実施例1に係る画像変形装置10が補間方法を選択する際の判断基準を示す図である。図2に示されるN, Mは整数であり、それぞれキャッシュブロックの横、縦のサイズを表す。キャッシュブロックとは、キャッシュメモリ14に格納される画素ブロックである。変形処理部16は、出力座標系上のある点に対応した入力座標系の座標に応じて補間方法を切り替える。以下では、要求されている入力座標を (x, y) と表し、この(x,y) に相当するキャッシュブロック中のローカル座標を(x’,y’)と表す。x’,y’は実数であり、それぞれ -0.5≦x’<M+0.5, -0.5≦y’<N+0.5 を満たす。
すなわち、変形処理部16は、枠領域E1に入力座標系上の点の座標(x’,y’)がある場合は最近傍補間を選択し、矩形領域E2に入力座標系上の点の座標(x’,y’)がある場合は双一次補間を選択する。枠領域E1は、キャッシュブロックのうち最外周の画素よりも外側の領域であり、具体的には、以下の条件を満たす領域である。矩形領域E2は、キャッシュブロックのうち枠領域E1を除く領域である。
<枠領域E1> 最近傍補間(ニアレストネイバー)
(-0.5≦x’<0.0) もしくは
(M≦x’<M+0.5) もしくは
(-0.5≦y’<0.0) もしくは
(N≦y’<N+0.5)
<矩形領域E2> 双一次補間(バイリニア補間)
枠領域E1を除く領域
図3は、本発明の実施例1に係る画像変形装置10のフレームメモリ12およびキャッシュメモリ14の概念を示す図である。図中に示される×印や黒色の点の意味は、図14や図16と同様である。
(-0.5≦x’<0.0) もしくは
(M≦x’<M+0.5) もしくは
(-0.5≦y’<0.0) もしくは
(N≦y’<N+0.5)
<矩形領域E2> 双一次補間(バイリニア補間)
枠領域E1を除く領域
図3は、本発明の実施例1に係る画像変形装置10のフレームメモリ12およびキャッシュメモリ14の概念を示す図である。図中に示される×印や黒色の点の意味は、図14や図16と同様である。
まず、データ[0]〜データ[6] の座標は矩形領域E2にあるため、補間方法として双一次補間が選択される。一方、データ[7] の座標は枠領域E1にあるため、補間方法として最近傍補間が選択される。このようにすれば、出力画素を合成する際に画素ブロックA0の境界をまたがって画素が参照されることがない。
また、データ[8]〜データ[9]の座標は枠領域E1にあるため、補間方法として最近傍補間が選択される。一方、データ[10]〜データ[13]は矩形領域E2にあるため、補間方法として双一次補間が選択される。このようにすれば、出力画素を合成する際に画素ブロックB1の境界をまたがって画素が参照されることがない。
以降のデータ[14]…についても同様である。すなわち、枠領域E1に入力座標系上の点の座標(x’,y’)がある場合は最近傍補間が選択され、矩形領域E2に入力座標系上の点の座標(x’,y’)がある場合は双一次補間が選択される。
図4は、本発明の実施例1に係る画像変形装置10のフレームメモリ12およびキャッシュメモリ14の動作時のタイムチャートである。この図に示すように、出力画素O[0] 〜O[7]を合成する際は、画素ブロックA0内の画素だけを参照すればよい。すなわち、従来技術(図17)のように、出力画素O[7]を生成する際、すでにキャッシュメモリ14上にある画素ブロックA0に加え、A1,B0,B1を追加で読み込む必要がない。そのため、従来技術と比べてキャッシュメモリ数が削減され、また、キャッシュロード時間が削減される。
以上のように、本発明の実施例1では、画素ブロックのうち最外周の画素よりも外側の枠領域E1に入力座標系上の点の座標(x’,y’)がある場合は最近傍補間を選択し、画素ブロックのうち枠領域E1を除く矩形領域E2に入力座標系上の点の座標(x’,y’)がある場合は双一次補間を選択する。このようにすれば、出力画素を合成する際に画素ブロックの境界をまたがって画素が参照されることがないため、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減することができる。
(実施例2)
以下、本発明の実施例2を実施例1と異なる点を中心に説明する。
以下、本発明の実施例2を実施例1と異なる点を中心に説明する。
図5は、本発明の実施例2に係る画像変形装置10が補間方法を選択する際の判断基準を示す図である。ここでは、変形処理部16は、コーナー領域E3に入力座標系上の点の座標(x’,y’)がある場合は最近傍補間を選択し、四辺領域E4に入力座標系上の点の座標(x’,y’)がある場合は隣接2点補間を選択する。矩形領域E2に入力座標系上の点の座標(x’,y’)がある場合に双一次補間を選択する点は、実施例1と同様である。コーナー領域E3は、枠領域E1の四隅に相当する領域であり、具体的には、以下の条件を満たす領域である。四辺領域E4は、枠領域E1のうちコーナー領域E3を除く領域であり、具体的には、以下の条件を満たす領域である。矩形領域E2は、コーナー領域E3および四辺領域E4(すなわち、枠領域E1)を除く領域である。
<コーナー領域E3> 最近傍補間(ニアレストネイバー)
(-0.5≦x’<0.0) & (-0.5≦y’<0.0) もしくは
(M≦x’<M+0.5) & (-0.5≦y’<0.0) もしくは
(-0.5≦x’<0.0) & (N≦y’<N+0.5) もしくは
(M≦x’<M+0.5) & (N≦y’<N+0.5)
<四辺領域E4> 隣接2点補間
コーナー領域E3を除く範囲であり、かつ
(-0.5≦x’<0.0) もしくは
(M≦x’<M+0.5) もしくは
(-0.5≦y’<0.0) もしくは
(N≦y’<N+0.5)
<矩形領域E2> 双一次補間(バイリニア補間)
コーナー領域E3および四辺領域E4を除く領域
図6は、本発明の実施例2に係る画像変形装置10のフレームメモリ12およびキャッシュメモリ14の概念を示す図である。図中に示される×印や黒色の点の意味は、図3、図14、図16と同様である。
(-0.5≦x’<0.0) & (-0.5≦y’<0.0) もしくは
(M≦x’<M+0.5) & (-0.5≦y’<0.0) もしくは
(-0.5≦x’<0.0) & (N≦y’<N+0.5) もしくは
(M≦x’<M+0.5) & (N≦y’<N+0.5)
<四辺領域E4> 隣接2点補間
コーナー領域E3を除く範囲であり、かつ
(-0.5≦x’<0.0) もしくは
(M≦x’<M+0.5) もしくは
(-0.5≦y’<0.0) もしくは
(N≦y’<N+0.5)
<矩形領域E2> 双一次補間(バイリニア補間)
コーナー領域E3および四辺領域E4を除く領域
図6は、本発明の実施例2に係る画像変形装置10のフレームメモリ12およびキャッシュメモリ14の概念を示す図である。図中に示される×印や黒色の点の意味は、図3、図14、図16と同様である。
まず、データ[0]〜データ[6] の座標は矩形領域E2にあるため、補間方法として双一次補間が選択される。また、データ[7] の座標はコーナー領域E3にあるため、補間方法として最近傍補間が選択される。更に、データ[8]〜データ[9]の座標は四辺領域E4にあるため、補間方法として隣接2点補間が選択される。このようにすれば、実施例1と同様、出力画素を合成する際に画素ブロックの境界をまたがって画素が参照されることがない。また、四辺領域E4については隣接2点補間が選択され、同一画素ブロック内の複数の画素が参照されることになる。
以降のデータ[10]…についても同様である。すなわち、コーナー領域E3に入力座標系上の点の座標(x’,y’)がある場合は最近傍補間が選択され、四辺領域E4に入力座標系上の点の座標(x’,y’)がある場合は隣接2点補間が選択され。矩形領域E2に入力座標系上の点の座標(x’,y’)がある場合は双一次補間が選択される。
図7は、本発明の実施例2に係る画像変形装置10のフレームメモリ12およびキャッシュメモリ14の動作時のタイムチャートである。実施例1と同様、出力画素O[0] 〜O[7]を合成する際は、画素ブロックA0内の画素だけを参照すればよい。すなわち、従来技術(図17)のように、出力画素O[7]を生成する際、すでにキャッシュメモリ14上にある画素ブロックA0に加え、A1,B0,B1を追加で読み込む必要がない。そのため、従来技術と比べてキャッシュメモリ数が削減され、また、キャッシュロード時間が削減される。
以上のように、本発明の実施例2では、枠領域E1の四隅に相当するコーナー領域E3に入力座標系上の点の座標(x’,y’)がある場合は最近傍補間を選択し、枠領域E1のうちコーナー領域E3を除く四辺領域E4に入力座標系上の点の座標(x’,y’)がある場合は隣接2点補間を選択する。このようにすれば、実施例1と同様、出力画素を合成する際に画素ブロックの境界をまたがって画素が参照されることがないため、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減することができる。また、四辺領域E4については隣接2点補間が選択され、同一画素ブロック内の複数の画素が参照されることになるため、実施例1に比べて画質が向上する。
なお、図面上、フレームメモリ12とパラメータメモリ13は別のメモリとして構成されているが、あくまで概念上のものであり、本発明はこれに限ったものではない。すなわち、同一メモリのある区画をフレームメモリ12、別の区画をパラメータメモリ13として利用することも可能であるし、ひとつのフレームメモリ12やパラメータメモリ13が複数の物理メモリを使用して構成されてもよい。
また、実施例1,2では、最近傍補間、隣接2点補間、双一次補間を選択的に切り替える手法について説明したが、補間方法の候補はこれに限らない。例えば、双三次補間(バイキュービック補間)などを補間方法の候補としてもよい。
以上説明したように、本発明によれば、変形処理後の画質を維持しながら、変形処理に必要なキャッシュメモリ量を削減することができる。
[その他の実施形態]
本発明を実施例1、2によって記載したが、この開示の一部をなす論述および図面は例示的なものであり、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例および運用技術が明らかとなろう。
[その他の実施形態]
本発明を実施例1、2によって記載したが、この開示の一部をなす論述および図面は例示的なものであり、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例および運用技術が明らかとなろう。
10…画像変形装置
11…入力部
12…フレームメモリ
13…パラメータメモリ
14…キャッシュメモリ
16…変形処理部
17…出力部
P1…変形処理パラメータ
E1…枠領域
E2…矩形領域
E3…コーナー領域
E4…四辺領域
11…入力部
12…フレームメモリ
13…パラメータメモリ
14…キャッシュメモリ
16…変形処理部
17…出力部
P1…変形処理パラメータ
E1…枠領域
E2…矩形領域
E3…コーナー領域
E4…四辺領域
Claims (5)
- 画像を入力する入力部と、
入力された画像を格納するフレームメモリと、
入力された画像を変形処理する際の変形処理パラメータを格納するパラメータメモリと、
前記フレームメモリからのデータ読み込み効率を向上させるため、前記フレームメモリに格納された画像に含まれる画素ブロックを一時的に格納するキャッシュメモリと、
前記変形処理パラメータを使用して前記キャッシュメモリに格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する変形処理部と、
前記変形処理が施された画像を出力する出力部とを備え、
前記変形処理部は、出力座標系上のある点に対応した入力座標系上の点の座標に応じて前記補間処理における補間方法を選択的に切り替えることを特徴とする画像変形装置。 - 前記変形処理部は、前記出力画素を合成する際に前記画素ブロックの境界をまたがって画素が参照されない補間方法を選択することを特徴とする請求項1記載の画像変形装置。
- 前記変形処理部は、前記画素ブロックのうち最外周の画素よりも外側の枠領域に前記入力座標系上の点の座標がある場合は最近傍補間を選択し、前記画素ブロックのうち前記枠領域を除く矩形領域に前記入力座標系上の点の座標がある場合は双一次補間を選択することを特徴とする請求項2記載の画像変形装置。
- 前記変形処理部は、前記枠領域の四隅に相当するコーナー領域に前記入力座標系上の点の座標がある場合は最近傍補間を選択し、前記枠領域のうち前記コーナー領域を除く四辺領域に前記入力座標系上の点の座標がある場合は隣接2点補間を選択することを特徴とする請求項3記載の画像変形装置。
- 画像を入力する入力ステップと、
入力された画像をフレームメモリに格納する第1の格納ステップと、
入力された画像を変形処理する際の変形処理パラメータをパラメータメモリに格納する第2の格納ステップと、
前記フレームメモリからのデータ読み込み効率を向上させるため、前記フレームメモリに格納された画像に含まれる画素ブロックを一時的にキャッシュメモリに格納する第3の格納ステップと、
前記変形処理パラメータを使用して前記キャッシュメモリに格納された画像に変形処理を施す際に補間処理を実施して出力画素を合成する変形ステップと、
前記変形処理が施された画像を出力する出力ステップとを備え、
前記変形ステップでは、出力座標系上のある点に対応した入力座標系上の点の座標に応じて前記補間処理における補間方法を選択的に切り替えることを特徴とする画像変形方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013200908A JP2015069272A (ja) | 2013-09-27 | 2013-09-27 | 画像変形装置および画像変形方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013200908A JP2015069272A (ja) | 2013-09-27 | 2013-09-27 | 画像変形装置および画像変形方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015069272A true JP2015069272A (ja) | 2015-04-13 |
Family
ID=52835911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013200908A Pending JP2015069272A (ja) | 2013-09-27 | 2013-09-27 | 画像変形装置および画像変形方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015069272A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930979A (zh) * | 2020-07-29 | 2020-11-13 | 广州华多网络科技有限公司 | 图像处理方法、装置、设备及存储介质 |
-
2013
- 2013-09-27 JP JP2013200908A patent/JP2015069272A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930979A (zh) * | 2020-07-29 | 2020-11-13 | 广州华多网络科技有限公司 | 图像处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9280810B2 (en) | Method and system for correcting a distorted input image | |
JP4818053B2 (ja) | 高解像度化装置および方法 | |
KR100525425B1 (ko) | 영상 워핑 방법 및 장치 | |
JP5997882B2 (ja) | プロジェクター及びプロジェクターの制御方法 | |
JP5455213B2 (ja) | 画像描画装置、画像描画方法およびプログラム | |
JP4871820B2 (ja) | 映像表示システム及び該システムのパラメータ生成方法 | |
JP2008512767A (ja) | 一般的な2次元空間変換の表現システム及び方法 | |
US20110216983A1 (en) | Projector, projection transform processing device, and image processing method in projector | |
JP2013218654A (ja) | 画像処理装置 | |
JP6789720B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2005135096A (ja) | 画像処理方法および画像処理装置、並びにプログラム | |
US20150281662A1 (en) | Image processing apparatus and image processing method | |
US10796441B2 (en) | Apparatus and method for image-distance transformation using bi-directional scans | |
JP6418010B2 (ja) | 画像処理装置、画像処理方法及び表示装置 | |
JP5947143B2 (ja) | 魚眼画像の補正装置及び補正方法 | |
JP2015069272A (ja) | 画像変形装置および画像変形方法 | |
US8509568B2 (en) | Image processing apparatus and image processing method | |
JP6278716B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5533109B2 (ja) | 画像表示装置、プロジェクター、および、画像表示装置におけるデータの取得方法 | |
JP2013257665A (ja) | 映像処理装置、映像処理装置の制御方法 | |
JP6273881B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6440465B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP5353772B2 (ja) | プロジェクター | |
JP5708072B2 (ja) | 画像変形装置および命令付加装置 | |
JP2010245682A (ja) | 画像処理装置、画像処理方法およびコンピュータープログラム |