(57)【特許請求の範囲】
【請求項１】
原画像の２次元空間上への変換処理を前記２次元空間上の第１軸方向の変換処理とこれに直交する第２軸方向の変換処理とに分割して順次実行する画像の２次元空間変換装置において、
原画像を記憶する第１の画像記憶手段と、
この第１の画像記憶手段に記憶された原画像を前記第１軸方向に変換処理して得られた中間画像を記憶する第２の画像記憶手段と、
原画像に対する前記２次元空間上の第１軸方向への変換処理を規定する第１軸方向の各走査ラインについてのオフセット値及び縮小率、並びに前記第１軸方向への変換処理が終了した中間画像に対する前記２次元空間上の第２軸方向への変換処理を規定する第２軸方向の各走査ラインについてのオフセット値及び縮小率をそれぞれ変換パラメータとして計算する演算手段と、
この演算手段で計算された前記第１及び第２軸方向の各ライン毎の変換パラメータをパラメータテーブルとして記憶するパラメータ記憶手段と、
このパラメータ記憶手段に記憶された変換パラメータを前記第１軸方向の各走査ライン毎に読み出し累積加算及び加減算して前記第１の画像記憶手段の読み出しアドレスを生成すると共に、この生成されたアドレスにより前記原画像を読み出して前記第２の画像記憶手段にシーケンシャルに書き込むことにより第１軸方向の変換処理を実行する第１の画像変換処理手段と、
前記パラメータ記憶手段に記憶されたパラメータを前記第２軸方向の各走査ライン毎に読み出し累積加算及び加減算して前記第２の画像記憶手段の読み出しアドレスを生成すると共に、この生成されたアドレスにより前記中間画像を読み出してシーケンシャルに出力することにより第２軸方向の変換処理を実行する第２の画像変換処理手段と、
前記第１の画像変換処理手段で生成された前記第１の画像記憶手段の読み出しアドレスを前記第１軸方向及び前記第２軸方向の少なくとも一方に座標変換して前記変換画像に特殊効果を付与する変換テーブルと
を備えたことを特徴とする画像の２次元空間変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、原画像を２次元変換して特殊効果画像等を得るための画像の２次元空間変換方法及び装置に関し、特に２次元空間上の第１軸方向への変換処理とこれと直交する第２軸方向への変換処理とを分割して実行する２パス方式の画像の２次元空間変換方法及び装置に関する。
【０００２】
【従来の技術】
コンピュータグラフィックスや映像編集システム等では、原画像を２次元空間において座標変換して遠近効果（Perspective）やその他の特殊効果を得ることが頻繁に行われる。このような空間変換は、基本的には下記数１で示す座標変換処理である。
【０００３】
【数１】
0003644146.tif 000002
【０００４】
ここで、ｕ，ｖは変換前の原画像の２次元座標値、ｘ，ｙは変換後の画像の２次元座標値、Ｍは変換マトリクスである。実際の映像変換では、出力画素（ｘ，ｙ）に対する入力画素位置（ｕ，ｖ）を求めるという処理が実行されるので、
【０００５】
【数２】
0003644146.tif 000003
【０００６】
で与えられた変換マトリクスを解いて、各出力画素に対する入力画素位置（ｘ，ｙ）を順次求めていけばよい。しかし、この方法は計算が複雑であるために実時間処理が困難であるという問題がある。また、この方法は、縮小変換時のサブサンプリングにより生じる折り返し歪みを除去するためのフィルタとして２次元フィルタを必要とするため、構成が複雑化するという問題もある。
そこで、上述した２次元変換を直交した２つの変換に分離して処理時間を短縮するようにした、いわゆる２パス方式が提案されている（例えばUSP4463372等）。この方式を以下に説明する。
いま、［ｘ，ｙ］が下記数３のように定義できるものとする。
【０００７】
【数３】
0003644146.tif 000004
【０００８】
これを以下のようにｘ，ｙ方向にそれぞれ独立に変換するための２つのパスに分解し、順次計算する。
【０００９】
【数４】
0003644146.tif 000005
【００１０】
これを数１に当てはめると、各パスでｘ，ｙは下記数５のように求められる。
【００１１】
【数５】
0003644146.tif 000006
【００１２】
【発明が解決しようとする課題】
しかし、上述した従来の２パス方式の２次元画像変換方式においても、数５に示すように各画素毎に除算が必要になり、リアルタイム演算のためには、ハードウェアの規模が複雑化するのは避けられない。このため、上述した２パス方式は、放送局等の業務用に適用が限定され、一般家庭用に使用することが困難である。
【００１３】
この発明は、このような問題点に鑑みなされたもので、上記と同様の２パス方式の２次元空間変換を極めて簡単なハードウェアで実現することができ、もってリアルタイムでの２次元画像変換と回路規模の簡単化とを同時に図ることかできる画像の２次元空間変換装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
この発明による画像の２次元空間変換方法は、原画像の２次元空間上への変換処理を前記２次元空間上の第１軸方向の変換処理とこれに直交する第２軸方向の変換処理とに分割して順次実行する方法であって、前記第１軸方向の変換処理前に対する変換処理後の前記第１軸方向の画像のオフセット量及び縮小率を前記第１軸方向の各走査ラインについて予め第１のテーブルとしてテーブル化しておくと共に、前記第２軸方向の変換処理前に対する変換処理後の前記第２軸方向の画像のオフセット量及び縮小率を前記第２軸方向の各走査ラインについて予め第２のテーブルとしてテーブル化しておき、前記第１軸方向の変換処理に際して画像メモリに対する前記第１軸方向の読み出しアドレスと書き込みアドレスとを前記第１のテーブルのオフセット量に基づきずらし、且つ前記画像メモリに対する前記第１軸方向の読み出しアドレスの間隔と書き込みアドレスの間隔とを前記第１のテーブルの縮小率に基づき制御することにより前記第１軸方向の変換処理を実行し、前記第２軸方向の変換処理に際して前記画像メモリに対する前記第２軸方向の読み出しアドレスと書き込みアドレスとを前記第２のテーブルのオフセット量に基づきずらし、且つ前記画像メモリに対する前記第２軸方向の読み出しアドレスの間隔と書き込みアドレスの間隔とを前記第２のテーブルの縮小率に基づき制御することにより前記第２軸方向の変換処理を実行するようにしたことを特徴とする。
【００１５】
また、この発明に係る画像の２次元空間変換装置は、原画像の２次元空間上への変換処理を前記２次元空間上の第１軸方向の変換処理とこれに直交する第２軸方向の変換処理とに分割して順次実行するものであって、原画像を記憶する第１の画像記憶手段と、この第１の画像記憶手段に記憶された原画像を前記第１軸方向に変換処理して得られた中間画像を記憶する第２の画像記憶手段と、原画像に対する前記２次元空間上の第１軸方向への変換処理を規定する第１軸方向の各走査ラインについてのオフセット値及び縮小率、並びに前記第１軸方向への変換処理が終了した中間画像に対する前記２次元空間上の第２軸方向への変換処理を規定する第２軸方向の各走査ラインについてのオフセット値及び縮小率をそれぞれ変換パラメータとして計算する演算手段と、この演算手段で計算された前記第１及び第２軸方向の各ライン毎の変換パラメータをパラメータテーブルとして記憶するパラメータ記憶手段と、このパラメータ記憶手段に記憶された変換パラメータを前記第１軸方向の各走査ライン毎に読み出し累積加算及び加減算して前記第１の画像記憶手段の読み出しアドレスを生成すると共に、この生成されたアドレスにより前記原画像を読み出して前記第２の画像記憶手段にシーケンシャルに書き込むことにより第１軸方向の変換処理を実行する第１の画像変換処理手段と、前記パラメータ記憶手段に記憶されたパラメータを前記第２軸方向の各走査ライン毎に読み出し累積加算及び加減算して前記第２の画像記憶手段の読み出しアドレスを生成すると共に、この生成されたアドレスにより前記中間画像を読み出してシーケンシャルに出力することにより第２軸方向の変換処理を実行する第２の画像変換処理手段とを備えたことを特徴とする
【００１６】
この発明によれば、各軸方向の変換処理を、変換前後の各軸方向のずれ量に相当するオフセット量と各軸方向の縮小率とに基づいて行っている。このため、各軸方向の変換処理は、各軸方向の読み出しアドレスと書き込みアドレスとをオフセット量だけずらす処理と、画像メモリへの書き込み間隔に対する画像メモリからの読み出し間隔の制御だけで実現できる。書き込み動作を規定の間隔でシーケンシャルに行えば、読み出し間隔は、単に縮小率の累積加算によって得られる。このように、これらの処理は、累積加算や加減算のみで実現可能であるため、システム構成が簡単であり、しかもリアルタイム処理が可能になる。
【００１７】
これらの動作を規定する各軸方向のオフセット量及び縮小率等の変換パラメータは、予めテーブル化されるので、変換動作では複雑な演算は必要としない。変換パラメータのテーブルを順次書き換えるようにすれば、同一の原画像から得られた変換画像を順次変化させることができる。１つの画面の変換動作中に次の画面の変換パラメータを計算することは容易であり、また算出された変換パラメータによるテーブルの書き換えは、例えば映像信号の垂直ブランキング期間等を利用することができる。このため、リアルタイムで変換画像を変化させることができる。
【００１８】
第１軸方向の変換結果を格納する第２の画像記憶手段をダブルバッファ構成とすると、一方のバンクから変換画面を出力中に他方のバンクに次の変換のための変換画像を書き込むことができ、変換画像を淀みなく変化させることができる。また、変換パラメータにより求められた読み出しアドレスを更に他の変換テーブルにより変換することで、擬似的な遠近効果等の更に複雑な特殊効果を付与することができる。
【００１９】
また、この発明によれば、第１及び第２の画像記憶手段に対する読み出しアドレスから変換画像のボーダエリアを容易に検出することができる。このため、ボーダエリアに特定のエリア色を埋め込むことにより、映像ミキシング等に極めて都合の良い変換画像が得られる。このようにして埋め込まれたエリア色は、例えばオブジェクトを複数のパーツで合成して作成する場合などに、背景色の上書きを防止するのに利用することができる。
【００２０】
【発明の実施の形態】
以下、図面を参照して、この発明の好ましい実施の形態について説明する。
図１は、この発明の一実施例に係る画像の２次元空間変換装置の原理を説明するための図である。
まず、原画像のコーナ位置を２次元空間上の任意の位置に移動させることにより、原画像を変形させるバイリニア変換（Bilinear Transform）処理に、この発明を利用した場合について説明する。いま、図１（ａ）に示すようなＡＢＣＤをコーナとする原画像１を、同図（ｂ）に示すように、Ａ′Ｂ′Ｃ′Ｄ′をコーナとするように変形させて変換画像２を得る場合、変換に際して与えられる情報は、変換後の各コーナＡ′Ｂ′Ｃ′Ｄ′の座標値（ｘa，ｙa），（ｘb，ｙb），（ｘc，ｙc），（ｘd，ｙd）である。これら座標値に基づいて、図１（ｃ）から（ｄ）のように、第１軸（水平ｈ軸）方向への変換処理（第１パス）と、図１（ｄ）から（ｅ）のように、第２軸（垂直ｖ軸）方向への変換処理（第２パス）とが分割されて順次実行される。
【００２１】
（１）第１パス
第１パスでは、まずＡＢＣＤをコーナとする原画像１をｈ軸方向にのみ変形させる。いま、原画像１の水平方向長さをｌH、垂直方向長さをｌVとすると、水平方向の各ラインにおいて、原画像１に対応する画素の描画が開始される位置を示すオフセット値offset_h(v)と原画像１の水平方向の幅と中間画像３の水平方向の幅との比である縮小率r_h(v)とは、下記数６のように表すことができる。
【００２２】
【数６】
0003644146.tif 000007
【００２３】
なお、数６においてｌh(v)，ｌt，ｌbは、それぞれｖ、上端、下端における中間画像３の幅である。
このようなオフセット値offset_h(v)及び縮小率r_h(v)を各ｖについて求め、表１のようにテーブル化しておく。
【００２４】
【表１】
0003644146.tif 000008
【００２５】
画像の変換時には、読み出しアドレスＲＡと書き込みアドレスＷＡとを図２のような処理によってシーケンシャルに発生させることにより、第１パスの変換が実行される。即ち、垂直アドレスｖを０からｌV-1まで増加させながら（Ｓ１，Ｓ１０，Ｓ１１）、各垂直アドレスｖについて、水平アドレスｈを０からｌH-1まで増加させ（Ｓ２，Ｓ４，Ｓ８，Ｓ９）、ｈがオフセット値offset_h(v)に達するまで（Ｓ５）、原画像を記憶した第１のメモリの読み出しアドレス［ｈ−offset_h(v)，ｖ］の画素データ（原画像１の範囲から横にはみ出した部分の画像データ）を読み出し、中間画像が格納される第２のメモリの書き込みアドレス［ｈ，ｖ］に読み出したデータを書き込む（Ｓ３）。この様子を示したのが図３である。水平アドレスｈがオフセット値offset_h(v)に達したら（Ｓ５）、水平アドレスｈが１増加する毎に縮小率r_h(v)をｈｘに累積加算し（Ｓ６，Ｓ８）、読み出しアドレスを［ｈｘ，ｖ］とする（Ｓ７）。これにより、図３（ａ）に示すように、縮小率r_h(v)に応じた間隔で原画像が読み出され、同図（ｂ）に示すように、水平方向に縮小された中間画像が第２のメモリに格納されることになる。このように、第１パスでは、減算処理と累積加算処理のみで変換処理が実行される。
【００２６】
（２）第２パス
第２パスは、基本的には第１パスの水平・垂直方向を入れ替えたもので、第１パスで得られた中間画像３をｖ軸方向にのみ変形させる。但し、第２パスでは、第１パスの変換の補正をして変換パラメータを算出する必要がある。図１（ｅ）に示すように、変換後の２次元空間の水平方向の両端の辺に変換後の画像のＡ′Ｂ′線の交点のｙ座標ｙa′，ｙb′と、Ｃ′Ｄ′線の交点のｙ座標ｙc′，ｙd′とを下記数７のように求める。
【００２７】
【数７】
0003644146.tif 000009
【００２８】
ここで、ｌl′＝ｙd′−ｙa′，ｌr′＝ｙc′−ｙb′とすると、垂直方向の各ラインのオフセット値offset_v(h)と縮小率r_v(h)は、下記数８のように求められる。
【００２９】
【数８】
0003644146.tif 000010
【００３０】
このようにしてオフセット値offset_v(h)及び縮小率r_v(h)を各ｈについて求め、これについても、下記表２のようにテーブル化しておく。
また、変換処理についても、図４（ａ），（ｂ）に示すように、水平方向と垂直方向とを入れ替え、上記と同様に読み出しアドレス及び書き込みアドレスをシーケンシャルに発生させるだけでよい。
【００３１】
【表２】
0003644146.tif 000011
【００３２】
図５は、以上の２パス変換方式を実現するための２次元空間変換装置の具体例を示すブロック図である。
この変換装置は、原画像、中間画像及び変換画像をそれぞれ格納する縦続接続されたダブルバッファ構成の画像メモリ１１，１２及び出力バッファ１３を備えて構成されている。画像メモリ１１の書き込みアドレスＷＡ０及び出力バッファの読み出しアドレスＲＡ３は、同期アドレス発生器１４により与えられる。また、画像メモリ１１の読み出しアドレスＲＡ１、画像メモリ１２の書き込みアドレスＷＡ１、画像メモリ１２の読み出しアドレスＲＡ２及び出力バッファの書き込みアドレスＷＡ２は、それぞれアドレス発生器１５、シーケンシャルスキャン発生器１６、アドレス発生器１７及びシーケンシャルスキャン発生器１８により与えられる。ＣＰＵ１９は、変換パラメータを演算し、映像信号の垂直同期パルスによりインタラプトされて変換パラメータをバス２０を介してＲＡＭに変換テーブル２１，２２として格納する。
【００３３】
原画像の映像信号がVideo In端子から入力されると、この映像信号は、書き込みアドレスＷＡ０に従って画像メモリ１１の一方のバンクに通常の走査順序でリアルタイムで書き込まれる。このとき画像メモリ１１の他方のバンクには、前フィールド（又はフレーム）の画像が記憶されている。この原画像は、第１パス用のアドレス発生器１５の読み出しアドレスＲＡ１に従って読み出され、シーケンシャルスキャン発生器１６からの書き込みアドレスＷＡ１に従って画像メモリ１２の一方のバンクに通常の走査順序でシーケンシャルに書き込まれる。同時に画像メモリ１２の他方のバンクに格納されている前フィールド（又はフレーム）の第１パス終了後の中間画像が、第２パス用のアドレス発生器１７の読み出しアドレスＲＡ２に従って読み出され、シーケンシャルスキャン発生器１８からの書き込みアドレスＷＡ２に従って出力バッファ１３に書き込まれる。出力バッファ１３もダブルバッファ構成となっており、出力側バンクから変換画像がリアルタイムで連続的に読み出され、Video Out端子から出力される。画像メモリ１１，１２及び出力バッファ１３の各バンクは、このようにフィールド又はフレーム毎に切り換えられ、リアルタイムで同様の処理が繰り返される。
【００３４】
アドレス発生器１５，１７は、それぞれ変換テーブル２１，２２と接続されており、これら変換テーブル２１，２２に格納された変換パラメータに基づいて読み出しアドレスＲＡ１，ＲＡ２を生成する。但し、この実施例では、読み出しアドレスＲＡ１，ＲＡ２の生成を容易にするため、前述したオフセット値offset_h(v)，offset_v(h)にそれぞれ縮小率r_h(v)，r_v(h)を掛けた値をオフセット値offset'_h(v)，offset'_v(h)として用いている。従って、表１及び表２の変換パラメータに対して、変換テーブル２１，２２に格納される変換パラメータは、表３のようになる。
【００３５】
【表３】
0003644146.tif 000012
【００３６】
これらの変換パラメータは、そのフィールド（又はフレーム）の処理に先だって映像垂直ブランキング期間にＣＰＵ１９から書き込まれる。ＣＰＵ１９は、現画面の変換中に、例えば次の画面の変換後の各コーナＡ′Ｂ′Ｃ′Ｄ′の座標値（ｘa，ｙa），（ｘb，ｙb），（ｘc，ｙc），（ｘd，ｙd）に基づいて、次画面のパラメータ計算を実行する。
【００３７】
図６は、第１パス用のアドレス発生器１５及びシーケンシャルスキャン発生器１６の構成例を示す図である。
シーケンシャルスキャン発生器１６は、基準クロック信号Clockをカウントして水平書き込みアドレスＷＡ１_hを発生させる水平カウンタ３１と、水平同期パルスH-pulseをカウントして垂直書き込みアドレスＷＡ１_vを発生させる垂直カウンタ３２とを備えて構成されている。水平カウンタ３１及び垂直カウンタ３２は、それぞれ水平同期パルスH-pulse及び垂直同期パルスV-pulseによってリセットされる。また、シーケンシャルスキャン発生器１６は、垂直書き込みアドレスＷＡ１_vを変換テーブル２１のアドレスｖとして出力する。変換テーブル２１からは、アドレスｖに対応したオフセット値offset'_h(v)と縮小率r_h(v)とがアドレス発生器１５に供給される。
【００３８】
アドレス発生器１５では、変換テーブル２１から読み出されたオフセット値offset'_h(v)が減算器３３の負入力に供給される。また、ラッチ回路３４と加算器３５とは累積加算器を構成し、水平同期パルスH-pulseによってリセットされたのち、変換テーブル２１から読み出された縮小率r_h(v)を基準クロックに従って累積加算する。その累積加算値が減算器３３の正入力に供給される。減算器３３は、縮小率r_h(v)の累積加算値からオフセット値offset'_h(v)を減算した値を水平読み出しアドレスＲＡ１_hとして出力する。但し、減算器３３の出力は、図３に示したように、負の値から原画像１を超えるアドレスまでを出力するので、何らかのリミット処理を行う必要がある。
【００３９】
一方、図７に示すように、上記の変換処理により原画像が縮小された場合、出力画像に原画像１の範囲以外の領域を示すボーダエリアが現れる。映像編集装置等で映像ミキシングを行う場合、ボーダエリアに特定のエリア色を埋め込み、このエリア色を合成のためのキー信号として利用することが頻繁に行われる。このキー信号としては、通常、クロマキーが用いられる。そこで、本装置の変換においても、ボーダエリアを検出してクロマキーをボーダに埋め込むことができれば、映像ミキシングを行う上で極めて便利である。この装置では、減算器３３の出力が、例えば“０”未満及び“ｌH”以上であることでボーダエリアを容易に検出することができる。そこで、図８に示すように、画像メモリ１１の特定のアドレスＡＭＡで特定される記憶領域に予めエリア色データ（クロマ色データ）を記録しておき、ボーダエリアを検出したときの書き込みアドレスＷＡ１をエリア色データが記憶されている画像メモリ１１のアドレスに切り換えることで、図７に示すようにボーダエリアにエリア色データを埋め込むことができる。
【００４０】
図６のアドレス発生器１５では、減算器３３の出力がボーダエリア検出器３６に入力され、ここで０〜ｌH−１の範囲内であるかどうかが判定される。上記の範囲内と判定された場合には、スイッチ３７，３８をそれぞれ減算器３３の出力及び垂直カウンタ３２の出力に接続し、これらをそれぞれ水平読み出しアドレスＲＡ１_h及び垂直読み出しアドレスＲＡ１_vとして出力する。減算器３３の出力が０〜ｌH−１の範囲外である場合には、スイッチ３７，３８をエリア色メモリアドレス記憶部３９の出力に接続し、予めボーダエリアに埋め込むエリア色が記憶されている画像メモリ１１のアドレスＡＭＡを読み出しアドレスＲＡ１_h，ＲＡ１_vとして出力する。
このように、画像メモリ１１のアドレスを切り換える方式とすれば、画像データのパスに直接クロマキーの切換回路を付加する方式に比べ、本装置をＬＳＩ化した場合の画像データの入出力ピン数の増加を防止することができ、ＬＳＩパッケージのコストを低減することができる。
【００４１】
以上のアドレス変換処理により、図３（ａ）に示すように、画像メモリ１１の原画像１の記憶領域に読み出しアドレスが達するまでは、エリア色データが埋め込まれ、原画像１の記憶領域に読み出しアドレスが達した後は、縮小率r_h(v)の間隔で画像データが読み出され、画像メモリ１２に書き込まれる際は、標準間隔で書き込まれるので、図３（ｂ）に示すように、原画像１をオフセット値offset_h(v)だけずれた位置から水平方向に縮小率r_h(v)で規定される割合だけ縮小した中間画像３が得られる。
【００４２】
第２パス用のアドレス発生器１７及びシーケンシャルスキャン発生器１８も、基本的にはこれと同様の構成となっているが、第２パスでは垂直方向のスキャンを行うため、図９に示すように、シーケンシャルスキャン発生器１８は、基準クロックClockを垂直カウンタ４１に入力して垂直書き込みアドレスＷＡ２_vを発生させ、垂直カウンタ４１のキャリー信号Carryを水平カウンタ４２に入力して水平書き込みアドレスＷＡ２_hを発生させるようにしている。そして、アドレス発生器１７は、加算器４４及びラッチ回路４５からなる累積加算器で縮小率r_v(h)を累積加算した値から、オフセット値offset'_v(h)を減算器４３によって減算し、その出力に基づいてボーダエリア検出器４６でボーダエリアを検出する。その検出結果に応じてスイッチ４７，４８を切り換え、ボーダエリアではエリア色メモリアドレス記憶部４９の出力を読み出しアドレスＲＡ２_h，ＲＡ２_vとして出力し、ボーダエリア外では減算器４３の出力を読み出しアドレスＲＡ２_h，ＲＡ２_vとして出力する。
これにより、図４に示すように、中間画像３から垂直方向にオフセット及び縮小された変換画像２を得ることができる。
【００４３】
なお、上記実施例では、オフセット値offset_h(v)，offset_v(h)にそれぞれr_h(v)，r_v(h)を掛けた値をオフセット値offset'_h(v)，offset'_v(h)として用い、スキャンの最初から縮小率の累積加算値を求め、この累積加算値からオフセット値を減算するようにしたが、表１又は表２のオフセット値offset_h(v)，offset_v(h)をそのまま使用し、書き込みアドレスＷＡ１_h，ＷＡ２_vがオフセット値offset_h(v)，offset_v(h)にそれぞれ達するまで縮小率r_h(v)，r_v(h)の累積加算及びその出力を行わず、オフセット値に達したらスイッチを切り換えて縮小率r_h(v)，r_v(h)の累積加算を開始するように構成することもできる。この場合のアドレス発生器１５の構成例を図１０に示す。
【００４４】
アドレス発生器１５は、表１のような変換パラメータが格納された変換テーブル２１から読み出されたオフセット値offset_h(v)を減算器３３に供給し、水平書き込みアドレスＷＡ１_hから減算して水平読み出しアドレスＲＡ１_hを生成する。また、垂直読み出しアドレスＲＡ１_vとして垂直書き込みアドレスＷＡ１_vをそのまま出力する。これにより、図３（ａ）に示すように、画像メモリ１１に格納された原画像１の左側にはみ出した部分から画像データの読み出しが実行される。このとき、エリア色メモリアドレスが読み出しアドレスＲＡ１_h，ＲＡ１_vとして出力されるのは上記と同様である。水平読み出しアドレスＲＡ１_hが原画像１の部分に差し掛かると、減算器３３の出力は負の値から正の値に切り替わる。アドレス発生器１５は、減算器３３の出力のサインビットSignによりスイッチ３０を切り換える。同時にＡＮＤゲート４０がアクティブになり、基準クロックClockがラッチ回路３５に入力される。以後、累積加算値が水平読み出しアドレスＲＡ１_hとして出力されることになる。
【００４５】
以上の説明では、第１パスを水平方向の変換、第２パスを垂直方向の変換としたが、第１パスを垂直方向の変換、第２パスを水平方向の変換としても良い。この場合には、第１パス用のアドレス発生器１５、シーケンシャルスキャン発生器１６及び変換テーブル２１と、第２パス用のアドレス変換器１７、シーケンシャルスキャン発生器１８及び変換テーブル２２とを入れ替えればよい。このような変換処理を行うと、最終出力が通常の映像信号と同様に水平方向走査となるので、極めて都合が良い。
また、出力バッファ１３は、例えば画像メモリ１２にＤ−ＲＡＭ等を使用してロウアドレス設定などで画像メモリ１２からの読み出しがリアルタイムに行えない場合等に特に必要となるもので、画像メモリ１２からの読み出しがリアルタイムに行える場合には不要である。
【００４６】
次に、擬似的な遠近効果（Perspective）を付加する方法について説明する。ここでは、バイリニア変換処理の途中で読み出しアドレスＲＡ１_h，ＲＡ２_vを変換テーブルによって変換することにより、擬似的な遠近効果を付与する。
図１１はこの実施例に係る２次元空間変換装置の構成例を示すブロック図であり、図５と共通する部分には同一符号を付してある。この実施例では、アドレス発生器１５から出力される読み出しアドレスＲＡ１を変換テーブル５１を通して読み出しアドレスＲＡ１′に変換し、画像メモリ１１に与えるようにしている。第１パスにのみ変換テーブル５１を挿入しているのは、第１パスでｈ，ｖ両方の遠近効果をつけているので、第２パスでは必要ないからである。
【００４７】
変換テーブル５１のパラメータの算出方法には、種々のアルゴリズムが考えられる。例えば、
【００４８】
【数９】
0003644146.tif 000013
【００４９】
として、数９を積分すると、
【００５０】
【数１０】
0003644146.tif 000014
【００５１】
となる。そこで、Ａ又はＢに適当な値を与えてｌ（ｖ）テーブルの各パラメータを求めればよい。変換テーブル５１も、変換テーブル２１，２２と同様にＣＰＵ１９が次の変換に先だって演算し、垂直ブランキング期間にＲＡＭ等のメモリに書き込むことにより作成される。これにより得られる効果の一例を図１２に示す。
この他、table_h，table_vに適当なパラメータを設定して、画像メモリ１１からの読み出し位置をずらすことにより、マルチ画面等の効果を得ることもできる。
【００５２】
上記実施例では、変換テーブル２１，２２にバイリニア変換のための変換パラメータを格納したが、オフセット値及び縮小率を特殊な固定的な値とすることにより、例えば図１３（ａ）に示すようなウェーブ、同図（ｂ）に示すようなピンチ等のバイリニア変換以外の特殊効果を持たせることもできる。
【００５３】
また、図１４に示すように、変換画像を読み出す際の読み出しアドレスＲＡ３を回転用アドレス発生器５５に供給し、この回転用アドレス発生器５５で所定角度回転させてアドレスＲＡ３′を生成し、このアドレスＲＡ３′を出力バッファ１３の読み出しアドレスとして供給することにより、変換画像を更に回転させた画像を出力することもできる。この場合にも上記と同様、ＣＰＵ１９により演算された変換パラメータをテーブル化しておくことにより、リアルタイム処理が実現できる。
【００５４】
ところで、上述した装置を使用してリアルタイムの特殊効果を得るためには、各変換テーブル２１，２２，４１にセットする変換パラメータをＣＰＵ１９がフィールド毎又はフレーム毎に算出する必要がある。しかし、変換パラメータは１画面の各行及び各列毎に持てばよいので、それほど多くの演算量は必要としない。例えば６４０×２４０画素のフィールド処理の場合、各変換パラメータの数は下記表４のようになる。
【００５５】
【表４】
0003644146.tif 000015
【００５６】
従って、2640個の変換パラメータを１フィールド期間である15msec以内に計算すればよい。これは１変換パラメータ当たりの演算時間が５〜６μsecであることを意味し、数十MHzのＣＰＵでは100サイクル程度を１変換パラメータの演算に割り当てればよいので、汎用の安価なＣＰＵでも、十分にリアルタイム処理が可能な演算量であることが分かる。
【００５７】
変換テーブル２１，２２，４１用のメモリは、専用のＲＡＭを用いても良いが、画像メモリ１１，１２の空き領域にマッピングしても良い。即ち、映像機器で扱う画像のサイズは、通常６４０×２４０（４８０）又は７２０×４８３等であるが、Ｄ−ＲＡＭ、Ｖ−ＲＡＭ等の汎用のメモリデバイスは４Ｍ、１６Ｍバイト等、２のべき乗の容量を持ち、未使用空き領域を生じる。この未使用空き領域を利用すればよい。
画像メモリにマッピングした場合、画像メモリからの画像データの読み出し、書き込みに加え、変換パラメータの読み出し、書き込みが追加されるので、メモリアクセスに関してオーバーヘッドが生じるが、これは殆ど無視できる。何故なら、画像メモリはダブルバッファ構成であるため、変換パラメータの書き込みは、非リアルタイム期間でよく、また本装置で使用するオフセット値や縮小率等は、各行又は各列に適用されるので、１行に１回又は１列に１回読み出せばよいからである。
【００５８】
次に、輝度データＹと色データＵ，Ｖとが異なる周波数でサンプリングされた画像の処理について説明する。
例えばシステムの低価格化のために、輝度データＹに対して色データＵ，Ｖを水平方向に半減させたＹ．ＵＶ．４：２：２フォーマットの画像データを対象にした場合、図１５に示すように、Ｙ用画像メモリ１１ａに格納された輝度データＹ0，Ｙ1，Ｙ3，…に対し、ＵＶ用画像メモリ１１ｂに格納された色データＶ0，Ｕ0，Ｖ1，Ｕ1，…は、水平方向の画素密度が１／２となる。また、ＵＶ用画像メモリ１１ｂの偶数アドレスにＶデータが、また奇数アドレスにＵデータが格納される。従って、このように記録された画像データを変換パラメータに応じたアドレスで読み出し、画像メモリ１２に書き込む際に、画像メモリ１１の読み出しアドレスがどのように変化しても、画像メモリ１２には上記のフォーマットに従って、偶数アドレスにＶデータが、また奇数アドレスにＵデータが書き込まれなければならない。
【００５９】
図１６は、この点を考慮して改良を加えた２次元空間変換装置の要部だけを示すブロック図である。
この装置では、第１パスのアドレス発生器１５から出力される画像メモリ１１の読み出しアドレスＲＡ１をＹ用画像メモリ１１ａの読み出しアドレスＲＡ１−Ｙとしてそのまま供給する。また、読み出しアドレスＲＡ１をＬＳＢを除いてラッチ回路６１に１クロックおきにラッチし、このラッチ出力にシーケンシャルスキャン発生器１６からの書き込みアドレスＷＡ１のＬＳＢを付加してＵＶ用画像メモリ１１ｂの読み出しアドレスＲＡ１−ＵＶとする。これにより、読み出しアドレスＲＡ１がどのように変化しても、ＵＶ用画像メモリ１１ｂの読み出しアドレスＲＡ１−ＵＶは、必ず偶数、奇数の順となり、ＵＶ用画像メモリ１２ｂの書き込みアドレスＷＡ１−ＵＶもこれと同一の順序となる。
【００６０】
次に、上述した２次元空間変換装置をアニメーション表示装置に適用したシステムについて説明する。
２次元アニメーションを制作する手法としては、個々のキャラクタやオブジェクトをスプライトとして登録する方法と、コンピュータグラフィックスによる方法とが一般的である。
スプライトによる方法は、一連の動作を１コマずつスプライトとして記録し、連続してスプライトを変更していくことによりアニメーション画像を得るか、又は、オブジェクトを各パーツに分割してこれらパーツを各々スプライトとして登録し、それらを画面上で組み合わせることによりアニメーション画像を得るものである。
しかし、これら従来の方法は、アニメーションの動作が固定されてしまったり、動きが限定される等の欠点がある。また、より多くの表現を得ようとすると、膨大な数のスプライトを蓄積する必要があり、そのための大容量のメモリが必要となるという問題もあった。
【００６１】
一方、コンピュータグラフィックスによる方法は、コンピュータによりオブジェクトの動きを計算し、１コマずつオブジェクトの形や表示位置等を計算して表示する方法であるため、リアルタイム処理を実現するためには、高いコンピュータの演算能力を必要とし、高価なシステムになってしまうという問題がある。
そこで、この発明の２次元空間変換装置を利用することにより、システムのコストを低減すると共にリアルタイムでより多くの表現が可能なアニメーション画像を作成することができる。
【００６２】
図１７は、このようなアニメーション表示装置の構成を示すブロック図である。
パーツ原画像メモリ８１は、前述した画像メモリ１１に対応するもので、アニメートの対象とするオブジェクトの各パーツを原画像として記憶するものである。合成画像メモリ８２は、各パーツ原画像にこの発明に基づく２次元変換処理を加えて合成し、合成画像を出力するするためのメモリで、前述した画像メモリ１２に対応するものである。また、この合成画像メモリ８２は、画像メモリ１２と同様ダブルバッファ構成となっており、切換器９０でフィールド（又はフレーム）毎にバンクを切り換えることにより、リアルタイムでの画像出力を可能にしている。アドレス変換部８３は、前述したアドレス発生器１５，１７、シーケンシャルスキャン発生器１６，１８、同期アドレス発生器１４、ボーダエリアの検出及び切換手段等の機能を含むもので、変換テーブル８４から読み出された変換パラメータに基づいて、原画像変換及び合成に必要な第１パスの読み出しアドレスＲＡ１、書き込みアドレスＷＡ１及び第２パスの読み出しアドレスＲＡ２を出力する。背景色検出器８４は、画像データから背景色を検出して画像合成時の背景色の重ね書きを防止する。
【００６３】
ＣＰＵ８５は、マウス、ジョイスティック等の入力装置８６からバス８７を介して各画面毎のオブジェクトの動作パラメータをリアルタイムで計算し、動作パラメータメモリ８８に格納する。なお、動作パラメータは、予め与えられた値として動作パラメータメモリ８８に格納されていても良い。ＣＰＵ８５は、また動作パラメータに基づいて上述したオフセット、縮小率等の変換パラメータを各画面毎に演算し、変換テーブル８９に格納する。
【００６４】
図１８は、このアニメーション表示装置の動作を説明するための図である。
パーツ原画像メモリ８１には、例えば同図（ａ）に示すようなオブジェクトの各パーツ原画像９１，９２，…，９５が格納される。パーツ原画像９１を変形パラメータに従って前述したバイリニア変換すると、同図（ｂ）のように、パーツ変換画像９１′が得られる。このとき、変換パラメータには、パーツ原画像９１の記憶領域に対応したオフセット値を与えるようにする。また、前述のようにボーダエリアには特定の背景色を埋め込んでおく。同様の変換を他のパーツについても行いこれらを合成する。合成に際しては、各パーツが上書きされるようにするため、優先順位の低いパーツから書き込みを開始し、優先順位の最も高いパーツが最も手前に表示されるようにする。もし優先順位の高いパーツから書き込む場合には、既にパーツが書き込まれている画素の書き込みを禁止する処理が必要になり、処理はやや複雑になる。また、画像合成時に、パーツ原画像メモリ８１から読み出された画像データが予め定めた背景色であるかどうかを背景色検出器８４で検出し、背景色である場合には、合成画像メモリ８２に対する書き込みイネーブル信号Ｗ−ＥＮを非アクティプにし、背景色が上書きされるのを防止する。このような合成処理を同図（ｃ）のように全てのパーツについて実行すると、同図（ｄ）に示すような合成画像が得られる。なお、この装置では、合成画像メモリ８２から読み出した画像データを切換器９０を介してそのまま出力する構成であるため、第１パスを垂直方向の変換処理、第２パスを水平方向の変換処理とすると、最終段の出力が通常の画像スキャンと一致するので都合が良い。
【００６５】
この装置によれば、アニメートしたい動作から動作パラメータを決定し、各パーツの１コマ毎の変換パラメータを算出し、１コマ毎に上記の合成処理を実行することにより、極めて簡単なシステム構成で複雑なアニメーションをリアルタイムで表示可能になる。またパーツ原画像は、必要に応じて書き換えることもでき、これにより、更に多種類のオブジェクトの表示が可能になる。
また、このような機能を利用して、例えば図９（ａ）に示すようなパーツ原画像を変形させて同図（ｂ）に示すようなメッシュワーピング効果を得ることも容易である。
【００６６】
【発明の効果】
以上述べたように、この発明によれば、極めて簡単な構成で様々な特殊効果画像を得ることができ、廉価なリアルタイム映像特殊効果装置等に有効な画像の２次元空間変換方法及び装置を実現できるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の実施例の原理を説明するための図である。
【図２】  同実施例の変換手順を示すフローチャートである。
【図３】  同実施例の第１パスの変換処理を説明するための図である。
【図４】  同実施例の第２パスの変換処理を説明するための図である。
【図５】  この発明の一実施例に係る２次元空間変換装置の構成を示すブロック図である。
【図６】  同装置における第１パス用アドレス発生器及びシーケンシャルスキャン発生器の詳細ブロック図である。
【図７】  同アドレス発生器のボーダエリア処理を説明するための図である。
【図８】  同ボーダエリア処理のためのエリア色データの記憶状態を説明するための図である。
【図９】  同装置における第２パス用アドレス発生器及びシーケンシャルスキャン発生器の詳細ブロック図である。
【図１０】  アドレス発生器及びシーケンシャルスキャン発生器の他の構成例を示すブロック図である。
【図１１】  この発明の他の実施例に係る２次元空間変換装置のブロック図である。
【図１２】  同装置により得られる遠近効果を説明するための図である。
【図１３】  この発明が適用可能な他の特殊効果画像を示す図である。
【図１４】  この発明の更に他の実施例に係る２次元空間変換装置のブロック図である。
【図１５】  この発明をＹ．ＵＶ．４：２：２の画像データに適用した実施例を説明するための図である。
【図１６】  同実施例に係る２次元空間変換装置の要部を示すブロック図である。
【図１７】  この発明をアニメーション表示装置に適用した実施例を示すブロック図である。
【図１８】  同実施例の処理を説明するための図である。
【図１９】  同実施例の他の処理を説明するための図である。
【符号の説明】
１…原画像、２…変換画像、３…中間画像、１１，１２…画像メモリ、１５，１７…アドレス発生器、１６，１８…シーケンシャルスキャン発生器、１９，８５…ＣＰＵ、２１，２２，５１，８９…変換テーブル、７１…ボーダエリア検出器、７２…エリア色メモリアドレス記憶部、８１…パーツ原画像メモリ、８２…合成画像メモリ、８３…アドレス変換部、８４…背景色検出器、８６…入力装置、８８…動作パラメータメモリ。
【図１】
0003644146.tif 000016
【図２】
0003644146.tif 000017
【図３】
0003644146.tif 000018
【図４】
0003644146.tif 000019
【図５】
0003644146.tif 000020
【図６】
0003644146.tif 000021
【図７】
0003644146.tif 000022
【図８】
0003644146.tif 000023
【図９】
0003644146.tif 000024
【図１０】
0003644146.tif 000025
【図１１】
0003644146.tif 000026
【図１２】
0003644146.tif 000027
【図１３】
0003644146.tif 000028
【図１４】
0003644146.tif 000029
【図１５】
0003644146.tif 000030
【図１６】
0003644146.tif 000031
【図１７】
0003644146.tif 000032
【図１８】
0003644146.tif 000033
【図１９】
0003644146.tif 000034