(57)【特許請求の範囲】
【請求項１】
ユーザの操作によって入力手段を介して指定された表示要素の形状を立体化する立体化手段と、
上記立体化手段によって立体化された上記表示要素を縁取るようにして多角形の面で形成される立体要素を生成する立体要素生成手段と、
上記立体要素生成手段によって生成された上記立体要素を上記立体化手段によって立体化された上記表示要素に付加して表示手段に表示する表示制御手段と
を具え、
上記立体要素生成手段は、
上記表示要素の輪郭を形成する頂点ごとに、同一の頂点を端点とする２つの線分のうちの一方の線分から垂直に延びる第１のベクトルと、他方の線分から垂直に延びる第２のベクトルとを生成し、当該第１のベクトルと垂直に交わる第１の補助線と、当該第２のベクトルと垂直に交わる第２の補助線とを生成し、上記２つの線分の端点となる頂点から当該第１の補助線及び当該第２の補助線の交点に延びる第３のベクトルを生成し、当該第３のベクトルをもとに上記立体要素の頂点座標を決定することで上記立体要素を生成する
表示要素立体化装置。
【請求項２】
上記立体要素生成手段は、
単位ベクトルとして上記第３のベクトルを生成し、ユーザにより指定された拡大縮小係数をもとに当該第３のベクトルを拡大又は縮小して上記立体要素の頂点座標を決定する
請求項１に記載の表示要素立体化装置。
【請求項３】
ユーザの操作によって入力手段を介して指定された表示要素の形状を立体化する表示要素立体化ステップと、
立体化された上記表示要素を縁取るようにして多角形の面で形成される立体要素を生成する立体要素生成ステップと、
生成された上記立体要素を立体化された上記表示要素に付加して表示手段に表示する表示ステップと
を具え、
上記立体要素生成ステップでは、
上記表示要素の輪郭を形成する頂点ごとに、同一の頂点を端点とする２つの線分のうちの一方の線分から垂直に延びる第１のベクトルと、他方の線分から垂直に延びる第２のベクトルとを生成し、当該第１のベクトルと垂直に交わる第１の補助線と、当該第２のベクトルと垂直に交わる第２の補助線とを生成し、上記２つの線分の端点となる頂点から当該第１の補助線及び当該第２の補助線の交点に延びる第３のベクトルを生成し、当該第３のベクトルをもとに上記立体要素の頂点座標を決定することで上記立体要素を生成する
表示要素立体化方法。
【請求項４】
上記立体要素生成ステップでは、
単位ベクトルとして上記第３のベクトルを生成し、ユーザにより指定された拡大縮小係数をもとに当該第３のベクトルを拡大又は縮小して上記立体要素の頂点座標を決定する
請求項３に記載の表示要素立体化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は表示要素立体化装置及びその方法に関し、例えば映像に重ねて表示するための映像タイトルを生成する映像タイトル生成装置に適用して好適なものである。
【０００２】
【従来の技術】
従来、映像に重ねて表示するための映像タイトルを生成する映像タイトル生成装置では、当該映像タイトルを３次元表示する場合、生成した２次元の文字に対して影を付けるような画像処理を２次元的に施すことにより、当該２次元の文字を疑似的に３次元表示するしかなかった。そこで３次元の映像タイトルを生成したい場合には、３次元モデリングシステムと呼ばれるアルゴリズムからなるＣＧ（Computer Graphics ）制作用アプリケーションを用いて生成するようになされている。
【０００３】
【発明が解決しようとする課題】
ところでこのＣＧ制作用アプリケーションは、汎用性が高く、様々な立体画像を生成することができる一方、映像タイトルに必要な文字の輪郭を強調するためのエッジを生成することができないことから、例えば映像タイトルの文字の色と当該映像タイトルの背景となる映像の色とが同一の場合には、視聴者が当該映像タイトルを認識できない問題があった。
【０００４】
本発明は以上の点を考慮してなされたもので、ユーザは表示画面にかかわらず表示要素を確実に認識し得る表示要素立体化装置及びその方法を提案しようとするものである。
【０００５】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、ユーザの操作によって入力手段を介して指定された表示要素の形状を立体化する立体化手段と、立体化手段によって立体化された表示要素を縁取るようにして多角形の面で形成される立体要素を生成する立体要素生成手段と、立体要素生成手段によって生成された立体要素を立体化手段によって立体化された表示要素に付加して表示手段に表示する表示制御手段とを設け、立体要素生成手段が、表示要素の輪郭を形成する頂点ごとに、同一の頂点を端点とする２つの線分のうちの一方の線分から垂直に延びる第１のベクトルと、他方の線分から垂直に延びる第２のベクトルとを生成し、当該第１のベクトルと垂直に交わる第１の補助線と、当該第２のベクトルと垂直に交わる第２の補助線とを生成し、２つの線分の端点となる頂点から当該第１の補助線及び当該第２の補助線の交点に延びる第３のベクトルを生成し、当該第３のベクトルをもとに立体要素の頂点座標を決定することで立体要素を生成するようにした。
【０００６】
立体化された表示要素を縁取るようにして多角形の面で形成される立体要素を生成し、当該立体要素を立体化された表示要素に付加して表示手段に表示することにより、立体要素によって立体化された表示要素の輪郭を強調することができる。
【０００７】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【０００８】
（１）映像タイトル生成装置の構成
図１において、１は全体として映像タイトル生成装置を示し、ユーザの操作に応じて映像タイトルを生成して当該映像タイトルを映像に重ねて表示し得るようになされている。ＣＰＵ（Central Processing Unit ）３は、映像タイトル生成装置１全体の制御及び所定の演算処理を行うためのものであり、ホストバスＢ１に接続されているシステムコントローラ５を介してメモリ７及びキャッシュ９にアクセスし得るようになされている。
【０００９】
ＣＰＵ３は、システムコントローラ５を介して例えばＤＲＡＭ（Dynamic Random Memory ）でなるメモリ７にアクセスすることにより、当該メモリ７にデータを書き込んで記憶すると共に、当該メモリ７から記憶されているデータを読み出すようになされている。キャッシュ９は、メモリ７に記憶されているデータのうち、ＣＰＵ３が頻繁にアクセスするデータを記憶するためのものである。従ってＣＰＵ３は、メモリ７に記憶されているデータのうち、一度アクセスしたデータをキヤッシュ９に記憶しておき、再び同一のデータが必要な場合には、キャッシュ９にアクセスして当該必要なデータを読み出すようになされている。
【００１０】
さらにＣＰＵ３は、システムコントローラ５を介してＰＣＩ（Peripheral Component Interconnect ）バスＢ２に接続され、当該ＰＣＩバスＢ２に接続されているＩ／Ｏ（Input/Output）コントローラ１１、グラフィックスアクセラレータ１３及びフレームバッファ１５にアクセスし得るようになされている。Ｉ／Ｏコントローラ１１は、ＰＣＩバスＢ２及びＩＳＡ（Industry Standard Architecture）バスＢ３に接続され、当該ＰＣＩバスＢ２及びＩＳＡバスＢ３を介してデータの送受信の制御を行うようになされている。ハードディスクコントローラ１７は、Ｉ／Ｏコントローラ１１に接続され、ＣＰＵ３からＩ／Ｏコントローラ１１を介して供給されるアクセス要求に基づいて、プログラムデータ記憶手段としてのＨＤＤ（Hard Disk Drive ）１９の所定の領域に対してデータの読み書きを行う。ＨＤＤ１９は、内蔵するハードディスクに、オペレーティングシステム（ＯＳ）及び映像タイトルを生成するためのアプリケーションプログラムでなるソフトウェア資源を格納している。
【００１１】
グラフィックスアクセラレータ１３は、ＣＰＵ３からシステムコントローラ５を介して供給される描画命令に基づいて、オペレーティングシステムやアプリケーションプログラムなどに応じた画像を表示手段としてのディスプレイ２１に描画して表示する。フレームバッファ１５は、ＣＰＵ３からシステムコントローラ５を介して供給される表示命令に基づいて、外部の映像供給手段から供給される映像信号を合成表示手段としてのモニタ２３に表示するようになされている。
【００１２】
キーボードコントローラ２５は、ユーザの入力操作に応じて入力手段としてのキーボード２７から入力された入力情報をＩ／Ｏコントローラ１１及びシステムコントローラ５を介してＣＰＵ３に通知すると共に、入力情報をＩ／Ｏコントローラ１１を介してグラフィックスアクセラレータ１３に送出して当該入力情報に応じた画像をディスプレイ２１に表示させる。
【００１３】
マウスコントローラ２９は、ユーザの操作によって入力手段としてのマウス３１が動くと、当該マウス３１の移動方向や距離でなる動き情報をＩ／Ｏコントローラ１１及びシステムコントローラ５を介してＣＰＵ３に通知し、当該ＣＰＵ３の制御によってディスプレイ２１上のマウスカーソルをマウス３１の動きに応じて移動させる。
【００１４】
ところで図２に示すように、ＨＤＤ１９に格納されているアプリケーションプログラム４０は、オブジェクト指向型のプログラム言語によって作成され、具体的にはＧＵＩ（Graphical User Interface）オブジェクト４２、レンダリング・オブジェクト４４、モデリング・オブジェクト４６、ドキュメント・オブジェクト４８及びフレーム・バッファ・オブジェクト５０の各構成要素から構成されている。
【００１５】
ＧＵＩオブジェクト４２は、ユーザによって行われる全ての操作の定義、各操作で指定された各種パラメータの保存、各操作によるディスプレイ２１への表示更新処理を行うものである。またＧＵＩオブジェクト４２は、各オブジェクトとのユーザインターフェイスであり、各操作に応じてレンダリング・オブジェクト４４を動作させるためのメッセージ情報Ｍ１、ドキュメント・オブジェクト４８を動作させるためのメッセージ情報Ｍ２及びフレーム・バッファ・オブジェクト５０を動作させるためのメッセージ情報Ｍ３を生成し、これらを対応するオブジェクトに通知する。
【００１６】
表示制御手段としてのレンダリング・オブジェクト４４は、ＧＵＩオブジェクト４２からメッセージ情報Ｍ１が与えられると、ドキュメント・オブジェクト４８から描画に必要なパラメータでなるパラメータ情報を受け取り、当該パラメータ情報に基づいてディスプレイ２１に描画処理を実行するようになされている。立体化手段としてのモデリング・オブジェクト４６は、キーボード２７（図１）から指定された文字データを基に多角形の面（以下、これをポリゴンと呼ぶ）によって構成される３次元文字を生成する。ところでレンダリング・オブジェクト４４は、ＧＵＩオブジェクト４２においてユーザが表示を更新すべき操作を行ったか否か判断し、その結果、表示を更新すべき操作を行ったと判断した場合には、モデリング・オブジェクト４６を起動させるためのメッセージ情報Ｍ４を生成し、当該メッセージ情報Ｍ４をモデリング・オブジェクト４６に与えることにより、モデリング・オブジェクト４６を起動するようになされている。
【００１７】
記憶制御手段としてのドキュメント・オブジェクト４８は、ＧＵＩオブジェクト４２において定義された操作及び各種パラメータを保持している。ディスプレイ２１に表示される３次元文字に関する形状データ、位置データ、姿勢データ、色データ、照明データ、移動データ及びスケールデータなどを作成するのに必要なデータは、ＧＵＩオブジェクト４２からメッセージ情報Ｍ２として送られており、レンダリング・オブジェクト４４によって行われる描画更新毎に使用されるようになされている。合成表示制御手段としてのフレーム・バッファ・オブジェクト５０は、レンダリング・オブジェクト４４における描画処理と同様に、ＧＵＩオブジェクト４２から供給されるメッセージ情報Ｍ３によってフレームバッファ１５（図１）を駆動してモニタ２３（図１）に対して描画処理を行う。
【００１８】
ここで図３は、上述のようなアプリケーションプログラム４０を実行させるためのＧＵＩ画面６０を示し、ディスプレイ２１（図１）に表示されている。このＧＵＩ画面６０に対して行われる操作のうち、まず、ＧＵＩ画面６０のシーンウィンドウ６２に表示された仮想３次元空間中に対して文字を入力及び配置して表示するための操作について説明する。ＧＵＩ画面６０は、ユーザの入力操作に応じて新規グループ作成ボタン６４がクリックされると、複数の文字を１つの集合とみなしたグループを新規に作成する。因みに全ての文字は、いずれか１つのグループに属するようなデータ構造をとっており、１つのグループには０個以上の文字を属させることが可能となっている。
【００１９】
ところでＧＵＩ画面６０は、キーボード２７（図１）から文字が入力されると、当該入力された文字に応じた３次元文字を瞬時にシーンウィンドウ６２に表示する。なおＧＵＩ画面６０は、ユーザの入力操作に応じてキーボード２７（図１）のバックスペースキーが押圧されると、入力された３次元文字を削除し得るようになされている。
【００２０】
またＧＵＩ画面６０は、ユーザの入力操作に応じてキーボード２７のカーソルキーを使用してシーンウィンドウ６２上のカーソル位置を移動させた後に、キーボード２７（図１）のバックスペースキーが押圧されると、カーソルが示す位置に存在する所望の文字を削除することができるようになされている。同様にＧＵＩ画面６０は、ユーザの入力操作に応じてカーソルキーを使ってカーソル位置を移動した後にキーボード２７から文字が入力されると、カーソルが示す位置に新規に所望の文字を挿入することができるようになされている。このようなシーンウィンドウ６２に対する描画及び再描画処理は、レンダリング・オブジェクト４４のレンダリング処理に時間をとられず、瞬時に所望の画像をシーンウィンドウ６２に表示させることができる。
【００２１】
続いてシーンウィンドウ６２に入力された文字の表示位置を平行移動させる操作について説明する。まずＧＵＩ画面６０は、ユーザの入力操作に応じて所望のグループを示す領域がダブルクリックされると、表示位置の変更の対象となる文字が属するグループを選択する。これを受けてＧＵＩ画面６０は、選択したグループの周囲に選択枠６６を表示し、当該選択枠６６内に存在する文字が選択状態にあることをユーザに知らせる。
【００２２】
続いてＧＵＩ画面６０は、ユーザの入力操作に応じて選択状態にあるグループ上にマウスカーソルを合わせ、当該マウスカーソルを押しながら移動させるような操作（以下、これをドラッグ操作と呼ぶ）が行われると、文字を仮想３次元空間中で上下方向（Ｙ軸方向）及び左右方向（Ｘ軸方向）に平行移動させ得るようになされている。さらにＧＵＩ画面６０は、ユーザの入力操作に応じてグループの回転中心軸６８の位置でドラッグ操作が行われると、仮想３次元空間中で奥行き方向（Ｚ軸方向）に平行移動させることができるようになされている。このような操作は、移動させた結果がレンダリング・オブジェクト４４によるレンダリング処理に待たされることなく、リアルタイムにシーンウィンドウ６２上に表示させることができることから、迅速にかつ正確に行うことができる。
【００２３】
続いてシーンウィンドウ６２に入力された文字の表示位置を回転移動によって変更する操作について説明する。ＧＵＩ画面６０は、ユーザの入力操作に応じて所望のグループ上がダブルクリックされると、表示位置の変更の対象としたい文字が属するグループを選択する。これを受けてＧＵＩ画面６０は、選択されたグループに属する文字全てに選択枠６６を表示し、当該選択枠６６が表示されたグループが選択状態にあることをユーザに知らせる。この状態において、ＧＵＩ画面６０は、ユーザの入力操作に応じて回転軸スイッチ６９がクリックされると、回転移動操作の中心軸としたい座標軸を、Ｘ軸、Ｙ軸及びＺ軸の中からいずれか１つを選択する。
【００２４】
その後ＧＵＩ画面６０は、ユーザの入力操作に応じてドラッグ操作が行われると、仮想３次元空間中で回転移動させることができるようになされている。このような回転移動操作は、上述の平行移動操作と同様に、変更結果がレンダリング処理に待たされることなく、リアルタイムにシーンウィンドウ６２に表示されることから、所望の移動操作を迅速にかつ正確に行うことができる。
【００２５】
またＧＵＩ画面６０は、ユーザの入力操作に応じて描画モードスイッチ７０が切り換えられると、文字又は図形の描画を切り換えることができるようになされている。またＧＵＩ画面６０は、ユーザの入力操作に応じてグループプロパティ設定ボタン７１が選択されると、所定の画面を表示することによりグループに関する詳細な設定操作を行い得るようにする。
【００２６】
次いで、ＧＵＩ画面６０に対して行われる操作のうち、文字の各種属性を変更することによって当該文字に修飾を施すための操作について説明する。まず文字の表示サイズを変更する操作について説明する。ＧＵＩ画面６０は、ユーザの操作に応じて所望のグループがダブルクリックされると、サイズ変更対象の文字が属するグループを選択する。
【００２７】
これを受けてＧＵＩ画面６０は、選択されたグループに属する文字全てに選択枠６６が表示され、現在選択状態にあることを表示する。さらにＧＵＩ画面６０は、ユーザの操作に応じてサイズ変更スイッチ７２が押圧されると、サイズ変更操作の対象としたい方向を、Ｘ軸、Ｙ軸、Ｚ軸のうちいずれか１つを選択する。
【００２８】
次いでＧＵＩ画面６０は、ユーザの入力操作に応じて、選択したグループ上でドラッグ操作が行われると、文字の大きさを所望のサイズに伸縮させることができるようになされている。サイズ変更の操作は、変更結果がリアルタイムにシーンウィンドウ６２に表示されることから、所望の操作を迅速にかつ正確に行うことが可能である。
【００２９】
続いて文字の表示フォント（書体）を変更する操作について説明する。ＧＵＩ画面６０は、ユーザの入力操作に応じて所望のグループがダブルクリックされると、フォント変更の対象となる文字が属するグループを選択する。これを受けてＧＵＩ画面６０は、選択されたグループに属する文字全てに選択枠６６が表示され、現在選択状態であるこを表示する。次にＧＵＩ画面６０は、ユーザの入力操作に応じてフォント設定メニュー７３がクリックされると、フォントの設定に関するメニューを表示した後、表示される複数のフォントの中から所望のフォントを選択して表示フォントを変更することができ、その変更結果はシーンウィンドウ６２に瞬時に表示される。
【００３０】
さらに続いて文字表面の材質や質感に関する属性を示すマテリアル属性を変更する操作について説明する。まずＧＵＩ画面６０は、ユーザの入力操作に応じて所望のグループがダブルクリックされると、マテリアル変更の対象とする文字が属するグループを選択する。ＧＵＩ画面６０は、選択されたグループに属する文字全てに選択枠６６が表示され、現在選択状態にあることを表示する。次にＧＵＩ画面６０は、ユーザの入力操作に応じてマテリアル設定メニュー７４が選択されると、マテリアル設定のためのメニューを表示する。この表示されたメニューにおいて、ユーザの入力操作に応じて例えば環境拡散光反射率、鏡面光反射率、放射光、光沢のようなマテリアル属性の各設定値を入力し、グループに対するマテリアル属性を変更する。このようにマテリアル属性を調整することにより、文字表面の色や光沢の度合い等をユーザの任意に設定することができ、変更されたマテリアル属性はシーンウィンドウ６２に瞬時に表示される。
【００３１】
さらに続いて文字に縁取りすなわちエッジを付加する操作について説明する。ＧＵＩ画面６０は、ユーザの入力操作に応じて所望のグループ上がダブルクリックされると、エッジを付加する対象とする文字が属するグループを選択する。これを受けてＧＵＩ画面６０は、選択されたグループに属する文字全てに選択枠６６が表示され、現在選択状態であることを表示する。次にＧＵＩ画面６０は、ユーザの入力操作に応じてエッジ・シャドウ設定メニュー７６が選択されると、エッジ設定のためのメニューを表示する。
【００３２】
ＧＵＩ画面６０は、この表示されるメニューにおいて、エッジ属性の各設定値、例えばエッジの太さ、エッジカラー、グラデーションスイッチ及びエッジタイプが入力されると、グループに対してエッジ属性を指定する。エッジタイプとしては、文字周辺に平面的なエッジが付加されるノーマルエッジ、文字周辺を面取りした立体的なエッジが付加されるベベルエッジ、エッジが付加されないエッジオフがある。このように指定されたエッジ属性は、シーンウィンドウ６２に瞬時に表示される。
【００３３】
次いで、ＧＵＩ画面６０に対して行われる操作のうち、ページ及びレイヤを制御するための操作について説明する。まずページに関する操作について説明する。ここでページとは、複数の編集結果を同時に管理するために導入された概念であり、シーンウィンドウ６２に表示されている１画面分の編集内容を１つのページとして保持する。ＧＵＩ画面６０では、複数のページを一元管理するためにページセレクタ７８及び新規ページ追加ボタン８０が設けられている。ページセレクタ７８は、プログラムが現在保持しているページの一覧を全て表示し、当該ページの一覧の中から所望のページを選択し得るようになされている。
【００３４】
またＧＵＩ画面６０は、ユーザの入力操作に応じて新規ページ追加ボタン８０が選択されると、文字が全く含まれていない初期状態のページを新規に追加作成して、シーンウィンドウ６２に新規作成された初期状態のページを表示する。その際、ＧＵＩ画面６０は、新規に作成された、シーンウィンドウ６２に表示される画像を縮小表示した見出し画像（以下、これをサムネール画像と呼ぶ）をページセレクタ７８に表示する。この追加された新規のページは、上述の文字入力操作によって所望の編集作業を行い得る。
【００３５】
ユーザはシーンウィンドウ６２に表示されているページ（以下、これをカレントページと呼ぶ）に対してのみ編集操作を行うことができる。ＧＵＩ画面６０は、ユーザの入力操作に応じて、ページセレクタ７８に表示されているぺージ一覧の中から所望のページを示すサムネール画像がクリックされると、カレントページを選択してシーンウィンドウ６２に表示する。このようなカレントページの変更は、シーンウィンドウ６２に瞬時に反映される。
【００３６】
次にレイヤに関する操作について説明する。ここでレイヤとは、複数のグループを統括及び分類して処理することにより編集作業の効率化を図ることを目的として導入された概念である。ページの中には複数のレイヤ（層）が存在し、当該各レイヤを重ね合わせることにより１つのページが生成される。ＧＵＩ画面６０では、１つのページ中に５つのレイヤが含まれており、各レイヤには０〜４（整数値）のレイヤ番号が与えられて識別されている。これによりページ中に作成された各グループは、この５つのレイヤのうちいずれか１つに必ず属するようになっている。
【００３７】
ＧＵＩ画面６０は、ユーザの入力操作に応じて、５つのレイヤのうち編集操作の対象となる１つのレイヤ（以下、これをカレントレイヤと呼ぶ）を指定する操作を、カレントレイヤセレクタ８１によって行うようになされており、所望のレイヤ番号をカレントレイヤセレクタ８１に入力することにより、カレントレイヤを指定する。そしてＧＵＩ画面６０は、指定されたカレントレイヤのみに対して文字入力や配置変更等の編集操作を行うようになされている。因みに、各グループは、グループ作成時に指定されていたレイヤ番号に応じたレイヤに属するように作成される。またＧＵＩ画面６０は、ユーザの入力操作に応じて、レイヤスイッチ部８２に配置された５つのボタンのオンオフ操作によって５つのレイヤの表示又は非表示を個別に指定し得るようになされており、変更結果は、瞬時にシーンウィンドウ６２に反映される。
【００３８】
さらに続いて照明の設定を変更する操作について説明する。ここで照明とは、現実世界の照明と同様の挙動を示すように設計された物体であり、シーンウィンドウ６２に表示される仮想３次元空間中に存在しているが、実際には当該シーンウィンドウ６２には表示されない。ＧＵＩ画面６０は、ユーザの入力操作に応じて照明の設定値が調整されると、仮想３次元空間中に配置されている文字の見え方を任意に指定し得るようになされている。
【００３９】
ＧＵＩ画面６０は、ユーザの入力操作に応じて照明設定ボタン８４がクリックされると、照明ダイアログを表示し、当該照明ダイアログにおいて照明設定を行う。この状態において、ＧＵＩ画面６０は、ユーザの入力操作に応じて照明条件の各設定値、例えば環境光、拡散反射光、鏡面反射光、照明位置が入力されると、ページに対する照明条件を変更する。因みに、ＧＵＩ画面６０は、同一ページ中に存在する全ての文字に同一の照明が設定されるようになされており、個々の文字毎に異なる照明が設定されることはない。
【００４０】
最後に、ＧＵＩ画面６０に対して行われる操作のうち、静止画及び動画を送出するための操作について説明する。ここで送出とは、シーンウィンドウ６２上で編集されたページデータをフレームバッファ１５（図１）に書き込んで当該ページデータに応じた画像をモニタ２３に表示させる操作である。まずページデータを静止画として送出する操作について説明する。ＧＵＩ画面６０は、ユーザの入力操作に応じてページセレクタ７８から所望のページが選択されると、当該選択したページに応じた画像をシーンウィンドウ６２に表示することにより、送出対象のページをカレントページに設定する。この状態において、ＧＵＩ画面６０は、ユーザの入力操作に応じてスチル送出ボタン８６が選択されると、カレントページが送出される。
【００４１】
次にカレントページの動画を送出する操作について説明する。ＧＵＩ画面６０は、ユーザの入力操作に応じてページセレクタ７８から所望のページが選択されると、当該選択したページに応じた画像をシーンウィンドウ６２に表示することにより、送出操作の対象とするページをカレントページに設定する。
【００４２】
この状態において、ＧＵＩ画面６０は、ユーザの入力操作に応じてアニメーション送出ボタン８８が選択されると、カレントページの送出処理が行われる。但し、カレントページに動画に関するデータ（以下、これをキーフレームデータと呼ぶ）が存在しない場合には、アニメーション送出ボタン８８は機能しないようになされている。因みにＧＵＩ画面６０は、ユーザの入力操作に応じてキーフレム追加ボタン９０がクリックされると、所定の画面を表示してキーフレームデータを作成するようになされている。
【００４３】
ここでＣＰＵ３によって複数のポリゴンでなる３次元文字（以下、これをポリゴンモデルと呼ぶ）を生成する手順について図４に示すフローチャートを用いて説明する。ステップＳＰ１から入ったステップＳＰ２において、ＣＰＵ３は、ユーザの入力操作に応じて、ポリゴンモデルのマテリアルの設定値、光源の設定値、シーンウィンドウ６２における画像の見え方を決定するためのパースの設定値をアプリケーションプログラム４０のドキュメント・オブジェクト４８（図２）に保持する。これらの設定値は、ユーザによって指定された値が用いられるが、ユーザが指定しない場合には、予め用意されているデフォルト値が用いられる。
【００４４】
ステップＳＰ３において、ＣＰＵ３は、キーボード２７からユーザによって所望のキーが入力されたか否か判定する。その結果、ＣＰＵ３は、キーが入力されたと判断した場合には、当該キー入力情報をＧＵＩオブジェクト４２（図２）に送出する一方、キーが入力されていないと判断した場合にはキーが入力されるまで待機する。ステップＳＰ４において、ＣＰＵ３は、ＧＵＩオブジェクト４２（図２）にキー入力情報を解析させることにより、当該キー入力情報を文字コードに変換させ、当該文字コード情報をドキュメント・オブジェクト４８（図２）に格納すると共に、モデリング・オブジェクト４６に対してポリゴンモデルの生成を行うための指示を与える。
【００４５】
ステップＳＰ５において、ＣＰＵ３は、モデリング・オブジェクト４６を用いてドキュメント・オブジェクト４８に保持されている文字コード情報に基づいてポリゴンモデルを生成する。このポリゴンモデルの具体的な生成方法を図５を用いて説明する。モデリング・オブジェクト４６は、現在設定されているフォント形式に基づいてドキュメント・オブジェクト４８に保持されている文字コード情報に応じたアウトラインデータＤ１を生成する。
【００４６】
次にモデリング・オブジェクト４６は、このアウトラインデータＤ１を基にポリゴンモデルのうちフェイス部分に相当するフェイスポリゴンモデルＤ３を生成する。続いてモデリング・オブジェクト４６は、現在設定されているエッジのパラメータに基づいてポリゴンモデルのうちエッジ部分に相当するエッジポリゴンモデルＤ５を生成する。さらに続いてモデリング・オブジェクト４６は、現在設定されているシャドウのパラメータに基づいてポリゴンモデルのうちシャドウ部分に相当するシャドウモデルＤ７を生成する。このようにしてモデリング・オブジェクト４６は、１つの文字に対して生成される３つのポリゴンモデルを基にポリゴンモデルＤ９を生成する。
【００４７】
図４に戻って、ステップＳＰ６において、ＣＰＵ３は、ＧＵＩオブジェクト４２を用いて、ドキュメント・オブジェクト４８に保持されているマテリアルに関する各パラメータに基づいて、モデリング・オブジェクト４６が保持しているポリゴンモデルＤ９の各ポリゴンに対してマテリアルの設定を行う。ステップＳＰ７において、ＣＰＵ３は、ＧＵＩオブジェクト４２によって、ドキュメント・オブジェクト４８に保持されているパースに関する各パラメータに基づいて、レンダリング・オブジェクト４４に対してパースの設定を行わせる。
【００４８】
パースの設定とは、具体的には図３との対応部分に同一符号を付して示す図６に示すように、視点１００及び視野角１０２に応じた視体積（図中斜線で示した領域）１０４の形状及び方向を指定することを意味する。この視体積は、ポリゴンモデル１０６をＧＵＩ画面６０のシーンウィンドウ６２（図３）にどのように投影するか、複数のポリゴンモデル１０６のうちどのポリゴンモデル１０６をシーンウィンドウ６２に投影するかを決定し、当該視体積内に存在するポリゴンモデル１０６がシーンウィンドウ６２に表示される。
【００４９】
図４に戻って、ステップＳＰ８において、ＣＰＵ３は、ＧＵＩオブジェクト４２を用いてドキュメント・オブジェクト４８に保持されている光源に関するパラメータに基づいてレンダリング・オブジェクト４４に対して照明の設定を行う。ステップＳＰ９において、ＣＰＵ３は、レンダリング・オブジェクト４４を用いて、各パラメータに基づいてポリゴンモデルの描画をシーンウィンドウ６２に対して行う。
【００５０】
このようにしてＣＰＵ３は、キーボード２７を介して入力されたキーを３次元文字としてディスプレイ２１に表示させることができ、さらに複数の３次元文字を表示させる場合には、ステップＳＰ２に戻って同様の処理を繰り返すことにより、ディスプレイ２１にユーザの入力操作に応じた映像タイトルを表示することができる。
【００５１】
以上の構成において、ＣＰＵ３は、ＨＤＤ１９に格納されているオペレーティングシステム及びアプリケーションプログラムに基づいて、キーボード２７を介して指定された文字を基に当該文字の輪郭を示すアウトラインデータを得、当該アウトラインデータを基に文字の輪郭によって囲まれたフェイスデータ、文字の輪郭を強調するためのエッジデータ及び文字の奥行きを示すシャドウデータを生成し、当該フェイスデータ、エッジデータ及びシャドウデータを合成することにより、外部から供給される編集対象の映像に応じた３次元文字データを生成すると共に、当該生成された３次元文字データに応じた画像を、キーボード２７を介して文字が指定されることに連動してディスプレイ２１に表示する。
【００５２】
以上の構成によれば、ユーザからキーボード２７を介して指定される文字のアウトラインデータを基にフェイスデータ、エッジデータ及びシャドウデータを生成し、これらを合成して３次元文字を生成すると共に、当該生成された３次元文字をキーボード２７を介して文字が指定されることに連動してディスプレイ２１に表示することにより、従来のように汎用のＣＧ制作用アプリケーションプログラムを用いて３次元文字を生成する場合に比して、ユーザがキーボード２７を介して文字を指定するだけの簡単な操作で迅速に３次元文字を生成することができ、かくして従来に比して一段と操作性を向上し得る映像タイトル生成装置を実現できる。
【００５３】
（２）ポリゴンモデル生成手順
ここでは図４におけるポリゴンモデル生成ステップ（ＳＰ５）について具体的に説明する。まず始めにＣＰＵ３によって３次元文字を生成する３次元文字生成手順について説明する。まずステップＳＰ１５から入ったステップＳＰ１６において、ＣＰＵ３は、ユーザの入力操作に応じた文字コード情報に基づいて、ＨＤＤ１９（図１）に記録されているオペレーティングシステムから直線と曲線の組合せでなるフォントデータを読み出す。因みに、このフォントデータは、閉ループの集合でなり、文字によってそのループ数は異なる。文字を形成するループは、外側のループから内側のループの順に塗りつぶされる空間と空白の空間とが交互に繰り返されている。
【００５４】
ステップＳＰ１７において、ＣＰＵ３は、読み出したフォントデータに応じた文字データのうちの曲線部分のデータに曲率を指定し、直線の座標データを算出することにより、文字データを頂点データとして扱う。ここで扱われる曲線は、次式
【００５５】
【数１】
0004203780.tif 000002
【００５６】
によって定義され、任意のポイントに分割される。ここでポイントＡ及びＣは曲線上のポイントを示し、ポイントＢは曲線を分割するためのコントロールポイントを示す。
【００５７】
続いてステップＳＰ１８において、ＣＰＵ３は、上述の各頂点データにおける法線ベクトルを算出し、ステップＳＰ１９に移って、これら各頂点データと法線ベクトルとをフォントデータとして一括して保持する。ステップＳＰ２０において、ＣＰＵ３は、算出した頂点データに基づいてスキャンライン用線分配置表と呼ばれるポリゴン生成のたの３角形分割用テーブルを作成する。
【００５８】
ここでスキャンライン用線分配置表の作成方法について図８を用いて具体的に説明する。図８（Ａ）は、文字「Ｚ」における全頂点間の線分に線分番号を付加したことを示し、図８（Ｂ）は、各頂点が存在するＹ座標の数値をインデックスとして作成したスキャンライン用線分配置表を示す。このスキャンライン用線分配置表は、任意のＹ座標を基準として、＋Ｙ方向に向かってそのＹ座標が始点となっている線分データをフロム（From）データとし、＋Ｙ方向に向かってそのＹ座標が終点となっている線分データをトゥ（To）データとし、そのＹ座標を通過する線分データをスルー（Through ）データとしている。このスキャンライン用線分配置表では、例えばＹ＝５の線分データに着目すると、線分データ「３、７、８」がフロムデータとして登録され、線分データ「４、６、８」がトゥデータとして登録され、スルーデータには該当する線分データが存在しない。
【００５９】
図７に戻って、ステップＳＰ２１において、ＣＰＵ３は、作成したスキャンライン用線分配置表を用いて、文字データに対してポリゴン生成のための３角形分割処理を施すことにより、フェイス表面ポリゴンを生成する。ＣＰＵ３は、各頂点間を結ぶ線分のうち所望の線分に着目し、当該着目した線分がポリゴンを分割する分割線になり得るか否か判断する。すなわちＣＰＵ３は、着目した線分が他の全ての線分と交差していないか否か判定し、その結果、交差していないと判断された場合には、さらに当該線分がポリゴン内を通る線分か否かを判定し、その結果、ポリゴン内を通ると判定された場合には、当該線分を３角形分割のための分割線と決定する。以下、ＣＰＵ３は、全ての線分について同様の処理を行うことにより、３角形分割のための分割線のリストを生成する。
【００６０】
例えば図９を用いて頂点Ｐ２から頂点Ｐ４に向かう線分Ｌ１が分割線になるか否かを判定する場合について説明する。まずＣＰＵ３は、Ｙ＝５の線分データに着目し、座標Ｘの値が小さい順にフロムデータに該当する線分データ「３、８」を並べる。その際、トゥデータ及びフロムデータ両方に登録されている線分データは除く。そしてＣＰＵ３は、頂点Ｐ４のＸ座標値が線分データ「３」のＸ座標値以上であってかつ線分データ「８」のＸ座標値以下であるか否か判定し、その結果、頂点Ｐ４のＸ座標値が上述の範囲内に存在すると判断し、次にＹ＝２６の線分データに着目する。ＣＰＵ３は、座標Ｘの値が小さい順にトゥデータに該当する線分データ「３、８」を並べる。その際、トゥデータ及びフロムデータ両方に登録されている線分データは除く。そしてＣＰＵ３は、頂点Ｐ２のＸ座標値が線分データ「３」のＸ座標値以上であってかつ線分データ「８」のＸ座標値以下であるか否か判定し、その結果、頂点Ｐ２のＸ座標値が上述の範囲内に存在しないと判断し、当該線分Ｌ１がポリゴン内を通る線分ではないと判断する。
【００６１】
図７に戻って、ステップＳＰ２２において、ＣＰＵ３は、スキャンライン用線分配置表を用いて、着目する閉ループの線分を挟む２つの空間のうちのどちら側をポリゴンとするかを判定して文字のフェイス部分を判断することにより、奥行き方向のポリゴンの法線ベクトルすなわちフェイス奥行きポリゴンの表方向を特定する。次にステップＳＰ２３において、ＣＰＵ３は、全ての頂点データに所望の長さの奥行きのポリゴンを生成すると共に、各頂点にステップＳＰ２２で特定した法線ベクトルを付加することによりフェイス奥行きポリゴンを生成する。ステップＳＰ２４において、ＣＰＵ３は、全ての頂点データから奥行きの長さを減算した値を背面ポリゴンのＺ座標値とすることにより、−Ｚ方向の法線ベクトルを有するフェイス背面ポリゴンを生成する。
【００６２】
続いて、上述の手順に従って生成されたフェイスポリゴンモデルに対して施される文字の輪郭を強調するためのエッジモデルを生成する生成手順を図１０に示すフローチャートを用いて説明する。ステップＳＰ３０から入ったステップＳＰ３１において、立体要素生成手段としてのＣＰＵ３は、文字の輪郭を形成する各頂点毎の座標値、法線ベクトルを利用して拡大又は縮小方向の単位ベクトルを生成して保持する。
【００６３】
例えば拡大方向の単位ベクトルを生成する手法について図１１を用いて説明する。文字Ｚの全ての頂点は、頂点の座標及び法線ベクトルでなる頂点データと当該頂点の前後に位置する頂点の頂点データとに基づいて２つの拡大方向のベクトルを生成することができる。すなわち文字Ｚでは、着目した頂点の下方の頂点データを用いて作成されたベクトルをベクトルＢａとすると共に、上方の頂点データを用いて作成されたベクトルをベクトルＢｂとする。これらベクトルＢａ及びＢｂは、いずれも文字の輪郭を構成する線分から垂直方向に延びるベクトルである。これら２つのベクトルＢａ及びＢｂと垂直に交わる補助線Ｌａ及びＬｂをそれぞれ生成すると、これら生成された補助線Ｌａ及びＬｂが拡大された輪郭となり、当該補助線Ｌａ及びＬｂが交わる交点Ｐａに対して原点から引かれたベクトルを拡大方向のベクトルＢｃとする。以下、同様にして全頂点について拡大及び縮小方向の単位ベクトルを生成して保持する。
【００６４】
ステップＳＰ３２において、ＣＰＵ３は、拡大及び縮小する大きさを示す拡大縮小係数を、予めユーザによって指定された値に基づいて決定して登録することにより、当該登録した値を用いて実際のエッジポリゴンモデルの頂点位置を決定する。ステップＳＰ３３において、ＣＰＵ３は、生成された拡大及び縮小方向の単位ベクトルから拡大縮小係数に応じてエッジポリゴンモデルの頂点位置を決定する際、原点からエッジポリゴンモデルの頂点位置に引かれた拡大縮小方向ベクトルのうち隣接する拡大縮小方向ベクトルが交差するか否か判断する。その結果、ＣＰＵ３は、隣接する拡大縮小方向ベクトルが交差すると判定された場合にはステップＳＰ３４に移行し、交差しないと判定された場合にはステップＳＰ３５に移行する。
【００６５】
ステップＳＰ３４において、ＣＰＵ３は、隣接する拡大縮小方向ベクトルが交差しないように拡大縮小方向ベクトルの再計算を行い、これにより凹ポリゴンが発生したり、図７に示すような３次元文字生成アルゴリズムが破綻することを回避している。例えば図１２に示すように、ＣＰＵ３は、文字ｂの頂点Ｐｂにおける拡大方向ベクトルＢ１のように、複数の拡大方向ベクトルＢ４及びＢ５と交差する場合、交差しない拡大方向ベクトルＢ２を検索する。そしてＣＰＵ３は、当該検索された拡大方向ベクトルＢ２の直交する線分ＬB2及びＬB3の交点を、交差していた拡大方向ベクトルＢ１、Ｂ４及びＢ５の頂点とすることにより、各拡大方向ベクトルＢ１、Ｂ４及びＢ５が交差することを回避させる。
【００６６】
またＣＰＵ３は、文字Ｏの内部の空白部分のように、エッジの大きさをきめる係数を大きくした際に、完全に空間を閉塞させてしまう場合がある。この場合、ＣＰＵ３は、拡大方向ベクトルがないものとみなして元のキャラクタの輪郭の頂点をエッジの頂点として扱うこととする。
【００６７】
ステップＳＰ３６において、ＣＰＵ３は、エッジ用に作成した頂点及びキャラクタの輪郭データを用いて図８に示すようなスキャンライン用線分配置表を作成する。ステップＳＰ３７において、ＣＰＵ３は、エッジの頂点座標及び法線ベクトルを利用して奥行きポリゴンを生成し、次のステップＳＰ３８において、作成したエッジ背面部分に相当するエッジ背面ポリゴンを生成する。因みに、エッジの種類によって表面と背面の拡大及び縮小係数が異なる場合があるので、表面ポリゴンと同様の処理を行う必要がある。
【００６８】
以上の構成において、ＣＰＵ３は、キーボード２７を介して指定された文字を基に当該文字の輪郭を示すアウトラインデータＤ１を得、当該アウトラインデータＤ１に基づいてフェイスポリゴンモデルＤ３及びシャドウポリゴンモデルＤ５でなる３次元の文字データを生成すると共に、当該生成した文字データの輪郭に応じて当該輪郭を強調するためのエッジポリゴンモデルＤ５でなる３次元のエッジデータを生成する。そしてＣＰＵ３は、文字データにエッジデータを付加することによりポリゴンモデルＤ９でなる３次元文字データを生成し、当該３次元文字データに応じた画像をディスプレイ２１に表示する。
【００６９】
以上の構成によれば、キーボード２７を介して指定された文字を基に３次元の文字データを生成すると共に、当該生成した文字データの輪郭に応じて当該輪郭を強調するための３次元のエッジデータを生成し、その文字データにエッジデータを付加して３次元文字データを生成することにより、当該３次元文字データに応じた３次元文字を当該３次元文字の背景となる編集対象の映像に重ねて表示する際、当該背景の色と３次元文字のエッジ部分の色とを異なる色に指定すれば、３次元文字と背景との間の境界を強調することができ、かくして３次元文字の映像タイトルを編集対象の映像上に確実に表示し得る。
【００７０】
（３）アプリケーションプログラムに組み込まれているカラーピッカーによる色選択手順
ここでは図４のマテリアル設定ステップ（ＳＰ６）で行われるカラーピッカーによる色選択手順について図１３に示すフローチャートについて具体的に説明する。なお、この色選択を行うためのカラーピッカーは、映像タイトルを生成するためのアプリケーションプログラムに組み込まれているものである。まずステップＳＰ４４から入ったステップＳＰ４５において、ＣＰＵ３は、図３に示すＧＵＩ画面６０のようにエッジ・シャドウ設定メニュー７６が選択されている場合、ユーザの操作に応じてマテリアル設定メニュー７４が選択されると、図１４に示すようなカラーピッカー１２０をＧＵＩ画面６０に表示する。このカラーピッカー１２０は、その中央付近に色選択操作部１２２を表示し、当該色選択操作部１２２に大まかな色見本を表示している。
【００７１】
ステップＳＰ４６において、ＣＰＵ３は、ユーザの操作に応じて、カラーピッカー１２０の色選択操作部１２２に表示されている色見本の中から所望の色に最も近い色の部分にマウスポインタ１２４を移動し、マウスボタン（図示せず）をクリックした状態に保持（以下、これをホールドと呼ぶ）する。ステップＳＰ４７において、ＣＰＵ３は、ユーザの操作に応じて、例えばマウス３１の右ボタンに予め設定されている拡大キーを押圧し、当該拡大キーを押圧したままの状態で保持する。
【００７２】
そしてステップＳＰ４８において、ＣＰＵ３は、拡大ウィンドウ１２６を表示し、当該拡大ウィンドウ１２６にマウスポインタ１２４によって指定された部分の周辺の色見本を十分な解像度で拡大表示する。ステップＳＰ４９において、ＣＰＵ３は、ユーザの操作に応じて、拡大ウィンドウ１２６に表示された色見本の中から所望の色の部分にマウスポインタ１２４を移動してホールド状態を解除することにより色を確定し、当該確定した色を画像編集画面としてのシーンウィンドウ６２上の３次元文字に施す。次にステップＳＰ５０において、ＣＰＵ３は、ユーザの操作に応じて、拡大キーの押圧が解除されると、ステップＳＰ５１において、拡大ウィンドウ１２６がＧＵＩ画面６０から消去される。次にステップＳＰ５２に移って処理を終了する。
【００７３】
以上の構成において、ＣＰＵ３は、カラーピッカー１２０の色選択操作部１２２の一部を必要に応じて高い解像度で拡大ウィンドウ１２６に拡大表示することにより、カラーピッカー１２０の表示面積を大きくすることなく、現存する全ての色を表示する。
【００７４】
以上の構成によれば、カラーピッカー１２０の色選択操作部１２２の一部を必要に応じて拡大表示することにより、カラーピッカー１２０の表示面積を大きくすることなく、現存する全ての色を表示することができ、かくして従来の視認性を維持しながら所望の色を選択し得る。
【００７５】
（４）グループプロパティダイアログによる色選択手順
ここでは図４のマテリアル設定ステップ（ＳＰ６）で行われるグループプロパティダイアログによる色選択手順について図１６に示すフローチャートを用いて具体的に説明する。なお、この色を選択するための色選択ダイアログは、オペレーティングシステムに組み込まれているものである。
【００７６】
まずステップＳＰ６０から入ったステップＳＰ６１において、ＣＰＵ３は、図３に示すＧＵＩ画面６０を表示している状態で、ユーザの操作入力に応じてグループプロパティ設定ボタン７１がクリックされると、ステップＳＰ１６２に進んで、図１７に示すようなグループプロパティダイアログ１３０を表示する。
【００７７】
このグループプロパティダイアログ１３０は、図５に示すポリゴンモデルＤ９（図５）のうち、フェイスポリゴンモデルＤ３の色を設定するための色設定ボタン１３２及び当該フェイスポリゴンモデルＤ３のグラデーション（階調）を設定するための色設定ボタン１３３、シャドウポリゴンモデルＤ７の色を設定するための色設定ボタン１３４及び当該シャドウポリゴンモデルＤ７のグラデーションを設定するための色設定ボタン１３５、エッジポリゴンモデルＤ５の色を設定するための色設定ボタン１３６及び当該エッジポリゴンモデルＤ５のグラデーションを設定するための色設定ボタン１３７、シーンウィンドウ６２（図３）に表示されるポリゴンモデルＤ９の影の色を設定するための色設定ボタン１３８及び当該影のグラデーションを設定するための色設定ボタン１３９を表示している。これら色設定ボタン１３２〜１３９は、それぞれボタン上に現在設定されているＲＧＢの各パラメータ値を表示している。
【００７８】
ステップＳＰ６３において、ＣＰＵ３は、ユーザの入力操作に応じて、色設定ボタン１３２〜１３９のうち、色を変更する対象のポリゴンモデルの色設定ボタンをクリックすると、ステップＳＰ６４に進んで、図１８に示すような色選択ダイアログ１４５を表示する。ステップＳＰ６５において、ＣＰＵ３は、色選択ダイアログ１４５を表示している状態で、ユーザの入力操作に応じて基本色１４７の中から所望の色を選択した後、ＯＫボタン１４９をクリックすることにより指定したポリゴンモデルの色を決定する。
【００７９】
ステップＳＰ６６に進んで、ＣＰＵ３は、色選択ダイアログ１４５を閉じ、グループプロパティダイアログ１３０を表示すると共に、当該グループプロパティダイアログ１３０のうち、選択された色設定ボタン１３２〜１３９の各パラメータ値を設定されたパラメータ値に変更して表示する。この状態において、ＣＰＵ３は、ユーザの入力操作に応じてＯＫボタン１５１がクリックされると、グループプロパティダイアログ１３０を閉じ、シーンウィンドウ６２（図３）に表示されている３次元文字に色を施す。次にステップＳＰ６７に移って処理を終了する。
【００８０】
以上の構成において、グループプロパティダイアログ１３０は、色設定ボタン１３２〜１３９上に現在設定されているＲＧＢの各パラメータ値を表示することにより、従来のように色設定ボタンを表示する領域とは別の領域にパラメータ値を表示する場合に比して、限られたグループプロパティダイアログ１３０の表示領域を有効に利用している。
【００８１】
以上の構成によれば、色選択ダイアログ１４５を表示するための色設定ボタン１３２〜１３９上に現在設定されているＲＧＢの各パラメータ値を表示することにより、従来のように色設定ボタンを表示する領域とは別の領域にパラメータ値を表示する場合に比して、限られたグループプロパティダイアログ１３０の表示領域を有効に利用することができ、かくして従来に比して一段と効率的な表示画面を生成し得る。
【００８２】
（５）透視投影変換
ここでは図４のパース設定ステップ（ＳＰ７）で行われる透視投影変換手順について図１９に示すフローチャートを用いて具体的に説明する。まずステップＳＰ７５から入ったステップＳＰ７６において、ＣＰＵ３は、ユーザの入力情報に応じて、ポリゴンモデルＤ９（図５）からなる文字列に対して個別に透視投影変換を行う（以下、これをマルチパースと呼ぶ）指定があったか否かを判定し、その結果、マルチパース指定があったと判断した場合にはステップＳＰ７７に移行し、マルチパース指定がなかったと判断した場合にはステップＳＰ７８に移行する。
【００８３】
ステップＳＰ７７において、ＣＰＵ３は、マルチパース指定があった文字列に対してパース設定を行うことにより透視投影変換を施し、その際、当該透視投影変換された文字列を枠無しウィンドウと呼ばれる表示領域内に表示する。ステップＳＰ７８に進んで、ＣＰＵ３は、シーンウィンドウ６２全体に対してパース設定を行うことにより、マルチパース指定を受けなかった文字列に対してパース設定を行って透視投影変換を施す。
【００８４】
図２０は、マルチパース指定対象外の文字列１６０〜１６２を表示することに加えてマルチパース指定対象の文字列１６３及び１６４を枠無しウィンドウ１６３Ｗ及び１６４Ｗに表示したシーンウィンドウ６２を示す。枠無しウィンドウ１６３Ｗ及び１６４Ｗの大きさは、文字列が透視投影変換されたときのシーンウィンドウ６２の大きさを基に、当該透視投影変換された文字列を包含する最も小さい直方体によって決定される。このシーンウィンドウ６２上の大きさは、一度シーンウィンドウ６２に描画処理を最後まで実行しないと得られないので、１回目の描画処理によって決定された大きさを基準として、２回目以降の描画処理において必要最小限の大きさを算出していく。
【００８５】
図２０との対応部分に同一符号を付して示す図２１は、マルチパース指定対象外の文字列１６２及びマルチパース指定対象の文字列１６４を上方に移動させるアニメーション処理を示す。その際、マルチパース指定対象外の文字列１６２は、視点に対する文字列の位置を移動している一方、マルチパース指定対象の文字列１６４は、透視投影変換による変化がない。このようにシーンウィンドウ６２では、枠無しウィンドウがない状態で表示されている文字列１６２のアニメーション処理と枠無しウィンドウ１６４Ｗの表示位置の変更という２種類のアニメーション処理を行い得る。
【００８６】
以上の構成において、ＣＰＵ３は、仮想３次元空間中に生成した３次元文字でなる映像タイトルを文字列毎に個別に透視投影変換を行ってシーンウィンドウ６２に表示することにより、映像タイトルを構成する複数種類の３次元文字列をそれぞれ独立した空間に存在するように表示する要求がある場合、従来のように複数種類の３次元文字列をそれぞれ個別に透視投影変換した画面を合成するような手間が必要ない。またＣＰＵ３は、複数の異なる種類の透視投影変換が施された３次元文字列を同一のシーンウィンドウ６２上に表示し、ユーザの要求に応じて３次元文字列が存在する空間内で当該３次元文字列を移動させたり、３次元文字列が存在する空間を当該３次元文字列と共に移動させることにより、ユーザの要求に応じたアニメーションが作成される。
【００８７】
以上の構成によれば、仮想３次元空間中に生成した３次元文字でなる映像タイトルを文字列毎に個別に透視投影変換を行ってシーンウィンドウ６２に表示することにより、ユーザの要求に応じてそれぞれ独立した空間内に存在する３次元文字列でなる映像タイトルを容易に生成することができ、かくして従来に比して一段とユーザの使い勝手を向上し得る。
【００８８】
（６）３次元文字の回転動作
ここでは図４に示すフローチャートの描画ステップ（ＳＰ９）が終了した後に必要に応じて行われる３次元文字の回転動作手順について図２２に示すフローチャートを用いて説明する。まずステップＳＰ８５から入ったステップＳＰ８６において、ＣＰＵ３は、ユーザの操作入力に応じて、シーンウィンドウ６２に表示されている映像タイトルのうち所望の３次元文字上でマウス３１の左ボタン（図示せず）がダブルクリックされると、当該３次元文字を選択状態にする。
【００８９】
ステップＳＰ８７において、ＣＰＵ３は、ユーザの操作入力に応じて、回転軸スイッチ６９に表示されている回転軸すなわちＸ軸、Ｙ軸及びＺ軸のうちの所望のものがマウス３１によってクリックされると、当該クリックされた回転軸を選択する。次にステップＳＰ８８において、ＣＰＵ３は、ユーザの操作入力に応じて、選択状態にある３次元文字に対してマウス３１の左ボタンが押圧されると、当該３次元文字の回転を開始させ、ステップＳＰ８９に進んで、マウス３１の左ボタンを押した状態で移動（以下、これをドラッグと呼ぶ）させることにより、現在選択されている回転軸における３次元文字の回転角度を調整する。
【００９０】
ステップＳＰ９０において、ＣＰＵ３は、ユーザの入力操作に応じてマウス３１の左ボタンが解放されたか否か判断し、その結果、解放されたと判断した場合にはステップＳＰ９１に移って、選択された３次元文字の表示状態を決定して処理を終了し、解放されていないと判断した場合にはステップＳＰ９２に移る。
【００９１】
ステップＳＰ９２において、ＣＰＵ３は、ユーザの入力操作に応じて、マウス３１の右ボタンが押圧されたか否か判断し、その結果、右ボタンが押圧されていないと判断した場合にはステップＳＰ８９に戻って動作を繰り返す。ステップＳＰ９３において、ＣＰＵ３は、回転軸をＸ軸、Ｙ軸、Ｚ軸、Ｘ軸、……という順序で順次切り替えた後、ステップＳＰ８９に戻って当該切り替えられた回転軸の回転角度を調整する。
【００９２】
以上の構成において、ＣＰＵ３は、マウス３１の左ボタンを押圧してドラッグさせながら所望の回転軸における３次元文字の回転角度を調整している状態において、当該回転軸における回転角度の調整が終了した場合にはマウス３１の右ボタンを押圧することにより、予め決められている順序に従って回転角度を調整するための回転軸を切り替える。これにより従来のように回転軸スイッチ６９の中から所望の回転軸を選択するような操作を行わずに回転軸が切り替えられる。
【００９３】
以上の構成によれば、マウス３１の右ボタンを押圧する毎に予め決められた順序に従って回転軸を順次切り替えることにより、従来のように回転軸スイッチ６９の中から所望の回転軸を選択する場合に比して簡単に回転軸を選択することができ、かくして従来に比して一段と容易に３次元文字の回転動作を行うことができる。
【００９４】
（７）アニメーションデータの作成及び管理
ここでは図４に示すフローチャートの描画処理ステップ（ＳＰ９）が終了した後に必要に応じて行われる３次元文字のアニメーションデータ作成及びその管理方法について説明する。映像タイトル生成装置１は、生成した映像タイトルに滑らかな動きを付加するアニメーション手法として、まず複数の基準となるフレーム（以下、これをキーフレームと呼ぶ）を用意し、当該キーフレーム間に各キーフレームにおける３次元文字の位置を直線又は曲線で補間してなる画像を複数挿入することによりアニメーションデータを生成するようなキーフレームアニメーションと呼ばれる手法を採用している。
【００９５】
以下、このキーフレームアニメーション作成手順について図２３に示すフローチャートを用いて説明する。ステップＳＰ１００から入ったステップＳＰ１０１において、ＣＰＵ３は、図４に示すポリゴンモデル生成手順を順次繰り返すことにより３次元文字を作成する。ステップＳＰ１０２において、ＣＰＵ３は、ユーザの入力操作に応じて上述の３次元文字に対して移動、拡大縮小及び回転などの画像処理を施すことにより動画像を作成する。
【００９６】
次にステップＳＰ１０３において、ＣＰＵ３は、ユーザの入力操作に応じて図３に示すＧＵＩ画面６０においてキーフレーム追加ボタン９０がクリックされると、図２に示すＧＵＩオブジェクト４２からドキュメント・オブジェクト４８に対して現在の３次元文字の表示状態をメッセージ情報Ｍ２として送出させ、ステップＳＰ１０４に進んで、ＣＰＵ３は、ドキュメント・オブジェクト４８において採用されている図２４に示すようなシーングラフと呼ばれる階層データ構造の各ノードにアニメーションデータを追加するようになされている。その際、ＣＰＵ３は、アニメーション動作するノードに対してのみデータを追加し、アニメーション動作しないノードに対してはデータを追加しないようになっている。
【００９７】
具体的には図２４に示すように、シーングラフ１７０は、ページノード１７１、レイヤノード１７２、グループノード１７３、マテリアルノード１７４、トランスレートノード１７５、スケールノード１７６、ローテートノード１７７及びモデルノード１７８によって構成されている。
【００９８】
ページノード１７１は、動画像全体に関する情報を保持し、レイヤノード１７２は、レイヤに関する情報を保持し、グループノード１７３は、グループに関する情報を保持する。マテリアルノード１７４は、ポリゴンモデルの色や質感に関する情報を保持し、トランスレートノード１７５は、ポリゴンモデルの仮想３次元空間内での位置に関する情報を保持する。スケールノード１７６は、ポリゴンモデルの拡大縮小率に関する情報を保持し、ローテートノード１７７は、ポリゴンモデルの回転状態に関する情報を保持し、モデルノード１７８は、フォントや文字データ等の表示モデル自身の特性に関する情報を保持する。
【００９９】
以上の構成において、ＣＰＵ３は、キーフレームに対してアニメーション動作する３次元文字のデータのみを記憶させていくことにより、従来のように映像タイトル全体を動画像として各フレームの３次元文字データを全て記憶する場合に比して記憶対象のデータ量を削減している。またＣＰＵ３では、静止画像と動画像とを同一のデータ構造で管理していることから、従来のように静止画像と動画像とを別々に管理する場合に比して映像タイトルの管理が単純化される。
【０１００】
以上の構成によれば、基準となる静止画像に対してアニメーション動作する領域の画像データのみを順次記憶していくことにより、各フレームの全ての画像データを記憶する場合に比して記憶対象のデータのデータを削減することができ、かくして従来に比して一段と効率的に画像データを管理し得る。
【０１０１】
（８）映像タイトル送出手順
ここでは映像タイトルの生成、編集及び送出にかかわる一連の作業について説明する。以下、図２５に示すフローチャートを用いて映像タイトルの送出手順について具体的に説明する。ステップＳＰ１１０から入ったステップＳＰ１１１において、ＣＰＵ３は、ユーザの入力操作に応じてキーボード２７から所望の文字が指定されると、当該文字に応じた３次元文字をグラフィックスアクセラレータ１３（図１）を介してディスプレイ２１（図１）に瞬時に表示する。
【０１０２】
ステップＳＰ１１２において、ＣＰＵ３は、ユーザの入力操作に応じて、位置、大きさ及びマテリアル等の各種属性値が設定されると、当該設定された属性値に応じた３次元文字をグラフィックスアクセラレータ１３（図１）を介してディスプレイ２１（図１）に瞬時に表示する。このように映像タイトル生成装置１では、キーボード２７（図１）からユーザによって入力情報が入力されると、当該入力情報に応じた３次元文字を即座にディスプレイ２１に表示することができることから、ユーザはインタラクティブ（対話的）に入力結果を確認しながら編集作業を行うことができる。
【０１０３】
ステップＳＰ１１３において、ＣＰＵ３は、ユーザの操作入力に基づいて編集作業を終了するか否か判断し、その結果、ディスプレイ２１に表示されている３次元文字にさらに修正を加える必要があると判断した場合にはステップＳＰ１１１に戻って編集作業を継続し、編集作業を終了すると判断した場合にはステップＳＰ１１４に移行する。
【０１０４】
ステップＳＰ１１４において、ＣＰＵ３は、グラフィックスアクセラレータ１３から映像タイトルをフレームバッファに供給し、当該映像タイトルと外部から供給された映像とを合成してモニタ２３に出力して表示する。次にステップＳＰ１１５に移って処理を終了する。
【０１０５】
以上の構成において、ＣＰＵ３は、ユーザの入力操作に応じて生成された３次元文字をグラフィックスアクセラレータ１３を介して当該３次元文字に応じた映像合成用の画像に変換してディスプレイ２１に即座に表示することにより、ユーザは入力結果をインタラクティブに確認しながら編集作業を行う。またＣＰＵ３は、ユーザの操作入力に応じてグラフィックスアクセラレータ１３からフレームバッファ１５に映像タイトルを転送して当該フレームバッファ１５によって映像タイトルと編集対象の映像とを合成してモニタ２３に出力して表示することにより、送出作業にかかる手間や時間が削減される。
【０１０６】
以上の構成によれば、ユーザの操作入力に応じた３次元文字でなる映像タイトル用の画像を即座にディスプレイ２１に表示すると共に、送出の際にはグラフィックスアクセラレータ１３からフレームバッファ１５に映像タイトルデータを転送して当該フレームバッファ１５によって映像タイトルと外部から供給される映像とを合成してモニタ２３に表示することにより、従来のように３次元文字の生成、編集及び送出にかかわる作業を削減することができ、かくして従来に比して一段と使い勝手を向上し得る。
【０１０７】
（９）他の実施の形態
なお上述の実施の形態においては、マウス３１の右ボタンを拡大キーとした場合について述べたが、本発明はこれに限らず、キーボード２７上の任意のキーを拡大キーとしても良い。
【０１０８】
また上述の実施の形態においては、基本色１４７の中から所望の色を選択するようにした場合について述べたが、本発明はこれに限らず、図１８に示すように、基本色１４７に比して詳細な色見本を表示している色表示領域１５３の中から所望の色見本を選択するか、又は色パラメータ設定領域１５５において数値を設定することによって色を設定するようにしても良い。
【０１０９】
また上述の実施の形態においては、色設定ボタン１３２〜１３９上にＲＧＢのパラメータ値を表示するようにした場合について述べたが、本発明はこれに限らず、例えばＨ（Hue ）Ｌ（Luminance ）Ｓ（Saturation）のように、他の種々のパラメータ値を表示するようにしても良い。
【０１１０】
さらに上述の実施の形態においては、指定された文字に応じた３次元文字を生成した場合について述べたが、本発明はこれに限らず、例えば図形のような他の種々の表示要素を立体化する表示要素立体化装置に本発明を広く適用し得る。
【０１１１】
【発明の効果】
上述のように本発明によれば、立体化された表示要素を縁取るようにして多角形の面で形成される立体要素を生成し、当該立体要素を立体化された表示要素に付加して表示手段に表示することにより、立体要素によって立体化された表示要素の輪郭を強調することができ、かくしてユーザは表示手段の表示画面にかかわらず表示要素を確実に認識し得る。
【図面の簡単な説明】
【図１】本発明による映像タイトル生成装置の一実施の形態を示すブロック図である。
【図２】アプリケーションプログラムの構成の説明に供する略線図である。
【図３】ＧＵＩ画面の説明に供する略線図である。
【図４】ＣＰＵによるポリゴンモデル生成手順を示すフローチャートである。
【図５】ポリゴンモデル生成の説明に供する略線図である。
【図６】パースの設定の説明に供する略線図である。
【図７】３次元文字生成手順を示すフローチャートである。
【図８】スキャンライン用線分配置表の作成の説明に供する略線図である。
【図９】ポリゴン生成のための３角形分割処理の説明に供する略線図である。
【図１０】エッジ生成手順を示すフローチャートである。
【図１１】拡大方向の単位ベクトルの生成の説明に供する略線図である。
【図１２】拡大方向ベクトルの再計算の説明に供する略線図である。
【図１３】カラーピッカーによる色選択手順を示すフローチャートである。
【図１４】カラーピッカーの表示画面の説明に供する略線図である。
【図１５】カラーピッカーの表示画面の説明に供する略線図である。
【図１６】グループプロパティダイアログによる色選択手順を示すフローチャートである。
【図１７】グループプロパティダイアログの表示画面の説明に供する略線図である。
【図１８】色選択ダイアログの表示画面の説明に供する略線図である。
【図１９】透視投影変換手順を示すフローチャートである。
【図２０】マルチパース指定されたときのシーンウィンドウの説明に供する略線図である。
【図２１】マルチパース指定されたときのシーンウィンドウの説明に供する略線図である。
【図２２】３次元文字の回転動作手順を示すフローチャートである。
【図２３】キーフレームアニメーション作成手順を示すフローチャートである。
【図２４】シーングラフの説明に供する略線図である。
【図２５】映像タイトル送出手順を示すフローチャートである。
【符号の説明】
１……映像タイトル生成装置、３……ＣＰＵ、５……システムコントローラ、７……メモリ、９……キャッシュ、１１……Ｉ／Ｏコントローラ、１３……グラフィックスアクセラレータ、１５……フレームバッファ、１７……ハードディスクコントローラ、１９……ＨＤＤ、２１……ディスプレイ、２３……モニタ、２５……キーボードコントローラ、２７……キーボード、２９……マウスコントーラ、３１……マウス。
【図１】
0004203780.tif 000003
【図２】
0004203780.tif 000004
【図３】
0004203780.tif 000005
【図４】
0004203780.tif 000006
【図５】
0004203780.tif 000007
【図６】
0004203780.tif 000008
【図７】
0004203780.tif 000009
【図８】
0004203780.tif 000010
【図９】
0004203780.tif 000011
【図１０】
0004203780.tif 000012
【図１１】
0004203780.tif 000013
【図１２】
0004203780.tif 000014
【図１３】
0004203780.tif 000015
【図１４】
0004203780.tif 000016
【図１５】
0004203780.tif 000017
【図１６】
0004203780.tif 000018
【図１７】
0004203780.tif 000019
【図１８】
0004203780.tif 000020
【図１９】
0004203780.tif 000021
【図２０】
0004203780.tif 000022
【図２１】
0004203780.tif 000023
【図２２】
0004203780.tif 000024
【図２３】
0004203780.tif 000025
【図２４】
0004203780.tif 000026
【図２５】
0004203780.tif 000027