(57)【要約】  【課題】  撮影された画像を変形する時に、解像度の劣化を防止する。  【解決手段】  キーボード２から入力した情報によって、３次元曲面生成回路６が３次元曲面を生成する。この生成された曲面にマッピングする実画像が実画像メモリ７に蓄えられている。補間回路９により作られた画像がビデオメモリ１０に蓄えられる。補間回路９は、実画像メモリ７から拡大画像を形成する時に不足している画素データを補間する。この補間のために、クラス分類適応処理が使用される。クラス分類適応処理は、周辺画素のレベル分布と相対位置コードとで指示されるクラス毎に、実画像の複数の画素データと予め学習により求められた係数の線形１次結合によって、補間画素の画素値を推定する処理である。このクラス分類処理によって解像度が劣化することを防止する。【選択図】  図１
2005302068.tif 000002
【特許請求の範囲】
【請求項１】
画像データを座標変換し変換画像データを出力する座標変換手段と、
注目する補間画素の周辺に位置する、上記座標変換手段により出力される変換画像データ内の複数の画素の画素値に基づいて、上記注目する補間画素のクラスを示すコードを生成する分類手段と、
上記注目する補間画素を生成するための値を上記クラス毎に記憶する記憶手段と、
上記分類手段により生成された上記クラスに対応する値を上記記憶手段から検出すると共に、当該値に基づき、２次元座標系の格子上の上記注目する補間画素を生成する画素生成手段と、
を備える画像生成装置。
【請求項２】
請求項１において、
上記座標変換手段は、
上記画像データを３次元曲面に基づいて座標変換すると共に変換画像データを出力する画像生成装置。
【請求項３】
請求項１において、
上記座標変換手段は、
上記画像データを線形補間により拡大し拡大変換画像データを出力する画像生成装置。
【請求項４】
請求項１において、
上記分類手段は、
上記座標変換手段により出力される変換画像データ内の複数の画素の画素値のダイナミックレンジを検出するダイナミックレンジ検出手段と、
上記ダイナミックレンジを２のｎ乗で除算し量子化幅を検出する量子化幅検出手段と、
上記各画素の画素値から最小の画素値を減算すると共に上記量子化幅で量子化する量子化手段とを有し、
上記各画素の量子化結果に基づいて上記注目する補間画素のクラスを示すコードを生成する画像生成装置。
【請求項５】
請求項１において、
上記分類手段は、
上記座標変換手段により出力される変換画像データ内の複数の画素の各画素値および注目する２次元座標系の格子上の上記注目する補間画素との相対位置関係とにより、上記注目する補間画素のクラスを示すコードを生成する画像生成装置。
【請求項６】
請求項１において、
上記画素生成手段は、上記分類手段により生成された上記クラスに対応する値を上記記憶手段から検出すると共に、当該値および上記複数の画素の画素値に基づき、２次元座標系の格子上の上記注目する補間画素を生成する画像生成装置。
【請求項７】
画像データを座標変換し変換画像データを出力し、
注目する補間画素の周辺に位置する、上記出力された変換画像データ内の複数の画素の画素値に基づいて、上記注目する補間画素のクラスを示すコードを生成し、
上記注目する補間画素を生成するための値を上記クラス毎に記憶する記憶手段から上記クラスに対応する値を検出し、
上記検出された値に基づき、２次元座標系の格子上の上記注目する補間画素を生成する画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータグラフィックスで作成した３次元曲面に、実写の物体画像をマッピングした画像を生成するための画像生成装置および画像生成方法に関する。
【背景技術】
【０００２】
図１０に概略的に示すように、コンピュータグラフィックスを用いて作成した３次元曲面に、実写の物体画像をマッピングして表示させるようなアプリケーションが知られている。テレビジョン特殊効果装置としては、特開昭６１−２３０４７７号公報、特開昭６１−２３７１７１号公報に記載されている装置が本願出願人により提案されている。かかる画像生成装置は、例えば商品の実写画像を立体的に表示し、これを視点を変えて（回転）表示させたり大きさを変えて表示させたりすることで、あたかも実物を見せるような効果を生じさせることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、回転、拡大、あるいは縮小にともなう変形が単純な座標変換と線形補間で行われることが一般的であるため、特に拡大画像の場合では解像度が劣化する問題があった。
【０００４】
従って、この発明の目的は、画像の拡大等の変形時に解像度が劣化することが防止された画像生成装置および画像生成方法を提供することにある。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、この発明は、画像データを座標変換し変換画像データを出力する座標変換手段と、
注目する補間画素の周辺に位置する、座標変換手段により出力される変換画像データ内の複数の画素の画素値に基づいて、注目する補間画素のクラスを示すコードを生成する分類手段と、
注目する補間画素を生成するための値をクラス毎に記憶する記憶手段と、
分類手段により生成されたクラスに対応する値を記憶手段から検出すると共に、当該値に基づき、２次元座標系の格子上の注目する補間画素を生成する画素生成手段と、
を備える画像生成装置である。
【０００６】
この発明は、画像データを座標変換し変換画像データを出力し、
注目する補間画素の周辺に位置する、出力された変換画像データ内の複数の画素の画素値に基づいて、注目する補間画素のクラスを示すコードを生成し、
注目する補間画素を生成するための値をクラス毎に記憶する記憶手段からクラスに対応する値を検出し、
検出された値に基づき、２次元座標系の格子上の注目する補間画素を生成する
画像生成方法である。
【発明の効果】
【０００７】
この発明によれば、拡大等の変形処理を行なう時に、座標変換と線形補間で変形画像を生成するのと比較して、解像度劣化のない変形画像を生成することができる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の一実施例について図面を参照して説明する。図１は、この発明の一実施例の全体ブロック図である。図１において、１がＣＰＵ、２が制御情報を入力するためのキーボード（およびマウス）、３がインターフェース（Ｉ／Ｆ）、４が制御プログラムや処理の途中結果を記憶するためのワークメモリ（ＲＡＭ）、５がプログラムや画像データを蓄積するハードディスク（ＨＤＤ）である。
【０００９】
また、図１において、６がキーボード２から入力した情報によって３次元曲面を生成する３次元曲面生成回路、７が生成された曲面にマッピングする実画像データを蓄える実画像メモリ、８が実画像メモリ７に画像を入力するためのＡＤ変換回路である。実画像は、例えばテレビジョンカメラで撮像された画像であり、ＡＤ変換回路８によって、アナログ画像信号からディジタル画像信号へ変換される。
【００１０】
さらに、図１において、９がマッピングされた実画像を密な画素に補間するための補間回路、１０が補間回路９によって作られた画像を蓄えるビデオメモリ（ＶＲＡＭ）、１２が画像を表示するＣＲＴモニタ、１１がビデオメモリ１０に蓄えられた画像データをＣＲＴモニタ１２に出力するために、ディジタルデータをアナログデータに変換するためのＤＡ変換回路である。
【００１１】
上述のこの発明の一実施例について、より詳細に説明する。まず、３次元曲面生成回路６では、キーボード２から入力された曲面生成命令によって、ある任意の関数によって３次元上の座標値が計算され、３次元の曲面が生成される。この曲面生成命令は、曲面の種類、曲面の形状を決定するパラメータ等を含むものである。３次元曲面の一例は、円筒面である。曲面の生成の代わりにハードディスク５にあらかじめ蓄えられていた曲面を読み出しても良い。
【００１２】
一方、ＴＶカメラなどから入力された実画像は、ＡＤ変換回路８によって例えば８ビットで量子化され、実画像メモリ７へ入力される。記憶される画像は静止画あるいは動画の何れでも良い。静止画像の場合は、実画像メモリは例えば（１０２４ｘ７６８）程度の大きさをもったフレームメモリ１枚で構成し、動画像を扱う場合はフレームメモリ２枚をもって交互に読み書きする構成とされる。
【００１３】
実画像メモリ７から読み出された画像は、３次元曲面生成回路６から出力される３次元の座標値に対応させてマッピングされる。ただし、これは、仮想的な空間でのイメージであり、ＣＲＴモニタ１２に表示するためには、２次元の平面上に投影するとともに、隠面処理をする必要がある。また、３次元曲面の変形によっては、投影の際に補間によって２次元平面の格子点上の座標にマッピングされるように処理を行う必要がある。補間回路９は、この部分の処理を行う回路である。
【００１４】
補間回路９の一例の詳細ブロック図を図２に示す。３次元曲面生成回路６からの曲面情報とＡＤ変換回路８からの実画像データが座標変換回路２１に入力され、２次元平面上に合成されて射影される。このとき存在する格子点の位置は、図３における実線の交点であり、破線の交点である２次元座標系の格子点とは異なる。従って、補間演算により２次元座標系の格子点上の画素値を求める必要がある。
【００１５】
例えば、図３において、３次元座標系の格子点ｘ１ 〜ｘ４ の画素を使用して、その中にある２次元座標系の格子点Ｘの画素値を推定する。この推定演算は、下式に示すような線形１次結合式で表される演算によって行われる。ｗ１ 〜ｗ４ は、予め学習によって得られた係数である。
Ｘ＝ｗ１ ×ｘ１ ＋ｗ２ ×ｘ２ ＋ｗ３ ×ｘ３ ＋ｗ４ ×ｘ４         （１）
【００１６】
図２の回路においては、座標変換後の画素データが時系列変換回路２２および２３に供給される。時系列変換回路２２から同時に出力されるｘ１ 〜ｘｎ の画素が乗算器ＭＰ１ 、ＭＰ２ 、・・・、ＭＰｎ の一方の入力端子に入力される。これらの乗算器ＭＰ１ 、ＭＰ２ 、・・・、ＭＰｎ の他方の入力端子には、後述するアドレスに従って係数メモリ２６から呼び出された係数ｗ１ 、ｗ２ 、・・・、ｗｎ が入力され、各画素との積が演算され、加算器Ａによって総和（すなわち、Ｘ）が求められる。
【００１７】
係数を呼び出すためのアドレスは、パターン分類によるクラス分類処理によって生成されるインデックスコードを使用する。座標変換回路２１からの座標変換後のデータが時系列変換回路２３を介されることによって同時化され、クラス生成回路２４に入力される。ここで、このクラスを形成するために使用する複数の画素は、補間演算に使用する複数の画素ｘ１ 〜ｘｎ と同一でも良く、相違していても良い。
【００１８】
クラス生成回路２４においては、まず入力された複数の画素値の最大値ＭＡＸと最小値ＭＩＮを検出する。その差分（ダイナミックレンジＤＲ）を２のｎ乗（ｎビット量子化の場合）で割り算し、量子化のステップ幅を求める。画素値から最小値ＭＩＮを引いた値に対して、求めた量子化ステップ幅で割り算し、整数に丸めることで適応量子化を行なう。これは、ＡＤＲＣ符号化方式と呼ばれるもので、下式で表されるものである。ここで、Ｑが量子化値、ｘ＾が復号値、〔  〕は切捨て処理をそれぞれ表す。
【００１９】
ＤＲ＝ＭＡＸ−ＭＩＮ                          （２）
Ｑ＝〔（ｘ−ＭＩＮ）×（２n ／ＤＲ）〕        （３）
ｘ＾＝〔Ｑ×（ＤＲ／２n ）＋ＭＩＮ〕          （４）
【００２０】
このようにしてＡＤＲＣ符号化されたコードを複数個あつめて、正規化されたパターンを構成し、これをパターン分類によるクラスとして表現する。入力画像と出力画像の格子点が一致する、通常のクラス分類においては、このようなクラス分類を行なえば良い。しかしながら、今回のような任意の変形に対応するためには、補間される格子点と入力された画素の相対的な位置を考慮する必要がある。
【００２１】
そこで、２次元座標系（図３における破線の座標）の格子間隔を１として、補間される３次元座標（図３における実線の座標）の格子点の近傍４入力画素の相対的位置を例えば１／４の刻みで水平、垂直ともにコード化する。例えば、図３におけるｘ１ のコードは１０進表示で（２、１）、ｘ２ のコードは１０進表示で（１、１）と表される。このコードを何ビットで表すかは、拡大率をどこまで行うかに依存する。例えば、コードを（４ビット、４ビット）とすれば縦横それぞれ４倍まで対応できる。この相対位置を表すコードと先のＡＤＲＣコードとを合わせてクラスを表すインデックスコードとする。すなわち、インデックスコードは、図４に示すように、ｘ１ 〜ｘ４ の相対位置コードとそのＡＤＲＣコードとから構成される。このインデックスコードは、２進コードである。
【００２２】
各インデックスコードに対応して補間演算のための係数ｗ１ 〜ｗｎ が係数メモリ２６から読出され、それぞれに適したフィルタ演算による補間値Ｘの計算が行われる。なお、インデックスコードに対応して係数メモリ２６に蓄えられた係数は、後で述べる学習処理によってあらかじめ求められたものである。
【００２３】
さて、係数を決定する学習方法について以下に説明する。学習のための装置は、図５に示すように、まず、高解像度の撮像装置４１で撮影された実画像をＡＤ変換回路４２によりディジタルデータへ変換し、フレームメモリ４３に蓄える。このフレームメモリ４３はホストコンピュータ４４からアクセスが可能であって、ホストコンピュータ４４のディスク等の記憶装置４５にデータを引き上げることが可能である。
【００２４】
簡単のために、変形の伴わない拡大の場合の学習方法について説明する。図５のような環境でもって、特にディテールの多い物体に関しては、色々な拡大率でもって撮像を行い、十分学習できる量のデータをディスクに準備する。例えば同一物体に対して、拡大率が１、２、３、・・・のような撮像を撮像装置４１が行う。拡大率は整数倍に限らず、小数点を含む任意の倍率でよい。
【００２５】
図６は、１倍で撮像された物体と２倍で撮像された物体の例を示す。物体上で対応する位置が共通の２次元座標の格子点に乗っている場合、ｘ１ 〜ｘ４ がｘ１ ´〜ｘ４ ´にそれぞれ対応する。この対応関係は、マッチング演算（例えば、差分の絶対値和が最小の座標を求める）によって検出される。そして、Ｘからの相対位置のコードをそれぞれ（３、３）とするとともにｘ１ 〜ｘ４ をＡＤＲＣ符号化して、相対位置のコードとＡＤＲＣ符号化出力のコードとからなるインデックスコードを作成する。この例の場合、ｘ１ 〜ｘ４ から線形１次結合でＸを推定する（１）式で表されるようなモデルを作ってその係数を算出する問題になる。具体的には、同じインデックスコードになるデータを撮像した画像をサーチして相当数だけ集めて、最小二乗法による解法で係数の算出を行う。
【００２６】
以上の例は特殊な例であるが、格子点に対応点がないような場合、または、拡大率が整数でないような一般的な場合は、１倍で撮像した画像をコンピュータ上で線形補間演算による拡大を行った後、マッチング演算を行って対応点を求める。すなわち、図７に示すように、撮像した実画像から線形補間によって、拡大画像を作成する。この実画像と線形補間で得られた拡大画像とは、格子点の位相が一致している。格子点ｘ１ 〜ｘ４ とそれぞれ対応する格子点ｘ１ ´´〜ｘ４ ´´が求められる。
【００２７】
そして、線形補間拡大画像と、撮像された拡大画像との間で、マッチング演算が行なわれる。このマッチング演算によって、二つの拡大画像の間の相対的位置関係を示すデータが得られる。この相対位置関係を示すデータによって、実画像のｘ１ 〜ｘ４ と対応する点ｘ１ ´〜ｘ４ ´が分かり、Ｘからの相対位置のコードを求めることができる。
【００２８】
変形に対する学習は、上述のように、線形補間、マッチング後の対応点を注目する四角形のみの微小範囲に関してある関数による座標変換を行った後、相対位置のコードを算出してインデックスコードを求め、座標変換後の格子上にある補間点および、変換前のｘ１ 〜ｘ４ のデータを使用して行うと良い。
【００２９】
学習時の処理をブロック図で表すと、図８に示すものとなる。図８において、５１は、撮像装置４１で撮影された実画像が蓄えられたメモリであり、５２は、撮像装置４１で撮影された拡大実画像が蓄えられたメモリである。実画像５１が拡大処理回路５３に供給され、線形補間処理によって拡大画像が生成される。この拡大画像とメモリ５２からの拡大実画像とが相対位置検出回路５４に供給され、相対位置が検出される。
【００３０】
また、メモリ５１からの実画像がＡＤＲＣエンコーダ５５に供給され、補間しようとする画素の周辺の画素データがＡＤＲＣ符号化される。このＡＤＲＣエンコーダ５５からの周辺の画素データのＡＤＲＣ符号化されたコードと相対位置検出回路５４からの相対位置コードとを合わせたものがインデックスコードとして最小二乗法の演算回路５６に供給される。この演算回路５６では、実データと補間データとの間の誤差を最小とするための線形１次結合の係数（式（１）におけるｗ１ 〜ｗ４ ）が求められる。この求められた係数が係数メモリ５７に格納される。
【００３１】
また、学習の方法は、図９のフローチャートに示される。図９において、ステップ６１は、学習用のデータ（拡大率が１倍の画像と、拡大率がｎ倍の画像）を収集するための撮像処理のステップである。撮像画像は、線形補間によりｎ倍にに拡大される（ステップ６２）。この線形補間による拡大画像と、撮影された拡大画像との間でマッチング演算がなされる。
【００３２】
次に、ステップ６４の座標変換において、マッチング後の対応点を注目する四角形のみの微小範囲に関して関数による座標変換を行なった後、ステップ６５のインデックスクラスの作成において、相対位置コードを算出し、相対位置コードを含むインデックスコードを生成する。
【００３３】
このステップ６５の後の破線で囲んで示す処理が最小二乗法により係数を決定する処理である。後述のように、観測方程式がステップ６７において作成され、ステップ６８において正規方程式が作成され、正規方程式がステップ６９において掃き出し法で求められる。そして、求められた係数がステップ７０において出力される。
【００３４】
最小二乗法により係数を求める演算について以下に説明する。一般に観測方程式を次の式（５）および（６）で表す。ｘｉｊが入力画像中の画素データであり、ｙｉ が補間値に対応する真値である。基本的には、この連立方程式を解いて係数ｗ１ 〜ｗｎ を求めれば良い。
【００３５】
〔観測方程式〕
ＸＷ＝Ｙ
【００３６】
【数１】
2005302068.tif 000003
【００３７】
つまり、式（７）で示すように、残差行列Ｅが加えられた形となり、二乗誤差が最小となるように、係数行列が決定される。
【００３８】
〔残差方程式〕
【数２】
2005302068.tif 000004
【００３９】
式（７）から、係数ｗｉ の最確値を見いだすには、Σｅｉ 2 （Σは、ｉ＝１からｉ＝ｍの累算を意味する）を最小にする条件を満足するｗ１ ，ｗ２ ，・・・，ｗｎ を見いだせば良い。すなわち、次の式（８）にｎ個の条件をいれてこれを満足するｗ１ ，ｗ２ ，・・・，ｗｎ を求める。
【００４０】
【数３】
2005302068.tif 000005
【００４１】
式（７）から次の式（９）が成立する。
【００４２】
【数４】
2005302068.tif 000006
【００４３】
式（８）の条件をｉ＝１，２，・・・，ｎについて立てればそれぞれ次の式（１０）が得られる。
【００４４】
【数５】
2005302068.tif 000007
【００４５】
ここで、式（７）および（１０）から次の正規方程式が得られる。
【００４６】
【数６】
2005302068.tif 000008
【００４７】
これは、未知数の数ｎ個と対応する数の連立方程式であるから、この正規方程式から最確値たる各ｗｉ を求めることができる。正確には、式（１１）において各ｗｉ にかかる（Σｘｊｎｘｊｎ）を要素とする行列が正則であれば、この正規方程式を解くことができる。実際には、Ｇａｕｓｓ−Ｊｏｒｄａｎの消去法（掃き出し法）を用いてこの正規方程式を解くことになる。
【００４８】
また、係数ｗｉ の演算は、インデックスコードで示されるクラス毎になされる。このようにして求められたクラス毎の係数は、係数メモリ（図２における係数メモリ２６および図８における係数メモリ５７）に蓄えられて補間演算に使用される。
【００４９】
なお、線形１次結合によらず、学習によって、クラス毎に補間値それ自体を得るようにし、この補間値をメモリに記憶する方式の補間値生成を行なうこともできる。
【図面の簡単な説明】
【００５０】
【図１】この発明の一実施例のシステムの構成を示すブロック図である。
【図２】この発明の一実施例における補間回路のブロック図である。
【図３】２次元座標への投影を説明するための略線図である。
【図４】インデックスコードの一例を示す略線図である。
【図５】画像の採取ならびに学習のための構成を示すブロック図である。
【図６】画像の拡大の一例を示す略線図である。
【図７】画像の拡大の他の例を示す略線図である。
【図８】学習時の処理を表すブロック図である。
【図９】学習時の処理を表すフローチャートである。
【図１０】コンピュータグラフィックスによる画像生成の例を示す略線図である。
【符号の説明】
【００５１】
９  補間回路
２４  クラス生成回路
２６、５７  係数メモリ
５５  ＡＤＲＣエンコーダ
５６  最小二乗法の演算回路
【図１】
2005302068.tif 000009
【図２】
2005302068.tif 000010
【図３】
2005302068.tif 000011
【図４】
2005302068.tif 000012
【図５】
2005302068.tif 000013
【図６】
2005302068.tif 000014
【図７】
2005302068.tif 000015
【図８】
2005302068.tif 000016
【図９】
2005302068.tif 000017
【図１０】
2005302068.tif 000018