(57)【要約】【課題】二次ベジェ曲線におけるアンカーポイント間の補間精度を向上させる。【解決手段】曲線が通過するアンカーポイントP0〜P3を設定する。アンカーポイントP0〜P2の座標値からコントロールポイントL1の座標値を算出し、アンカーポイントP1〜P3の座標値からコントロールポイントL2の座標値を算出する。アンカーポイントP0,P2とコントロールポイントL1の座標値から、誤差が加算/減算された第1の二次ベジェ曲線C1,C2を算出する。また、アンカーポイントP1,P3とコントロールポイントL2の座標値から、誤差が加算/減算された二次ベジェ曲線C3,C4を算出する。そして、アンカーポイントP1からP2までの区間について、二次ベジェ曲線C2,C3の平均値として補間座標値を算出する。【選択図】  図3
2016111616.tif 000002
【特許請求の範囲】
【請求項１】
曲線を算出する情報処理装置であって、
曲線が順次通過する第1乃至第4のアンカーポイントを設定する設定手段と、
前記第1乃至第3のアンカーポイントの座標値から第1のコントロールポイントの座標値を算出する第1の座標値算出手段と、
前記第2乃至第4のアンカーポイントの座標値から第2のコントロールポイントの座標値を算出する第2の座標値算出手段と、
前記第1および第3のアンカーポイントと前記第1のコントロールポイントの座標値から、第1の二次ベジェ曲線を算出する第1の曲線算出手段と、
前記第2および第4のアンカーポイントと前記第2のコントロールポイントの座標値から、第2の二次ベジェ曲線を算出する第2の曲線算出手段と、
前記第2のアンカーポイントと前記第3のアンカーポイントを結ぶ曲線を示す補間座標値を、前記第1および第2の二次ベジェ曲線から算出する補間手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記補間手段は、前記第1および第2の二次ベジェ曲線の平均を前記補間座標値として算出することを特徴とする請求項1に記載の情報処理装置。
【請求項３】
前記第1および第2の算出手段は、連続する3つのアンカーポイントのうち、先端および後端となるアンカーポイントを結ぶ線分の中点と、前記曲線の中点となるアンカーポイントを中心として点対称である位置を、前記コントロールポイントとして算出することを特徴とする請求項1または2に記載の情報処理装置。
【請求項４】
前記第1乃至第4のアンカーポイントは、前記曲線の所定間隔において設定された、該曲線の極大値および極小値の組の数の倍以上のポイントのうちの、連続して隣り合う4つであることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項５】
前記第1乃至第4のアンカーポイントは、平面を構成する格子群を曲面上に変形した格子群における格子点であることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項６】
曲線を算出する曲線算出方法であって、
曲線が順次通過する第1乃至第4のアンカーポイントを設定する設定ステップと、
前記第1乃至第3のアンカーポイントの座標値から第1のコントロールポイントの座標値を算出する第1の算出ステップと、
前記第2乃至第4のアンカーポイントの座標値から第2のコントロールポイントの座標値を算出する第2の算出ステップと、
前記第1および第3のアンカーポイントと前記第1のコントロールポイントの座標値から、第1の二次ベジェ曲線を算出する第1の曲線算出ステップと、
前記第2および第4のアンカーポイントと前記第2のコントロールポイントの座標値から、第2の二次ベジェ曲線を算出する第2の曲線算出ステップと、
前記第2のアンカーポイントと前記第3のアンカーポイントを結ぶ曲線を示す補間座標値を、前記第1および第2の二次ベジェ曲線から算出する補間ステップと、
を有することを特徴とする曲線算出方法。
【請求項７】
入力画像を変形した出力画像を表示する画像表示装置であって、
表示面に関する補正情報を入力する入力手段と、
前記出力画像の面を所定の間隔でサンプリングした格子点の座標値を、前記補正情報に基づいて変換する第1の算出手段と、
前記変換された格子点の間にある点の座標値を算出する第2の算出手段と、
前記第1および第2の算出手段で算出された座標値に基づいて、前記入力画像に幾何学変形を施して出力画像を生成する変形手段と、を有し、
前記第2の算出手段は、請求項1乃至5のいずれか1項に記載の情報処理装置により算出された二次ベジェ曲線を用いて座標値を算出することを特徴とする画像表示装置。
【請求項８】
前記第2の算出手段は、前記格子点を前記アンカーポイントとして、前記補間座標値を算出することを特徴とする請求項7に記載の画像表示装置。
【請求項９】
前記補正情報は、前記表示面における曲面の情報であることを特徴とする請求項7または8に記載の画像表示装置。
【請求項１０】
前記入力手段は、ユーザが指示する補正情報を入力することを特徴とする請求項7乃至9のいずれか1項に記載の画像表示装置。
【請求項１１】
コンピュータ装置で実行されることにより、該コンピュータ装置を請求項1乃至5のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１２】
請求項11に記載のプログラムを記憶したことを特徴とするコンピュータが読み出し可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベジェ曲線を算出する技術に関する。
【背景技術】
【０００２】
入力画像を曲面に投影した際の画面の歪みを補正する曲面補正において、画面を分割した格子点に変形座標を記憶し、その変形座標を格子点間で補完して画像変形する手法が知られている(特許文献1参照)。この場合、格子点間隔が狭いほど、滑らかな画像変形が行える。
【０００３】
しかしながら、格子点間隔が狭いほど、その変形情報としてのデータ量が多くなるため、格子点の変形座標データを格子点に設定するためのデータ転送に時間がかかり、変形操作をスムーズに行えない。そのため、格子点を複数格子毎に何点かサンプリングし、該サンプリングした格子点のデータを転送し、サンプリング格子点間の曲線を示すデータについては補間処理を行って、サンプリング格子点間の格子点に設定する手法が考えられる。これにより、データ転送時間を減らし、よりスムーズな変形操作を実現することができる。
【０００４】
このような曲線の補間処理を行う一手法として、演算量の少ないベジェ関数によるベジェ曲線が使用される。一般にベジェ曲線は、アンカーポイントである始点と終点の間に、曲線のカーブを調整するコントロールポイントを指示点として設定する必要がある。さらに、コントロールポイントは補間される曲線上にはないため、始点と終点の間の求めたい曲線を算出しづらい。
【０００５】
これに対し、以下のような二次ベジェ曲線の算出方法が知られている。まず、二次ベジェ曲線の始点、中点、終点となる3つのアンカーポイントがある状態で、始点と終点のアンカーポイントを結ぶ線分の中点を求める。次に、求めた中点と、曲線の中点のアンカーポイントを中心として点対称の位置をコントロールポイントとして、3つのアンカーポイントを通る曲線を算出する手法がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2001-69434号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の二次ベジェ曲線におけるアンカーポイント間の補間処理を曲面変形(円柱、球体、角柱)に適応させると、演算精度が良くないという課題があった。例えば、上記補間処理により算出された補間曲面座標値を理想曲面座標値と比較すると、視認限界を超える誤差(0.1画素以上)が多くのパターンにおいて発生することがシミュレーションにより分かっている。
【０００８】
本発明は上記課題を解決するためになされたものであり、二次ベジェ曲線におけるアンカーポイント間の補間精度を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を備える。すなわち、曲線を算出する情報処理装置であって、曲線が順次通過する第1乃至第4のアンカーポイントを設定する設定手段と、前記第1乃至第3のアンカーポイントの座標値から第1のコントロールポイントの座標値を算出する第1の座標値算出手段と、前記第2乃至第4のアンカーポイントの座標値から第2のコントロールポイントの座標値を算出する第2の座標値算出手段と、前記第1および第3のアンカーポイントと前記第1のコントロールポイントの座標値から、第1の二次ベジェ曲線を算出する第1の曲線算出手段と、前記第2および第4のアンカーポイントと前記第2のコントロールポイントの座標値から、第2の二次ベジェ曲線を算出する第2の曲線算出手段と、前記第2のアンカーポイントと前記第3のアンカーポイントを結ぶ曲線を示す補間座標値を、前記第1および第2の二次ベジェ曲線から算出する補間手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、二次ベジェ曲線におけるアンカーポイント間の補間精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態におけるベジェ曲線算出を行う機能構成を示すブロック図、
【図２】本実施形態における画像表示装置の構成を示すブロック図、
【図３】本実施形態におけるベジェ曲線算出の具体例を示す図、
【図４】本実施形態におけるベジェ曲線算出処理を示すフローチャート、である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
＜第1実施形態＞
図1は、本実施形態の情報処理装置において、曲線補間の際にベジェ曲線算出を行うための機能構成を示すブロック図である。以下、この構成によるベジェ曲線算出について、図3の具体例を参照して説明する。
【００１４】
まず、アンカーポイントサンプリング部101で、曲線が順次通過する粗い間隔のアンカーポイントを設定する。301に、設定されたアンカーポイントP0〜P4を示す。尚、サンプリング周波数は、曲線の持つ周波数の倍以上の周波数とする。すなわち、曲線の所定間隔におけるアンカーポイントのサンプリング数は、該間隔における曲線の極大値および極小値の組(波数)の倍以上である必要がある。
【００１５】
次に、アンカーポイント選択部102で、連続する4つのアンカーポイントを取得する。301において、4つのアンカーポイントP0〜P3が取得されたとする。
【００１６】
そしてコントロールポイント1算出部103で、取得された4つのアンカーポイントから、一方端(前方)の3つ(P0、P1、P2)を選択する。そして、該3つのアンカーポイントのうち、先端および後端となるP0とP2を結ぶ線分の中点と、P1を中心とした点対称の位置を、コントロールポイントL1とする。
【００１７】
そして、二次ベジェ曲線1算出部105で、P0とP2とL1を使用して、P0とP1とP2を通過する曲線(C1,C2)を算出する。ここで算出されるベジェ曲線には誤差が含まれており、301の例では理想曲線C0の座標値(理想座標値)と比較して、アンカーポイントP1を境に誤差の符号が反転する。例えば、前半の曲線C1の座標値には理想座標値に対して誤差が加算されており、後半の曲線C2の座標値は理想座標値から誤差が減算されている。
【００１８】
次に、同様の手順によって、他のアンカーポイントの組を通過する曲線を算出する。302に示すように、コントロールポイント2算出部104で、アンカーポイント選択部102で取得された4つのアンカーポイントから、既に処理された上記一方端に対する他方端(後方)の3つ(P1、P2、P3)を選択する。そして、該3つのアンカーポイントのうち、先端および後端となるP1とP3を結ぶ線分の中点と、P2を中心とした点対称の位置をコントロールポイントL2とする。
【００１９】
そして、二次ベジェ曲線2算出部106で、P1とP3とL2を使用して、P1とP2とP3を通過する曲線(C3,C4)を算出する。ここで算出されるベジェ曲線にも上記と同様に誤差が含まれており、302の例では理想曲線C0の座標値に対し、P2を境に前半の曲線C3の座標値には誤差が加算されており、後半の曲線C4の座標値は誤差が減算されている。
【００２０】
そして最後に平均座標値算出部107で、303に示すように、二次ベジェ曲線1算出部105と二次ベジェ曲線2算出部106のそれぞれで算出された曲線から、アンカーポイントが重なる区間(P1-P2)においてそれぞれの座標値の平均を算出する。すなわち、P1からP2の区間の曲線C2と曲線C3の平均座標値から、曲線Caveが得られる。ここで曲線C2と曲線C3は、理想曲線C0の座標値に対する誤差の符号が逆の組み合わせになるため、これらの各座標値を平均化することで理想曲線C0に近づき、演算精度を向上させることができる。
【００２１】
本実施形態では、コントロールポイント1算出部103及び二次ベジェ曲線1算出部105による処理と、コトロールポイント2算出部104及び二次ベジェ曲線2算出部106による処理を並列に行う例を示した。本発明はこれら2系統の処理を並列に限らず、直列に実行させてもよいし、一つの処理としてループさせても良い。
【００２２】
以下、上述した本実施形態におけるベジェ曲線算出処理について、図4のフローチャートを用いて詳細に説明する。なお以下の説明では、便宜上図3の例を参照する。
【００２３】
まずS101で、アンカーポイントを計数するカウンタを、所定の初期値にリセットする。次にS102で、カウンタ値を、算出するベジェ曲線における全てのアンカーポイントの数を示す閾値と比較し、カウンタ値が閾値未満であればS103に進み、閾値以上であれば、曲線算出処理が終了したとして本処理を終了する。
【００２４】
S103では、カウンタ値に基づき、連続する4つのアンカーポイントの座標値(P0、P1、P2、P3)を取得する。そしてS104で、上記4つの座標値から、一方端(前方)の3つの座標値P0、P1、P2を取得する。そして、該3つのアンカーポイントのうち、先端および後端となるP0とP2を結ぶ線分の中点と、P1を中心とした点対称の位置をコントロールポイントL1として算出する。そしてS105で、P0とL1とP2の制御点から、P0とP1とP2を通る二次ベジェ曲線1を算出する。
【００２５】
S106でも同様に、上記4つの座標値から、他方端(後方)の3つの座標値P1、P2、P3を取得する。そして、該3つのアンカーポイントのうち、先端および後端となるP1とP3を結ぶ線分の中点と、P2を中心とした点対称の位置をコントロールポイントL2として算出する。そしてS107で、P1とL2とP3の制御点から、P1とP2とP3を通る二次ベジェ曲線2を算出する。
【００２６】
そしてS108で、S105とS107で算出された二次ベジェ曲線1と二次ベジェ曲線2が重なるP1-P2の区間における補間座標値として、2つのベジェ曲線の座標値の平均を、補間座標値として算出する。そしてS109でカウンタをインクリメントすることで次のアンカーポイントに移動して、S102に戻る。
【００２７】
尚、本実施形態では曲線補間を行う例を説明したが、曲面補間についても同様の処理が可能である。
【００２８】
以上説明したように本実施形態によれば、アンカーポイント間の補間座標値を、2つのベジェ曲線が重なる区間の平均値とすることで、ベジェ曲線算出の演算精度を向上させることができる。
【００２９】
＜第2実施形態＞
以下、本発明における第2実施形態について説明する。第2実施形態では、入力画像を曲面に表示または投影する画像表示装置において、上述した第1実施形態による曲線補間方法を適用して、出力画面の歪み補正(曲面補正)を行う例を示す。
【００３０】
図2は、第2実施形態における画像表示装置において、第1実施形態で示した曲線補間を適用した表示を行うための構成例を示すブロック図である。同図において、201はユーザーインタフェース(IF)、202は曲面の座標値を粗い間隔でサンプリングする粗格子点算出部、203は曲面の粗い格子点座標値から密な格子点座標値を算出する密格子点算出部である。204は入力画像のIFであり、205は出力画像のIFである。206は、曲面の密格子点座標値に基づき、入力画像に幾何学変形を施して出力画像を生成する幾何学変形部である。
【００３１】
入力画像が入力画像IF204を介して幾何学変形部206に入力される。幾何学変形部206ではまず、入力画像に対して変形処理を行なわずに出力画像IF205に出力することで、入力画像を変形しないままの出力画像が表示または投影される。
【００３２】
次に、ユーザーがユーザーIF201に、出力画像の歪を補正を指示するための補正情報を入力する。この補正情報は例えば、出力画像が表示または投影される面(表示面)における曲面の情報である。
【００３３】
粗格子点算出部202は、予め出力画像に応じたサイズの平面における座標を粗い一定間隔でサンプリングした、粗格子の格子点の座標値を格納している。そして、ユーザーIF201から入力された補正情報を基に、出力画像の格子点を曲面上に変換する。すなわち、出力画像の平面でサンプリングした格子点に対し、曲面補正が施された座標値を算出し、これを粗格子点として格納する。例えば、予め格納していた格子点の座標を、曲面補正後の粗格子点の座標に置き換えてもよい。
【００３４】
密格子点算出部203は、粗格子点の座標値を入力し、粗格子点間の曲線上にある点(密格子点)の座標値を、上述した第1実施形態で示した曲線補間方法により高精度に算出する。すなわち、粗格子点を第1実施形態におけるアンカーポイントとすればよい。これにより、出力画像が表示または投影される曲面に応じて変形された、密な格子群における格子点が得られる。
【００３５】
幾何学変形部206では、曲面の密格子点の座標値に基づいて入力画像の歪みを補正するような幾何変形を施し、補正後の画像を出力画像IFに出力することで、入力画像を表示面に応じて変形した出力画像が表示または投影される。
【００３６】
以上説明したように第2実施形態によれば、出力画像の曲面補正をおいて、粗い格子点の座標値から密な格子点の座標値を算出する際に、第1実施形態で示した曲線補間方法を適用する。これにより、演算精度のよい幾何学変形処理を行う画像表示装置を提供することができる。
【００３７】
＜他の実施形態＞
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【００３８】
101:アンカーポイントサンプリング部、102:アンカーポイント選択部、103:コントロールポイント1算出部、104:コントロールポイント2算出部、105:二次ベジェ曲線1算出部、106:二次ベジェ曲線2算出部、107:平均座標値算出部
【図１】
2016111616.tif 000003
【図２】
2016111616.tif 000004
【図３】
2016111616.tif 000005
【図４】
2016111616.tif 000006