(57)【特許請求の範囲】
【請求項１】
入力された複数の点字データを記憶するための点字記憶手段を備え、
各前記点字データは、対応する点字文字の点字マス内の行列状の点位置に配列される凸部の組み合わせを表現するものであり、
前記複数の点字データに基づいて、点字パターン候補を抽出するための候補抽出手段をさらに備え、
前記点字パターン候補は、前記複数の点字データにより表わされる入力点字文字列の凸部の少なくとも一部を、他の点位置に移動させることにより構成される点字文字列の凸部の組み合わせに対応し、
前記候補抽出手段により抽出された前記点字パターン候補に対応する候補点字データ列の翻訳結果が、予め記憶された辞書データと一致するか否かを検出することにより、前記点字パターン候補が誤りであるか否かを検出するための誤り検出手段と、
前記候補点字データ列のうち、翻訳結果が前記辞書データと一致する候補点字データ列を、前記複数の点字データに対する修正候補点字データ列として出力するための候補出力手段とをさらに備える、点字翻訳装置。
【請求項２】
前記誤り検出手段は、前記辞書データに基づいて、前記候補点字データ列を墨字データ列に翻訳するための翻訳手段を含み、
前記誤り検出手段は、前記候補点字データ列に、前記辞書データに存在しない１以上の点字データが検出された場合に、前記候補点字データ列は誤りであると判定する、請求項１に記載の点字翻訳装置。
【請求項３】
前記誤り検出手段は、前記辞書データに基づき、前記翻訳手段により翻訳された前記墨字データ列の正誤を判定するための正誤判定手段をさらに含み、
前記正誤判定手段は、前記墨字データ列に、前記辞書データに存在しない１以上の墨字データが検出された場合に、前記墨字データ列は誤りであると判定し、
前記誤り検出手段は、前記正誤判定手段により前記墨字データ列が誤りと判定された場合に、前記候補点字データ列は誤りであると判定する、請求項２に記載の点字翻訳装置。
【請求項４】
前記候補抽出手段は、
前記入力点字文字列の凸部のうち少なくとも１つの凸部を含む集合体であって、隣接する平坦部に一括して移動可能な集合体である孤立ブロックを検出するための孤立ブロック検出手段と、
前記孤立ブロック単位で、所定の点位置数分だけ凸部を移動させる移動手段とを含み、
前記移動手段により移動された後の点字文字列のパターンを、前記点字パターン候補として抽出する、請求項２または３に記載の点字翻訳装置。
【請求項５】
前記孤立ブロック検出手段は、前記入力点字文字列を構成する点字文字の前記点字マス内において、隣接する凸部の集合体であって、かつ、隣接する平坦部に一括して移動可能な凸部の集合体を、前記孤立ブロックとして検出する、請求項４に記載の点字翻訳装置。
【請求項６】
前記孤立ブロック検出手段は、前記入力点字文字列の凸部の組み合わせを１列毎に区切った場合、凸部が存在しない空列が存在するか否かを検出し、間に前記空列が存在しない１以上の列に含まれる凸部と平坦部との集合体を前記孤立ブロックとして抽出する、請求項４に記載の点字翻訳装置。
【請求項７】
前記孤立ブロック検出手段は、前記入力点字文字列の凸部の組み合わせを１行毎に区切った場合、凸部が存在しない空行が存在するか否かを検出し、間に前記空行が存在しない１以上の行に含まれる凸部と平坦部との集合体を前記孤立ブロックとして抽出する、請求項４に記載の点字翻訳装置。
【請求項８】
前記辞書データと一致する候補点字データ列を、前記修正候補点字データ列として記憶するための候補記憶手段をさら備え、
前記候補出力手段は、前記候補記憶手段に記憶された前記修正候補点字データ列を出力する、請求項２または３に記載の点字翻訳装置。
【請求項９】
前記辞書データと一致する候補点字データ列を、前記修正候補点字データ列として記憶するための候補記憶手段をさら備え、
前記候補出力手段は、前記候補記憶手段に記憶された前記修正候補点字データ列を出力し、
前記修正候補点字データ列の、前記複数の点字データ列に対する尤度指標を算出するための尤度算出手段をさらに備え、
前記尤度算出手段は、前記移動手段による前記孤立ブロックの移動方向、移動量および移動個数の少なくとも一つに基づいて、前記尤度指標を算出し、
前記候補出力手段は、前記修正候補点字データ列を前記尤度指標の高い順にソートして出力する、請求項４に記載の点字翻訳装置。
【請求項１０】
１以上の入力誤りパターンと、各前記入力誤りパターンに対する修正パターンと、各前記修正パターンの尤度指標データとを対応付けて管理するパターン管理手段と、
前記パターン管理手段にて管理されている情報の修正および／または新規追加を行なうパターン修正手段とをさらに備え、
前記パターン修正手段は、前記尤度算出手段にて算出された前記尤度指標が所定の閾値以上である場合、前記移動手段により前記孤立ブロックが移動された後の部分パターンを前記修正パターンに、前記移動手段による前記孤立ブロックの移動前の部分パターンを入力誤りパターンに、前記尤度指標を前記尤度指標データにそれぞれ設定して新規追加を行なう、請求項９に記載の点字翻訳装置。
【請求項１１】
１以上の入力誤りパターンと、各入力誤りパターンに対する修正パターンとを対応付けて管理するためのパターン管理手段をさらに備え、
各前記修正パターンは、対応する入力誤りパターンの凸部の位置を、所定の範囲内で他の点位置に移動させた凸部の組み合わせからなるパターンであり、
前記候補抽出手段は、
前記入力点字文字列を構成する部分パターンのうち、前記パターン管理手段に管理されている前記入力誤りパターンと一致する部分パターンを検索するための検索手段と、
検索された部分パターンを、対応する修正パターンに置き換えるための置き換え手段とを含み、
前記置き換え手段による置換後の点字文字列のパターンを、前記点字パターン候補として抽出する、請求項２または３に記載の点字翻訳装置。
【請求項１２】
前記パターン管理手段は、さらに、前記候補抽出手段により抽出された前記点字パターン候補の尤度指標データをさらに対応付けて管理する、請求項１１に記載の点字翻訳装置。
【請求項１３】
前記パターン管理手段にて管理されている前記尤度指標データに基づいて、前記修正候補点字データ列の尤度指標を算出する尤度算出手段をさらに備える、請求項１２に記載の点字翻訳装置。
【請求項１４】
前記候補出力手段は、前記修正候補点字データ列を、前記尤度算出手段にて算出された尤度指標が対応する尤度の高い順にソートして出力する、請求項１３に記載の点字翻訳装置。
【請求項１５】
前記パターン管理手段は、さらに、各前記修正パターンの尤度指標データを対応付けて管理し、
前記パターン管理手段にて管理されている情報の修正および／または新規追加を行なうパターン修正手段と、
ユーザからの指示に基づき、前記候補出力手段により出力された複数の前記修正候補点字データ列のうち１つを選択するための選択手段とをさらに備え、
前記パターン修正手段は、前記選択手段により選択された修正候補点字データ列に対応する前記修正パターンの前記尤度指標データの値を、所定の値または所定の割合高める、請求項１３に記載の点字翻訳装置。
【請求項１６】
前記候補抽出手段は、
前記検索手段により一致する部分パターンが検索されない場合に、孤立ブロックを検出するための孤立ブロック検出手段を含み、
前記孤立ブロックは、前記入力点字文字列の凸部のうち少なくとも１つの凸部を含む集合体であって、隣接する平坦部に一括して移動可能な凸部の集合体であり、
前記孤立ブロック単位で、他の点位置に、所定の点位置数分だけ凸部を移動させる移動手段をさらに含み、
前記移動手段により移動された後の点字文字列のパターンを、前記点字パターン候補としてさらに抽出する、請求項１２に記載の点字翻訳装置。
【請求項１７】
座標情報を入力するための座標入力手段と、
入力された座標情報を前記複数の点字データに変換するための変換手段とをさらに備える、請求項１に記載の点字翻訳装置。
【請求項１８】
外部より、前記複数の点字データの入力を受け付けるためのデータ入力手段をさらに備える、請求項１に記載の点字翻訳装置。
【請求項１９】
前記誤り検出手段は、さらに、前記複数の点字データの誤りを検出し、
前記候補抽出手段は、前記複数の点字データの誤りが検出された場合に、前記点字パターン候補を抽出する、請求項１に記載の点字翻訳装置。
【請求項２０】
点字翻訳装置が実行する点字翻訳方法であって、
正誤判定手段が、点字記憶手段に記憶された入力された複数の点字データの翻訳結果が、辞書記憶手段に記憶された予め記憶された辞書データと一致するか否かを検出するステップと、
前記複数の点字データの翻訳結果が前記辞書データと一致しない場合に、パターン検索手段が、前記複数の点字データに基づいて、点字パターン候補を抽出するステップと、
検出手段が、抽出された前記点字パターン候補に対応する候補点字データ列の翻訳結果が、前記辞書データと一致するか否かを検出するステップと、
候補抽出手段が、前記候補点字データ列の翻訳結果が前記辞書データと一致した場合に、前記候補点字データ列を、修正候補点字データ列として出力するステップとを備える、点字翻訳方法。
【請求項２１】
コンピュータを点字翻訳装置として機能させるためのプログラムであって、前記コンピュータを、
入力された複数の点字データの翻訳結果が、予め記憶された辞書データと一致するか否かを検出する正誤判断手段、
前記複数の点字データの翻訳結果が前記辞書データと一致しない場合に、前記複数の点字データに基づいて、点字パターン候補を抽出するパターン検索手段、
抽出された前記点字パターン候補に対応する候補点字データ列の翻訳結果が、前記辞書データと一致するか否かを検出する検出手段、および、
前記候補点字データ列の翻訳結果が前記辞書データと一致した場合に、前記候補点字データ列を、修正候補点字データ列として出力する候補抽出手段として機能させるための点字翻訳プログラム。
【請求項２２】
請求項２１に記載の点字翻訳プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点字翻訳装置、点字翻訳方法、点字翻訳プログラムおよびこれを記録したコンピュータ読取り可能な記録媒体に関し、特に、視覚障害者が情報を得るために用いられる点字の翻訳を行なうことのできる点字翻訳装置、点字翻訳方法、点字翻訳プログラムおよびこれを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【０００２】
点字は、健常者と視覚障害者との間のコミュニケーションを行なう上で、非常に重要な文字である。しかし、点字で表記するための文法は難しく、健常者にとっては理解しがたいものである。そこで、点字を墨字に翻訳する、または墨字を点字に翻訳して提示することができる装置が開発されている。
【０００３】
たとえば、特許文献１には、使用者が、翻訳したい点字の凸面の点と同一の相互位置関係にある配列を有した入力装置を用いて、点字データの入力を行ない、該当する墨字に翻訳して表示する装置が開示されている。この装置における入力装置としては、たとえば点字を構成する縦３行、横２列からなる最大６個のキーを有するテンキーが用いられ、使用者は、翻訳したい点字に対応する点を、テンキーから１点ずつキー入力する。
【特許文献１】特開平１１−３０５６５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された装置では、点字情報を入力する際、使用者は、点字の一文字を構成している縦３×横２の計６点のうち、どこに点が配置されているかを覚えて入力しなければならない。このため、使用者は、覚え違い等で点字情報を誤入力してしまう可能性がある。
【０００５】
しかしながら、特許文献１においては、誤入力をしてしまったとしても、使用者自身が翻訳結果を見て入力誤りを判断し、訂正を行う必要がある。
【０００６】
本発明は、上記のような問題を解決するためになされたものであって、その目的は、入力誤りを含む点字データ列を、容易に修正することができる点字翻訳装置、点字翻訳方法、点字翻訳プログラムおよびこれを記録したコンピュータ読取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に従う点字翻訳装置は、入力された複数の点字データを記憶するための点字記憶手段を備え、各点字データは、対応する点字文字の点字マス内の行列状の点位置に配列される凸部の組み合わせを表現するものであり、複数の点字データに基づいて、点字パターン候補を抽出するための候補抽出手段をさらに備え、点字パターン候補は、複数の点字データにより表わされる入力点字文字列の凸部の少なくとも一部を、他の点位置に移動させることにより構成される点字文字列の凸部の組み合わせに対応し、候補抽出手段により抽出された点字パターン候補に対応する候補点字データ列の翻訳結果が、予め記憶された辞書データと一致するか否かを検出することにより、点字パターン候補が誤りであるか否かを検出するための誤り検出手段と、候補点字データ列のうち、翻訳結果が辞書データと一致する候補点字データ列を、複数の点字データに対する修正候補点字データ列として出力するための候補出力手段とをさらに備える。
【０００８】
好ましくは、誤り検出手段は、辞書データに基づいて、候補点字データ列を墨字データ列に翻訳するための翻訳手段を含み、誤り検出手段は、候補点字データ列に、辞書データに存在しない１以上の点字データが検出された場合に、候補点字データ列は誤りであると判定する。
【０００９】
好ましくは、誤り検出手段は、辞書データに基づき、翻訳手段により翻訳された墨字データ列の正誤を判定するための正誤判定手段をさらに含み、正誤判定手段は、墨字データ列に、辞書データに存在しない１以上の墨字データが検出された場合に、墨字データ列は誤りであると判定し、誤り検出手段は、正誤判定手段により墨字データ列が誤りと判定された場合に、候補点字データ列は誤りであると判定する。
【００１０】
好ましくは、候補抽出手段は、入力点字文字列の凸部のうち少なくとも１つの凸部を含む集合体であって、隣接する平坦部に一括して移動可能な凸部の集合体である孤立ブロックを検出するための孤立ブロック検出手段と、孤立ブロック単位で、所定の点位置数分だけ凸部を移動させる移動手段とを含み、移動手段により移動された後の点字文字列のパターンを、点字パターン候補として抽出する。
【００１１】
好ましくは、孤立ブロック検出手段は、入力点字文字列を構成する点字文字の点字マス内において、隣接する凸部の集合体であって、かつ、隣接する平坦部に一括して移動可能な凸部の集合体を、孤立ブロックとして検出する。
【００１２】
好ましくは、孤立ブロック検出手段は、入力点字文字列の凸部の組み合わせを１列毎に区切った場合、凸部が存在しない空列が存在するか否かを検出し、間に空列が存在しない１以上の列に含まれる凸部と平坦部との集合体を孤立ブロックとして抽出する。
【００１３】
好ましくは、孤立ブロック検出手段は、入力点字文字列の凸部の組み合わせを１行毎に区切った場合、凸部が存在しない空行が存在するか否かを検出し、間に空行が存在しない１以上の行に含まれる凸部と平坦部との集合体を孤立ブロックとして抽出する。
【００１４】
好ましくは、辞書データと一致する候補点字データ列を、修正候補点字データ列として記憶するための候補記憶手段をさら備え、候補出力手段は、候補記憶手段に記憶された修正候補点字データ列を出力する。
【００１５】
好ましくは、辞書データと一致する候補点字データ列を、修正候補点字データ列として記憶するための候補記憶手段をさら備え、候補出力手段は、候補記憶手段に記憶された修正候補点字データ列を出力し、修正候補点字データ列の、複数の点字データ列に対する尤度指標を算出するための尤度算出手段をさらに備え、尤度算出手段は、移動手段による孤立ブロックの移動方向、移動量および移動個数の少なくとも一つに基づいて、尤度指標を算出し、候補出力手段は、修正候補点字データ列を尤度指標の高い順にソートして出力する。
【００１６】
好ましくは、１以上の入力誤りパターンと、各入力誤りパターンに対する修正パターンと、各修正パターンの尤度指標データとを対応付けて管理するパターン管理手段と、パターン管理手段にて管理されている情報の修正および／または新規追加を行なうパターン修正手段とをさらに備え、パターン修正手段は、尤度算出手段にて算出された尤度指標が所定の閾値以上である場合、移動手段により孤立ブロックが移動された後の部分パターンを修正パターンに、移動手段による孤立ブロックの移動前の部分パターンを入力誤りパターンに、尤度指標を尤度指標データにそれぞれ設定して新規追加を行なう。
【００１７】
好ましくは、１以上の入力誤りパターンと、各入力誤りパターンに対する修正パターンとを対応付けて管理するためのパターン管理手段をさらに備え、各修正パターンは、対応する入力誤りパターンの凸部の位置を、所定の範囲内で他の点位置に移動させた凸部の組み合わせからなるパターンであり、候補抽出手段は、入力点字文字列を構成する部分パターンのうち、パターン管理手段に管理されている入力誤りパターンと一致する部分パターンを検索するための検索手段と、検索された部分パターンを、対応する修正パターンに置き換えるための置き換え手段とを含み、置き換え手段による置換後の点字文字列のパターンを、点字パターン候補として抽出する。
【００１８】
好ましくは、パターン管理手段は、さらに、候補抽出手段により抽出された点字パターン候補の尤度指標データをさらに対応付けて管理する。
【００１９】
好ましくは、パターン管理手段にて管理されている尤度指標データに基づいて、修正候補点字データ列の尤度指標を算出する尤度算出手段をさらに備える。
【００２０】
好ましくは、候補出力手段は、修正候補点字データ列を、尤度算出手段にて算出された尤度指標が対応する尤度の高い順にソートして出力する。
【００２１】
好ましくは、パターン管理手段は、さらに、各修正パターンの尤度指標データを対応付けて管理し、パターン管理手段にて管理されている情報の修正および／または新規追加を行なうパターン修正手段と、ユーザからの指示に基づき、候補出力手段により出力された複数の修正候補点字データ列のうち１つを選択するための選択手段とをさらに備え、パターン修正手段は、選択手段により選択された修正候補点字データ列に対応する修正パターンの尤度指標データの値を、所定の値または所定の割合だけ高める。
【００２２】
好ましくは、候補抽出手段は、検索手段により一致する部分パターンが検索されない場合に、孤立ブロックを検出するための孤立ブロック検出手段を含み、孤立ブロックは、入力点字文字列の凸部のうち少なくとも１つの凸部を含む集合体であって、隣接する平坦部に一括して移動可能な集合体であり、孤立ブロック単位で、他の点位置に、所定の点位置数分だけ凸部を移動させる移動手段をさらに含み、移動手段により移動された後の点字文字列のパターンを、点字パターン候補としてさらに抽出する。
【００２３】
好ましくは、座標情報を入力するための座標入力手段と、入力された座標情報を複数の点字データに変換するための変換手段とをさらに備える。
【００２４】
好ましくは、外部より、複数の点字データの入力を受け付けるためのデータ入力手段をさらに備える。
【００２５】
好ましくは、誤り検出手段は、さらに、複数の点字データの誤りを検出し、候補抽出手段は、複数の点字データの誤りが検出された場合に、点字パターン候補を抽出する。
【００２６】
この発明の他の局面に従う点字翻訳方法は、点字翻訳装置が実行する点字翻訳方法であって、正誤判定手段が、点字記憶手段に記憶された入力された複数の点字データの翻訳結果が、辞書記憶手段に記憶された予め記憶された辞書データと一致するか否かを検出するステップと、複数の点字データの翻訳結果が辞書データと一致しない場合に、パターン検索手段が、複数の点字データに基づいて、点字パターン候補を抽出するステップと、検出手段が、抽出された点字パターン候補に対応する候補点字データ列の翻訳結果が、辞書データと一致するか否かを検出するステップと、候補抽出手段が、候補点字データ列の翻訳結果が辞書データと一致した場合に、候補点字データ列を、修正候補点字データ列として出力するステップとを備える。
【００２７】
この発明の他の局面に従う点字翻訳プログラムは、コンピュータを点字翻訳装置として機能させるためのプログラムであって、コンピュータを、入力された複数の点字データの翻訳結果が、予め記憶された辞書データと一致するか否かを検出する正誤判断手段、複数の点字データの翻訳結果が辞書データと一致しない場合に、複数の点字データに基づいて、点字パターン候補を抽出するパターン検索手段、抽出された点字パターン候補に対応する候補点字データ列の翻訳結果が、辞書データと一致するか否かを検出する検出手段、および、候補点字データ列の翻訳結果が辞書データと一致した場合に、候補点字データ列を、修正候補点字データ列として出力する候補抽出手段として機能させるための点字翻訳プログラムである。
【００２８】
この発明の他の局面に従う点字翻訳プログラムを記録したコンピュータ読み取り可能な記録媒体は、上記の点字翻訳プログラムを記録する。
【発明の効果】
【００２９】
本発明によると、入力された複数の点字データに基づいて点字パターン候補を抽出することにより、入力された複数の点字データに対する修正候補点字データ列を出力することができる。これにより、ユーザは、複数の点字データを入力し直さなくても、容易に正解の点字データ列を把握することができる。
【発明を実施するための最良の形態】
【００３０】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００３１】
＜構成について＞
はじめに、図１〜図６を用いて、本発明の実施の形態に係る点字翻訳装置の構成について説明する。
【００３２】
図１は、本発明の実施の形態に係る点字翻訳装置１００の機能ブロック図である。
図１に示すように、点字翻訳装置１００は、座標情報入力部１０１および表示部１１１を備えている。さらに、点字翻訳装置１００は、点字データ変換部１０２、点字データ記憶部１０３、誤り検出部１０４、候補抽出部１０５、修正候補記憶部１０６、点字修正候補出力処理部１０７、尤度算出部１０８、パターン修正部１０９、パターン管理部１１０、点字−墨字対応辞書記憶部１１２および単語辞書記憶部１１３を備えている。
【００３３】
本発明の実施の形態において、「点字」とは、１以上の点字文字により構成される点字文字列であり、「点字文字」とは、点字マス内の行列状の点位置に配列される凸部の組み合わせからなる視覚障害者用の文字である。「墨字」とは、健常者に通常に用いられる１字からなる文字であり、たとえば仮名、漢字、アルファベット、数字などをいう。「単語」とは、１以上の墨字からなる墨字文字列であり、たとえば単語、文節など言葉のまとまりをいう。
【００３４】
ここでまず、点字文字の具体例について説明する。
図４は、点字文字を表現するために用いられる点字マスの構成を示す図である。点字マス３０は、縦３点×横２点の計６点に対応する６つの点位置３１〜３６により構成される。点字マス３０の左列の最上段の点位置３１の点は“１の点”、左列の中段の点位置３２の点は“２の点”、左列の最下段の点位置３３の点は“３の点”、右列の最上段の点位置３４の点は“４の点”、右列の中段の点位置３５の点は“５の点”、そして右列の最下段の点位置３６の点は“６の点”とそれぞれ呼ばれる。
【００３５】
点字文字は、このような６つの点位置３１〜３６に配置される凸部の組み合わせで表現される。そのため、点字文字は６３通りの凸部の組み合わせを表現することができる。しかし、６３通りの表現では、仮名文字、アルファベット、数字および記号などの全ての墨字を表現することができない。そこで、アルファベットまたは数字を表現する場合は、所定の前置点を付けることで、アルファベット体系または数字体系を区別する。
【００３６】
たとえば、点位置３１に凸部が配置された点字文字は、墨字「あ」を示し、点位置３１および点位置３２に凸部が配置された点字文字は、墨字「い」を示す。また、アルファベットの小文字を示す場合は、点位置３５および点位置３６に凸部が配置された点字文字（以降、「外国語符」と称する）の後に、点位置３１に凸部が配置された点字文字を続けることで、墨字「ａ」を示す。また、アルファベットの大文字を示す場合は、外国語符の後に点位置３６に凸部が配置された点字文字（以降、「大文字符」と称する）をつけ、さらに点位置３１に凸部が配置された点字文字を続けることで、墨字「Ａ」を示す。さらに、数字を示す場合は、点位置３３、点位置３４、点位置３５および点位置３６に凸部が配置された点字文字（以降、「数符」と称する）の後に、点位置３１に凸部が配置された点字文字を続けることで、墨字「１」を示す。このように、複数の点字文字を組み合わせることで、１つの墨字を表現することができる。
【００３７】
図１を参照して、点字−墨字対応辞書記憶部１１２には、予め、複数の点字データすなわち点字データ列を１以上の墨字データすなわち墨字データ列に変換（翻訳）する際の変換規則となるたとえば変換テーブルが格納される。「点字データ」とは、本実施の形態において、対応する点字文字における凸部の組み合わせを表現するためのデータをいう。変換テーブルには、たとえば、１つの墨字データと１以上の点字データとが対応付けられて記憶される。
【００３８】
単語辞書記憶部１１３には、予め、複数の単語データが辞書として記憶される。単語辞書記憶部１１３に記憶される単語データ（以下「単語辞書データ」という）は、予め点字翻訳装置１００が保持しているものであっても構わないし、適宜ユーザにより登録されるものであっても構わない。
【００３９】
座標情報入力部１０１は、座標情報を入力するためのインターフェースであり、たとえば電子ペン２１１（図２参照）やユーザの指等から、点字の凸部を指定（選択）するための情報として座標情報の入力を受け付ける。
【００４０】
点字データ変換部１０２は、座標情報入力部１０１が受け付けた座標情報を、１以上の点字データに変換する。たとえば、１つの点字マス３０の点位置３１、３２および３６に座標情報の入力が検知された場合、点字データ変換部１０２は、その座標情報を点字データ「１１０００１」に変換する。
【００４１】
点字データ記憶部１０３は、点字データ変換部１０２により変換された点字データ列１０を記憶する。
【００４２】
誤り検出部１０４は、点字データ列１０の中に誤りが含まれるか否かを検出する。また、誤り検出部１０４は、後述の候補抽出部１０５により抽出された点字パターン候補に対応する点字データ列の中に誤りが含まれるか否かを検出する。誤り検出部１０４は、点字データ列を墨字データ列に翻訳するための点字翻訳部１０４１と、点字翻訳部１０４１により翻訳された墨字データ列の正誤を判定するための墨字正誤判定部１０４２とを含む。
【００４３】
点字翻訳部１０４１は、点字−墨字対応辞書記憶部１１２に格納された変換テーブルに基づいて、翻訳元の点字データ列を墨字データ列に翻訳する。
【００４４】
墨字正誤判定部１０４２は、点字翻訳部１０４１により翻訳された墨字データ列が正しいか否か、つまり、単語または文として意味が通じるものであるか否かを判定する。たとえば、墨字正誤判定部１０４２は、墨字データ列に対して形態素解析を行なう。そして、形態素解析を行なった後の個々の単語データと、単語辞書記憶部１１３に記憶された複数の単語辞書データとを比較して、各単語データと一致する単語辞書データが存在するか否かを判定する。全ての単語データが単語辞書データと一致すれば、墨字正誤判定部１０４２は、点字翻訳部１０４１により翻訳された墨字データ列は正しいと判定する。一方、単語辞書データと一致しない単語データが１つでも存在すれば、墨字正誤判定部１０４２は、点字翻訳部１０４１により翻訳された墨字データ列は誤りと判定する。
【００４５】
誤り検出部１０４は、点字翻訳部１０４１が墨字データに翻訳することができない点字データが存在する場合に、対象となる点字データ列は誤りであると判定する。つまり、対象の点字データ列に、墨字データと対応付けられていない１以上の点字データが検出された場合に、当該点字データ列は誤りであると判定される。また、誤り検出部１０４は、点字翻訳部１０４１により対象の点字データ列が墨字データ列に翻訳された場合であっても、墨字正誤判定部１０４２により当該墨字データ列が誤りであると判定された場合には、対象の点字データ列は誤りであると判定する。
【００４６】
なお、誤り検出部１０４は、点字翻訳部１０４１が墨字データに翻訳することができない点字データが存在する場合にのみ、対象となる点字データ列は誤りであると判定することとしてもよい。
【００４７】
また、誤り検出部１０４により点字データ列１０に誤りが検出されなかった場合には、点字翻訳部１０４１により翻訳された墨字データ列が表示部１１１に表示されてもよい。
【００４８】
パターン管理部１１０は、入力誤りを起こしそうな点字文字の入力パターンを入力誤りパターンとし、当該入力誤りパターンに対する修正パターンをそれぞれ対応付けて管理している。図５（ａ）および（ｂ）は、それぞれ、パターン管理部１１０のデータ構造の例を示す第１および第２の図である。
【００４９】
図５（ａ）を参照して、パターン管理部１１０は、パターン管理テーブルにおいて、１以上の入力誤りパターン８０１と、各入力誤りパターン８０１に対する修正パターン８０２とをそれぞれ対応付けて管理している。たとえば、組８０３には、点字データ“０１１０００”で表わされる点字文字のパターンが入力誤りパターン８０１として格納され、点字データ“００００１１”で表わされる点字文字のパターンが修正パターン８０２として格納されている。また、組８０４には、点字データ“１００１１０”で表わされる点字文字のパターンが入力誤りパターン８０１として格納され、点字データ“０１００１１”で表わされる点字文字のパターンが修正パターン８０２として格納されている。なお、本実施の形態では、このようにテーブル形式によりパターンの組が格納されるものとするが、テーブル形式に限定されるものではない。また、各パターンの組は、予め登録されているものであってもよいし、ユーザにより登録されてもよい。また、後述するように、パターンの組が、自動的に新規登録がされてもよい。
【００５０】
また、図５（ｂ）に示すように、入力誤りパターン８０１および修正パターン８０２に加え、尤度指標データ８０５がさらに各パターンの組に対応付けて管理されてもよい。尤度指標データ８０５は、入力誤りパターン８０１を修正パターン８０２に置き換えることで生成される新たな点字データ列の、点字データ列１０に対する尤もらしさを相対的に表わす指標である。
【００５１】
図５（ｂ）を参照して、パターン管理テーブルのたとえば組８０３´では、点字データ“０１１０００”で表わされる点字文字のパターンを、点字データ“００００１１”で表わされる点字文字のパターンに置き換えることによる尤度指標データ８０５は、“１００”であることが示される。なお、ここでは、尤度指標データ８０５を“０〜１００”の数値としたが、これに限られず、たとえば、百分率の数値としてもよい。この尤度指標データ８０５は、たとえば、後述する修正候補記憶部１０６に複数の修正候補点字データ列が登録された場合に、点字修正候補出力処理部１０７が、これらの修正候補点字データ列の出力順序を決定する際の指標として使用される。以下の説明においては、パターン管理部１１０は、図５（ｂ）のようなデータ構造であるものとする。
【００５２】
なお、図５（ａ）および（ｂ）においては、入力誤りパターン８０１および修正パターン８０２は、各々１つの点字文字に対応するパターンであることとしたが、このような例に限られない。各パターンの組が同じ数の点字文字に対応していればよく、２以上の点字文字に対応するパターンの組が管理されてもよい。
【００５３】
候補抽出部１０５は、点字データ列１０に基づいて、点字パターン候補を抽出する。「点字パターン候補」とは、点字データ列１０により表わされる点字文字列（以下「入力点字」という）の凸部の少なくとも一部を、他の点位置に移動させることにより構成される点字の凸部の組み合わせに対応する点字のパターンである。
【００５４】
候補抽出部１０５は、孤立ブロック検出部１０５１と、孤立ブロック移動部１０５２と、パターン検索・置換部１０５３とを含む。
【００５５】
孤立ブロック検出部１０５１は、入力点字の凸部を１または複数のグループに分割して、孤立ブロックを検出する。「孤立ブロック」とは、入力点字の凸部のうち少なくとも１つの凸部を含む集合体であって、隣接する平坦部に一括して移動可能な集合体をいう。なお、「集合体」とは、凸部を少なくとも１つ含む凸部の集合体、または、凸部を少なくとも１つ含む凸部と平坦部（凸部の存在しない点位置の点）との集合体であるものとする。また、「移動可能」とは、孤立ブロックの上下左右の少なくとも一方に平坦部が存在し、孤立ブロックごと所定の点位置数分だけずらしても、他の凸部が影響を受けない（他の凸部に重ならない）ことをいう。
【００５６】
孤立ブロック移動部１０５２は、検出された孤立ブロック単位で、たとえば、上下左右の少なくとも１方向につき、所定の点位置数分移動させる。
【００５７】
候補抽出部１０５は、孤立ブロック移動部１０５２による移動後の点字のパターンを、点字パターン候補として抽出する。
【００５８】
パターン検索・置換部１０５３は、入力点字を構成する凸部の組み合わせのパターン（以下「入力点字パターン」という）に、パターン管理部１１０に記憶された入力誤りパターン８０１と一致する部分パターンが存在するかを検索する。そして、一致する部分パターンが検索された場合、当該部分パターン（入力誤りパターン８０１）を、対応する修正パターン８０２に置き換える。なお、「部分パターン」とは、入力点字パターンに含まれる点字文字または点字文字列のパターンをいうものとする。
【００５９】
候補抽出部１０５は、パターン検索・置換部１０５３により置き換えられた修正パターンを含む点字のパターンを、点字パターン候補として抽出する。
【００６０】
修正候補記憶部１０６は、誤り検出部１０４により誤りが検出されなかった点字パターン候補に対応する点字データ列を、修正候補点字データ列として記憶する。
【００６１】
点字修正候補出力処理部１０７は、修正候補記憶部１０６に記憶された修正候補点字データ列を表示部１１１に出力する。本実施の形態においては、修正候補点字データ列が表わす点字（点字文字列）の凸部の組み合わせのパターン（以下「候補パターン」ともいう）が表示部１１１に表示される。また、点字修正候補出力処理部１０７は、候補パターンと併せて、対応する墨字データ列を表示することとしてもよい。
【００６２】
尤度算出部１０８は、修正候補記憶部１０６に記憶された修正候補点字データ列それぞれの、点字データ列１０に対する尤度指標を算出する。「尤度指標」とは、修正候補点字データ列の、点字データ列１０に対する尤もらしさを相対的に表わす量である。尤度指標算出方法としては、パターン管理部１１０にて管理されている尤度指標データ８０５に基づいて算出するものであっても構わない。また、修正候補点字データ列が孤立ブロック移動部１０５２により孤立ブロックを移動させて作成されたものである場合、たとえば、当該孤立ブロックの移動方向、移動量および移動個数の少なくとも１つの移動情報に基づいて、尤度指標を算出するものであっても構わない。たとえば、孤立ブロックを１回移動させることによって作成された修正候補点字データ列の尤度指標は、孤立ブロックを２回移動させることによって作成された修正候補点字データ列の尤度指標よりも高い値が算出されるように予め定められる。また、移動した孤立ブロックに含まれる凸部の個数により尤度指標を算出することとしてもかまわない。
【００６３】
なお、算出された尤度指標は、点字修正候補出力処理部１０７が修正候補点字データ列を表示部１１１に表示する際に使用される。そのために、たとえば、修正候補記憶部１０６に、修正候補点字データ列と、尤度指標算出のためのデータとを対応付けて記憶させておく。図６に、修正候補記憶部１０６のデータ構造例を示す。
【００６４】
図６を参照して、本実施の形態では、修正候補記憶部１０６において、修正候補点字データ列３０１と尤度指標データ３０２または移動量３０３とが対応付けられて記憶される。尤度指標データ３０２は、パターン管理部１１０に記憶された尤度指標データ８０５に対応する。移動量３０３は、孤立ブロックの移動回数に対応する。尤度算出部１０８は、尤度指標データ３０２に基づいて、または、移動量３０３に基づいて尤度指標を算出する。移動量３０３に基づく尤度指標は、たとえば次のような計算式で算出されてもよい。
【００６５】
尤度＝（１／移動量）×１００
点字修正候補出力処理部１０７は、算出された尤度指標に基づいて、たとえば全ての修正候補点字データ列を尤度指標の高い順に並び替えて出力する。なお、最も尤度指標の高い修正候補点字データ列を１つ出力するものであっても構わないし、尤度指標の上位所定数（たとえば３つ）の修正候補点字データ列を出力するものであってもよい。また、これらの出力方法をユーザが選択できることにしてもよい。たとえば、出力方法を選択するためのメニューを設けて、予めユーザに設定・変更させてもよいし、出力の際に、出力方法ごとの選択ボタンを表示部１１１の所定の領域に表示していずれか１つを選択させてもよい。本実施の形態では、出力方法がユーザにより予め設定されているものとして説明する。
【００６６】
パターン修正部１０９は、パターン管理部１１０にて管理されているパターン管理テーブルの情報を適宜修正（更新）する。パターン管理テーブルの情報の修正タイミングとしては、たとえば、次のようなタイミングとすることができる。たとえば、表示部１１１に候補パターンを表示する場合に、表示部１１１の所定の領域に、提示（表示）した修正候補点字データ列のいずれが正解の点字データ列であるか（あるいは、提示した修正候補点字データ列が正解であるか否か）を選択するためのボタンを表示すると想定する。ユーザが正解の修正候補点字データ列を選択した場合に、当該修正候補点字データ列を作成するに至った入力誤りパターンと修正パターンと算出された尤度指標とからなるレコードを、パターン管理テーブルに新規に追加する。すなわち、孤立ブロックを移動させることにより生成された修正候補点字データ列の場合、移動対象となった凸部を含む点字マスにおける移動前の点字データ列１０に対応する点字（点字文字）パターンと移動後の修正候補点字データ列に対応する点字（点字文字）パターンとをそれぞれ入力誤りパターン８０１と修正パターン８０２とに設定する。そして、算出された尤度指標を尤度指標データ８０５に設定する。また、尤度算出部１０８により算出された尤度指標が、所定の閾値（たとえば７５）以上の場合に、対象の修正候補点字データ列を作成するに至った入力誤りパターンと修正パターンと算出された尤度指標とからなるレコードを、パターン管理テーブルに新規に追加してもよい。
【００６７】
また、正解の修正候補点字データ列が既存のパターンの組を使用して生成された場合には、当該組の修正パターン８０２の尤度指標データ８０５を所定値あるいは所定割合高めるように修正してもよい。これにより、当該組を使用して修正された修正候補点字データ列に対する尤度指標が今後高くなるため、複数の修正候補点字データ列が存在する場合は、当該組を使用して修正された修正候補点字データ列が上位に位置することになる。したがって、ユーザは容易に正解の点字データ列を選ぶことができる。
【００６８】
図２は、本発明の実施の形態に係る点字翻訳装置１００のハードウェア構成を示すブロック図である。
【００６９】
図２を参照して、点字翻訳装置１００は、各種演算および制御を行なうためのＣＰＵ（Central Processing Unit）２０１、たとえばブートアッププログラム等のプログラムおよび各種データを記憶するためのＲＯＭ（Read Only Memory）２０２、作業データ等を記憶するＲＡＭ（Random Access Memory）２０３、上記した座標情報入力部１０１および表示部１１１、ユーザにより操作されてユーザからの指示の入力を受け付けるための操作部２０４、記録媒体２１０からのデータの読み出しが可能なドライブ装置２０６およびハードディスク２０７を備える。これらのハードウェアは、バス２０８と接続される。
【００７０】
なお、点字翻訳装置１００は、さらに、ローカルエリアネットワーク（ＬＡＮ）への接続を提供するネットワークアダプタボードを備えてもよい。
【００７１】
座標情報入力部１０１は、たとえば電子ペン２１１からの入力を受け付ける。
記録媒体２１０には、図１に示した点字翻訳装置１００の機能を実現させるためのプログラム（点字翻訳プログラム）が格納され、さらにハードディスク２０７に転送される。なお、ＲＯＭ２０２に予めこのような点字翻訳プログラムが格納されていてもよい。又は、点字翻訳プログラムは、外部より図示しないネットワークを通じて点字翻訳装置１００に送信されて、ハードディスク２０７に記憶されてもよい。点字翻訳プログラムは、実行の際にＲＡＭ２０９にロードされる。なお、記録媒体２１０から、又はネットワークを介して、直接にＲＡＭ２０９に点字翻訳プログラムがロードされてもよい。また、ハードディスク２０７に代えて、たとえばフラッシュメモリに点字翻訳プログラムが転送されてもよい。
【００７２】
記録媒体２１０は、ＣＤ−ＲＯＭ（Compact Disc-ROM）、ＭＯ（Magneto-Optical disc）、ＭＤ（Mini Disc）、及びＤＶＤ（Digital Versatile Disc）等の光ディスクであってもよいし、ＦＤ（フレキシブルディスク）及びハードディスク等の磁気ディスクであってもよい。あるいは、磁気テープ及びカセットテープ等のテープ媒体、ＩＣ（Integrated Circuit）カード及び光カード等のカード型記録媒体、並びにマスクＲＯＭ、ＥＰＲＯＭ（Erasable Programable ROM）、ＥＥＰＲＯＭ（Electrically Erasable Programable ROM）、及びフラッシュＲＯＭ等の半導体メモリのいずれかでもよい。
【００７３】
上記した点字データ変換部１０２、誤り検出部１０４、候補抽出部１０５、点字修正候補出力処理部１０７、尤度算出部１０８、パターン修正部１０９、および、誤り検出部１０４ならびに候補抽出部１０５に含まれる各部の機能は、ＣＰＵ２０１により実現される。なお、これらのうち少なくとも１つは、ハードウェアにより実現されてもよい。
【００７４】
また、点字データ記憶部１０３および修正候補記憶部１０６は、それぞれたとえばＲＡＭ２０３に含まれる記憶領域である。また、点字−墨字対応辞書記憶部１１２、単語辞書記憶部１１３およびパターン管理部１１０は、それぞれたとえばハードディスク２０７に含まれる記憶領域である。なお、点字−墨字対応辞書記憶部１１２、単語辞書記憶部１１３およびパターン管理部１１０内のデータは、予めハードディスク２０７に内蔵されていてもよいし、たとえば記録媒体２１０から読み出されて格納されてもよい。
【００７５】
図３に、本発明の実施の形態に係る点字翻訳装置１００の概観図を示す。図３を参照して、点字翻訳装置１００の表面には、電源の投入状態を変更するために操作される電源ボタン２０４．１と、各種メニューを表示するためのメニューボタン２０４．２と、１つ前の候補パターンを表示するための前候補選択ボタン２０４．３と、次の候補パターンを表示するための次候補選択ボタン２０４．４と、表示中の候補パターンが正解である場合に操作される正解ボタン２０４．５とを含む操作部２０４、および、表示部１１１が設けられる。本実施の形態において、座標情報入力部１０１は、表示部１１１と一体に設けられ、たとえばタッチパネルを構成する。これにより、入力した座標情報が入力した場所に表示されるために、確認が容易であり、入力ミスを防止することができる。
【００７６】
座標情報入力部１０１には、点字マス３０がたとえば８つ設けられる。本実施の形態では、座標情報入力部１０１の位置に相当する表示領域に、候補パターンが表示される。
【００７７】
また、表示部１１１には、点字マス３０を１つずつ進めるための送りボタン５２と、１つずつ戻るための戻りボタン５１と、翻訳開始の指示を入力するための翻訳ボタン５３とが表示される。さらに、表示部１１１には、翻訳結果を表示するための墨字表示エリア４０が設けられる。
【００７８】
＜動作について＞
次に、図７〜図１６を用いて、本発明の実施の形態における点字翻訳装置１００の動作について説明する。
【００７９】
（主要動作の概要）
図７は、本発明の実施の形態の点字翻訳装置１００におけるＣＰＵ２０１が実行するメインルーチンを示すフローチャートである。
【００８０】
図７を参照して、電源ボタン２０４．１が押下されて電源が投入されると、点字翻訳プログラムが起動し、ステップＳ２へ進む。
【００８１】
ステップＳ２において、ＣＰＵ２０１は、座標情報入力部１０１に対する座標情報の入力を受け付ける。この際、ＣＰＵ２０１は、受け付けた座標情報により、それぞれの点字マス３０のいずれの点位置３１〜３６が指定されたかを判定する。そして、指定されたと判定した点位置の情報をＲＡＭ２０３に一時的に記録する。たとえば、ＲＡＭ２０３の所定の領域に、点字マス３０ごとに、点位置３１〜３６のそれぞれに対応してフラグ情報を格納するためのフラグ情報記憶領域を設け、選択されたと判定された点位置に対応する記憶領域にフラグ“１”をセットする。
【００８２】
次に、ＣＰＵ２０１は、表示部１１１に表示した翻訳ボタン５３が選択されたか否かを判定する（ステップＳ４）。翻訳ボタン５３が選択されるまで、座標情報の入力を受け付ける（ステップＳ４でＮＯ）。
【００８３】
翻訳ボタン５３が選択されると（ステップＳ４でＹＥＳ）、点字データ変換部１０２は、入力された座標情報を１以上の点字データ（点字データ列１０）に変換し、点字データ記憶部１０３に記憶する（ステップＳ６）。たとえば、点字データ変換部１０２は、点字マス３０ごとにＲＡＭ２０３に記録されたフラグ情報を点位置３１，３２，３３，３４，３５，３６の順に読み出すことにより、点字データ列１０に変換する。
【００８４】
次に、点字翻訳部１０４１はステップＳ６において点字データ記憶部１０３に記憶された点字データ列１０を、点字−墨字対応辞書記憶部１１２に記憶された変換テーブルに基づいて、墨字データ列に翻訳する（ステップＳ８）。そして、誤り検出部１０４は、ステップＳ８での翻訳結果にエラーが含まれるか否かをチェックする。エラーが含まれる場合、すなわち、点字翻訳部１０４１が点字データ列１０を墨字データまたは墨字データ列に翻訳することができない場合は（ステップＳ１０でＹＥＳ）ステップＳ１４へ進む。これに対し、エラーがない場合、すなわち点字データ列１０を墨字データまたは墨字データ列に翻訳することができた場合には（ステップＳ１０でＮＯ）ステップＳ１２へ進む。
【００８５】
ステップＳ１２では、墨字正誤判定部１０４２が、翻訳された墨字データ列は単語として、または文としておかしくないか、すなわち意味が通じるのか否かをチェックする。具体的には、墨字正誤判定部１０４２は、上記したように、墨字データ列に対して形態素解析を行ない、個々の単語データが、単語辞書記憶部１１３に記憶された単語辞書データと一致するか否かを判定する。そして、翻訳された墨字データ列が単語として、または文としておかしいと判定された場合すなわち、単語辞書データのいずれとも一致しない単語データが存在した場合（ステップＳ１２でＹＥＳ）、ステップＳ１４に進む。一方、翻訳された墨字データ列が単語として、または文としておかしくないと判定された場合すなわち、全ての単語データが単語辞書データと一致した場合（ステップＳ１２でＮＯ）、一連の処理は終了される。
【００８６】
ステップＳ１４では、修正候補抽出処理が実行される。そして、修正候補出力処理が実行され（ステップＳ１６）、一連の処理は終了される。修正候補抽出処理（ステップＳ１４）および修正候補出力処理（ステップＳ１６）については、後に詳細に説明する。
【００８７】
（修正候補抽出処理）
図８は、修正候補抽出処理を示すフローチャートである。
【００８８】
はじめに、パターン検索・置換部１０５３は、入力点字パターンに、パターン管理部１１０において管理されている誤りパターン８０１と同一の部分パターンが存在するか否かを検索する（ステップＳ１０２）。入力点字パターンに誤りパターンがあると判定された場合（ステップＳ１０２でＹＥＳ）、ステップＳ１０４に進む。一方、入力点字パターンに誤りパターンがないと判定された場合（ステップＳ１０２でＮＯ）、ステップＳ１１０に進む。
【００８９】
ステップＳ１０４において、パターン検索・置換部１０５３は、入力点字パターンに含まれる入力誤りパターンを、対応する修正パターンに置換える。このようにして点字パターン候補が抽出される。
【００９０】
次に、抽出された点字パターンの点字文字列に対応する新たな点字データ列に対し、誤り検出処理が実行される（ステップＳ１０６）。この誤り検出処理については後述する。
【００９１】
次に、パターン検索・置換部１０５３は、入力点字パターンに、他に誤りパターンが存在するか否かを検索する（ステップＳ１０８）。他に誤りパターンがあると判定された場合（ステップＳ１０８においてＹＥＳ）、ステップＳ１０４に戻る。一方、他に誤りパターンがないと判定された場合（ステップＳ１０８においてＮＯ）、ステップＳ１１０に進む。
【００９２】
ステップＳ１１０では、孤立ブロック検出部１０５１は、入力点字パターンに対し、後述する点字マス内孤立ブロック検出処理を実行する。次に、孤立ブロック移動部１０５２は、１つの孤立ブロックを上下左右のいずれか一方向に移動させる（ステップＳ１１２）。たとえば、翻訳結果にエラーが含まれていた場合、エラーの点字文字の点字マス内で孤立ブロックを移動させる。また、墨字データ列に誤りの単語データが検出された場合、当該単語データが表わす点字文字列（または点字文字）の点字マス内で孤立ブロックを移動させる。
【００９３】
そして、孤立ブロック移動後に抽出される点字パターンの点字文字列に対応する新たな点字データ列に対し、誤り検出処理が実行される（ステップＳ１１４）。
【００９４】
次に、孤立ブロック移動部１０５２は、孤立ブロックの移動を行なうか否かを判定する（ステップＳ１１６）。孤立ブロックの移動を行なうか否かは、たとえば、ステップＳ１１２において未だ移動させていない方向に移動可能か否かにより判定される。なお、ここでは、一方向に対して、１つの点位置分のみ移動可能であるものとするが、一方向に対して、２つの点位置分以上移動させることとしてもかまわない。以下に説明するステップＳ１２４およびステップＳ１３２においても同様とする。
【００９５】
孤立ブロック移動部１０５２は、孤立ブロックの移動を行なうと判断した場合（ステップＳ１１６でＹＥＳ）、ステップＳ１１２に戻る。一方、孤立ブロックの移動を行なわないと判定した場合（ステップＳ１１６においてＮＯ）、ステップＳ１１８に進む。なお、ステップＳ１１２における上下左右の移動順序としては、予め優先順位が定められていてもよいし、その都度ランダムに決定されてもよい。以下に説明するステップＳ１２０およびステップＳ１２８においても同様とする。
【００９６】
ステップＳ１１８では、孤立ブロック検出部１０５１は、後述する行孤立ブロック検出処理を実行する。次に、孤立ブロック移動部１０５２は、１つの孤立ブロックを、上下左右のいずれか一方向に移動する（ステップＳ１２０）。たとえば、翻訳結果にエラーが含まれていた場合、ステップＳ１１８で検出された孤立ブロックごと移動させる。また、墨字データ列に誤りの単語データが検出された場合も同様に、ステップＳ１１８で検出された孤立ブロックごと移動させる。なお、後者の場合、ステップＳ１１８で検出された孤立ブロックのうち、誤りが検出された単語データが表わす点字（または点字文字）に対応する点字マスの範囲内に存在する部分のみを移動させてもよい。
【００９７】
そして、孤立ブロック移動後に抽出される点字パターンの点字文字列に対応する新たな点字データ列に対し、誤り検出処理が実行される（ステップＳ１２２）。次に、孤立ブロック移動部１０５２は、孤立ブロックの移動を行なうか否かを判定する（ステップＳ１２４）。孤立ブロックの移動を行なうと判定した場合（ステップＳ１２４においてＹＥＳ）、ステップＳ１２０に戻る。一方、孤立ブロックの移動を行なわないと判定した場合（ステップＳ１２４においてＮＯ）、ステップＳ１２６に進む。
【００９８】
ステップＳ１２６において、孤立ブロック検出部１０５１は、後述する列孤立ブロック検出処理を実行する。次に、孤立ブロック移動部１０５２は、孤立ブロックを、上下左右のいずれか一方向に移動する（ステップＳ１２８）。たとえば、翻訳結果にエラーが含まれていた場合、エラーの点字文字の凸部を含む孤立ブロックを移動させる。また、墨字データ列に誤りの単語データが検出された場合、当該単語データが表わす点字文字列（または点字文字）の凸部を含む孤立ブロックを移動させる。
【００９９】
そして、孤立ブロック移動後に抽出される点字パターンの点字文字列に対応する新たな点字データ列に対し、誤り検出処理が実行される（ステップＳ１３０）。そして、孤立ブロック移動部１０５２は、孤立ブロックの移動を行なうか否かを判定する（ステップＳ１３２）。孤立ブロックの移動を行なうと判定した場合（ステップＳ１３２においてＹＥＳ）、ステップＳ１２８に戻る。これに対し、孤立ブロックの移動を行なわないと判定した場合（ステップＳ１３２においてＮＯ）、処理は、メインルーチンに戻される。
【０１００】
なお、本実施の形態においては、このように、点字パターン検索・置換処理（ステップＳ１０２〜Ｓ１０８）の後に、孤立ブロック検出・移動処理（ステップＳ１１０〜Ｓ１３２）を行なうこととしたが、これらを逆に行なってもよい。また、これらの処理の両方を行なうこととしたが、いずれか一方を行なうこととしてもかまわない。この場合、予め、いずれか１つの処理のみが実行されることが定められていてもよいし、たとえばメニューボタン２０４．２を操作させることで、ユーザにいずれか１つを選択させてもよい。
【０１０１】
また、孤立ブロック検出・移動処理において、点字マス内、行および列の３種類の孤立ブロック検出・移動処理を一連に行なうこととしたが、いずれか１種類あるいは２種類の孤立ブロック検出・移動処理を行なうこととしてもよい。この場合、いずれの種類の孤立ブロック検出・移動処理を行なうかを、ユーザに選択させてもよい。また、３種類の孤立ブロック検出・移動処理の順序は、図８に示した順序に限られない。
【０１０２】
また、パターン置換および孤立ブロック移動の度に、生成された新たな点字データ列の誤り検出を行なうこととしたが、毎回誤り検出を行なうものでなくてもよい。たとえば、新たな点字データ列を一旦全て修正候補記憶部１０６に記憶させてから、一括して誤り検出を行ない、誤りが検出された新たな点字データ列を修正候補記憶部１０６から削除することとしてもよい。
【０１０３】
（誤り検出処理）
図９は、誤り検出処理の流れを示すフローチャートである。
【０１０４】
はじめに、点字翻訳部１０４１は、点字−墨字対応辞書記憶部１１２に記憶された変換テーブルに基づいて、新たな点字データ列の墨字データ列への翻訳を行なう（ステップＳ２０２）。ここでの新たな点字データ列とは、点字データ列１０に基づいたパターン置換後（ステップＳ１０４）の点字データ列、および、点字データ列１０に基づいた孤立ブロック移動後（ステップＳ１１２，Ｓ１２０，Ｓ１２８）の点字データ列である。
【０１０５】
次に、点字翻訳部１０４１は、翻訳結果にエラーが含まれるか否かを判定する（ステップＳ２０４）。翻訳結果にエラーが含まれないと判定された場合（ステップＳ２０４においてＮＯ）、ステップＳ２０６に進む。一方、翻訳結果にエラーが含まれると判定された場合（ステップＳ２０４においてＹＥＳ）、ステップＳ２１０に進む。
【０１０６】
ステップＳ２０６において、墨字正誤判定部１０４２は、ステップＳ２０２で翻訳された墨字データ列は単語または文章としておかしいか否かを判定する。翻訳された墨字データ列は単語または文章としておかしいと判定された場合（ステップＳ２０６においてＹＥＳ）、ステップＳ２１０に進む。一方、翻訳された墨字データ列が単語または文章としておかしくないと判定された場合（ステップＳ２０６においてＮＯ）、ステップＳ２０８に進む。なお、ステップＳ２０４およびＳ２０６は、それぞれ上述のステップＳ１０およびＳ１２と同様であるので、ここでの詳細な説明は繰り返さない。
【０１０７】
ステップＳ２０８において、候補抽出部１０５は、ステップＳ２０２で翻訳を行なった点字データ列を、修正候補点字データ列として修正候補記憶部１０６に登録する。ステップＳ２０８の処理が終わると、誤り検出処理は終了される。
【０１０８】
一方ステップＳ２１０では、ステップＳ２０２で翻訳を行なった点字データ列は、修正候補点字データ列として登録されずに破棄されて、誤り検出処理は終了される。
【０１０９】
（点字マス内孤立ブロック検出処理）
図１０は、点字マス内孤立ブロック検出処理の流れを示すフローチャートである。
【０１１０】
はじめに、孤立ブロック検出部１０５１は、孤立ブロック検出処理をしていない点字マスがあるか否かを判定する（ステップＳ３０２）。未処理の点字マスがあると判定された場合（ステップ３０２でＹＥＳ）、ステップＳ３０４に進む。一方、すべての点字マスに対し孤立ブロック検出処理を行なったと判定された場合（ステップＳ３０２でＮＯ）、点字マス内孤立ブロック検出処理は終了される。
【０１１１】
ステップＳ３０４において、孤立ブロック検出部１０５１は、孤立ブロック検出処理をしていないと判定された点字マス内において、孤立ブロック候補に属していない凸部があるか否かを判定する。孤立ブロック候補に属していない凸部があると判定された場合（ステップＳ３０４においてＹＥＳ）、ステップＳ３０６に進む。これに対し、孤立ブロック候補に属していない凸部がないと判定された場合（ステップＳ３０４においてＮＯ）当該点字マス内に対する孤立ブロック検出処理は終了され、ステップＳ３０２に戻る。
【０１１２】
ステップＳ３０６において、孤立ブロックに属していないいずれか１つの凸部を、新規の孤立ブロック候補とする。次に、追加した凸部の点位置に隣接する点位置に、孤立ブロック候補に属していない凸部があるか否かが判定される（ステップＳ３０８）。孤立ブロック候補に属していない凸部があると判定された場合（ステップＳ３０８においてＹＥＳ）、隣接する点位置に存在する凸部をすべて孤立ブロック候補に追加する（ステップＳ３１０）。ステップＳ３１０の処理が終わると、ステップＳ３０８に戻る。
【０１１３】
ステップＳ３０８において、追加した凸部の点位置に隣接する点位置に、孤立ブロック候補に属していない凸部がないと判定された場合（ステップＳ３０８においてＮＯ）、ステップＳ３１２に進む。
【０１１４】
ステップＳ３１２において、孤立ブロック検出部１０５１は、現在の孤立ブロック候補は、対象の点字マス内において、上下左右のいずれか一方向に移動できるか否かを判定する。上下左右のいずれか一方向に移動できると判定された場合（ステップＳ３１２においてＹＥＳ）、当該孤立ブロック候補を、孤立ブロックとして確定する（ステップＳ３１４）。ステップＳ３１４の処理が終了すると、ステップＳ３０４に戻る。
【０１１５】
一方、現在の孤立ブロック候補が対象の点字マス内において上下左右のいずれか一方向に移動できないと判定された場合（ステップＳ３１２においてＮＯ）、当該孤立ブロック候補は、孤立ブロックとして見なされずに（ステップＳ３１６）ステップＳ３０４に戻る。
【０１１６】
図１１（ａ）〜（ｃ）は、点字マス内孤立ブロック検出処理を説明するための図である。点字データ記憶部１０３に記憶された点字データ列１０が、図１１（ａ）に示すような、点字（点字文字列）６２０を表わすものである場合について説明する。
【０１１７】
図１１（ａ）を参照して、点字６２０は、５つの点字文字６２１〜６２５により構成される。なお、これらの点字文字６２１〜６２５に対応する点字データは、それぞれ、「００００１０」、「１０１１０１」、「００１０１１」、「１１０１１１」、「１０００１１」である。
【０１１８】
図１１（ｂ）は、点字文字６２２について、点字マス３０内において孤立ブロックを検出する場合の様子を示す図である。以下、図１０のフローチャートおよび図４を参照しながら具体的に説明する。
【０１１９】
ステップＳ３０６において、孤立ブロック検出部１０５１は、点位置３１の凸部を、新規の孤立ブロック候補６２６とし、当該凸部を、孤立ブロック候補６２６に追加する。次に、孤立ブロック候補６２６に追加した凸部の点位置３１に隣接する点位置３２，３４，３５のうち、孤立ブロック候補６２６に属していない点位置３４の凸部を孤立ブロック候補６２６に追加する（ステップＳ３０８およびステップＳ３１０）。
【０１２０】
次に、孤立ブロック候補６２６に新規に追加した凸部の点位置３４に隣接する点位置３１，３２，３５のうち、孤立ブロック候補６２６に属していない凸部があるか否かを調べる（ステップＳ３０８）。ここでは、存在しないため、ステップＳ３１２へ進む。ステップＳ３１２では、孤立ブロック候補６２６は下に移動することができるため、ステップＳ３１４へ進み、孤立ブロック候補６２６は孤立ブロック６３０としてみなされる。このようにして、点位置３１および点位置３４の凸部の集合体である孤立ブロック６３０が検出される。
【０１２１】
さらに、ステップＳ３０４において、孤立ブロック検出部１０５１は点位置３３の凸部を新規の孤立ブロック候補６２７として、当該凸部を孤立ブロック候補６２７に追加する。次に、孤立ブロック候補６２７に追加した凸部の点位置３３に隣接する点位置３２，３５，３６のうち、孤立ブロック候補に属していない点位置３６の凸部を孤立ブロック候補６２７に追加する（ステップＳ３０８およびステップＳ３１０）。
【０１２２】
次に、孤立ブロック候補６２７に新規に追加した凸部の点位置３６に隣接する点位置３２，３３，３５のうち、孤立ブロック候補に属していない凸部があるか否かを調べる。ここでは、存在しないため、ステップＳ３１２へ進む。ステップＳ３１２では、孤立ブロック候補６２７は上に移動することができるため、ステップＳ３１４へ進み、孤立ブロック候補６２７は孤立ブロック６３１としてみなされる。このようにして、点位置３３および点位置３６の凸部の集合体である孤立ブロック６３１が検出される。
【０１２３】
同様にして、図１１（ａ）に示す点字文字列６２０を構成する５つの点字文字６２１〜６２５の点字マス全てに対しても同様の処理を行った結果を図１１（ｃ）に示す。
【０１２４】
図１１（ｃ）を参照して、点字文字６２１の点字マス内では、点位置３５の凸部からなる孤立ブロック６３２が検出される。点字文字６２３の点字マス内では、点位置３３，３５，３６の凸部の集合体である孤立ブロック６３３が検出される。一方、点字文字６２４および点字文字６２５の点字マス内では孤立ブロックは検出されない。点字文字６２４の点字マス内では、点位置３１，３２，３４，３５，３６の５つの凸部の集合体で孤立ブロック候補が構成されるが、点字マス内において上下左右の何れにも移動させることができないためである。同様に、点字文字６２５の点字マス内では、点位置３１，３５，３６の３つの凸部の集合体で孤立ブロック候補が構成されるが、点字マス内において上下左右の何れにも移動させることができないためである。
【０１２５】
（行孤立ブロック検出処理）
図１２は、行孤立ブロック検出処理を示すフローチャートである。
【０１２６】
はじめに、孤立ブロック検出部１０５１は、入力点字パターン全体を行ごとに分割し、１行目、２行目、３行目を抽出する（ステップＳ４０２）。次に、孤立ブロック検出部１０５１は、空行がいくつあるかを判定する（ステップＳ４０６）。空行が１つであると判定された場合、ステップＳ４０８に進む。空行が２つであると判定された場合ステップＳ４１６に進む。空行がないと判定された場合ステップＳ４２４に進む。
【０１２７】
ステップＳ４０８において、孤立ブロック検出部１０５１は、どの行が空行であるか否かを判定する。１行目が空行であると判定された場合、２行目と３行目とで孤立ブロックを構成する（ステップＳ４１０）。すなわち、２行目と３行目とに含まれる凸部と平坦部との集合体が、１つの孤立ブロックとして検出される。空行が２行目であると判定された場合、１行目および３行目のそれぞれにおいて孤立ブロックを構成する（ステップＳ４１２）。すなわち、１行目に含まれる凸部と平坦部との集合体と３行目に含まれる凸部と平坦部との集合体とが、それぞれ１つの孤立ブロックとして検出される。空行が３行目であると判定された場合、１行目と２行目とで孤立ブロックを構成する（ステップＳ４１４）。すなわち、１行目と２行目とに含まれる凸部と平坦部との集合体が、１つの孤立ブロックとして検出される。
【０１２８】
ステップＳ４１６において、どの行とどの行が空行であるか否かが判定される。空行が１行目および２行目であると判定された場合、孤立ブロック検出部１０５１は、３行目だけで孤立ブロックを構成する（ステップＳ４１８）。すなわち、３行目に含まれる凸部と平坦部との集合体が、１つの孤立ブロックとして検出される。空行が２行目と３行目であると判定された場合、１行目だけで孤立ブロックを構成する（ステップＳ４２０）。すなわち、１行目に含まれる凸部と平坦部との集合体が、１つの孤立ブロックとして検出される。空行が１行目と３行目であると判定された場合、２行目だけで孤立ブロックを構成する（ステップＳ４２２）。すなわち、２行目に含まれる凸部と平坦部との集合体が、１つの孤立ブロックとして検出される。
【０１２９】
上記したステップＳ４１０，４１２，４１４，４１８，４２０，４２２の処理が終了すると、この行孤立ブロック検出処理は終了される。また、ステップＳ４２４においては、孤立ブロックを構成せずに、行孤立ブロック検出処理を終了する。
【０１３０】
図１３（ａ）〜（ｃ）は、行孤立ブロック検出処理を説明するための図である。点字データ記憶部１０３に記憶された点字データ列１０が、図１３（ａ）に示すような、点字（点字文字列）６４０を表わすものである場合について説明する。
【０１３１】
図１３（ａ）を参照して、点字６４０は、３つの点字文字６４１〜６４３により構成される。なお、これらの点字文字６４１〜６４３に対応する点字データは、それぞれ、「００１１００」、「１０１０００」、「１００１０１」である。
【０１３２】
図１３（ｂ）には、点字６４０のパターン全体が行ごとに分割されることで、３つの行６４４、６４５および６４６が抽出された様子が示される（ステップＳ４０２）。この場合、２行目の行６４５は凸部が全く存在しない空行であるため、１行目の行６４４で孤立ブロック６４７が構成され、３行目の行６４６で孤立ブロック６４８が構成される（ステップＳ４１２）。その結果を図１３（ｃ）に示す。
【０１３３】
（列孤立ブロック検出処理）
図１４は、列孤立ブロック検出処理を示すフローチャートである。
【０１３４】
はじめに、孤立ブロック検出部１０５１は、入力点字パターン全体を列ごとに分割して、複数の列を抽出する（ステップＳ５０２）。ここでは、点字マス１つにつき列が２つ存在するため、入力点字パターンを構成する点字マスの数の２倍の数の列が抽出される。次に、１つも凸部の存在しない空列のみを抽出する（ステップＳ５０４）。そして、孤立ブロック検出部１０５１は、空列で区切ることで孤立ブロックを検出する（ステップＳ５０６）。つまり、間に空列の存在しない１以上の列に含まれる凸部と平坦部との集合体を、孤立ブロックとして検出する。ステップＳ５０６の処理が終わると列孤立ブロック検出処理は終了される。
【０１３５】
図１５（ａ）〜（ｃ）は、列孤立ブロック検出処理を説明するための図である。点字データ記憶部１０３に記憶された点字データ列１０が、図１５（ａ）に示すような、点字（点字文字列）６６０を表わすものである場合について説明する。
【０１３６】
図１５（ａ）を参照して、点字６６０は、６つの点字文字６６１〜６６６により構成される。なお、これらの点字文字６６１〜６６６に対応する点字データは、それぞれ、「１１１０００」、「００１０１１」、「００００１０」、「１１００００」、「０１１００１」、「０１１０００」である。
【０１３７】
図１５（ｂ）には、点字６６０のパターン全体が列ごとに分割されることで、１２個の列６６７〜６７８が抽出される様子が示される（ステップＳ５０２）。ここで、１つも凸部を含まない空列を抽出すると、列６６８、６７１、６７４及び６７８が抽出される（ステップＳ５０４）。孤立ブロック検出部１０５１は間に空列を含まない１以上の列で孤立ブロックを構成するため、列６６７だけで孤立ブロック６８０が構成され、空列である列６６８と列６７１とに挟まれる列６６９から列６７０で孤立ブロック６８１が構成される。また、空列である列６７１と列６７４とに挟まれる列６７２から列６７３で孤立ブロック６８２が構成され、空列である列６７４と列６７８とに挟まれる列６７５から列６７７で孤立ブロック６８３が構成される。その結果を図１５（ｃ）に示す。
【０１３８】
（修正候補出力処理）
図１６は、修正候補出力処理を示すフローチャートである。
【０１３９】
はじめに、尤度算出部１０８は、修正候補記憶部１０６に記憶された各修正候補点字データ列の尤度指標を算出する（ステップＳ６０２）。図６を参照して、修正候補点字データ列８０１に尤度指標データ８０２が対応付けられている場合、尤度指標データ８０２そのものが尤度指標として算出される。また、修正候補点字データ列８０１に移動量８０３が対応付けられている場合、尤度指標は、上記したような計算式を用いて算出される。
【０１４０】
次に、点字修正候補出力処理部１０７は、尤度指標の高い順に、修正候補記憶部１０６に記憶された修正候補点字データ列をソートする（ステップＳ６０４）。そして点字修正候補出力処理部１０７は、ユーザにより予め設定された出力方法を判定する（ステップＳ６０６）。
【０１４１】
出力方法が１つであると判定された場合、尤度指標の最も高い修正候補点字データ列を出力する（ステップＳ６０８）。出力方法が上位Ｎ個と判定された場合、上位Ｎ個の修正候補点字データ列を出力する（ステップＳ６１０）。出力方法がすべてであると判定された場合、すべての修正候補点字データ列を尤度指標の高い順に出力する（ステップＳ６１２）。
【０１４２】
ステップＳ６０８、６１０および６１２の処理が終了すると、修正候補点字データ出力処理は終了される。
【０１４３】
＜具体例について＞
次に、図１７〜図２３を用いて、本発明の実施の形態における点字翻訳装置１００の動作の具体例について説明する。
【０１４４】
（パターン検索・置換処理の具体例）
まず、パターン検索・置換処理（図８のステップＳ１０２〜Ｓ１０８）に基づき抽出される修正候補点字データ列の具体例について説明する。
【０１４５】
図１７は、パターン検索・置換処理の具体例を説明するための図である。図１７（ａ）に示すように、点字データ記憶部１０３に記憶された点字データ列１０が点字８２０を表わすものであるとする。
【０１４６】
図１７（ａ）を参照して、点字８２０は、６つの点字文字８２１〜８２６により構成される。なお、これらの点字文字８２１〜８２６に対応する点字データは、それぞれ、「０１１０００」、「１０００００」、「１１１１００」、「１１１１００」、「１１１０００」、「１０００１０」である。
【０１４７】
この場合、点字翻訳部１０４１が墨字データ列に翻訳すると、図１７（ａ）に示すように「（エラー）あねねにら」となる。誤り検出部１０４は、エラーとなった１番目の点字文字８２１のパターンが入力誤りであると判定する。したがって、パターン検索・置換部１０５３は、１番目の点字文字８２１のパターンが入力誤りパターン８０１であるものをパターン管理部１１０から検索し、それに対応付けて管理されている修正パターン８０２を抽出する。
【０１４８】
ステップＳ１０２において、パターン検索・置換部１０５３は、１番目の点字文字８２１と同じパターンの入力誤りパターン８０１をパターン管理部１１０から検索する。この場合、図５（ｂ）に示した組８０３´の入力誤りパターン８０１と一致しているので、ステップＳ１０４において、組８０３´の修正パターン８０２を抽出し、点字文字８２１のパターンを抽出した修正パターン８０２に置き換える。置き換えることで新たに作成された点字８２０´のパターンを図１７（ｂ）に示す。
【０１４９】
図１７（ｂ）を参照して、点字８２０´の１番目の点字文字８２１´は、点字データ「００００１１」で表わされる。このような点字８２０´を表わす新たな点字データ列を墨字データ列に翻訳すると、「ａｐｐｌｅ」となる。墨字データ列「ａｐｐｌｅ」は、単語として成立しているため（単語辞書データと一致するため）、この墨字データ列は正しいと判定される。
【０１５０】
したがって、点字８２０´を表わす新たな点字データ列は、修正候補点字データ列として修正候補記憶部１０６に登録される。これにより、登録された修正候補点字データ列は、ユーザに提示されることになる。なお、この際、組８０３´の尤度指標データ８０５である数値（１００）も修正候補点字データ列と対応付けて記憶される。
【０１５１】
このように、点字データ列１０が入力誤りを含む場合であっても、入力誤りパターン８０１と修正パターン８０２とを対応付けて管理しているパターン管理部１１０を検索し、入力誤りパターンを修正パターン８０２に置き換えることで、修正候補点字データ列を出力することができる。これにより、ユーザは間違った点位置に座標情報を入力した場合であっても、正解の点字データ列を容易に得ることができる。
【０１５２】
（行単位での孤立ブロック移動処理の具体例）
図１８（ａ）〜（ｅ）は、本発明の実施の形態における行孤立ブロック移動処理の具体例を説明するための図である。点字データ記憶部１０３に記憶された点字データ列１０が、図１８（ａ）に示すような、点字（点字文字列）７２０を表わすものである場合について説明する。
【０１５３】
図１８（ａ）を参照して、点字７２０は、３つの点字文字により構成される。なお、これらの点字文字に対応する点字データは、それぞれ、「０１００１０」、「００１００１」、「０１００１１」である。墨字表示エリア４０には、点字７２０を表わす点字データ列の翻訳結果「ー（エラー）。」が表示される。翻訳結果にはエラーが含まれるため、誤り検出部１０４は、点字７２０を表わす点字データ列１０には入力誤りが含まれると判定する。そして、候補抽出部１０５は点字パターン候補の抽出処理を開始する。
【０１５４】
図１８（ｂ）〜図１８（ｅ）には、行単位で孤立ブロックの検出・移動を行ない、修正候補点字データ列（の点字パターンの）を表示するまでの手順が示される。
【０１５５】
孤立ブロック検出部１０５１は、１行目のみが空行であるため、２行目と３行目とに含まれる凸部と平坦部とを孤立ブロック７２１として検出する（ステップＳ４１０）。図１８（ｂ）に検出された孤立ブロック７２１の様子を示す。
【０１５６】
孤立ブロック７２１は、２行目と３行目とに含まれる凸部と平坦部との集合体であるため、これ以上、下には移動することができない。さらに、右に移動させる場合と左に移動させる場合ではここでは同じである。そこで、この例では、上及び右の２方向のうちの何れか一方向に移動させるものとする。
【０１５７】
孤立ブロック移動部１０５２は、はじめにたとえば孤立ブロック７２１を上方向に移動させる（ステップＳ１２０）。移動後の孤立ブロック７２１の様子を図１８（ｃ）に示す。図１８（ｃ）に示すように、新たに作成された点字データ列を翻訳すると、「うーる」という翻訳結果となる。
【０１５８】
新しく生成された点字データ列は、「うーる」という墨字データ列に翻訳されたため、当該点字データ列には誤りが含まれないと判断される（ステップＳ２０４でＮＯ，ステップＳ２０６でＮＯ）。よって、新しく生成された図１８（ｃ）に示す点字パターンの点字データ列は修正候補点字データ列として修正候補記憶部１０６に登録される（ステップＳ２０８）。なお、この際、修正候補点字データ列と対応付けて、移動量“１”も併せて登録される。
【０１５９】
次に、孤立ブロック移動部１０５２は、孤立ブロック７２１を右方向に移動させる（ステップＳ１２０）。移動後の孤立ブロック７２１の様子を図１８（ｄ）に示す。図１８（ｄ）に示すように、新たに作成された点字データ列を翻訳すると、「（エラー）（エラー）を（エラー）」となる。
【０１６０】
新しく生成された点字データ列を翻訳した結果にはエラーが含まれるため（ステップＳ２０４でＹＥＳ）、当該点字データ列には入力誤りが含まれると判断される。よって、新しく生成された図１８（ｄ）に示す点字パターンの点字データ列は修正候補点字データ列として登録せずに、破棄される（ステップＳ２１０）。
【０１６１】
このように、図１８（ｂ）に示す孤立ブロック７２１を上下左右の何れか一方向にのみ移動させることにより作成された新たな点字データ列のうちでは、上方向に移動させることにより作成された点字データ列のみが修正候補点字データ列として登録される。したがって、点字修正候補出力処理部１０７は当該修正候補点字データ列が示す点字パターンを表示部１１１に出力する。
【０１６２】
図１８（ｅ）を参照して、修正候補点字データ列が示す点字パターンは、たとえば、座標情報入力部１０１と一体的に設けられる表示領域に表示される。また、図１８（ｅ）に示すように、その点字データ列を墨字データ列に翻訳した結果を墨字表示エリア４０に併せて出力するものであっても構わない。また、元の誤りを含む点字データ列１０と、新たに作成された点字データ列との違いを表示してもよい。たとえば図１８（ｅ）に示されるように、「上に移動しました」というメッセージ７２２を表示して、孤立ブロック７２１を上方向に移動させたことを表示してもよい。また、このような形態に限られず、移動方向を示す矢印などの記号を表示してもよい。これにより、ユーザはどのように入力を誤ったのかを容易に把握することができる。
【０１６３】
なお、上記のように、本実施の形態では、上下左右の何れか一方向にのみ孤立ブロックを移動させることとしたが、二方向に移動させるものであってもよい。
【０１６４】
図１９（ａ）〜（ｅ）は、行孤立ブロック移動処理の他の例を説明するための図である。点字データ記憶部１０３に記憶された点字データ列１０が、図１９（ａ）に示すような、点字（点字文字列）７３０を表わすものである場合について説明する。
【０１６５】
図１９（ａ）を参照して、点字７３０は、４つの点字文字により構成される。なお、これらの点字文字に対応する点字データは、それぞれ、「０００００１」、「０１００１１」、「００００１０」、「０１１０００」である。墨字表示エリア４０には、点字７３０を表わす点字データ列の翻訳結果「（エラー）（エラー）（エラー）（エラー）」が表示される。翻訳結果にはエラーが含まれるため、誤り検出部１０４は、点字７３０を表わす点字データ列１０には入力誤りが含まれると判定する。
【０１６６】
図１９（ｂ）〜図１９（ｅ）にも、行単位で孤立ブロックの検出・移動を行ない、修正候補点字データ列（の点字パターン）を表示するまでの手順が示される。
【０１６７】
図１９（ｂ）を参照して、孤立ブロック検出部１０５１は、１行目のみが空行であるため、２行目と３行目とに含まれる凸部と平坦部とを孤立ブロック７３１として検出する（ステップＳ４１０）。
【０１６８】
図１９（ｂ）を参照して、孤立ブロック７３１は、２行目と３行目とに含まれる凸部と平坦部との集合体であるため、これ以上、下には移動することができない。さらに、右に移動させる場合と左に移動させる場合ではここでは同じである。そこで、この例では、上方向に移動させ、次に左方向に移動させるものとする。
【０１６９】
はじめに、孤立ブロック移動部１０５２は孤立ブロック７３１を上方向に移動させる（ステップＳ１２０）。移動後の孤立ブロック７３１の様子を図１９（ｃ）に示す。図１９（ｃ）に示すように、新たに作成された点字データ列を翻訳すると、「（エラー）る（エラー）い」という翻訳結果となる。
【０１７０】
新しく生成された点字データ列を翻訳した結果にはエラーが含まれるため（ステップＳ２０４でＹＥＳ）、当該点字データ列には入力誤りが含まれると判断される。よって、新しく生成された図１９（ｃ）に示す点字データ列は修正候補点字データとして登録せずに、破棄される（ステップＳ２１０）。
【０１７１】
この例では、孤立ブロック７３１を二方向に移動させることで、点字パターン候補を抽出するため、再び処理をステップＳ１２０に戻す。
【０１７２】
ステップＳ１２０において、孤立ブロック移動部１０５２は図１９（ｃ）に示す状態からさらに孤立ブロック７３１を左に移動させる。移動後の孤立ブロック７３１の様子を図１９（ｄ）に示す。図１９（ｄ）に示すように、新たに作成された点字データ列を翻訳すると、「おいる」という墨字データ列を得ることができる。
【０１７３】
新しく生成された点字データ列は、「おいる」という墨字データ列に翻訳されたため、当該点字データ列には誤りが含まれないと判断される（ステップＳ２０４でＮＯ，ステップＳ２０６でＮＯ）。よって、図１９（ｄ）に示す新たな点字データ列は修正候補点字データ列として登録される（ステップＳ２０８）。
【０１７４】
以上より、点字データ７３０から構成された孤立ブロック７３１を上下左右の何れか二方向に移動させることにより抽出された点字パターン候補のうち、上方向に移動しさらに左方向に移動させることにより抽出された点字パターン候補に対応する点字データ列のみが修正候補点字データ列として登録される。これにより、点字修正候補出力処理部１０７は、当該修正候補点字データ列が示す点字パターンを表示部１１１に出力する。
【０１７５】
図１９（ｅ）を参照して、修正候補点字データ列が示す点字パターンは、図１８（ｅ）と同様に、たとえば、座標情報入力部１０１と一体的に設けられる表示領域に表示される。また、たとえば、「左上に移動しました」というメッセージ７３２を表示して、孤立ブロック７３１を上方向と左方向とに移動させたことを表示してもよい。
【０１７６】
（列単位での孤立ブロック移動処理の具体例）
図２０（ａ）〜（ｇ）は、本発明の実施の形態における列孤立ブロック移動処理の具体例について説明するための図である。ここでは、図１５（ｃ）に示したような４つの孤立ブロックが検出されているものと仮定する。
【０１７７】
図２０（ａ）には、点字文字列６６１〜６６６の翻訳結果が示される。この場合、孤立ブロック６８２および孤立ブロック６８３に、エラーが含まれる（エラーの点字文字の凸部が含まれる）。したがって、これらの孤立ブロック６８２および孤立ブロック６８３が移動対象となる。
【０１７８】
孤立ブロック６８２及び孤立ブロック６８３のどちらか一方を移動させた場合に抽出される点字パターン候補と、当該点字パターン候補が示す点字データ列を翻訳した墨字データ列とを、図２０（ｂ）から図２０（ｇ）に示す。
【０１７９】
図２０（ｂ）は孤立ブロック６８２のみを左方向に移動させたものであり、図２０（ｃ）は孤立ブロック６８２を右方向に移動させたものであり、図２０（ｄ）は孤立ブロック６８２を下方向に移動させたものである。さらに、図２０（ｅ）は孤立ブロック６８３を左方向に移動させたものであり、図２０（ｆ）は孤立ブロック６８３を右方向に移動させたものであり、図２０（ｇ）は孤立ブロック６８３を上方向に移動させたものである。
【０１８０】
図２０（ｂ）から図２０（ｇ）に示されるように、孤立ブロック６８２および孤立ブロック６８３のいずれか１つを移動させることで抽出される点字パターン候補を示す点字データ列を翻訳すると、図２０（ｅ）に示す点字パターン候補のみが「にんじん」と翻訳される。それ以外の点字パターン候補は、翻訳結果に「エラー」が含まれる。これにより、図２０（ｅ）に示す点字パターンを表わす点字データ列が、修正候補点字データ列として登録される。
【０１８１】
以上より、図２０（ｅ）に示す点字パターンの点字データ列のみが修正候補点字データ列として登録される。したがって、図２０（ｅ）に示す点字パターンがユーザに提示される。点字パターンの提示は、図１８（ｅ）および図１９（ｅ）と同様に行なうことができる。
【０１８２】
なお、上記のように、本実施の形態では、孤立ブロックのいずれか一方のみを移動させることとしたが、複数の孤立ブロックを一度に移動させることとしてもよい。
【０１８３】
図２１（ａ）および（ｂ）は、列孤立ブロック移動処理の他の例を説明するための図である。ここでも、図１５（ｃ）に示したような４つの孤立ブロックが検出されているものと仮定する。
【０１８４】
図２１（ａ）には、孤立ブロック６８２及び孤立ブロック６８３をセットで、左方向に移動させた場合の例を示す。図２１（ｂ）には、孤立ブロック６８２及び孤立ブロック６８３をセットで、右方向に移動させた場合の例を示す。
【０１８５】
図２１（ａ）及び図２１（ｂ）ともに、抽出された点字パターン候補を示す点字データ列を翻訳すると、エラーが含まれる。したがって、これらの点字データ列は、修正候補点字データ列として登録されずに、破棄される。
【０１８６】
なお、ここでは、孤立ブロック６８２及び孤立ブロック６８３をセットで同一の方向に移動させる場合について説明したが、孤立ブロック６８２及び孤立ブロック６８３を別方向に移動させるものであっても構わない。たとえば、一度に、孤立ブロック６８２を左に移動させ、かつ孤立ブロック６８３を上に移動させることで点字パターン候補を抽出するものであっても構わない。
【０１８７】
以上、孤立ブロックを、行単位または列単位で移動させる場合の具合例を説明したが、点字マス内で孤立ブロックを移動させる場合も、同様に行なうことができる。
【０１８８】
（誤り検出処理の具体例）
図２２は、墨字正誤判定部１０４２による墨字データ列の正誤判定処理の具体例を説明するための図である。図２２（ａ）に示すように、点字データ記憶部１０３に記憶された点字データ列１０が点字９００を表わすものであるとする。
【０１８９】
点字翻訳部１０４１が、点字データ列９００を墨字データ列９０１に翻訳すると、翻訳結果は「っいんを  かいに  いく」となる。このように、墨字データ列９０１にはエラーは発生しない。
【０１９０】
次に、墨字正誤判定部１０４２が、墨字データ列９０１の正誤判定を行なう。まずはじめに、墨字正誤判定部１０４２は、墨字データ列９０１を各品詞に分解する。より具体的には、たとえば、墨字データ列９０１に対し形態素解析を行なう。そうすると、墨字データ列９０１は、「っいん」という単語データ９０２，「を」という単語データ９０３，「かい」という単語データ９０４，「に」という単語データ９０５，「いく」という単語データ９０６に分解される。
【０１９１】
ここで、墨字正誤判定部１０４２は、単語辞書記憶部１１３内に、単語データ９０２〜９０６各々に一致する単語辞書データが存在するか否かを判定する。ここでは、「っいん」という単語データ９０２が単語辞書記憶部１１３には存在しないため、墨字正誤判定部１０４２は、単語データ９０２はエラーと判定する。
【０１９２】
これは、入力された座標情報に基づく点字データ列１０に入力誤りが含まれていたが、墨字データ列に翻訳した場合に偶然入力誤りをした点字文字を表す点字データに対応する墨字データが存在したために、翻訳結果にエラーが含まれなかったと考えられる。しかし、この場合であっても、墨字データ列をたとえば形態素解析することで、墨字データ列の正誤を判定する。すなわち、墨字データ列に、単語辞書データと一致しない単語データが存在すれば、その単語データをエラーと判断する。これにより、翻訳結果にエラーが含まれなかった場合でも、点字データ列１０には誤りが含まれると判定することができる。
【０１９３】
このようにしてエラーと判断された単語データ９０２に対応する点字データ列に対して、点字パターン候補が抽出される。
【０１９４】
たとえば孤立ブロックを移動させることで点字パターン候補を抽出した場合、本実施の形態では、孤立ブロックの移動量を修正候補記憶部１０６に記憶する。たとえば、点字文字９２１〜９２３の点字パターンに基づいて、列孤立ブロック検出処理が行なわれて、検出されたと仮定する。この場合、図２２（ｂ）に示すように、点字文字９２１Ａ〜９２３Ａからなる点字９０７の点字パターンは、１つの孤立ブロックを１回だけ移動させているため、移動量９１０は“１”となる。また、点字文字９２１Ｂ〜９２３Ｂからなる点字９０８の点字パターンは、２つの孤立ブロックをそれぞれ１回移動させているため、移動量９１０は“２”となる。また、点字文字９２１Ｃ〜９２３Ｃからなる点字９０９の点字パターンは、３つの孤立ブロックを合計４回移動させているため、移動量９１０は“４”となる。
【０１９５】
この場合、点字９０７の点字パターンを含む新たな点字パターンの修正候補点字データ列の尤度指標９１１は、上述の計算式により“１００”と算出される。また、点字９０８の点字パターンを含む新たな点字パターンの修正候補点字データ列の尤度指標９１１は、上述の計算式により“５０”と算出される。また、点字９０９の点字パターンを含む新たな点字パターンの修正候補点字データ列の尤度指標は、上述の計算式により“２５”と算出される。
【０１９６】
なお、点字９０７、９０８および９０９の翻訳結果は、それぞれ「わいん」、「わいろ」、「よん」となる。
【０１９７】
図２３は、孤立ブロックを移動させることで、点字パターン候補を抽出する具体例を説明するための図である。
【０１９８】
図２３（ａ）を参照して、点字９３０に対応する点字データ列を墨字データ列に翻訳すると、「おおにょわふ」となり、上記と同様に、翻訳結果にエラーは含まれない。しかし、「おおにょわふ」という墨字データ列は単語辞書記憶部１１３に記憶された単語辞書データと一致しない。この場合、たとえば、「にょわ」に対応する点字のパターンの凸部を含む列単位での孤立ブロック９３１を右に移動させることができる。図２３（ｂ）を参照して、孤立ブロック９３１を右に移動させることで新たに生成された点字データ列を翻訳すると、翻訳結果は「おお」と「さかふ」とになる。しかし、「おお」も「さかふ」も単語辞書データと一致しない。次に、図２３（ｃ）を参照して、「さかふ」に対応する点字のパターンの列単位での孤立ブロック９３１および孤立ブロック９３２を、左に移動させる。そうすると、翻訳結果は「おおさかふ」となる。「おおさかふ」という墨字データ列は、単語辞書データと一致する。したがって、図２３（ｃ）に示した点字９３０´を示す点字データ列が、修正候補点字データ列として登録される。
【０１９９】
これにより、ユーザは点字データ列１０の元となる座標情報を入力する際に入力誤りを起こしたにもかかわらず、偶然墨字データ列に翻訳された場合であっても、それをエラーと判定することができる。したがって、ユーザは、再度座標情報の入力を行なうことなく、正しい点字データ列を容易に得ることができる。
【０２００】
なお、上記実施の形態で説明した点字翻訳装置１００の機能が、パーソナルコンピュータやＰＤＡ（Personal Digital Assistant）などを用いたコンピュータシステムで実現されてもよい。
【０２０１】
この場合においても、図２に示されるハードウェア構成と同様の構成で実現可能である。たとえば、コンピュータシステムに点字翻訳装置１００の機能を実現させるためのプログラムと、点字−墨字対応辞書記憶部１１２および単語辞書記憶部１１３内の各辞書データとが記録媒体２１０に記憶され、さらにハードディスク２０７に転送される。又は、プログラムおよび各辞書データは図示しないネットワークを通じてコンピュータに送信されハードディスク２０７に記憶されてもよい。
【０２０２】
このプログラムは、コンピュータに点字翻訳装置１００の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ上で動作するオペレーティングシステム（ＯＳ）又はサードパーティのプログラム、若しくはコンピュータにインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムは、点字翻訳装置１００の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、点字翻訳装置１００の制御を実行する命令のみを含んでいればよい。
【０２０３】
また、記録媒体２１０に、点字データ列１０が記録され、点字データ列１０をドライブ装置２０６が読み出して上述の機能が実現されてもよい。または、点字データ列１０が、図示しないネットワークを通じてコンピュータに送信されハードディスク２０７に記憶されてもよい。また、点字修正候補出力処理部１０７が出力する修正候補点字データ列が、ドライブ装置２０６により記録媒体２１０に書きこまれてもよい。または、修正候補データ列が図示しないネットワークを通じて他のコンピュータに送信されてもよい。
【０２０４】
なお、コンピュータシステムの動作は周知であるので、ここではその説明を繰り返さない。
【０２０５】
また、本発明の点字翻訳装置が行なう、点字翻訳方法を、プログラムとして提供することもできる。このようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc-ROM）などの光学媒体や、メモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０２０６】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０２０７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２０８】
【図１】本発明の実施の形態に係る点字翻訳装置の機能ブロック図である。
【図２】本発明の実施の形態に係る点字翻訳装置のハードウェア構成を示すブロック図である。
【図３】本発明の実施の形態に係る点字翻訳装置の概観図である。
【図４】点字文字を表現するために用いられる点字マスの構成を示す図である。
【図５】パターン管理部のデータ構造の例を示す図である。
【図６】修正候補記憶部のデータ構造例を示す図である。
【図７】本発明の実施の形態の点字翻訳装置におけるＣＰＵが実行するメインルーチンを示すフローチャートである。
【図８】修正候補抽出処理を示すフローチャートである。
【図９】誤り検出処理の流れを示すフローチャートである。
【図１０】点字マス内孤立ブロック検出処理の流れを示すフローチャートである。
【図１１】点字マス内孤立ブロック検出処理を説明するための図である。
【図１２】行孤立ブロック検出処理を示すフローチャートである。
【図１３】行孤立ブロック検出処理を説明するための図である。
【図１４】列孤立ブロック検出処理を示すフローチャートである。
【図１５】列孤立ブロック検出処理を説明するための図である。
【図１６】修正候補出力処理を示すフローチャートである。
【図１７】パターン検索・置換処理の具体例を説明するための図である。
【図１８】本発明の実施の形態における行孤立ブロック移動処理の具体例を説明するための図である。
【図１９】行孤立ブロック移動処理の他の例を説明するための図である。
【図２０】本発明の実施の形態における列孤立ブロック移動処理の具体例について説明するための図である。
【図２１】列孤立ブロック移動処理の他の例を説明するための図である。
【図２２】墨字正誤判定部による墨字データ列の正誤判定処理の具体例を説明するための図である。
【図２３】孤立ブロックを移動させることで、点字パターン候補を抽出する具体例を説明するための図である。
【符号の説明】
【０２０９】
１０  点字データ列、３０  点字マス、３１，３２，３３，３４，３５，３６  点位置、４０  墨字表示エリア、５１  戻りボタン、５２  送りボタン、５３  翻訳ボタン、１００  点字翻訳装置、１０１  座標情報入力部、１０２  点字データ変換部、１０３  点字データ記憶部、１０４  検出部、１０５  候補抽出部、１０６  修正候補記憶部、１０７  点字修正候補出力処理部、１０８  尤度算出部、１０９  パターン修正部、１１０  パターン管理部、１１１  表示部、１１２  点字−墨字対応辞書記憶部、１１３  単語辞書記憶部、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  操作部、２０４．１  電源ボタン、２０４．２  メニューボタン、２０４．３  前候補選択ボタン、２０４．４  次候補選択ボタン、２０４．５  正解ボタン、２０６  ドライブ装置、２０７  ハードディスク、２０８  バス、２１０  記録媒体、２１１  電子ペン、１０４１  点字翻訳部、１０４２  墨字正誤判定部、１０５１  孤立ブロック検出部、１０５２  孤立ブロック移動部、１０５３  パターン検索・置換部。
【図１】
0004632893.tif 000002
【図２】
0004632893.tif 000003
【図３】
0004632893.tif 000004
【図４】
0004632893.tif 000005
【図５】
0004632893.tif 000006
【図６】
0004632893.tif 000007
【図７】
0004632893.tif 000008
【図８】
0004632893.tif 000009
【図９】
0004632893.tif 000010
【図１０】
0004632893.tif 000011
【図１１】
0004632893.tif 000012
【図１２】
0004632893.tif 000013
【図１３】
0004632893.tif 000014
【図１４】
0004632893.tif 000015
【図１５】
0004632893.tif 000016
【図１６】
0004632893.tif 000017
【図１７】
0004632893.tif 000018
【図１８】
0004632893.tif 000019
【図１９】
0004632893.tif 000020
【図２０】
0004632893.tif 000021
【図２１】
0004632893.tif 000022
【図２２】
0004632893.tif 000023
【図２３】
0004632893.tif 000024