(57)【特許請求の範囲】
【請求項１】
入力装置から入力されたデータを入力データとしてアプリケーションプログラムに通知する入力制御部を備えた計算機システムにおいて動作する入力データ音声出力装置であって、
入力データ及びプロセスの発信するデータが登録されているメッセージキューを監視し、前記入力制御部からアプリケーションプログラムに通知される入力データのうち、文字コードの入力を表す入力データを抽出する通知データ監視部と、
通知データ監視部により抽出されたデータに関連付けられている音声データを音声出力する音声出力部とを備える入力データ音声出力装置。
【請求項２】
入力装置から入力されたデータを入力データとしてアプリケーションプログラムに通知する入力制御部を備えた計算機システムにおいて動作する入力データ音声出力プログラムを格納したコンピュータ読取可能な記録媒体であって、
入力データ及びプロセスの発信するデータが登録されているメッセージキューを監視し、前記入力制御部からアプリケーションプログラムに通知される入力データのうち、文字コードの入力を表す入力データを抽出する通知データ監視部と、
通知データ監視部により抽出されたデータに関連付けられている音声データを音声出力する音声出力部として機能させるための備えるプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の利用分野】
本願発明は、計算機の利用者のキーボード操作を音声出力することで、利用者の操作を聴覚的に利用者に通知するシステムに関する。とくに、本願発明では、計算機に接続されるキーボードの種別に関係なく正確な通知を行うことを可能とする。
【０００２】
【従来の技術】
従来から、キー入力されたデータを音声出力するワードプロセッサ等が知られいている。
【０００３】
【従来技術の問題点】
しかし、これらのワードプロセッサはハードウェアとそれを制御するソフトウェアが一体となって構成されている。すなわち、ハードウェア機器を異なる種類のものと交換するようなことは想定されていない。そのため、例えばキーボードを別の種別のキーボードと交換した場合などは、正常な動作（正確な音声出力）が保証されないという問題があった。
【０００４】
この問題は以下の理由に起因する。キーボードには、文字を入力するための文字キーと、文字入力を拡張するための特殊キーがある。文字キーは、例えば英字キーや数字キーで、特殊キーは例えば、シフトキーや変換キー、確定キー等である。
キーボードから入力される文字にはそれぞれ文字コードが割り当てられている。また、一つの文字キーには通常複数の文字が割り当てられており、シフトキーなどの特殊キーと併用することで、同一の文字キーに割り当てられた複数の文字を区別して入力することが可能となっている。同一キーに対する複数の文字の割り当てかたは、幾つかの標準があるものの、キーボードの種別によって異なっている。
【０００５】
従来は、どのキーが打鍵されたかを直接判断して処理を行っていたため、異なる種別のキーボードに取りかえた際に正確な音声出力が出来なくなっていた。
【０００６】
【発明が解決しようとする課題】
このような問題点に鑑み、本願発明の目的は、キーボードを異なる種別のキーボードと交換しても正常な動作（正確な音声出力）が保証される入力データ音声出力装置を提供する事にある。
【０００７】
【課題を解決するための手段】
本発明においては、入力装置またはかな漢字変換処理部からアプリケーションプロクラムに対して所定の規則に基づいて通知されるデータを監視し、その中から必要なデータを抽出し、それを音声出力することにより上記課題を解決する。
【０００８】
【発明の実施の形態】
図１は本発明を実施する計算機システムのハード構成を示す図である。図中、１０１はＣＰＵ、１０２は主記憶装置、１０３は外部記憶装置、１０４はディスプレイ、１０５はキーボード、１０６はマウス、１０７はフロッピーディスク・ドライブ、１０８はフロッピーディスク、１０９はＰＣＭデータ再生装置、１１０はスピーカである。
【０００９】
ＣＰＵ１０１は主記憶装置１０２上のプログラムを実行するものである。外部記憶装置１０３には、オペレーティングシステムの他、各種のプログラム及びデータが格納される。システムが起動されると外部記憶装置１０３に格納されているオペレーティングシステムが主記憶装置１０２にローディングされ、それ以降のプログラムの動作を制御する。計算機システムのオペレータはディスプレイ１０４を見ながらキーボード１０５やマウス１０６等を操作する。ＰＣＭデータ再生装置１０９は、プログラムから通知されたＰＣＭデータをアナログ電気信号に変換して出力する装置である。ＰＣＭデータ再生装置１０９によって出力されたアナログ電気信号はスピーカ１１０によって音声として出力される。
【００１０】
本発明の実施形態の構成要件の一部を担うプログラムは、フロッピーディスク１０８や図示しないＣＤ−ＲＯＭ等の可搬型記憶媒体に格納されて流通される。フロッピーディスク１０８に格納されたプログラムは、一旦外部記憶装置１０３にインストールされて使用可能な状態に設定される。また、これらのプログラムは図示しない通信制御装置を用いて、ネットワーク経由で他の計算機システムから転送されて、外部記憶装置１０３にインストールされる場合もある。
【００１１】
図２は図１で示した計算機システム上で動作するプログラム、プログラムの扱うデータ及び図１で示した一部のハードウェア装置の関係を示す図である。
本システムを構成するプログラムは、デバイスドライバ１１１、メッセージ登録部１１２、かな漢字変換処理部１１５、メッセージキュー監視部１１７、入力データ変換部１１８、読み上げ部１１９、音声データ変換部１２０、登録部１２１からなる。
【００１２】
これらのプログラムは、メッセージキュー１１３、呼出し関数リスト１１４、入力データ変換辞書１２２、登録用音声データ１２３、読み上げ用音声データ１２４等のデータを参照・更新しながら処理を行う。
本発明を実施するためのプログラムやアプリケーションプログラム等のは本システム上ではプロセスと呼ばれる実行体としてオペレーティングシステムの配下で必要に応じて外部記憶装置１０３から主記憶装置１０２にローディングされてＣＰＵ１０１によって実行されることで動作する。
【００１３】
プロセス間のデータの授受は、データを受信するプロセスが、そのプロセスの呼出し関数を、予め呼出し関数リスト１１４に登録しておき、データを発信するプロセスがデータをメッセージとして登録するようにメッセージ登録部１１２に依頼し、依頼を受けたメッセージ登録部１１２がメッセージをメッセージキュー１１３に登録するとともに呼出し関数リスト１１４に登録されている呼出し関数を呼出し、呼び出された呼出し関数のプロセスが、メッセージキュー１１３からメッセージを抽出し、その中からデータを取り出すことで行われる。
【００１４】
メッセージ登録部１１２はデハイスドライバ１１１やかな漢字変換処理部１１５などからのメッセージ登録の依頼を受付け、依頼されたメッセージをメッセージキュー１１３に登録するとともに、呼出し関数リスト１１４に登録されている順に呼出し関数を呼び出すよう動作するプログラムであって、オペレーティングシステムの一部である。
【００１５】
図３にメッセージキュー１１３の構造を示す。メッセージキュー１１３は複数のメッセージをポインタでリンクしたものである。各メッセージは、メッセージ種別、パラメタ、次メッセージへのポインタからなる。パラメタの内容はメッセージ種別によって異なる。デバイスドライバ１１１やかな漢字変換処理部１１５によって登録依頼されるメッセージについては後に詳しく説明する。
【００１６】
呼出し関数リスト１１４は、メッセージ登録部１１２がメッセージキュー１１３にメッセージを登録した際に呼び出すプロセスの呼出し関数のアドレスを呼び出す順に記憶したものである。
キーボード１０５はオペレータによるキーの打鍵に対応して、キーに割り当てられているキーコードを発生する。
【００１７】
デバイスドライバ１１１は、キーボード１０５の発生したキーコードを入力として、入力モード等に応じて、文字コードおよび特殊キーコードを生成するとともに、メッセージ登録部１１２に対して生成した文字コード及び特殊キーコードをメッセージキューに登録するよう依頼するプログラムである。
本実施形態においては、文字コードとしては、英数字及び記号については１バイトのＡＳＣＩＩコードを使用し、特殊キーコードは独自に１以上２５５以下の数字（８ビットで表現可能）を割り当てる。特殊キーと特殊キーコードの対応を図４に示す。
【００１８】
デハイスドライバがメッセージ登録部に登録依頼するメッセージを図５及び図６に示す。図５は、文字コードが入力されたことを通知するメッセージの例で、文字”Ａ”が入力されたことを通知するメッセージである。メッセージ種別は「文字入力」、パラメタは文字”Ａ”のＡＳＣＩＩコード０ｘ４１である。図６は、特殊キーが打鍵されたことを通知するメッセージの例で、特殊キーの一つである「シフトキー」が打鍵された事を通知するメッセージである。メッセージ種別は「特殊キー」、バラメタはシフトキーに割り当てられた特殊キーコード０ｘ１０である。
【００１９】
デバイスドライバ１１１は、複数種類のキーボード１０５に対応して複数用意されるか、キーボード１０５の交換と同期して交換される。
かな漢字変換処理部１１５は本システム上で動作する一つのプロセスであって、メッセージキュー１１３に登録されているメッセージの中で、キー入力に関するメッセージに基づいて、入力された仮名を漢字に変換する。かな漢字変換処理部１１５の動作の一例を図７に基づいて説明する。
【００２０】
かな漢字変換処理部１１５は、起動されると、まず図示されないかなバッファを初期化すなわちバッファのクリアを行う（ステップＳ１３１）。バッファの初期化が完了すると、メッセージ待ち状態になる（ステップＳ１３２）。メッセージ登録部による呼出し関数の呼出しを契機に次のステップに進む。
メッセージキューを検索し、キー入力に関するメッセージの有無をチェックする（ステップＳ１３３）。ステップＳ１３４において文字入力のメッセージが登録されていると判定した場合は、メッセージをメッセージキュー１１３から削除するとともに（ステップＳ１３５）、文字コードをかなバッファの最後に追加し（ステップＳ１３６）、変換中の未確定漢字（この場合はヌル）とかなバッファの内容をパラメタとする未確定メッセージを登録するようメッセージ登録部１１２に依頼する（ステップＳ１３７）。
【００２１】
次にステップＳ１３８において変換キーの打鍵を表すメッセージが登録されていると判定した場合は、メッセージをメッセージキューから削除するとともに（ステップＳ１３９）、読みを所定のアルゴリズムに従って漢字に変換し（ステップＳ１４０）、変換して得られた漢字及びかなバッファ中の読みをパラメタとして未確定メッセージを登録するようメッセージ登録部１１２に依頼する（ステップＳ１４１）。
【００２２】
次に、ステップＳ１４２において、確定キーの打鍵を表すメッセージが登録されていると判定した場合は、そのメッセージをメッセージキューから削除するとともに（ステップＳ１４３）、確定した漢字とかなバッファ中の読みをパラメタとして確定メッセージをメッセージキュー１１３に登録するようメッセージキュー登録部１１２に依頼する（ステップＳ１４４）。
【００２３】
なお、かな漢字変換処理部１１５の動作は、変換が確定した際に確定メッセージを登録依頼し、未確定文字列（変換中の文字列及び読み）に変化が生じた場合に未確定メッセージを登録依頼する点を遵守したものであれば、上で説明した動作に限定されるものではない。
メッセージキュー監視部１１７は本システム上のプロセスとして動作するプログラムである。メッセージキュー監視部１１７の動作を図８を用いて説明する。メッセージ登録部１１２からメッセージキュー監視部１１７の呼出し関数が呼び出されると処理を開始する。ここで、かな漢字変換処理部１１５が動作しているかどうかによって処理が分かれる（ステップＳ１５２）。
【００２４】
かな漢字変換処理部１１５が動作していない場合の動作は以下の通りとなる。メッセージキュー１１３中のキー入力に関するメッセージを参照し（ステップＳ１５３）、それが文字コードの入力を表すメッセージであれば、文字コードの先頭に０ｘ００を付加して２バイトに拡張したものを以後の処理の検索キーとし（ステップＳ１５５）、特殊キーの打鍵を表すメッセージであれば、特殊キーコードの先頭に０ｘＦＦ（１６進数のＦＦ）を付加して２バイトに拡張したものを以後の処理の検索キーとする（ステップＳ１５６）。こうして得られた検索キーをステップＳ１６３において入力データ変換部１１８に通知する。
【００２５】
かな漢字変換処理部１１５が動作している場合の動作は以下の通りとなる。ステップＳ１５７において、メッセージキュー１１３を参照して得られたメッセージが確定メッセージであると判定されると、確定メッセージのパラメタ中の確定漢字を抽出しそれを読み上げ文字列とする（ステップＳ１５８）。ステップＳ１５９で参照して得られたメッセージが未確定メッセージであると判定された場合には、未確定メッセージ中に漢字が有るかどうかを判断し（ステップＳ１６０）、漢字がある場合には、その漢字を抽出しそれを読み上げ文字列とする（ステップＳ１６１）。
【００２６】
漢字が無い場合には読みの最後の文字を抽出しそれを読み上げ文字列とする（ステップＳ１６２）。以上の処理で得られた読み上げ文字列をステップＳ１６４において文字列音声データ変換部１２０に通知する。
次に図９を用いて入力データ変換辞書１２２について説明する。入力データ変換辞書１２２は、検索キー、読み上げ文字列、音声データファイル名、データタイプからなる複数のレコードを格納したファイルである。検索キーは入力データ変換辞書１２２を検索する際のキーとなるデータで２バイトで構成される。データタイプは読み上げ文字列と音声データファイルの何れのデータを用いて音声出力するかを示すデータである。読み上げ文字列は、読み上げ部によって読み上げられる文字列、音声データファイル名はＰＣＭデータを格納したファイル名を表す文字列である。
【００２７】
登録用音声データ１２３は、入力データ変換辞書１２２内の音声データファイル名で示される複数のファイルの集合である。
図１０を用いて入力データ変換部１１８について説明する。入力データ変換部１１８は、メッセージキュー監視部１１７から通知された検索キーで入力データ変換辞書１２２を検索するプログラムである。入力データ変換部１１８は先ず、メッセージキュー監視部１１７から通知された検索キーで入力データ変換辞書１２２を検索する（ステップＳ１７１）。
【００２８】
検索して得られたレコードのデータタイプの値が１の場合は、読み上げデータはデータタイプの値（この場合は１）と読み上げ文字列によって読み上げデータを構成し（ステップＳ１７３）、データタイプの値が２の場合は、読み上げデータはデータタイプの値（この場合は２）と音声データファイル名によって読み上げデータを構成する（ステップＳ１７４）。読み上げデータの生成が完了すると、生成した読み上げデータを読み上げ部１１９に通知する（ステップＳ１７５）。
【００２９】
図１１を用いて読み上げ部１１９について説明する。読み上げ部１１９は、入力データ変換部１１８から通知された読み上げデータのデータタイプをチェックし（ステップＳ１８１）、データタイプの値が２の場合は、読み上げデータ中の読み上げ文字列を文字列音声データ変換部１２０に通知し（ステップＳ１８２）、データタイプの値が１の場合には、読み上げデータ中の音声データファイル名によって示されるファイルからＰＣＭデータを読み込み（ステップＳ１８３）、音声データ発生部に通知する（ステップＳ１８４）。
【００３０】
図１２を用いて、読み上げ用音声データ１２４について説明する。読み上げ用音声データ１２４は、読み上げ文字列と、ＰＣＭデータを対応付けて記憶したファイルである。
文字列音声データ変換部１２０は、メッセージキュー監視部１１７または読み上げ部１１９から通知された読み上げ文字列をキーに読み上げ用音声データ１２４を検索し、得られたＰＣＭデータを音声データ発生部１０９に通知するプログラムである。文字列音声データ変換部１２０の処理は既存の文章読み上げ装置の処理と同様の処理を行うのでここでは詳しい説明は省略する。
【００３１】
図１３は登録部１２１によってディスプレイ１０４に表示される操作画面の一例である。オペレータは、この画面をキーボード１０５及びマウス１０６を用いて操作し、キー毎に、入力の際の音声出力を行うか否か、音声出力を行う場合には、文字列を読み上げるのかそれともＰＣＭデータを再生するのか、文字列を読み上げる場合の読み上げ文字列は何か、ＰＣＭデータを再生する場合のＰＣＭデータを格納したファイルのファイル名は何か等を指定する。登録部１２１はオペレータの指定を受け付けて、指定されたキーに対応する入力データ変換辞書のレコードの内容を変更する。
【００３２】
最後に同音異義語の読み上げについて説明する。例えば「私立高校」と「市立高校」の読みは共に「しりつこうこう」であるが、これらの文字列のそれぞれに対して異なる音声出力をさせるためには、文字列音声変換辞書内の「私立高校」のエントリと「市立高校」のエントリにそれぞれ異なるＰＣＭデータを登録しておけばよい。
【００３３】
【発明の効果】
本発明により、入出力装置を種別の異なる他の装置と交換した場合であっても、入出力装置を用いて入力されたデータを正確に音声出力することが可能となる。また、かな漢字変換処理中の未確定の漢字または確定した漢字を読み上げるので、同音異義語についても区別して音声出力することが可能となる。
【図面の簡単な説明】
【図１】  一実施形態のハード構成図
【図２】  一実施形態のハード、プログラム及びデータの関連を示す図
【図３】  メッセージキューの構造を示す図
【図４】  特殊キーと特殊キーコードとの対応を示す図
【図５】  文字入力を通知するメッセージの例
【図６】  特殊キーの打鍵を通知するメッセージの例
【図７】  かな漢字変換処理部の動作フローの一例を示す図
【図８】  メッセージキュー監視部の動作フローを示す図
【図９】  入力データ変換辞書の構造及び内容の例を示す図
【図１０】  入力データ変換部の処理フローを示す図
【図１１】  読み上げ部の処理フローを示す図
【図１２】  読み上げ用音声データの構成を示す図
【図１３】  登録部の表示する画面の一例を示す図
【符号の説明】
１０１  ＣＰＵ
１０２  主記憶装置
１０３  外部記憶装置
１０４  ディスプレイ
１０５  キーボード
１０６  マウス
１０７  フロッピーディスク・ドライブ
１０８  フロッピーディスク
１０９  ＰＣＭデータ再生装置
１１０  スピーカ
１１１  デバイスドライバ
１１２  メッセージ登録部
１１３  メッセージキュー
１１４  呼出し関数リスト
１１５  かな漢字変換処理部
１１６  アプリケーションプロクラム
１１７  メッセージキュー監視部
１１８  入力データ変換部
１１９  読み上げ部
１２０  文字列音声データ変換部
１２１  登録部
１２２  入力データ変換辞書
１２３  登録用音声データ
１２４  読み上げ用音声データ
【図１】
0004439599.tif 000002
【図２】
0004439599.tif 000003
【図３】
0004439599.tif 000004
【図４】
0004439599.tif 000005
【図５】
0004439599.tif 000006
【図６】
0004439599.tif 000007
【図７】
0004439599.tif 000008
【図８】
0004439599.tif 000009
【図９】
0004439599.tif 000010
【図１０】
0004439599.tif 000011
【図１１】
0004439599.tif 000012
【図１２】
0004439599.tif 000013
【図１３】
0004439599.tif 000014