(57)【特許請求の範囲】
【請求項１】
手話文の動作を電気信号に変換し時系列の手話文データとして入力する手話動作入力手段と、手話単語に関する情報を格納する手話単語情報格納手段と、前記手話動作入力手段から入力された手話文データを処理するコンピュータ信号処理手段と、を有し、
前記コンピュータ信号処理手段は、
前記手話動作入力手段から入力された手話文データ中に表現されている各手話単語を認識する手話単語認識機能と、
前記手話動作入力手段から入力された手話文データ中の動作の境界を動作速度及び動作方向を含む特徴量が極小になる時刻、あらかじめ決められた制限を超える時刻、あらかじめ決められた制限を下回る時刻、あるいは特徴量の変化の大きさがあらかじめ決められた制限を超える時刻を動作の境界として検出することにより手話データを分割する手話データ分割機能と、
前記手話データ分割機能によって検出された境界によって分割される手話文データ中の各区間において、左右それぞれの手の動作速度又は動作速度の変化を左右それぞれの手の特徴量として計算し、左右の手の特徴量の差の大きさによって、各区間における動作の種類をあらかじめ決められた種類のいずれに該当するかを決定することを特徴とする動作特徴抽出機能と、
前記手話単語情報格納手段に格納された手話単語に関する情報に基づいて、前記手話データ分割機能によって検出された境界によって分割された手話文データ中の各区間に前記手話単語認識機能によって認識された手話単語を対応付け、さらに、各区間に対応付けられた手話単語の動作の種類を前記手話単語情報格納手段から読み出し、前記動作特徴抽出機能によって決定された各区間の動作の種類との類似性に基づいて各区間に対応付けられた手話単語の優先順位を変更する分割区間手話単語対応機能と、
前記分割区間手話単語対応機能によって対応付けられた手話文データ中の各区間と手話単語の対応関係に基づいて手話単語列を生成する手話単語列生成機能と、を実行することを特徴とする手話認識装置。
【請求項２】
請求項１記載の手話認識装置において、前記手話データ分割機能は、掌の動作速度、掌の動作方向の変化、各指の先端の動作速度、各指の先端の動作方向の変化のうち少なくとも１つの特徴量が極小になる時刻、あらかじめ決められた制限を超える時刻、あらかじめ決められた制限を下回る時刻、あるいは特徴量の変化の大きさがあらかじめ決められた制限を超える時刻を動作の境界として検出することにより手話データを分割することを特徴とする手話認識装置。
【請求項３】
請求項１記載の手話認識装置において、前記手話データ分割機能は、左右両方の手の手話データから計算される掌の動作速度、掌の動作方向の変化、各指の先端の動作速度、各指の先端の動作方向の変化のうち少なくとも１つの特徴量が極小になる時刻、あらかじめ決められた制限を超える時刻、あらかじめ決められた制限を下回る時刻、あるいは特徴量の変化の大きさがあらかじめ決められた制限を超える時刻を動作の境界として検出することにより手話データを分割した後、分割して得られた各区間について、右手における掌の動作速度、及び、各指の先端の動作速度、並びに、左手における掌の動作速度、及び、各指の先端の動作速度のそれぞれが極小になる時刻、あらかじめ決められた制限を超える時刻、あらかじめ決められた制限を下回る時刻、あるいは特徴量の変化の大きさがあらかじめ決められた制限を超える時刻を検出し、検出した時刻を動作の境界として追加することを特徴とする手話認識装置。
【請求項４】
請求項３記載の手話認識装置において、前記手話データ分割機能は、さらに掌あるいは各指の先端の動作方向の変化があらかじめ決められた閾値を越える時刻を境界として検出し、検出された境界を動作速度に基づいて検出された境界のうち時間的に最も近い境界に対応付けることを特徴とする手話認識装置。
【請求項５】
手話動作入力手段から手話文の動作を電気信号に変換し時系列の手話文データとして入力する手話動作入力ステップと、
前記手話動作入力ステップにて入力された手話文データ中に表現されている各手話単語を認識する手話単語認識ステップと、
前記手話動作入力ステップにて入力された手話文データ中の動作の境界を動作速度及び動作方向を含む特徴量が極小になる時刻、あらかじめ決められた制限を超える時刻、あらかじめ決められた制限を下回る時刻、あるいは特徴量の変化の大きさがあらかじめ決められた制限を超える時刻を動作の境界として検出することにより手話データを分割する手話データ分割ステップと、
前記手話データ分割ステップにて検出された境界によって分割される手話文データ中の各区間において、左右それぞれの手の動作速度及び動作速度の変化を左右それぞれの手の特徴量として計算し、左右の手の特徴量の差の大きさによって、各区間における動作の種類をあらかじめ決められた種類のいずれに該当するかを決定することを特徴とする動作特徴抽出ステップと、
手話単語情報格納手段に手話単語に関する情報を格納する手話単語情報格納ステップと、
前記手話単語情報格納ステップにて格納された手話単語に関する情報に基づいて、前記手話データ分割にて検出された境界によって分割された手話文データ中の各区間に前記手話単語認識ステップにて認識された手話単語を対応付け、さらに、各区間に対応付けられた手話単語の動作の種類を前記手話単語情報格納手段から読み出し、前記動作特徴抽出ステップにて決定された各区間の動作の種類との類似性に基づいて各区間に対応付けられた手話単語の優先順位を変更する分割区間手話単語対応ステップと、
前記分割区間手話単語対応ステップにて対応付けられた手話文データ中の各区間と手話単語の対応関係に基づいて手話単語列を生成する手話単語列生成ステップと、
を含む方法をコンピュータに実行させるためにコンピュータによって読み取り可能なプログラムを格納したコンピュータプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、手話単語を連続的に表現した手話文から個々の手話単語を検出する手話認識装置及びコンピュータを手話認識装置として動作させるためのプログラムを記録した媒体に関する。
【０００２】
【従来の技術】
複数の手話単語が連続的に表現された手話文の動作から動作の境界を検出し、その結果を手話単語列の生成処理に利用する技術としては、特開平６−３３７６２９号公報（手話認識装置）がある。この技術では、手の動作速度が極小になる時刻、及び手の動作速度があらかじめ決められた値以下になる区間を動作の境界として検出する。さらに、手形状の変化の有無や繰り返しの有無を判断することにより余分な境界を削除し、手話単語を表す区間を決定する。この結果に基づいて、境界にまたがって認識された手話単語を削除する。また、決定した区間の位置と手話単語の表現位置に基づいて、認識処理を行う手話単語を制限する。
【０００３】
【発明が解決しようとする課題】
手話単語の境界を検出し、その結果に基づいて手話単語列を生成する従来の技術では、手の動作速度のみから動作の境界を検出し、手の形状は手話単語の動作中等に検出される余分な境界を削除するためにのみ使用されていた。また、動作の境界検出において手の方向の変化は全く考慮されていない。しかし、手話単語の中には、手の位置は静止したままで手の形状のみが変化する手話単語や手の方向のみが変化する手話単語が存在する。また、手の位置が変化するとともに手の形状や手の方向が変化するような手話単語も存在する。従来技術によってこのような手話単語を含む手話文データから境界を検出しようとすると、手の形状や方向の変化を余分な境界を削除するための条件として使うことができないため、手話文データ中の手話単語を表す区間を正しく検出することができなくなる。
【０００４】
また、従来技術では、検出された境界にまたがって認識された手話単語を誤りとみなして削除している。しかし、手話単語は必ずしも一つの動作からのみ構成されているわけではなく、複数の動作から構成されている場合もある。このような手話単語に対して従来技術では境界が検出されてしまうため、正しい手話単語を削除してしまうことになる。
【０００５】
さらに、従来技術では、境界によって分割された手話文データ中の各区間において、その位置のみに基づいて認識された手話単語に優先順位を付けている。しかし、手話単語には位置がさまざまに変動する手話単語も多く見られるため、このような制約では十分ではない。
本発明の目的は、上記に示したような様々な形態の手話単語が表現される手話文の動作中において、各手話単語を表す動作の境界を検出できる手段を備える手話認識装置を提供することにある。
【０００６】
本発明の他の目的は、検出された境界と手話単語の認識結果に基づいて正しい手話単語列を生成する手段を備える手話認識装置を提供することにある。
本発明のさらに他の目的は、検出された境界によって分割される手話文中の各区間について、それぞれの区間に対応する手話単語に効果的に優先順位を付ける手段を備える手話認識装置を提供することにある。
本発明の別の目的は、コンピュータを前記特徴を備えた手話認識装置として動作させるためのプログラムを記録した媒体を提供することにある。
【０００７】
【課題を解決するための手段】
前記目的を達成するため、本発明では、手話文データ中の各時刻において、掌及び各指の先端における動作速度を求め、求めた動作速度が極小になる時刻を動作の境界として検出する。さらに、検出された境界によって分割される手話文データ中の各区間において、左右それぞれの手について掌及び各指の動作速度が極小になる時刻を検出し、検出した時刻を動作の境界に追加する。その際、左右の手における動作速度の変化パターンに基づいて、境界を追加するかどうかを決定する。また、手話文データ中の各時刻における左右の掌及び各指の先端の動作方向の変化を計算し、動作方向の変化があらかじめ決められた閾値を越えている場合、その時刻を動作の境界として検出する。動作方向の変化によって検出した境界は、動作速度の極小値によって検出した境界のうち時間的に最も近い境界に対応付ける。
【０００８】
次に、検出した境界によって分割される手話文データ中の各区間に対して、認識された手話単語を対応付ける。この際、各手話単語の動作の特徴に基づいて対応付ける区間を決定する。また、各区間において、データ中から動作の特徴を抽出し、その区間に対応付けられた手話単語の優先順位を変更する。
最後に、手話単語と各区間との対応関係、及び各区間中の手話単語の優先順位に基づいて、手話単語列を生成する。
【０００９】
すなわち、本発明による手話認識装置は、手話文の動作を電気信号に変換し時系列の手話文データとして入力する手話動作入力手段と、手話動作入力手段から入力された手話文データ中に表現されている各手話単語を認識する手段と、手話動作入力手段から入力された手話文データ中の動作の境界を動作の特徴量に基づいて検出する手話データ分割手段と、手話データ分割手段によって検出された境界によって分割される手話文データ中の各区間における動作の特徴を検出する動作特徴検出手段と、手話単語に関する情報を格納する手話単語情報格納手段と、手話単語情報格納手段に格納された手話単語に関する情報に基づいて、手話データ分割手段によって検出された境界によって分割された手話文データ中の各区間に手話単語認識手段によって認識された手話単語を対応付ける分割区間手話単語対応手段と、分割区間手話単語対応手段によって対応付けられた手話分データ中の各区間と手話単語の対応関係に基づいて手話単語列を生成する手話単語列生成手段と、を備えることを特徴とする。
【００１０】
動作の特徴量には、動作の速度や方向等が含まれる。動作の特徴には、使用されている手の種類（両手、右手、左手）や動作が行われてる位置等が含まれる。手話単語に関する情報には、手話単語の動作の特徴や構造が含まれる。
手話データ分割手段は、掌の動作速度、掌の動作方向の変化、各指の先端の動作速度、各指の先端の動作方向の変化のうち少なくとも１つの特徴量に基づいて動作の境界を検出するように構成することができる。好ましくは、これらの特徴量の複数を用いて、あるいはこれらの特徴量の全てを用いて動作の境界を検出する。より具体的には、手話データ分割手段は、掌の動作速度あるいは各指の先端の動作速度が極小になる時刻、掌の動作速度あるいは各指の先端の動作速度があらかじめ決められた速度より小さくなる時刻、掌の動作速度あるいは各指の先端の動作速度があらかじめ決められた速度より小さい状態からあらかじめ決められた速度より大きい状態になる時刻、及び掌あるいは各指の先端の動作方向の変化があらかじめ決められた閾値を越える時刻を動作の境界として検出することができる。
【００１１】
手話データ分割手段は、また、左右両方の掌の動作速度及び各指の先端の動作速度に基づいて動作の境界を検出した後、検出した境界によって分割される手話文データ中の各区間について、右手における掌の動作速度及び各指の先端の動作速度、並びに左手における掌の動作速度及び各指の先端の動作速度のそれぞれに基づいて動作の境界を検出し、検出した境界を動作の境界として追加するように構成することができる。
手話データ分割手段は、さらに掌あるいは各指の先端の動作方向の変化があらかじめ決められた閾値を越える時刻を境界として検出し、検出された境界を動作速度に基づいて検出された境界のうち時間的に最も近い境界に対応付けるように構成することができる。
【００１２】
動作特徴検出手段は、区間中における左右それぞれの手についての最大動作速度の差あるいは比、区間中における左右それぞれの手についての平均動作速度の差あるいは比、区間中における左右それぞれの手についての移動距離の差あるいは比、区間中における左右それぞれの手についての動作速度変化の差、区間中における動作方向の差のうち少なくとも１つの特徴量に基づいて、区間中の動作が両手を使用しているか、右手のみを使用しているか、左手のみを使用しているかのいずれかに各区間を分類することができる。
【００１３】
手話単語情報格納手段に格納される情報は、手話単語の動作の特徴に関する情報、手話単語の動作が動作の境界によって分割される区間の数、手話単語の動作を行う場合に使用される手の種類のうち少なくとも１つを含むことができる。
手話単語の動作の特徴に関する情報には、手話単語の動作を、あらかじめ決められた数の区間に分割される可能性のある「上限有り」、分割される区間の数が不明確である「上限無し」、印を押すような動作を含む「提示動作」のいずれかに分類した結果を含むことができる。
分割区間手話単語対応手段は、手話単語の動作の特徴及び動作の境界によって分割される区間の数に基づいて、手話単語に対応する区間を決定する。分割区間手話単語対応手段は、また、各区間における動作の特徴に基づいて各区間に対応付けられた手話単語の優先順位を変更するように構成することができる。
【００１４】
本発明によるコンピュータ読取可能な記録媒体は、手話文の動作を電気信号に変換し時系列の手話文データとして入力する手話動作入力手段と、手話動作入力手段から入力された手話文データ中に表現されている各手話単語を認識する手段と、手話動作入力手段から入力された手話文データ中の動作の境界を動作の特徴量に基づいて検出する手話データ分割手段と、手話データ分割手段によって検出された境界によって分割される手話文データ中の各区間における動作の特徴を検出する動作特徴検出手段と、手話単語情報格納手段に格納された手話単語に関する情報に基づいて、手話データ分割手段によって検出された境界によって分割される手話文データ中の各区間に手話単語認識手段によって認識された手話単語を対応付ける分割区間手話単語対応手段と、分割区間手話単語対応手段によって対応付けられた手話分データ中の各区間と手話単語の対応関係に基づいて手話単語列を生成する手話単語列生成手段とを備える手話認識装置、としてコンピュータを動作させるためのプログラムを記録している。
【００１５】
プログラムを供給する記録媒体としては、フロッピーディスク、磁気ディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等、任意のものを使用することができる。この記録媒体から読み出されたプログラムがコンピュータを前述の手話認識装置として動作させることになる。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１は、本発明による手話認識装置の概念ブロック図である。図１において、手話動作入力部１０１は、手話文を表す動作を電気信号に変換し時系列の手話文データとして入力するための手段であり、良く知られている手袋型装置１０２を使用することができる。また、手話動作入力部１０１としては、ビデオカメラ及びビデオ画像から手の位置や形状を認識する画像認識装置を使用することもできる。手話単語認識部１０３は、手話動作入力部１０１によって入力された手話文データ中に表現されている各手話単語を認識する手段である。手話単語認識部には、既存の技術、例えば特開平１０−２０８０２３号公報（手話認識装置）に記載されている技術を用いることができる。
【００１７】
手話データ分割部１０４は、手話動作入力部１０１によって入力された手話文データ中の各手話単語や渡り動作（手話単語間の遷移動作）の境界を検出し、手話文データを手話単語や渡り動作を表す区間に分割するための手段である。動作特徴抽出部１０５は、手話データ分割部１０４によって分割された手話文データ中の各区間から、区間中における動作の特徴に関する情報を抽出するための手段である。手話単語情報格納部１０６は、手話単語を表現する際に使用する手の種類や動作の構造等の手話単語に関する情報を格納する手段である。
【００１８】
分割区間手話単語対応部１０７は、手話単語分割部１０４によって分割された手話文データ中の各区間と手話単語認識部１０３によって認識された手話単語を手話単語情報格納部１０６の内容に基づいて対応付け、さらに、動作特徴抽出部１０５によって抽出された各区間の動作の特徴に基づいて、各区間に対応付けられた手話単語に優先順位をつけるための手段である。手話単語列生成部１０８は、分割区間手話単語対応部１０７によって得られた手話文データ中の分割された各区間と認識された手話単語の対応付け、及び各区間中の手話単語の優先順位に基づいて、手話単語列を生成するための手段である。手話単語列生成部１０８の出力として、生成された手話単語列１０９が出力される。
【００１９】
図２に、手話動作入力部１０１によって入力される手話文データのフォーマットを示す。図２において、２０１は手の位置に関するデータであり、手の位置はさらにｘ軸のデータ２０２、ｙ軸のデータ２０３、ｚ軸のデータ２０４から構成されている。２０５は手の方向に関するデータであり、手の方向はさらにｘ軸回りの回転角度２０６、ｙ軸回りの回転角度２０７、ｚ軸回りの回転角度２０８から構成されている。２０９は指の曲げに関するデータであり、指の曲げはさらに、親指の第２関節の曲げ角度２１０、親指の第３関節の曲げ角度２１１、人差し指の第１関節の曲げ角度２１２、人差し指の第２関節の曲げ角度２１３、中指の第１関節の曲げ角度２１４、中指の第２関節の曲げ角度２１５、薬指の第１関節の曲げ角度２１６、薬指の第２関節の曲げ角度２１７、小指の第１関節の曲げ角度２１８、小指の第２関節の曲げ角度２１９から構成されている。また、２２０，２２１，…，２２２はそれぞれ、時刻ｔ１，ｔ２，…，ｔｎにおける手の位置、方向、指の曲げのデータを表す。このように、手話における動作は手の位置２０１、手の方向２０５、指の曲げ２０９からなる時系列データとして表される。
【００２０】
図３は、手話単語情報格納部１０６に格納される各手話単語に関する情報のフォーマットである。図３において、手話単語名３０１は手話単語の名称を表す文字列である。動作タイプ３０２は手話単語の動作のタイプを表す記号であり、「上限あり」、「上限無し」、「提示動作」のいずれかが記述される。「上限有り」は、手話データ分割部１０４によって一つ以上の区間に分割されると予想される手話単語であり、分割される区間数があらかじめ予想できる場合である。一方、「上限無し」は、「上限あり」の場合と同様に一つ以上の区間に分割されると予想されるが、分割される区間数はあらかじめ予想できない場合である。「提示動作」は空間上に印を押すような動作を行う手話単語であり、「上限あり」に分類される手話単語のうち、区間の数が一つの場合に相当する。区間数が１の「上限あり」の場合と「提示動作」の違いは、前者では手話データ分割部１０４によって分割される区間全体あるいはその一部に手話単語の動作が対応するのに対し、後者は動きのある状態から動きの無い状態に変化する部分に意味があるため、区間の終了部分にのみ対応する、ということである。使用手３０３は、手話単語を表現する際に使用する手の種類であり、「右手」、「左手」、「両手」のいずれかを記述する。手話単語に関する情報としては、この他、手話単語を表現する際の手の位置や手の方向、あるいは、両手を使用する場合であれば両手の位置関係等を記述することができる。区間数３０４は、手話単語を表す動作が手話データ分割部１０４によって分割される区間の数を表す。「上限あり」の場合は区間の上限数を記述し、「上限無し」の場合は無制限であることを表す０を記述する。また、「提示動作」の場合は上限値１を記述する。
【００２１】
次に、図４から図８を用いて、手話データ分割部１０４において、手話文データを分割する方法につい手の動作速度が極小になる時刻を検出する。両手の動作速度は、次の（数１）によって求て説明する。手話文の動作では、図４に示すように、手話単語の境界（図中に×で示す時刻）で動作速度が極小になる傾向を示す。そこで、動作の境界として、両める。
【００２２】
【数１】
0003623394.tif 000002
【００２３】
式中、Ｖ０（ｔ）は、時刻ｔにおける両手の動作速度、Ｐ（ｔ，  ｉ，  ｊ）は時刻ｔにおける手ｉ（ｉ＝０：右手、ｉ＝１：左手）の部位ｊ（ｊ＝０：掌、ｊ＝１：親指、ｊ＝２：人差し指、ｊ＝３：中指、ｊ＝４：薬指、ｊ＝５：小指）の位置ベクトルである。また、（数１）の分母は１２である。
【００２４】
図２に示した手話文データのフォーマットでは、各指の先端の位置が含まれていないため、手の位置、手の方向、指の曲げ角度、及び図５に示すような手のモデルを用いて各指の先端の位置を計算する。計算方法は三次元グラフィックスの分野等で良く知られている方法を用いることができる。あるいは、指の先端に位置センサを装着することにより直接入力することもできる。
【００２５】
また、動作速度があらかじめ決められた速度より小さくなる時刻、及び動作速度があらかじめ決められた速度より小さい状態からあらかじめ決められた速度より大きい状態になる時刻も境界として検出する。次に、検出した境界によって分割される各区間において、左右それぞれの手における動作速度の極小値を検出し、その結果も境界に追加する。左右それぞれの手の動作速度は、次の（数２）によって求められる。
【００２６】
【数２】
0003623394.tif 000003
【００２７】
式中、Ｖ１（ｉ，  ｔ）は手ｉ（ｉ＝０：右手、ｉ＝１：左手）の時刻ｔにおける動作速度である。（数２）の分母は６である。
ただし、それぞれの手の動作速度から求めた極小値の場合、左右の手が同期して動く場合でも、動作速度が極小になる時刻がずれる可能性がある。このため、図６に示す流れ図に従って追加する境界を決定する。
【００２８】
図６のステップ６０１において、左右それぞれの手で検出された動作速度の極小値の数を比較し、極小値の数が同じであればステップ６０２に、違っていればステップ６０６に進む。ステップ６０２では、左右それぞれの手において、極小値によって分割される区間全ての組み合わせに対して時間長の差を求め、さらにその平均を求める。ステップ６０３では、右手における時間長の差と左手における時間長の差を比較し、右手の方が小さければステップ６０４に、左手の方が小さければステップ６０５に進む。ステップ６０４では右手の動作速度から検出された極小値の時刻を境界に追加する。ステップ６０５では左手の動作速度から検出された極小値の時刻を境界に追加する。また、ステップ６０２において、時間長の差を求める代わりに時間長の比を求めても良い。ステップ６０６では、左右それぞれの手の動作速度から検出された極小値の数を比較し、右手の方が多ければステップ６０７に、左手の方が多ければステップ６０８に進む。ステップ６０７では右手の動作速度から検出された極小値の時刻を境界に追加する。ステップ６０８では左手の動作速度から検出された極小値の時刻を境界に追加する。
【００２９】
手話データ分割部１０４は、動作速度の極小値に基づく境界に加え、動作方向変化に基づく境界の検出も行い、境界に追加する。動作方向変化による境界は、次の（数３）の条件を満たす場合に検出される。
【００３０】
【数３】
0003623394.tif 000004
【００３１】
式中、Ｉ（ｔ，  ｉ，  ｊ）は時刻ｔ、手ｉ、部位ｊにおける動作方向変化、ｎは動作方向変化を求めるためのデータ範囲、Θは動作方向変化の閾値である。
上記（数３）によって検出される境界は、動作速度の極小値による境界と時間的なずれが生じる可能性がある。このため、動作方向変化によって検出された境界は、動作速度によって検出された境界のうち、時間的に最も近い境界に重なって検出されたものと見なし、境界の特徴として、動作方向変化が含まれることを表す情報を付加する。
【００３２】
検出された各境界に関する情報は、図７に示すようなフォーマットで記述される。図７において時刻７０１は、その境界が検出された時刻を表す。境界タイプ７０２には、「速度のみ」、「方向変化有り」、「停止遷移」、「動作遷移」のいずれかが記述される。「速度のみ」は、その境界が動作速度のみによって検出された候補であることを表す。一方、「方向変化有り」は、動作速度に加え動作方向変化によっても検出された境界であることを表す。また、「停止遷移」は動作速度があらかじめ決められた閾値より小さくなったことにより検出された境界、「動作遷移」は動作速度があらかじめ決められた閾値より小さい状態から大きい状態に変化したことにより検出された境界であることを表す。使用手７０３は、その境界が両手の動作速度から検出されたか、左手のみの動作速度から検出されたか、あるいは右手のみの動作速度から検出されたかを表す。
【００３３】
検出された境界に基づいて、手話文データを分割し、各区間に分割する。検出された境界のみで分割を行うと、動作の微妙な揺れ等により、余分な区間に分割される可能性があるため、ここでは、図８に示す流れ図に従った処理により、余分な境界を削除する。この処理は、図１４に図示するように、境界タイプが「速度のみ」である境界ｉについて、境界（ｉ−１）と境界ｉの間の区間における最大動作速度と境界ｉにおける動作速度との差Ｄ１、あるいは境界ｉと境界（ｉ＋１）の間の区間における最大動作速度と境界ｉにおける動作速度との差Ｄ２が小さい場合に、境界ｉを削除する処理である。
【００３４】
図８において、ステップ８０１では、検出された境界を示すカウンタｉを最初の境界を表す１に設定する。ステップ８０２では、カウンタｉの値が検出された境界数より大きいかどうかを調べる。小さいか等しければステップ８０３に進む。大きければ処理を終了する。ステップ８０３ではカウンタｉで示される境界の境界タイプが「停止遷移」あるいは「動作遷移」のいずれかであるかどうかを調べる。「停止遷移」あるいは「動作遷移」のいずれかであれば、ステップ８１５に進む。そうでなければステップ８０４に進む。ステップ８０４では、（ｉ−１）の値が１より小さいかどうかを調べ、１より小さければステップ８０７に進み、変数Ｄ１にあらかじめ決められた閾値より大きい値を設定する。（ｉ−１）の値が１以上であればステップ８０５に進む。ステップ８０５では、（ｉ−１）とｉで示される境界によってはさまれる区間における動作速度の最大値を求める。ステップ８０６では、求めた動作速度の最大値とカウンタｉによって示される境界における動作速度の差Ｄ１を求める。動作速度の差を求める際、境界に関する情報中の使用手７０３を参照し、両手の場合は両手の動作速度の差を、左手あるいは右手の場合はそれぞれの手の動作速度の差を求める。
【００３５】
ステップ８０８では（ｉ＋１）の値が検出された境界数より大きいかどうかを調べ、大きければステップ８１１へ、そうでなければステップ８０９へ進む。ステップ８１１では変数Ｄ２にあらかじめ決められた閾値より大きい値を設定する。ステップ８０９では、（ｉ＋１）とｉで示される境界によってはさまれる区間における動作速度の最大値を求める。ステップ８１０では、求めた動作速度の最大値とカウンタｉによって示される境界における動作速度の差Ｄ２を求める。ステップ８１２では、Ｄ１とＤ２があらかじめ決められた閾値より小さいかどうかを調べる。Ｄ１あるいはＤ２のいずれかが閾値より小さい場合、ステップ８１３に進む。そうでない場合はステップ８１５に進む。ステップ８１３では、カウンタｉによって示される境界の境界タイプが「方向変化有り」であるかどうかを調べ、「方向変化有り」であれば、ステップ８１５に進む。そうでなければステップ８１４に進み、カウンタｉによって示される境界を削除する。ステップ８１５ではカウンタｉの値を１増加し、ステップ８０２に戻る。
【００３６】
次に、動作特徴抽出部１０５において行う動作の特徴を抽出する処理について説明する。動作特徴抽出部１０５では、手話データ分割部１０４によって検出された境界によって分割される手話文データ中の各区間における動作の特徴として、使用している手の種類を抽出する。このため、各区間において、最大動作速度の比、及び動作速度変化の差を求める。最大動作速度の比は各区間における左右それぞれの手の最大動作速度を求めた後、（数４）によって計算される。
【００３７】
【数４】
0003623394.tif 000005
【００３８】
式中、Ｒ０は最大動作速度の比、Ｍ１は右手における最大動作速度、Ｍ２は左手における最大動作速度である。
また、動作速度変化の差は（数５）によって計算される。
【００３９】
【数５】
0003623394.tif 000006
【００４０】
式中、Ｒ１は動作速度変化の差、ｓは区間の開始時刻、ｅは区間の終了時刻である。なお、（数５）の分母は（ｅ−ｓ＋１）である。
前記（数４）及び（数５）によって求めたパラメータＲ０，Ｒ１がいずれも閾値以下の場合、その区間は両手を使用していると判断する。それ以外の場合は、片手のみを使用していると判断する。（数５）では、左右それぞれの手の最大動作速度が一致するように正規化を行って動作速度変化の差を求めている。動作速度変化の差としては、左右それぞれの手における動作速度変化の差を求めた後、最大動作速度の比に基づいて正規化を行ってもよい。また、最大動作速度の比及び動作速度変化の差以外に、最大動作速度の差、平均動作速度の差あるいは比、移動距離の差あるいは比、動作方向の差、等に基づいて判断することもできる。両手か片手かの判定を行った後、さらに、左右いずれの手を主に使用しているかの判定を行う。このために、各区間において、最大動作速度の比を求める。ここで求める最大動作速度の比は（数４）と基本的に同様であるが、符号を考慮して（数６）により計算する。
【００４１】
【数６】
0003623394.tif 000007
【００４２】
式中、Ｒ２は使用している手を判別するための最大動作速度の比である。
（数６）により計算したパラメータＲ２が正の場合は右手を主に使用していると判定し、負の場合は左手を主に使用していると判定する。この判定も、最大動作速度の比以外に、最大動作速度の差、平均動作速度の差あるいは比、移動距離の差あるいは比、動作方向の差、等に基づいて判断することができる。
【００４３】
動作特徴抽出部１０５において動作の特徴を抽出した後、動作の境界によって分割される区間に関する情報を図９に示すようなフォーマットで記述する。図９において９０１は、その区間の開始時刻を表す。９０２はその区間の終了時刻を表す。区間タイプ９０３はその区間の特徴を表し、「両手」、「右手」、「左手」、「停止」、「ポーズ」のいずれかが記述される。「両手」はその区間が両手を使用した動作であることを示す。「右手」及び「左手」は片手を使用した動作であることを示し、主に使用されていると判断された手の種類を記述する。「停止」及び「ポーズ」は、境界タイプ７０２が「停止遷移」と「動作遷移」である境界によって挟まれる区間に対して付加される。「停止」は区間の時間長があらかじめ決められた時間長より大きい場合、「ポーズ」はあらかじめ決められた時間長より小さい場合に指定される。主手９０４は区間タイプが「両手」の場合にのみ記述される。（数４）及び（数５）によってその区間のタイプが「両手」と判定された場合でも、実際には片手の動作である可能性もある。このため、「両手」と判定された場合、（数６）によって判定される主に使用されている手の種類、すなわち「右手」あるいは「左手」を主手９０４に記述する。区間タイプ９０３としては、手話の動作で使用されている手の種類の他、手の位置や手の方向、あるいは、両手の場合であれば両手の位置関係等に関する情報を抽出し、記述することもできる。
【００４４】
次に、手話文データから検出された境界によって分割された各区間に手話単語の認識結果を対応付ける処理について説明する。図１０に、手話単語認識部１０３から出力される手話単語の認識結果のフォーマットを示す。図１０において、手話単語名１００１は認識された手話単語の名称、開始時刻１００２は認識された手話単語の開始時刻、終了時刻１００３は認識された手話単語の終了時刻、評価値１００４は認識された手話単語の確からしさを表す評価値である。
【００４５】
図９に示した区間に関する情報と、図１０に示した認識された手話単語の認識結果に基づいて、区間と手話単語の対応付けは、図１１に示す流れ図に従って行われる。図１１においてステップ１１０１では、まず、認識された手話単語を識別するカウンタｉを最初の手話単語を表す１にセットする。ステップ１１０２ではカウンタｉの値が認識された手話単語の数より大きいかどうかを調べる。カウンタｉの値が手話単語数より大きければ処理を終了する。そうでなければステップ１１０３に進む。ステップ１１０３では、カウンタｉが示す手話単語の時間範囲との重なり度が閾値以上になる区間を検索する。手話単語の時間範囲と各区間の時間範囲との重なり度は（数７）によって計算する。
【００４６】
【数７】
0003623394.tif 000008
【００４７】
式中、Ｏは区間と手話単語の時間範囲の重なり度、Ｒｓは区間の開始時刻、Ｒｅは区間の終了時刻、Ｗｓは手話単語の開始時刻、Ｗｅは手話単語の終了時刻である。
ステップ１１０４では、検索された区間に「停止」が含まれているかどうかを調べ、「停止」が含まれていればステップ１１２２に進む。停止が含まれていなければステップ１１０５に進み、カウンタｉの示す手話単語が「提示動作」であるかどうかを調べる。手話単語が「提示動作」であればステップ１１０６に進む。そうでなければステップ１１０７に進む。ステップ１１０６では、検索された区間の内時間的に最も早い区間をカウンタｉの示す手話単語に対応する区間として登録し、ステップ１１２２に進む。ステップ１１０７ではカウンタｉの示す手話単語が「上限無し」であるかどうかを調べ、「上限無し」であればステップ１１０８に進む。そうでなければステップ１１０９に進む。ステップ１１０８では、検索された全ての区間をカウンタｉの示す手話単語に対応する区間として登録し、ステップ１１２２に進む。ステップ１１０９では、検索された区間の数が手話単語情報中の区間数３０４以下であるかどうかを調べ、区間数以下であればステップ１１０８に進む。そうでなければステップ１１１０に進む。
【００４８】
ステップ１１１０では、検索された区間の内、時間的に最も早い区間と最も遅い区間の手話単語との重なり度を計算し、ステップ１１１１に進む。重なり度の計算は（数７）によって行うことができる。ステップ１１１１では、時間的に最も早い区間の重なり度が時間的に最も遅い区間の重なり度より小さいかどうかを調べ、小さければステップ１１１２に進む。そうでなければステップ１１１８に進む。ステップ１１１２では、時間的に最も早い区間を削除し、ステップ１１１３において残りの区間の数が手話単語情報中の区間数３０４以下であるかどうかを調べる。区間数以下であればステップ１１１５に進む。そうでなければステップ１１１６に進む。ステップ１１１５では、残っている区間全てをカウンタｉが示す手話単語に対応する区間として登録し、ステップ１１２２へ進む。ステップ１１１６では、時間的に最も遅い区間を削除し、ステップ１１１７において残りの区間の数が手話単語情報中の区間数３０４以下であるかどうかを調べる。区間数以下であればステップ１１１５に進む。そうでなければステップ１１２２に進む。ステップ１１１８では、時間的に最も遅い区間を削除し、ステップ１１１９において残りの区間の数が手話単語情報中の区間数３０４以下であるかどうかを調べる。区間数以下であればステップ１１１５に進む。そうでなければステップ１１２０に進む。ステップ１１２０では、時間的に最も早い区間を削除し、ステップ１１２１において残りの区間の数が手話単語情報中の区間数３０４以下であるかどうかを調べる。区間数以下であればステップ１１１５に進む。そうでなければステップ１１２２に進む。ステップ１１２２ではカウンタｉの値を１増加し、ステップ１１０２に戻る。ステップ１１１５において、残っている区間を手話単語に対応する区間として登録する前に、残っている区間によって表される時間範囲と手話単語との時間範囲との重なりを調べ、重なりが閾値以上であれば、残っている区間を登録するようにしてもよい。
【００４９】
手話単語と区間との対応付けを行った後、各区間毎に対応する手話単語のリストを作成する。手話単語リストの作成は、同じ区間に対応する手話単語を検索することにより、容易に作成することができる。区間毎の手話単語リストのフォーマットを図１２に示す。図１２において１２０１は区間の開始時刻、１２０２は区間の終了時刻を表す。区間の開始時刻１２０１及び終了時刻１２０２は、図９に示した区間に関する情報中に記述される開始時刻９０１及び終了時刻９０２と同じである。１２０３はその区間に対応する手話単語の数である。手話単語名１２０４及び１２０８はその区間に対応する手話単語の名称、評価値１２０５及び１２０９はその区間に対応する手話単語の評価値である。手話単語名及び評価値は、手話単語の認識結果に含まれる手話単語名１００１及び評価値１００４を記述する。開始区間１２０６及び１２１０は手話単語が対応する最初の区間を表す番号、終了区間１２０７及び１２１１は手話単語が対応する最後の区間を表す番号である。区間の番号１２０６，１２０７，１２１０，１２１１は、手話単語に複数の区間が対応する場合に、後述の手話単語列生成において正しい候補を生成するために使用される。
【００５０】
手話単語リストを作成した後、区間に関する情報中の区間タイプ９０３及び主手９０４と、手話単語情報中の使用手３０３を比較することにより、手話単語リスト中の手話単語の優先順位を変更する。これは、使用する手３０３が区間タイプ９０３と同じ手話単語の優先順位を上げることにより行う。また、区間タイプ９０３が「両手」の場合、使用手３０３が主手９０４と同じである手話単語の優先順位も上げる。ただし、この場合、優先順位を上げる程度は、使用手３０３が同じである場合より小さいものとする。例えば、優先順位の変更方法として評価値に１より大きい定数を乗じることにより増加させる方法を用いる場合、区間タイプ９０３と使用手３０３が同じ場合に使用する定数をα、主手９０４と使用手３０３が同じ場合に使用する定数をβとして、α＞βとなる定数を設定する。優先順位を変更する方法としては、あらかじめ決められた定数を評価値に加算する方法でも良い。あるいは、区間タイプ９０３と使用手３０３が同じ手話単語は、それ以外の手話単語より無条件に優先し、その次に、主手９０４と使用手３０３が同じ手話単語を無条件に優先する、という方法を用いることもできる。また、手話単語情報及び区間タイプとして、使用する手の種類以外に、手の位置や手の方向、あるいは、両手を使用する場合であれば両手の位置関係等に関する情報が記述されている場合も同様の方法により、区間に対応する手話単語の優先順位を変更することができる。
【００５１】
各区間に対応する手話単語の優先順位を変更した後、各区間と手話単語の対応関係に基づいて手話単語列を生成する。手話単語列の生成では、各区間からそれに対応する手話単語を優先順位の高い順に選択し、それらを結合して手話単語列候補を生成する。その際、手話単語列候補全体の評価値を計算し、評価値の高い候補を結果として選択する。この際、複数の区間に対応する手話単語の場合、その手話単語の区間に重なった手話単語が結合されないようにする。このため、手話単語列の生成は図１３に示す流れ図に従って行う。
【００５２】
図１３において、ステップ１３０１では、手話単語列候補を格納する領域をクリアする。ステップ１３０２では、区間を示すカウンタｉを最初の区間を表す１に設定する。ステップ１３０３では、カウンタｉの値が手話文データから検出された区間数より大きいかどうかを調べ、小さいか等しければステップ１３０４に進む。大きければステップ１３０５に進む。ステップ１３０５では、手話単語列を格納する領域に格納されている手話単語列を結果として出力し、処理を終了する。ステップ１３０４では、カウンタｉの示す区間に対応付けられている手話単語を示すカウンタｊを最初の手話単語を表す１に設定する。ステップ１３０６では、カウンタｊの値がカウンタｉの示す区間に対応する手話単語数より大きいかどうかを調べ、大きければステップ１３０７に進む。そうでなければステップ１３１０に進む。
【００５３】
ステップ１３０７では、手話単語列の候補を評価値の高い順に並べ替える。手話単語列候補の評価値は、候補中に含まれる手話単語の評価値の平均により求めることができる。あるいは、手話単語の評価値の相乗平均を使用しても良い。あるいは、手話単語間の位置関係や文法的、意味的な関係に基づいた評価値等を使用することもできる。ステップ１３０８では、手話単語列候補中の同じ手話単語の列からなる候補を削除し、評価値の高い候補から順に、あらかじめ決められた個数の候補を選択し、それ以外の候補は削除する。ステップ１３０９では、カウンタｉの値を１増加し、ステップ１３０３に戻る。
【００５４】
ステップ１３１０では、カウンタｉが示す区間中のカウンタｊによって示される手話単語を選択する。ステップ１３１１では、既にある手話単語列候補を示すカウンタｋを最初の手話単語列候補を表す１に設定する。ステップ１３１２では、カウンタｋの値が既にある手話単語列候補数より大きいかどうかを調べ、大きければステップ１３１３に進む。小さいか等しければステップ１３１４に進む。ステップ１３１３ではカウンタｊの値を１増加し、ステップ１３０６に戻る。
【００５５】
ステップ１３１４では、カウンタｋが示す手話単語列候補中の最後の手話単語が対応する区間が、カウンタｊが示す手話単語が対応する区間と重なっているかどうかを調べる。ステップ１３１５では、重なりがある場合はステップ１３１６に進み、重なりがない場合はステップ１３１７に進む。ステップ１３１６では、カウンタｋが示す手話単語列候補中の手話単語の内、カウンタｊが示す手話単語が対応する区間と重なりがある手話単語を除いた後、カウンタｊが示す手話単語をカウンタｋが示す手話単語列候補に結合し、新たな手話単語列候補として格納する。ステップ１３１７では、カウンタｋが示す手話単語列候補にカウンタｊが示す手話単語を結合し、カウンタｋが示す手話単語列候補を更新する。ステップ１３１８では、カウンタｋを１増加し、ステップ１３１２に戻る。
【００５６】
ステップ１３１４において、カウンタｋが示す手話単語列候補中の最後の手話単語が対応する区間が、カウンタｊが示す手話単語が対応する区間と重なっているかどうかを調べる代わりに、カウンタｋが示す手話単語列候補中の最後の手話単語が対応する区間の時間範囲と、カウンタｊが示す手話単語の時間範囲との重なりを計算しても良い。この場合、ステップ１３１５において、重なりの大きさが閾値以上の場合、ステップ１３１６に進み、そうでない場合はステップ１３１７に進む。また、ステップ１３１６において、カウンタｊが示す手話単語の時間範囲とカウンタｋが示す手話単語列候補の時間範囲との重なりが閾値未満になるまで、カウンタｋが示す手話単語列候補中の手話単語を削除した後、その手話単語列候補にカウンタｊが示す手話単語を結合し、新たな候補として登録する。
【００５７】
【発明の効果】
本発明によると、両手における動作速度変化、左右それぞれの手における動作速度変化、及び動作方向変化に基づいて手話単語動作の境界を検出することにより、様々な形態で表現される手話単語を含む手話文データから、各手話単語を表す動作の境界を精度良く検出することができるようになる。
【００５８】
また、手話単語の動作の特徴に基づいて、分割された手話文データ中の各区間に認識された手話単語を対応付け、その結果に基づいて手話単語列を生成することにより、適切な手話単語列を生成することが可能となる。
さらに、各区間中における動作の特徴に基づいて、認識された手話単語の優先順位を変更することにより、手話単語列生成における精度を向上することが可能となる。
【図面の簡単な説明】
【図１】本発明による手話認識装置の概念ブロック図。
【図２】手話文データのフォーマットを示す図。
【図３】手話単語情報格納部に格納される情報のフォーマットを示す図。
【図４】手話文データにおける動作速度の変化と手話単語及び渡りとの関係の一例を説明する図。
【図５】各指の先端の位置を計算するために用いられる手のモデルの一例を示す図。
【図６】左右それぞれの手の動作速度から検出した境界を追加する処理の流れ図。
【図７】境界に関する情報のフォーマットを示す図。
【図８】手話文データを検出した境界により各区間に分割する処理の流れ図。
【図９】区間に関する情報のフォーマットを示す図。
【図１０】認識された手話単語に関する情報のフォーマットを示す図。
【図１１】手話文データを分割した各区間に認識された手話単語を対応づける処理の流れ図。
【図１２】各区間に対応する手話単語リストのフォーマットを示す図。
【図１３】手話単語列を生成する処理の流れ図。
【図１４】境界を削除する処理の説明図。
【符号の説明】
１０１…手話動作入力部、１０２…手袋型装置、１０３…手話単語認識部、１０４…手話データ分割部、１０５…動作特徴抽出部、１０６…手話単語情報格納部、１０７…分割区間手話単語対応部、１０８…手話単語列生成部、１０９…手話単語列
【図１】
0003623394.tif 000009
【図２】
0003623394.tif 000010
【図３】
0003623394.tif 000011
【図４】
0003623394.tif 000012
【図５】
0003623394.tif 000013
【図６】
0003623394.tif 000014
【図７】
0003623394.tif 000015
【図８】
0003623394.tif 000016
【図９】
0003623394.tif 000017
【図１０】
0003623394.tif 000018
【図１１】
0003623394.tif 000019
【図１２】
0003623394.tif 000020
【図１３】
0003623394.tif 000021
【図１４】
0003623394.tif 000022