JP3794509B2 - 3次元パラメータ入力装置、3次元パラメータ入力方法及び画像処理装置 - Google Patents
3次元パラメータ入力装置、3次元パラメータ入力方法及び画像処理装置 Download PDFInfo
- Publication number
- JP3794509B2 JP3794509B2 JP34777895A JP34777895A JP3794509B2 JP 3794509 B2 JP3794509 B2 JP 3794509B2 JP 34777895 A JP34777895 A JP 34777895A JP 34777895 A JP34777895 A JP 34777895A JP 3794509 B2 JP3794509 B2 JP 3794509B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cursor
- supplied
- area
- axis
- 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
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
- Position Input By Displaying (AREA)
Description
【目次】
以下の順序で本発明を説明する。
発明の属する技術分野
従来の技術
発明が解決しようとする課題
課題を解決するための手段
発明の実施の形態(図1〜図5)
発明の効果
【0002】
【発明の属する技術分野】
本発明は3次元パラメータ入力装置及び画像処理装置に関し、例えばマウスを用いて、入力される画像中の操作対象を操作するビデオエフエクト装置に適用して好適なものである。
【0003】
【従来の技術】
ビデオエフエクト装置においては、入力される画像中の操作対象に対して例えば移動、拡大、縮小、サイズや位置の変更、そして変化を伴う3次元的な動き等、操作によつては無限ともいえる応用が可能な特殊効果を与えている。
ビデオエフエクト装置には、マウス等の入力手段と画像中の操作対象の動きを3次元的に制御するための各種パラメータを入力する入力装置が設けられている。
【0004】
このビデオエフエクト装置において、画像中の操作対象に特殊効果を与えるには、この入力装置に設けられたスイツチを操作したいパラメータに対応した位置に移動させてから、入力手段によつて画像中の操作対象を操作して特殊効果を与えていた。
【0005】
【発明が解決しようとする課題】
ところでかかる構成のビデオエフエクト装置においては、画像中の操作対象に対して2次元的な動きのある特殊効果に加え、3次元的な動きのある特殊効果を与えるために、入力手段の操作と共に3次元的な動きを制御するためのパラメータの選択切換え操作をする必要がある。
【0006】
従つて、画像中の操作対象に3次元的な特殊効果を与えるためには、その都度3次元的な動きを制御するためのパラメータに対応したスイツチを操作してから入力手段を操作しなければならず、操作が煩雑になる問題があつた。
【0007】
本発明は以上の点を考慮してなされたもので、本発明の目的は入力手段の操作によつて、3次元的な動きを制御するためのパラメータの選択切換え操作を容易にし得る操作性の優れた3次元パラメータ入力装置及び画像処理装置を提供することである。
【0008】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、ソース制御領域内及びターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンをモニタに表示し、モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力し、カーソルを介して第1の確定データが入力されたときに、カーソルが第1の領域、第2の領域、第3の領域のうちどの領域に位置しているかを判別し、その判別結果に基づいてカーソルが第1の領域内に位置するときに、第1の確定データが供給された後にカーソルを介して供給される位置データに基づいてX軸方向の移動位置データまたはX軸方向の移動量データを生成して出力し、カーソルが第2の領域内に位置するときに、第1の確定データが供給された後にカーソルを介して供給される位置データに基づいてY軸方向の移動位置データまたはY軸方向の移動量データを生成して出力し、カーソルが第3の領域内に位置するときに、第1の確定データが供給された後にカーソルを介して供給される位置データに基づいて拡大率を示す拡大率データを生成して出力するようにした。
これにより本発明では、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するためのソース制御領域内に表示された第1の領域、第2の領域、第3の領域からなるアイコンと、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域に表示された第1の領域、第2の領域、第3の領域からなるアイコンとをカーソルにより選択可能であり、カーソルがソース制御領域内若しくはターゲツト制御領域内における第1の領域乃至第3の領域の何れか位置するときに、カーソルの動きを示す位置データに応じてX軸方向、Y軸方向若しくは拡大率に関するパラメータを生成して出力することにより、画像中の操作対象についての3次元座標を基準として当該操作対象の位置や大きさを制御したり、画面上における仮想3次元座標を基準として画像中の操作対象の位置や大きさを制御することができる。
【0009】
また本発明においては、モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、ソース制御領域内及びターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンをモニタに表示し、モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力し、カーソルを介して第1の確定データが供給されたときに、カーソルが第1の領域、第2の領域、第3の領域のうちどの領域に位置しているかを判別し、その判別結果に基づいて、カーソルが第1の領域内に位置するときに、第1の確定データが供給された後にカーソルを介して供給される位置データに基づいてX軸回りの回転角度データまたはX軸回りの回転量データを生成して出力し、カーソルが第2の領域内に位置するときに、第1の確定データが供給された後にカーソルを介して供給される位置データに基づいてY軸回りの回転角度データまたはY軸回りの回転量データを生成して出力し、カーソルが第3の領域内に位置するときに、第1の確定データが供給された後にカーソルを介して供給される位置データに基づいてZ軸回りの回転角度データまたはZ軸回りの回転量データを生成して出力するようにした。
これにより本発明では、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するためのソース制御領域内に表示された第1の領域、第2の領域、第3の領域からなるアイコンと、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域に表示された第1の領域、第2の領域、第3の領域からなるアイコンとをカーソルにより選択可能であり、カーソルがソース制御領域内若しくはターゲツト制御領域内における第1の領域乃至第3の領域の何れか位置するときに、カーソルの動きを表す位置データに応じてX軸向り、Y軸向り若しくはZ軸回りの回転に関するパラメータを生成して出力することにより、画像中の操作対象についての3次元座標を基準として当該操作対象の回転角度又は回転量を制御したり、画面上における仮想3次元座標を基準として画像中の操作対象の回転角度や回転量を制御することができる。
【0010】
【発明の実施の形態】
以下図面について、本発明の一実施例を詳述する。
【0011】
図1において、画像処理装置としてのビデオエフエクト装置1は、3次元パラメータ入力部2、プロセツサ6、出力モニタ7から構成されている。ここで3次元パラメータ入力部2は、コントローラ4に接続された入力手段としてのマウス3と制御用アイコンを表示するアイコン表示手段としてのコントロールモニタ5から形成されている。
【0012】
すなわちビデオエフエクト装置1では、コントロールモニタ5に表示された制御用アイコンをマウス3によつて後述するカーソル9(図2)で位置決めしてクリツクすることにより、クリツクした制御用アイコンに対応した2次元又は3次元パラメータ(以下これをパラメータと呼ぶ)を画像処理手段としてのプロセツサ6に出力し、出力モニタ7にパラメータに対応して制御された画像を出力するようになされている。
【0013】
図2において、コントロールモニタ5の表示画面には、エリア1(AR1)、エリア2(AR2)及び座標表示部8が設けられている。
ここでエリア1は、画像中の操作対象についての3次元座標を基準として、操作対象の位置を制御する(これをSOURCE側での制御と呼ぶ)第1の制御用アイコンでなり、位置制御アイコン10、回転制御アイコン11が設けられている。
【0014】
またエリア2は、出力モニタ7の画面上での仮想3次元座標を基準として画像中の操作対象の位置を制御する(これをTARGET側での制御と呼ぶ)第2の制御用アイコンでなり、エリア1と同様に位置制御アイコン12、回転制御アイコン13が設けられている。
さらに座標表示部8は、出力モニタ7に映し出される画像中の操作対象のX、Y、Z軸上の位置や拡大率等を数値として表示している。
【0015】
位置制御アイコン10、12及び回転制御アイコン11、13は、2次元の情報を制御する第1の制御領域及び、3次元の情報を制御する第2の制御領域から形成されている。
この位置制御アイコン10及び12は、LOC、X、Y、C、Zの5つのアイコンから形成されており、例えば第1の領域としてのアイコンXは画像中の操作対象のX軸方向のみの動きを制御し、マウス3によつてカーソル9をアイコンXの領域に位置決めしてクリツクすると、コントローラ4からそのアイコンXに対応したパラメータをプロセツサ6に出力する。プロセツサ6は、供給されたパラメータに基づいて、出力モニタ7に映し出された画像中の操作対象を指定された量だけ移動させる。
【0016】
第2の領域としてのアイコンYもアイコンXと同様に、画像中の操作対象のY軸方向のみの動きを制御する。
またオペレータは、アイコンLOCを選択してX軸方向及びY軸方向に同時に操作対象を動かすようにしても良い。また第3の領域としてのアイコンZは、画像中の操作対象の大きさ(拡大率)を制御し、アイコンCは画像中の操作対象を元の状態に戻し得るようになされている。
【0017】
また回転制御部11及び13は、ROT、X、Y、C、Zの5つのアイコンから形成されており、第1の領域としてのアイコンXは画像中の操作対象のX軸回りの回転、第2の領域としてのアイコンYは画像中の操作対象のY軸回りの回転、第3の領域としてのアイコンZは画像中の操作対象のZ軸回りの回転を制御し、アイコンCによつて画像中の操作対象を元の状態に戻し得るようになされている。
さらに、オペレータがアイコンROTを選択することにより、画像中の操作対象をカーソル9の動かされた方向に直交する軸を中心として回転移動させるようにしても良い。
【0018】
次に、図1に示すコントローラ4の詳細については、図3を参照しながら説明する。図3において、コントローラ4は、カーソル表示手段、判別手段及びパラメータ生成手段としてのCPU20、このCPU20の動作のためのソフトウエアプログラムデータを記憶しているROM21、キヤラクタ生成のためのデータやマウス3から供給されたデータ及び処理途中のデータ等を記憶するRAM22、コントロールモニタ5とのインターフエースを受け持つモニタ用インターフエース23、マウス3とのインターフエースを受け持つ入力装置用インターフエース24及び、プロセツサ6に対してデータを送受するシリアルインターフエース25がバス26を介して互いに接続されて構成されている。
【0019】
以上の構成において、ビデオエフエクト装置1ではオペレータがマウス3によつて、コントロールモニタ5の操作したい制御用アイコンの領域内にカーソル9を位置決めしてクリツクすることにより指示情報を入力する。
例えば、オペレータが位置制御アイコン10のアイコンYをクリツクすると、マウス3の動きは出力モニタ7の画像中の操作対象のY軸方向のみの動きを制御するようになる。
従つて、オペレータは出力モニタ7の画像中の操作対象がY軸上の所望の位置に到達したら、再度マウスをクリツクすることによりその制御を解除する。その際、座標表示部8の座標値は移動量分だけ変化した数値を表示している。
【0020】
次に、オペレータが回転制御アイコン11のアイコンXをクリツクすると、出力モニタ7の画像中の操作対象をX軸回りにマウス3の移動量だけ回転させ、所定の位置まで回転した後に再度マウス3をクリツクしてその制御を解除する。
また、オペレータが位置制御アイコン12のアイコンXをクリツクすると、マウス3の動きは仮想3次元座標を基準として出力モニタ7の画面上での画像中の操作対象の位置をX軸方向に制御する。
【0021】
従つて、オペレータは出力モニタ7の画面上での操作対象がX軸上の所定の位置に到達したら、再度マウス3をクリツクすることによりその制御を解除する。かくして、オペレータが画像中の操作対象を自在に制御することにより、多種多様な動きに対応した画像を出力モニタ7で確認しながら操作対象に特殊効果を与えることができる。
【0022】
次に、CPU20の動作手順については、図4及び図5のフローチヤートを参照しながら説明する。
CPU20は、ステツプSP1においてその動作手順を開始する。
ステツプSP2において、CPU20は、RAM22に記憶されているキヤラクタ生成のためのデータをRAM22から取り込み、図2に示されるアイコンを表すデータを生成して、モニタ用インターフエース23を介してコントロールモニタ5に供給する。これにより、図2に示されるアイコンがコントロールモニタ5に表示される。
【0023】
ステツプSP3において、CPU20は、RAM22に記憶されているカーソル生成のためのデータをRAM22から取り込み、図2に示されるカーソルを表すデータを生成して、モニタ用インターフエース23を介してコントロールモニタ5に供給する。これにより、図2に示されるカーソル9がコントロールモニタ5に表示される。
【0024】
ステツプSP4において、CPU20は、マウス3から供給される位置データに応じた位置にカーソル9を移動させ、マウス3からクリツクデータが供給されたときのカーソル9の位置がコントロールモニタ5の画面上におけるソース領域であるか否かを判断する。
【0025】
ここで、CPU20はカーソル9がソース領域内に位置しているときに肯定結果を得てステツプSP5に移る。またステツプSP4において、CPU20はカーソル9がソース領域内に位置していることを示すデータをプロセツサ6に供給する。
プロセツサ6は、以後コントローラ4から供給される移動量データ、移動位置データ、回転量データ、回転角度データまたは拡大率データに基づいて、操作対象に対してソース側での制御を実行する。
【0026】
ステツプSP5において、CPU20は、カーソル9が位置制御用のアイコン10内にあるか否かを判断する。ここで、CPU20はカーソル9が位置制御用のアイコン10内に位置しているときには、肯定結果を得てステツプSP6に移る。
ステツプSP6において、CPU20は、カーソル9が位置制御用のアイコン10内のアイコンX内にあるか否かを判断する。ここでCPU20は、カーソル9がアイコンX内に位置しているときに肯定結果を得てステツプSP7に移る。
【0027】
CPU20は、ステツプSP4からステツプSP6を通過するときに、マウス3からクリツクデータが1回供給された後のマウス3の移動に伴つて、マウス3から供給される位置データをステツプSP7にてコントロールモニタ5に供給し、座標表示部8にそのときの座標値を表示する。
このとき、カーソル9により選択された被制御項目は、X軸方向の位置であるためにマウス3の移動に伴つて変化する値は、座標表示部8の”X=”として表示される位置データのみである。
【0028】
ステツプSP8において、CPU20は、ステツプSP7にてコントロールモニタ5に供給した位置データと同じ位置データに基づいて、X軸方向の移動量データまたはX軸方向の移動位置データを生成し、シリアルインターフエース25を介してプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、ステツプSP8にて供給されたX軸方向の移動量データまたはX軸方向の移動位置データに基づいて、操作対象を指示された量だけX軸方向に移動させる。
【0029】
ところでステツプSP6において、CPU20は、カーソル9がアイコンX内に位置していないときに否定結果を得てステツプSP9に移る。
ステツプSP9において、CPU20は、カーソル9が位置制御用のアイコン10内のアイコンY内にあるか否かを判断する。ここでCPU20は、カーソル9がアイコンY内に位置しているときに肯定結果を得てステツプSP10に移る。
【0030】
CPU20は、ステツプSP4からステツプSP6及びステツプSP9を通過するときに、マウス3からクリツクデータが1回供給された後のマウス3の移動に伴つて、マウス3から供給される位置データをステツプSP10にてコントロールモニタ5に供給し、座標表示部8にそのときの座標値を表示する。
このとき、カーソル9により選択された被制御項目は、Y軸方向の位置であるためにマウス3の移動に伴つて変化する値は、座標表示部8の”Y=”として表示される位置データのみである。
【0031】
ステツプSP11において、CPU20は、ステツプSP10にてコントロールモニタ5に供給した位置データと同じ位置データに基づいて、Y軸方向の移動量データ及びY軸方向の移動位置データを生成し、シリアルインターフエース25を介してプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、ステツプSP11にて供給されたY軸方向の移動量データまたはY軸方向の移動位置データに基づいて、操作対象を指示された量だけY軸方向に移動させる。
【0032】
ところでステツプSP9において、CPU20は、カーソル9がアイコンY内に位置していないときに否定結果を得てステツプSP12に移る。
ステツプSP12において、CPU20は、カーソル9が位置制御用のアイコン10内のアイコンZ内にあるか否かを判断する。ここでCPU20は、カーソル9がアイコンZ内に位置しているときに肯定結果を得てステツプSP13に移る。
【0033】
CPU20は、ステツプSP4からステツプSP6、ステツプSP9及びステツプSP12を通過するときに、マウス3からクリツクデータが1回供給された後のマウス3の移動に伴つて、マウス3から供給される位置データをステツプSP13にてコントロールモニタ5に供給し、座標表示部8にそのときの拡大率を表示する。
このとき、カーソル9により選択された被制御項目は、拡大率であるためにマウス3の移動に伴つて変化する値は、座標表示部8の”Z=”として表示される拡大率データのみである。
【0034】
ステツプSP14において、CPU20は、ステツプSP13にてコントロールモニタ5に供給した位置データと同じ位置データに基づいて、拡大率を示すデータを生成し、シリアルインターフエース25を介してプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、ステツプSP14にて供給された拡大率を示すデータに基づいて、操作対象を指示された大きさに拡大または縮小させる。
【0035】
尚、ステツプSP8、ステツプSP11及びステツプSP14において、CPU20は、マウス3からクリツクデータが供給されたときに、そのときのX軸、Y軸方向の移動量データまたは移動位置データまたは拡大率データを保持し、そのデータをプロセツサ6に供給し続ける。
またはステツプSP8、ステツプSP11及びステツプSP14において、CPU20は、マウス3からクリツクデータが供給されたときに、そのときのX軸、Y軸方向の移動量データまたは移動位置データまたは拡大率データがプロセツサ6内で保持されるように保持指令データをプロセツサ6に供給する。
【0036】
ステツプSP12において、CPU20は、カーソル9がアイコンZ内に位置していないときに否定結果を得てステツプSP15に移る。
ステツプSP15において、CPU20は、カーソル9が位置制御用のアイコン10内のアイコンC内にあるか否かを判断する。ここで、CPU20はカーソル9がアイコンC内に位置しているときに肯定結果を得てステツプSP16に移る。
【0037】
尚、ステツプSP5、ステツプSP6、ステツプSP9、ステツプSP12及びステツプSP15におけるCPU20の判断は、ステツプSP4においてマウス3からクリツクデータが供給されたときのカーソル9の位置に基づいて実行される。
【0038】
ステツプSP16において、CPU20は、ステツプSP6からステツプSP14にて設定されたX軸方向及び又はY軸方向の移動量データ又は移動位置データ及び又は拡大率データを初期値に戻し、その初期値をプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、操作対象を初期値にて示される位置に移動、又は初期値にて示される大きさに戻す。
ステツプSP15において、CPU20はカーソル9がアイコンC内に位置していないときに否定結果を得てステツプSP60に移つて動作手順を終了する。
【0039】
ところでステツプSP5において、CPU20は、カーソル9が位置制御用のアイコン10内に位置していないと判断されたときには、否定結果を得てステツプSP17に移る。
ステツプSP17において、CPU20は、カーソル9が回転制御用のアイコン11内にあるか否かを判断する。ここでCPU20は、カーソル9が回転制御用のアイコン11内に位置しているときに肯定結果を得てステツプSP18に移る。
【0040】
ステツプSP18において、CPU20は、カーソル9が回転制御用のアイコン11内のアイコンX内にあるか否かを判断する。ここでCPU20は、カーソル9がアイコンX内に位置しているときに肯定結果を得てステツプSP19に移る。
【0041】
CPU20は、ステツプSP4、ステツプSP5、ステツプSP17及びステツプSP18を通過するときに、マウス3からクリツクデータが1回供給された後のマウス3の移動に伴つて、マウス3から供給される位置データをステツプSP19にてコントロールモニタ5に供給し、座標表示部8にそのときの回転角度又は回転量を数値として表示する。
このとき、カーソル9により選択された被制御項目は、X軸回りの回転であるためにマウス3の移動に伴つて変化する値は、座標表示部8の”X=”として表示される回転データのみである。
【0042】
ステツプSP20において、CPU20は、ステツプSP19にてコントロールモニタ5に供給した回転データと同じ回転データに基づいて、X軸回りの回転量データ又はX軸回りの回転角度データを生成し、シリアルインターフエース25を介してプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、ステツプSP20にて供給されたX軸回りの回転量データ又はX軸回りの回転角度データに基づいて、操作対象を指示された量だけX軸回りに回転させる。
【0043】
ステツプSP18にて、CPU20は、カーソル9がアイコンX内に位置していないときに否定結果を得てステツプSP21に移る。
ステツプSP21において、CPU20は、カーソル9が回転制御用のアイコン11内のアイコンY内にあるか否かを判断する。
ここでCPU20は、カーソル9がアイコンY内に位置しているときに肯定結果を得てステツプSP22に移る。
【0044】
CPU20は、ステツプSP4、ステツプSP5、ステツプSP17、ステツプSP18及びステツプSP21を通過するときに、マウス3からクリツクデータが1回供給された後のマウス3の移動に伴つて、マウス3から供給される位置データをステツプSP22にてコントロールモニタ5に供給し、座標表示部8にそのときの回転角度又は回転量を数値として表示する。
このとき、カーソル9により選択された被制御項目は、Y軸回りの回転であるためにマウス3の移動に伴つて変化する値は、座標表示部8の”Y=”として表示される回転データのみである。
【0045】
ステツプSP23において、CPU20は、ステツプSP22にてコントロールモニタ5に供給した回転データと同じ回転データに基づいて、Y軸回りの回転量データ又はY軸回りの回転角度データを生成し、シリアルインターフエース25を介してプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、ステツプSP23にて供給されたY軸回りの回転量データ又はY軸回りの回転角度データに基づいて、操作対象を指示された量だけY軸回りに回転させる。
【0046】
ステツプSP21にて、CPU20は、カーソル9がアイコンY内に位置していないときに否定結果を得てステツプSP24に移る。
ステツプSP24において、CPU20は、カーソル9が回転制御用のアイコン11内のアイコンZ内にあるか否かを判断する。
ここでCPU20は、カーソル9がアイコンZ内に位置しているときに肯定結果を得てステツプSP25に移る。
【0047】
CPU20は、ステツプSP4、ステツプSP5、ステツプSP17、ステツプSP18、ステツプSP21及びステツプSP24を通過するときに、マウス3からクリツクデータが1回供給された後のマウス3の移動に伴つて、マウス3から供給される位置データをステツプSP25にてコントロールモニタ5に供給し、座標表示部8にそのときの回転角度又は回転量を数値として表示する。
このとき、カーソル9により選択された被制御項目は、Z軸回りの回転であるためにマウス3の移動に伴つて変化する値は、座標表示部8の”Z=”として表示される回転データのみである。
【0048】
ステツプSP26において、CPU20は、ステツプSP25にてコントロールモニタ5に供給した回転データと同じ回転データに基づいて、Z軸回りの回転量データ又はZ軸回りの回転角度データを生成し、シリアルインターフエース25を介してプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、ステツプSP26にて供給されたZ軸回りの回転量データ又はZ軸回りの回転角度データに基づいて、操作対象を指示された量だけZ軸回りに回転させる。
【0049】
尚、ステツプSP20、ステツプSP23及びステツプSP26において、CPU20は、マウス3からクリツクデータが供給されたときに、そのときの各軸方向の回転量データまたは回転角度データを保持し、そのデータをプロセツサ6に供給し続ける。
またはステツプSP20、ステツプSP23及びステツプSP26において、CPU20は、マウス3からクリツクデータが供給されたときに、そのときの各軸方向の回転量データまたは回転角度データがプロセツサ6内で保持されるように保持指令データをプロセツサ6に供給する。
【0050】
ステツプSP24において、CPU20は、カーソル9がアイコンZ内に位置していないときに否定結果を得てステツプSP27に移る。
ステツプSP27において、CPU20は、カーソル9が回転制御用のアイコン11内のアイコンC内にあるか否かを判断する。ここで、CPU20はカーソル9がアイコンC内に位置しているときには肯定結果を得てステツプSP28に移る。
【0051】
尚、ステツプSP17、ステツプSP18、ステツプSP21、ステツプSP24及びステツプSP27におけるCPU20の判断は、ステツプSP4においてマウス3からクリツクデータが供給されたときのカーソル9の位置に基づいて実行される。
【0052】
ステツプSP28において、CPU20は、ステツプSP18からステツプSP26にて設定されたX軸回り及び又はY軸回り及び又はZ軸回りの回転量データ又は回転角度データを初期値に戻し、その初期値をプロセツサ6に供給し、ステツプSP60に移つて動作手順を終了する。
このときプロセツサ6は、操作対象を初期値にて示される位置に移動させる。ステツプSP27において、CPU20はカーソル9がアイコンC内に位置していないときには否定結果を得てステツプSP60に移つて動作手順を終了する。
【0053】
ところでステツプSP17において、CPU20は、カーソル9が回転制御用のアイコン11内に位置していないと判断されたときには否定結果を得てステツプSP60に移つて動作手順を終了する。
またステツプSP4において、CPU20は、カーソル9がソース領域内に位置していないと判断されたときにはステツプSP29に移る。
【0054】
ステツプSP29において、CPU20はカーソル9がターゲツト領域内に位置していることを示すデータをプロセツサ6に供給する。プロセツサ6は、以後コントローラ4から供給される移動量データ、移動位置データ、回転量データ、回転角度データまたは拡大率データに基づいて、操作対象に対してターゲツト側での制御を実行する。
次の図5に示すステツプSP30からステツプSP53の動作手順については、制御がターゲツト側であることを除いてステツプSP5からステツプSP28の動作手順と同じなので、その説明を省略する。
【0055】
以上の構成によれば、ビデオエフエクト装置1ではマウス3によつてソース側(AR1)あるいはターゲツト側(AR2)のいずれかにカーソル9を移動させ、操作したい制御用アイコンの領域内にカーソル9を位置決めしてクリツクすることにより、その制御用アイコンに対応したパラメータをプロセツサ6に出力して、特殊効果の施された画像を出力モニタ7に表示する。
これにより、ビデオエフエクト装置1では画像を確認しながら特殊効果を与えることができると共に、マウス3の操作だけで各種3次元パラメータの選択切換え操作を素早く実行できる。
【0056】
なお上述の実施例においては、制御用アイコンとしてLOC(位置)、ROT(回転)を用いた場合について述べたが、本発明はこれに限らず、例えばRATE(倍率)、PRS(遠近感)、SKW(歪み)等の複数の操作要因を設けることにより、一段と複雑な動きを実現させることができる。
【0057】
また上述の実施例においては、制御用アイコンの表示方法としてLOC、X、Y、C、Zの5つの組み合わせで表示するようにした場合について述べたが、本発明はこれに限らず、他の組み合わせによつて表示してもよい。例えばX、Y、Zの3つの組み合わせによるものと、LOC、ROT、RATE、PRS、SKW等を別々にして表示しても良い。
【0058】
また上述の実施例においては、制御用アイコンをコントロールモニタ5上に表示するようにした場合について述べたが、本発明はこれに限らず出力モニタ7の一部にコントロールモニタ5の制御用アイコンを設けるようにしてもよい。例えば出力モニタ7の最下部に制御用アイコンを設けたり、また出力モニタ7の画面中に窓表示を設けてその中に制御用アイコンを表示しても良い。
【0059】
また上述の実施例においては、本発明をビデオエフエクト装置1に適用した場合について述べたが、本発明はこれに限らず、例えばCAD(Computer aided design )や3次元コンピユータグラフイクスによるゲーム装置等に用いても良い。
【0060】
また上述の実施例においては、マウス3を用いて制御用アイコンを選択したビデオエフエクト装置1について述べたが、本発明はこれに限らずマウス3に代えてタブレツト、ライトペン、トラツクボール及びジヨイステイツク等の他の種々の入力手段を用いても良い。
【0061】
【発明の効果】
上述のように本発明によれば、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するためのソース制御領域内に表示された第1の領域、第2の領域、第3の領域からなるアイコンと、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域に表示された第1の領域、第2の領域、第3の領域からなるアイコンとをカーソルにより選択可能であり、カーソルがソース制御領域内若しくはターゲツト制御領域内における第1の領域乃至第3の領域の何れか位置するときに、カーソルの動きを表す位置データに応じてX軸方向、Y軸方向若しくは拡大率に関するパラメータを生成して出力することにより、画像中の操作対象についての3次元座標を基準として当該操作対象の位置や大きさを制御したり、画面上における仮想3次元座標を基準として画像中の操作対象の位置や大きさを制御することができ、かくして画像中の操作対象についての3次元座標を基準とした場合や、画面上における仮想3次元座標を基準とした場合にも画像中の操作対象に対して3次元的な動きを制御するためのパラメータの選択切換え操作を容易に実行させることができる。
また本発明によれば、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するためのソース制御領域内に表示された第1の領域、第2の領域、第3の領域からなるアイコンと、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域に表示された第1の領域、第2の領域、第3の領域からなるアイコンとをカーソルにより選択可能であり、カーソルがソース制御領域内若しくはターゲツト制御領域内における第1の領域乃至第3の領域の何れか位置するときに、カーソルの動きを表す位置データに応じてX軸向り、Y軸向り若しくはZ軸回りの回転に関するパラメータを生成して出力することにより、画像中の操作対象についての3次元座標を基準として当該操作対象の回転角度又は回転量を制御したり、画面上における仮想3次元座標を基準として画像中の操作対象の回転角度や回転量を制御することができ、かくして画像中の操作対象についての3次元座標を基準とした場合や、画面上における仮想3次元座標を基準とした場合にも画像中の操作対象に対して3次元的な動きを制御するためのパラメータの選択切換え操作を容易に実行させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるビデオエフエクト装置の構成を示すブロツク図である。
【図2】本発明の一実施例によるコントロールモニタの表示画面の表示内容を示す略線図である。
【図3】本発明の一実施例によるコントローラの構成を示すブロツク図である。
【図4】本発明の一実施例によるコントローラの動作手順を説明するためのフローチヤート(1)である。
【図5】本発明の一実施例によるコントローラの動作手順を説明するためのフローチヤート(2)である。
【符号の説明】
1……ビデオエフエクト装置、2……3次元パラメータ入力部、3……マウス、4……コントローラ、5……コントロールモニタ、6……プロセツサ、7……出力モニタ、AR1……エリア1、AR2……エリア2、8……座標表示部、9……カーソル、10、12……位置制御アイコン、11、13……回転制御アイコン、20……CPU、21……ROM、22……RAM、23……モニタ用インターフエース、24……入力装置用インターフエース、25……シリアルインターフエース、26……バス。
Claims (10)
- モニタと、
上記モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、上記ソース制御領域内及び上記ターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に上記操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンを上記モニタに表示するアイコン表示手段と、
上記モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力する入力手段と、
上記入力手段から上記カーソルを介して第1の確定データが供給されたときに、上記カーソルが上記第1の領域、上記第2の領域、上記第3の領域のうちどの領域に位置しているかを判別する判別手段と、
上記判別手段の判別結果に基づいて、上記カーソルが上記第1の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてX軸方向の移動位置データまたはX軸方向の移動量データを生成して出力し、上記カーソルが上記第2の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてY軸方向の移動位置データまたはY軸方向の移動量データを生成して出力し、上記カーソルが上記第3の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいて拡大率を示す拡大率データを生成して出力するパラメータ生成手段と
を具えることを特徴とする3次元パラメータ入力装置。 - 上記パラメータ生成手段は、上記入力手段から第2の確定データが供給されたときに、上記X軸方向の移動位置データ、上記X軸方向の移動量データ、上記Y軸方向の移動位置データ、上記Y軸方向の移動量データ、または上記拡大率を示すデータを保持する
ことを特徴とする請求項1に記載の3次元パラメータ入力装置。 - 上記入力手段は、マウス、トラツクボール又はジヨイステイツクである
ことを特徴とする請求項1に記載の3次元パラメータ入力装置。 - モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、上記ソース制御領域内及び上記ターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に上記操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンを上記モニタに表示するアイコン表示ステツプと、
上記モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力する入力ステツプと、
上記入力ステツプで、上記カーソルを介して第1の確定データが入力されたときに、上記カーソルが上記第1の領域、上記第2の領域、上記第3の領域のうちどの領域に位置しているかを判別する判別ステツプと、
上記判別ステツプの判別結果に基づいて、上記カーソルが上記第1の領域内に位置するときに、上記第1の確定データが供給された後に上記入力ステツプで上記カーソルを介して供給される上記位置データに基づいてX軸方向の移動位置データまたはX軸方向の移動量データを生成して出力し、上記カーソルが上記第2の領域内に位置するときに、上記第1の確定データが供給された後に上記入力ステツプで上記カーソルを介して供給される上記位置データに基づいてY軸方向の移動位置データまたはY軸方向の移動量データを生成 して出力し、上記カーソルが上記第3の領域内に位置するときに、上記第1の確定データが供給された後に上記入力ステツプで上記カーソルを介して供給される上記位置データに基づいて拡大率を示す拡大率データを生成して出力するパラメータ生成ステツプと
を具えることを特徴とする3次元パラメータ入力方法。 - モニタと、
上記モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、上記ソース制御領域内及び上記ターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に上記操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンを上記モニタに表示するアイコン表示手段と、
上記モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力する入力手段と、
上記入力手段から上記カーソルを介して第1の確定データが供給されたときに、上記カーソルが上記第1の領域、上記第2の領域、上記第3の領域のうちどの領域に位置しているかを判別する判別手段と、
上記判別手段の判別結果に基づいて、上記カーソルが上記第1の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてX軸回りの回転角度データまたはX軸回りの回転量データを生成して出力し、上記カーソルが上記第2の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてY軸回りの回転角度データまたはY軸回りの回転量データを生成して出力し、上記カーソルが上記第3の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてZ軸回りの回転角度データまたはZ軸回りの回転量データを生成して出力するパラメータ生成手段と
を具えることを特徴とする3次元パラメータ入力装置。 - 上記パラメータ生成手段は、上記入力手段から第2の確定データが供給されたときに、上記X軸回りの回転角度データ、上記X軸向りの回転量データ、上記Y軸向りの回転角度データ、上記Y軸向りの回転量データ、または上記Z軸回りの回転角度データ、上記Z軸回りの回転量データを保持する
ことを特徴とする請求項5に記載の3次元パラメータ入力装置。 - 上記入力手段は、マウス、トラツクボール又はジヨイステイツクである
ことを特徴とする請求項5に記載の3次元パラメータ入力装置。 - モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、上記ソース制御領域内及び上記ターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に上記操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンを上記モニタに表示するアイコン表示ステツプと、
上記モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力する入力ステツプと、
上記入力ステツプで、上記カーソルを介して第1の確定データが供給されたときに、上記カーソルが上記第1の領域、上記第2の領域、上記第3の領域のうちどの領域に位置しているかを判別する判別ステツプと、
上記判別ステツプの判別結果に基づいて、上記カーソルが上記第1の領域内に位置する ときに、上記第1の確定データが供給された後に上記入力ステツプで上記カーソルを介して供給される上記位置データに基づいてX軸回りの回転角度データまたはX軸回りの回転量データを生成して出力し、上記カーソルが上記第2の領域内に位置するときに、上記第1の確定データが供給された後に上記入力ステツプで上記カーソルを介して供給される上記位置データに基づいてY軸回りの回転角度データまたはY軸回りの回転量データを生成して出力し、上記カーソルが上記第3の領域内に位置するときに、上記第1の確定データが供給された後に上記入力ステツプで上記カーソルを介して供給される上記位置データに基づいてZ軸回りの回転角度データまたはZ軸回りの回転量データを生成して出力するパラメータ生成ステツプと
を具えることを特徴とする3次元パラメータ入力方法。 - モニタと、
上記モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、上記ソース制御領域内及び上記ターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に上記操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンを上記モニタに表示するアイコン表示手段と、
上記モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データを入力する入力手段と、
上記入力手段から上記カーソルを介して第1の確定データが供給されたときに、上記カーソルが上記第1の領域、上記第2の領域、上記第3の領域のうちどの領域に位置しているかを判別する判別手段と、
上記判別手段の判別結果に基づいて、上記カーソルが上記第1の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてX軸方向の移動位置データまたはX軸方向の移動量データを生成して出力し、上記カーソルが上記第2の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてY軸方向の移動位置データまたはY軸方向の移動量データを生成して出力し、上記カーソルが上記第3の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいて拡大率を示す拡大率データを生成して出力するパラメータ生成手段と、
上記パラメータ生成手段から出力されるデータに基づいて、入力映像信号に対して信号処理を施し、上記入力映像信号の表示画面上での位置や大きさを制御する画像処理手段と
を具えることを特徴とする画像処理装置。 - モニタと、
上記モニタの表示画面上に、画像中の操作対象についての3次元座標を基準として当該操作対象を制御するソース制御領域と、画面上における仮想3次元座標を基準として画像中の操作対象を制御するターゲツト制御領域とで構成され、上記ソース制御領域内及び上記ターゲツト制御領域内には操作要因を示す複数の操作要因領域が構成され、更に上記操作要因領域内に第1の領域、第2の領域、第3の領域からなるアイコンを上記モニタに表示するアイコン表示手段と、
上記モニタの表示面におけるカーソルの位置に応じた位置データ及びカーソルのクリツク操作に応じた確定データをカーソルを介して入力する入力手段と、
上記入力手段から上記カーソルを介して第1の確定データが供給されたときに、上記カーソルが上記第1の領域、上記第2の領域、上記第3の領域のうちどの領域に位置しているかを判別する判別手段と、
上記判別手段の判別結果に基づいて、上記カーソルが上記第1の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてX軸回りの回転角度データまたはX軸回りの回転量データを生成して出力し、上記カーソルが上記第2の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてY軸回りの回転角度データまたはY軸回りの回転量データを生成して出力し、上記カーソルが上記第3の領域内に位置するときに、上記第1の確定データが供給された後に上記入力手段から上記カーソルを介して供給される上記位置データに基づいてZ軸回りの回転角度データまたはZ軸回りの回転量データを生成して出力するパラメータ生成手段と、
上記パラメータ生成手段から出力されるデータに基づいて、入力映像信号に対して信号処理を施し、上記入力映像信号の表示画面上での角度を制御する画像処理手段と
を具えることを特徴とする画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34777895A JP3794509B2 (ja) | 1994-12-26 | 1995-12-15 | 3次元パラメータ入力装置、3次元パラメータ入力方法及び画像処理装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6-338205 | 1994-12-26 | ||
JP33820594 | 1994-12-26 | ||
JP34777895A JP3794509B2 (ja) | 1994-12-26 | 1995-12-15 | 3次元パラメータ入力装置、3次元パラメータ入力方法及び画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08249490A JPH08249490A (ja) | 1996-09-27 |
JP3794509B2 true JP3794509B2 (ja) | 2006-07-05 |
Family
ID=26576036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34777895A Expired - Fee Related JP3794509B2 (ja) | 1994-12-26 | 1995-12-15 | 3次元パラメータ入力装置、3次元パラメータ入力方法及び画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3794509B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0926629A1 (en) * | 1997-01-24 | 1999-06-30 | Sony Corporation | Pattern data generator, pattern data generating method and its medium |
US6597382B1 (en) * | 1999-06-10 | 2003-07-22 | Dassault Systemes | Knowledge-based polymorph undockable toolbar |
JP4528384B2 (ja) * | 1999-07-08 | 2010-08-18 | マイクロソフト コーポレーション | 音声入力用グラフィカル・ユーザ・インターフェースのための表示装置 |
CN105894554B (zh) * | 2016-04-11 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
CN114579008B (zh) * | 2022-05-06 | 2022-07-08 | 湖北工业大学 | 一种科普体验交互系统 |
-
1995
- 1995-12-15 JP JP34777895A patent/JP3794509B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08249490A (ja) | 1996-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8836646B1 (en) | Methods and apparatus for simultaneous user inputs for three-dimensional animation | |
US5861889A (en) | Three dimensional computer graphics tool facilitating movement of displayed object | |
US5583977A (en) | Object-oriented curve manipulation system | |
JP4203779B2 (ja) | 表示要素立体化装置及びその方法 | |
Deering | The HoloSketch VR sketching system | |
JPH07111743B2 (ja) | 三次元空間中の物体を回転させるグラフィック表示方法及び装置 | |
US5712965A (en) | Three-dimensional solid arranging/editing method in a computer graphic system and system | |
JP3794509B2 (ja) | 3次元パラメータ入力装置、3次元パラメータ入力方法及び画像処理装置 | |
Kim et al. | Virtual object sizes for efficient and convenient mid-air manipulation | |
KR102392675B1 (ko) | 3차원 스케치를 위한 인터페이싱 방법 및 장치 | |
JP3672352B2 (ja) | 3次元立体配置編集方法及び3次元立体配置編集装置 | |
JP3413145B2 (ja) | 仮想空間の編集方法及び仮想空間の編集装置 | |
US5692114A (en) | Three-dimensional parameter input device and image processing apparatus | |
WO2018138657A1 (en) | Affine transformations of 3d elements in a virtual environment using a 6dof input device | |
JPH08249500A (ja) | 3次元図形の表示方法 | |
JP3361652B2 (ja) | 立体図形配置入力方法及びグラフィックシステム | |
WO1995011482A1 (en) | Object-oriented surface manipulation system | |
JP3623276B2 (ja) | 三次元画像表示方法 | |
JP3732174B2 (ja) | 3次元立体配置編集方法及び3次元立体配置編集装置 | |
JP4203778B2 (ja) | 画像処理装置及びその方法 | |
WO1995011480A1 (en) | Object-oriented graphic manipulation system | |
JP2000268198A (ja) | 立体画像処理装置及びその方法 | |
JP4310909B2 (ja) | 画像処理装置 | |
JP4304551B2 (ja) | 画像処理装置及びその方法 | |
Chan | World space user interface for surface pasting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060220 |
|
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: 20060324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060406 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090421 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100421 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |