JP4203780B2 - 表示要素立体化装置及びその方法 - Google Patents

表示要素立体化装置及びその方法 Download PDF

Info

Publication number
JP4203780B2
JP4203780B2 JP06905399A JP6905399A JP4203780B2 JP 4203780 B2 JP4203780 B2 JP 4203780B2 JP 06905399 A JP06905399 A JP 06905399A JP 6905399 A JP6905399 A JP 6905399A JP 4203780 B2 JP4203780 B2 JP 4203780B2
Authority
JP
Japan
Prior art keywords
dimensional
vector
display
character
data
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.)
Expired - Fee Related
Application number
JP06905399A
Other languages
English (en)
Other versions
JP2000268202A (ja
Inventor
哲 本城
義博 吉岡
忠義 伊谷
英之 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP06905399A priority Critical patent/JP4203780B2/ja
Publication of JP2000268202A publication Critical patent/JP2000268202A/ja
Application granted granted Critical
Publication of JP4203780B2 publication Critical patent/JP4203780B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Studio Circuits (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は表示要素立体化装置及びその方法に関し、例えば映像に重ねて表示するための映像タイトルを生成する映像タイトル生成装置に適用して好適なものである。
【0002】
【従来の技術】
従来、映像に重ねて表示するための映像タイトルを生成する映像タイトル生成装置では、当該映像タイトルを3次元表示する場合、生成した2次元の文字に対して影を付けるような画像処理を2次元的に施すことにより、当該2次元の文字を疑似的に3次元表示するしかなかった。そこで3次元の映像タイトルを生成したい場合には、3次元モデリングシステムと呼ばれるアルゴリズムからなるCG(Computer Graphics )制作用アプリケーションを用いて生成するようになされている。
【0003】
【発明が解決しようとする課題】
ところでこのCG制作用アプリケーションは、汎用性が高く、様々な立体画像を生成することができる一方、映像タイトルに必要な文字の輪郭を強調するためのエッジを生成することができないことから、例えば映像タイトルの文字の色と当該映像タイトルの背景となる映像の色とが同一の場合には、視聴者が当該映像タイトルを認識できない問題があった。
【0004】
本発明は以上の点を考慮してなされたもので、ユーザは表示画面にかかわらず表示要素を確実に認識し得る表示要素立体化装置及びその方法を提案しようとするものである。
【0005】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、ユーザの操作によって入力手段を介して指定された表示要素の形状を立体化する立体化手段と立体化手段によって立体化された表示要素を縁取るようにして多角形の面で形成される立体要素を生成する立体要素生成手段と立体要素生成手段によって生成された立体要素を立体化手段によって立体化された表示要素に付加して表示手段に表示する表示制御手段とを設け、立体要素生成手段が、表示要素の輪郭を形成する頂点ごとに、同一の頂点を端点とする2つの線分のうちの一方の線分から垂直に延びる第1のベクトルと、他方の線分から垂直に延びる第2のベクトルとを生成し、当該第1のベクトルと垂直に交わる第1の補助線と、当該第2のベクトルと垂直に交わる第2の補助線とを生成し、2つの線分の端点となる頂点から当該第1の補助線及び当該第2の補助線の交点に延びる第3のベクトルを生成し、当該第3のベクトルをもとに立体要素の頂点座標を決定することで立体要素を生成するようにした。
【0006】
立体化された表示要素を縁取るようにして多角形の面で形成される立体要素を生成し、当該立体要素を立体化された表示要素に付加して表示手段に表示することにより、立体要素によって立体化された表示要素の輪郭を強調することができる。
【0007】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【0008】
(1)映像タイトル生成装置の構成
図1において、1は全体として映像タイトル生成装置を示し、ユーザの操作に応じて映像タイトルを生成して当該映像タイトルを映像に重ねて表示し得るようになされている。CPU(Central Processing Unit )3は、映像タイトル生成装置1全体の制御及び所定の演算処理を行うためのものであり、ホストバスB1に接続されているシステムコントローラ5を介してメモリ7及びキャッシュ9にアクセスし得るようになされている。
【0009】
CPU3は、システムコントローラ5を介して例えばDRAM(Dynamic Random Memory )でなるメモリ7にアクセスすることにより、当該メモリ7にデータを書き込んで記憶すると共に、当該メモリ7から記憶されているデータを読み出すようになされている。キャッシュ9は、メモリ7に記憶されているデータのうち、CPU3が頻繁にアクセスするデータを記憶するためのものである。従ってCPU3は、メモリ7に記憶されているデータのうち、一度アクセスしたデータをキヤッシュ9に記憶しておき、再び同一のデータが必要な場合には、キャッシュ9にアクセスして当該必要なデータを読み出すようになされている。
【0010】
さらにCPU3は、システムコントローラ5を介してPCI(Peripheral Component Interconnect )バスB2に接続され、当該PCIバスB2に接続されているI/O(Input/Output)コントローラ11、グラフィックスアクセラレータ13及びフレームバッファ15にアクセスし得るようになされている。I/Oコントローラ11は、PCIバスB2及びISA(Industry Standard Architecture)バスB3に接続され、当該PCIバスB2及びISAバスB3を介してデータの送受信の制御を行うようになされている。ハードディスクコントローラ17は、I/Oコントローラ11に接続され、CPU3からI/Oコントローラ11を介して供給されるアクセス要求に基づいて、プログラムデータ記憶手段としてのHDD(Hard Disk Drive )19の所定の領域に対してデータの読み書きを行う。HDD19は、内蔵するハードディスクに、オペレーティングシステム(OS)及び映像タイトルを生成するためのアプリケーションプログラムでなるソフトウェア資源を格納している。
【0011】
グラフィックスアクセラレータ13は、CPU3からシステムコントローラ5を介して供給される描画命令に基づいて、オペレーティングシステムやアプリケーションプログラムなどに応じた画像を表示手段としてのディスプレイ21に描画して表示する。フレームバッファ15は、CPU3からシステムコントローラ5を介して供給される表示命令に基づいて、外部の映像供給手段から供給される映像信号を合成表示手段としてのモニタ23に表示するようになされている。
【0012】
キーボードコントローラ25は、ユーザの入力操作に応じて入力手段としてのキーボード27から入力された入力情報をI/Oコントローラ11及びシステムコントローラ5を介してCPU3に通知すると共に、入力情報をI/Oコントローラ11を介してグラフィックスアクセラレータ13に送出して当該入力情報に応じた画像をディスプレイ21に表示させる。
【0013】
マウスコントローラ29は、ユーザの操作によって入力手段としてのマウス31が動くと、当該マウス31の移動方向や距離でなる動き情報をI/Oコントローラ11及びシステムコントローラ5を介してCPU3に通知し、当該CPU3の制御によってディスプレイ21上のマウスカーソルをマウス31の動きに応じて移動させる。
【0014】
ところで図2に示すように、HDD19に格納されているアプリケーションプログラム40は、オブジェクト指向型のプログラム言語によって作成され、具体的にはGUI(Graphical User Interface)オブジェクト42、レンダリング・オブジェクト44、モデリング・オブジェクト46、ドキュメント・オブジェクト48及びフレーム・バッファ・オブジェクト50の各構成要素から構成されている。
【0015】
GUIオブジェクト42は、ユーザによって行われる全ての操作の定義、各操作で指定された各種パラメータの保存、各操作によるディスプレイ21への表示更新処理を行うものである。またGUIオブジェクト42は、各オブジェクトとのユーザインターフェイスであり、各操作に応じてレンダリング・オブジェクト44を動作させるためのメッセージ情報M1、ドキュメント・オブジェクト48を動作させるためのメッセージ情報M2及びフレーム・バッファ・オブジェクト50を動作させるためのメッセージ情報M3を生成し、これらを対応するオブジェクトに通知する。
【0016】
表示制御手段としてのレンダリング・オブジェクト44は、GUIオブジェクト42からメッセージ情報M1が与えられると、ドキュメント・オブジェクト48から描画に必要なパラメータでなるパラメータ情報を受け取り、当該パラメータ情報に基づいてディスプレイ21に描画処理を実行するようになされている。立体化手段としてのモデリング・オブジェクト46は、キーボード27(図1)から指定された文字データを基に多角形の面(以下、これをポリゴンと呼ぶ)によって構成される3次元文字を生成する。ところでレンダリング・オブジェクト44は、GUIオブジェクト42においてユーザが表示を更新すべき操作を行ったか否か判断し、その結果、表示を更新すべき操作を行ったと判断した場合には、モデリング・オブジェクト46を起動させるためのメッセージ情報M4を生成し、当該メッセージ情報M4をモデリング・オブジェクト46に与えることにより、モデリング・オブジェクト46を起動するようになされている。
【0017】
記憶制御手段としてのドキュメント・オブジェクト48は、GUIオブジェクト42において定義された操作及び各種パラメータを保持している。ディスプレイ21に表示される3次元文字に関する形状データ、位置データ、姿勢データ、色データ、照明データ、移動データ及びスケールデータなどを作成するのに必要なデータは、GUIオブジェクト42からメッセージ情報M2として送られており、レンダリング・オブジェクト44によって行われる描画更新毎に使用されるようになされている。合成表示制御手段としてのフレーム・バッファ・オブジェクト50は、レンダリング・オブジェクト44における描画処理と同様に、GUIオブジェクト42から供給されるメッセージ情報M3によってフレームバッファ15(図1)を駆動してモニタ23(図1)に対して描画処理を行う。
【0018】
ここで図3は、上述のようなアプリケーションプログラム40を実行させるためのGUI画面60を示し、ディスプレイ21(図1)に表示されている。このGUI画面60に対して行われる操作のうち、まず、GUI画面60のシーンウィンドウ62に表示された仮想3次元空間中に対して文字を入力及び配置して表示するための操作について説明する。GUI画面60は、ユーザの入力操作に応じて新規グループ作成ボタン64がクリックされると、複数の文字を1つの集合とみなしたグループを新規に作成する。因みに全ての文字は、いずれか1つのグループに属するようなデータ構造をとっており、1つのグループには0個以上の文字を属させることが可能となっている。
【0019】
ところでGUI画面60は、キーボード27(図1)から文字が入力されると、当該入力された文字に応じた3次元文字を瞬時にシーンウィンドウ62に表示する。なおGUI画面60は、ユーザの入力操作に応じてキーボード27(図1)のバックスペースキーが押圧されると、入力された3次元文字を削除し得るようになされている。
【0020】
またGUI画面60は、ユーザの入力操作に応じてキーボード27のカーソルキーを使用してシーンウィンドウ62上のカーソル位置を移動させた後に、キーボード27(図1)のバックスペースキーが押圧されると、カーソルが示す位置に存在する所望の文字を削除することができるようになされている。同様にGUI画面60は、ユーザの入力操作に応じてカーソルキーを使ってカーソル位置を移動した後にキーボード27から文字が入力されると、カーソルが示す位置に新規に所望の文字を挿入することができるようになされている。このようなシーンウィンドウ62に対する描画及び再描画処理は、レンダリング・オブジェクト44のレンダリング処理に時間をとられず、瞬時に所望の画像をシーンウィンドウ62に表示させることができる。
【0021】
続いてシーンウィンドウ62に入力された文字の表示位置を平行移動させる操作について説明する。まずGUI画面60は、ユーザの入力操作に応じて所望のグループを示す領域がダブルクリックされると、表示位置の変更の対象となる文字が属するグループを選択する。これを受けてGUI画面60は、選択したグループの周囲に選択枠66を表示し、当該選択枠66内に存在する文字が選択状態にあることをユーザに知らせる。
【0022】
続いてGUI画面60は、ユーザの入力操作に応じて選択状態にあるグループ上にマウスカーソルを合わせ、当該マウスカーソルを押しながら移動させるような操作(以下、これをドラッグ操作と呼ぶ)が行われると、文字を仮想3次元空間中で上下方向(Y軸方向)及び左右方向(X軸方向)に平行移動させ得るようになされている。さらにGUI画面60は、ユーザの入力操作に応じてグループの回転中心軸68の位置でドラッグ操作が行われると、仮想3次元空間中で奥行き方向(Z軸方向)に平行移動させることができるようになされている。このような操作は、移動させた結果がレンダリング・オブジェクト44によるレンダリング処理に待たされることなく、リアルタイムにシーンウィンドウ62上に表示させることができることから、迅速にかつ正確に行うことができる。
【0023】
続いてシーンウィンドウ62に入力された文字の表示位置を回転移動によって変更する操作について説明する。GUI画面60は、ユーザの入力操作に応じて所望のグループ上がダブルクリックされると、表示位置の変更の対象としたい文字が属するグループを選択する。これを受けてGUI画面60は、選択されたグループに属する文字全てに選択枠66を表示し、当該選択枠66が表示されたグループが選択状態にあることをユーザに知らせる。この状態において、GUI画面60は、ユーザの入力操作に応じて回転軸スイッチ69がクリックされると、回転移動操作の中心軸としたい座標軸を、X軸、Y軸及びZ軸の中からいずれか1つを選択する。
【0024】
その後GUI画面60は、ユーザの入力操作に応じてドラッグ操作が行われると、仮想3次元空間中で回転移動させることができるようになされている。このような回転移動操作は、上述の平行移動操作と同様に、変更結果がレンダリング処理に待たされることなく、リアルタイムにシーンウィンドウ62に表示されることから、所望の移動操作を迅速にかつ正確に行うことができる。
【0025】
またGUI画面60は、ユーザの入力操作に応じて描画モードスイッチ70が切り換えられると、文字又は図形の描画を切り換えることができるようになされている。またGUI画面60は、ユーザの入力操作に応じてグループプロパティ設定ボタン71が選択されると、所定の画面を表示することによりグループに関する詳細な設定操作を行い得るようにする。
【0026】
次いで、GUI画面60に対して行われる操作のうち、文字の各種属性を変更することによって当該文字に修飾を施すための操作について説明する。まず文字の表示サイズを変更する操作について説明する。GUI画面60は、ユーザの操作に応じて所望のグループがダブルクリックされると、サイズ変更対象の文字が属するグループを選択する。
【0027】
これを受けてGUI画面60は、選択されたグループに属する文字全てに選択枠66が表示され、現在選択状態にあることを表示する。さらにGUI画面60は、ユーザの操作に応じてサイズ変更スイッチ72が押圧されると、サイズ変更操作の対象としたい方向を、X軸、Y軸、Z軸のうちいずれか1つを選択する。
【0028】
次いでGUI画面60は、ユーザの入力操作に応じて、選択したグループ上でドラッグ操作が行われると、文字の大きさを所望のサイズに伸縮させることができるようになされている。サイズ変更の操作は、変更結果がリアルタイムにシーンウィンドウ62に表示されることから、所望の操作を迅速にかつ正確に行うことが可能である。
【0029】
続いて文字の表示フォント(書体)を変更する操作について説明する。GUI画面60は、ユーザの入力操作に応じて所望のグループがダブルクリックされると、フォント変更の対象となる文字が属するグループを選択する。これを受けてGUI画面60は、選択されたグループに属する文字全てに選択枠66が表示され、現在選択状態であるこを表示する。次にGUI画面60は、ユーザの入力操作に応じてフォント設定メニュー73がクリックされると、フォントの設定に関するメニューを表示した後、表示される複数のフォントの中から所望のフォントを選択して表示フォントを変更することができ、その変更結果はシーンウィンドウ62に瞬時に表示される。
【0030】
さらに続いて文字表面の材質や質感に関する属性を示すマテリアル属性を変更する操作について説明する。まずGUI画面60は、ユーザの入力操作に応じて所望のグループがダブルクリックされると、マテリアル変更の対象とする文字が属するグループを選択する。GUI画面60は、選択されたグループに属する文字全てに選択枠66が表示され、現在選択状態にあることを表示する。次にGUI画面60は、ユーザの入力操作に応じてマテリアル設定メニュー74が選択されると、マテリアル設定のためのメニューを表示する。この表示されたメニューにおいて、ユーザの入力操作に応じて例えば環境拡散光反射率、鏡面光反射率、放射光、光沢のようなマテリアル属性の各設定値を入力し、グループに対するマテリアル属性を変更する。このようにマテリアル属性を調整することにより、文字表面の色や光沢の度合い等をユーザの任意に設定することができ、変更されたマテリアル属性はシーンウィンドウ62に瞬時に表示される。
【0031】
さらに続いて文字に縁取りすなわちエッジを付加する操作について説明する。GUI画面60は、ユーザの入力操作に応じて所望のグループ上がダブルクリックされると、エッジを付加する対象とする文字が属するグループを選択する。これを受けてGUI画面60は、選択されたグループに属する文字全てに選択枠66が表示され、現在選択状態であることを表示する。次にGUI画面60は、ユーザの入力操作に応じてエッジ・シャドウ設定メニュー76が選択されると、エッジ設定のためのメニューを表示する。
【0032】
GUI画面60は、この表示されるメニューにおいて、エッジ属性の各設定値、例えばエッジの太さ、エッジカラー、グラデーションスイッチ及びエッジタイプが入力されると、グループに対してエッジ属性を指定する。エッジタイプとしては、文字周辺に平面的なエッジが付加されるノーマルエッジ、文字周辺を面取りした立体的なエッジが付加されるベベルエッジ、エッジが付加されないエッジオフがある。このように指定されたエッジ属性は、シーンウィンドウ62に瞬時に表示される。
【0033】
次いで、GUI画面60に対して行われる操作のうち、ページ及びレイヤを制御するための操作について説明する。まずページに関する操作について説明する。ここでページとは、複数の編集結果を同時に管理するために導入された概念であり、シーンウィンドウ62に表示されている1画面分の編集内容を1つのページとして保持する。GUI画面60では、複数のページを一元管理するためにページセレクタ78及び新規ページ追加ボタン80が設けられている。ページセレクタ78は、プログラムが現在保持しているページの一覧を全て表示し、当該ページの一覧の中から所望のページを選択し得るようになされている。
【0034】
またGUI画面60は、ユーザの入力操作に応じて新規ページ追加ボタン80が選択されると、文字が全く含まれていない初期状態のページを新規に追加作成して、シーンウィンドウ62に新規作成された初期状態のページを表示する。その際、GUI画面60は、新規に作成された、シーンウィンドウ62に表示される画像を縮小表示した見出し画像(以下、これをサムネール画像と呼ぶ)をページセレクタ78に表示する。この追加された新規のページは、上述の文字入力操作によって所望の編集作業を行い得る。
【0035】
ユーザはシーンウィンドウ62に表示されているページ(以下、これをカレントページと呼ぶ)に対してのみ編集操作を行うことができる。GUI画面60は、ユーザの入力操作に応じて、ページセレクタ78に表示されているぺージ一覧の中から所望のページを示すサムネール画像がクリックされると、カレントページを選択してシーンウィンドウ62に表示する。このようなカレントページの変更は、シーンウィンドウ62に瞬時に反映される。
【0036】
次にレイヤに関する操作について説明する。ここでレイヤとは、複数のグループを統括及び分類して処理することにより編集作業の効率化を図ることを目的として導入された概念である。ページの中には複数のレイヤ(層)が存在し、当該各レイヤを重ね合わせることにより1つのページが生成される。GUI画面60では、1つのページ中に5つのレイヤが含まれており、各レイヤには0〜4(整数値)のレイヤ番号が与えられて識別されている。これによりページ中に作成された各グループは、この5つのレイヤのうちいずれか1つに必ず属するようになっている。
【0037】
GUI画面60は、ユーザの入力操作に応じて、5つのレイヤのうち編集操作の対象となる1つのレイヤ(以下、これをカレントレイヤと呼ぶ)を指定する操作を、カレントレイヤセレクタ81によって行うようになされており、所望のレイヤ番号をカレントレイヤセレクタ81に入力することにより、カレントレイヤを指定する。そしてGUI画面60は、指定されたカレントレイヤのみに対して文字入力や配置変更等の編集操作を行うようになされている。因みに、各グループは、グループ作成時に指定されていたレイヤ番号に応じたレイヤに属するように作成される。またGUI画面60は、ユーザの入力操作に応じて、レイヤスイッチ部82に配置された5つのボタンのオンオフ操作によって5つのレイヤの表示又は非表示を個別に指定し得るようになされており、変更結果は、瞬時にシーンウィンドウ62に反映される。
【0038】
さらに続いて照明の設定を変更する操作について説明する。ここで照明とは、現実世界の照明と同様の挙動を示すように設計された物体であり、シーンウィンドウ62に表示される仮想3次元空間中に存在しているが、実際には当該シーンウィンドウ62には表示されない。GUI画面60は、ユーザの入力操作に応じて照明の設定値が調整されると、仮想3次元空間中に配置されている文字の見え方を任意に指定し得るようになされている。
【0039】
GUI画面60は、ユーザの入力操作に応じて照明設定ボタン84がクリックされると、照明ダイアログを表示し、当該照明ダイアログにおいて照明設定を行う。この状態において、GUI画面60は、ユーザの入力操作に応じて照明条件の各設定値、例えば環境光、拡散反射光、鏡面反射光、照明位置が入力されると、ページに対する照明条件を変更する。因みに、GUI画面60は、同一ページ中に存在する全ての文字に同一の照明が設定されるようになされており、個々の文字毎に異なる照明が設定されることはない。
【0040】
最後に、GUI画面60に対して行われる操作のうち、静止画及び動画を送出するための操作について説明する。ここで送出とは、シーンウィンドウ62上で編集されたページデータをフレームバッファ15(図1)に書き込んで当該ページデータに応じた画像をモニタ23に表示させる操作である。まずページデータを静止画として送出する操作について説明する。GUI画面60は、ユーザの入力操作に応じてページセレクタ78から所望のページが選択されると、当該選択したページに応じた画像をシーンウィンドウ62に表示することにより、送出対象のページをカレントページに設定する。この状態において、GUI画面60は、ユーザの入力操作に応じてスチル送出ボタン86が選択されると、カレントページが送出される。
【0041】
次にカレントページの動画を送出する操作について説明する。GUI画面60は、ユーザの入力操作に応じてページセレクタ78から所望のページが選択されると、当該選択したページに応じた画像をシーンウィンドウ62に表示することにより、送出操作の対象とするページをカレントページに設定する。
【0042】
この状態において、GUI画面60は、ユーザの入力操作に応じてアニメーション送出ボタン88が選択されると、カレントページの送出処理が行われる。但し、カレントページに動画に関するデータ(以下、これをキーフレームデータと呼ぶ)が存在しない場合には、アニメーション送出ボタン88は機能しないようになされている。因みにGUI画面60は、ユーザの入力操作に応じてキーフレム追加ボタン90がクリックされると、所定の画面を表示してキーフレームデータを作成するようになされている。
【0043】
ここでCPU3によって複数のポリゴンでなる3次元文字(以下、これをポリゴンモデルと呼ぶ)を生成する手順について図4に示すフローチャートを用いて説明する。ステップSP1から入ったステップSP2において、CPU3は、ユーザの入力操作に応じて、ポリゴンモデルのマテリアルの設定値、光源の設定値、シーンウィンドウ62における画像の見え方を決定するためのパースの設定値をアプリケーションプログラム40のドキュメント・オブジェクト48(図2)に保持する。これらの設定値は、ユーザによって指定された値が用いられるが、ユーザが指定しない場合には、予め用意されているデフォルト値が用いられる。
【0044】
ステップSP3において、CPU3は、キーボード27からユーザによって所望のキーが入力されたか否か判定する。その結果、CPU3は、キーが入力されたと判断した場合には、当該キー入力情報をGUIオブジェクト42(図2)に送出する一方、キーが入力されていないと判断した場合にはキーが入力されるまで待機する。ステップSP4において、CPU3は、GUIオブジェクト42(図2)にキー入力情報を解析させることにより、当該キー入力情報を文字コードに変換させ、当該文字コード情報をドキュメント・オブジェクト48(図2)に格納すると共に、モデリング・オブジェクト46に対してポリゴンモデルの生成を行うための指示を与える。
【0045】
ステップSP5において、CPU3は、モデリング・オブジェクト46を用いてドキュメント・オブジェクト48に保持されている文字コード情報に基づいてポリゴンモデルを生成する。このポリゴンモデルの具体的な生成方法を図5を用いて説明する。モデリング・オブジェクト46は、現在設定されているフォント形式に基づいてドキュメント・オブジェクト48に保持されている文字コード情報に応じたアウトラインデータD1を生成する。
【0046】
次にモデリング・オブジェクト46は、このアウトラインデータD1を基にポリゴンモデルのうちフェイス部分に相当するフェイスポリゴンモデルD3を生成する。続いてモデリング・オブジェクト46は、現在設定されているエッジのパラメータに基づいてポリゴンモデルのうちエッジ部分に相当するエッジポリゴンモデルD5を生成する。さらに続いてモデリング・オブジェクト46は、現在設定されているシャドウのパラメータに基づいてポリゴンモデルのうちシャドウ部分に相当するシャドウモデルD7を生成する。このようにしてモデリング・オブジェクト46は、1つの文字に対して生成される3つのポリゴンモデルを基にポリゴンモデルD9を生成する。
【0047】
図4に戻って、ステップSP6において、CPU3は、GUIオブジェクト42を用いて、ドキュメント・オブジェクト48に保持されているマテリアルに関する各パラメータに基づいて、モデリング・オブジェクト46が保持しているポリゴンモデルD9の各ポリゴンに対してマテリアルの設定を行う。ステップSP7において、CPU3は、GUIオブジェクト42によって、ドキュメント・オブジェクト48に保持されているパースに関する各パラメータに基づいて、レンダリング・オブジェクト44に対してパースの設定を行わせる。
【0048】
パースの設定とは、具体的には図3との対応部分に同一符号を付して示す図6に示すように、視点100及び視野角102に応じた視体積(図中斜線で示した領域)104の形状及び方向を指定することを意味する。この視体積は、ポリゴンモデル106をGUI画面60のシーンウィンドウ62(図3)にどのように投影するか、複数のポリゴンモデル106のうちどのポリゴンモデル106をシーンウィンドウ62に投影するかを決定し、当該視体積内に存在するポリゴンモデル106がシーンウィンドウ62に表示される。
【0049】
図4に戻って、ステップSP8において、CPU3は、GUIオブジェクト42を用いてドキュメント・オブジェクト48に保持されている光源に関するパラメータに基づいてレンダリング・オブジェクト44に対して照明の設定を行う。ステップSP9において、CPU3は、レンダリング・オブジェクト44を用いて、各パラメータに基づいてポリゴンモデルの描画をシーンウィンドウ62に対して行う。
【0050】
このようにしてCPU3は、キーボード27を介して入力されたキーを3次元文字としてディスプレイ21に表示させることができ、さらに複数の3次元文字を表示させる場合には、ステップSP2に戻って同様の処理を繰り返すことにより、ディスプレイ21にユーザの入力操作に応じた映像タイトルを表示することができる。
【0051】
以上の構成において、CPU3は、HDD19に格納されているオペレーティングシステム及びアプリケーションプログラムに基づいて、キーボード27を介して指定された文字を基に当該文字の輪郭を示すアウトラインデータを得、当該アウトラインデータを基に文字の輪郭によって囲まれたフェイスデータ、文字の輪郭を強調するためのエッジデータ及び文字の奥行きを示すシャドウデータを生成し、当該フェイスデータ、エッジデータ及びシャドウデータを合成することにより、外部から供給される編集対象の映像に応じた3次元文字データを生成すると共に、当該生成された3次元文字データに応じた画像を、キーボード27を介して文字が指定されることに連動してディスプレイ21に表示する。
【0052】
以上の構成によれば、ユーザからキーボード27を介して指定される文字のアウトラインデータを基にフェイスデータ、エッジデータ及びシャドウデータを生成し、これらを合成して3次元文字を生成すると共に、当該生成された3次元文字をキーボード27を介して文字が指定されることに連動してディスプレイ21に表示することにより、従来のように汎用のCG制作用アプリケーションプログラムを用いて3次元文字を生成する場合に比して、ユーザがキーボード27を介して文字を指定するだけの簡単な操作で迅速に3次元文字を生成することができ、かくして従来に比して一段と操作性を向上し得る映像タイトル生成装置を実現できる。
【0053】
(2)ポリゴンモデル生成手順
ここでは図4におけるポリゴンモデル生成ステップ(SP5)について具体的に説明する。まず始めにCPU3によって3次元文字を生成する3次元文字生成手順について説明する。まずステップSP15から入ったステップSP16において、CPU3は、ユーザの入力操作に応じた文字コード情報に基づいて、HDD19(図1)に記録されているオペレーティングシステムから直線と曲線の組合せでなるフォントデータを読み出す。因みに、このフォントデータは、閉ループの集合でなり、文字によってそのループ数は異なる。文字を形成するループは、外側のループから内側のループの順に塗りつぶされる空間と空白の空間とが交互に繰り返されている。
【0054】
ステップSP17において、CPU3は、読み出したフォントデータに応じた文字データのうちの曲線部分のデータに曲率を指定し、直線の座標データを算出することにより、文字データを頂点データとして扱う。ここで扱われる曲線は、次式
【0055】
【数1】
Figure 0004203780
【0056】
によって定義され、任意のポイントに分割される。ここでポイントA及びCは曲線上のポイントを示し、ポイントBは曲線を分割するためのコントロールポイントを示す。
【0057】
続いてステップSP18において、CPU3は、上述の各頂点データにおける法線ベクトルを算出し、ステップSP19に移って、これら各頂点データと法線ベクトルとをフォントデータとして一括して保持する。ステップSP20において、CPU3は、算出した頂点データに基づいてスキャンライン用線分配置表と呼ばれるポリゴン生成のたの3角形分割用テーブルを作成する。
【0058】
ここでスキャンライン用線分配置表の作成方法について図8を用いて具体的に説明する。図8(A)は、文字「Z」における全頂点間の線分に線分番号を付加したことを示し、図8(B)は、各頂点が存在するY座標の数値をインデックスとして作成したスキャンライン用線分配置表を示す。このスキャンライン用線分配置表は、任意のY座標を基準として、+Y方向に向かってそのY座標が始点となっている線分データをフロム(From)データとし、+Y方向に向かってそのY座標が終点となっている線分データをトゥ(To)データとし、そのY座標を通過する線分データをスルー(Through )データとしている。このスキャンライン用線分配置表では、例えばY=5の線分データに着目すると、線分データ「3、7、8」がフロムデータとして登録され、線分データ「4、6、8」がトゥデータとして登録され、スルーデータには該当する線分データが存在しない。
【0059】
図7に戻って、ステップSP21において、CPU3は、作成したスキャンライン用線分配置表を用いて、文字データに対してポリゴン生成のための3角形分割処理を施すことにより、フェイス表面ポリゴンを生成する。CPU3は、各頂点間を結ぶ線分のうち所望の線分に着目し、当該着目した線分がポリゴンを分割する分割線になり得るか否か判断する。すなわちCPU3は、着目した線分が他の全ての線分と交差していないか否か判定し、その結果、交差していないと判断された場合には、さらに当該線分がポリゴン内を通る線分か否かを判定し、その結果、ポリゴン内を通ると判定された場合には、当該線分を3角形分割のための分割線と決定する。以下、CPU3は、全ての線分について同様の処理を行うことにより、3角形分割のための分割線のリストを生成する。
【0060】
例えば図9を用いて頂点P2から頂点P4に向かう線分L1が分割線になるか否かを判定する場合について説明する。まずCPU3は、Y=5の線分データに着目し、座標Xの値が小さい順にフロムデータに該当する線分データ「3、8」を並べる。その際、トゥデータ及びフロムデータ両方に登録されている線分データは除く。そしてCPU3は、頂点P4のX座標値が線分データ「3」のX座標値以上であってかつ線分データ「8」のX座標値以下であるか否か判定し、その結果、頂点P4のX座標値が上述の範囲内に存在すると判断し、次にY=26の線分データに着目する。CPU3は、座標Xの値が小さい順にトゥデータに該当する線分データ「3、8」を並べる。その際、トゥデータ及びフロムデータ両方に登録されている線分データは除く。そしてCPU3は、頂点P2のX座標値が線分データ「3」のX座標値以上であってかつ線分データ「8」のX座標値以下であるか否か判定し、その結果、頂点P2のX座標値が上述の範囲内に存在しないと判断し、当該線分L1がポリゴン内を通る線分ではないと判断する。
【0061】
図7に戻って、ステップSP22において、CPU3は、スキャンライン用線分配置表を用いて、着目する閉ループの線分を挟む2つの空間のうちのどちら側をポリゴンとするかを判定して文字のフェイス部分を判断することにより、奥行き方向のポリゴンの法線ベクトルすなわちフェイス奥行きポリゴンの表方向を特定する。次にステップSP23において、CPU3は、全ての頂点データに所望の長さの奥行きのポリゴンを生成すると共に、各頂点にステップSP22で特定した法線ベクトルを付加することによりフェイス奥行きポリゴンを生成する。ステップSP24において、CPU3は、全ての頂点データから奥行きの長さを減算した値を背面ポリゴンのZ座標値とすることにより、−Z方向の法線ベクトルを有するフェイス背面ポリゴンを生成する。
【0062】
続いて、上述の手順に従って生成されたフェイスポリゴンモデルに対して施される文字の輪郭を強調するためのエッジモデルを生成する生成手順を図10に示すフローチャートを用いて説明する。ステップSP30から入ったステップSP31において、立体要素生成手段としてのCPU3は、文字の輪郭を形成する各頂点毎の座標値、法線ベクトルを利用して拡大又は縮小方向の単位ベクトルを生成して保持する。
【0063】
例えば拡大方向の単位ベクトルを生成する手法について図11を用いて説明する。文字Zの全ての頂点は、頂点の座標及び法線ベクトルでなる頂点データと当該頂点の前後に位置する頂点の頂点データとに基づいて2つの拡大方向のベクトルを生成することができる。すなわち文字Zでは、着目した頂点の下方の頂点データを用いて作成されたベクトルをベクトルBaとすると共に、上方の頂点データを用いて作成されたベクトルをベクトルBbとする。これらベクトルBa及びBbは、いずれも文字の輪郭を構成する線分から垂直方向に延びるベクトルである。これら2つのベクトルBa及びBbと垂直に交わる補助線La及びLbをそれぞれ生成すると、これら生成された補助線La及びLbが拡大された輪郭となり、当該補助線La及びLbが交わる交点Paに対して原点から引かれたベクトルを拡大方向のベクトルBcとする。以下、同様にして全頂点について拡大及び縮小方向の単位ベクトルを生成して保持する。
【0064】
ステップSP32において、CPU3は、拡大及び縮小する大きさを示す拡大縮小係数を、予めユーザによって指定された値に基づいて決定して登録することにより、当該登録した値を用いて実際のエッジポリゴンモデルの頂点位置を決定する。ステップSP33において、CPU3は、生成された拡大及び縮小方向の単位ベクトルから拡大縮小係数に応じてエッジポリゴンモデルの頂点位置を決定する際、原点からエッジポリゴンモデルの頂点位置に引かれた拡大縮小方向ベクトルのうち隣接する拡大縮小方向ベクトルが交差するか否か判断する。その結果、CPU3は、隣接する拡大縮小方向ベクトルが交差すると判定された場合にはステップSP34に移行し、交差しないと判定された場合にはステップSP35に移行する。
【0065】
ステップSP34において、CPU3は、隣接する拡大縮小方向ベクトルが交差しないように拡大縮小方向ベクトルの再計算を行い、これにより凹ポリゴンが発生したり、図7に示すような3次元文字生成アルゴリズムが破綻することを回避している。例えば図12に示すように、CPU3は、文字bの頂点Pbにおける拡大方向ベクトルB1のように、複数の拡大方向ベクトルB4及びB5と交差する場合、交差しない拡大方向ベクトルB2を検索する。そしてCPU3は、当該検索された拡大方向ベクトルB2の直交する線分LB2及びLB3の交点を、交差していた拡大方向ベクトルB1、B4及びB5の頂点とすることにより、各拡大方向ベクトルB1、B4及びB5が交差することを回避させる。
【0066】
またCPU3は、文字Oの内部の空白部分のように、エッジの大きさをきめる係数を大きくした際に、完全に空間を閉塞させてしまう場合がある。この場合、CPU3は、拡大方向ベクトルがないものとみなして元のキャラクタの輪郭の頂点をエッジの頂点として扱うこととする。
【0067】
ステップSP36において、CPU3は、エッジ用に作成した頂点及びキャラクタの輪郭データを用いて図8に示すようなスキャンライン用線分配置表を作成する。ステップSP37において、CPU3は、エッジの頂点座標及び法線ベクトルを利用して奥行きポリゴンを生成し、次のステップSP38において、作成したエッジ背面部分に相当するエッジ背面ポリゴンを生成する。因みに、エッジの種類によって表面と背面の拡大及び縮小係数が異なる場合があるので、表面ポリゴンと同様の処理を行う必要がある。
【0068】
以上の構成において、CPU3は、キーボード27を介して指定された文字を基に当該文字の輪郭を示すアウトラインデータD1を得、当該アウトラインデータD1に基づいてフェイスポリゴンモデルD3及びシャドウポリゴンモデルD5でなる3次元の文字データを生成すると共に、当該生成した文字データの輪郭に応じて当該輪郭を強調するためのエッジポリゴンモデルD5でなる3次元のエッジデータを生成する。そしてCPU3は、文字データにエッジデータを付加することによりポリゴンモデルD9でなる3次元文字データを生成し、当該3次元文字データに応じた画像をディスプレイ21に表示する。
【0069】
以上の構成によれば、キーボード27を介して指定された文字を基に3次元の文字データを生成すると共に、当該生成した文字データの輪郭に応じて当該輪郭を強調するための3次元のエッジデータを生成し、その文字データにエッジデータを付加して3次元文字データを生成することにより、当該3次元文字データに応じた3次元文字を当該3次元文字の背景となる編集対象の映像に重ねて表示する際、当該背景の色と3次元文字のエッジ部分の色とを異なる色に指定すれば、3次元文字と背景との間の境界を強調することができ、かくして3次元文字の映像タイトルを編集対象の映像上に確実に表示し得る。
【0070】
(3)アプリケーションプログラムに組み込まれているカラーピッカーによる色選択手順
ここでは図4のマテリアル設定ステップ(SP6)で行われるカラーピッカーによる色選択手順について図13に示すフローチャートについて具体的に説明する。なお、この色選択を行うためのカラーピッカーは、映像タイトルを生成するためのアプリケーションプログラムに組み込まれているものである。まずステップSP44から入ったステップSP45において、CPU3は、図3に示すGUI画面60のようにエッジ・シャドウ設定メニュー76が選択されている場合、ユーザの操作に応じてマテリアル設定メニュー74が選択されると、図14に示すようなカラーピッカー120をGUI画面60に表示する。このカラーピッカー120は、その中央付近に色選択操作部122を表示し、当該色選択操作部122に大まかな色見本を表示している。
【0071】
ステップSP46において、CPU3は、ユーザの操作に応じて、カラーピッカー120の色選択操作部122に表示されている色見本の中から所望の色に最も近い色の部分にマウスポインタ124を移動し、マウスボタン(図示せず)をクリックした状態に保持(以下、これをホールドと呼ぶ)する。ステップSP47において、CPU3は、ユーザの操作に応じて、例えばマウス31の右ボタンに予め設定されている拡大キーを押圧し、当該拡大キーを押圧したままの状態で保持する。
【0072】
そしてステップSP48において、CPU3は、拡大ウィンドウ126を表示し、当該拡大ウィンドウ126にマウスポインタ124によって指定された部分の周辺の色見本を十分な解像度で拡大表示する。ステップSP49において、CPU3は、ユーザの操作に応じて、拡大ウィンドウ126に表示された色見本の中から所望の色の部分にマウスポインタ124を移動してホールド状態を解除することにより色を確定し、当該確定した色を画像編集画面としてのシーンウィンドウ62上の3次元文字に施す。次にステップSP50において、CPU3は、ユーザの操作に応じて、拡大キーの押圧が解除されると、ステップSP51において、拡大ウィンドウ126がGUI画面60から消去される。次にステップSP52に移って処理を終了する。
【0073】
以上の構成において、CPU3は、カラーピッカー120の色選択操作部122の一部を必要に応じて高い解像度で拡大ウィンドウ126に拡大表示することにより、カラーピッカー120の表示面積を大きくすることなく、現存する全ての色を表示する。
【0074】
以上の構成によれば、カラーピッカー120の色選択操作部122の一部を必要に応じて拡大表示することにより、カラーピッカー120の表示面積を大きくすることなく、現存する全ての色を表示することができ、かくして従来の視認性を維持しながら所望の色を選択し得る。
【0075】
(4)グループプロパティダイアログによる色選択手順
ここでは図4のマテリアル設定ステップ(SP6)で行われるグループプロパティダイアログによる色選択手順について図16に示すフローチャートを用いて具体的に説明する。なお、この色を選択するための色選択ダイアログは、オペレーティングシステムに組み込まれているものである。
【0076】
まずステップSP60から入ったステップSP61において、CPU3は、図3に示すGUI画面60を表示している状態で、ユーザの操作入力に応じてグループプロパティ設定ボタン71がクリックされると、ステップSP162に進んで、図17に示すようなグループプロパティダイアログ130を表示する。
【0077】
このグループプロパティダイアログ130は、図5に示すポリゴンモデルD9(図5)のうち、フェイスポリゴンモデルD3の色を設定するための色設定ボタン132及び当該フェイスポリゴンモデルD3のグラデーション(階調)を設定するための色設定ボタン133、シャドウポリゴンモデルD7の色を設定するための色設定ボタン134及び当該シャドウポリゴンモデルD7のグラデーションを設定するための色設定ボタン135、エッジポリゴンモデルD5の色を設定するための色設定ボタン136及び当該エッジポリゴンモデルD5のグラデーションを設定するための色設定ボタン137、シーンウィンドウ62(図3)に表示されるポリゴンモデルD9の影の色を設定するための色設定ボタン138及び当該影のグラデーションを設定するための色設定ボタン139を表示している。これら色設定ボタン132〜139は、それぞれボタン上に現在設定されているRGBの各パラメータ値を表示している。
【0078】
ステップSP63において、CPU3は、ユーザの入力操作に応じて、色設定ボタン132〜139のうち、色を変更する対象のポリゴンモデルの色設定ボタンをクリックすると、ステップSP64に進んで、図18に示すような色選択ダイアログ145を表示する。ステップSP65において、CPU3は、色選択ダイアログ145を表示している状態で、ユーザの入力操作に応じて基本色147の中から所望の色を選択した後、OKボタン149をクリックすることにより指定したポリゴンモデルの色を決定する。
【0079】
ステップSP66に進んで、CPU3は、色選択ダイアログ145を閉じ、グループプロパティダイアログ130を表示すると共に、当該グループプロパティダイアログ130のうち、選択された色設定ボタン132〜139の各パラメータ値を設定されたパラメータ値に変更して表示する。この状態において、CPU3は、ユーザの入力操作に応じてOKボタン151がクリックされると、グループプロパティダイアログ130を閉じ、シーンウィンドウ62(図3)に表示されている3次元文字に色を施す。次にステップSP67に移って処理を終了する。
【0080】
以上の構成において、グループプロパティダイアログ130は、色設定ボタン132〜139上に現在設定されているRGBの各パラメータ値を表示することにより、従来のように色設定ボタンを表示する領域とは別の領域にパラメータ値を表示する場合に比して、限られたグループプロパティダイアログ130の表示領域を有効に利用している。
【0081】
以上の構成によれば、色選択ダイアログ145を表示するための色設定ボタン132〜139上に現在設定されているRGBの各パラメータ値を表示することにより、従来のように色設定ボタンを表示する領域とは別の領域にパラメータ値を表示する場合に比して、限られたグループプロパティダイアログ130の表示領域を有効に利用することができ、かくして従来に比して一段と効率的な表示画面を生成し得る。
【0082】
(5)透視投影変換
ここでは図4のパース設定ステップ(SP7)で行われる透視投影変換手順について図19に示すフローチャートを用いて具体的に説明する。まずステップSP75から入ったステップSP76において、CPU3は、ユーザの入力情報に応じて、ポリゴンモデルD9(図5)からなる文字列に対して個別に透視投影変換を行う(以下、これをマルチパースと呼ぶ)指定があったか否かを判定し、その結果、マルチパース指定があったと判断した場合にはステップSP77に移行し、マルチパース指定がなかったと判断した場合にはステップSP78に移行する。
【0083】
ステップSP77において、CPU3は、マルチパース指定があった文字列に対してパース設定を行うことにより透視投影変換を施し、その際、当該透視投影変換された文字列を枠無しウィンドウと呼ばれる表示領域内に表示する。ステップSP78に進んで、CPU3は、シーンウィンドウ62全体に対してパース設定を行うことにより、マルチパース指定を受けなかった文字列に対してパース設定を行って透視投影変換を施す。
【0084】
図20は、マルチパース指定対象外の文字列160〜162を表示することに加えてマルチパース指定対象の文字列163及び164を枠無しウィンドウ163W及び164Wに表示したシーンウィンドウ62を示す。枠無しウィンドウ163W及び164Wの大きさは、文字列が透視投影変換されたときのシーンウィンドウ62の大きさを基に、当該透視投影変換された文字列を包含する最も小さい直方体によって決定される。このシーンウィンドウ62上の大きさは、一度シーンウィンドウ62に描画処理を最後まで実行しないと得られないので、1回目の描画処理によって決定された大きさを基準として、2回目以降の描画処理において必要最小限の大きさを算出していく。
【0085】
図20との対応部分に同一符号を付して示す図21は、マルチパース指定対象外の文字列162及びマルチパース指定対象の文字列164を上方に移動させるアニメーション処理を示す。その際、マルチパース指定対象外の文字列162は、視点に対する文字列の位置を移動している一方、マルチパース指定対象の文字列164は、透視投影変換による変化がない。このようにシーンウィンドウ62では、枠無しウィンドウがない状態で表示されている文字列162のアニメーション処理と枠無しウィンドウ164Wの表示位置の変更という2種類のアニメーション処理を行い得る。
【0086】
以上の構成において、CPU3は、仮想3次元空間中に生成した3次元文字でなる映像タイトルを文字列毎に個別に透視投影変換を行ってシーンウィンドウ62に表示することにより、映像タイトルを構成する複数種類の3次元文字列をそれぞれ独立した空間に存在するように表示する要求がある場合、従来のように複数種類の3次元文字列をそれぞれ個別に透視投影変換した画面を合成するような手間が必要ない。またCPU3は、複数の異なる種類の透視投影変換が施された3次元文字列を同一のシーンウィンドウ62上に表示し、ユーザの要求に応じて3次元文字列が存在する空間内で当該3次元文字列を移動させたり、3次元文字列が存在する空間を当該3次元文字列と共に移動させることにより、ユーザの要求に応じたアニメーションが作成される。
【0087】
以上の構成によれば、仮想3次元空間中に生成した3次元文字でなる映像タイトルを文字列毎に個別に透視投影変換を行ってシーンウィンドウ62に表示することにより、ユーザの要求に応じてそれぞれ独立した空間内に存在する3次元文字列でなる映像タイトルを容易に生成することができ、かくして従来に比して一段とユーザの使い勝手を向上し得る。
【0088】
(6)3次元文字の回転動作
ここでは図4に示すフローチャートの描画ステップ(SP9)が終了した後に必要に応じて行われる3次元文字の回転動作手順について図22に示すフローチャートを用いて説明する。まずステップSP85から入ったステップSP86において、CPU3は、ユーザの操作入力に応じて、シーンウィンドウ62に表示されている映像タイトルのうち所望の3次元文字上でマウス31の左ボタン(図示せず)がダブルクリックされると、当該3次元文字を選択状態にする。
【0089】
ステップSP87において、CPU3は、ユーザの操作入力に応じて、回転軸スイッチ69に表示されている回転軸すなわちX軸、Y軸及びZ軸のうちの所望のものがマウス31によってクリックされると、当該クリックされた回転軸を選択する。次にステップSP88において、CPU3は、ユーザの操作入力に応じて、選択状態にある3次元文字に対してマウス31の左ボタンが押圧されると、当該3次元文字の回転を開始させ、ステップSP89に進んで、マウス31の左ボタンを押した状態で移動(以下、これをドラッグと呼ぶ)させることにより、現在選択されている回転軸における3次元文字の回転角度を調整する。
【0090】
ステップSP90において、CPU3は、ユーザの入力操作に応じてマウス31の左ボタンが解放されたか否か判断し、その結果、解放されたと判断した場合にはステップSP91に移って、選択された3次元文字の表示状態を決定して処理を終了し、解放されていないと判断した場合にはステップSP92に移る。
【0091】
ステップSP92において、CPU3は、ユーザの入力操作に応じて、マウス31の右ボタンが押圧されたか否か判断し、その結果、右ボタンが押圧されていないと判断した場合にはステップSP89に戻って動作を繰り返す。ステップSP93において、CPU3は、回転軸をX軸、Y軸、Z軸、X軸、……という順序で順次切り替えた後、ステップSP89に戻って当該切り替えられた回転軸の回転角度を調整する。
【0092】
以上の構成において、CPU3は、マウス31の左ボタンを押圧してドラッグさせながら所望の回転軸における3次元文字の回転角度を調整している状態において、当該回転軸における回転角度の調整が終了した場合にはマウス31の右ボタンを押圧することにより、予め決められている順序に従って回転角度を調整するための回転軸を切り替える。これにより従来のように回転軸スイッチ69の中から所望の回転軸を選択するような操作を行わずに回転軸が切り替えられる。
【0093】
以上の構成によれば、マウス31の右ボタンを押圧する毎に予め決められた順序に従って回転軸を順次切り替えることにより、従来のように回転軸スイッチ69の中から所望の回転軸を選択する場合に比して簡単に回転軸を選択することができ、かくして従来に比して一段と容易に3次元文字の回転動作を行うことができる。
【0094】
(7)アニメーションデータの作成及び管理
ここでは図4に示すフローチャートの描画処理ステップ(SP9)が終了した後に必要に応じて行われる3次元文字のアニメーションデータ作成及びその管理方法について説明する。映像タイトル生成装置1は、生成した映像タイトルに滑らかな動きを付加するアニメーション手法として、まず複数の基準となるフレーム(以下、これをキーフレームと呼ぶ)を用意し、当該キーフレーム間に各キーフレームにおける3次元文字の位置を直線又は曲線で補間してなる画像を複数挿入することによりアニメーションデータを生成するようなキーフレームアニメーションと呼ばれる手法を採用している。
【0095】
以下、このキーフレームアニメーション作成手順について図23に示すフローチャートを用いて説明する。ステップSP100から入ったステップSP101において、CPU3は、図4に示すポリゴンモデル生成手順を順次繰り返すことにより3次元文字を作成する。ステップSP102において、CPU3は、ユーザの入力操作に応じて上述の3次元文字に対して移動、拡大縮小及び回転などの画像処理を施すことにより動画像を作成する。
【0096】
次にステップSP103において、CPU3は、ユーザの入力操作に応じて図3に示すGUI画面60においてキーフレーム追加ボタン90がクリックされると、図2に示すGUIオブジェクト42からドキュメント・オブジェクト48に対して現在の3次元文字の表示状態をメッセージ情報M2として送出させ、ステップSP104に進んで、CPU3は、ドキュメント・オブジェクト48において採用されている図24に示すようなシーングラフと呼ばれる階層データ構造の各ノードにアニメーションデータを追加するようになされている。その際、CPU3は、アニメーション動作するノードに対してのみデータを追加し、アニメーション動作しないノードに対してはデータを追加しないようになっている。
【0097】
具体的には図24に示すように、シーングラフ170は、ページノード171、レイヤノード172、グループノード173、マテリアルノード174、トランスレートノード175、スケールノード176、ローテートノード177及びモデルノード178によって構成されている。
【0098】
ページノード171は、動画像全体に関する情報を保持し、レイヤノード172は、レイヤに関する情報を保持し、グループノード173は、グループに関する情報を保持する。マテリアルノード174は、ポリゴンモデルの色や質感に関する情報を保持し、トランスレートノード175は、ポリゴンモデルの仮想3次元空間内での位置に関する情報を保持する。スケールノード176は、ポリゴンモデルの拡大縮小率に関する情報を保持し、ローテートノード177は、ポリゴンモデルの回転状態に関する情報を保持し、モデルノード178は、フォントや文字データ等の表示モデル自身の特性に関する情報を保持する。
【0099】
以上の構成において、CPU3は、キーフレームに対してアニメーション動作する3次元文字のデータのみを記憶させていくことにより、従来のように映像タイトル全体を動画像として各フレームの3次元文字データを全て記憶する場合に比して記憶対象のデータ量を削減している。またCPU3では、静止画像と動画像とを同一のデータ構造で管理していることから、従来のように静止画像と動画像とを別々に管理する場合に比して映像タイトルの管理が単純化される。
【0100】
以上の構成によれば、基準となる静止画像に対してアニメーション動作する領域の画像データのみを順次記憶していくことにより、各フレームの全ての画像データを記憶する場合に比して記憶対象のデータのデータを削減することができ、かくして従来に比して一段と効率的に画像データを管理し得る。
【0101】
(8)映像タイトル送出手順
ここでは映像タイトルの生成、編集及び送出にかかわる一連の作業について説明する。以下、図25に示すフローチャートを用いて映像タイトルの送出手順について具体的に説明する。ステップSP110から入ったステップSP111において、CPU3は、ユーザの入力操作に応じてキーボード27から所望の文字が指定されると、当該文字に応じた3次元文字をグラフィックスアクセラレータ13(図1)を介してディスプレイ21(図1)に瞬時に表示する。
【0102】
ステップSP112において、CPU3は、ユーザの入力操作に応じて、位置、大きさ及びマテリアル等の各種属性値が設定されると、当該設定された属性値に応じた3次元文字をグラフィックスアクセラレータ13(図1)を介してディスプレイ21(図1)に瞬時に表示する。このように映像タイトル生成装置1では、キーボード27(図1)からユーザによって入力情報が入力されると、当該入力情報に応じた3次元文字を即座にディスプレイ21に表示することができることから、ユーザはインタラクティブ(対話的)に入力結果を確認しながら編集作業を行うことができる。
【0103】
ステップSP113において、CPU3は、ユーザの操作入力に基づいて編集作業を終了するか否か判断し、その結果、ディスプレイ21に表示されている3次元文字にさらに修正を加える必要があると判断した場合にはステップSP111に戻って編集作業を継続し、編集作業を終了すると判断した場合にはステップSP114に移行する。
【0104】
ステップSP114において、CPU3は、グラフィックスアクセラレータ13から映像タイトルをフレームバッファに供給し、当該映像タイトルと外部から供給された映像とを合成してモニタ23に出力して表示する。次にステップSP115に移って処理を終了する。
【0105】
以上の構成において、CPU3は、ユーザの入力操作に応じて生成された3次元文字をグラフィックスアクセラレータ13を介して当該3次元文字に応じた映像合成用の画像に変換してディスプレイ21に即座に表示することにより、ユーザは入力結果をインタラクティブに確認しながら編集作業を行う。またCPU3は、ユーザの操作入力に応じてグラフィックスアクセラレータ13からフレームバッファ15に映像タイトルを転送して当該フレームバッファ15によって映像タイトルと編集対象の映像とを合成してモニタ23に出力して表示することにより、送出作業にかかる手間や時間が削減される。
【0106】
以上の構成によれば、ユーザの操作入力に応じた3次元文字でなる映像タイトル用の画像を即座にディスプレイ21に表示すると共に、送出の際にはグラフィックスアクセラレータ13からフレームバッファ15に映像タイトルデータを転送して当該フレームバッファ15によって映像タイトルと外部から供給される映像とを合成してモニタ23に表示することにより、従来のように3次元文字の生成、編集及び送出にかかわる作業を削減することができ、かくして従来に比して一段と使い勝手を向上し得る。
【0107】
(9)他の実施の形態
なお上述の実施の形態においては、マウス31の右ボタンを拡大キーとした場合について述べたが、本発明はこれに限らず、キーボード27上の任意のキーを拡大キーとしても良い。
【0108】
また上述の実施の形態においては、基本色147の中から所望の色を選択するようにした場合について述べたが、本発明はこれに限らず、図18に示すように、基本色147に比して詳細な色見本を表示している色表示領域153の中から所望の色見本を選択するか、又は色パラメータ設定領域155において数値を設定することによって色を設定するようにしても良い。
【0109】
また上述の実施の形態においては、色設定ボタン132〜139上にRGBのパラメータ値を表示するようにした場合について述べたが、本発明はこれに限らず、例えばH(Hue )L(Luminance )S(Saturation)のように、他の種々のパラメータ値を表示するようにしても良い。
【0110】
さらに上述の実施の形態においては、指定された文字に応じた3次元文字を生成した場合について述べたが、本発明はこれに限らず、例えば図形のような他の種々の表示要素を立体化する表示要素立体化装置に本発明を広く適用し得る。
【0111】
【発明の効果】
上述のように本発明によれば、立体化された表示要素を縁取るようにして多角形の面で形成される立体要素を生成し、当該立体要素を立体化された表示要素に付加して表示手段に表示することにより、立体要素によって立体化された表示要素の輪郭を強調することができ、かくしてユーザは表示手段の表示画面にかかわらず表示要素を確実に認識し得る。
【図面の簡単な説明】
【図1】本発明による映像タイトル生成装置の一実施の形態を示すブロック図である。
【図2】アプリケーションプログラムの構成の説明に供する略線図である。
【図3】GUI画面の説明に供する略線図である。
【図4】CPUによるポリゴンモデル生成手順を示すフローチャートである。
【図5】ポリゴンモデル生成の説明に供する略線図である。
【図6】パースの設定の説明に供する略線図である。
【図7】3次元文字生成手順を示すフローチャートである。
【図8】スキャンライン用線分配置表の作成の説明に供する略線図である。
【図9】ポリゴン生成のための3角形分割処理の説明に供する略線図である。
【図10】エッジ生成手順を示すフローチャートである。
【図11】拡大方向の単位ベクトルの生成の説明に供する略線図である。
【図12】拡大方向ベクトルの再計算の説明に供する略線図である。
【図13】カラーピッカーによる色選択手順を示すフローチャートである。
【図14】カラーピッカーの表示画面の説明に供する略線図である。
【図15】カラーピッカーの表示画面の説明に供する略線図である。
【図16】グループプロパティダイアログによる色選択手順を示すフローチャートである。
【図17】グループプロパティダイアログの表示画面の説明に供する略線図である。
【図18】色選択ダイアログの表示画面の説明に供する略線図である。
【図19】透視投影変換手順を示すフローチャートである。
【図20】マルチパース指定されたときのシーンウィンドウの説明に供する略線図である。
【図21】マルチパース指定されたときのシーンウィンドウの説明に供する略線図である。
【図22】3次元文字の回転動作手順を示すフローチャートである。
【図23】キーフレームアニメーション作成手順を示すフローチャートである。
【図24】シーングラフの説明に供する略線図である。
【図25】映像タイトル送出手順を示すフローチャートである。
【符号の説明】
1……映像タイトル生成装置、3……CPU、5……システムコントローラ、7……メモリ、9……キャッシュ、11……I/Oコントローラ、13……グラフィックスアクセラレータ、15……フレームバッファ、17……ハードディスクコントローラ、19……HDD、21……ディスプレイ、23……モニタ、25……キーボードコントローラ、27……キーボード、29……マウスコントーラ、31……マウス。

Claims (4)

  1. ユーザの操作によって入力手段を介して指定された表示要素の形状を立体化する立体化手段と、
    上記立体化手段によって立体化された上記表示要素を縁取るようにして多角形の面で形成される立体要素を生成する立体要素生成手段と、
    上記立体要素生成手段によって生成された上記立体要素を上記立体化手段によって立体化された上記表示要素に付加して表示手段に表示する表示制御手段と
    を具え
    上記立体要素生成手段は、
    上記表示要素の輪郭を形成する頂点ごとに、同一の頂点を端点とする2つの線分のうちの一方の線分から垂直に延びる第1のベクトルと、他方の線分から垂直に延びる第2のベクトルとを生成し、当該第1のベクトルと垂直に交わる第1の補助線と、当該第2のベクトルと垂直に交わる第2の補助線とを生成し、上記2つの線分の端点となる頂点から当該第1の補助線及び当該第2の補助線の交点に延びる第3のベクトルを生成し、当該第3のベクトルをもとに上記立体要素の頂点座標を決定することで上記立体要素を生成する
    示要素立体化装置。
  2. 上記立体要素生成手段は、
    単位ベクトルとして上記第3のベクトルを生成し、ユーザにより指定された拡大縮小係数をもとに当該第3のベクトルを拡大又は縮小して上記立体要素の頂点座標を決定する
    求項1に記載の表示要素立体化装置。
  3. ユーザの操作によって入力手段を介して指定された表示要素の形状を立体化する表示要素立体化ステップと
    体化された上記表示要素を縁取るようにして多角形の面で形成される立体要素を生成する立体要素生成ステップと、
    生成された上記立体要素を立体化された上記表示要素に付加して表示手段に表示する表示ステップと
    を具え、
    上記立体要素生成ステップでは、
    上記表示要素の輪郭を形成する頂点ごとに、同一の頂点を端点とする2つの線分のうちの一方の線分から垂直に延びる第1のベクトルと、他方の線分から垂直に延びる第2のベクトルとを生成し、当該第1のベクトルと垂直に交わる第1の補助線と、当該第2のベクトルと垂直に交わる第2の補助線とを生成し、上記2つの線分の端点となる頂点から当該第1の補助線及び当該第2の補助線の交点に延びる第3のベクトルを生成し、当該第3のベクトルをもとに上記立体要素の頂点座標を決定することで上記立体要素を生成する
    示要素立体化方法。
  4. 上記立体要素生成ステップでは、
    単位ベクトルとして上記第3のベクトルを生成し、ユーザにより指定された拡大縮小係数をもとに当該第3のベクトルを拡大又は縮小して上記立体要素の頂点座標を決定する
    求項3に記載の表示要素立体化方法。
JP06905399A 1999-03-15 1999-03-15 表示要素立体化装置及びその方法 Expired - Fee Related JP4203780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06905399A JP4203780B2 (ja) 1999-03-15 1999-03-15 表示要素立体化装置及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06905399A JP4203780B2 (ja) 1999-03-15 1999-03-15 表示要素立体化装置及びその方法

Publications (2)

Publication Number Publication Date
JP2000268202A JP2000268202A (ja) 2000-09-29
JP4203780B2 true JP4203780B2 (ja) 2009-01-07

Family

ID=13391451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06905399A Expired - Fee Related JP4203780B2 (ja) 1999-03-15 1999-03-15 表示要素立体化装置及びその方法

Country Status (1)

Country Link
JP (1) JP4203780B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4955596B2 (ja) * 2008-03-21 2012-06-20 富士フイルム株式会社 画像出力方法、装置およびプログラム
JP4959629B2 (ja) * 2008-05-23 2012-06-27 カタリスト・モバイル株式会社 テキスト合成処理システム及びそれを備える可搬型通信端末
US8896593B2 (en) * 2011-06-06 2014-11-25 Monotype Imaging Inc. Producing three-dimensional graphics

Also Published As

Publication number Publication date
JP2000268202A (ja) 2000-09-29

Similar Documents

Publication Publication Date Title
JP4203779B2 (ja) 表示要素立体化装置及びその方法
US7728848B2 (en) Tools for 3D mesh and texture manipulation
JP3184327B2 (ja) 3次元グラフィックス処理方法及びその装置
EP1008112B1 (en) Techniques for creating and modifying 3d models and correlating such models with 2d pictures
US8514238B2 (en) System and method for adding vector textures to vector graphics images
JP5299173B2 (ja) 画像処理装置および画像処理方法、並びにプログラム
US20080018665A1 (en) System and method for visualizing drawing style layer combinations
JPH0816820A (ja) 3次元アニメーション作成装置
US9269195B2 (en) Methods and apparatus for generating curved extrusions
US8704823B1 (en) Interactive multi-mesh modeling system
US20180365866A1 (en) Multi-dimensional Color and Opacity Gradation Tools, Systems, Methods and Components
US8599197B1 (en) Annotation-based mesh modification
JPWO2008059849A1 (ja) メニュー表示装置、情報処理装置及びメニュー表示方法
JP4203780B2 (ja) 表示要素立体化装置及びその方法
US7474928B2 (en) Hybrid vector/raster based paint
WO2017002483A1 (ja) プログラム、情報処理装置、深度定義方法及び記録媒体
JP4203778B2 (ja) 画像処理装置及びその方法
JP4304551B2 (ja) 画像処理装置及びその方法
JP2000270264A (ja) 画像処理装置及びその方法
JP2000268200A (ja) 表示要素立体化装置及びその方法
JP2000268198A (ja) 立体画像処理装置及びその方法
JP2000268199A (ja) 表示要素立体化装置及びその方法
US7256800B2 (en) Vertex interaction
JP4234506B2 (ja) 画像処理装置および方法、並びにプログラム
JPH11296696A (ja) 3次元画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080821

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: 20080918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees