JP6254228B2 - デジタル画像リサンプリング装置、方法、及びプログラム - Google Patents

デジタル画像リサンプリング装置、方法、及びプログラム Download PDF

Info

Publication number
JP6254228B2
JP6254228B2 JP2016138223A JP2016138223A JP6254228B2 JP 6254228 B2 JP6254228 B2 JP 6254228B2 JP 2016138223 A JP2016138223 A JP 2016138223A JP 2016138223 A JP2016138223 A JP 2016138223A JP 6254228 B2 JP6254228 B2 JP 6254228B2
Authority
JP
Japan
Prior art keywords
pixel
deformation
image
transformation
map
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.)
Active
Application number
JP2016138223A
Other languages
English (en)
Other versions
JP2017010564A (ja
Inventor
光雄 林
光雄 林
Original Assignee
光雄 林
光雄 林
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 光雄 林, 光雄 林 filed Critical 光雄 林
Priority to JP2016138223A priority Critical patent/JP6254228B2/ja
Publication of JP2017010564A publication Critical patent/JP2017010564A/ja
Application granted granted Critical
Publication of JP6254228B2 publication Critical patent/JP6254228B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Description

本発明は、デジタル画像リサンプリング装置、方法、及びプログラムに関する。
従来、デジタル画像のリサンプリングにおいて高品質な変形は、変形元画像をできる限り有効的に変形先画像へ適用することが重要である。
画像の変形において高品質な変形結果を得るために、従来から様々なリサンプリング手法が採用されている。例えば、拡大方法においては、ジャギーを抑制する方法として、バイリニア補間、バイキュービック補間等がある。また、縮小方法においては、エイリアシングを抑制する方法として、面積平均法、プリフィルタ、ポストフィルタ、トリリニアフィルタ、異方性フィルタ等が挙げられる。
以下、これら各手法について詳述する。
先ず、バイリニア補間は、変形先の各画素を決定するために、当該画素に対して変形前画像の画素及び近傍画素の計4画素を参照し、位置に応じた重み付けを用いる補間方法である。最近傍法よりは処理速度が劣るが、平均画素法よりも高速である。また、最近傍法よりもシャギーを抑制することができる。
一方、バイキュービック補間は、バイリニア補間と同様の補間方法であるが、変形先の各画素に対して変形元の画素及び近傍画素の計16画素が参照される。いわばバイリニア補間の発展形であり、バイリニア補間と比べて自然で滑らかな画質が得られる。
これらバイリニア補間及びバイキュービック補間を用いた変形は、原則的に変形先画像を隔たりなく走査するので、拡大や縮小だけでなく、射影変換や回転、極座標変換に代表される2次元以上の画像変形にも用いられる。但し、変形先画像の走査ではなく変形元画像を走査する方法を採用した場合、変形先画像はすべて生成しきれず、一部画素に抜けが生じる場合がある点が従来からの懸念である。
一方、面積平均法は、変形先の画素を決定するために、当該画素に対応する変形前画像の画素群を参照し、その平均を用いる縮小方法である。これは平均画素法とも称され、一般的には縮小専用に用いられる手法である。
プリフィルタは、画像の縮小を行う前に、縮小率に応じて平滑化を行う方法である。
ポストフィルタは、スーパーサンプリング法とも呼ばれ、変形先の画素を決定するために、変形先の画素を更に複数の画素に分割し、それぞれに対応する変形前画像の画素群を参照し、その平均を用いる縮小方法である。
トリリニアフィルタは、主に3次元グラフィックにおけるポリゴンの描画等に用いられるものであり、画素の平均を利用した縮小済み画像を段階的に持たせたミップマップを用意し、画像の縮小率に応じて単一ないし複数の縮小済み画像を適用して合成する方法である。トリリニアフィルタでは、ミップマッピングを用いたバイリニアフィルタ画像に見られる共通の劣化を矯正できる。
そして、異方性フィルタは、主に3次元グラフィックにおけるポリゴンの描画等に用いられ、カメラと非直角であるポリゴンの描画におけるテクスチャの変形を考慮した参照方法を用いて、ミップマップを適用して合成する方法である。これは、前述したバイリニア補間やトリリニアフィルタに比べ進化したものであると言える。
ここで、特許文献1では、撮影によってM画素を有する入力画像を取得し、その入力画像をリサンプリング対象画像として取り扱ってリサンプリングすることにより、各々がM/4画素を有する第1の縮小画像及び第2の縮小画像を生成し、当該リサンプリングは第1及び第2の縮小画像間でサンプリング位置のずれが生じるように実行されることを特徴とする画像再生装置が開示されている。
特開2010−251882号公報
縮小を含む柔軟な変形を行うための高品質なリサンプリングを行うためには、変形先画像の各画素に対する、変形元画像の単一ないし複数の画素から適切な参照を行う手段を必要とする。ここで、柔軟な変形とは、射影変換や回転、極座標変換に代表される、座標の逆変換が可能な2次元以上の画像変形である。しかしながら、従来の変形方法はデジタル画像処理において、縮小を含む柔軟な変形を行うための高品質なリサンプリングを、品質パラメータを必要とせずに有限な処理回数および記憶容量で充分に実現できない。
縮小において従来のような画素群を平均する方法は、画素の領域を考慮したとしても画像内の対象物の重心がずれてしまう問題がある。たとえば、変形前のある領域の複数画素に着目し、そのすべての画素が変形後において1画素内に収まった場合、重心が特定できなくなる。このような重心のずれは、細い線や細かいパーツの位置関係(例えば、顔の形成)を重視する画像において違和感が表れる場合がある。
さらに、2次元以上の変形では、すべての方向において拡大、またはすべての方向において縮小となるとは限らない。即ち、画像のある点を基準として、一方向は縮小であるが別方向は拡大であるような変形も存在する。この場合、従来の拡大方法と縮小方法を組み合わせることは容易でない。
また、上述したポストフィルタのように参照点の数を増加して品質を高める方法は、品質を上げようとするほど参照する画素数が増大するため、コンピュータ資源が制約されたユーザに対して、品質をパラメータとして選択させ、トレードオフを強いることとなる。即ち、品質の上限を定めることが出来ず、処理回数および記憶容量を有限にすることが出来ない。
本発明は上述の技術的な課題に鑑み、デジタル画像処理において、縮小を含む柔軟な変形を行うための高品質なリサンプリングを、品質パラメータを必要とせずに有限な処理回数および記憶容量で実現することを目的とする。
上述した技術的な課題を解決するため、本発明の第1の態様に係るリサンプリング方法は、変形先画像と共通の系列を持つ蓄積マップを用いたリサンプリング方法であって、変形元画像を走査し、当該変形元画像を基に前記蓄積マップを更新する第1のステップと、変形先画像を走査し、変形先画像において変形を行う範囲に含まれる全画素抽出を完了するまで、前記変形先画像の次画素を抽出し、前記蓄積マップを基に前記変形先画像を更新する第2のステップと、を有し、前記蓄積マップを基に変形先画像の画素を更新する処理では、前記蓄積マップの画素の位置に関する画素情報の影響値が一定値以上であるか否かを判断し、影響値が一定値以上であれば、蓄積マップ画素情報から変形先画像の画素情報を生成し、影響値が一定値以上でなければ、所定の補間方法で変形元画像の画素情報から変形先画像の画素情報を生成することを特徴とする。
そして、本発明の第2の態様に係るリサンプリング装置は、変形先画像と共通の系列を持つ蓄積マップを用いるリサンプリング装置であって、各種画像を表示する表示手段と、リサンプリングプログラムに従って制御する中央制御手段と、を備え、上記中央制御手段は、変形元画像を走査し、当該変形元画像を基に前記蓄積マップを更新する第1のステップと、変形先画像を走査し、変形先画像において変形を行う範囲に含まれる全画素抽出を完了するまで、前記変形先画像の次画素を抽出し、前記蓄積マップを基に前記変形先画像を更新する第2のステップと、を実行するものであって、前記蓄積マップを基に変形先画像の画素を更新する処理では、前記蓄積マップの画素の位置に関する画素情報の影響値が一定値以上であるか否かを判断し、影響値が一定値以上であれば、蓄積マップ画素情報から変形先画像の画素情報を生成し、影響値が一定値以上でなければ、所定の補間方法で変形元画像の画素情報から変形先画像の画素情報を生成することを特徴とする。
本発明の第3の態様に係るリサンプリングプログラムは、コンピュータが、変形元画像を走査し、当該変形元画像を基に変形先画像と共通の系列を持つ蓄積マップを更新する第1のステップと、変形先画像を走査し、変形先画像において変形を行う範囲に含まれる全画素抽出を完了するまで、前記変形先画像の次画素を抽出し、前記蓄積マップを基に前記変形先画像を更新する第2のステップと、を実行する中央制御手段として機能するものであって、前記蓄積マップを基に変形先画像の画素を更新する処理では、前記蓄積マップの画素の位置に関する画素情報の影響値が一定値以上であるか否かを判断し、影響値が一定値以上であれば、蓄積マップ画素情報から変形先画像の画素情報を生成し、影響値が一定値以上でなければ、所定の補間方法で変形元画像の画素情報から変形先画像の画素情報を生成することを特徴とする。
本発明に係るデジタル画像リサンプリング装置、方法、及びプログラムによれば、デジタル画像処理において、縮小を含む柔軟な変形を行うための高品質なリサンプリングを、品質パラメータを必要とせずに有限な処理回数および記憶容量で実現することができる。また、本発明における、蓄積マップを基に変形先画像の画素を更新する処理では、蓄積マップの画素の位置に関する画素情報の影響値が一定値以上であるか否かを判断し、影響値が一定値以上であれば、蓄積マップ画素情報から変形先画像の画素情報を生成し、影響値が一定値以上でなければ、所定の補間方法で変形元画像の画素情報から変形先画像の画素情報を生成する構成であるため、簡易的に変形先画像の画素を更新することができる。
本発明の第1の実施形態に係るリサンプリング装置の構成図である。 リサンプリングを行う場合に使用するメインメモリ12のメモリマップの一例を示す図である。 蓄積マップ、座標マップについて更に詳述するための概念図である。 本発明の第1の実施形態に係るリサンプリング装置による処理の流れを説明するフローチャートである。 リサンプリングに用いる座標変換について詳述する概念図である。 本発明の第1の実施形態に係るリサンプリング装置による、変形元画像を走査し、変形元画像を基に蓄積マップを更新する処理の流れを説明するフローチャートである。 変形元画像を走査し、変形元画像を基に蓄積マップを更新する過程を更に詳述するための概念図である。 テクスチャマップがラッピング(繰り返し)の場合を示す概念図である。 本発明の第1の実施形態に係るリサンプリング装置により、テクスチャマップの画素に対応する蓄積マップ画素群を更新する処理の流れを説明するフローチャートである。 テクスチャマップの画素に対応する蓄積マップ画素群を更新する処理の流れを更に詳述する概念図である。 本発明の第1の実施形態に係るリサンプリング装置による、変形先画像を走査し、蓄積マップを基に変形先画像を更新する処理の流れを説明するフローチャートである。 蓄積マップを基にターゲットマップ画素を更新する処理の流れを説明するフローチャートである。 本発明の第1の実施形態に係るリサンプリング装置により、変形先画像を走査し、蓄積マップを基に変形先画像を更新する処理について詳細に説明する概念図である。 従来のテクスチャマッピングに基づいた補間の例を示す概念図である。 変形例として、従来の補間から算出した値と蓄積マップから算出した値とを重み付けによる合成の考え方を示す概念図である。 (a),(b)は、リサンプリング結果の一例を示す図である。 本発明の第2の実施形態に係るリサンプリング装置による、蓄積マップを基にターゲットマップ画素を更新する処理の流れを説明するフローチャートである。 蓄積マップを基にターゲットマップ画素を更新する処理について更に詳述するための概念図である。 第2の実施形態によるリサンプリング結果の一例を示す図である。
以下、本発明のデジタル画像リサンプリング装置及び方法並びにプログラム(以下、単にリサンプリング装置、リサンプリング方法、リサンプリングプログラムと略記する)に係る好適な実施形態について図面を参照しながら説明する。なお、本発明のリサンプリング装置及び方法並びにプログラムは、以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。以下、詳述する。
(第1の実施形態)
図1には本発明の第1の実施形態に係るリサンプリング装置の構成を示し説明する。
この図1に示されるように、リサンプリング装置1は、パーソナルコンピュータ10と表示装置20、変形パラメータ入力装置30等からなる。
パーソナルコンピュータ10は、マルチタスク対応プロセッサ等からなる中央制御部11と、一時記憶装置としてのRAM(Random Access Memory)等からなるメインメモリ12、グラフィックカード等の画像制御部13、入出力制御部14、内蔵不揮発性記憶媒体15、メディア読み書きインターフェイス16を含む。
画像制御部13は、ビデオメモリ13aも備えている。ビデオメモリ13aとは、パーソナルコンピュータ10本体のメインメモリ12と同じく、一時的にデータを保存する場所であり、グラフィックカードについているメモリはVRAM(Video RAM)とも称される。画面に3Dグラフィック画像を表示する場合、その際に必要となるデータ量は大きくなる。画像制御部13で処理を終えたデータはビデオメモリ13aに保存されて随時使われていく。ビデオメモリ13aの容量が多いほど、細かい3Dグラフィック画像でも、スムーズに不良もなく表示することができるようになる。尚、昨今ではVRAMの高速化が進み、GDDRと称される高速処理専用のメモリ規格も登場し、3次元グラフィックス描画における莫大なデータの高速転送が実現されている。
表示装置20は、液晶ディスプレイ等に代表される、画像を表示することができる装置である。変形パラメータ入力装置30は、後述する変形方法定義データ42を用いて画像を変形するためのパラメータ(例えば、拡縮率や3次元回転角度等)をユーザが任意に指定可能とする装置であり、即ちマウスやタッチパネル、ペンタブレットに代表される、座標入力及び/又はボタン入力が可能な装置、並びにキーボードに代表される、キー入力が可能な装置である。
プログラムデータ50や変形方法定義データ42、変形元画像入力データ40はメディア読み書きインターフェイス16を介して入力され、変形先画像出力データ41はメディア読み書きインターフェィス16を介して出力される。
プログラムデータ50とは、本発明が動作可能なソフトウェアである。後述するリサンプリングプログラムのデータ等がこれに該当する。
変形方法定義データ42とは、テーブルや数式等に代表される、変形パラメータを基に変形元画像の座標と変形先画像の座標を相互かつ一意的に対応付けるデータである。ポリゴンモデルを用いる場合は、ポリゴンモデルデータがこれに相当し、3次元形状のオブジェクトとなる。この変形方法定義データ42は、プログラムデータ50に付随してもよいし、外部で定義されたデータを読み込んでもよい。
変形元画像入力データ40は、ソフトウェアが扱う画像である。例えば、ポリゴンモデルを用いる場合は、テクスチャ画像がこれに相当する。入力されたテクスチャ画像(変形元画像)等はメインメモリ12に一時記憶される。変形先画像出力データ41は、変形元画像入力データ40と同様、ソフトウェアが扱う画像である。メインメモリ12に一時記憶されていた変形済み画像等が変形先画像として出力される。
変形元画像入力データ40及びプログラムデータ50は、不図示の外部記憶媒体から読み込んでもよく、通信ネットワークを介して不図示の外部コンピュータから不図示の通信制御部により受信し、入出力制御部14を介して内蔵不揮発性記憶媒体15に取り込んでもよい。出力データは、不図示の外部記憶媒体へ書き込んでもよく、通信ネットワークを介して不図示の外部コンピュータに送信してもよい。
ここで、図2には、リサンプリングを行う場合に使用するメインメモリ12のメモリマップの一例を示し説明する。
同図に示されるように、リサンプリングを行う場合、メインメモリ12には、リサンプリングプログラム、変形元画像、座標マップ、変形先画像、蓄積マップの各データが一時記憶されることになる。
以下、図3の概念図を参照して、蓄積マップ、座標マップについて更に詳述する。
リサンプリングにおいて、変形元画像とは入力側の画像を示し、変形先画像とは出力側の画像を示す。変形元画像及び変形先画像は、不透明度と色とを含む画素情報(a:アルファ,r:赤,g:緑,b:青)を2次元的な配列として持つ。「アルファ」とは、不透明度情報を示している。例としてパーソナルコンピュータは、1つのピクセルの色情報を24ビット(1色につき8ビット、赤・緑・青の3色で8×3=24ビット)という単位で記録している。赤・緑・青のような情報の値はそれぞれ「濃度値」とも称され、8ビット型では256段階の記録ができる。アルファ付きPNG(32ビットPNG)形式では色情報の他に、各ピクセルの不透明度も8ビット型の256段階で記録できる。アルファ値がゼロで完全な透明、255で完全な不透明であることを意味する。なお、画像処理で色情報を精度良く扱う用途の例として、濃度値が16ビット型の65536段階に拡張された形式等が用いられる場合もある。
そして、蓄積マップは、影響値と不透明度と色とを含む画素情報(w:影響値,a:アルファ,r:赤,g:緑,b:青)を2次元的な配列とし、変形先画像と共通の系列を持つものとし、即ち出力側の座標系である。「影響値」とは、詳細は後述するが、画素数をカウント、または画素の重み値を順次加算し、蓄積マップの画素に対応する変形先画像の画素の色情報を決定付ける平均計算等に用いるための情報を示す。
蓄積マップの画素情報における各値については、変形元画像から複数の画素情報等を順次加算することに用いるため、各値の型は、変形元画像の画素情報よりも充分に大きな値を扱える型(特に、重み値を実数とする場合は浮動小数点数型)が望ましい。
極端な例として、蓄積マップにおける濃度値は、「変形元画像の画素数(例:1000×1000)」に「変形元画像の濃度値の最大(例:255)」「変形元画像のアルファ値の最大(例:255)」および「重み値の最大(例:1.0)」を乗算した値(1000×1000×255×255×1.0)を扱うこともあり得る。
そして、座標マップは、座標情報(x:水平座標,y:垂直座標)を2次元的な配列とし、変形元画像の系列と共通の系列を持つものとし、即ち入力側の座標系である。「座標情報」とは、変形元画像から変形先画像への座標変換を行う際、変換された座標、即ち出力側の座標を記録することに用いる。座標情報の各値の型は、記録する座標の精度に応じた型(例えば浮動小数点数型)が望ましい。座標マップは、リサンプリングの品質には貢献しないが、本発明の第2の実施形態に係るリサンプリングを高速にする用途に用いる。
以下、図4のフローチャートを参照して、本発明の第1の実施形態に係るリサンプリング装置による処理の流れを説明する。この処理は、第1の実施形態に係るリサンプリング方法にも相当する。また、中央制御部11が、メインメモリ12のリサンプリングプログラムを実行した場合の処理の流れにも相当する。
処理を開始すると、先ず変形元画像を走査し、変形元画像を基に蓄積マップを更新する処理を実行し(ステップS1)、続いて変形先画像を走査し、蓄積マップを基に変形先画像を更新する処理を実行し(ステップS2)、処理を終了する。
このように、本発明の実施形態に係るリサンプリング装置によるリサンプリングの特徴として、変形先画像の走査だけでなく、変形元画像の走査も含まれる。尚、各処理の詳細については、後に詳述する。
以下、図5を参照して、リサンプリングに用いる座標変換について詳述する。
座標の順変換(入力→出力)、逆変換(出力→入力)は次式で定義される。
座標の順変換(入力→出力): Pos_OUT = 11 / (9 - Pos_IN) - 1.5
座標の逆変換(出力→入力): Pos_IN = 9 - 11 / (1.5 + Pos_OUT)
図5には、本発明の実施形態によるリサンプリングに用いる座標変換をわかりやすく図示するため、1次元の変形を例示する。
同図において、入力されるデータの配列構造を変形元マップと称する。これは、2次元では変形元画像に相当する。出力されるデータの配列構造を変形先マップと称する。これは、2次元では変形先画像に相当する。
円形は変形元マップの各要素を表し、ここでは例として9要素(0〜8)の1次元配列とする。二重円形は変形先マップの各要素を表し、ここでは例として11要素(0〜10)の1次元配列とする。楕円形は蓄積マップの各要素を表している。二重円形と楕円形の接点「・」は、蓄積マップが変形先マップの系列と共通する系列を持つことを表し、例として11要素の1次元配列とする。
円形に接する水平線は、変形元マップの要素の位置に結びつく整数の座標系を表している。円形の下方の水平線は、変形元マップに関する実数の座標系を表している。楕円形の上方の水平線は、蓄積マップに関する実数の座標系を表している。楕円形に接する水平線は、蓄積マップの要素の位置に結びつく整数の座標系を表している。
円形と楕円形を繋ぐ折れ線に関して、実線は、変形元マップの要素の位置に対応する蓄積マップまたは変形先マップの要素の位置を導出する変換、即ち順変換の例を表し、破線は、蓄積マップまたは変形先マップの要素の位置に対応する変形元マップの要素の位置を導出する変換、即ち逆変換の例を表している。変形元マップの座標と変形先マップの座標は、相互かつ一意的な対応付けとなるように数式で定義している。
図5の例では、変形先マップの要素の位置に対応する変形元マップの要素の位置だけを見た場合、結果的に対応付けされていない位置(0、1、3、4)が存在している。これは画像変形において縮小に相当する部分であり、参照の漏れによってエイリアシングが発生する要因である。
これに対して、変形元マップの要素の位置に対応する変形先マップの要素の位置を重ねて見た場合、対応付けされていなかった部分を補うことができている。これを実現する方法として、本発明は変形元マップを隔たりなく走査する手段を用いる。
後述するが、本発明におけるリサンプリングは2次元以上の配列においても実施可能であり、画像処理の分野等にも利用できる。
以下、図6のフローチャートを参照して、本発明の第1の実施形態に係るリサンプリング装置による、変形元画像を走査し、変形元画像を基に蓄積マップを更新する処理の流れを説明する。これは、図4のステップS1の処理の詳細に相当する。リサンプリング方法の一部にも相当し、中央制御部11がメインメモリ12のリサンプリングプログラムを実行した場合の処理の一部にも相応する。
このフローチャートの処理は、ポリゴンモデルを用いたテクスチャマッピングの例であり、変形元画像を走査し、それぞれの画素で位置の順変換を行うものである。テクスチャマップは変形元画像に相当する。リターン時、蓄積マップは完成となり、後の変形先画像を更新する処理に用いられる。
即ち、本処理を開始すると、蓄積マップを初期化し(ステップS11)、全ポリゴン面の抽出が完了したか否かを判断する(ステップS12)。ここで、全ポリゴン面の抽出が完了していなければ(ステップS12をNoに分岐)、次のポリゴン面を抽出し(ステップS13)、テクスチャマップにおいてポリゴン面に含まれる全画素の抽出が完了したか否かを判断する(ステップS14)。ここで、全画素の抽出を完了していなければ(ステップS14をNoに分岐)、テクスチャマップの次画素を抽出し(ステップS15)、テクスチャマップの画素に対応する蓄積マップ画素群を更新する処理を行い(ステップS16)、ステップS14に戻る。そして、テクスチャマップにおいてポリゴン面に含まれる全画素の抽出が完了するまでステップS14乃至S16の処理を繰り返し、抽出を完了すると(ステップS14をYesに分岐)、ステップS12に戻る。こうして、全ポリゴン面の抽出を完了するまでステップS12乃至S16の処理を繰り返し、抽出を完了すると(ステップS12をYesに分岐)、リターンする。
ただし、図6のフローチャートは複数のポリゴンからなるポリゴンモデル(即ち、変形方法が複数)を想定した例であり、ポリゴンが単一の場合や、変形方法定義データ42にて単一のテーブルや数式を用いる場合、ステップS12乃至S13は省略可能である。即ち、本処理を開始すると、ステップS14乃至S16の処理を繰り返し、抽出を完了すると(ステップS14をYesに分岐)、リターンしてもよい。
なお、「テクスチャマップ」とは、「変形元画像」と同義であり、「ポリゴン面」とは、変形元画像において「変形を行う範囲」と同義であることに留意する。
以下、図7の概念図を参照して、変形元画像を走査し、変形元画像を基に蓄積マップを更新する過程を更に詳述する。
ここでは、本発明における2次元座標の逆変換が可能な画像変形として、ポリゴンモデルを用いたテクスチャマッピングの例を示す。3次元空間上の任意な姿勢および位置を設定した長方形モデルを描画する例であり、即ち射影変換および回転を含んだ変形に相当する。長方形モデルは2つの3角形ポリゴンと見なし、それぞれをポリゴンP、ポリゴンQとする。同図の右上は、ポリゴンモデルのテクスチャマップを表し、即ち変形元画像に相当する。同図の左上は、蓄積マップを表し、後述する変形先画像に相当するターゲットマップと共通の座標系である。
テクスチャマップの画素は不透明度と色とを含む画素情報(a_src:アルファ,r_src:赤,g_src:緑,b_src:青)を持っているものとする。蓄積マップの画素は影響値と不透明度と色とを含む加算可能な画素情報(w_sum:影響値,a_sum:アルファ,r_sum:赤,g_sum:緑,b_sum:青)を持つものとする。テクスチャマップ及び蓄積マップのそれぞれにおいて、画素は2次元で配置され、座標(水平方向,垂直方向)の単位は1画素を1とし、便宜上、画素の領域の境界を破線の格子で表している。
始めに、蓄積マップの初期化、即ち蓄積マップの全画素において影響値および色情報を0にクリアしておく。次に、テクスチャマップ側において各ポリゴンに囲まれる範囲を隔たりなく走査する。ここで、走査対象画素の位置を(i,j)とし、iは水平位置、jは垂直位置とする。テクスチャマップにおけるポリゴンPに関する走査対象画素を黒塗り三角印、ポリゴンQに関する走査対象画素を黒塗り四角印でそれぞれ表している。画素情報の入出力関係は破線の矢印で表しており、テクスチャマップから蓄積マップへの転送を意味する。
続いて、走査対象画素に関して、まず当該画素の位置から図のような変形方法に従って蓄積マップ側の注目座標を導出する。ここでは、蓄積マップにおけるポリゴンPに関する注目座標を黒塗り三角印、ポリゴンQに関する注目座標を黒塗り四角印でそれぞれ表している。この段階において導出された注目座標は、画素単位とは限らない(例えば、実数である)ことに留意する。
次いで、注目座標に関連する蓄積マップの画素を更新対象画素として決定する。ここでは、従来の最近傍法における位置の導出方法に倣い、注目座標に最も近い位置にある1つの画素、即ち注目座標が含まれる領域にある1つの画素を更新対象画素とすることを例とする。ただし、従来の最近傍補間と異なる点として、求める位置の画素が入力側ではなく出力側であることに留意する。ここで、(i,j)に対応する蓄積マップにおける更新対象画素の位置を(x,y)とし、xは水平位置、yは垂直位置とする。
次にテクスチャマップの走査対象画素における画素情報であるa_src(i,j)、r_src(i,j)、g_src(i,j)、及びb_src(i,j)を用い、以下のように蓄積マップの更新対象画素における画素情報であるw_sum(x,y)、a_sum(x,y)、r_sum(x,y)、g_sum(x,y)、及びb_sum(x,y)をそれぞれ更新する(以降、位置(i,j)および(x,y)の記述は省略する)。
すなわち、
w_sumに対しては、一定値(たとえば、1)だけ加算する。
a_sumに対しては、a_srcだけ加算する。
r_sumに対しては、a_srcにr_srcを乗算した値だけ加算する。
g_sumに対しては、a_srcにg_srcを乗算した値だけ加算する。
b_sumに対しては、a_srcにb_srcを乗算した値だけ加算する。
なお、完全に不透明な画像のみを扱う場合、a_srcは一定値(たとえば、1)に置き換えることができ、a_sumは、w_sumで代用可能である。
即ち、蓄積マップの更新対象画素の更新は以下のように簡略化することが出来る。
w_sumに対しては、一定値(たとえば、1)だけ加算する。
r_sumに対しては、r_srcだけ加算する。
g_sumに対しては、g_srcだけ加算する。
b_sumに対しては、b_srcだけ加算する。
以上のような処理を伴い、各ポリゴンのテクスチャマップの走査を完了させる。
図7の左下は、テクスチャマップの走査結果として、蓄積マップで加算された影響値w_sumの分布を数値で表している。説明の便宜上、斜線で示す領域は影響値が一定値(たとえば、2)以上の画素を示しているが、詳細は後述する。
灰色の領域は、テクスチャマップと蓄積マップの対応付けの一部の例であり、テクスチャマップにおける位置(7,9)(8,9)および(7,10)の3画素が、蓄積マップにおける位置(9,5)の画素の更新に携わった例を示している。
図7の右下は、テクスチャマップの走査結果、蓄積マップにおける位置(9,5)の画素に対して行われた加算の例を表している。
前述した規則に従い、以下のように加算される。
w_sum(9,5)= 1+1+1=3
a_sum(9,5)= 1×a_src(7,9)
+1×a_src(8,9)
+1×a_src(7,10)
r_sum(9,5)= 1×a_src(7,9)×r_src(7,9)
+1×a_src(8,9)×r_src(8,9)
+1×a_src(7,10)×r_src(7,10)
g_sum(9,5)及びb_sum(9,5)はr_sum(9,5)と同様に求めることができる。
図8の例のように、もしテクスチャマップがラッピング(繰り返し)の場合、前述のテクスチャマップ側において各ポリゴンに囲まれる範囲を隔たりなく走査する際には、繰り返しを考慮して走査することに留意する。たとえば、位置(2,2)の画素はポリゴンPで3回、ポリゴンQで1回、合計4回走査対象となる。
次に、図9のフローチャートを参照して、本発明の第1の実施形態に係るリサンプリング装置により、テクスチャマップの画素に対応する蓄積マップ画素群を更新する処理の流れを説明する。これは、図6のステップS16の処理の詳細に相当する。リサンプリング方法の一部にも相当し、中央制御部11がメインメモリ12のリサンプリングプログラムを実行した場合の処理の一部にも相応する。
本フローチャートは、縮小による重心のずれを抑える手段の一部を示している。
この処理に入ると、テクスチャマップの画素の位置(A)に対応する蓄積マップ注目座標(B)から、「蓄積マップ位置(B1〜B4)」と「重み値(KB1〜KB4)」を作成する(ステップS21)。続いて、テクスチャマップ画素情報(DA)および重み値(KB1〜KB4)から蓄積マップ画素情報群(SB1〜SB4)を更新し(ステップS22)、リターンする。
なお、「テクスチャマップ」とは、「変形元画像」と同義であることに留意する。
以下、図10の概念図を参照して、テクスチャマップの画素に対応する蓄積マップ画素群を更新する処理の流れを更に詳述する。
前述の例では、従来の最近傍法における位置の導出方法に倣い、注目座標に最も近い位置にある1つの画素を更新対象画素とした。
図10の例では、変形における重心のずれを抑える方法として、従来のバイリニア法における位置の導出方法および重みづけ方法に倣い、注目座標に近い位置にある複数(たとえば、水平2つと垂直2つとで、2×2=4)の画素を更新対象画素とする。ただし、従来のバイリニア補間と異なる点として、重み付けを行う複数の画素が入力側ではなく出力側であることに留意する。以下、詳述する。
先ず、テクスチャマップにおける走査対象画素の位置Aに対応する蓄積マップの注目座標Bを順変換により求める。AからBへの破線の矢印は、座標の順変換を表している。ここで、座標マップを用いる場合、Bの水平座標及び垂直座標を、座標マップの位置Aの要素に記憶しておく。これにより、位置Aに対応する注目座標Bを後から再び求める必要がなくなる。
次に、注目座標に近い4つの画素の位置をそれぞれB1、B2、B3、およびB4とする。4つの位置それぞれにおいて、Bとの距離に応じて重みづけを行い、重み値KB1、KB2、KB3、およびKB4を導出する。4つの重み値の合計は一定値(たとえば、1)とする。
ここで、位置Aに関する画素情報をDAとし、位置B1に関する画素情報SB1については現在の値から「KB1を考慮したDA」だけ加算する。
即ち、テクスチャマップの走査対象画素における画素情報であるa_src(A)、r_src(A)、g_src(A)、及びb_src(A)を用い、以下のように蓄積マップの更新対象画素における画素情報であるw_sum(B1)、a_sum(B1)、r_sum(B1)、g_sum(B1)、及びb_sum(B1)をそれぞれ更新する(以降、位置(A)及び(B)の記述は省略する)。
すなわち、
w_sumに対しては、KB1だけ加算する。
a_sumに対しては、KB1にa_srcを乗算した値だけ加算する。
r_sumに対しては、KB1にa_src及びr_srcを乗算した値だけ加算する。
g_sumに対しては、KB1にa_src及びg_srcを乗算した値だけ加算する。
b_sumに対しては、KB1にa_src及びb_srcを乗算した値だけ加算する。
この演算については、簡易的な表現として「SB1+=KB1・DA」と表す。
「+=」は、左辺自身に対する加算を表し、即ち「SB1+KB1・DA」の結果をSB1に代入することを示す。
なお、完全に不透明な画像のみを扱う場合、a_srcは一定値(たとえば、1)に置き換えることができ、a_sumは、w_sumで代用可能である。
即ち、蓄積マップの更新対象画素の更新は以下のように簡略化することが出来る。
w_sumに対しては、KB1だけ加算する。
r_sumに対しては、KB1にr_srcを乗算した値だけ加算する。
g_sumに対しては、KB1にg_srcを乗算した値だけ加算する。
b_sumに対しては、KB1にb_srcを乗算した値だけ加算する。
位置B2、B3、B4に関する画素情報SB2、SB3、SB4についても、それぞれ同様に上記のような加算を行う。
このように、位置の導出及び重み付けの目的が更新対象画素における画素情報の加算でありながら、従来の参照を目的とした画素の位置の導出方法および重みづけ方法の適用が可能である。同様の例としてバイキュービック法等の適用も可能である。
以下、図11のフローチャートを参照して、本発明の第1の実施形態に係るリサンプリング装置による、変形先画像を走査し、蓄積マップを基に変形先画像を更新する処理の流れを説明する。尚、この処理は、図4のステップS2に相当するものである。リサンプリング方法の一部にも相当し、中央制御部11がメインメモリ12のリサンプリングプログラムを実行した場合の処理の一部にも相応する。
本フローチャートはポリゴンモデルを用いたテクスチャマッピングの例であり、変形先画像を走査する旨の説明である。ターゲットマップは変形先画像に相当する。
即ち、本処理に入ると、全ポリゴン面の抽出を完了したか否かを判断し(ステップS31)、抽出を完了していなければ(ステップS31をNoに分岐)、次のポリゴン面を抽出し(ステップS32)、続いてターゲットマップにおいてポリゴン面に含まれる全画素抽出を完了したか否かを判断し(ステップS33)、完了していなければ(ステップS33をNoに分岐)、ターゲットマップの次画素を抽出し(ステップS34)、蓄積マップを基にターゲットマップ画素を更新する処理を行い(ステップS35)、ステップS33に戻る。こうして、ステップS33乃至S35の処理を、ターゲットマップにおいてポリゴン面に含まれる全画素抽出を完了するまで繰り返し、全画素抽出を完了すると(ステップS33をYesに分岐)、ステップS31に戻る。こうして、全ポリゴン面の抽出を完了するまでステップS31乃至S35の処理を繰り返し、抽出を完了すると(ステップS31をYesに分岐)、リターンする。
ただし、図11のフローチャートは複数のポリゴンからなるポリゴンモデル(即ち、変形方法が複数)を想定した例であり、ポリゴンが単一の場合や、変形方法定義データ42にて単一のテーブルや数式を用いる場合、ステップS31乃至S32は省略可能である。
即ち、本処理を開始すると、ステップS33乃至S35の処理を繰り返し、抽出を完了すると(ステップS33をYesに分岐)、リターンしてもよい。
なお、「ターゲットマップ」とは、「変形先画像」と同義であり、「ポリゴン面」とは、変形元画像において「変形を行う範囲」と同義であることに留意する。
ここで、図12のフローチャートを参照して、蓄積マップを基にターゲットマップ画素を更新する処理の流れを説明する。これは、図11のステップS35の処理の詳細に相当するものである。リサンプリング方法の一部にも相当し、中央制御部11がメインメモリ12のリサンプリングプログラムを実行した場合の処理の一部にも相応する。本フローチャートは、簡易的にターゲットマップ画素を更新する例であり、縮小の場合に重心のずれを抑える手段を示している。なお、画像の基準点において縮小と拡大が複合する変形に適した手段についてはここでは述べず、後述する。
この処理に入ると、先ず、蓄積マップ画素の位置(P)に関する画素情報(SP)の影響値(w_sum)は一定値以上であるか否かを判断する(ステップS41)。ここで、影響値(w_sum)が一定値以上であれば(ステップS41をYesに分岐)、蓄積マップ画素情報(SP)からターゲットマップ画素情報(DP)を生成し(ステップS42)、リターンする。一方、影響値(w_sum)が一定値以上でなければ(ステップS41をNoに分岐)、従来の補間方法でテクスチャマップ画素情報DA1〜DA4からターゲットマップ画素情報(DP)を生成し(ステップS43)、リターンする。
なお、「ターゲットマップ」とは、「変形先画像」と同義であり、「テクスチャマップ」とは、「変形元画像」と同義であることに留意する。
以下、図13の概念図を参照して、本発明の第1の実施形態に係るリサンプリング装置により、変形先画像を走査し、蓄積マップを基に変形先画像を更新する処理について詳細に説明する。
図13の右の図は、変形元画像に相当する前述のテクスチャマップである。図13の左上の図は、前述の蓄積マップであり、前述のテクスチャマップ側の走査が完了した状態とする。図13の左下の図は、変形先画像に相当するターゲットマップを表している。
ターゲットマップの画素は不透明度と色とを含む画素情報(a_dst:アルファ,r_dst:赤,g_dst:緑,b_dst:青)を持つものとする。
テクスチャマップ、ターゲットマップ、および蓄積マップのそれぞれにおいて、画素は2次元で配置され、座標(水平方向,垂直方向)の単位は1画素を1とし、便宜上、画素の領域の境界を破線の格子で表している。
ターゲットマップ側において、各ポリゴンに囲まれる範囲を隔たりなく走査する。ここで、走査対象画素の位置を(i,j)とし、iは水平位置、jは垂直位置とする。ちなみに、前述のとおり、蓄積マップはターゲットマップと共通の座標系としているので、すなわち(i,j)は走査対象画素の位置に対応する蓄積マップの画素の位置としても表すことができる。ターゲットマップにおけるポリゴンPに関する走査対象画素を黒塗り三角印又は白抜き三角印とし、ポリゴンQに関する走査対象画素を黒塗り四角印又は白抜き四角印としてそれぞれ表している。
画素情報の入出力関係は破線の矢印で表しており、蓄積マップからターゲットマップへの転送、またはテクスチャマップからターゲットマップへの転送を意味する。ここで、白抜き三角印又は白抜き四角印は、影響値w_sum(i,j)が一定値(たとえば、2)以上であることを表し、黒塗り三角印又は黒塗り四角印は、影響値w_sum(i,j)が一定値(たとえば、2)未満であることを表している。影響値w_sum(i,j)が2以上である場合と2未満である場合で異なる更新対象画素の更新方法を用いる。
走査対象画素に関して、まず当該画素の位置に対応する蓄積マップの画素の影響値w_sum(i,j)を読み出す。蓄積マップにおける影響値w_sum(i,j)が2以上の場合、局部的に縮小相当と考え、当該画素に携わったテクスチャマップの画素の数が充分と見なし、携わった画素の平均を用いることとする。
即ち、蓄積マップにおける画素情報w_sum(i,j)、a_sum(i,j)、r_sum(i,j)、g_sum(i,j)、b_sum(i,j)を用いて、以下に示すようにターゲットマップの更新対象画素における画素情報a_dst(i,j)、r_dst(i,j)、g_dst(i,j)、b_dst(i,j)をそれぞれ更新する(以降、位置(i,j)の記述は省略する)。
すなわち、
a_dstに対しては、a_sumからw_sumを除算した値を代入する。
r_dstに対しては、r_sumからa_sumを除算した値を代入する。
g_dstに対しては、g_sumからa_sumを除算した値を代入する。
b_dstに対しては、b_sumからa_sumを除算した値を代入する。
蓄積マップの画素情報をS(i,j)とし、この演算については簡易的な表現として「S(i,j)/w_sum(i,j)」と表す。
なお、必ず不透明な画像を扱う場合、a_sumは、w_sumで代用可能な事は前述の説明のとおりである。即ち、ターゲットマップの更新対象画素の更新は以下のように置き換えることが出来る。
すなわち、
r_dstに対しては、r_sumからw_sumを除算した値を代入する。
g_dstに対しては、g_sumからw_sumを除算した値を代入する。
b_dstに対しては、b_sumからw_sumを除算した値を代入する。
走査対象画素の位置に対応する蓄積マップの画素の影響値w_sum(i,j)が2未満の場合、局部的に拡大相当と考え、当該画素に携わったテクスチャマップの画素の数が不充分と見なす。この場合、当該画素の画素情報を用いず、従来のテクスチャマッピングに基づいた補間(たとえば、バイリニア補間)により算出した値を用いてターゲットマップの更新対象画素における画素情報を更新する。
即ち、走査対象画素に関して、まず当該画素に関する位置から図のような変形方法に従ってテクスチャマップ側の注目座標を導出する。テクスチャマップにおけるポリゴンPに関する注目座標を黒塗り三角印、ポリゴンQに関する注目座標を黒塗り四角印としてそれぞれ表している。この段階において導出された注目座標は画素単位とは限らない(たとえば、実数である)ことに留意する。
次に、注目座標に関連するテクスチャマップの画素を被参照画素として決定する。ここでは、注目座標に近い2×2の画素、即ち注目座標が含まれる領域の画素及び近傍の画素を被参照画素とする。以下、詳述する。
図14には、従来のテクスチャマッピングに基づいた補間の例を示す。
ターゲットマップに関する、位置Pに応じた画素情報DPの生成例は次式で示される。
DP=(KA1・DA1+KA2・DA2+KA3・DA3+KA4・DA4)
/(KA1+KA2+KA3+KA4)
すなわち、先ずターゲットマップの位置Pに対応するテクスチャマップの注目座標Aを逆変換により求める。PからAへの破線の矢印は、座標の逆変換を表している。Aに近い4つの画素の位置A1、A2、A3、およびA4において、それぞれAとの距離に応じて重みづけを行い、重み値KA1、KA2、KA3、およびKA4を導出する。4つの重み値の合計は一定値(たとえば、1)とする。そして、位置A1〜A4に関する画素情報をDA1〜DA4とし、位置Pに関する画素情報DPについては「KA1〜KA4を考慮したDA1〜DA4」を合成して生成する。
なお、図15には、変形例として、従来の補間から算出した値と蓄積マップから算出した値とを重み付けによる合成の考え方を示し説明する。
前述の例(図12の処理)では、蓄積マップにおける画素の影響値w_sumが一定値以上である場合と一定値未満である場合で異なる更新対象画素の更新方法を用いたが、両方の方法から値をそれぞれ算出し、影響値w_sumの値に応じた割合を用いて合成した画素情報を更新対象画素の画素情報としてもよい。即ち、影響値w_sumの値が大きいとき、蓄積マップの位置Pにおける画素情報SPを用いる割合も高くする。これにより、拡大部分と縮小部分の境目がなめらかになる。
図16には、リサンプリング結果の例を示し説明する。
図16は、奥行きが非常に長い直方体の内部を投影する際のテクスチャマッピングについて従来手段の異方性フィルタと比較した例である。図16(a)が従来の異方性フィルタ(16xサンプル設定)、図16(b)が本発明の手段であり、それぞれ遠方部分、即ち縮小を含む変形を強調している。市松模様や直線模様に着目し、本発明の結果として、特に画素の平均や重心といった観点から遠方部分の品質が高く保たれていることを示している。
(第2の実施形態)
第2の実施形態に係るリサンプリング装置による処理では、第1の実施形態に係るリサンプリング装置による図12の処理を図17に示されるように変更している。
以下、図17のフローチャートを参照して、本発明の第2の実施形態に係るリサンプリング装置による、蓄積マップを基にターゲットマップ画素を更新する処理の流れを説明する。本フローチャートは、縮小による重心のずれを抑える手段に加え、画像の基準点において縮小と拡大が複合する変形に適した手段を示している。これは、第2の実施形態に係るリサンプリング方法の一部にも相当し、中央制御部11がメインメモリ12のリサンプリングプログラムを実行した場合の処理の一部にも相応する。
以下、詳述する。
すなわち、この処理に入ると、蓄積マップの画素の位置(P)に対応するテクスチャマップ注目座標(A)から、「テクスチャマップ位置(A1〜A4)」と「重み値(KA1〜KA4)」とを作成し(ステップS51)、テクスチャマップ位置(A1〜A4)に対応する蓄積マップ注目座標(B1〜B4)から、「蓄積マップ位置(B11〜B44)」と「重み値(KB11〜KB44)」とを作成し(ステップS52)、蓄積マップの画素情報(DB11〜DB44)および重み値(KA1〜KA4,KB11〜KB44)からターゲットマップの位置(P)の画素情報(DP)を生成し(ステップS53)、リターンすることになる。
なお、「ターゲットマップ」とは、「変形先画像」と同義であり、「テクスチャマップ」とは、「変形元画像」と同義であることに留意する。
ここで、図18の概念図を参照して、蓄積マップを基にターゲットマップ画素を更新する処理について更に詳述する。
先ず、蓄積マップの位置Pに対応するテクスチャマップの注目座標Aを逆変換により求める。PからAへの破線の矢印は、座標の逆変換を表している。次いで、注目座標Aに近い4つの画素の位置A1、A2、A3、およびA4において、それぞれAとの距離に応じて重み付けを行い、重み値KA1、KA2、KA3、およびKA4を導出する。4つの重み値の合計は一定値(たとえば、1)とする。
さらに、位置A1に対応する蓄積マップの注目座標B1を順変換により求める。A1からB1への破線の矢印は、座標の順変換を表している。次いで、注目座標B1に近い4つの画素の位置B11、B12、B13、およびB14において、それぞれB1との距離に応じて重み付けを行い、重み値KB11、KB12、KB13、およびKB14を導出する。4つの重み値の合計は一定値(たとえば、1)とする。
なお、座標マップを用いている場合、座標マップの位置A1の要素である座標情報が存在するならば、その座標情報をB1としてもよい。
A2、A3、およびA4に対応する座標や位置等は、図示を省略しているが、これらも同様に導出する。
そして、位置B11〜B44に関する画素情報をDB11〜DB44とし、位置Pに関する画素情報DPについては「KB11〜KB44およびKA1〜KA4を考慮したDB11〜DB44」を合成して生成する。
ところで、前述したテクスチャマップ側の走査が完了した状態において、拡大部分では蓄積マップの画素の更新に隔たりが生じ、位置によっては画素が一切更新されていない場合もある。ただし、ここで説明した方法における蓄積マップを参照するための座標変換は既にテクスチャマップ側の走査の際に行われ、さらには関連する蓄積マップの画素が更新されている。すなわち、更新が一切されていない画素の位置は導出されないものと考えてよい。よって、縮小と拡大で処理を分ける必要がないので、この方法は画像の基準点において縮小と拡大が複合する変形に適したリサンプリングと言える。
図19には、第2の実施形態によるリサンプリング結果の例を示す。
座標の順変換(入力→出力)、座標の逆変換(出力→入力)は次式で示される。
座標の順変換(入力→出力):
X_OUT = (w / 2) + cos(X_IN / w * 2 * PI) * Y_IN / h * (w / 2)
Y_OUT = (h / 2) + sin(X_IN / w * 2 * PI) * Y_IN / h * (h / 2)
座標の逆変換(出力→入力):
X_IN = atan2((Y_OUT - h / 2) / h, (X_OUT - w / 2) / w) / (2 * PI) * w
Y_IN = sqrt(((X_OUT - w / 2) / (w / 2)) ^ 2 + ((Y_OUT - h / 2) / (h / 2)) ^ 2) * h
図19は、本発明の第2の実施形態に係るリサンプリング装置の手段で極座標変換による変形を行った結果の例である。
図19(b)は変形元画像であり、正方形をパターンとして格子状に配置した例である。変形元画像の最上部は変形先画像の中心に対応し、変形元画像の左下から右下への線分は、変形先画像の右端から時計回りで1周する円に対応するものとする。図19(a)は蓄積マップにおいて、変形元画像の各画素の位置から順変換により求めた座標を表しており、黒色の画素に対しては黒塗り丸印、白色の画素に対しては白抜き丸印でそれぞれ表している。図19(d)は変形元画像において、変形先画像となる各画素の位置から逆変換により求めた座標を白抜き丸印で表している。
また図19(a)の例は、円の端付近において、半径方向については座標群が密であるため縮小になるが、円周方向については座標群が疎であるため拡大になるような変形である。変形の結果として、図19(c)のように、拡大の方向では補間によりジャギーが抑制され、かつ、縮小の方向では平均によりエイリアシングが抑制されている。
以上、本発明の第1、第2の実施形態について詳述したが、本発明はこれらに限定されることなく、その主旨を逸脱しない範囲で種々の改良・変更が可能である。
例えば、本発明は、同一発明者の先願である、特願2011−096940後の明細書及び図面に記載の全方位画像編集装置に記載の描画処理に適用してもよい。この場合、視野角を極端に小さくした状態、即ち表示を拡大した状態での細かな描き込みにおいて、縮小による重心のずれを抑えるリサンプリングが期待できる。また、視野角を極端に大きくした状態、即ち表示を広範囲にした状態での遠近感を表現する描き込みにおいて、画像の基準点において縮小と拡大が複合する変形に適したリサンプリングが期待できる。
また、本発明は、2次元までに限定される手段を用いない。したがって、いずれの処理も3次元への拡張(たとえば、ボクセルを用いる3次元データの変形等)が可能である。
1 リサンプリング装置
10 パーソナルコンピュータ
11 中央制御部
12 メインメモリ
13 画像制御部
13aビデオメモリ
14 入出力制御部
15 内蔵不揮発性記憶媒体
16 メディア読み書きインターフェイス
20 表示装置
30 変形パラメータ入力装置
40 変形元画像入力データ
41 変形先画像出力データ
42 変形方法定義データ
50 プログラムデータ

Claims (9)

  1. 変形先画像と共通の系列を持つ蓄積マップを用いたリサンプリング方法であって、
    変形元画像を走査し、当該変形元画像を基に前記蓄積マップを更新する第1のステップと、
    変形先画像を走査し、変形先画像において変形を行う範囲に含まれる全画素抽出を完了するまで、前記変形先画像の次画素を抽出し、前記蓄積マップを基に前記変形先画像を更新する第2のステップと、を有し、
    前記蓄積マップを基に変形先画像の画素を更新する処理では、
    蓄積マップ画素情報から算出した値と、所定の補完方法で変形元画像の画素情報から算出した値とを影響値に応じた割合を用いて合成することにより、変形先画像の画素情報を生成すること
    を特徴とするリサンプリング方法。
  2. 前記第1のステップでは、
    前記蓄積マップを初期化し、変形元画像において変形を行う範囲に含まれる全画素の抽出が完了するまで当該変形元画像の次画素の抽出を続け、当該変形元画像の当該画素に対応する蓄積マップの画素群を更新する処理を行うこと
    を特徴とする請求項1に記載のリサンプリング方法。
  3. 前記変形元画像において変形を行う範囲とはポリゴン面であり、
    前記第1及び第2のステップでは、全ポリゴン面の抽出が完了するまで次のポリゴン面の抽出を続けること
    を特徴とする請求項2に記載のリサンプリング方法。
  4. 変形先画像と共通の系列を持つ蓄積マップを用いるリサンプリング装置であって、
    各種画像を表示する表示手段と、
    リサンプリングプログラムに従って制御する中央制御手段と、を備え、
    上記中央制御手段は、
    変形元画像を走査し、当該変形元画像を基に前記蓄積マップを更新する第1のステップと、変形先画像を走査し、変形先画像において変形を行う範囲に含まれる全画素抽出を完了するまで、前記変形先画像の次画素を抽出し、前記蓄積マップを基に前記変形先画像を更新する第2のステップと、を実行するものであって、
    前記蓄積マップを基に変形先画像の画素を更新する処理では、
    蓄積マップ画素情報から算出した値と、所定の補完方法で変形元画像の画素情報から算出した値とを影響値に応じた割合を用いて合成することにより、変形先画像の画素情報を生成すること
    を特徴とするリサンプリング装置。
  5. 前記中央制御手段は、前記第1のステップでは、前記蓄積マップを初期化し、変形元画像において変形を行う範囲に含まれる全画素の抽出が完了するまで当該変形元画像の次画素の抽出を続け、当該変形元画像の当該画素に対応する蓄積マップの画素群を更新する処理を行うこと
    を特徴とする請求項4に記載のリサンプリング装置。
  6. 前記変形元画像において変形を行う範囲とはポリゴン面であり、
    前記第1及び第2のステップでは、全ポリゴン面の抽出が完了するまで次のポリゴン面の抽出を続けること
    を特徴とする請求項5に記載のリサンプリング装置。
  7. コンピュータが、
    変形元画像を走査し、当該変形元画像を基に変形先画像と共通の系列を持つ蓄積マップを更新する第1のステップと、変形先画像を走査し、変形先画像において変形を行う範囲に含まれる全画素抽出を完了するまで、前記変形先画像の次画素を抽出し、前記蓄積マップを基に前記変形先画像を更新する第2のステップと、を実行する中央制御手段として機能するものであって、
    前記蓄積マップを基に変形先画像の画素を更新する処理では、
    蓄積マップ画素情報から算出した値と、所定の補完方法で変形元画像の画素情報から算出した値とを影響値に応じた割合を用いて合成することにより、変形先画像の画素情報を生成すること
    を特徴とするリサンプリングプログラム。
  8. 前記第1のステップでは、前記蓄積マップを初期化し、変形元画像において変形を行う範囲に含まれる全画素の抽出が完了するまで当該変形元画像の次画素の抽出を続け、当該変形元画像の当該画素に対応する蓄積マップの画素群を更新する処理を行うこと
    を特徴とする請求項7に記載のリサンプリングプログラム。
  9. 前記変形元画像において変形を行う範囲とはポリゴン面であり、
    前記第1及び第2のステップでは、全ポリゴン面の抽出が完了するまで次のポリゴン面の抽出を続けること
    を特徴とする請求項8に記載のリサンプリングプログラム。
JP2016138223A 2016-07-13 2016-07-13 デジタル画像リサンプリング装置、方法、及びプログラム Active JP6254228B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016138223A JP6254228B2 (ja) 2016-07-13 2016-07-13 デジタル画像リサンプリング装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016138223A JP6254228B2 (ja) 2016-07-13 2016-07-13 デジタル画像リサンプリング装置、方法、及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014539472A Division JP5975496B2 (ja) 2012-10-02 2012-10-02 デジタル画像リサンプリング装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017010564A JP2017010564A (ja) 2017-01-12
JP6254228B2 true JP6254228B2 (ja) 2017-12-27

Family

ID=57761673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016138223A Active JP6254228B2 (ja) 2016-07-13 2016-07-13 デジタル画像リサンプリング装置、方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6254228B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09326958A (ja) * 1996-06-05 1997-12-16 Sony Corp 画像処理装置および処理方法
JP3543928B2 (ja) * 1998-10-29 2004-07-21 三菱電機株式会社 画素数変換装置
EP1503345A1 (en) * 2003-07-30 2005-02-02 Koninklijke Philips Electronics N.V. System for adaptive resampling in texture mapping
JP2008107981A (ja) * 2006-10-24 2008-05-08 Sharp Corp 画像処理装置及び画像処理方法
US8878950B2 (en) * 2010-12-14 2014-11-04 Pelican Imaging Corporation Systems and methods for synthesizing high resolution images using super-resolution processes

Also Published As

Publication number Publication date
JP2017010564A (ja) 2017-01-12

Similar Documents

Publication Publication Date Title
CN104732479B (zh) 对图像进行调整大小
JP5975496B2 (ja) デジタル画像リサンプリング装置、方法、及びプログラム
CN110246161B (zh) 一种360度全景图像无缝拼接的方法
JP2006209223A (ja) 描画方法、画像生成装置、および電子情報機器
JP7434032B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5111900B2 (ja) ポイント補間によるレンダリング方法及び装置
WO2021187157A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP6254228B2 (ja) デジタル画像リサンプリング装置、方法、及びプログラム
JP2005107602A (ja) 3次元画像描画装置および3次元画像描画方法
Islam et al. Overview and challenges of different image morphing algorithms
Fleishman et al. Navigating through sparse views
JP4081304B2 (ja) 描画処理プログラム,描画処理プログラムを記憶させた記憶媒体,描画処理装置、及び描画処理方法
KR100684558B1 (ko) 텍스쳐 밉매핑 장치 및 방법
Brosz et al. Shape defined panoramas
JP4925112B2 (ja) 自由視点画像の生成方法
Kleefeld et al. Processing Multispectral Images via Mathematical Morphology.
Benjamin et al. Painting with triangles
JP3872056B2 (ja) 描画方法
Stasik et al. Improvements in upscaling of pixel art
JP6861910B2 (ja) 情報処理装置、プログラム及び情報処理方法
JP6962242B2 (ja) 情報処理装置,重畳表示プログラム,重畳表示方法
TWI670682B (zh) 利用雙向掃瞄之影像距離轉換裝置及其方法
Kherd et al. The Use of Biharmonic Dejdamrong Surface in Gray Image Enlargement Process
Bergamasco et al. Saliency-driven Variational Retargeting for Historical Maps
JP2022130034A (ja) 画像処理装置、画像処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170927

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171129

R150 Certificate of patent or registration of utility model

Ref document number: 6254228

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250