まず、図1を参照して、本発明による第1実施形態の手話CG翻訳編集装置1の概略構成を説明する。
〔第1実施形態の手話CG翻訳編集装置〕
図1は、本発明による第1実施形態の手話CG翻訳編集装置1の概略構成を示すブロック図である。図1に示す手話CG翻訳編集装置1は、制御部2と、この制御部2に接続されるGUI部3及び記憶部4とを備える。手話CG翻訳編集装置1は、スマートフォンやタブレット、或いは汎用コンピュータ(以下、総括して「コンピュータ」と称する)上で、制御部2の機能により本発明に係るプログラムに基づくアプリケーション20を起動して、GUI部3を介して外部操作可能なGUIを提示することで構成される。
従って、手話CG翻訳編集装置1は、コンピュータによって機能させることができ、当該コンピュータに、各構成要素を実現させるためのアプリケーション20用のプログラムは、当該コンピュータの記憶部4に記憶される。当該コンピュータに備えられる中央演算処理装置(CPU)などの制御部2で、各構成要素の機能を実現するための処理内容が記述されたプログラムを、適宜、記憶部4から読み込んで各構成要素の機能を当該コンピュータに実現させることができる。
図3は、本発明による第1実施形態の手話CG翻訳編集装置1にて提示するGUIの一例を示す図である。本発明に係る一実施例のGUIウィンドウWDは、図3に示すように、編集対象のデータファイルの手話言語列をノードの木構造で示すノード編集領域WD1と、辞書DB43に実装している手話単語を示す単語ノード、並びに、線形補間処理等のフィルタ種類やスケーリング等の機能を示す機能ノードのリストを表示するノード種別表示領域WD2と、単語ノードや機能ノードの設定を変更可能に示すプロパティ表示領域WD3と、手話CGのプレビュー再生を可能とするプレビュー表示領域WD4と、操作履歴を示すログ表示領域WD5とを有するよう構成される。
まず、一般的な手話単語辞典では分かりやすさのために、日本語の単語を表現する際の手指の動きを単位として50音から手指の動きを検索できるようにしているため、本発明に係る手話CG翻訳編集装置1においても、手話の動きの最小単位は、対応する日本語単語の手指動作である「手話単語」(以下、単に「単語」とも称する)とする。以後、制御部2の機能によりアプリケーション20が起動され、表示器31に本発明に係るGUI(後述する図3に示すGUIウィンドウWD)が表示されているものとする。
制御部2は、データファイル入力・翻訳部21と、ノード編集部22と、データファイル出力部23と、表示制御部24と、操作制御部25とを備える。
データファイル入力・翻訳部21は、後述するように、操作制御部25が操作部32からの指示を受け付け、この操作制御部25を介して操作部32からの指示に応じて、編集対象のデータファイル(CSV形式、XML形式、或いはBVH形式)を入力し、入力したデータファイルを解析して各単語をノード形式に変換し、各単語ノード(節)と、各単語ノード同士を連結する接続線(リンク)によって木構造で表現したインターフェースを形成する。そして、データファイル入力・翻訳部21は、表示制御部24を介して表示器31によりGUIウィンドウWD上でこのインターフェースを提示する機能部である。
このため、データファイル入力・翻訳部21は、入力データ解析部21aと、ノード形式変換部21bと、ノード接続部21cとを備える。
入力データ解析部21aは、編集対象として入力されたデータファイルを各単語(手話単語)に区分する解析処理(翻訳処理)を行う処理部である。
尚、入力データ解析部21aは、図14乃至図17を参照して後述するように、ノード編集部22を作動させて候補データを読み出し、日本語文章テキストに基づいて指定された手話単語を用いる代わりに、編集時でも動作する。また、入力データ解析部21aは、当該指定された手話単語に関する候補データ(関連又は類似の手話単語)を探索し自動翻訳に利用する機能を有する。この候補データを自動翻訳時に利用することで操作性が向上する。
ノード形式変換部21bは、入力データ解析部21aによって解析し、単語ごとに区分した各単語をノード形式に変換する処理部である。
ノード接続部21cは、ノード形式変換部21bによってノード形式に変換した各単語を自動連結し、各単語ノードと、各単語ノード同士を連結するように接続線によって木構造で表現したインターフェースを形成する処理部である。
このデータファイル入力・翻訳部21は、CSV形式の編集対象のデータファイルを入力する例として、図3に例示するGUIウィンドウWD上で操作部32として機能するマウス操作でカーソルMSが示す“CSV読込”ボタン201を押下する動作からの機能に対応する。
そして、GUIウィンドウWD上では、操作部32として機能するマウス操作でカーソルMSが示す“CSV読込”ボタン201が押下されると、GUIウィンドウWD上のノード編集領域WD1に、1つのCSV形成の入力データファイルに対応し1つのBVHファイルを形成するための木構造のインターフェースが提示される。尚、入力データファイルの形式は、当該マウスの右クリック操作でメニュー提示して変更可能とするか、又はファイルメニューを示す“FILE”ボタン206の押下で提示されるメニュー内で変更可能とする構成とすることができる。
尚、データファイル入力・翻訳部21の機能により“CSV読込”ボタン201の押下で編集対象のデータファイルを入力しないで、以下に説明するノード編集部22の機能により、辞書DB43に実装している手話単語をノード編集領域WD1に追加指定可能とする“単語”ボタン202の押下で編集対象のデータファイルを構築することもできる。
図1に示すノード編集部22は、後述するように、操作部32からの指示を操作制御部25により受け付け、この操作制御部25を介する操作部32からの指示に応じて、GUIウィンドウWD上で表示した編集対象のデータファイルについて、各単語ノード同士を連結する接続線(リンク)によって木構造で表現したインターフェース上で編集可能とする機能部である。ノード編集部22は、自動的に木構造に従って手話単語動きデータ(モーションデータ)を合成して一連の手話CGとしてレンダリングする機能を有する。
このため、ノード編集部22は、ノード接続修正機能部221、単語ノード修正機能部222、機能ノード修正機能部223、ノード表示整列機能部224、及び、プレビュー表示機能部225を備える。
ノード接続修正機能部221は、操作者の操作によりGUIウィンドウWD上で、各単語ノード同士を連結する接続線を修正可能とする機能部である。
単語ノード修正機能部222は、操作者の操作によりGUIウィンドウWD上で、単語ノードの配列を修正可能とする機能部である。
機能ノード修正機能部223は、操作者の操作によりGUIウィンドウWD上で、線形補間等の機能ノードを修正可能とする機能部である。機能ノードは、連結する各単語ノードに対応する手話CGの動きの接続法として設定変更可能なフィルタ処理を施す最小の処理単位であり、図3に示す例では「スケーリング」や、「線形補間」、モーションブレンド法による「LPF(二点中点)」及び「LPF(三点平均)」が用意されている。
ノード接続修正機能部221、単語ノード修正機能部222、及び機能ノード修正機能部223の各機能は、それぞれ図3に例示するGUIウィンドウWD上では、ノード種別表示領域WD2にて提示される各ボタンをマウス操作でカーソルMSで押下する動作からの編集機能に対応する。
“単語ノード”ボタン202は、辞書DB43に実装している手話単語を指定可能にする。
“スケーリング”ボタン203は、機能ノードとしてスケーリング機能を指定可能にする。
“線形補間”ボタン204は、機能ノードとして線形補間処理機能を指定可能にする。
“LPF(二点中点)”ボタン205は、機能ノードとして二点中点によるローパスフィルタ(LPF)処理機能を指定可能にする。
“LPF(三点平均)”ボタン206は、機能ノードとして三点平均によるローパスフィルタ(LPF)処理機能を指定可能にする。
カーソルMSが示す各ボタン202〜206をマウス操作で押下により、GUIウィンドウWD上のノード編集領域WD1に、対応する単語ノード、或いは機能ノードを表示させることができる。各単語ノード、及び機能ノードは、マウス操作で任意に移動させることができ、木構造を構成する接続もGUIウィンドウWD上のノード編集領域WD1上で任意に修正可能である。カーソルMSが示す各単語ノード、及び機能ノードの設定は、プロパティ表示領域WD3にて提示される設定メニューにより変更可能である。
図1に示すノード表示整列機能部224は、操作者の操作によりGUIウィンドウWD上で、当該木構造で表現したインターフェース上の各種ノード表示を整列可能する機能部である。
このノード表示整列機能部224は、図3に例示するGUIウィンドウWD上では、操作部32として機能するマウス操作でカーソルMSが示す“整列”ボタン209を押下する動作に対応する。
図1に示すプレビュー表示機能部225は、操作者の操作によりGUIウィンドウWD上で、編集に係る当該木構造で表現したインターフェース上の各種ノード表示をプレビュー表示可能とする機能部である。特に、ノード編集部22は、自動的に木構造に従って手話単語動きデータ(モーションデータ)を合成して一連の手話CGとしてレンダリングする機能を有するため、プレビュー表示機能部225は、編集に係る当該木構造で表現したインターフェース上の各種ノード表示をプレビュー表示して再生することができる。
このプレビュー表示機能部225は、図3に例示するGUIウィンドウWD上では、操作部32として機能するマウス操作でカーソルMSが示す“再生/停止”ボタン210を押下する動作に対応し、編集に係る木構造に基づく手話CGをプレビュー表示領域WD4にてプレビュー再生を可能とし、シークバー212によってプレビュー表示の再生位置を頭出しするなどの指定を可能とする。また、プレビュー表示中の全体フレーム対する現フレームの位置で、プレビュー表示位置欄211を提示している。
尚、図示を省略しているが、ノード編集部22は、表示画面内の指定領域を拡大・縮小表示させる機能を備えるよう構成することができる。例えば、ノード編集領域WD1内で表示する手話CGに関する木構造をホイール付きマウスのホイール操作により拡大・縮小表示させるよう操作可能とすることができる。
また、ノード編集部22の機能として、図3に例示するGUIウィンドウWD上では、ファイルメニューを示す“FILE”ボタン206の押下で編集中のデータファイルの保存や読み出し機能を有する。また、ノード編集部22の機能として、データファイルの入出力や編集に係る操作の履歴は、逐次、ログ表示領域WD5に表示される。
更に、ノード編集部22は、プロパティ表示領域WD3について、マウスのカーソルMSの操作で表示指定欄207を“レ”点指定すればGUIウィンドウWD上に表示し、当該“レ”点指定を解除すればGUIウィンドウWD上に非表示とする機能を有する。また、ノード編集部22は、ログ表示領域WD5について、マウスのカーソルMSの操作で表示指定欄208を“レ”点指定すればGUIウィンドウWD上に表示し、当該“レ”点指定を解除すればGUIウィンドウWD上に非表示とする機能を有する。
図1に示すデータファイル出力部23は、操作部32からの指示を操作制御部25により受け付け、この操作制御部25を介する操作部32からの指示に応じて、ノード編集部22における編集に係る当該木構造を示すテキストデータや、最終的なCG手話のデータファイル(CSV形式、XML形式、或いはBVH形式)を出力する機能部である。
このデータファイル出力部23は、図3に例示するGUIウィンドウWD上では、BVH形式の編集対象のデータファイルを出力する例として、操作部32として機能するマウス操作でカーソルMSが示す“BVH出力”ボタン213を押下する動作に対応する。尚、出力データファイルの形式は、当該マウスの右クリック操作でメニュー提示して変更可能とするか、又はファイルメニューを示す“FILE”ボタン206の押下で提示されるメニュー内で変更可能とする構成とすることができる。
図1に示す表示制御部24は、データファイル入力・翻訳部21、又はノード編集部22からの指示に応じて対応するデータを表示器31に示されるGUIウィンドウWD上に表示するよう制御する機能部である。
操作制御部25は、操作部32からの指示を受け付け、データファイル入力・翻訳部21、ノード編集部22、又はデータファイル出力部23の動作を制御する機能部である。
GUI部3は、GUIを表示可能とする表示器31と、表示されるGUI上の各機能を操作を可能とする操作部32を備える。本例では、マウス操作によりGUI上の各機能の操作を行う例とする。
記憶部4は、本発明に係るプログラムに基づくアプリケーション20用のプログラムの他、手話単語動きデータDB41と、CGキャラクタデータDB42と、辞書DBと、ユーザDBと、履歴DBとを備える。
手話単語動きデータDB41は、アニメーション用モデルの骨格を階層構造で記述する構造部と動作データを記述するモーション部で構成されるBVH形式のテキストファイルを、手話単語に応じた数で紐付けして格納するデータベースである。当該モーション部は1行=アニメーション動画の1フレームに対応し、当該構造部の定義順にアニメーション用モデルの各関節の情報を記述している。そして、当該モーション部は、アニメーション用モデルの各関節を機能ノードとして、その回転角度によって記述している。回転角度はオイラー角、単位はdegreeで記述している。
CGキャラクタデータDB42は、アニメーション用モデルのキャラクタデータとして、その形状データ、マテリアルデータ、テクスチャデータ、ボーン及びスキンウエイトデータからなる規定のテキストデータからなり、手話単語動きデータDB41における各BVH形式のテキストファイルに連動させるよう紐付けられている。
後述する図14乃至図17を適宜参照し、辞書DB43、ユーザDB44、及び履歴DB45は、指定された手話単語に関する関連又は類似の手話単語を自動翻訳又は編集時の候補として提示するために利用されるデータベースについて説明する。
〔装置動作〕
以下、本発明による第1実施形態の手話CG翻訳編集装置1の動作について説明する。
まず、図2を参照して、データファイル入力・翻訳部21のデータファイルの入力処理例について、より詳細に説明する。図2は、本発明による第1実施形態の手話CG翻訳編集装置における編集対象のデータファイルの入力処理に関するフローチャートである。
以下に説明する例では、データファイル入力・翻訳部21は、操作部32からの指示を操作制御部25により受け付け、この操作部32からの指示に応じて図示しない外部装置(記録媒体を含む)から編集対象のデータファイルを読み出して入力する例として説明するが、このような編集対象のデータファイルを予め記憶部4に格納しておき、この記憶部4から読み出すことで入力する構成とすることもできる。
図2に示すように、まず、手話CG翻訳編集装置1は、制御部2の機能によりアプリケーション20を起動して、表示器31に本発明に係る図3に示すGUIウィンドウWDを表示させる(ステップS1)。編集・修正者はGUIウィンドウWDの画面上で作業を行う。ここでは、操作部32からの指示(手動)に応じて制御部2の機能によりアプリケーション20が起動されている例を説明するが、詳細に後述する手話CG翻訳システム101に本発明に係る手話CG翻訳編集装置1を組み入れた場合には自動的にアプリケーション20が起動する構成とすることもできる。
データファイル入力・翻訳部21は、操作制御部25を介する操作部32からの指示に応じて、編集対象のデータファイルを入力する(ステップS2)。即ち、図3に示すGUIウィンドウWD上で、操作部32として機能するマウス操作でカーソルMSが示す“CSV読込”ボタン201が押下されると、操作制御部25がこの指示を受け付け、図示しない外部装置(記録媒体を含む)から編集対象のデータファイル(本例では、図4に示すCSV形式)を読み出して提示し、操作者が所望する編集対象のデータファイルを入力する。
本例では、図3に示すGUIウィンドウWD上での指示(手動)に応じて編集対象のデータファイルを入力する例を説明するが、詳細に後述する手話CG翻訳システム101に本発明に係る手話CG翻訳編集装置1を組み入れた場合には、自動的に順次に編集対象のデータファイルを入力する構成とすることもできる。
編集対象のデータファイルとして、例えば図4に示すように、入力データファイルNo.1〜No.5が提示され、操作者がこのいずれかを指定することで、データファイル入力・翻訳部21は、編集対象のデータファイルとして入力する。入力された編集対象のデータファイルのファイル名は、GUIウィンドウWD上のウィンドウ枠202に表示される。
図4に示すように、入力データファイルNo.1〜No.5は、手話単語動きデータDB41内に格納されている手話単語動きデータにリンクするための識別子(ID)を、カンマで区切るCSV形式のテキストファイルで表されている。入力データファイルNo.1〜No.5の各々は、1つの日本語文章に対応する手話文章として構成される。
続いて、データファイル入力・翻訳部21は、入力データ解析部21aにより、編集対象として入力されたデータファイルを各単語(手話単語)に区分する解析処理(翻訳処理)を行う(ステップS3)。
続いて、データファイル入力・翻訳部21は、ノード形式変換部21bにより、入力データ解析部21aによって解析し区分した各単語をノード形式に変換する(ステップS4)。
続いて、データファイル入力・翻訳部21は、ノード接続部21cは、ノード形式変換部21bによってノード形式に変換した各単語について自動連結し、各単語ノードと、各単語ノード同士を連結する接続線によって木構造で表現したインターフェースを形成する(ステップS5)。
続いて、データファイル入力・翻訳部21は、編集対象のデータファイルについてノードの木構造で表現したインターフェースを表示制御部24に出力し、表示制御部24によって表示器31に提示されているGUIウィンドウWD上のノード編集領域WD1に表示させる(ステップS6)。このように、上述した各ステップS1〜S6に関して、アプリケーションの起動後(ステップS1)、データファイル入力・翻訳部21は、自動又は手動で編集対象のデータファイルを逐次入力すると(ステップS2)、自動的にノードの木構造で表現したインターフェースをGUIウィンドウWD上のノード編集領域WD1に表示させる(ステップS3〜S6)。
ここで、図4に例示するように、各入力データファイルNo.1〜No.5は、カンマで区切られている英数字記号列が、対応するBVHファイルを指定する識別子となり1つの単語ノードを示す。「N」はうなずく動きを示す特殊記号を示す識別子となり1つの単語ノードを示す。そして、各単語ノードを連結する接続線は、線形補間等の機能ノードを付随しており、該当するBVHファイルにおけるアニメーション用モデルの各関節の回転角度を補間していることを意味する。従って、データファイル入力・翻訳部21は、1つのCSV形成の入力データファイルに対応して、各ノード(BVHファイル)を連結した1つのBVHファイルを形成するための木構造のインターフェースを形成する。
図3は、GUIウィンドウWD上で、操作部32として機能するマウス操作でカーソルMSが示す“CSV読込”ボタン201が押下されることで、GUIウィンドウWD上のノード編集領域WD1に、1つのCSV形成の入力データファイルに対応し1つのBVHファイルを形成するための木構造のインターフェースが提示する例を示している。
この例における木構造について、図5を参照してより詳細に説明する。尚、GUIウィンドウWD上の“CSV読込”ボタン201の押下で編集対象のデータファイルを入力せずとも、辞書DB43に実装している手話単語を示す“単語ノード”ボタン202の押下で編集対象のデータファイルを構築することもできる。
図5に示すように、GUIウィンドウWD上のノード編集領域WD1に、1つのBVHファイルとして生成可能な木構造として手話CG用の手話単語列が表現されて提示されている。即ち、個々の手話単語を単語ノードとして接続し、機能ノードでその接続法(喜怒哀楽などの顔表情等を含む)を指定する木構造となっている。
図5では、単語ノードwn1として「今日」、単語ノードwn2として「降水確率」、単語ノードwn3として「20」、単語ノードwn4として「%」がそれぞれの接続線c1,c2,c3で接続されて提示されている例を示している。各単語ノードwn1〜wn4は、手話単語動きデータDB41に格納される手話単語動きデータ(本例では、BVH形式のテキストファイルで示されるモーションデータ)が紐づけられている。
そして、図3に示したノード種別表示領域WD2にて提示されるように、辞書DB43に実装している手話単語をノード編集領域WD1に追加指定可能とする“単語”ボタン202の押下でエディタを開き過去の使用履歴や修正履歴、推定・学習(機械学習を含む)等により使用可能とする手話単語候補をリスト表示しノード編集領域WD1に追加指定可能とするか、又は“単語”ボタン202の押下でノード編集領域WD1に単語ノードを仮表示するために、プロパティ表示領域WD3に表示される単語ノードのコード入力で追加指定可能とする。
また、各単語ノード間の連結に伴って、手話CGの軌跡形状を加工する各種フィルタ機能を機能ノードf1〜f3で表現している。機能ノードは、各単語ノード間の接続法(喜怒哀楽などの顔表情等を含む)を示している。
そして、図3に示したノード種別表示領域WD2にて提示されるように、“スケーリング”ボタン203、“線形補間”ボタン204、“LPF(二点中点)”ボタン205、及び“LPF(三点平均)”ボタン206の押下でノード編集領域WD1に、対応する機能ノードを表示し、プロパティ表示領域WD3に表示される機能ノードの設定入力で追加指定可能とする。
この機能ノードに係るフィルタ機能は、連結する各単語ノードに対応する手話CGの動きの接続法として、図3に示す例では「スケーリング」や、「線形補間」、モーションブレンド法による「LPF(二点中点)」及び「LPF(三点平均)」が用意されている例を示しているが、更に別のフィルタ機能を追加する拡張性を持たせ、例えば、インバースキネマティクスによる特許文献1に開示される各種方法で規定することができる。
そして、複数の機能ノードをグループ化して、一括して処理することで、手話CGにおける手の振りの大きさ、顔表情、口形など、手話を構成する要素の特性を詳細に定義することができる。
「スケーリング」機能はアニメーション用モデルの両肩関節位置の中点を中心として、動きの軌跡を構成する点群の位置座標に任意の倍数を掛け合わせて当該軌跡の大きさを変更可能とする機能である。「線形補間」機能は補間部分を直線的に自動修正する機能である。「LPF(二点中点)」機能は指定する2点の単語ノード間を基準にローパスフィルタを施す機能である。「LPF(三点平均)」機能は指定する3点の単語ノード間を基準に平均化したローパスフィルタを施す機能である。
例えば、図5において提示される木構造として、機能ノードf1が、図3に示すように“スケーリング”であるとすれば、単語ノードwn2の「降水確率」及び単語ノードwn3の「20」間を指定するリンク表示f1_a,f1_bで連結させている。この場合、機能ノードf1の適用範囲は、単語ノードwn2の「降水確率」の前段の接続線c1から単語ノードwn3の「20」の後段の接続線c3までのタイミングが適用範囲となる。また、機能ノードf2が図3に示すように“線形補間”であるとし、機能ノードf3が例えば“LPF(二点中点)”であるとしたとき、単語ノードwn4の「%」のみにリンク表示f2/f3_aで連結させている。この場合、機能ノードf2,f3の適用範囲は、単語ノードwn4の「%」の前段の接続線c3から単語ノードwn4の「%」までのタイミングが適用範囲となる。機能ノードf2,f3の適用範囲は重複させているためその重複状態が分かるようにアイコンで明示させており、このように重ね合わせた機能ノードはグループ化して、一括して処理することを意味している。
そして、図5に示す木構造は、図3に示したノード編集領域WD1上で、マウスによるドラッグ&ドロップ操作によって単語ノードの接続関係又は単語ノード自体を変更することや、機能ノードのリンクの接続状態又は機能ノード自体を変更する編集・修正が可能となっている。
〔編集操作例〕
以下、本発明の理解を高めるために、一例として、図6に示す編集手順によって、ノード編集領域WD1上で、操作者が手話CGに関する木構造を編集・修正し、その編集後のデータファイルを出力するまでの編集操作例を説明する。図6は、本発明による第1実施形態の手話CG翻訳編集装置1にて提示するGUIにおける編集・データ出力操作例を示すフローチャートである。尚、本発明は、図6に示す編集手順に限定するものではなく、適宜変更するようにしてもよい。
まず、操作者は、ノード編集領域WD1上で、図3に示すような、単語ノードwn1の「今日」、単語ノードwn2の「降水確率」、単語ノードwn3の「20」、単語ノードwn4の「%」がそれぞれの接続線c1,c2,c3で接続され、機能ノードf1として、“スケーリング”が、単語ノードwn2の「降水確率」及び単語ノードwn3の「20」間を指定するリンク表示f1_a,f1_bで連結され、機能ノードf2として“線形補間”、機能ノードf3として“LPF(二点中点)”が、単語ノードwn4の「%」のみにリンク表示f2/f3_aで連結されている状態から、その木構造について編集操作を行うものとする。
操作者は、ノード編集領域WD1上で、単語ノードwn1の「今日」のノード接続を修正するとき(ステップS11)、マウスのカーソルMSで接続線c1,c2を指定し、マウス操作(例えば右クリック操作)でその接続を解除することができる(図7参照)。更に、単語ノードwn1の「今日」をマウスでドラッグし、単語ノードwn2の「降水確率」に近接又は重複させてマウスでドロップするドラッグ&ドロップ操作で、再び接続線c1で単語ノードwn1の「今日」と単語ノードwn2の「降水確率」とを連結させることができる。同様に、マウスのドラッグ&ドロップ操作で、接続線c2で単語ノードwn2の「降水確率」と単語ノードwn3の「20」とを連結させることができる。
また、マウスのカーソルMSで単語ノードwn1の「今日」を指定すると、強調表示され、その単語ノードwn1に関する設定状態がプロパティ表示領域WD3に表示される。プロパティ表示領域WD3には、当該「今日」を指定する単語コード欄と、当該「今日」を表示するタイトル欄の他、単語ノードwn1の手話CGアニメーションのタイミングとして設定変更可能なフレーム数、当該単語ノードに関する開始時刻を示すIN点及び終了時刻を示すOUT点(手話単語時間)が表示される。このため、操作者は、各単語ノードに関する手話単語の変更や手話単語時間を調整することができる。
一方、操作者は、ノード編集領域WD1上で、新たな単語ノードwn5を追加修正するとき(ステップS12)、ノード種別表示領域WD2にて提示される“単語”ボタン202の押下でエディタを開き過去の使用履歴や修正履歴、推定・学習(機械学習を含む)等により使用可能とする手話単語候補をリスト表示しノード編集領域WD1に追加指定可能とするか、又は“単語”ボタン202の押下でノード編集領域WD1に単語ノードを仮表示するために、プロパティ表示領域WD3に表示される単語ノードのコード入力で、例えば単語ノードwn5の「明日」を指定することができる(図8参照)。マウスのカーソルMSで単語ノードwn5の「明日」を指定すると、強調表示され、その単語ノードwn5に関する設定状態がプロパティ表示領域WD3に表示されるため、操作者は当該語ノードwn5に関して設定変更可能となる。
続いて、図9に示すように、操作者は、ノード編集領域WD1上で、機能ノードf1の「スケーリング」の接続を修正するとき(ステップS13)、マウスのカーソルMSで接続線f1_aを指定してマウス操作(例えば右クリック操作)でその接続を解除し、機能ノードf1の「スケーリング」をマウスでドラッグし、単語ノードwn1の「今日」に近接又は重複させてマウスでドロップするドラッグ&ドロップ操作で、機能ノードf1の「スケーリング」の接続線f1_aの接続先を単語ノードwn1の「今日」に変更することができる。
このとき、マウスのカーソルMSで機能ノードf1の「スケーリング」を指定すると、強調表示され、その機能ノードf1に関する設定状態がプロパティ表示領域WD3に表示される。この場合、プロパティ表示領域WD3には、「スケーリング」である旨を示す表示欄と、手話CGアニメーションのモデルの原点指定欄、その動きに関するXYZ軸上のオフセット量及びスケール量、その動きに要する遷移フレーム数、当該スケーリングを適用するモデルの右腕及び/又は左腕の指定欄が表示される。このため、操作者は、機能ノードf1に関する機能ノードの変更や詳細設定を調整することができる。
また、図10に示すように、操作者は、ノード編集領域WD1上で、各単語ノード及び各機能ノードを任意に配置変更することができ、マウス操作で、上記と同様に機能ノードf1の「スケーリング」の接続を解除し、“LPF(二点中点)”ボタン205の押下でノード編集領域WD1に表示し、上記と同様にドラッグ&ドロップ操作で単語ノードwn1の「今日」にはリンク表示f5_aで、単語ノードwn4の「%」にはリンク表示f5_bで機能ノード変更及び接続変更を行うことができる。“LPF(二点中点)”や“LPF(三点平均)”の場合のプロパティ表示領域WD3には、各リンク表示f5_a,f5_bに係るモーションブレンド法によるブレンド範囲が数値設定で変更可能となっている。
続いて、操作者は、ノード編集領域WD1上で、離散表示した各単語ノード及び機能ノードについて整列させたいとき(ステップS14)、カーソルMSが示す“整列”ボタン209の押下で、ノード編集領域WD1の各ノードを自動的に整列させることができる(図11参照)。“整列”ボタン209の押下で、ノード表示整列機能部224は、ノードを再生順に左から右へ並び替えるよう表示制御部24に指示し、ノード編集領域WD1上で各ノードを整列させる。
続いて、図12に示すように、操作者は、強調表示されている編集中の木構造について手話CGに関するプレビュー表示を行いたいとき(ステップS15)、マウス操作でカーソルMSが示す“再生/停止”ボタン210を押下することで、当該編集に係る木構造について手話CGに関するプレビュー表示を開始させることができる。ここで、ノード編集部22は、自動的に木構造に従って手話単語動きデータ(モーションデータ)を合成して一連の手話CGとしてレンダリングする機能を有する。従って、ノード編集領域WD1上で、複数の木構造を提示して編集している場合でも、当該木構造内の任意のノードをカーソルMSで指定し強調表示させることで、操作者は、いずれの木構造のプレビュー表示を行うかについて視覚的に認識できる。
また、操作者は、シークバー212を利用して、プレビュー表示の再生位置を頭出しするなどの指定が可能である。更に、プレビュー表示領域WD4におけるプレビュー再生時には、プレビュー表示機能部225の機能により、対応する単語ノードや接続線が色分けするなど他と区別するよう明示して、プレビュー表示の進行に合わせて再生している当該木構造の対応する単語ノード又は接続線を強調表示する。このため、操作者にとって、編集中の木構造についての編集に係る操作性が大幅に向上したものとなっている。
編集作業の終了で、操作者は、強調表示されている編集中の木構造について手話CGに関するデータファイルを例えばBVH形式で出力したいとき(ステップS16)、マウス操作でカーソルMSが示す“BVH出力”ボタン213を押下することで、出力先(保存先)を指定するエディタが開かれ、指定の出力先(保存先)へ出力することができる。尚、出力データファイルの形式は、当該マウスの右クリック操作でメニュー提示して変更可能とするか、又はファイルメニューを示す“FILE”ボタン206の押下で提示されるメニュー内で変更可能とする構成とすることができる。
このとき、データファイル出力部23は、ノード編集部22から、強調表示されている編集終了時の木構造について、自動的に手話単語動きデータ(モーションデータ)を合成して一連の手話CGとしてレンダリングしたデータを取得してBVH等の所望される形式で出力する。上述した各ステップS11〜S16は、順不同で、且つ選択的に編集操作を行うことができる。
従って、ノード編集領域WD1上で、複数の木構造を提示して編集している場合でも、当該木構造内の任意のノードをカーソルMSで指定し強調表示させることで、操作者は、いずれの木構造の出力データファイルを形成するかについて容易に視覚的に認識できる。また、操作者は、一拡大又は縮小操作としてホイール付きマウスのホイール操作で、少なくとも各単語ノードの表示をGUI上で任意に拡大又は縮小表示することができる。
上述したように、本発明に係る手話CG翻訳編集装置1及びプログラムによれば、より分かりやすく編集・修正を容易とする効果的な態様でGUIが提示されるため、自由度の高い手話修正が可能となり、自然で分かりやすい手話CGを実現できる。特に、翻訳精度が100%に満たない手話への自動翻訳を簡単な編集により加工・修正することができる。
〔手話CG翻訳システム〕
図13は、本発明に係る第1実施形態の手話CG翻訳編集装置1を用いて構成した一実施形態の手話CG翻訳システム101の概略構成を示すブロック図である。手話CG翻訳装置101は、上述した本実施形態の手話CG翻訳編集装置1と、データベース(DB)102と、手話翻訳機103と、レンダラ105とを備える。
データベース(DB)102には、複数のジョイントからなる骨格構造の情報(骨格構造情報)、並びに、スキン形状及び色等のマテリアル情報のベースモデルが格納されている。
手話翻訳機103は、手話CGとして再生する日本語文章テキストを入力し、日本語文章テキストを、統計翻訳及び用例翻訳等の手法を用いて、手話単語を羅列させた複数の手話単語に変換(翻訳)し、例えば図4に例示するCSV形式の入力データファイルNo.1〜No.5を順次、手話CG翻訳編集装置1に出力する。
手話CG翻訳編集装置1は、手話翻訳機103から入力データファイルからの入力があると、入力データファイル毎に一時記憶し、図3に例示するGUIウィンドウWDを提示するアプリケーション20を自動的に起動し、操作者が編集可能な状態にする。
操作者が編集終了の時点で、マウス操作でカーソルMSが示す“BVH出力”ボタン213を押下することで、ノード編集部22から、強調表示されている編集終了時の木構造についての手話単語動きデータ(モーションデータ)を合成して一連の手話CGとしてレンダリングしたデータを取得してBVHファイルを形成し、出力先としてレンダラ105を指定して出力する。この時、操作者、別の入力データファイルについての編集作業を継続して行うことができる。
レンダラ105は、手話CG翻訳編集装置1からBVHファイルを入力すると共に、データベース(DB)102から骨格構造情報等のベースモデルの情報を読み出し、これらを統合することで、日本語文章テキストに対応する多関節骨格モデルの動きを表しCGキャラクタとして画面表示な制御データとして手話の動きのCGデータを生成し、外部に出力する。
このように、本発明に係る第1実施形態の手話CG翻訳編集装置1を、手話CG翻訳システム101内に組み入れることで、効率の良い手話CG翻訳に係る編集が可能となる。
以上のように、本発明に係る第1実施形態の手話CG翻訳編集装置1においては、手話の動きの単位を単語ノードと称する矩形状のオブジェクトで表し、各単語ノードを接続線で接続した木構造で表現しGUIの操作画面上に表示することで、直感的な編集操作を可能としている。ユーザ(操作者)はそのオブジェクト間の接続構造をマウス操作により変更することで手話CGアニメーションの編集・修正を行うことができる。
特に、図3及び編集操作例の図8を参照して説明したように、上述した手話CG翻訳編集装置1では、GUI3にて提示されるGUIウィンドウWD上で表示した編集対象のデータファイルについて、そのGUIの画面上に存在しないノードが必要になった場合には、ノード種別表示領域WD2にて提示するように、辞書DB43に実装している手話単語をノード編集領域WD1に追加指定可能とする“単語”ボタン202の押下でエディタを開き過去の使用履歴や修正履歴、推定・学習(機械学習を含む)等により使用可能とする手話単語候補をリスト表示し、ノード編集領域WD1に追加指定可能とするか、又は“単語”ボタン202の押下でノード編集領域WD1に単語ノードを仮表示するために、プロパティ表示領域WD3に表示される単語ノードのコード入力で追加指定可能とする例を説明した。
以下では、この操作性を向上させるために、手話単語候補自体の入力操作と自動提示を行う機能を更に追加することで、手話CG翻訳編集装置1の実用性を大きく高めるようにしている。
(手話単語候補の入力操作と自動提示)
図14を参照して、本発明に係る第1実施形態の手話CG翻訳編集装置1における手話単語候補の入力操作と自動提示について説明する。図14は、本発明による第1実施形態の手話CG翻訳編集装置1における翻訳・編集に係る詳細な構成を概略的に示すブロック図である。
まず、データファイル入力・翻訳部21は、図1を参照して上述したように、編集対象として入力されたデータファイルを各単語(手話単語)に区分する解析処理(翻訳処理)を行う入力データ解析部21aを有している。
この入力データ解析部21aは、ノード編集部22を作動させて候補データを読み出し、日本語文章テキストに基づいて指定された手話単語を用いる代わりに、当該指定された手話単語に関する候補データ(関連又は類似の手話単語)を自動翻訳に利用する機能を有する。
そして、データファイル入力・翻訳部21は、入力された日本語文章テキストについて自動翻訳を行いノード表現した手話CG化可能な翻訳データをGUI部3の表示器31に提示する。
一方、ノード編集部22は、上述したように、GUI3にて提示されるGUIウィンドウWD上で表示した編集対象のデータファイルについて、各単語ノード同士を連結する接続線(リンク)によって木構造で表現したインターフェース上で編集可能とする機能部であり、操作者の操作によりGUIウィンドウWD上で、単語ノードを修正可能とする単語ノード修正機能部222を有する。
単語ノード修正機能部222は、単語コード入力機能部2221、タイトル入力機能部2222、候補単語決定機能部2223、操作者履歴優先機能部2224、グループ履歴優先機能部2225、及び推定・学習機能部2226を有する。
図3及び図8を参照して説明したように、“単語”ボタン202の押下で単語ノードのコード入力を可能とするメニューがプロパティ表示領域WD3に表示される(図15(a)参照)。
単語コード入力機能部2221は、図15(a)に示すように、GUIウィンドウWD上のプロパティ表示領域WD3における所定領域で英数字の単語コードを入力し、辞書DB43を探索して対応する単語ノードをノード編集領域WD1に表示させる機能部である。例えば、図15(a)に示す例では、データファイル入力・翻訳部21によって自動翻訳した「高橋」wn1−(c1)→「選手」wn2−(c2)→「30」wn3−(c3)→「年齢」wn34の木構造がプロパティ表示領域WD3に提示された状態を例示しているが、プロパティ表示領域WD3に全く単語ノードが提示されていない状態でもよい。そしてユーザ(操作者)は、プロパティ表示領域WD3における所定領域で英数字の単語コード「2945NN」をカーソルMSで指定した上で入力する。この操作に応じて、単語コード入力機能部2221は、自動的にプロパティ表示領域WD3における所定領域の「タイトル」欄に、当該単語コードに対応するタイトル「田中」を表示し、且つその単語ノード「田中」wn5を自動的にノード編集領域WD1における空き領域に表示する。ノード編集領域WD1に表示された単語ノードは、上述したように、随意、「高橋」wn1を置き換えることや接続線C1の接続切り替えの編集が可能となる。そして、上述したように、単語コード及び単語ノードは動きデータファイルと1対1に紐付けられているため、この編集した木構造のファイルを基に手話CGアニメーションの一連の動きとして合成することができる。ただし、単語コード入力機能部2221による入力方法では、ユーザ(操作者)はその入力する単語コードが手話単語が何を表現するかを予めリスト等を参照するなどして把握しておく必要がある。
一方、タイトル入力機能部2222は、図15(b)に示すように、GUIウィンドウWD上のプロパティ表示領域WD3における所定領域で漢字・ひらがな・カタカナのいずれかの日本語単語を入力し、辞書DB43を探索して対応する単語ノードをノード編集領域WD1に表示させる機能部である。例えば、図15(b)に示す例では、ユーザ(操作者)は、プロパティ表示領域WD3における所定領域で漢字の日本語単語「田中」をカーソルMSで指定した上で入力する。この操作に応じて、タイトル入力機能部2222は、自動的にプロパティ表示領域WD3における所定領域の「単語コード」欄に、当該日本語単語に対応する単語コード「2945NN」を表示し、且つその単語ノード「田中」wn5を自動的にノード編集領域WD1における空き領域に表示する。
このように、単語コード入力機能部2221及びタイトル入力機能部2222は、GUI上の外部操作により英数字の単語コード、又は日本語単語を入力し、辞書DB43を探索して該入力に対応する単語ノードを用いて当該木構造で表現したインターフェースを編集可能に提示する指定単語提示手段として構成される。
尚、日本語単語と単語コードとの対応は、予め定めた対応付けテーブルを辞書DB43内に記憶保持しておき、単語コード入力機能部2221及びタイトル入力機能部2222は、辞書DB43内を探索し、当該対応付けテーブルを参照して日本語単語と単語コードとを対応付けて当該GUI上に提示する。
辞書DB43は、手話単語を指定する単語コードと対応付けられた日本語単語を多数記憶保持して実装しており、且つ各手話単語は、これに関連する手話単語、類似する手話単語、及び複数の手話単語列を対応付けて、当該対応付けテーブルとして予め保持している。尚、辞書DB43は、複数種のファイル形式、辞書内容に応じて複数種の辞書DBで構成することもできる。
ユーザDB44は、図16(a)に示すように、使用地域、生年月日、及び性別のうち1以上を含むユーザ情報を基にGUI部3からのユーザ登録によってユーザIDが割り当てられ(必要であればユーザ認証のためのユーザIDに関連付けられたパスワードの登録を含む)、記憶保持している。
履歴DB44は、図16(b)に示すように、ユーザIDが割り当てられたユーザ単位で、手話単語別に、過去の使用又は翻訳修正した履歴情報を所定回数分、記憶保持している。例えば、図15(a),(b)で示した例では、単語コード修正機能部222の機能によって、当該ユーザIDの操作者が日本語単語「田中」(単語コード「3945NN」)を使用した旨を示す履歴情報が履歴DB44に記憶保持される。また、日本語単語「高橋」(単語コード「3950NN」)を日本語単語「田中」(単語コード「3945NN」)に修正して木構造を構成した場合では、単語コード修正機能部222の機能によって、当該ユーザIDの操作者が日本語単語「高橋」(単語コード「3950NN」)を日本語単語「田中」(単語コード「3945NN」)に修正した旨を示す履歴情報が履歴DB44に記憶保持される。
候補単語決定機能部2223は、辞書DB43に実装している手話単語をノード編集領域WD1に追加指定可能とする“単語”ボタン202の押下でエディタを開き過去の使用履歴や修正履歴、推定・学習(機械学習を含む)等により使用可能とする手話単語候補をリスト表示する機能とは別に、マウス操作で指定した単語ノードに関連する手話単語、類似する手話単語、及び複数の手話単語列について所定数分を列挙する候補リストをダイアログ表示し、マウス操作で指定してノード編集領域WD1に追加可能とする機能を有する。
例えば、候補単語決定機能部2223は、図17(a)に示すように、ノード編集領域WD1における単語ノードを直接的にマウス操作で指定し(図示する例では「高橋」wn1)、当該指定した単語ノードに関連する手話単語、類似する手話単語、及び複数の手話単語列を、ユーザIDで識別される操作者単位又は該操作者が属するグループ単位のいずれか一方又は双方の過去の履歴(使用履歴や修正履歴)を基に優先度を設けて推定・学習した単語候補のリストをダイアログ表示する。そして、候補単語決定機能部2223は、図17(b)に示すように、ダイアログ表示された当該指定した単語ノードに関連する手話単語、類似する手話単語、及び複数の手話単語列のうち、当該ユーザ(操作者)のマウス操作によるいずれかの指定に基づいて、ノード編集領域WD1における空き領域に表示する(図示する例では単語ノード「田中」wn5の指定に基づいてノード編集領域WD1における空き領域に表示する)。
ここで、当該ダイアログ表示される候補数は、予め定めた個数とするか、或いは当該ノード編集領域WD1に最大限に表示されるダイアログで納まる範囲で制限される個数とすることができる。
尚、候補単語決定機能部2223は、図17に示すようなダイアログ表示に係る編集時に指定される単語ノードに対し関連する手話単語、類似する手話単語、及び複数の手話単語列について、編集時だけでなくデータファイル入力・翻訳部21からの要求による自動翻訳時にも、各単語ノードに対して作動する。
従って、候補単語決定機能部2223は、編集対象又は自動翻訳対象の単語ノードに対し関連する手話単語、類似する手話単語、及び複数の手話単語列について、ユーザDB44及び履歴DB45を自動的に参照し、ユーザIDで識別される操作者単位又は該操作者が属するグループ単位のいずれか一方又は双方の過去の履歴を基に優先度を推定・学習して割り当て辞書DB43を探索して提示する候補単語提示手段として構成される。
そして、候補単語決定機能部2223は、以下に説明する操作者履歴優先機能部2224、グループ履歴優先機能部2225、及び推定・学習機能部2226を機能させて、ユーザIDで識別される操作者単位又は該操作者が属するグループ単位のいずれか一方又は双方の過去の履歴(使用履歴、翻訳修正履歴を含む)を基に優先度を設けて推定・学習して決定する。
操作者履歴優先機能部2224は、編集対象又は自動翻訳対象の単語ノードに対し関連する手話単語、類似する手話単語、及び複数の手話単語列について所定数分を辞書DB43から読み出すよう探索する際に、当該操作者のユーザIDを基に履歴DB45を参照して、当該操作者が使用又は修正した履歴の有るものを優先的に提示するように探索した単語又は単語列の候補に対し優先度を割り得てる機能部である。
グループ履歴優先機能部2225は、編集対象又は自動翻訳対象の単語ノードに対し関連する手話単語、類似する手話単語、及び複数の手話単語列について所定数分を辞書DB43から読み出すよう探索する際に、当該操作者のユーザIDを基にユーザDB44を参照して、当該操作者のユーザ情報を基に同一グループに属する他のユーザIDを割り出し、該他のユーザIDを基に履歴DB45を参照して、該他のユーザIDの操作者が使用又は修正した履歴の有るものを優先的に提示するように探索した単語又は単語列の候補に対し優先度を割り得てる機能部である。同一グループに属するか否かは、例えば図16(a)に示すように、「使用地域」が同一都道府県に属する場合、「生年月日」から導き出される年齢が同一年齢層(±3年等予め定めた範囲)に属する場合、或いは「性別」が同一に属する場合に、同一グループに属するとして他のユーザIDを割り出すことができる。
推定・学習機能部2226は、操作者履歴優先機能部2224及びグループ履歴優先機能部2225によって優先度が割り当てられた単語又は単語列の候補について、使用頻度等の推定・学習処理に基づいて統合した優先度を割り当て、編集時では図17に示すようなダイアログ表示する際の順位として統合した優先度の高いものから順に提示し、データファイル入力・翻訳部21からの要求による自動翻訳時には統合した優先度の最も高いものを応答して返すように制御する。この推定・学習処理として、単純な使用頻度に基づく優先度学習の他、機械学習や、ニューラルネットワーク、深層学習等を利用したAI(人工知能)による推定によるものとすることができる。
このように、候補単語決定機能部2223は、編集時では図17に示すようなダイアログ表示する際に、操作者によって過去に使用又は修正された手話単語は、ユーザID単位で履歴DB45に所定回数分、記憶保持され、或る操作者によって同じ単語が再び表示された場合には、当該ユーザIDで識別される操作者によるもの、及び当該操作者が属するグループ内のものを優先的に、履歴DB45を基に辞書DB43から検索された手話単語、及びその関連・類似単語に優先度を設けて優先度の高いものから順にGUI上に表示する。
これにより、ユーザ(操作者)は直接的な入力指定で手話単語を呼び出す必要がなくなり操作性を向上させることができる。
〔第2実施形態の手話CG翻訳編集装置〕
図18は、本発明による第2実施形態の手話CG翻訳編集装置1の概略構成を示すブロック図である。尚、図18において、図1と同様な構成要素には同一の参照番号を付している。図18に示す第2実施形態の手話CG翻訳編集装置1は、図1に示すものと比較して、複数のユーザで共用可能とするよう、Webサーバ機能部24を有する点で相違しており、クライアントとなるWeb端末100‐N(Nは1以上の整数)からのWeb接続で動作し、クライアントで入力した日本語文を、サーバ側で翻訳した結果を再びクライアントに返すクライアントサーバとして機能するよう構成される。このため、Web接続したWeb端末100‐Nに、GUIが提示される表示器31及びGUI上のマウス操作を可能とする操作部32によるGUI部3−Nが構成される。
Webサーバ機能部24は、Webアドレスを有し、Web端末100‐NからのWeb接続時に、ユーザ認証を経て制御部2の機能により本発明に係るプログラムに基づくアプリケーション20を起動して、GUI部3‐Nを介して外部操作可能なGUIを提示する。
このようにWebサーバ機能部24を有するように構成した第2実施形態の手話CG翻訳編集装置1は、図19に示すように、履歴DB45を操作者間で共有することができるようになり、他の操作者の使用又は修正履歴を候補単語に反映させることができる。
特に、上述したように、候補単語決定機能部2223は、編集対象又は自動翻訳対象の単語ノードに対し関連する手話単語、類似する手話単語、及び複数の手話単語列について、ユーザIDで識別される操作者単位又は該操作者が属するグループ単位のいずれか一方又は双方の過去の履歴(使用履歴、翻訳修正履歴を含む)を基に優先度を設けて推定・学習して決定する。
このため、図19に示すように、使用地域グループや年齢グループなど、各グループ内で利便性の高い編集又は自動翻訳が可能となる。
本発明に係る手話CG翻訳編集装置及びプログラムは、上述した実施形態の例に限定されるものではなく、特許請求の範囲の記載によってのみ制限される。