(57)【要約】  文字情報提示装置は、入力される文字情報の内容、到来時間及び過去の文字情報の到来時間に基づいて、最適な読み上げの速度を演算し、演算した読上げ速度で入力される文字情報を音声合成し、音声信号として出力する。または音声合成部の出力状態により映像信号を出力する速度を制御する。
2009013875.tif 000002
【特許請求の範囲】
【請求項１】
文字列の時間情報を記憶するメモリと、
前記文字列の入力を受け付ける文字情報入力部と、
前記文字情報入力部に前記文字列が入力された場合に、前記文字列を記憶するとともに更新通知信号を出力する文字列バッファ部と、
前記更新通知信号を受信すると、前記文字列バッファ部に記憶されている前記文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部と、
前記基準音声合成長演算部より出力される前記読み上げ時間長信号、前記文字列バッファ部に記憶されている文字列の時間情報、及び前記メモリに記憶されている前記文字列の前記時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部と、
前記文字列バッファ部に読み出し要求を出し、前記読み上げ速度率信号に基づき前記文字列バッファ部より入力される文字列の音声合成をする音声合成部と、
を備えた文字情報提示装置。
【請求項２】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記制御部において読み上げ速度率信号を算出した際に、前記文字列バッファ部より読み出した前記文字列の前記時間情報に更新されることを特徴とする請求項１記載の文字情報提示装置。
【請求項３】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記文字列入力部より入力された前記文字列に付随する提示時間情報であることを特徴とする請求項１記載の文字情報提示装置。
【請求項４】
前記メモリに記憶されている文字列の時間情報は、
前記文字列入力部より入力された前記文字列に付随する提示時間情報と消去時間情報であることを特徴とする請求項１記載の文字情報提示装置。
【請求項５】
前記メモリは、
さらに、所定の数の読み上げ速度率信号の履歴を記憶し、
前記制御部は、
前記基準音声合成長演算部より入力される前記読み上げ時間長信号、前記読み上げ時間長信号に対応し前記文字列バッファ部より読み出した前記文字列の前記時間情報、及び前記メモリに記憶されている前記文字列の前記時間情報に基づき算出した読み上げ速度率信号、及び前記メモリに記憶された所定の数の前記読み上げ速度率信号の前記履歴に基づき、
読み上げ速度率信号を算出すること特徴とする請求項１記載の文字情報提示装置。
【請求項６】
前記制御部は、
前記文字列バッファ部に記憶されている前記文字列の文字数に基づき、前記読み上げ速度率を演算することを特徴とする請求項１記載の文字情報提示装置。
【請求項７】
前記制御部は、
前記文字列バッファ部に記憶されている前記文字列の単語数に基づき、前記読み上げ速度率を演算することを特徴とする請求項１記載の文字情報提示装置。
【請求項８】
映像情報の入力を受け付ける映像情報入力部と、
前記映像情報入力部に入力された前記映像情報を記憶する映像バッファ部と、
前記映像バッファ部から前記映像情報を読み出し、デコードし、映像信号として出力する映像提示部と、をさらに備え、
前記制御部は、少なくとも前記映像提示部を制御するとともに、選択信号を入力するユーザ入力部に接続され、
前記選択信号が、映像情報の選択である場合、
前記音声合成部において、前記所定の速度で発声した場合にかかる時間に基づいて合成した前記音声信号の出力が完了していない場合、前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を出力し、
前記選択信号が、音声情報の選択である場合、
前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を通常の速度で出力するとともに、
前記制御部の制御により音声合成は、前記読み上げ速度率信号に基づき前記文字列バッファ部より入力される文字列の音声合成をする
ことを特徴とする請求項１に記載の文字情報提示装置。
【請求項９】
映像情報の入力を受け付ける映像情報入力部と、
前記映像情報入力部に入力された前記映像情報を記憶する映像バッファ部と、
前記映像バッファ部から前記映像情報を読み出し、デコードし、映像信号として出力する映像提示部と、
文字列の入力を受け付ける文字情報入力部と、
前記文字情報入力部に入力された文字列を記憶する文字列バッファ部と、
前記文字列バッファ部から前記文字列を読み出し、所定の速度で音声合成し、音声信号として出力する音声合成部と、
少なくとも前記映像提示部を制御する制御部と、を備え、
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を出力することを特徴とする文字情報提示装置。
【請求項１０】
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号を静止状態で出力することを特徴とする請求項９記載の文字情報提示装置。
【請求項１１】
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号の提示速度を可変させて出力することを特徴とする請求項９記載の文字情報提示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文字情報を表示する、または音声に変換し出力する文字情報提示装置に関し、さらに詳細には提示する時間調整および提示速度に関する。
【背景技術】
【０００２】
耳の不自由な方への配慮等により、全世界的にテレビ番組に字幕情報などの文字を付加することが多くなってきている。また、インターネットなどの普及により、多彩な文字情報が得られるようになっている。しかし、それらの文字を表示する機器の小型化に伴いディスプレイの大きさも小さくなってきており、文字が読みにくいという課題がある。その課題を解決するために、文字列を音声に変換する装置が提案されている（例えば、特許文献１参照）。【０００３】
図２１は、従来の文字列読み上げ装置の構成を示すブロック図である。図２１に示すように、従来の文字列読み上げ装置は、音程調整部２００１と音声データ記憶部２００２と標準速度データ記憶部２００３と再生速度入力部２００４と再生速度比算出部２００５と制御部２００６と音声再生部２００７とを備えている。【０００４】
音声データ記憶部２００２は、音声データをディジタル記憶する。そして、標準速度データ記憶部２００３は、音声データの再生速度を、音声データに対応した語数と標準再生時間により表現した標準速度データを記憶する。また、再生速度入力部２００４は、再生速度の変更情報を単位時間当たりの語数により与える役割を果たす。再生速度比算出部２００５は、再生速度入力部２００４により与えられた単位時間当たりの語数と標準再生速度時の語数から再生速度比を求める。そして、制御部２００６は、音声データ記憶部２００２、標準速度データ記憶部２００３、再生速度比算出部２００５から読み出された音声データ及び標準速度データと再生速度比とを音程調整部２００１に出力する。音声再生部２００７は、音程調整部２００１からの出力を再生する。このようにして、文字列読み上げ装置は、再生速度の上下による音程変化を一定の標準値に保ちつつ、単位時間当たりの語数指定により再生速度設定が可能となる。【０００５】
すなわち、従来の文字列読み上げ装置は、あらかじめ読み上げる文字列の文字数を特定できる場合、及び読み上げる時間を既定できる場合には発声速度を変化させる等の手法により、既定された時間内に発声を終了させることが可能であった。しかし、時間的に次の文字列が何時、どれだけの文字数で到来するかわからない字幕情報や、不特定多数により追記、更新されるインターネット上での記載などでは文字数の特定及び時間が既定できないため、発声速度を最適な値に設定することが困難であった。【０００６】
また、字幕情報など、映像と同期して表示または文字列読み上げを行い視聴者に提示すべき文字列の場合、文字列の読み上げが早すぎると聞き取り辛いという課題があり、表示、更新が速すぎると文字列の表示期間中に読みきれないという課題がある。また読み上げ速度率が到来する文字列の速度より遅い場合は、映像と読み上げた文字列との同期がとれないという課題がある。【０００７】
また、耳の不自由な方からの要望と音声認識技術の精度の向上により、アナウンサ等の発声する言葉を自動的に文字列に変換し字幕として放送波に多重することが可能となってきている。しかし、平均的な視聴者が、読み上げられた言葉を耳で認識可能なスピードよりも文字で表示された文字列を読み内容を認識可能なスピードの方が遅いため、実際には字幕に変換する際に読み手が読みきれるように言葉を短い単語に変更したり、不必要なことばを省略したりする等の作業が必要となり完全な自動化は難しい。
【特許文献１】特開平１１−７２９５号公報
【発明の開示】
【０００８】
本発明に係る文字情報提示装置は、文字列の時間情報を記憶するメモリと、文字列の入力を受け付ける文字情報入力部と、文字情報入力部に文字列が入力された場合に、文字列を記憶するとともに更新通知信号を出力する文字列バッファ部と、更新通知信号を受信すると、文字列バッファ部に記憶されている文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部とを備えている。また、基準音声合成長演算部より出力される読み上げ時間長信号、この読み上げ時間長信号に対応し文字列バッファ部に記憶されている文字列の時間情報、及びメモリに記憶されている文字列の時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部と、文字列バッファ部に読み出し要求を出し、読み上げ速度率信号に基づき文字列バッファ部より入力される文字列の音声合成をする音声合成部とを備えている。
【０００９】
このような構成により、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列読み上げの速度を最適な値に設定し聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【００１０】
また、本発明に係る文字情報提示装置は、映像情報の入力を受け付ける映像情報入力部と、映像情報入力部に入力された映像情報を記憶する映像バッファ部と、映像バッファ部から映像情報を読み出し、デコードし、映像信号として出力する映像提示部とを備えている。また、文字列の入力を受け付ける文字情報入力部と、文字情報入力部に入力された文字列を記憶する文字列バッファ部と、文字列バッファ部から文字列を読み出し、所定の速度で音声合成し、音声信号として出力する音声合成部とを備えている。また、少なくとも映像提示部を制御する制御部を備えている。そして、文字情報提示装置は、音声合成部において、合成した音声信号の出力が完了していない場合、映像提示部は、映像信号を静止状態で出力する。または、映像提示部は、映像信号をスローダウンあるいはスピードアップさせて出力する。
【００１１】
このような構成により、音声合成部が音声合成を行った結果を音声出力に出力完了していなければ、映像提示部に映像の出力状態の静止または映像出力速度を可変するように制御することにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、視聴者が容易に読みきれる文字情報提示装置を提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態１における文字情報提示装置の構成を示すブロック図である。
【図２】図２は、本発明の実施の形態１における文字列バッファ部に記憶されている文字列や時間情報のデータ構造体の一例を示す模式図である。
【図３】図３は、本発明の実施の形態１における文字列バッファ部に記憶されている文字列や時間情報のデータの一例を示す模式図である。
【図４】図４は、本発明の実施の形態１における基準音声合成長演算部の内部構成を示すブロック図である。
【図５】図５は、本発明の実施の形態１における単語読み上げ時間長基準データ部内に格納されているデータの一例を示す模式図である。
【図６】図６は、本発明の実施の形態１における制御部メモリに格納されている時間情報の一例を示す模式図である。
【図７】図７は、本発明の実施の形態２における文字情報提示装置の構成を示すブロック図である。
【図８】図８は、本発明の実施の形態２における文字列バッファ部に記憶されている文字列、時間情報、及び消去時間情報のデータ構造体の一例を示す模式図である。
【図９】図９は、本発明の実施の形態２における文字列バッファ部に記憶されているデータの一例を示す模式図である。
【図１０】図１０は、本発明の実施の形態２における基準音声合成長演算部の内部構成を示すブロック図である。
【図１１】図１１は、本発明の実施の形態２における単語読み上げ時間長基準データ部内に格納されているデータの一例を示す模式図である。
【図１２】図１２は、本発明の実施の形態３における文字情報提示装置の構成を示すブロック図である。
【図１３】図１３は、本発明の実施の形態３における文字列バッファ部に記憶されている文字列や時間情報のデータ構造体の一例を示す模式図である。
【図１４】図１４は、本発明の実施の形態３における文字列バッファ部に記憶されているデータの一例を示す模式図である。
【図１５】図１５は、本発明の実施の形態３における基準音声合成長演算部の内部構成を示すブロック図である。
【図１６】図１６は、本発明の実施の形態３における単語読み上げ時間長基準データ部内に格納されているデータの一例を示す模式図である。
【図１７】図１７は、本発明の実施の形態３における制御部メモリに格納されている記憶文字列到着時間情報及び読み上げ速度率履歴情報の一例を示す模式図である。
【図１８】図１８は、本発明の実施の形態４における文字情報提示装置の構成を示すブロック図である。
【図１９】図１９は、本発明の実施の形態４における文字列バッファ部に記憶されているデータの一例を示す模式図である。
【図２０】図２０は、本発明の実施の形態４における文字情報提示装置の他の例の構成を示すブロック図である。
【図２１】図２１は、従来の文字列読み上げ部の構成を示すブロック図である。
【符号の説明】
【００１３】
１０１，７０１，１２０１，１８０１    文字情報入力部
１０２，７０２，１２０２，１８０２    文字列バッファ部
１０３，７０３，１２０３，１８１４    基準音声合成長演算部
１０４，７０４，１２０４，１８０３    制御部
１０５，７０５，１２０５，１８０５    制御部メモリ（メモリ)
１０６，７０６，１２０６，１８０４    音声合成部
１０７，７０７，１２０７，１８１０    音声出力部
３０１，６０１，１４０１    時間情報
３０２，９０３，１４０２，１９０１    格納文字列
３０３，９０４，１４０３，１９０２    最終データ位置
４０１，１００１，１５０１    基準音声合成長演算部用制御部
４０２，１００２，１５０２    文字列一時格納部
４０３，１００３，１５０３    読み上げ時間長加算部
４０４，１００４，１５０４    単語読み上げ時間長基準データ部
５０１，１１０１，１６０１    単語（ｗｏｒｄ）
５０２，１１０２，１６０２    読み上げ時間長（ｄｕｒａｔｉｏｎ）
９０１    提示時間情報
９０２    消去時間情報
１７０１    記憶文字列到着時間情報
１７０２    読み上げ速度率履歴情報
１８０６    映像情報入力部
１８０７    映像バッファ部
１８０８    映像提示部
１８０９    映像出力部
１８２０    ユーザ入力部
【発明を実施するための最良の形態】
【００１４】
以下、本発明に係る文字情報提示装置の例を、図を用いて説明する。【００１５】
（実施の形態１）
図１は、本発明の実施の形態１における文字情報提示装置の構成を示すブロック図である。図１に示すように本実施の形態における文字情報提示装置は、文字情報入力部１０１、文字列バッファ部１０２、基準音声合成長演算部１０３、制御部１０４、文字列の時間情報を記憶するメモリとしての制御部メモリ１０５、音声合成部１０６、音声出力部１０７を含む。【００１６】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。文字情報入力部１０１は、文字列の入力を受け付ける。そして、文字情報入力部１０１より入力された文字列は、文字列バッファ部１０２に入力され、記憶される。【００１７】
文字列バッファ部１０２は、基準音声合成長演算部１０３、制御部１０４及び音声合成部１０６からの要求により、文字列の出力を行う。新しい文字列が文字情報入力部１０１より入力され、文字列バッファ部１０２に記憶された場合、文字列バッファ部１０２は更新通知信号を基準音声合成長演算部１０３に出す。【００１８】
基準音声合成長演算部１０３は、更新通知信号により文字列バッファ部１０２に新しい文字列が記憶されたことを検知すると、文字列バッファ部１０２に読み出し要求を出す。そして、基準音声合成長演算部１０３は、文字列バッファ部１０２から記憶されている文字列を読み出す。また、基準音声合成長演算部１０３は、読み出された文字列を所定の速度（以下、基準速度と記載する）で音声合成部１０６において音声合成を行う場合に、発声にかかる時間を算出する。そして、その結果に基づいて、基準音声合成長演算部１０３は、算出した発声にかかる時間を示す読み上げ時間長信号を制御部１０４に出力する。なお、基準速度は、例えば、アナウンサ等の発声する言葉の速度に代表される標準的な速度とする。【００１９】
制御部１０４は、基準音声合成長演算部１０３より入力される読み上げ時間長信号と、制御部メモリ１０５内に保持されている時間情報に基づき読み上げ速度率を演算する。そして、制御部１０４は、その演算結果に基づき読み上げ速度率信号を音声合成部１０６に出力する。また、制御部１０４は、文字列バッファ部１０２に格納されている文字列の時間情報を制御部メモリ１０５に出力する。【００２０】
音声合成部１０６は、文字列バッファ部１０２に読み出し要求を出す。また、制御部１０４において演算した読み上げ速度率信号が示す読み上げ速度率に基づき、音声合成部１０６は、文字列バッファ部１０２より入力される文字列の音声合成を行う。そして、音声合成部１０６は、音声合成された音声信号を音声出力部１０７に出力する。【００２１】
次に、図２を用いて、文字列バッファ部１０２に記憶されている時間情報や文字列のデータ構造体の一例を示す。図２は、本実施の形態における文字列バッファ部１０２に記憶されている時間情報や文字列のデータ構造体を示す模式図である。本例では、文字列バッファ部１０２は、ｓｔｒｂｕｆｆとｓｔｒｉｎｇＦＩＦＯと名づけたデータ構造体を用いて記述し、ソフトウエアにより構成している。本例では、文字列バッファ部１０２は、文字列バッファ部１０２に文字列が入力された時間である時間情報を、変数であるｔｉｍｅに記憶する。また、文字列バッファ部１０２は、最大５つまでの文字列を、変数であるｓｔｒに記憶する。そして、詳細な説明は後述するが、変数であるｂｕｆｆに文字列を格納する。また、記憶されている文字列の最後のデータ位置を変数であるｌａｓｔｓｔｒに記憶する。【００２２】
本例では、文字列を記憶する変数であるｓｔｒには最大２５６文字まで格納可能としているが、それ以上であっても同様の効果が得られる。また、入力される文字列の長さにより確保する文字列長を可変させても、同様の効果が得られる。本例でのｉｎｔ６４は６４ビット整数型、ｃｈａｒは８ビット文字型、ｉｎｔは３２ビット整数型としているが、他のビット数及び他の型であっても同様の効果が得られる。なお、本実施例では、文字列バッファ部１０２は、ＣＰＵやメモリなどのハードエウアの動作を規定するソフトウエアにより記述して構成している。ハードウエアのみでも実現可能であるが、ソフトウエアを用いることにより、より柔軟に各種の設定を変更可能であり、かつ低コストで実現できるなどの利点がある。【００２３】
次に、図３を用いて、図２において示したデータ構造体に格納されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５は、図２のデータ構造体での変数であるｂｕｆｆ［０］、ｂｕｆｆ［１］、ｂｕｆｆ［２］、ｂｕｆｆ［３］及びｂｕｆｆ［４］に対応する。そして、各ｂｕｆｆ内には時間情報３０１と格納文字列３０２とが格納されている。例えば、文字列バッファ１に格納されている時間情報３０１はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｔｉｍｅとして示すことができる。また、文字列バッファ１に格納されている格納文字列３０２はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｓｔｒとして示すことができる。【００２４】
本実施の形態における時間情報３０１は、一般的なコンピュータ言語で用いられる協定世界時（ＵＴＣ）、１９７０年１月１日の０時（００：００：００）を基点とした経過秒数を格納することとする。図３では、時、分、及び秒のみ記載しているが、実際には、年、及び月も含めたデータを格納していることとする。なお、本実施の形態では他の方式で時間情報３０１を格納していたとしても同様の効果が得られる。【００２５】
図３に示している最終データ位置３０３に格納されるデータは、現在有効なデータが格納されている文字列バッファ部１０２の最終データの位置を示す。例えば、図３の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されており、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしている。したがって、最終データ位置３０３に格納されているデータは有効なデータの内の最終データである文字列バッファ３を示す。図３において、最終データ位置３０３は、図２のデータ構造体例では、変数であるｌａｓｔｓｔｒに対応する。文字列バッファ１から文字列バッファ５に格納されている時間情報３０１は、格納文字列３０２と関連付けられており、格納文字列３０２が文字列バッファ部１０２に入力された時間を時間情報３０１として文字列バッファ部１０２が格納することとする。【００２６】
次に、具体的な文字列バッファ部１０２の動作について説明する。例えば、図３のデータ格納状態において、時間情報３０１として文字列「１２：００：１０」と、格納文字列３０２として文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」とが入力された場合を想定する。この場合、次の空き文字列バッファである文字列バッファ４の時間情報３０１に文字列「１２：００：１０」が格納され、文字列バッファ４の格納文字列３０２に文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が格納される。そして、最終データ位置３０３は、文字列バッファ４を示すように変更される。【００２７】
また、図３のデータ格納状態において、１つの文字列バッファを削除するように指示があった場合、文字列バッファ２に格納されているデータを文字列バッファ１に複製する。そして、文字列バッファ３に格納されているデータを文字列バッファ２に複製する。さらに、文字列バッファ４に格納されているデータを文字列バッファ３に複製する。また、文字列バッファ５に格納されているデータを文字列バッファ４に複製する。そして、最終データ位置３０３は現在示している文字列バッファの図３での１つ上側の文字列バッファ、すなわち図３のデータ格納状態では最終データ位置３０３は文字列バッファ２を示すように変更する。【００２８】
上述したように、本実施の形態では、データの削除は必ず文字列バッファ１より行うこととしている。そして、後続するデータは文字列バッファ２を文字列バッファ１に複製し、文字列バッファ３を文字列バッファ２に複製しながらシフトしていくこととしている。しかし、本データ構造体の要素に加え、開始データ位置を示す変数を追加してもよい。そして、その開始データ位置がデータの削除を行うデータを示すものとする。すなわち、データ削除を行う場合、開始データ位置が示す文字列バッファ位置が、例えば現在、文字列バッファ１を示しているのであれば、文字列バッファ２を示すように変更する。また、現在、文字列バッファ２を示しているのであれば、文字列バッファ３を示すように変更してもよい。このようにすることにより、処理の高速化を達成するとともに同様の効果が得られる。【００２９】
なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。【００３０】
以下では、図１を用いて、本実施の形態における文字情報提示装置の動作の詳細について説明する。図１に示すように文字列バッファ部１０２は、基準音声合成長演算部１０３、制御部１０４、及び音声合成部１０６からの要求に応じて、格納されている各データの内容を出力する。また、前述したように、制御部１０４は、文字列バッファ部１０２に格納されている文字列の時間情報を制御部メモリ１０５に出力する。このように、メモリとしての制御部メモリ１０５に記憶される時間情報は、制御部１０４において読み上げ速度率信号を算出した際に、文字列バッファ部１０２より読み出した文字列の時間情報に更新される。【００３１】
また、データの削除は音声合成部１０６が文字列バッファ部１０２よりデータを読み出した際、音声合成部１０６よりデータ削除要求が文字列バッファ部１０２に出されることに基づいて実行する。また、文字情報入力部１０１が、文字列を文字列バッファ部１０２に入力すると、文字列バッファ部１０２は格納されているデータが更新されたことを示す更新通知信号を基準音声合成長演算部１０３、制御部１０４、及び音声合成部１０６に通知する。【００３２】
図１における基準音声合成長演算部１０３は、文字列バッファ部１０２内の文字列を音声合成部１０６が基準速度で発声した場合にかかる時間を、算出する。図４は、基準音声合成長演算部１０３の内部構成を示すブロック図である。基準音声合成長演算部１０３は、基準音声合成長演算部用制御部４０１、文字列一時格納部４０２、読み上げ時間長加算部４０３、単語読み上げ時間長基準データ部４０４を含む。【００３３】
次に、このように構成された基準音声合成長演算部１０３の動作について説明する。基準音声合成長演算部用制御部４０１は、文字列バッファ部１０２からの更新通知信号を受けると、更新された文字列データを読み出すように読み出し要求を文字列バッファ部１０２に出力する。そして、基準音声合成長演算部用制御部４０１は、読み上げ時間長加算部４０３内に格納されている読み上げ時間長を０にする。文字列バッファ部１０２は更新された文字列を基準音声合成長演算部１０３に出力し、基準音声合成長演算部１０３は入力された文字列を文字列一時格納部４０２に格納する。文字列一時格納部４０２は、基準音声合成長演算部用制御部４０１からの要求に応じ、格納されている文字列を単語単位に分割し、読み上げ時間長加算部４０３に出力する。【００３４】
読み上げ時間長加算部４０３は、文字列一時格納部４０２より入力される単語単位の文字列を単語読み上げ時間長基準データ部４０４に参照し、該当する単語を音声合成部１０６が基準速度で発声した場合にかかる時間を算出する。その結果に基づき、読み上げ時間長加算部４０３は、読み上げ時間長加算部４０３内に格納されている読み上げ時間長に、算出した時間を加算する。このようにして、読み上げ時間長加算部４０３は、文字列一時格納部４０２内に格納されている文字列の全ての単語を演算して、文字列の読み上げ時間長を算出する。【００３５】
次に、基準音声合成長演算部用制御部４０１は、文字列の読み上げ時間長が算出されると、読み上げ時間長加算部４０３に読み上げ時間長の出力要求を出す。そして、その出力要求に基づいて、読み上げ時間長加算部４０３は、読み上げ時間長を含む読み上げ時間長信号を出力する。出力された読み上げ時間長信号は制御部１０４に入力される。【００３６】
次に、図５を用いて、単語読み上げ時間長基準データ部４０４内に格納されているデータの一例を示す。データの例として、単語５０１（図５では、「ｗｏｒｄ５０１」と表す）の欄と、単語５０１を基準速度で発声した場合にかかる時間である読み上げ時間長５０２(図５では、「ｄｕｒａｔｉｏｎ５０２」と表す)の欄とを示している。【００３７】
ｗｏｒｄ５０１とｄｕｒａｔｉｏｎ５０２は関連付けされており、対応している。例えば、ｃｌｏｗｄｙというｗｏｒｄ５０１に対応するｄｕｒａｔｉｏｎ５０２は２．０である。ｄｕｒａｔｉｏｎ５０２の単位は、本実施の形態においては、秒とし、例えばｃｌｏｗｄｙという単語を発声するために必要な時間は図５のテーブルでは２．０秒である。なお、単位に関しては、他の単位を用いても同様の効果が得られる。【００３８】
ところで、基準音声合成長演算部用制御部４０１が文字列バッファ部１０２からのデータ更新通知を受けると、更新された文字列データを読み出すように読み出し要求を文字列バッファ部１０２に出す。そして、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」が文字列バッファ部１０２から出力された場合、まず、この文字列は文字列一時格納部４０２に保持される。そして、基準音声合成長演算部用制御部４０１は、読み上げ時間長加算部４０３内に格納されている読み上げ時間長を０にする。文字列一時格納部４０２は基準音声合成長演算部用制御部４０１からの要求に応じ、格納されている文字列を単語単位に分割する。そして、文字列一時格納部４０２は、単語単位に読み上げ時間長加算部４０３に出力する。すなわち、文字列「ＮＥＸＴ」、「ＩＳ」、「ＷＥＡＴＨＥＲ」、「ＦＯＲＣＡＳＴ」と単語単位に出力される。読み上げ時間長加算部４０３は文字列一時格納部４０２より出力される単語単位の文字列データを単語読み上げ時間長基準データ部４０４に参照する。そして、読み上げ時間長加算部４０３は、それらの各単語に対応した図５におけるｄｕｒａｔｉｏｎ５０２を読み上げ時間長に加算していく。各単語の図５におけるｄｕｒａｔｉｏｎ５０２は本例の場合、文字列「ＮＥＸＴ」は１．５秒、文字列「ＩＳ」は１．０秒、文字列「ＷＥＡＴＨＥＲ」は２．０秒、文字列「ＦＯＲＣＡＳＴ」は２．５秒となり、加算結果は単語のみで７．０秒となる。【００３９】
なお、読み上げ時間長加算部４０３は、各単語間に挿入されているスペース文字、ピリオド、コンマ等も単語同様に扱う。例えばスペース文字、ピリオド、コンマに各０．５秒を割り当てている場合、「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」という文字列には計３つのスペース文字が挿入されているため、１．５秒が加算される。その結果、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」の全ての単語およびスペース文字、ピリオド、コンマ等が処理された後の読み上げ時間長は８．５秒である。読み上げ時間長加算部４０３は、演算した読み上げ時間長を含む読み上げ時間長信号を制御部１０４に出力する。【００４０】
単語読み上げ時間長基準データ部４０４内のｄｕｒａｔｉｏｎ５０２にすでに各単語の認識性を高めるための時間が加算されている場合は、別途スペース文字での時間を加算する必要はない。本実施の形態では、英語で使用されるスペース、ピリオド、コンマ等を例に挙げたが、他の言語を扱う場合は各言語で使用される句読点を同様に扱うことにより同様の効果が得られる。【００４１】
本実施の形態では、１６単語のみが、単語読み上げ時間長基準データ部４０４内に格納されている例を示した。しかし、実際には発声する言語で一般的に使われる単語は、単語読み上げ時間長基準データ部４０４に含めることが望ましい。【００４２】
なお、１つの言語のみならず、複数言語に対応した単語読み上げ時間長基準データ部４０４を持つことにより多言語対応が可能となる。複数言語に対応する場合、以下のようにして、よりデータの効率化を図ることができる。すなわち、よりデータの効率化を図るために、１つの単語読み上げ時間長基準データ部４０４内に複数言語のデータを格納してもよい。または、言語ごとに複数の単語読み上げ時間長基準データ部４０４を設けてもよい。または、各言語で共通した単語を１つの１つの単語読み上げ時間長基準データ部４０４内に格納し、各言語固有の単語に関しては別の単語読み上げ時間長基準データ部４０４を設けてもよい。【００４３】
なお、単語読み上げ時間長基準データ部４０４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部４０４は次の方法で単語の読み上げ時間長を出力することとする。すなわち、単語読み上げ時間長基準データ部４０４に存在しない単語が参照された場合の単語読み上げ時間長基準データ部４０４の出力方法は、例えば該当する単語の文字数に応じ演算する、類似する単語と同様の単語の読み上げ時間長とするなどである。【００４４】
なお、単語読み上げ時間長基準データ部４０４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部４０４の出力方法は、単語をさらに詳細に分割し、分割した単位ごとにテーブルを持つことでも可能である。例えば、「ｉｍｐｌｅｍｅｎｔａｔｉｏｎ」という単語は、文字列「ｉｍ」、文字列「ｐｌｅ」、文字列「ｍｅｎ」、文字列「ｔａｔｉｏｎ」と単語を分割可能である。そして、各分割した要素ごとの発声に必要な時間を単語読み上げ時間長基準データ部４０４内に格納しておけば、単語単位での単語読み上げ時間長基準データ部４０４が存在しなくても単語の要素ごとに発声した場合に必要な時間を加算することができる。その結果、実際に単語単位で発声した際に必要な時間が求められる。【００４５】
また、単語読み上げ時間長基準データ部４０４内には単語ごとに発声した場合にかかる時間は保持せず、単語を分割した単位での発声にかかる時間を保持しておいても、同様の効果が得られる。【００４６】
なお、本実施の形態のように単語読み上げ時間長基準データ部４０４内に単語の読み上げ時間長を算出するためのデータベースを持つ以外に、言語の発声ルールを基に文字列より単語の読み上げ時間長を算出するアルゴリズムを用いても、同様の効果が得られる。【００４７】
次に、図６を用いて制御部メモリ１０５に格納されている時間情報６０１の説明、及び制御部１０４での演算処理の説明をする。図６には、例として時間情報６０１には、時間情報である文字列「１２：００：００」が格納されている。本例では、図３において示した文字列バッファ１に格納されていた時間情報３０１である文字列「１２：００：００」と格納文字列３０２である文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」とが、制御部１０４において処理された後の状態として説明する。制御部１０４は、基準音声合成長演算部１０３より読み上げ時間長信号を受け取ると、文字列バッファ部１０２より時間情報３０１及び格納文字列３０２を読み出す。制御部１０４は、演算対象のデータの時間情報３０１の文字列「１２：００：０３」と格納文字列３０２の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」とを処理する際に、まず基準音声合成長演算部１０３において演算して、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１０６が基準速度で発声した場合に要する時間を求める。【００４８】
これには、基準音声合成長演算部１０３が出力する読み上げ時間長信号を用いることができる。また、制御部１０４が、図５のテーブルを用いて演算して求めてもよい。その結果、単語のみの発声に１０．５秒を要することがわかる。そして、単語間のスペース文字、計６個に対し、各０．５秒ずつ要するとすれば、基準速度で発声した場合に要する時間はさらに３秒必要である。したがって、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１０６が基準速度で発声した場合に要する時間は１３．５秒と求められる。【００４９】
次に、制御部１０４は、制御部メモリ１０５に記憶されている時間情報６０１の文字列「１２：００：００」を読み出し、演算対象のデータである時間情報３０１の文字列「１２：００：０３」との時間の差分を求める。この場合、時間の差分の演算結果は３秒である。そして、制御部１０４は、音声合成部１０６が基準速度で発声した場合に１３．５秒が必要である文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を、時間の差分の演算結果である３秒で発音を完了するために必要な読み上げ速度率を演算する。例えば、基準速度で発声する場合を１００とした場合、以下の公式により読み上げ速度率を演算する。すなわち、「読み上げ速度率」＝「基準速度で発声した場合に要する時間」÷「時間の差分」×１００である。【００５０】
本例では、上述した公式により、読み上げ速度率は、１３．５÷３×１００＝４５０となる。制御部１０４は、この値（ここでは４５０）を読み上げ速度率を示す読み上げ速度率信号として音声合成部１０６に出力する。そして、制御部１０４は、制御部メモリ１０５に格納されている時間情報６０１を、文字列バッファ２に格納されている時間情報３０１である文字列「１２：００：０３」に更新する。【００５１】
音声合成部１０６は、制御部１０４より読み上げ速度率信号を受け取ると、文字列バッファ部１０２より文字列を読み出し、受け取った読み上げ速度率信号が示す読み上げ速度率で文字列を読み上げる。音声合成部１０６が音声合成を行う音声の発声速度は、制御部１０４から出力される読み上げ速度率が１００の場合、基準音声合成長演算部１０３において演算される基準速度と同一である。また、制御部１０４から出力される読み上げ速度率に正比例して可変する。例えば、制御部１０４から出力される読み上げ速度率が２００の場合は、基準音声合成長演算部１０３で演算される基準速度の倍の速度で発声する。その結果、発声に要する時間は半分となる。また、制御部１０４から出力される読み上げ速度率が５０の場合、基準音声合成長演算部１０３で演算される基準速度の半分の速度で発声する。その結果、発声に要する時間は倍となる。【００５２】
なお、本実施の形態では、文字列バッファ部１０２内の時間情報３０１は、格納文字列３０２と関連付けされている。すなわち、文字列バッファ部１０２は、文字情報入力部１０１より文字列が文字列バッファ部１０２に入力された時間を時間情報３０１として格納する。しかし、文字情報入力部１０１より文字列と共に時間情報が入力された場合、文字情報入力部１０１より文字列が文字列バッファ部１０２に入力された時間の代わりに、文字列と共に入力された時間情報を文字列バッファ部１０２に格納することとしても同様の効果が得られる。すなわち、メモリとしての制御手段部メモリ１０５に記憶されている文字列の時間情報は、文字情報入力部１０１より入力された文字列に付随する提示時間情報であってもよい。例えば、テレビ放送において使用される字幕情報には画面上に表示する時刻を記した時間情報が文字列と共に送られてくる。この画面上に表示する時刻を文字列バッファ部１０２内の時間情報３０１として記憶し用いることにより、より字幕の音声合成に適した音声合成を行うことができる。【００５３】
なお、本実施の形態では、制御部１０４は、基準音声合成長演算部１０３において演算される基準速度を用いて、音声合成部１０６が音声合成を行う音声の発声速度を、制御している。しかし、単純に発音する文字列の文字数や単語数を用いて、音声合成部１０６が音声合成を行う音声の発声速度を、制御部１０４が制御しても同様の効果が得られる。【００５４】
すなわち、文字数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、スペース文字を含め３６文字の文字列である。この文字数に基づいて、制御部１０４が例えば、読み上げ速度率を「文字数」×「１０」という公式で演算してもよい。そして、制御部１０４が、その算出結果の３６０を読み上げ速度率として音声合成部１０６に出力する。このように、制御部１０４は、文字列バッファ部１０２に記憶されている文字列の文字数に基づき、読み上げ速度率を演算してもよい。【００５５】
また、単語数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、６単語の文字列である。この単語数に基づいて、制御部１０４が例えば、読み上げ速度率を「単語数」×「８０」という公式で演算してもよい。そして、制御部１０４が、その算出結果の４８０を読み上げ速度率として音声合成部１０６に出力する。このように、制御部１０４は、文字列バッファ部１０２に記憶されている文字列の単語数に基づき、読み上げ速度率を演算してもよい。【００５６】
上述したように、本実施の形態の文字情報提示装置は、文字列の時間情報を記憶するメモリとしての制御部メモリ１０５と、文字列の入力を受け付ける文字情報入力部１０１と、文字情報入力部１０１に文字列が入力された場合に、文字列を記憶するとともに更新通知信号を出力する文字列バッファ部１０２と、更新通知信号を受信すると、文字列バッファ部１０２に記憶されている文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部１０３とを備えている。また、基準音声合成長演算部１０３より出力される読み上げ時間長信号、この読み上げ時間長信号に対応し文字列バッファ部１０２に記憶されている文字列の時間情報、及びメモリに記憶されている文字列の時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部１０４と、文字列バッファ部１０２に読み出し要求を出し、読み上げ速度率信号に基づき文字列バッファ部１０２より入力される文字列の音声合成をする音声合成部１０６とを備えている。【００５７】
このような構成により、文字列を「基準速度で発声した場合に要する時間」である読み上げ時間長信号に含まれる読み上げ時間長と、文字列が入力される時間情報の間隔である文字列バッファ部１０２に記憶されている文字列の時間情報及びメモリに記憶されている文字列の時間情報の間隔、すなわち、それぞれの時間情報の「時間の差分」とを上述した公式に用いることにより、制御部１０４は、「読み上げ速度率」を算出できる。【００５８】
このように音声合成の速度の演算を行い、音声合成部１０６は算出された読み上げの速度に基づき文字情報の提示を行うことができる。また、制御部１０４は文字列の音声合成に要する時間と文字列と共に入力される文字列の時間情報の間隔を用い、音声合成の速度の演算を行うこともできる。したがって、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列の読み上げ速度率を最適な値に設定し聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。【００５９】
（実施の形態２）
図７は、本発明の実施の形態２における文字情報提示装置の構成を示すブロック図である。図７に示すように本実施の形態における文字情報提示装置は、文字情報入力部７０１、文字列バッファ部７０２、基準音声合成長演算部７０３、制御部７０４、文字列の時間情報を記憶するメモリとしての制御部メモリ７０５、音声合成部７０６、音声出力部７０７を含む。実施の形態１における文字情報提示装置の文字情報入力部１０１は、文字列の入力を受け付けた。しかし、本実施の形態における文字情報提示装置の文字情報入力部７０１は、文字列、提示時間情報、及び消去時間情報の入力を受け付けることが、実施の形態１における文字情報提示装置と異なる。【００６０】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。文字情報入力部７０１より入力された文字列、提示時間情報、及び消去時間情報は、文字列バッファ部７０２に入力され、記憶される。【００６１】
文字列バッファ部７０２は、基準音声合成長演算部７０３、制御部７０４及び音声合成部７０６からの要求により、文字列、提示時間情報、及び消去時間情報の出力を行う。新しい文字列が文字情報入力部７０１より入力され、文字列バッファ部７０２に記憶された場合、文字列バッファ部７０２は更新通知信号を基準音声合成長演算部７０３に出す。【００６２】
基準音声合成長演算部７０３、制御部７０４、及び音声合成部７０６の動作は、図１において示した実施の形態１における基準音声合成長演算部１０３、制御部１０４、及び音声合成部１０６の動作と、それぞれ同様であるので説明を省略する。それらの詳細な動作については、別途、後述する。【００６３】
次に、図８を用いて、文字列バッファ部７０２に記憶されている時間情報、消去時間情報、及び文字列のデータ構造体の一例を示す。図８は、本実施の形態における文字列バッファ部７０２に記憶されている時間情報、及び消去時間情報、及び文字列のデータ構造体の一例を示す模式図である。本例では、文字列バッファ部７０２は、ｓｔｒｂｕｆｆとｓｔｒｉｎｇＦＩＦＯと名づけたデータ構造体を用いて記述して、ソフトウエアにより構成している。本例では、文字列バッファ部７０２は、最大５つまでの文字列の表示開始時間、文字列の表示終了時間、文字列を変数であるｄｉｓｐｌａｙ＿ｔｉｍｅ、ｅｒａｓｅ＿ｔｉｍｅ及びｓｔｒにそれぞれ記憶する。また、記憶されている文字列の最後のデータ位置を変数であるｌａｓｔｓｔｒに記憶する。【００６４】
本例では、文字列を記憶する変数であるｓｔｒには最大２５６文字まで格納可能としているが、それ以上であっても同様の効果が得られる。また、入力される文字列の長さにより確保する文字列長を可変させても、同様の効果が得られる。本例でのｉｎｔ６４は６４ビット整数型、ｃｈａｒは８ビット文字型、ｉｎｔは３２ビット整数型としているが、他のビット数及び他の型であっても同様の効果が得られる。なお、本実施例でも、文字列バッファ部７０２は、ＣＰＵやメモリなどのハードエウアの動作を規定するソフトウエアにより記述して構成している。ハードウエアのみでも実現可能であるが、ソフトウエアを用いることにより、より柔軟に各種の設定を変更可能であり、かつ低コストで実現できるなどの利点がある。【００６５】
次に、図９を用いて、図８において示したデータ構造体に格納されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５は、図８のデータ構造体での変数であるｂｕｆｆ［０］、ｂｕｆｆ［１］、ｂｕｆｆ［２］、ｂｕｆｆ［３］及びｂｕｆｆ［４］に対応する。そして、各ｂｕｆｆ内には提示時間情報９０１、消去時間情報９０２及び格納文字列９０３が格納されており、例えば、文字列バッファ１に格納されている提示時間情報９０１はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｔｉｍｅとして示すことができる。また、文字列バッファ１に格納されている消去時間情報９０２はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｅｒａｓｅ＿ｔｉｍｅとして示すことができる。そして、文字列バッファ１に格納されている格納文字列９０３はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｓｔｒとして示すことができる。【００６６】
本実施の形態における提示時間情報９０１及び消去時間情報９０２は、一般的なコンピュータ言語で用いられる協定世界時（ＵＴＣ）、１９７０年１月１日の０時（００：００：００）を基点とした経過秒数を格納することとする。図９では、時、分、及び秒のみ記載しているが、実際には、年、及び月も含めたデータを格納していることとする。なお、本実施の形態では他の方式で提示時間情報９０１や消去時間情報９０２を格納していたとしても同様の効果が得られる。【００６７】
図９に示している最終データ位置９０４に格納されるデータは、現在有効なデータが格納されている文字列バッファ部７０２の最終データの位置を示す。例えば、図９の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されており、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしている。したがって、最終データ位置９０４に格納されているデータは有効なデータの内の最終データである文字列バッファ３を示す。図９において、最終データ位置９０４は、図８のデータ構造体例では、変数であるｌａｓｔｓｔｒに対応する。文字情報入力部７０１より入力された文字列、提示時間情報、及び消去時間情報は、文字列バッファ部７０２に入力され、対応する格納文字列９０３、提示時間情報９０１、及び消去時間情報９０２に格納される。また、図９に示すように、文字列バッファ１から文字列バッファ５に格納されている提示時間情報９０１、及び消去時間情報９０２は、格納文字列９０３と関連付けられている。【００６８】
次に、具体的な文字列バッファ部７０２の動作について説明する。例えば、図９のデータ格納状態において、提示時間情報９０１として文字列「１２：００：１０」と、消去時間情報９０２として文字列「１２：００：１３」と、格納文字列９０３として文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」とが入力された場合を想定する。この場合、次の空き文字列バッファである文字列バッファ４の提示時間情報９０１に文字列「１２：００：１０」が格納され、文字列バッファ４の消去時間情報９０２に文字列「１２：００：１３」が格納され、文字列バッファ４の格納文字列９０３に文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が格納される。そして、最終データ位置９０４は、文字列バッファ４を示すように変更される。【００６９】
また、図９のデータ格納状態において、１つの文字列バッファを削除するように指示があった場合は、文字列バッファ２に格納されているデータを文字列バッファ１に複製する。そして、文字列バッファ３に格納されているデータを文字列バッファ２に複製する。さらに、文字列バッファ４に格納されているデータを文字列バッファ３に複製する。また、文字列バッファ５に格納されているデータを文字列バッファ４に複製する。そして、最終データ位置９０４を現在示している文字列バッファの図９での１つ上側の文字列バッファ、すなわち図９のデータ格納状態では最終データ位置９０４は文字列バッファ２を示すように変更する。【００７０】
上述したように、本実施の形態では、データの削除は必ず文字列バッファ１より行うこととしている。そして、後続するデータは文字列バッファ２を文字列バッファ１に複製し、文字列バッファ３を文字列バッファ２に複製しながらシフトしていくこととしている。しかし、本データ構造体の要素に加え、開始データ位置を示す変数を追加してもよい。そして、その開始データ位置がデータの削除を行うデータを示すものとする。すなわち、データ削除が行われると、開始データ位置が示す文字列バッファ位置が、例えば現在文字列バッファ１を示しているのであれば、文字列バッファ２を示すように変更する。また、現在、文字列バッファ２を示しているのであれば、文字列バッファ３を示すように変更してもよい。このようにすることにより、処理の高速化を達成するとともに同様の効果が得られる。【００７１】
なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。【００７２】
以下では、図７を用いて、本実施の形態における文字情報提示装置の動作の詳細について説明する。図７に示すように文字列バッファ部７０２は、基準音声合成長演算部７０３、制御部７０４、及び音声合成部７０６からの要求に応じて、格納されている各データの内容を出力する。【００７３】
また、データの削除は音声合成部７０６が文字列バッファ部７０２よりデータを読み出した際、音声合成部７０６よりデータ削除要求が文字列バッファ部７０２に出されることに基づいて実行する。また、文字情報入力部７０１が、文字列を文字列バッファ部７０２に入力すると、文字列バッファ部７０２は格納されているデータが更新されたことを示す更新通知信号を基準音声合成長演算部７０３、制御部７０４、及び音声合成部７０６に通知する。【００７４】
図７における基準音声合成長演算部７０３は、文字列バッファ部７０２内の文字列を音声合成部７０６が基準速度で発声した場合にかかる時間を、算出する。図１０は、基準音声合成長演算部７０３の内部構成を示すブロック図である。基準音声合成長演算部７０３は、基準音声合成長演算部用制御部１００１、文字列一時格納部１００２、読み上げ時間長加算部１００３、単語読み上げ時間長基準データ部１００４を含む。【００７５】
次に、このように構成された基準音声合成長演算部７０３の動作について説明する。ここで、基準音声合成長演算部７０３に含まれる基準音声合成長演算部用制御部１００１、文字列一時格納部１００２、読み上げ時間長加算部１００３、単語読み上げ時間長基準データ部１００４の動作は、図４において示した実施の形態１における基準音声合成長演算部１０３に含まれる基準音声合成長演算部用制御部４０１、文字列一時格納部４０２、読み上げ時間長加算部４０３、単語読み上げ時間長基準データ部４０４の動作と、それぞれ同様であるので説明を省略する。【００７６】
次に、図１１を用いて、単語読み上げ時間長基準データ部１００４内に格納されているデータの一例を示す。データの例として、単語１１０１（図１１では、「ｗｏｒｄ１１０１」と表す）の欄と、単語１１０１を基準速度で発声した場合にかかる時間である読み上げ時間長１１０２（図１１では、「ｄｕｒａｔｉｏｎ１１０２」と表す）の欄とを示している。【００７７】
ｗｏｒｄ１１０１とｄｕｒａｔｉｏｎ１１０２は関連付けされており、対応している。例えば、ｃｌｏｗｄｙというｗｏｒｄ１１０１に対応するｄｕｒａｔｉｏｎ１１０２は２．０である。ｄｕｒａｔｉｏｎ１１０２の単位は本実施の形態は秒とし、例えばｃｌｏｗｄｙという単語を発声するために必要な時間は図１１のテーブルでは２．０秒である。なお、単位に関しては、他の単位を用いても同様の効果が得られる。【００７８】
ところで、基準音声合成長演算部用制御部１００１が文字列バッファ部７０２からのデータ更新通知を受けると、更新された文字列データを読み出すように読み出し要求を文字列バッファ部７０２に出す。そして、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」が文字列バッファ部７０２から出力された場合、まず、この文字列は文字列一時格納部１００２に保持される。そして、基準音声合成長演算部用制御部１００１は、読み上げ時間長加算部１００３内に格納されている読み上げ時間長を０にする。文字列一時格納部１００２は基準音声合成長演算部用制御部１００１からの要求に応じ、格納されている文字列を単語単位に分割する。そして、文字列一時格納部１００２は、単語単位に読み上げ時間長加算部１００３に出力する。すなわち、文字列「ＮＥＸＴ」、「ＩＳ」、「ＷＥＡＴＨＥＲ」、「ＦＯＲＣＡＳＴ」と単語単位に出力される。読み上げ時間長加算部１００３は文字列一時格納部１００２より出力される単語単位の文字列データを単語読み上げ時間長基準データ部１００４に参照する。そして、読み上げ時間長加算部１００３は、それらの各単語に対応した図１１におけるｄｕｒａｔｉｏｎ１１０２を読み上げ時間長に加算していく。各単語の図１１におけるｄｕｒａｔｉｏｎ１１０２は本例の場合、文字列「ＮＥＸＴ」は１．５秒、文字列「ＩＳ」は１．０秒、文字列「ＷＥＡＴＨＥＲ」は２．０秒、文字列「ＦＯＲＣＡＳＴ」は２．５秒となり、加算結果は単語のみで７．０秒となる。【００７９】
なお、読み上げ時間長加算部１００３は、各単語間に挿入されているスペース文字、ピリオド、コンマ等も単語同様に扱う。例えばスペース文字、ピリオド、コンマに各０．５秒を割り当てている場合、「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」という文字列には計３つのスペース文字が挿入されているため、１．５秒が加算される。その結果、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」の全ての単語およびスペース文字、ピリオド、コンマ等が処理された後の読み上げ時間長は８．５秒である。読み上げ時間長加算部１００３は、演算した読み上げ時間長は制御部７０４に出力する。【００８０】
単語読み上げ時間長基準データ部１００４内のｄｕｒａｔｉｏｎ１１０２にすでに各単語の認識性を高めるための時間が加算されている場合は、別途スペース文字での時間を加算する必要はない。本実施の形態では、英語で使用されるスペース、ピリオド、コンマ等を例に挙げたが、他の言語を扱う場合は各言語で使用される句読点を同様に扱うことにより同様の効果が得られる。【００８１】
本実施の形態では、１６単語のみ単語読み上げ時間長基準データ部内に格納されていることとしている例を示したが、実際には発声する言語で一般的に使われる単語は単語読み上げ時間長基準データ部１００４に含めることが望ましい。【００８２】
なお、１つの言語のみならず、複数言語に対応した単語読み上げ時間長基準データ部１００４を持つことにより多言語対応が可能となる。複数言語に対応する場合、以下のようにして、よりデータの効率化を図ることができる。すなわち、よりデータの効率化を図るために、１つの単語読み上げ時間長基準データ部１００４内に複数言語のデータを格納してもよい。または、言語ごとに複数の単語読み上げ時間長基準データ部１００４を設けてもよい。または、各言語で共通した単語を１つの１つの単語読み上げ時間長基準データ部１００４内に格納し、各言語固有の単語に関しては別の単語読み上げ時間長基準データ部１００４を設けてもよい。【００８３】
なお、単語読み上げ時間長基準データ部１００４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部１００４は次の方法で単語読み上げ時間長を出力することとする。すなわち、単語読み上げ時間長基準データ部１００４に存在しない単語が参照された場合の単語読み上げ時間長基準データ部１００４の出力方法は、例えば該当する単語の文字数に応じ演算する、類似する単語と同様の単語読み上げ時間長とするなどである。【００８４】
なお、単語読み上げ時間長基準データ部１００４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部１００４の出力方法は、単語をさらに詳細に分割し、分割した単位ごとにテーブルを持つことでも可能である。例えば、「ｉｍｐｌｅｍｅｎｔａｔｉｏｎ」という単語は、文字列「ｉｍ」、文字列「ｐｌｅ」、文字列「ｍｅｎ」、文字列「ｔａｔｉｏｎ」と単語を分割可能である。そして、各分割した要素ごとの発声に必要な時間を単語読み上げ時間長基準データ部１００４内に格納しておけば、単語単位での単語読み上げ時間長基準データ部１００４が存在しなくても単語の要素ごとに発声した場合に必要な時間を加算することができる。その結果、実際に単語単位で発声した際に必要な時間が求められる。【００８５】
また、単語読み上げ時間長基準データ部１００４内には単語ごとに発声した場合にかかる時間は保持せず、単語を分割した単位での発声にかかる時間を保持しておいても同様の効果が得られる。【００８６】
なお、本実施の形態のように単語読み上げ時間長基準データ部１００４内に単語読み上げ時間長を算出するためのデータベースを持つ以外に、言語の発声ルールを基に文字列より単語読み上げ時間長を算出するアルゴリズムを用いても同様の効果が得られる。【００８７】
次に、図９を用いて制御部７０４の演算処理を詳細に説明する。本例では、図９において示した文字列バッファ２に格納されている提示時間情報９０１である文字列「１２：００：０３」と、消去時間情報９０２である文字列「１２：００：０６」と、格納文字列９０３である文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」とが、制御部７０４において処理された場合として説明する。制御部７０４は基準音声合成長演算部７０３より読み上げ時間長信号を受け取ると文字列バッファ部７０２より提示時間情報９０１及び格納文字列９０３を読み出す。制御部７０４は演算対象のデータの提示時間情報９０１の文字列「１２：００：０３」と、消去時間情報９０２の文字列「１２：００：０６」と格納文字列９０３の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」とを処理する際に、まず基準音声合成長演算部７０３において演算して、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部７０６が基準速度で発声した場合に要する時間を求める。【００８８】
これには、基準音声合成長演算部７０３が出力する読み上げ時間長信号を用いることができる。また、制御部７０４が、図１１のテーブルを用いて演算して求めてもよい。その結果、単語のみの発声に１０．５秒を要することがわかる。そして、単語間のスペース文字、計６個に対し、各０．５秒ずつ要するとすると追加で３秒必要であり、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部７０６が基準速度で発声した場合に要する時間は１３．５秒と求められる。【００８９】
次に、制御部７０４は、文字列バッファ２に格納されている提示時間情報９０１である文字列「１２：００：０３」と消去時間情報９０２である文字列「１２：００：０６」との時間の差分を求める。この場合、時間の差分の演算結果は３秒である。そして、制御部７０４は、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を基準速度で発声した場合に要する時間である１３．５秒を時間の差分の演算結果である３秒で発音を完了するために必要な読み上げ速度率を演算する。例えば、基準速度で発声する場合を１００とした場合、以下の公式により読み上げ速度率を演算する。すなわち、「読み上げ速度率」＝「基準速度で発声した場合に要する時間」÷「時間の差分」×１００である。【００９０】
本例では、上述した公式により、読み上げ速度率は、１３．５÷３×１００＝４５０となる。制御部７０４は、この値（ここでは４５０）を読み上げ速度率を示す読み上げ速度率信号として音声合成部７０６に出力する。【００９１】
音声合成部７０６は、制御部７０４より読み上げ速度率信号を受け取ると、文字列バッファ部７０２より文字列を読み出し、受け取った読み上げ速度率信号が示す読み上げ速度率で文字列を読み上げる。音声合成部７０６が音声合成を行う音声の発声速度は、制御部７０４から出力される読み上げ速度率が１００の場合に基準音声合成長演算部７０３において演算される基準速度と同一である。また、制御部７０４から出力される読み上げ速度率に正比例して可変する。例えば制御部７０４から出力される読み上げ速度率が２００の場合は、基準音声合成長演算部７０３において演算される基準速度の倍の速度で発声する。その結果、発声に要する時間は半分となる。また、制御部７０４から出力される読み上げ速度率が５０の場合は、基準音声合成長演算部７０３において演算される基準速度の半分の速度で発声する。その結果、発声に要する時間は倍となる。【００９２】
なお、本実施の形態では、制御部７０４は基準音声合成長演算部７０３において演算される基準速度を用いて、音声合成部７０６が音声合成を行う音声の発声速度を制御している。しかし、単純に発音する文字列の文字数や単語数により音声合成部７０６が音声合成を行う音声の発声速度を、制御部７０４が制御しても同様の効果が得られる。【００９３】
すなわち、文字数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、スペース文字を含め３６文字の文字列である。この文字数に基づいて、制御部７０４が例えば、読み上げ速度率を「文字数」×「１０」という公式で演算してもよい。そして、制御部７０４がその算出結果の３６０を読み上げ速度率として音声合成部７０６に出力してもよい。制御部７０４は、文字列バッファ部７０２に記憶されている文字列の文字数に基づき、読み上げ速度率を演算してもよい。【００９４】
また、単語数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、６単語の文字列である。この単語数に基づいて、制御部７０４が例えば、読み上げ速度率を「単語数」×「８０」という公式で演算し、結果４８０を読み上げ速度率として音声合成部７０６に出力してもよい。このように、制御部７０４は、文字列バッファ部７０２に記憶されている文字列の単語数に基づき、読み上げ速度率を演算してもよい。【００９５】
このように、本実施の形態の文字情報提示装置は、メモリとしての制御手段メモリ７０５に記憶されている文字列の時間情報は、文字情報入力部７０１より入力された文字列に付随する提示時間情報９０１と消去時間情報９０２であることを特徴とする。このようにすることで、文字列の音声合成に要する時間と文字列の提示時間情報、及び消去時間情報を用い、音声合成の速度を演算することにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列の読み上げ速度率を最適な値に設定し聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。【００９６】
（実施の形態３）
図１２は、本発明の実施の形態３における文字情報提示装置の構成を示すブロック図である。図１２に示すように本実施の形態における文字情報提示装置は、文字情報入力部１２０１、文字列バッファ部１２０２、基準音声合成長演算部１２０３、制御部１２０４、文字列の時間情報を記憶するメモリとしての制御部メモリ１２０５、音声合成部１２０６、音声出力部１２０７を含む。本実施の形態における文字情報提示装置の文字情報入力部１２０１は、メモリとしての制御部メモリ１２０５が、さらに、所定の数の読み上げ速度率信号の履歴を記憶することが、実施の形態１におけると文字情報提示装置と異なる。そして、制御部１２０４は、基準音声合成長演算部１２０３より入力される読み上げ時間長信号、文字列バッファ部１２０２より読み出した読み上げ時間長信号に対応する文字列の時間情報、及びメモリに記憶された時間情報に基づき算出した読み上げ速度率信号と、メモリに記憶された所定の数の読み上げ速度率信号の履歴に基づき、読み上げ速度率信号を算出することを特徴とする。【００９７】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。本実施の形態における文字情報提示装置に含まれる文字情報入力部１２０１、文字列バッファ部１２０２、基準音声合成長演算部１２０３、音声合成部１２０６、及び音声出力部１２０７の動作は、実施の形態１における文字情報提示装置に含まれる文字情報入力部１０１、文字列バッファ部１０２、基準音声合成長演算部１０３、音声合成部１０６、音声出力部１０７の動作と、それぞれ同様であるので説明を省略する。【００９８】
制御部１２０４は、基準音声合成長演算部１２０３より入力される読み上げ時間長信号、文字列バッファ部１２０２より読み出した読み上げ時間長信号に対応する文字列の時間情報、及びメモリに記憶された時間情報に基づき算出した読み上げ速度読み上げ速度率信号と、メモリに記憶された所定の数の読み上げ速度読み上げ速度率信号の履歴に基づき、読み上げ速度読み上げ速度率信号を算出する。そして、メモリとしての制御部メモリ１２０５は、所定の数の読み上げ速度読み上げ速度率信号の履歴を記憶する。また、制御部１２０４は、演算結果に基づき読み上げ速度率信号を音声合成部１２０６に出力する。【００９９】
次に、図１３を用いて、文字列バッファ部１２０２に記憶されている時間情報や文字列のデータ構造体の一例を示す。図１３は、本実施の形態における文字列バッファ部１２０２に記憶されている時間情報や文字列のデータ構造体の一例を示す模式図である。本例では、文字列バッファ部１２０２は、ｓｔｒｂｕｆｆとｓｔｒｉｎｇＦＩＦＯと名づけたデータ構造体を用いて記述して、ソフトウエアにより構成している。本例では、文字列バッファ部１２０２は、文字列の表示開始時間または到来時間を、変数であるｔｉｍｅに記憶する。また、文字列バッファ部１２０２は、最大５つまでの文字列を、変数であるｓｔｒに記憶する。そして、詳細な説明は後述するが、変数であるｂｕｆｆに文字列を格納する。また、記憶されている文字列の最後のデータ位置を変数であるｌａｓｔｓｔｒに記憶する。【０１００】
本例では、文字列を記憶する変数であるｓｔｒには最大２５６文字まで格納可能としているが、それ以上であっても同様の効果が得られる。また、入力される文字列の長さにより確保する文字列長を可変させても、同様の効果が得られる。本例でのｉｎｔ６４は６４ビット整数型、ｃｈａｒは８ビット文字型、ｉｎｔは３２ビット整数型としているが、他のビット数及び他の型であっても同様の効果が得られる。なお、本実施例では、文字列バッファ部１２０２は、ＣＰＵやメモリなどのハードエウアの動作を規定するソフトウエアにより記述して構成している。ハードウエアのみでも実現可能であるが、ソフトウエアを用いることにより、より柔軟に各種の設定を変更可能であり、かつ低コストで実現できるなどの利点がある。【０１０１】
次に、図１４を用いて、図１３において示したデータ構造体に格納されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５は、図１３のデータ構造体での変数であるｂｕｆｆ［０］、ｂｕｆｆ［１］、ｂｕｆｆ［２］、ｂｕｆｆ［３］及びｂｕｆｆ［４］に対応する。そして、各ｂｕｆｆ内には時間情報１４０１と格納文字列１４０２とが格納されている。例えば、文字列バッファ１に格納されている時間情報１４０１はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｔｉｍｅ、文字列バッファ１に格納されている格納文字列１４０２はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｓｔｒとして示すことができる。【０１０２】
本実施の形態における時間情報１４０１は、一般的なコンピュータ言語で用いられる協定世界時（ＵＴＣ）、１９７０年１月１日の０時（００：００：００）を基点とした経過秒数を格納することとする。図１４では、時、分、及び秒のみ記載しているが、実際には、年、及び月も含めたデータを格納していることとする。なお、本実施の形態では他の方式で時間情報１４０１を格納していたとしても同様の効果が得られる。【０１０３】
図１４に示している最終データ位置１４０３に格納されるデータは、現在有効なデータが格納されている文字列バッファ部１２０２の最終データの位置を示す。例えば、図１４の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されおり、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしている。したがって、最終データ位置１４０３に格納されているデータは有効なデータの内の最終データである文字列バッファ３を示す。図１４において、最終データ位置１４０３は、図１３のデータ構造体例では、変数であるｌａｓｔｓｔｒに対応する。文字列バッファ１から文字列バッファ５に格納されている時間情報１４０１は、格納文字列１４０２と関連付けられており、文字列の表示開始時間または到来時間を時間情報１４０１として文字列バッファ部１２０２が格納することとする。【０１０４】
次に、具体的な文字列バッファ部１２０２の動作について説明する。図１４のデータ格納状態において示すように、各文字列バッファ１から文字列バッファ５は時間情報１４０１、および格納文字列１４０２が格納されている。そして、最終データ位置１４０３が、文字列バッファ３を示している。このように、本実施の形態における文字列バッファ部１２０２に格納されている時間情報１４０１、格納文字列１４０２、及び最終データ位置１４０３は、実施の形態１における図３に示した文字列バッファ部１０２に格納されている時間情報３０１、格納文字列３０２、及び最終データ位置３０３とそれぞれ同様である。そして、新しい文字列の入力されたときや１つの文字列バッファを削除するときの動作も同様である。したがって、詳細な説明は省略する。【０１０５】
なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。【０１０６】
以下では、図１２を用いて、本実施の形態における文字情報提示装置の動作の詳細について説明する。図１２に示すように文字列バッファ部１２０２は、基準音声合成長演算部１２０３、制御部１２０４、及び音声合成部１２０６からの要求に応じて、格納されている各データの内容を出力する。また、データの削除は音声合成部１２０６が文字列バッファ部１２０２よりデータを読み出した際、音声合成部１２０６よりデータ削除要求が文字列バッファ部１２０２に出されることに基づいて実行する。また、文字情報入力部１２０１が、文字列を文字列バッファ部１２０２に入力すると、文字列バッファ部１２０２は格納されているデータが更新されたことを示す更新通知信号を基準音声合成長演算部１２０３、制御部１２０４、及び音声合成部１２０６に通知する。【０１０７】
図１２における基準音声合成長演算部１２０３は、文字列バッファ部１２０２内の文字列を音声合成部１２０６が基準速度で発声した場合にかかる時間を、算出する。図１５は、基準音声合成長演算部１２０３の内部構成を示すブロック図である。基準音声合成長演算部１２０３は、基準音声合成長演算部用制御部１５０１、文字列一時格納部１５０２、読み上げ時間長加算部１５０３、単語読み上げ時間長基準データ部１５０４を含む。【０１０８】
次に、このように構成された基準音声合成長演算部１２０３の動作について説明する。本実施の形態における基準音声合成長演算部１２０３に含まれる基準音声合成長演算部用制御部１５０１、文字列一時格納部１５０２、読み上げ時間長加算部１５０３、及び単語読み上げ時間長基準データ部１５０４の動作は、実施の形態１における基準音声合成長演算部１０３に含まれる基準音声合成長演算部用制御部４０１、文字列一時格納部４０２、読み上げ時間長加算部４０３、及び単語読み上げ時間長基準データ部４０４の動作と、それぞれ同様であるので説明を省略する。【０１０９】
次に、図１６を用いて、単語読み上げ時間長基準データ部１５０４内に格納されているデータの一例を示す。データの例として、単語１６０１（図１６では、「ｗｏｒｄ１６０１」と表す）の欄と、単語１６０１を基準速度で発声した場合にかかる時間である読み上げ時間長１６０２（図１６では、「ｄｕｒａｔｉｏｎ１６０２」と表す）の欄とを示している。本実施の形態における単語１６０１、及び読み上げ時間長１６０２についての処理は、実施の形態１における図５に示した単語５０１、及び読み上げ時間長５０２についての処理と同様であるので、詳細な説明は省略する。【０１１０】
次に、図１７を用いて制御部メモリ１２０５に格納されている記憶文字列到着時間情報１７０１、読み上げ速度率履歴情報１７０２の説明及び制御部１２０４での演算処理の説明をする。図１７に示すように、本実施の形態における文字情報提示装置に含まれるメモリとしての制御部メモリ１２０５は、さらに、所定の数の読み上げ速度率信号の履歴を記憶する。そして、制御部１２０４は、基準音声合成長演算部１２０３より入力される読み上げ時間長信号、文字列バッファ部１２０２より読み出した読み上げ時間長信号に対応する文字列の時間情報、及びメモリに記憶された時間情報に基づき算出した読み上げ速度率信号と、メモリに記憶された所定の数の読み上げ速度率信号の履歴に基づき、読み上げ速度率信号を算出することを特徴とする。【０１１１】
具体的には、制御部メモリ１２０５は、新たに記憶文字列到着時間情報１７０１、及び読み上げ速度率履歴情報１７０２が入力されると、図１７において、記憶されている記憶文字列到着時間情報、及び読み上げ速度率履歴情報を下方向にシフトする。すなわち、時間情報５に記憶されている記憶文字列到着時間情報及び読み上げ速度率履歴情報は破棄される。そして、時間情報１に新しく入力された記憶文字列到着時間情報、及び読み上げ速度率履歴情報を記憶する。このように、過去５つの記憶文字列到着時間情報、及び読み上げ速度率履歴情報が記憶されている。すなわち、本実施の形態では、所定の数を一例として、５としている。ただし、所定の数は、必ずしも、５でなくともよい。それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。【０１１２】
図１７の例では、時間情報１の記憶文字列到着時間情報１７０１には記憶文字列到着時間情報である文字列「１２：００：００」が格納されている。本例は、図１４での文字列バッファ１に格納されていた時間情報１４０１である文字列「１２：００：００」と格納文字列１４０２である文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」が制御部１２０４において処理された後の状態として説明する。制御部１２０４は、基準音声合成長演算部１２０３より読み上げ時間長信号を受け取ると、文字列バッファ部１２０２より時間情報１４０１及び格納文字列１４０２を読み出す。制御部１２０４は、演算対象のデータの時間情報１４０１である文字列「１２：００：０３」と格納文字列１４０２である文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を処理する際に、まず基準音声合成長演算部１２０３において演算して、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１２０６が基準速度で発声した場合に要する時間を求める。【０１１３】
これには、基準音声合成長演算部１２０３が出力する読み上げ時間長信号を用いることができる。また、制御部１２０４が、図１６のテーブルを用いて演算して求めてもよい。その結果、単語のみの発声に１０．５秒を要することがわかる。そして、単語間のスペース文字、計６個に対し、各０．５秒ずつ要するとすると追加で３秒必要であり、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１２０６が基準速度で発声した場合に要する時間は１３．５秒と求められる。そして、制御部１２０４は制御部メモリ１２０５に記憶されている時間情報１の記憶文字列到着時間情報１７０１の文字列「１２：００：００」を読み出し、演算対象のデータである時間情報１４０１の文字列「１２：００：０３」との時間の差分を求める。この場合、時間の差分の演算結果は３秒である。【０１１４】
次に、制御部１２０４は、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１２０６が基準速度で発声した場合に要する時間である１３．５秒を、時間の差分の演算結果である３秒で発音を完了するために必要な読み上げ速度率を演算する。例えば、基準速度で発声する場合を１００とした場合、以下の公式により読み上げ速度率を演算する。すなわち、「読み上げ速度率」＝「基準速度で発声した場合に要する時間」÷「時間の差分」×１００である。【０１１５】
本例では、上述した公式により、読み上げ速度率は、１３．５÷３×１００＝４５０となる。次に、制御部１２０４は演算した値、制御部メモリ１２０５格納されている５つの各読み上げ速度率履歴情報１７０２の和を求める。本例では４５０＋（４００＋３５０＋３２０＋４００＋３８０）＝２３００である。そして、平均値を求めるために、この値を（１＋５）で除算する。ここでは、小数点以下は切り捨てることとする。この演算結果として、２３００÷６＝３８３が求められる。そして、この演算結果を、制御部１２０４は読み上げ速度率として音声合成部１２０６に出力する。【０１１６】
なお、本実施の形態では、制御部１２０４が演算し、音声合成部１２０６に出力する読み上げ速度率を過去の履歴との平均値として演算した。しかし、例えば、１つ前の読み上げ速度率からあらかじめ定められた割合を上限、及び下限として変化させるようにしてもよい。その結果、制御部１２０４が音声合成部１２０６に出力する読み上げ速度率が急激に変化しないように制御を行うことができるので、本実施の形態と同様の効果が得られる。【０１１７】
音声合成部１２０６は、制御部１２０４より読み上げ速度率信号を受け取ると、文字列バッファ部１２０２より文字列を読み出し、受け取った読み上げ速度率信号が示す読み上げ速度率で文字列を読み上げる。音声合成部１２０６が音声合成を行った結果の音声の発声速度は、制御部１２０４から出力される読み上げ速度率が１００の場合に基準音声合成長演算部１２０３において演算される基準速度と同一であり、また制御部１２０４から出力される読み上げ速度率に正比例して可変する。例えば、制御部１２０４から出力される読み上げ速度率が２００の場合は、基準音声合成長演算部１２０３において演算される基準速度の倍の速度で発声する。その結果、発声に要する時間は半分となる。また、制御部１２０４から出力される読み上げ速度率が５０の場合は、基準音声合成長演算部１２０３において演算される基準速度の半分の速度で発声する。その結果、発声に要する時間は倍となる。【０１１８】
なお、本実施の形態では、文字列バッファ部１２０２内の時間情報１４０１は、格納文字列１４０２と関連付けされている。したがって、文字列バッファ部１２０２は、文字情報入力部１２０１より文字列が文字列バッファ部１２０２に入力された時間を時間情報１４０１として格納する。しかし、文字情報入力部１２０１より文字列と共に時間情報が入力された場合、文字情報入力部１２０１より文字列が文字列バッファ部１２０２に入力された時間の代わりに、文字列と共に入力された時間情報を文字列バッファ部１２０２に格納することとしても同様の効果が得られる。例えば、テレビ放送で使用される字幕情報には画面上に表示する時刻を記した時間情報が文字列と共に送られてくる。この画面上に表示する時刻を文字列バッファ部１２０２内の時間情報１４０１として記憶し用いることにより、より字幕の音声合成に適した音声合成を行うことができる。【０１１９】
なお、本実施の形態では、制御部１２０４は基準音声合成長演算部１２０３において演算される基準速度を用いて、音声合成部１２０６が音声合成を行う音声の発声速度を、制御部１２０４が制御している。しかし、単純に発音する文字列の文字数や単語数により、音声合成部１２０６が音声合成を行う音声の発声速度を、制御部１２０４が制御しても同様の効果が得られる。【０１２０】
すなわち、文字数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、スペース文字を含め３６文字の文字列である。この文字数に基づいて、制御部１０４が例えば、読み上げ速度率を「文字数」×「１０」という公式で演算してもよい。そして、制御部１２０４がその算出結果の３６０を読み上げ速度率として音声合成部１２０６に出力してもよい。【０１２１】
また、単語数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、６単語の文字列である。この単語数に基づいて、制御部１２０４が例えば、読み上げ速度率を「単語数」×「８０」という公式で演算してもよい。そして、制御部１２０４がその算出結果の４８０を読み上げ速度率として音声合成部１２０６に出力してもよい。【０１２２】
このように、本実施の形態の文字情報提示装置は、文字列の音声合成に要する時間と文字列が入力される時間間隔、または文字列の音声合成に要する時間と文字列と共に入力される時間情報の間隔を用いる。さらに、文字情報提示装置は、音声合成の速度の演算を過去の演算結果を用いて平均化し演算を行うことにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列読み上げの速度を最適な値に設定し聞き取りやすさを確保し、かつ急激な文字列の読み上げ速度率の変化を抑えた文字情報提示装置を提供することが可能となる。【０１２３】
（実施の形態４）
図１８は、本発明の実施の形態４における文字情報提示装置の構成を示すブロック図である。図１８に示すように本実施の形態における文字情報提示装置は、文字情報入力部１８０１、文字列バッファ部１８０２、制御部１８０３、音声合成部１８０４、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９、音声出力部１８１０を含む。本実施の形態が、実施の形態１と異なるのは、本実施の形態における文字情報提示装置は、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９を、さらに備えていることである。また、図１に示した基準音声合成長演算部１０３と制御部メモリ１０５とを備えていない。そして、詳細は後述するが、制御部１８０３が、文字列バッファ部１８０２、音声合成部１８０４、映像バッファ部１８０７、及び映像提示部１８０８を制御することである。【０１２４】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。文字情報入力部１８０１は、文字列の入力を受け付ける。そして、文字情報入力部１８０１より入力された文字列は、文字列バッファ部１８０２に入力され、記憶される。文字列バッファ部１８０２は、制御部１８０３及び音声合成部１８０４からの要求により、文字列の出力を行う。新しい文字列が文字情報入力部１８０１より入力され、文字列バッファ部１８０２に記憶された場合は、文字列バッファ部１８０２は更新通知信号を制御部１８０３に出す。【０１２５】
音声合成部１８０４は、音声合成処理を行っていない状態であれば文字列バッファ部１８０２を監視する。そして、音声合成部１８０４は、音声合成をまだ行っていない文字列が記憶されていることを検知すると、文字列を文字列バッファ部１８０２より読み出し、音声合成を開始する。そして、音声合成部１８０４は、基準速度で音声合成して音声出力部１８１０に音声信号を出力する。また、音声合成部１８０４は、音声合成処理が完了すると、完了した文字列のデータを文字列バッファ部１８０２より削除するように文字列バッファ部１８０２に要求を出す。なお、基準速度は、例えば、アナウンサ等の発声する言葉の速度に代表される標準的な速度とする。【０１２６】
制御部１８０３は文字列バッファ部１８０２からの更新通知信号を受けると、音声合成部１８０４の状態を確認する。もし、音声合成部１８０４が音声合成処理を完了していなければ、制御部１８０３は映像提示部１８０８に映像の一時停止要求を出す。そして、映像バッファ部１８０７は映像情報入力部１８０６より入力される映像情報を一時的に蓄える。【０１２７】
映像提示部１８０８は例えば映像デコーダであり、映像バッファ部１８０７より映像信号を読み出し、映像出力部１８０９に出力する。なお、映像提示部１８０８は制御部１８０３より映像信号の一時停止要求を受けると、映像バッファ部１８０７からの映像情報の読み出しを停止し、映像信号の出力を静止する。また、制御部１８０３は映像提示部１８０８に一時停止要求を出した後に、音声合成部１８０４が音声合成処理を完了したことを検知すると、映像提示部１８０８に映像信号の再生を再開するように要求を出す。すなわち、音声合成部１８０４において、合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を静止状態で出力する。【０１２８】
次に、図１９に文字列バッファ部１８０２に記憶されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５には、各２５６文字までの文字列を記憶可能とする。格納されている各文字列は格納文字列１９０１と呼ぶ。なお、格納可能な文字数は２５６以上であっても以下であっても、動的に格納可能な文字列の長さを変化させても本実施の形態では同様の効果が得られる。最終データ位置１９０２に格納されるデータは、現在有効なデータが格納されている文字列バッファ部１８０２の最終データの位置を示す。例えば、図１９の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されおり、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしているため、最終データ位置１９０２に格納されているデータは文字列バッファ３を示している。【０１２９】
図１９に示すデータ格納状態において、文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が入力された場合、次の空き文字列バッファである文字列バッファ４の格納文字列１９０１に文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が格納され、最終データ位置１９０２は文字列バッファ４を示す。【０１３０】
また、図１９に示すデータ格納状態において、１つの文字列バッファを削除するように指示があった場合、文字列バッファ２に格納されているデータを文字列バッファ１に複製する。そして、文字列バッファ３に格納されているデータを文字列バッファ２に複製する。さらに、文字列バッファ４に格納されているデータを文字列バッファ３に複製する。また、文字列バッファ５に格納されているデータを文字列バッファ４に複製する。そして、最終データ位置１９０２を現在示している文字列バッファ部１８０２の図１９での１つ上側の文字列バッファ、すなわち、図１９のデータ格納状態では文字列バッファ２を示すように変更する。【０１３１】
上述したように、本実施の形態では、データ構造体におけるデータの削除は必ず文字列バッファ１より行うこととしている。そして、後続するデータは文字列バッファ２を文字列バッファ１に複製し、文字列バッファ３を文字列バッファ２に複製というように複製しながらシフトしていくこととしている。しかし、本データ構造体の要素に加え、開始データ位置を示す変数を追加してもよい。そして、その開始データ位置がデータの削除を行うデータを示すとしてもよい。すなわち、データ削除が行われると、開始データ位置が示す文字列バッファ位置を、例えば現在文字列バッファ１を示しているのであれば、文字列バッファ２を示すようにシフトしてもよい。さらにまた、開始データ位置が示す文字列バッファ位置を、現在文字列バッファ２を示しているのであれば、文字列バッファ３を示すようにシフトするようにしてもよい。このようにすることにより処理の高速化を達成するとともに同様の効果が得られる。なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。【０１３２】
なお、音声合成部１８０４が音声合成処理を完了していなければ、制御部１８０３は映像提示部１８０８に映像信号の出力の一時停止要求を出すかわりに、制御部１８０３は映像提示部１８０８に映像提示速度を可変させるように要求を出すことにより、視聴者の違和感を軽減した提示が可能となる。例えば、映像提示部１８０８は、制御部１８０３より映像提示速度を遅くするように要求を受けた場合、映像提示部１８０８は映像バッファ部１８０７からの映像情報の読み出し頻度を遅くし、映像出力部１８０９に出力する。また、映像提示部１８０８は制御部１８０３より映像提示速度を早くするように要求を受けた場合、映像提示部１８０８は映像バッファ部１８０７からの映像情報の読み出し頻度を早くし、映像出力部１８０９に出力する。すなわち、音声合成部１８０４において、合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、完全に一時停止させてしまうのではなく、映像信号の提示速度を可変させて出力する。映像提示部１８０８において映像提示速度を可変させるように制御する方法は、例えば映像提示部１８０８がＭＰＥＧ２デコーダである場合は、ＭＰＥＧ２デコーダ内のＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）のカウントアップスピードを可変させることにより可能である。【０１３３】
このように、本実施の形態における文字情報提示装置は、映像情報の入力を受け付ける映像情報入力部１８０６と、映像情報入力部１８０６に入力された映像情報を記憶する映像バッファ部１８０７と、映像バッファ部１８０７から映像情報を読み出し、デコードし、映像信号として出力する映像提示部１８０８とを備えている。また、文字列の入力を受け付ける文字情報入力部１８０１と、文字情報入力部１８０１に入力された文字列を記憶する文字列バッファ部１８０２と、文字列バッファ部１８０２から文字列を読み出し、所定の速度で音声合成し、音声信号として出力する音声合成部１８０４とを備えている。また、少なくとも映像提示部１８０８を制御する制御部１８０３を備えている。そして、文字情報提示装置は、入力される文字情報の提示処理が間に合わない場合、すなわち音声合成部１８０４において、合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を出力する。すなわち、入力される映像情報の提示を一時停止または提示速度を可変することにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列の読み上げや聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。【０１３４】
なお、本実施の形態における文字情報提示装置は、制御部１８０３の制御により、入力される映像情報の提示を一時停止または提示速度を可変することとした。しかし、図２０に示すように音声情報の処理を実施の形態１乃至３で示したような構成とし、本実施の形態における映像情報の提示を制御する構成と組み合わせてもよい。そして、ユーザの設定により、文字情報提示装置における提示速度の変更を行う処理を、音声情報の処理あるいは映像情報の処理とで選択できるようにしてもよい。このようにすれば、音声情報あるいは映像情報のどちらか一方を送出側の意図に、限りなく忠実に再現したい場合に有効である。【０１３５】
図２０は、本発明の実施の形態４における文字情報提示装置の他の例の構成を示すブロック図である。図に示すように、他の例における文字情報提示装置は、文字情報入力部１８０１、文字列バッファ部１８０２、音声合成部１８０４、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９、音声出力部１８１０、基準音声合成長演算部１８１４、制御部１８０３、制御部メモリ１８０５、ユーザ入力部１８２０を含む。【０１３６】
すなわち、他の例における文字情報提示装置は、図１８の構成に加えて、基準音声合成長演算部１８１４、制御部メモリ１８０５、ユーザ入力部１８２０をさらに備えている。文字情報入力部１８０１、文字列バッファ部１８０２、音声合成部１８０４、音声出力部１８１０、基準音声合成長演算部１８１４、制御部１８０３、制御部メモリ１８０５を用いた音声情報の提示速度の変更を行う処理は、既に述べた実施の形態と同様であり、詳細な説明は省略する。【０１３７】
また、文字情報入力部１８０１、文字列バッファ部１８０２、音声合成部１８０４、音声出力部１８１０、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９、制御部１８０３を用いた映像情報の提示速度の変更を行う処理は、既に述べた本実施の形態と同様であり、詳細な説明は省略する。【０１３８】
したがって、他の例の文字情報提示装置における異なる部分の構成と動作について説明する。すなわち、他の例の文字情報提示装置は、映像情報の入力を受け付ける映像情報入力部１８０６と、映像情報入力部１８０６に入力された映像情報を記憶する映像バッファ部１８０７と、映像バッファ部１８０７から映像情報を読み出し、デコードし、映像信号として出力する映像提示部１８０８とをさらに備えている。そして、制御部１８０３は、少なくとも映像提示部１８０８を制御するとともに、選択信号を入力するユーザ入力部１８２０に接続されている。そして、選択信号が、映像情報の選択である場合、音声合成部１８０４において、所定の速度で発声した場合にかかる時間に基づいて合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を出力する。【０１３９】
また、選択信号が、音声情報の選択である場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を通常の速度で出力するとともに、制御部１８０３の制御により音声合成は、読み上げ速度率信号に基づき文字列バッファ部１８０２より入力される文字列の音声合成をする。【０１４０】
次に、制御部１８０３の詳細な動作について説明する。制御部１８０３は、ユーザ入力部１８２０の出力に接続されている。ユーザの選択によりユーザ入力部１８２０には、文字情報提示装置において、映像信号を通常の速度で出力するか、または音声信号を基準速度で合成して出力するかを選択する選択信号が印加される。すなわち、選択信号には、ユーザの選択が、「音声情報の選択」あるいは「映像情報の選択」を示すデータが含まれる。これらのデータは、具体的には、例えば、論理信号としての「真」、「偽」を用いてもよい。また、選択信号には、２つの信号として区分できるように、例えば「音声情報の選択」を示すためには、０Ｖから１Ｖ、そして「映像情報の選択」を示すためには、４Ｖから５Ｖの信号を用いてもよい。なお、ユーザの選択は、例えば、リモコンやタッチパネルなどの操作を用いて行うことができる。【０１４１】
制御部１８０３は、ユーザ入力部１８２０から出力される選択信号を入力する。そして選択信号に、「映像情報の選択」を示すデータが含まれる場合、音声合成部１８０４において、所定の速度で発声した場合にかかる時間に基づいて合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を出力する。【０１４２】
また、選択信号に、「音声情報の選択」を示すデータが含まれる場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を通常の速度で出力するとともに、制御部１８０３の制御により音声合成は、読み上げ速度率信号に基づき文字列バッファ部１８０２より入力される文字列の音声合成をする。【０１４３】
このような構成により、ユーザの選択に基づいて、文字列の読み上げ速度率を算出して、読み上げ速度率を可変して文字情報の提示を行うことができる。また、ユーザの選択に基づいて、入力される映像情報の提示を一時停止または提示速度を可変することができる。したがって、あらかじめ到来する文字列の頻度や文字数がわからなくとも、提示される映像情報や文字情報の内容に基づいてユーザの選択により、文字列の読み上げや聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【産業上の利用可能性】
【０１４４】
本発明に係る文字情報提示装置は、あらかじめ到来する文字列の頻度や文字数がわからなくとも、視聴者が容易に読みきれる、または文字列読み上げの速度を最適な値に設定し聞き取りやすさを確保するものであり、文字情報を表示または音声に変換し出力する文字情報提示装置等として有用である。
【図１】
2009013875.tif 000003
【図２】
2009013875.tif 000004
【図３】
2009013875.tif 000005
【図４】
2009013875.tif 000006
【図５】
2009013875.tif 000007
【図６】
2009013875.tif 000008
【図７】
2009013875.tif 000009
【図８】
2009013875.tif 000010
【図９】
2009013875.tif 000011
【図１０】
2009013875.tif 000012
【図１１】
2009013875.tif 000013
【図１２】
2009013875.tif 000014
【図１３】
2009013875.tif 000015
【図１４】
2009013875.tif 000016
【図１５】
2009013875.tif 000017
【図１６】
2009013875.tif 000018
【図１７】
2009013875.tif 000019
【図１８】
2009013875.tif 000020
【図１９】
2009013875.tif 000021
【図２０】
2009013875.tif 000022
【図２１】
2009013875.tif 000023
【手続補正書】
【提出日】平成20年11月24日(2008.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
文字列の時間情報を記憶するメモリと、
前記文字列の入力を受け付ける文字情報入力部と、
前記文字情報入力部に前記文字列が入力された場合に、前記文字列を記憶するとともに更新通知信号を出力する文字列バッファ部と、
前記更新通知信号を受信すると、前記文字列バッファ部に記憶されている前記文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部と、
前記基準音声合成長演算部より出力される前記読み上げ時間長信号、前記文字列バッファ部に記憶されている文字列の時間情報、及び前記メモリに記憶されている前記文字列の前記時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部と、
前記文字列バッファ部に読み出し要求を出し、前記読み上げ速度率信号に基づき前記文字列バッファ部より入力される文字列の音声合成をする音声合成部と、を備え、
前記メモリは、
さらに、所定の数の読み上げ速度率信号の履歴を記憶し、
前記制御部は、
前記基準音声合成長演算部より入力される前記読み上げ時間長信号、前記読み上げ時間長信号に対応し前記文字列バッファ部より読み出した前記文字列の前記時間情報、及び前記メモリに記憶されている前記文字列の前記時間情報に基づき算出した読み上げ速度率信号、及び前記メモリに記憶された所定の数の前記読み上げ速度率信号の前記履歴に基づき、
読み上げ速度率信号を算出すること特徴とする文字情報提示装置。
【請求項２】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記制御部において読み上げ速度率信号を算出した際に、前記文字列バッファ部より読み出した前記文字列の前記時間情報に更新されることを特徴とする請求項１記載の文字情報提示装置。
【請求項３】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記文字列入力部より入力された前記文字列に付随する提示時間情報であることを特徴とする請求項１記載の文字情報提示装置。
【請求項４】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記文字列入力部より入力された前記文字列に付随する提示時間情報と消去時間情報であることを特徴とする請求項１記載の文字情報提示装置。
【請求項５】
前記文字情報入力部から入力された前記文字列が前記音声合成長演算部に存在しない単語の場合、前記音声合成長演算部に存在する単語に分割し、分割後の単語の時間情報を加算することを特徴とする請求項１記載の文字情報提示装置。
【請求項６】
前記制御部は、
前記文字列バッファ部に記憶されている前記文字列の文字数に基づき、前記読み上げ速度率を演算することを特徴とする請求項１記載の文字情報提示装置。
【請求項７】
前記制御部は、
前記文字列バッファ部に記憶されている前記文字列の単語数に基づき、前記読み上げ速度率を演算することを特徴とする請求項１記載の文字情報提示装置。
【請求項８】
映像情報の入力を受け付ける映像情報入力部と、
前記映像情報入力部に入力された前記映像情報を記憶する映像バッファ部と、
前記映像バッファ部から前記映像情報を読み出し、デコードし、映像信号として出力する映像提示部と、をさらに備え、
前記制御部は、少なくとも前記映像提示部を制御するとともに、選択信号を入力するユーザ入力部に接続され、
前記選択信号が、映像情報の選択である場合、
前記音声合成部において、前記所定の速度で発声した場合にかかる時間に基づいて合成した前記音声信号の出力が完了していない場合、前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を出力し、
前記選択信号が、音声情報の選択である場合、
前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を通常の速度で出力するとともに、
前記制御部の制御により音声合成は、前記読み上げ速度率信号に基づき前記文字列バッファ部より入力される文字列の音声合成をする
ことを特徴とする請求項１記載の文字情報提示装置。
【請求項９】
映像情報の入力を受け付ける映像情報入力部と、
前記映像情報入力部に入力された前記映像情報を記憶する映像バッファ部と、
前記映像バッファ部から前記映像情報を読み出し、デコードし、映像信号として出力する映像提示部と、をさらに備え、
前記制御部は、
少なくとも前記映像提示部と前記音声合成部とを制御するとともに、選択信号を入力するユーザ入力部に接続され、
前記選択信号に基づいて、音声情報の処理あるいは映像情報の処理から、提示速度の変更を行う処理を選択する
ことを特徴とする請求項１記載の文字情報提示装置。
【請求項１０】
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号を静止状態で出力することを特徴とする請求項８または請求項９のいずれか１項記載の文字情報提示装置。
【請求項１１】
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号の提示速度を可変させて出力することを特徴とする請求項８または請求項９のいずれか１項記載の文字情報提示装置。
【手続補正書】
【提出日】平成21年10月16日(2009.10.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文字情報を表示する、または音声に変換し出力する文字情報提示装置に関し、さらに詳細には提示する時間調整および提示速度に関する。
【背景技術】
【０００２】
耳の不自由な方への配慮等により、全世界的にテレビ番組に字幕情報などの文字を付加することが多くなってきている。また、インターネットなどの普及により、多彩な文字情報が得られるようになっている。しかし、それらの文字を表示する機器の小型化に伴いディスプレイの大きさも小さくなってきており、文字が読みにくいという課題がある。その課題を解決するために、文字列を音声に変換する装置が提案されている（例えば、特許文献１参照）。
【０００３】
図２１は、従来の文字列読み上げ装置の構成を示すブロック図である。図２１に示すように、従来の文字列読み上げ装置は、音程調整部２００１と音声データ記憶部２００２と標準速度データ記憶部２００３と再生速度入力部２００４と再生速度比算出部２００５と制御部２００６と音声再生部２００７とを備えている。
【０００４】
音声データ記憶部２００２は、音声データをディジタル記憶する。そして、標準速度データ記憶部２００３は、音声データの再生速度を、音声データに対応した語数と標準再生時間により表現した標準速度データを記憶する。また、再生速度入力部２００４は、再生速度の変更情報を単位時間当たりの語数により与える役割を果たす。再生速度比算出部２００５は、再生速度入力部２００４により与えられた単位時間当たりの語数と標準再生速度時の語数から再生速度比を求める。そして、制御部２００６は、音声データ記憶部２００２、標準速度データ記憶部２００３、再生速度比算出部２００５から読み出された音声データ及び標準速度データと再生速度比とを音程調整部２００１に出力する。音声再生部２００７は、音程調整部２００１からの出力を再生する。このようにして、文字列読み上げ装置は、再生速度の上下による音程変化を一定の標準値に保ちつつ、単位時間当たりの語数指定により再生速度設定が可能となる。
【０００５】
すなわち、従来の文字列読み上げ装置は、あらかじめ読み上げる文字列の文字数を特定できる場合、及び読み上げる時間を既定できる場合には発声速度を変化させる等の手法により、既定された時間内に発声を終了させることが可能であった。しかし、時間的に次の文字列が何時、どれだけの文字数で到来するかわからない字幕情報や、不特定多数により追記、更新されるインターネット上での記載などでは文字数の特定及び時間が既定できないため、発声速度を最適な値に設定することが困難であった。
【０００６】
また、字幕情報など、映像と同期して表示または文字列読み上げを行い視聴者に提示すべき文字列の場合、文字列の読み上げが早すぎると聞き取り辛いという課題があり、表示、更新が速すぎると文字列の表示期間中に読みきれないという課題がある。また読み上げ速度率が到来する文字列の速度より遅い場合は、映像と読み上げた文字列との同期がとれないという課題がある。
【０００７】
また、耳の不自由な方からの要望と音声認識技術の精度の向上により、アナウンサ等の発声する言葉を自動的に文字列に変換し字幕として放送波に多重することが可能となってきている。しかし、平均的な視聴者が、読み上げられた言葉を耳で認識可能なスピードよりも文字で表示された文字列を読み内容を認識可能なスピードの方が遅いため、実際には字幕に変換する際に読み手が読みきれるように言葉を短い単語に変更したり、不必要なことばを省略したりする等の作業が必要となり完全な自動化は難しい。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１１−７２９５号公報
【発明の概要】
【０００９】
本発明に係る文字情報提示装置は、文字列の時間情報を記憶するメモリと、文字列の入力を受け付ける文字情報入力部と、文字情報入力部に文字列が入力された場合に、文字列を記憶するとともに更新通知信号を出力する文字列バッファ部と、更新通知信号を受信すると、文字列バッファ部に記憶されている文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部とを備えている。また、基準音声合成長演算部より出力される読み上げ時間長信号、この読み上げ時間長信号に対応し文字列バッファ部に記憶されている文字列の時間情報、及びメモリに記憶されている文字列の時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部と、文字列バッファ部に読み出し要求を出し、読み上げ速度率信号に基づき文字列バッファ部より入力される文字列の音声合成をする音声合成部とを備えている。
【００１０】
このような構成により、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列読み上げの速度を最適な値に設定し聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【００１１】
また、本発明に係る文字情報提示装置は、映像情報の入力を受け付ける映像情報入力部と、映像情報入力部に入力された映像情報を記憶する映像バッファ部と、映像バッファ部から映像情報を読み出し、デコードし、映像信号として出力する映像提示部とを備えている。また、文字列の入力を受け付ける文字情報入力部と、文字情報入力部に入力された文字列を記憶する文字列バッファ部と、文字列バッファ部から文字列を読み出し、所定の速度で音声合成し、音声信号として出力する音声合成部とを備えている。また、少なくとも映像提示部を制御する制御部を備えている。そして、文字情報提示装置は、音声合成部において、合成した音声信号の出力が完了していない場合、映像提示部は、映像信号を静止状態で出力する。または、映像提示部は、映像信号をスローダウンあるいはスピードアップさせて出力する。
【００１２】
このような構成により、音声合成部が音声合成を行った結果を音声出力に出力完了していなければ、映像提示部に映像の出力状態の静止または映像出力速度を可変するように制御することにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、視聴者が容易に読みきれる文字情報提示装置を提供することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１における文字情報提示装置の構成を示すブロック図
【図２】本発明の実施の形態１における文字列バッファ部に記憶されている文字列や時間情報のデータ構造体の一例を示す模式図
【図３】本発明の実施の形態１における文字列バッファ部に記憶されている文字列や時間情報のデータの一例を示す模式図
【図４】本発明の実施の形態１における基準音声合成長演算部の内部構成を示すブロック図
【図５】本発明の実施の形態１における単語読み上げ時間長基準データ部内に格納されているデータの一例を示す模式図
【図６】本発明の実施の形態１における制御部メモリに格納されている時間情報の一例を示す模式図
【図７】本発明の実施の形態２における文字情報提示装置の構成を示すブロック図
【図８】本発明の実施の形態２における文字列バッファ部に記憶されている文字列、時間情報、及び消去時間情報のデータ構造体の一例を示す模式図
【図９】本発明の実施の形態２における文字列バッファ部に記憶されているデータの一例を示す模式図
【図１０】本発明の実施の形態２における基準音声合成長演算部の内部構成を示すブロック図
【図１１】本発明の実施の形態２における単語読み上げ時間長基準データ部内に格納されているデータの一例を示す模式図
【図１２】本発明の実施の形態３における文字情報提示装置の構成を示すブロック図
【図１３】本発明の実施の形態３における文字列バッファ部に記憶されている文字列や時間情報のデータ構造体の一例を示す模式図
【図１４】本発明の実施の形態３における文字列バッファ部に記憶されているデータの一例を示す模式図
【図１５】本発明の実施の形態３における基準音声合成長演算部の内部構成を示すブロック図
【図１６】本発明の実施の形態３における単語読み上げ時間長基準データ部内に格納されているデータの一例を示す模式図
【図１７】本発明の実施の形態３における制御部メモリに格納されている記憶文字列到着時間情報及び読み上げ速度率履歴情報の一例を示す模式図
【図１８】本発明の実施の形態４における文字情報提示装置の構成を示すブロック図
【図１９】本発明の実施の形態４における文字列バッファ部に記憶されているデータの一例を示す模式図
【図２０】本発明の実施の形態４における文字情報提示装置の他の例の構成を示すブロック図
【図２１】従来の文字列読み上げ部の構成を示すブロック図
【発明を実施するための形態】
【００１４】
以下、本発明に係る文字情報提示装置の例を、図を用いて説明する。
【００１５】
（実施の形態１）
図１は、本発明の実施の形態１における文字情報提示装置の構成を示すブロック図である。図１に示すように本実施の形態における文字情報提示装置は、文字情報入力部１０１、文字列バッファ部１０２、基準音声合成長演算部１０３、制御部１０４、文字列の時間情報を記憶するメモリとしての制御部メモリ１０５、音声合成部１０６、音声出力部１０７を含む。
【００１６】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。文字情報入力部１０１は、文字列の入力を受け付ける。そして、文字情報入力部１０１より入力された文字列は、文字列バッファ部１０２に入力され、記憶される。
【００１７】
文字列バッファ部１０２は、基準音声合成長演算部１０３、制御部１０４及び音声合成部１０６からの要求により、文字列の出力を行う。新しい文字列が文字情報入力部１０１より入力され、文字列バッファ部１０２に記憶された場合、文字列バッファ部１０２は更新通知信号を基準音声合成長演算部１０３に出す。
【００１８】
基準音声合成長演算部１０３は、更新通知信号により文字列バッファ部１０２に新しい文字列が記憶されたことを検知すると、文字列バッファ部１０２に読み出し要求を出す。そして、基準音声合成長演算部１０３は、文字列バッファ部１０２から記憶されている文字列を読み出す。また、基準音声合成長演算部１０３は、読み出された文字列を所定の速度（以下、基準速度と記載する）で音声合成部１０６において音声合成を行う場合に、発声にかかる時間を算出する。そして、その結果に基づいて、基準音声合成長演算部１０３は、算出した発声にかかる時間を示す読み上げ時間長信号を制御部１０４に出力する。なお、基準速度は、例えば、アナウンサ等の発声する言葉の速度に代表される標準的な速度とする。
【００１９】
制御部１０４は、基準音声合成長演算部１０３より入力される読み上げ時間長信号と、制御部メモリ１０５内に保持されている時間情報に基づき読み上げ速度率を演算する。そして、制御部１０４は、その演算結果に基づき読み上げ速度率信号を音声合成部１０６に出力する。また、制御部１０４は、文字列バッファ部１０２に格納されている文字列の時間情報を制御部メモリ１０５に出力する。
【００２０】
音声合成部１０６は、文字列バッファ部１０２に読み出し要求を出す。また、制御部１０４において演算した読み上げ速度率信号が示す読み上げ速度率に基づき、音声合成部１０６は、文字列バッファ部１０２より入力される文字列の音声合成を行う。そして、音声合成部１０６は、音声合成された音声信号を音声出力部１０７に出力する。
【００２１】
次に、図２を用いて、文字列バッファ部１０２に記憶されている時間情報や文字列のデータ構造体の一例を示す。図２は、本実施の形態における文字列バッファ部１０２に記憶されている時間情報や文字列のデータ構造体を示す模式図である。本例では、文字列バッファ部１０２は、ｓｔｒｂｕｆｆとｓｔｒｉｎｇＦＩＦＯと名づけたデータ構造体を用いて記述し、ソフトウエアにより構成している。本例では、文字列バッファ部１０２は、文字列バッファ部１０２に文字列が入力された時間である時間情報を、変数であるｔｉｍｅに記憶する。また、文字列バッファ部１０２は、最大５つまでの文字列を、変数であるｓｔｒに記憶する。そして、詳細な説明は後述するが、変数であるｂｕｆｆに文字列を格納する。また、記憶されている文字列の最後のデータ位置を変数であるｌａｓｔｓｔｒに記憶する。
【００２２】
本例では、文字列を記憶する変数であるｓｔｒには最大２５６文字まで格納可能としているが、それ以上であっても同様の効果が得られる。また、入力される文字列の長さにより確保する文字列長を可変させても、同様の効果が得られる。本例でのｉｎｔ６４は６４ビット整数型、ｃｈａｒは８ビット文字型、ｉｎｔは３２ビット整数型としているが、他のビット数及び他の型であっても同様の効果が得られる。なお、本実施例では、文字列バッファ部１０２は、ＣＰＵやメモリなどのハードエウアの動作を規定するソフトウエアにより記述して構成している。ハードウエアのみでも実現可能であるが、ソフトウエアを用いることにより、より柔軟に各種の設定を変更可能であり、かつ低コストで実現できるなどの利点がある。
【００２３】
次に、図３を用いて、図２において示したデータ構造体に格納されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５は、図２のデータ構造体での変数であるｂｕｆｆ［０］、ｂｕｆｆ［１］、ｂｕｆｆ［２］、ｂｕｆｆ［３］及びｂｕｆｆ［４］に対応する。そして、各ｂｕｆｆ内には時間情報３０１と格納文字列３０２とが格納されている。例えば、文字列バッファ１に格納されている時間情報３０１はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｔｉｍｅとして示すことができる。また、文字列バッファ１に格納されている格納文字列３０２はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｓｔｒとして示すことができる。
【００２４】
本実施の形態における時間情報３０１は、一般的なコンピュータ言語で用いられる協定世界時（ＵＴＣ）、１９７０年１月１日の０時（００：００：００）を基点とした経過秒数を格納することとする。図３では、時、分、及び秒のみ記載しているが、実際には、年、及び月も含めたデータを格納していることとする。なお、本実施の形態では他の方式で時間情報３０１を格納していたとしても同様の効果が得られる。
【００２５】
図３に示している最終データ位置３０３に格納されるデータは、現在有効なデータが格納されている文字列バッファ部１０２の最終データの位置を示す。例えば、図３の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されており、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしている。したがって、最終データ位置３０３に格納されているデータは有効なデータの内の最終データである文字列バッファ３を示す。図３において、最終データ位置３０３は、図２のデータ構造体例では、変数であるｌａｓｔｓｔｒに対応する。文字列バッファ１から文字列バッファ５に格納されている時間情報３０１は、格納文字列３０２と関連付けられており、格納文字列３０２が文字列バッファ部１０２に入力された時間を時間情報３０１として文字列バッファ部１０２が格納することとする。
【００２６】
次に、具体的な文字列バッファ部１０２の動作について説明する。例えば、図３のデータ格納状態において、時間情報３０１として文字列「１２：００：１０」と、格納文字列３０２として文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」とが入力された場合を想定する。この場合、次の空き文字列バッファである文字列バッファ４の時間情報３０１に文字列「１２：００：１０」が格納され、文字列バッファ４の格納文字列３０２に文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が格納される。そして、最終データ位置３０３は、文字列バッファ４を示すように変更される。
【００２７】
また、図３のデータ格納状態において、１つの文字列バッファを削除するように指示があった場合、文字列バッファ２に格納されているデータを文字列バッファ１に複製する。そして、文字列バッファ３に格納されているデータを文字列バッファ２に複製する。さらに、文字列バッファ４に格納されているデータを文字列バッファ３に複製する。また、文字列バッファ５に格納されているデータを文字列バッファ４に複製する。そして、最終データ位置３０３は現在示している文字列バッファの図３での１つ上側の文字列バッファ、すなわち図３のデータ格納状態では最終データ位置３０３は文字列バッファ２を示すように変更する。
【００２８】
上述したように、本実施の形態では、データの削除は必ず文字列バッファ１より行うこととしている。そして、後続するデータは文字列バッファ２を文字列バッファ１に複製し、文字列バッファ３を文字列バッファ２に複製しながらシフトしていくこととしている。しかし、本データ構造体の要素に加え、開始データ位置を示す変数を追加してもよい。そして、その開始データ位置がデータの削除を行うデータを示すものとする。すなわち、データ削除を行う場合、開始データ位置が示す文字列バッファ位置が、例えば現在、文字列バッファ１を示しているのであれば、文字列バッファ２を示すように変更する。また、現在、文字列バッファ２を示しているのであれば、文字列バッファ３を示すように変更してもよい。このようにすることにより、処理の高速化を達成するとともに同様の効果が得られる。
【００２９】
なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。
【００３０】
以下では、図１を用いて、本実施の形態における文字情報提示装置の動作の詳細について説明する。図１に示すように文字列バッファ部１０２は、基準音声合成長演算部１０３、制御部１０４、及び音声合成部１０６からの要求に応じて、格納されている各データの内容を出力する。また、前述したように、制御部１０４は、文字列バッファ部１０２に格納されている文字列の時間情報を制御部メモリ１０５に出力する。このように、メモリとしての制御部メモリ１０５に記憶される時間情報は、制御部１０４において読み上げ速度率信号を算出した際に、文字列バッファ部１０２より読み出した文字列の時間情報に更新される。
【００３１】
また、データの削除は音声合成部１０６が文字列バッファ部１０２よりデータを読み出した際、音声合成部１０６よりデータ削除要求が文字列バッファ部１０２に出されることに基づいて実行する。また、文字情報入力部１０１が、文字列を文字列バッファ部１０２に入力すると、文字列バッファ部１０２は格納されているデータが更新されたことを示す更新通知信号を基準音声合成長演算部１０３、制御部１０４、及び音声合成部１０６に通知する。
【００３２】
図１における基準音声合成長演算部１０３は、文字列バッファ部１０２内の文字列を音声合成部１０６が基準速度で発声した場合にかかる時間を、算出する。図４は、基準音声合成長演算部１０３の内部構成を示すブロック図である。基準音声合成長演算部１０３は、基準音声合成長演算部用制御部４０１、文字列一時格納部４０２、読み上げ時間長加算部４０３、単語読み上げ時間長基準データ部４０４を含む。
【００３３】
次に、このように構成された基準音声合成長演算部１０３の動作について説明する。基準音声合成長演算部用制御部４０１は、文字列バッファ部１０２からの更新通知信号を受けると、更新された文字列データを読み出すように読み出し要求を文字列バッファ部１０２に出力する。そして、基準音声合成長演算部用制御部４０１は、読み上げ時間長加算部４０３内に格納されている読み上げ時間長を０にする。文字列バッファ部１０２は更新された文字列を基準音声合成長演算部１０３に出力し、基準音声合成長演算部１０３は入力された文字列を文字列一時格納部４０２に格納する。文字列一時格納部４０２は、基準音声合成長演算部用制御部４０１からの要求に応じ、格納されている文字列を単語単位に分割し、読み上げ時間長加算部４０３に出力する。
【００３４】
読み上げ時間長加算部４０３は、文字列一時格納部４０２より入力される単語単位の文字列を単語読み上げ時間長基準データ部４０４に参照し、該当する単語を音声合成部１０６が基準速度で発声した場合にかかる時間を算出する。その結果に基づき、読み上げ時間長加算部４０３は、読み上げ時間長加算部４０３内に格納されている読み上げ時間長に、算出した時間を加算する。このようにして、読み上げ時間長加算部４０３は、文字列一時格納部４０２内に格納されている文字列の全ての単語を演算して、文字列の読み上げ時間長を算出する。
【００３５】
次に、基準音声合成長演算部用制御部４０１は、文字列の読み上げ時間長が算出されると、読み上げ時間長加算部４０３に読み上げ時間長の出力要求を出す。そして、その出力要求に基づいて、読み上げ時間長加算部４０３は、読み上げ時間長を含む読み上げ時間長信号を出力する。出力された読み上げ時間長信号は制御部１０４に入力される。
【００３６】
次に、図５を用いて、単語読み上げ時間長基準データ部４０４内に格納されているデータの一例を示す。データの例として、単語５０１（図５では、「ｗｏｒｄ５０１」と表す）の欄と、単語５０１を基準速度で発声した場合にかかる時間である読み上げ時間長５０２(図５では、「ｄｕｒａｔｉｏｎ５０２」と表す)の欄とを示している。
【００３７】
ｗｏｒｄ５０１とｄｕｒａｔｉｏｎ５０２は関連付けされており、対応している。例えば、ｃｌｏｗｄｙというｗｏｒｄ５０１に対応するｄｕｒａｔｉｏｎ５０２は２．０である。ｄｕｒａｔｉｏｎ５０２の単位は、本実施の形態においては、秒とし、例えばｃｌｏｗｄｙという単語を発声するために必要な時間は図５のテーブルでは２．０秒である。なお、単位に関しては、他の単位を用いても同様の効果が得られる。
【００３８】
ところで、基準音声合成長演算部用制御部４０１が文字列バッファ部１０２からのデータ更新通知を受けると、更新された文字列データを読み出すように読み出し要求を文字列バッファ部１０２に出す。そして、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」が文字列バッファ部１０２から出力された場合、まず、この文字列は文字列一時格納部４０２に保持される。そして、基準音声合成長演算部用制御部４０１は、読み上げ時間長加算部４０３内に格納されている読み上げ時間長を０にする。文字列一時格納部４０２は基準音声合成長演算部用制御部４０１からの要求に応じ、格納されている文字列を単語単位に分割する。そして、文字列一時格納部４０２は、単語単位に読み上げ時間長加算部４０３に出力する。すなわち、文字列「ＮＥＸＴ」、「ＩＳ」、「ＷＥＡＴＨＥＲ」、「ＦＯＲＣＡＳＴ」と単語単位に出力される。読み上げ時間長加算部４０３は文字列一時格納部４０２より出力される単語単位の文字列データを単語読み上げ時間長基準データ部４０４に参照する。そして、読み上げ時間長加算部４０３は、それらの各単語に対応した図５におけるｄｕｒａｔｉｏｎ５０２を読み上げ時間長に加算していく。各単語の図５におけるｄｕｒａｔｉｏｎ５０２は本例の場合、文字列「ＮＥＸＴ」は１．５秒、文字列「ＩＳ」は１．０秒、文字列「ＷＥＡＴＨＥＲ」は２．０秒、文字列「ＦＯＲＣＡＳＴ」は２．５秒となり、加算結果は単語のみで７．０秒となる。
【００３９】
なお、読み上げ時間長加算部４０３は、各単語間に挿入されているスペース文字、ピリオド、コンマ等も単語同様に扱う。例えばスペース文字、ピリオド、コンマに各０．５秒を割り当てている場合、「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」という文字列には計３つのスペース文字が挿入されているため、１．５秒が加算される。その結果、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」の全ての単語およびスペース文字、ピリオド、コンマ等が処理された後の読み上げ時間長は８．５秒である。読み上げ時間長加算部４０３は、演算した読み上げ時間長を含む読み上げ時間長信号を制御部１０４に出力する。
【００４０】
単語読み上げ時間長基準データ部４０４内のｄｕｒａｔｉｏｎ５０２にすでに各単語の認識性を高めるための時間が加算されている場合は、別途スペース文字での時間を加算する必要はない。本実施の形態では、英語で使用されるスペース、ピリオド、コンマ等を例に挙げたが、他の言語を扱う場合は各言語で使用される句読点を同様に扱うことにより同様の効果が得られる。
【００４１】
本実施の形態では、１６単語のみが、単語読み上げ時間長基準データ部４０４内に格納されている例を示した。しかし、実際には発声する言語で一般的に使われる単語は、単語読み上げ時間長基準データ部４０４に含めることが望ましい。
【００４２】
なお、１つの言語のみならず、複数言語に対応した単語読み上げ時間長基準データ部４０４を持つことにより多言語対応が可能となる。複数言語に対応する場合、以下のようにして、よりデータの効率化を図ることができる。すなわち、よりデータの効率化を図るために、１つの単語読み上げ時間長基準データ部４０４内に複数言語のデータを格納してもよい。または、言語ごとに複数の単語読み上げ時間長基準データ部４０４を設けてもよい。または、各言語で共通した単語を１つの１つの単語読み上げ時間長基準データ部４０４内に格納し、各言語固有の単語に関しては別の単語読み上げ時間長基準データ部４０４を設けてもよい。
【００４３】
なお、単語読み上げ時間長基準データ部４０４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部４０４は次の方法で単語の読み上げ時間長を出力することとする。すなわち、単語読み上げ時間長基準データ部４０４に存在しない単語が参照された場合の単語読み上げ時間長基準データ部４０４の出力方法は、例えば該当する単語の文字数に応じ演算する、類似する単語と同様の単語の読み上げ時間長とするなどである。
【００４４】
なお、単語読み上げ時間長基準データ部４０４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部４０４の出力方法は、単語をさらに詳細に分割し、分割した単位ごとにテーブルを持つことでも可能である。例えば、「ｉｍｐｌｅｍｅｎｔａｔｉｏｎ」という単語は、文字列「ｉｍ」、文字列「ｐｌｅ」、文字列「ｍｅｎ」、文字列「ｔａｔｉｏｎ」と単語を分割可能である。そして、各分割した要素ごとの発声に必要な時間を単語読み上げ時間長基準データ部４０４内に格納しておけば、単語単位での単語読み上げ時間長基準データ部４０４が存在しなくても単語の要素ごとに発声した場合に必要な時間を加算することができる。その結果、実際に単語単位で発声した際に必要な時間が求められる。
【００４５】
また、単語読み上げ時間長基準データ部４０４内には単語ごとに発声した場合にかかる時間は保持せず、単語を分割した単位での発声にかかる時間を保持しておいても、同様の効果が得られる。
【００４６】
なお、本実施の形態のように単語読み上げ時間長基準データ部４０４内に単語の読み上げ時間長を算出するためのデータベースを持つ以外に、言語の発声ルールを基に文字列より単語の読み上げ時間長を算出するアルゴリズムを用いても、同様の効果が得られる。
【００４７】
次に、図６を用いて制御部メモリ１０５に格納されている時間情報６０１の説明、及び制御部１０４での演算処理の説明をする。図６には、例として時間情報６０１には、時間情報である文字列「１２：００：００」が格納されている。本例では、図３において示した文字列バッファ１に格納されていた時間情報３０１である文字列「１２：００：００」と格納文字列３０２である文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」とが、制御部１０４において処理された後の状態として説明する。制御部１０４は、基準音声合成長演算部１０３より読み上げ時間長信号を受け取ると、文字列バッファ部１０２より時間情報３０１及び格納文字列３０２を読み出す。制御部１０４は、演算対象のデータの時間情報３０１の文字列「１２：００：０３」と格納文字列３０２の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」とを処理する際に、まず基準音声合成長演算部１０３において演算して、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１０６が基準速度で発声した場合に要する時間を求める。
【００４８】
これには、基準音声合成長演算部１０３が出力する読み上げ時間長信号を用いることができる。また、制御部１０４が、図５のテーブルを用いて演算して求めてもよい。その結果、単語のみの発声に１０．５秒を要することがわかる。そして、単語間のスペース文字、計６個に対し、各０．５秒ずつ要するとすれば、基準速度で発声した場合に要する時間はさらに３秒必要である。したがって、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１０６が基準速度で発声した場合に要する時間は１３．５秒と求められる。
【００４９】
次に、制御部１０４は、制御部メモリ１０５に記憶されている時間情報６０１の文字列「１２：００：００」を読み出し、演算対象のデータである時間情報３０１の文字列「１２：００：０３」との時間の差分を求める。この場合、時間の差分の演算結果は３秒である。そして、制御部１０４は、音声合成部１０６が基準速度で発声した場合に１３．５秒が必要である文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を、時間の差分の演算結果である３秒で発音を完了するために必要な読み上げ速度率を演算する。例えば、基準速度で発声する場合を１００とした場合、以下の公式により読み上げ速度率を演算する。すなわち、「読み上げ速度率」＝「基準速度で発声した場合に要する時間」÷「時間の差分」×１００である。
【００５０】
本例では、上述した公式により、読み上げ速度率は、１３．５÷３×１００＝４５０となる。制御部１０４は、この値（ここでは４５０）を読み上げ速度率を示す読み上げ速度率信号として音声合成部１０６に出力する。そして、制御部１０４は、制御部メモリ１０５に格納されている時間情報６０１を、文字列バッファ２に格納されている時間情報３０１である文字列「１２：００：０３」に更新する。
【００５１】
音声合成部１０６は、制御部１０４より読み上げ速度率信号を受け取ると、文字列バッファ部１０２より文字列を読み出し、受け取った読み上げ速度率信号が示す読み上げ速度率で文字列を読み上げる。音声合成部１０６が音声合成を行う音声の発声速度は、制御部１０４から出力される読み上げ速度率が１００の場合、基準音声合成長演算部１０３において演算される基準速度と同一である。また、制御部１０４から出力される読み上げ速度率に正比例して可変する。例えば、制御部１０４から出力される読み上げ速度率が２００の場合は、基準音声合成長演算部１０３で演算される基準速度の倍の速度で発声する。その結果、発声に要する時間は半分となる。また、制御部１０４から出力される読み上げ速度率が５０の場合、基準音声合成長演算部１０３で演算される基準速度の半分の速度で発声する。その結果、発声に要する時間は倍となる。
【００５２】
なお、本実施の形態では、文字列バッファ部１０２内の時間情報３０１は、格納文字列３０２と関連付けされている。すなわち、文字列バッファ部１０２は、文字情報入力部１０１より文字列が文字列バッファ部１０２に入力された時間を時間情報３０１として格納する。しかし、文字情報入力部１０１より文字列と共に時間情報が入力された場合、文字情報入力部１０１より文字列が文字列バッファ部１０２に入力された時間の代わりに、文字列と共に入力された時間情報を文字列バッファ部１０２に格納することとしても同様の効果が得られる。すなわち、メモリとしての制御手段部メモリ１０５に記憶されている文字列の時間情報は、文字情報入力部１０１より入力された文字列に付随する提示時間情報であってもよい。例えば、テレビ放送において使用される字幕情報には画面上に表示する時刻を記した時間情報が文字列と共に送られてくる。この画面上に表示する時刻を文字列バッファ部１０２内の時間情報３０１として記憶し用いることにより、より字幕の音声合成に適した音声合成を行うことができる。
【００５３】
なお、本実施の形態では、制御部１０４は、基準音声合成長演算部１０３において演算される基準速度を用いて、音声合成部１０６が音声合成を行う音声の発声速度を、制御している。しかし、単純に発音する文字列の文字数や単語数を用いて、音声合成部１０６が音声合成を行う音声の発声速度を、制御部１０４が制御しても同様の効果が得られる。
【００５４】
すなわち、文字数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、スペース文字を含め３６文字の文字列である。この文字数に基づいて、制御部１０４が例えば、読み上げ速度率を「文字数」×「１０」という公式で演算してもよい。そして、制御部１０４が、その算出結果の３６０を読み上げ速度率として音声合成部１０６に出力する。このように、制御部１０４は、文字列バッファ部１０２に記憶されている文字列の文字数に基づき、読み上げ速度率を演算してもよい。
【００５５】
また、単語数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、６単語の文字列である。この単語数に基づいて、制御部１０４が例えば、読み上げ速度率を「単語数」×「８０」という公式で演算してもよい。そして、制御部１０４が、その算出結果の４８０を読み上げ速度率として音声合成部１０６に出力する。このように、制御部１０４は、文字列バッファ部１０２に記憶されている文字列の単語数に基づき、読み上げ速度率を演算してもよい。
【００５６】
上述したように、本実施の形態の文字情報提示装置は、文字列の時間情報を記憶するメモリとしての制御部メモリ１０５と、文字列の入力を受け付ける文字情報入力部１０１と、文字情報入力部１０１に文字列が入力された場合に、文字列を記憶するとともに更新通知信号を出力する文字列バッファ部１０２と、更新通知信号を受信すると、文字列バッファ部１０２に記憶されている文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部１０３とを備えている。また、基準音声合成長演算部１０３より出力される読み上げ時間長信号、この読み上げ時間長信号に対応し文字列バッファ部１０２に記憶されている文字列の時間情報、及びメモリに記憶されている文字列の時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部１０４と、文字列バッファ部１０２に読み出し要求を出し、読み上げ速度率信号に基づき文字列バッファ部１０２より入力される文字列の音声合成をする音声合成部１０６とを備えている。
【００５７】
このような構成により、文字列を「基準速度で発声した場合に要する時間」である読み上げ時間長信号に含まれる読み上げ時間長と、文字列が入力される時間情報の間隔である文字列バッファ部１０２に記憶されている文字列の時間情報及びメモリに記憶されている文字列の時間情報の間隔、すなわち、それぞれの時間情報の「時間の差分」とを上述した公式に用いることにより、制御部１０４は、「読み上げ速度率」を算出できる。
【００５８】
このように音声合成の速度の演算を行い、音声合成部１０６は算出された読み上げの速度に基づき文字情報の提示を行うことができる。また、制御部１０４は文字列の音声合成に要する時間と文字列と共に入力される文字列の時間情報の間隔を用い、音声合成の速度の演算を行うこともできる。したがって、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列の読み上げ速度率を最適な値に設定し聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【００５９】
（実施の形態２）
図７は、本発明の実施の形態２における文字情報提示装置の構成を示すブロック図である。図７に示すように本実施の形態における文字情報提示装置は、文字情報入力部７０１、文字列バッファ部７０２、基準音声合成長演算部７０３、制御部７０４、文字列の時間情報を記憶するメモリとしての制御部メモリ７０５、音声合成部７０６、音声出力部７０７を含む。実施の形態１における文字情報提示装置の文字情報入力部１０１は、文字列の入力を受け付けた。しかし、本実施の形態における文字情報提示装置の文字情報入力部７０１は、文字列、提示時間情報、及び消去時間情報の入力を受け付けることが、実施の形態１における文字情報提示装置と異なる。
【００６０】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。文字情報入力部７０１より入力された文字列、提示時間情報、及び消去時間情報は、文字列バッファ部７０２に入力され、記憶される。
【００６１】
文字列バッファ部７０２は、基準音声合成長演算部７０３、制御部７０４及び音声合成部７０６からの要求により、文字列、提示時間情報、及び消去時間情報の出力を行う。新しい文字列が文字情報入力部７０１より入力され、文字列バッファ部７０２に記憶された場合、文字列バッファ部７０２は更新通知信号を基準音声合成長演算部７０３に出す。
【００６２】
基準音声合成長演算部７０３、制御部７０４、及び音声合成部７０６の動作は、図１において示した実施の形態１における基準音声合成長演算部１０３、制御部１０４、及び音声合成部１０６の動作と、それぞれ同様であるので説明を省略する。それらの詳細な動作については、別途、後述する。
【００６３】
次に、図８を用いて、文字列バッファ部７０２に記憶されている時間情報、消去時間情報、及び文字列のデータ構造体の一例を示す。図８は、本実施の形態における文字列バッファ部７０２に記憶されている時間情報、及び消去時間情報、及び文字列のデータ構造体の一例を示す模式図である。本例では、文字列バッファ部７０２は、ｓｔｒｂｕｆｆとｓｔｒｉｎｇＦＩＦＯと名づけたデータ構造体を用いて記述して、ソフトウエアにより構成している。本例では、文字列バッファ部７０２は、最大５つまでの文字列の表示開始時間、文字列の表示終了時間、文字列を変数であるｄｉｓｐｌａｙ＿ｔｉｍｅ、ｅｒａｓｅ＿ｔｉｍｅ及びｓｔｒにそれぞれ記憶する。また、記憶されている文字列の最後のデータ位置を変数であるｌａｓｔｓｔｒに記憶する。
【００６４】
本例では、文字列を記憶する変数であるｓｔｒには最大２５６文字まで格納可能としているが、それ以上であっても同様の効果が得られる。また、入力される文字列の長さにより確保する文字列長を可変させても、同様の効果が得られる。本例でのｉｎｔ６４は６４ビット整数型、ｃｈａｒは８ビット文字型、ｉｎｔは３２ビット整数型としているが、他のビット数及び他の型であっても同様の効果が得られる。なお、本実施例でも、文字列バッファ部７０２は、ＣＰＵやメモリなどのハードエウアの動作を規定するソフトウエアにより記述して構成している。ハードウエアのみでも実現可能であるが、ソフトウエアを用いることにより、より柔軟に各種の設定を変更可能であり、かつ低コストで実現できるなどの利点がある。
【００６５】
次に、図９を用いて、図８において示したデータ構造体に格納されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５は、図８のデータ構造体での変数であるｂｕｆｆ［０］、ｂｕｆｆ［１］、ｂｕｆｆ［２］、ｂｕｆｆ［３］及びｂｕｆｆ［４］に対応する。そして、各ｂｕｆｆ内には提示時間情報９０１、消去時間情報９０２及び格納文字列９０３が格納されており、例えば、文字列バッファ１に格納されている提示時間情報９０１はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｔｉｍｅとして示すことができる。また、文字列バッファ１に格納されている消去時間情報９０２はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｅｒａｓｅ＿ｔｉｍｅとして示すことができる。そして、文字列バッファ１に格納されている格納文字列９０３はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｓｔｒとして示すことができる。
【００６６】
本実施の形態における提示時間情報９０１及び消去時間情報９０２は、一般的なコンピュータ言語で用いられる協定世界時（ＵＴＣ）、１９７０年１月１日の０時（００：００：００）を基点とした経過秒数を格納することとする。図９では、時、分、及び秒のみ記載しているが、実際には、年、及び月も含めたデータを格納していることとする。なお、本実施の形態では他の方式で提示時間情報９０１や消去時間情報９０２を格納していたとしても同様の効果が得られる。
【００６７】
図９に示している最終データ位置９０４に格納されるデータは、現在有効なデータが格納されている文字列バッファ部７０２の最終データの位置を示す。例えば、図９の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されており、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしている。したがって、最終データ位置９０４に格納されているデータは有効なデータの内の最終データである文字列バッファ３を示す。図９において、最終データ位置９０４は、図８のデータ構造体例では、変数であるｌａｓｔｓｔｒに対応する。文字情報入力部７０１より入力された文字列、提示時間情報、及び消去時間情報は、文字列バッファ部７０２に入力され、対応する格納文字列９０３、提示時間情報９０１、及び消去時間情報９０２に格納される。また、図９に示すように、文字列バッファ１から文字列バッファ５に格納されている提示時間情報９０１、及び消去時間情報９０２は、格納文字列９０３と関連付けられている。
【００６８】
次に、具体的な文字列バッファ部７０２の動作について説明する。例えば、図９のデータ格納状態において、提示時間情報９０１として文字列「１２：００：１０」と、消去時間情報９０２として文字列「１２：００：１３」と、格納文字列９０３として文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」とが入力された場合を想定する。この場合、次の空き文字列バッファである文字列バッファ４の提示時間情報９０１に文字列「１２：００：１０」が格納され、文字列バッファ４の消去時間情報９０２に文字列「１２：００：１３」が格納され、文字列バッファ４の格納文字列９０３に文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が格納される。そして、最終データ位置９０４は、文字列バッファ４を示すように変更される。
【００６９】
また、図９のデータ格納状態において、１つの文字列バッファを削除するように指示があった場合は、文字列バッファ２に格納されているデータを文字列バッファ１に複製する。そして、文字列バッファ３に格納されているデータを文字列バッファ２に複製する。さらに、文字列バッファ４に格納されているデータを文字列バッファ３に複製する。また、文字列バッファ５に格納されているデータを文字列バッファ４に複製する。そして、最終データ位置９０４を現在示している文字列バッファの図９での１つ上側の文字列バッファ、すなわち図９のデータ格納状態では最終データ位置９０４は文字列バッファ２を示すように変更する。
【００７０】
上述したように、本実施の形態では、データの削除は必ず文字列バッファ１より行うこととしている。そして、後続するデータは文字列バッファ２を文字列バッファ１に複製し、文字列バッファ３を文字列バッファ２に複製しながらシフトしていくこととしている。しかし、本データ構造体の要素に加え、開始データ位置を示す変数を追加してもよい。そして、その開始データ位置がデータの削除を行うデータを示すものとする。すなわち、データ削除が行われると、開始データ位置が示す文字列バッファ位置が、例えば現在文字列バッファ１を示しているのであれば、文字列バッファ２を示すように変更する。また、現在、文字列バッファ２を示しているのであれば、文字列バッファ３を示すように変更してもよい。このようにすることにより、処理の高速化を達成するとともに同様の効果が得られる。
【００７１】
なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。
【００７２】
以下では、図７を用いて、本実施の形態における文字情報提示装置の動作の詳細について説明する。図７に示すように文字列バッファ部７０２は、基準音声合成長演算部７０３、制御部７０４、及び音声合成部７０６からの要求に応じて、格納されている各データの内容を出力する。
【００７３】
また、データの削除は音声合成部７０６が文字列バッファ部７０２よりデータを読み出した際、音声合成部７０６よりデータ削除要求が文字列バッファ部７０２に出されることに基づいて実行する。また、文字情報入力部７０１が、文字列を文字列バッファ部７０２に入力すると、文字列バッファ部７０２は格納されているデータが更新されたことを示す更新通知信号を基準音声合成長演算部７０３、制御部７０４、及び音声合成部７０６に通知する。
【００７４】
図７における基準音声合成長演算部７０３は、文字列バッファ部７０２内の文字列を音声合成部７０６が基準速度で発声した場合にかかる時間を、算出する。図１０は、基準音声合成長演算部７０３の内部構成を示すブロック図である。基準音声合成長演算部７０３は、基準音声合成長演算部用制御部１００１、文字列一時格納部１００２、読み上げ時間長加算部１００３、単語読み上げ時間長基準データ部１００４を含む。
【００７５】
次に、このように構成された基準音声合成長演算部７０３の動作について説明する。ここで、基準音声合成長演算部７０３に含まれる基準音声合成長演算部用制御部１００１、文字列一時格納部１００２、読み上げ時間長加算部１００３、単語読み上げ時間長基準データ部１００４の動作は、図４において示した実施の形態１における基準音声合成長演算部１０３に含まれる基準音声合成長演算部用制御部４０１、文字列一時格納部４０２、読み上げ時間長加算部４０３、単語読み上げ時間長基準データ部４０４の動作と、それぞれ同様であるので説明を省略する。
【００７６】
次に、図１１を用いて、単語読み上げ時間長基準データ部１００４内に格納されているデータの一例を示す。データの例として、単語１１０１（図１１では、「ｗｏｒｄ１１０１」と表す）の欄と、単語１１０１を基準速度で発声した場合にかかる時間である読み上げ時間長１１０２（図１１では、「ｄｕｒａｔｉｏｎ１１０２」と表す）の欄とを示している。
【００７７】
ｗｏｒｄ１１０１とｄｕｒａｔｉｏｎ１１０２は関連付けされており、対応している。例えば、ｃｌｏｗｄｙというｗｏｒｄ１１０１に対応するｄｕｒａｔｉｏｎ１１０２は２．０である。ｄｕｒａｔｉｏｎ１１０２の単位は本実施の形態は秒とし、例えばｃｌｏｗｄｙという単語を発声するために必要な時間は図１１のテーブルでは２．０秒である。なお、単位に関しては、他の単位を用いても同様の効果が得られる。
【００７８】
ところで、基準音声合成長演算部用制御部１００１が文字列バッファ部７０２からのデータ更新通知を受けると、更新された文字列データを読み出すように読み出し要求を文字列バッファ部７０２に出す。そして、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」が文字列バッファ部７０２から出力された場合、まず、この文字列は文字列一時格納部１００２に保持される。そして、基準音声合成長演算部用制御部１００１は、読み上げ時間長加算部１００３内に格納されている読み上げ時間長を０にする。文字列一時格納部１００２は基準音声合成長演算部用制御部１００１からの要求に応じ、格納されている文字列を単語単位に分割する。そして、文字列一時格納部１００２は、単語単位に読み上げ時間長加算部１００３に出力する。すなわち、文字列「ＮＥＸＴ」、「ＩＳ」、「ＷＥＡＴＨＥＲ」、「ＦＯＲＣＡＳＴ」と単語単位に出力される。読み上げ時間長加算部１００３は文字列一時格納部１００２より出力される単語単位の文字列データを単語読み上げ時間長基準データ部１００４に参照する。そして、読み上げ時間長加算部１００３は、それらの各単語に対応した図１１におけるｄｕｒａｔｉｏｎ１１０２を読み上げ時間長に加算していく。各単語の図１１におけるｄｕｒａｔｉｏｎ１１０２は本例の場合、文字列「ＮＥＸＴ」は１．５秒、文字列「ＩＳ」は１．０秒、文字列「ＷＥＡＴＨＥＲ」は２．０秒、文字列「ＦＯＲＣＡＳＴ」は２．５秒となり、加算結果は単語のみで７．０秒となる。
【００７９】
なお、読み上げ時間長加算部１００３は、各単語間に挿入されているスペース文字、ピリオド、コンマ等も単語同様に扱う。例えばスペース文字、ピリオド、コンマに各０．５秒を割り当てている場合、「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」という文字列には計３つのスペース文字が挿入されているため、１．５秒が加算される。その結果、文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」の全ての単語およびスペース文字、ピリオド、コンマ等が処理された後の読み上げ時間長は８．５秒である。読み上げ時間長加算部１００３は、演算した読み上げ時間長は制御部７０４に出力する。
【００８０】
単語読み上げ時間長基準データ部１００４内のｄｕｒａｔｉｏｎ１１０２にすでに各単語の認識性を高めるための時間が加算されている場合は、別途スペース文字での時間を加算する必要はない。本実施の形態では、英語で使用されるスペース、ピリオド、コンマ等を例に挙げたが、他の言語を扱う場合は各言語で使用される句読点を同様に扱うことにより同様の効果が得られる。
【００８１】
本実施の形態では、１６単語のみ単語読み上げ時間長基準データ部内に格納されていることとしている例を示したが、実際には発声する言語で一般的に使われる単語は単語読み上げ時間長基準データ部１００４に含めることが望ましい。
【００８２】
なお、１つの言語のみならず、複数言語に対応した単語読み上げ時間長基準データ部１００４を持つことにより多言語対応が可能となる。複数言語に対応する場合、以下のようにして、よりデータの効率化を図ることができる。すなわち、よりデータの効率化を図るために、１つの単語読み上げ時間長基準データ部１００４内に複数言語のデータを格納してもよい。または、言語ごとに複数の単語読み上げ時間長基準データ部１００４を設けてもよい。または、各言語で共通した単語を１つの１つの単語読み上げ時間長基準データ部１００４内に格納し、各言語固有の単語に関しては別の単語読み上げ時間長基準データ部１００４を設けてもよい。
【００８３】
なお、単語読み上げ時間長基準データ部１００４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部１００４は次の方法で単語読み上げ時間長を出力することとする。すなわち、単語読み上げ時間長基準データ部１００４に存在しない単語が参照された場合の単語読み上げ時間長基準データ部１００４の出力方法は、例えば該当する単語の文字数に応じ演算する、類似する単語と同様の単語読み上げ時間長とするなどである。
【００８４】
なお、単語読み上げ時間長基準データ部１００４に存在しない単語が参照された場合、単語読み上げ時間長基準データ部１００４の出力方法は、単語をさらに詳細に分割し、分割した単位ごとにテーブルを持つことでも可能である。例えば、「ｉｍｐｌｅｍｅｎｔａｔｉｏｎ」という単語は、文字列「ｉｍ」、文字列「ｐｌｅ」、文字列「ｍｅｎ」、文字列「ｔａｔｉｏｎ」と単語を分割可能である。そして、各分割した要素ごとの発声に必要な時間を単語読み上げ時間長基準データ部１００４内に格納しておけば、単語単位での単語読み上げ時間長基準データ部１００４が存在しなくても単語の要素ごとに発声した場合に必要な時間を加算することができる。その結果、実際に単語単位で発声した際に必要な時間が求められる。
【００８５】
また、単語読み上げ時間長基準データ部１００４内には単語ごとに発声した場合にかかる時間は保持せず、単語を分割した単位での発声にかかる時間を保持しておいても同様の効果が得られる。
【００８６】
なお、本実施の形態のように単語読み上げ時間長基準データ部１００４内に単語読み上げ時間長を算出するためのデータベースを持つ以外に、言語の発声ルールを基に文字列より単語読み上げ時間長を算出するアルゴリズムを用いても同様の効果が得られる。
【００８７】
次に、図９を用いて制御部７０４の演算処理を詳細に説明する。本例では、図９において示した文字列バッファ２に格納されている提示時間情報９０１である文字列「１２：００：０３」と、消去時間情報９０２である文字列「１２：００：０６」と、格納文字列９０３である文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」とが、制御部７０４において処理された場合として説明する。制御部７０４は基準音声合成長演算部７０３より読み上げ時間長信号を受け取ると文字列バッファ部７０２より提示時間情報９０１及び格納文字列９０３を読み出す。制御部７０４は演算対象のデータの提示時間情報９０１の文字列「１２：００：０３」と、消去時間情報９０２の文字列「１２：００：０６」と格納文字列９０３の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」とを処理する際に、まず基準音声合成長演算部７０３において演算して、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部７０６が基準速度で発声した場合に要する時間を求める。
【００８８】
これには、基準音声合成長演算部７０３が出力する読み上げ時間長信号を用いることができる。また、制御部７０４が、図１１のテーブルを用いて演算して求めてもよい。その結果、単語のみの発声に１０．５秒を要することがわかる。そして、単語間のスペース文字、計６個に対し、各０．５秒ずつ要するとすると追加で３秒必要であり、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部７０６が基準速度で発声した場合に要する時間は１３．５秒と求められる。
【００８９】
次に、制御部７０４は、文字列バッファ２に格納されている提示時間情報９０１である文字列「１２：００：０３」と消去時間情報９０２である文字列「１２：００：０６」との時間の差分を求める。この場合、時間の差分の演算結果は３秒である。そして、制御部７０４は、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を基準速度で発声した場合に要する時間である１３．５秒を時間の差分の演算結果である３秒で発音を完了するために必要な読み上げ速度率を演算する。例えば、基準速度で発声する場合を１００とした場合、以下の公式により読み上げ速度率を演算する。すなわち、「読み上げ速度率」＝「基準速度で発声した場合に要する時間」÷「時間の差分」×１００である。
【００９０】
本例では、上述した公式により、読み上げ速度率は、１３．５÷３×１００＝４５０となる。制御部７０４は、この値（ここでは４５０）を読み上げ速度率を示す読み上げ速度率信号として音声合成部７０６に出力する。
【００９１】
音声合成部７０６は、制御部７０４より読み上げ速度率信号を受け取ると、文字列バッファ部７０２より文字列を読み出し、受け取った読み上げ速度率信号が示す読み上げ速度率で文字列を読み上げる。音声合成部７０６が音声合成を行う音声の発声速度は、制御部７０４から出力される読み上げ速度率が１００の場合に基準音声合成長演算部７０３において演算される基準速度と同一である。また、制御部７０４から出力される読み上げ速度率に正比例して可変する。例えば制御部７０４から出力される読み上げ速度率が２００の場合は、基準音声合成長演算部７０３において演算される基準速度の倍の速度で発声する。その結果、発声に要する時間は半分となる。また、制御部７０４から出力される読み上げ速度率が５０の場合は、基準音声合成長演算部７０３において演算される基準速度の半分の速度で発声する。その結果、発声に要する時間は倍となる。
【００９２】
なお、本実施の形態では、制御部７０４は基準音声合成長演算部７０３において演算される基準速度を用いて、音声合成部７０６が音声合成を行う音声の発声速度を制御している。しかし、単純に発音する文字列の文字数や単語数により音声合成部７０６が音声合成を行う音声の発声速度を、制御部７０４が制御しても同様の効果が得られる。
【００９３】
すなわち、文字数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、スペース文字を含め３６文字の文字列である。この文字数に基づいて、制御部７０４が例えば、読み上げ速度率を「文字数」×「１０」という公式で演算してもよい。そして、制御部７０４がその算出結果の３６０を読み上げ速度率として音声合成部７０６に出力してもよい。制御部７０４は、文字列バッファ部７０２に記憶されている文字列の文字数に基づき、読み上げ速度率を演算してもよい。
【００９４】
また、単語数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、６単語の文字列である。この単語数に基づいて、制御部７０４が例えば、読み上げ速度率を「単語数」×「８０」という公式で演算し、結果４８０を読み上げ速度率として音声合成部７０６に出力してもよい。このように、制御部７０４は、文字列バッファ部７０２に記憶されている文字列の単語数に基づき、読み上げ速度率を演算してもよい。
【００９５】
このように、本実施の形態の文字情報提示装置は、メモリとしての制御手段メモリ７０５に記憶されている文字列の時間情報は、文字情報入力部７０１より入力された文字列に付随する提示時間情報９０１と消去時間情報９０２であることを特徴とする。このようにすることで、文字列の音声合成に要する時間と文字列の提示時間情報、及び消去時間情報を用い、音声合成の速度を演算することにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列の読み上げ速度率を最適な値に設定し聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【００９６】
（実施の形態３）
図１２は、本発明の実施の形態３における文字情報提示装置の構成を示すブロック図である。図１２に示すように本実施の形態における文字情報提示装置は、文字情報入力部１２０１、文字列バッファ部１２０２、基準音声合成長演算部１２０３、制御部１２０４、文字列の時間情報を記憶するメモリとしての制御部メモリ１２０５、音声合成部１２０６、音声出力部１２０７を含む。本実施の形態における文字情報提示装置の文字情報入力部１２０１は、メモリとしての制御部メモリ１２０５が、さらに、所定の数の読み上げ速度率信号の履歴を記憶することが、実施の形態１におけると文字情報提示装置と異なる。そして、制御部１２０４は、基準音声合成長演算部１２０３より入力される読み上げ時間長信号、文字列バッファ部１２０２より読み出した読み上げ時間長信号に対応する文字列の時間情報、及びメモリに記憶された時間情報に基づき算出した読み上げ速度率信号と、メモリに記憶された所定の数の読み上げ速度率信号の履歴に基づき、読み上げ速度率信号を算出することを特徴とする。
【００９７】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。本実施の形態における文字情報提示装置に含まれる文字情報入力部１２０１、文字列バッファ部１２０２、基準音声合成長演算部１２０３、音声合成部１２０６、及び音声出力部１２０７の動作は、実施の形態１における文字情報提示装置に含まれる文字情報入力部１０１、文字列バッファ部１０２、基準音声合成長演算部１０３、音声合成部１０６、音声出力部１０７の動作と、それぞれ同様であるので説明を省略する。
【００９８】
制御部１２０４は、基準音声合成長演算部１２０３より入力される読み上げ時間長信号、文字列バッファ部１２０２より読み出した読み上げ時間長信号に対応する文字列の時間情報、及びメモリに記憶された時間情報に基づき算出した読み上げ速度読み上げ速度率信号と、メモリに記憶された所定の数の読み上げ速度読み上げ速度率信号の履歴に基づき、読み上げ速度読み上げ速度率信号を算出する。そして、メモリとしての制御部メモリ１２０５は、所定の数の読み上げ速度読み上げ速度率信号の履歴を記憶する。また、制御部１２０４は、演算結果に基づき読み上げ速度率信号を音声合成部１２０６に出力する。
【００９９】
次に、図１３を用いて、文字列バッファ部１２０２に記憶されている時間情報や文字列のデータ構造体の一例を示す。図１３は、本実施の形態における文字列バッファ部１２０２に記憶されている時間情報や文字列のデータ構造体の一例を示す模式図である。本例では、文字列バッファ部１２０２は、ｓｔｒｂｕｆｆとｓｔｒｉｎｇＦＩＦＯと名づけたデータ構造体を用いて記述して、ソフトウエアにより構成している。本例では、文字列バッファ部１２０２は、文字列の表示開始時間または到来時間を、変数であるｔｉｍｅに記憶する。また、文字列バッファ部１２０２は、最大５つまでの文字列を、変数であるｓｔｒに記憶する。そして、詳細な説明は後述するが、変数であるｂｕｆｆに文字列を格納する。また、記憶されている文字列の最後のデータ位置を変数であるｌａｓｔｓｔｒに記憶する。
【０１００】
本例では、文字列を記憶する変数であるｓｔｒには最大２５６文字まで格納可能としているが、それ以上であっても同様の効果が得られる。また、入力される文字列の長さにより確保する文字列長を可変させても、同様の効果が得られる。本例でのｉｎｔ６４は６４ビット整数型、ｃｈａｒは８ビット文字型、ｉｎｔは３２ビット整数型としているが、他のビット数及び他の型であっても同様の効果が得られる。なお、本実施例では、文字列バッファ部１２０２は、ＣＰＵやメモリなどのハードエウアの動作を規定するソフトウエアにより記述して構成している。ハードウエアのみでも実現可能であるが、ソフトウエアを用いることにより、より柔軟に各種の設定を変更可能であり、かつ低コストで実現できるなどの利点がある。
【０１０１】
次に、図１４を用いて、図１３において示したデータ構造体に格納されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５は、図１３のデータ構造体での変数であるｂｕｆｆ［０］、ｂｕｆｆ［１］、ｂｕｆｆ［２］、ｂｕｆｆ［３］及びｂｕｆｆ［４］に対応する。そして、各ｂｕｆｆ内には時間情報１４０１と格納文字列１４０２とが格納されている。例えば、文字列バッファ１に格納されている時間情報１４０１はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｔｉｍｅ、文字列バッファ１に格納されている格納文字列１４０２はｓｔｒｆｉｆｏ．ｂｕｆｆ［０］．ｓｔｒとして示すことができる。
【０１０２】
本実施の形態における時間情報１４０１は、一般的なコンピュータ言語で用いられる協定世界時（ＵＴＣ）、１９７０年１月１日の０時（００：００：００）を基点とした経過秒数を格納することとする。図１４では、時、分、及び秒のみ記載しているが、実際には、年、及び月も含めたデータを格納していることとする。なお、本実施の形態では他の方式で時間情報１４０１を格納していたとしても同様の効果が得られる。
【０１０３】
図１４に示している最終データ位置１４０３に格納されるデータは、現在有効なデータが格納されている文字列バッファ部１２０２の最終データの位置を示す。例えば、図１４の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されおり、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしている。したがって、最終データ位置１４０３に格納されているデータは有効なデータの内の最終データである文字列バッファ３を示す。図１４において、最終データ位置１４０３は、図１３のデータ構造体例では、変数であるｌａｓｔｓｔｒに対応する。文字列バッファ１から文字列バッファ５に格納されている時間情報１４０１は、格納文字列１４０２と関連付けられており、文字列の表示開始時間または到来時間を時間情報１４０１として文字列バッファ部１２０２が格納することとする。
【０１０４】
次に、具体的な文字列バッファ部１２０２の動作について説明する。図１４のデータ格納状態において示すように、各文字列バッファ１から文字列バッファ５は時間情報１４０１、および格納文字列１４０２が格納されている。そして、最終データ位置１４０３が、文字列バッファ３を示している。このように、本実施の形態における文字列バッファ部１２０２に格納されている時間情報１４０１、格納文字列１４０２、及び最終データ位置１４０３は、実施の形態１における図３に示した文字列バッファ部１０２に格納されている時間情報３０１、格納文字列３０２、及び最終データ位置３０３とそれぞれ同様である。そして、新しい文字列の入力されたときや１つの文字列バッファを削除するときの動作も同様である。したがって、詳細な説明は省略する。
【０１０５】
なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。
【０１０６】
以下では、図１２を用いて、本実施の形態における文字情報提示装置の動作の詳細について説明する。図１２に示すように文字列バッファ部１２０２は、基準音声合成長演算部１２０３、制御部１２０４、及び音声合成部１２０６からの要求に応じて、格納されている各データの内容を出力する。また、データの削除は音声合成部１２０６が文字列バッファ部１２０２よりデータを読み出した際、音声合成部１２０６よりデータ削除要求が文字列バッファ部１２０２に出されることに基づいて実行する。また、文字情報入力部１２０１が、文字列を文字列バッファ部１２０２に入力すると、文字列バッファ部１２０２は格納されているデータが更新されたことを示す更新通知信号を基準音声合成長演算部１２０３、制御部１２０４、及び音声合成部１２０６に通知する。
【０１０７】
図１２における基準音声合成長演算部１２０３は、文字列バッファ部１２０２内の文字列を音声合成部１２０６が基準速度で発声した場合にかかる時間を、算出する。図１５は、基準音声合成長演算部１２０３の内部構成を示すブロック図である。基準音声合成長演算部１２０３は、基準音声合成長演算部用制御部１５０１、文字列一時格納部１５０２、読み上げ時間長加算部１５０３、単語読み上げ時間長基準データ部１５０４を含む。
【０１０８】
次に、このように構成された基準音声合成長演算部１２０３の動作について説明する。本実施の形態における基準音声合成長演算部１２０３に含まれる基準音声合成長演算部用制御部１５０１、文字列一時格納部１５０２、読み上げ時間長加算部１５０３、及び単語読み上げ時間長基準データ部１５０４の動作は、実施の形態１における基準音声合成長演算部１０３に含まれる基準音声合成長演算部用制御部４０１、文字列一時格納部４０２、読み上げ時間長加算部４０３、及び単語読み上げ時間長基準データ部４０４の動作と、それぞれ同様であるので説明を省略する。
【０１０９】
次に、図１６を用いて、単語読み上げ時間長基準データ部１５０４内に格納されているデータの一例を示す。データの例として、単語１６０１（図１６では、「ｗｏｒｄ１６０１」と表す）の欄と、単語１６０１を基準速度で発声した場合にかかる時間である読み上げ時間長１６０２（図１６では、「ｄｕｒａｔｉｏｎ１６０２」と表す）の欄とを示している。本実施の形態における単語１６０１、及び読み上げ時間長１６０２についての処理は、実施の形態１における図５に示した単語５０１、及び読み上げ時間長５０２についての処理と同様であるので、詳細な説明は省略する。
【０１１０】
次に、図１７を用いて制御部メモリ１２０５に格納されている記憶文字列到着時間情報１７０１、読み上げ速度率履歴情報１７０２の説明及び制御部１２０４での演算処理の説明をする。図１７に示すように、本実施の形態における文字情報提示装置に含まれるメモリとしての制御部メモリ１２０５は、さらに、所定の数の読み上げ速度率信号の履歴を記憶する。そして、制御部１２０４は、基準音声合成長演算部１２０３より入力される読み上げ時間長信号、文字列バッファ部１２０２より読み出した読み上げ時間長信号に対応する文字列の時間情報、及びメモリに記憶された時間情報に基づき算出した読み上げ速度率信号と、メモリに記憶された所定の数の読み上げ速度率信号の履歴に基づき、読み上げ速度率信号を算出することを特徴とする。
【０１１１】
具体的には、制御部メモリ１２０５は、新たに記憶文字列到着時間情報１７０１、及び読み上げ速度率履歴情報１７０２が入力されると、図１７において、記憶されている記憶文字列到着時間情報、及び読み上げ速度率履歴情報を下方向にシフトする。すなわち、時間情報５に記憶されている記憶文字列到着時間情報及び読み上げ速度率履歴情報は破棄される。そして、時間情報１に新しく入力された記憶文字列到着時間情報、及び読み上げ速度率履歴情報を記憶する。このように、過去５つの記憶文字列到着時間情報、及び読み上げ速度率履歴情報が記憶されている。すなわち、本実施の形態では、所定の数を一例として、５としている。ただし、所定の数は、必ずしも、５でなくともよい。それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。
【０１１２】
図１７の例では、時間情報１の記憶文字列到着時間情報１７０１には記憶文字列到着時間情報である文字列「１２：００：００」が格納されている。本例は、図１４での文字列バッファ１に格納されていた時間情報１４０１である文字列「１２：００：００」と格納文字列１４０２である文字列「ＮＥＸＴ  ＩＳ  ＷＥＡＴＨＥＲ  ＦＯＲＣＡＳＴ」が制御部１２０４において処理された後の状態として説明する。制御部１２０４は、基準音声合成長演算部１２０３より読み上げ時間長信号を受け取ると、文字列バッファ部１２０２より時間情報１４０１及び格納文字列１４０２を読み出す。制御部１２０４は、演算対象のデータの時間情報１４０１である文字列「１２：００：０３」と格納文字列１４０２である文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を処理する際に、まず基準音声合成長演算部１２０３において演算して、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１２０６が基準速度で発声した場合に要する時間を求める。
【０１１３】
これには、基準音声合成長演算部１２０３が出力する読み上げ時間長信号を用いることができる。また、制御部１２０４が、図１６のテーブルを用いて演算して求めてもよい。その結果、単語のみの発声に１０．５秒を要することがわかる。そして、単語間のスペース文字、計６個に対し、各０．５秒ずつ要するとすると追加で３秒必要であり、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１２０６が基準速度で発声した場合に要する時間は１３．５秒と求められる。そして、制御部１２０４は制御部メモリ１２０５に記憶されている時間情報１の記憶文字列到着時間情報１７０１の文字列「１２：００：００」を読み出し、演算対象のデータである時間情報１４０１の文字列「１２：００：０３」との時間の差分を求める。この場合、時間の差分の演算結果は３秒である。
【０１１４】
次に、制御部１２０４は、文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」を音声合成部１２０６が基準速度で発声した場合に要する時間である１３．５秒を、時間の差分の演算結果である３秒で発音を完了するために必要な読み上げ速度率を演算する。例えば、基準速度で発声する場合を１００とした場合、以下の公式により読み上げ速度率を演算する。すなわち、「読み上げ速度率」＝「基準速度で発声した場合に要する時間」÷「時間の差分」×１００である。
【０１１５】
本例では、上述した公式により、読み上げ速度率は、１３．５÷３×１００＝４５０となる。次に、制御部１２０４は演算した値、制御部メモリ１２０５格納されている５つの各読み上げ速度率履歴情報１７０２の和を求める。本例では４５０＋（４００＋３５０＋３２０＋４００＋３８０）＝２３００である。そして、平均値を求めるために、この値を（１＋５）で除算する。ここでは、小数点以下は切り捨てることとする。この演算結果として、２３００÷６＝３８３が求められる。そして、この演算結果を、制御部１２０４は読み上げ速度率として音声合成部１２０６に出力する。
【０１１６】
なお、本実施の形態では、制御部１２０４が演算し、音声合成部１２０６に出力する読み上げ速度率を過去の履歴との平均値として演算した。しかし、例えば、１つ前の読み上げ速度率からあらかじめ定められた割合を上限、及び下限として変化させるようにしてもよい。その結果、制御部１２０４が音声合成部１２０６に出力する読み上げ速度率が急激に変化しないように制御を行うことができるので、本実施の形態と同様の効果が得られる。
【０１１７】
音声合成部１２０６は、制御部１２０４より読み上げ速度率信号を受け取ると、文字列バッファ部１２０２より文字列を読み出し、受け取った読み上げ速度率信号が示す読み上げ速度率で文字列を読み上げる。音声合成部１２０６が音声合成を行った結果の音声の発声速度は、制御部１２０４から出力される読み上げ速度率が１００の場合に基準音声合成長演算部１２０３において演算される基準速度と同一であり、また制御部１２０４から出力される読み上げ速度率に正比例して可変する。例えば、制御部１２０４から出力される読み上げ速度率が２００の場合は、基準音声合成長演算部１２０３において演算される基準速度の倍の速度で発声する。その結果、発声に要する時間は半分となる。また、制御部１２０４から出力される読み上げ速度率が５０の場合は、基準音声合成長演算部１２０３において演算される基準速度の半分の速度で発声する。その結果、発声に要する時間は倍となる。
【０１１８】
なお、本実施の形態では、文字列バッファ部１２０２内の時間情報１４０１は、格納文字列１４０２と関連付けされている。したがって、文字列バッファ部１２０２は、文字情報入力部１２０１より文字列が文字列バッファ部１２０２に入力された時間を時間情報１４０１として格納する。しかし、文字情報入力部１２０１より文字列と共に時間情報が入力された場合、文字情報入力部１２０１より文字列が文字列バッファ部１２０２に入力された時間の代わりに、文字列と共に入力された時間情報を文字列バッファ部１２０２に格納することとしても同様の効果が得られる。例えば、テレビ放送で使用される字幕情報には画面上に表示する時刻を記した時間情報が文字列と共に送られてくる。この画面上に表示する時刻を文字列バッファ部１２０２内の時間情報１４０１として記憶し用いることにより、より字幕の音声合成に適した音声合成を行うことができる。
【０１１９】
なお、本実施の形態では、制御部１２０４は基準音声合成長演算部１２０３において演算される基準速度を用いて、音声合成部１２０６が音声合成を行う音声の発声速度を、制御部１２０４が制御している。しかし、単純に発音する文字列の文字数や単語数により、音声合成部１２０６が音声合成を行う音声の発声速度を、制御部１２０４が制御しても同様の効果が得られる。
【０１２０】
すなわち、文字数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、スペース文字を含め３６文字の文字列である。この文字数に基づいて、制御部１０４が例えば、読み上げ速度率を「文字数」×「１０」という公式で演算してもよい。そして、制御部１２０４がその算出結果の３６０を読み上げ速度率として音声合成部１２０６に出力してもよい。
【０１２１】
また、単語数での演算の場合、例えば、本例の文字列「ＷＥＡＴＨＥＲ  ＩＳ  ＦＩＮＥ  ＩＮ  ＴＨＥ  ＮＯＲＴＨＥＲＮ  ＡＲＥＡ」であれば、６単語の文字列である。この単語数に基づいて、制御部１２０４が例えば、読み上げ速度率を「単語数」×「８０」という公式で演算してもよい。そして、制御部１２０４がその算出結果の４８０を読み上げ速度率として音声合成部１２０６に出力してもよい。
【０１２２】
このように、本実施の形態の文字情報提示装置は、文字列の音声合成に要する時間と文字列が入力される時間間隔、または文字列の音声合成に要する時間と文字列と共に入力される時間情報の間隔を用いる。さらに、文字情報提示装置は、音声合成の速度の演算を過去の演算結果を用いて平均化し演算を行うことにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列読み上げの速度を最適な値に設定し聞き取りやすさを確保し、かつ急激な文字列の読み上げ速度率の変化を抑えた文字情報提示装置を提供することが可能となる。
【０１２３】
（実施の形態４）
図１８は、本発明の実施の形態４における文字情報提示装置の構成を示すブロック図である。図１８に示すように本実施の形態における文字情報提示装置は、文字情報入力部１８０１、文字列バッファ部１８０２、制御部１８０３、音声合成部１８０４、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９、音声出力部１８１０を含む。本実施の形態が、実施の形態１と異なるのは、本実施の形態における文字情報提示装置は、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９を、さらに備えていることである。また、図１に示した基準音声合成長演算部１０３と制御部メモリ１０５とを備えていない。そして、詳細は後述するが、制御部１８０３が、文字列バッファ部１８０２、音声合成部１８０４、映像バッファ部１８０７、及び映像提示部１８０８を制御することである。
【０１２４】
次に、このように構成された本実施の形態における文字情報提示装置の動作について説明する。文字情報入力部１８０１は、文字列の入力を受け付ける。そして、文字情報入力部１８０１より入力された文字列は、文字列バッファ部１８０２に入力され、記憶される。文字列バッファ部１８０２は、制御部１８０３及び音声合成部１８０４からの要求により、文字列の出力を行う。新しい文字列が文字情報入力部１８０１より入力され、文字列バッファ部１８０２に記憶された場合は、文字列バッファ部１８０２は更新通知信号を制御部１８０３に出す。
【０１２５】
音声合成部１８０４は、音声合成処理を行っていない状態であれば文字列バッファ部１８０２を監視する。そして、音声合成部１８０４は、音声合成をまだ行っていない文字列が記憶されていることを検知すると、文字列を文字列バッファ部１８０２より読み出し、音声合成を開始する。そして、音声合成部１８０４は、基準速度で音声合成して音声出力部１８１０に音声信号を出力する。また、音声合成部１８０４は、音声合成処理が完了すると、完了した文字列のデータを文字列バッファ部１８０２より削除するように文字列バッファ部１８０２に要求を出す。なお、基準速度は、例えば、アナウンサ等の発声する言葉の速度に代表される標準的な速度とする。
【０１２６】
制御部１８０３は文字列バッファ部１８０２からの更新通知信号を受けると、音声合成部１８０４の状態を確認する。もし、音声合成部１８０４が音声合成処理を完了していなければ、制御部１８０３は映像提示部１８０８に映像の一時停止要求を出す。そして、映像バッファ部１８０７は映像情報入力部１８０６より入力される映像情報を一時的に蓄える。
【０１２７】
映像提示部１８０８は例えば映像デコーダであり、映像バッファ部１８０７より映像信号を読み出し、映像出力部１８０９に出力する。なお、映像提示部１８０８は制御部１８０３より映像信号の一時停止要求を受けると、映像バッファ部１８０７からの映像情報の読み出しを停止し、映像信号の出力を静止する。また、制御部１８０３は映像提示部１８０８に一時停止要求を出した後に、音声合成部１８０４が音声合成処理を完了したことを検知すると、映像提示部１８０８に映像信号の再生を再開するように要求を出す。すなわち、音声合成部１８０４において、合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を静止状態で出力する。
【０１２８】
次に、図１９に文字列バッファ部１８０２に記憶されているデータの一例を示す。文字列バッファ１，文字列バッファ２、文字列バッファ３、文字列バッファ４、及び文字列バッファ５には、各２５６文字までの文字列を記憶可能とする。格納されている各文字列は格納文字列１９０１と呼ぶ。なお、格納可能な文字数は２５６以上であっても以下であっても、動的に格納可能な文字列の長さを変化させても本実施の形態では同様の効果が得られる。最終データ位置１９０２に格納されるデータは、現在有効なデータが格納されている文字列バッファ部１８０２の最終データの位置を示す。例えば、図１９の状態では、文字列バッファ１、文字列バッファ２、文字列バッファ３に有効なデータが格納されおり、文字列バッファ４及び文字列バッファ５には空のデータまたは無効なデータが格納されているとしているため、最終データ位置１９０２に格納されているデータは文字列バッファ３を示している。
【０１２９】
図１９に示すデータ格納状態において、文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が入力された場合、次の空き文字列バッファである文字列バッファ４の格納文字列１９０１に文字列「ＴＯＭＯＲＲＯＷ’Ｓ  ＦＯＲＥＣＡＳＴ  ＩＳ  ＳＵＮＮＹ  ＩＮ  ＡＬＬ  ＴＨＥ  ＡＲＥＡ」が格納され、最終データ位置１９０２は文字列バッファ４を示す。
【０１３０】
また、図１９に示すデータ格納状態において、１つの文字列バッファを削除するように指示があった場合、文字列バッファ２に格納されているデータを文字列バッファ１に複製する。そして、文字列バッファ３に格納されているデータを文字列バッファ２に複製する。さらに、文字列バッファ４に格納されているデータを文字列バッファ３に複製する。また、文字列バッファ５に格納されているデータを文字列バッファ４に複製する。そして、最終データ位置１９０２を現在示している文字列バッファ部１８０２の図１９での１つ上側の文字列バッファ、すなわち、図１９のデータ格納状態では文字列バッファ２を示すように変更する。
【０１３１】
上述したように、本実施の形態では、データ構造体におけるデータの削除は必ず文字列バッファ１より行うこととしている。そして、後続するデータは文字列バッファ２を文字列バッファ１に複製し、文字列バッファ３を文字列バッファ２に複製というように複製しながらシフトしていくこととしている。しかし、本データ構造体の要素に加え、開始データ位置を示す変数を追加してもよい。そして、その開始データ位置がデータの削除を行うデータを示すとしてもよい。すなわち、データ削除が行われると、開始データ位置が示す文字列バッファ位置を、例えば現在文字列バッファ１を示しているのであれば、文字列バッファ２を示すようにシフトしてもよい。さらにまた、開始データ位置が示す文字列バッファ位置を、現在文字列バッファ２を示しているのであれば、文字列バッファ３を示すようにシフトするようにしてもよい。このようにすることにより処理の高速化を達成するとともに同様の効果が得られる。なお、本実施の形態では文字列バッファは５つまであることとしているが、それ以上であっても、それ以下であっても、動的に格納個数を変化させても同様の効果が得られる。
【０１３２】
なお、音声合成部１８０４が音声合成処理を完了していなければ、制御部１８０３は映像提示部１８０８に映像信号の出力の一時停止要求を出すかわりに、制御部１８０３は映像提示部１８０８に映像提示速度を可変させるように要求を出すことにより、視聴者の違和感を軽減した提示が可能となる。例えば、映像提示部１８０８は、制御部１８０３より映像提示速度を遅くするように要求を受けた場合、映像提示部１８０８は映像バッファ部１８０７からの映像情報の読み出し頻度を遅くし、映像出力部１８０９に出力する。また、映像提示部１８０８は制御部１８０３より映像提示速度を早くするように要求を受けた場合、映像提示部１８０８は映像バッファ部１８０７からの映像情報の読み出し頻度を早くし、映像出力部１８０９に出力する。すなわち、音声合成部１８０４において、合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、完全に一時停止させてしまうのではなく、映像信号の提示速度を可変させて出力する。映像提示部１８０８において映像提示速度を可変させるように制御する方法は、例えば映像提示部１８０８がＭＰＥＧ２デコーダである場合は、ＭＰＥＧ２デコーダ内のＳＴＣ（Ｓｙｓｔｅｍ  Ｔｉｍｅ  Ｃｌｏｃｋ）のカウントアップスピードを可変させることにより可能である。
【０１３３】
このように、本実施の形態における文字情報提示装置は、映像情報の入力を受け付ける映像情報入力部１８０６と、映像情報入力部１８０６に入力された映像情報を記憶する映像バッファ部１８０７と、映像バッファ部１８０７から映像情報を読み出し、デコードし、映像信号として出力する映像提示部１８０８とを備えている。また、文字列の入力を受け付ける文字情報入力部１８０１と、文字情報入力部１８０１に入力された文字列を記憶する文字列バッファ部１８０２と、文字列バッファ部１８０２から文字列を読み出し、所定の速度で音声合成し、音声信号として出力する音声合成部１８０４とを備えている。また、少なくとも映像提示部１８０８を制御する制御部１８０３を備えている。そして、文字情報提示装置は、入力される文字情報の提示処理が間に合わない場合、すなわち音声合成部１８０４において、合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を出力する。すなわち、入力される映像情報の提示を一時停止または提示速度を可変することにより、あらかじめ到来する文字列の頻度や文字数がわからなくとも、文字列の読み上げや聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【０１３４】
なお、本実施の形態における文字情報提示装置は、制御部１８０３の制御により、入力される映像情報の提示を一時停止または提示速度を可変することとした。しかし、図２０に示すように音声情報の処理を実施の形態１乃至３で示したような構成とし、本実施の形態における映像情報の提示を制御する構成と組み合わせてもよい。そして、ユーザの設定により、文字情報提示装置における提示速度の変更を行う処理を、音声情報の処理あるいは映像情報の処理とで選択できるようにしてもよい。このようにすれば、音声情報あるいは映像情報のどちらか一方を送出側の意図に、限りなく忠実に再現したい場合に有効である。
【０１３５】
図２０は、本発明の実施の形態４における文字情報提示装置の他の例の構成を示すブロック図である。図に示すように、他の例における文字情報提示装置は、文字情報入力部１８０１、文字列バッファ部１８０２、音声合成部１８０４、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９、音声出力部１８１０、基準音声合成長演算部１８１４、制御部１８０３、制御部メモリ１８０５、ユーザ入力部１８２０を含む。
【０１３６】
すなわち、他の例における文字情報提示装置は、図１８の構成に加えて、基準音声合成長演算部１８１４、制御部メモリ１８０５、ユーザ入力部１８２０をさらに備えている。文字情報入力部１８０１、文字列バッファ部１８０２、音声合成部１８０４、音声出力部１８１０、基準音声合成長演算部１８１４、制御部１８０３、制御部メモリ１８０５を用いた音声情報の提示速度の変更を行う処理は、既に述べた実施の形態と同様であり、詳細な説明は省略する。
【０１３７】
また、文字情報入力部１８０１、文字列バッファ部１８０２、音声合成部１８０４、音声出力部１８１０、映像情報入力部１８０６、映像バッファ部１８０７、映像提示部１８０８、映像出力部１８０９、制御部１８０３を用いた映像情報の提示速度の変更を行う処理は、既に述べた本実施の形態と同様であり、詳細な説明は省略する。
【０１３８】
したがって、他の例の文字情報提示装置における異なる部分の構成と動作について説明する。すなわち、他の例の文字情報提示装置は、映像情報の入力を受け付ける映像情報入力部１８０６と、映像情報入力部１８０６に入力された映像情報を記憶する映像バッファ部１８０７と、映像バッファ部１８０７から映像情報を読み出し、デコードし、映像信号として出力する映像提示部１８０８とをさらに備えている。そして、制御部１８０３は、少なくとも映像提示部１８０８を制御するとともに、選択信号を入力するユーザ入力部１８２０に接続されている。そして、選択信号が、映像情報の選択である場合、音声合成部１８０４において、所定の速度で発声した場合にかかる時間に基づいて合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を出力する。
【０１３９】
また、選択信号が、音声情報の選択である場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を通常の速度で出力するとともに、制御部１８０３の制御により音声合成は、読み上げ速度率信号に基づき文字列バッファ部１８０２より入力される文字列の音声合成をする。
【０１４０】
次に、制御部１８０３の詳細な動作について説明する。制御部１８０３は、ユーザ入力部１８２０の出力に接続されている。ユーザの選択によりユーザ入力部１８２０には、文字情報提示装置において、映像信号を通常の速度で出力するか、または音声信号を基準速度で合成して出力するかを選択する選択信号が印加される。すなわち、選択信号には、ユーザの選択が、「音声情報の選択」あるいは「映像情報の選択」を示すデータが含まれる。これらのデータは、具体的には、例えば、論理信号としての「真」、「偽」を用いてもよい。また、選択信号には、２つの信号として区分できるように、例えば「音声情報の選択」を示すためには、０Ｖから１Ｖ、そして「映像情報の選択」を示すためには、４Ｖから５Ｖの信号を用いてもよい。なお、ユーザの選択は、例えば、リモコンやタッチパネルなどの操作を用いて行うことができる。
【０１４１】
制御部１８０３は、ユーザ入力部１８２０から出力される選択信号を入力する。そして選択信号に、「映像情報の選択」を示すデータが含まれる場合、音声合成部１８０４において、所定の速度で発声した場合にかかる時間に基づいて合成した音声信号の出力が完了していない場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を出力する。
【０１４２】
また、選択信号に、「音声情報の選択」を示すデータが含まれる場合、制御部１８０３の制御により映像提示部１８０８は、映像信号を出力する速度を制御して映像信号を通常の速度で出力するとともに、制御部１８０３の制御により音声合成は、読み上げ速度率信号に基づき文字列バッファ部１８０２より入力される文字列の音声合成をする。
【０１４３】
このような構成により、ユーザの選択に基づいて、文字列の読み上げ速度率を算出して、読み上げ速度率を可変して文字情報の提示を行うことができる。また、ユーザの選択に基づいて、入力される映像情報の提示を一時停止または提示速度を可変することができる。したがって、あらかじめ到来する文字列の頻度や文字数がわからなくとも、提示される映像情報や文字情報の内容に基づいてユーザの選択により、文字列の読み上げや聞き取りやすさを確保する文字情報提示装置を提供することが可能となる。
【産業上の利用可能性】
【０１４４】
本発明に係る文字情報提示装置は、あらかじめ到来する文字列の頻度や文字数がわからなくとも、視聴者が容易に読みきれる、または文字列読み上げの速度を最適な値に設定し聞き取りやすさを確保するものであり、文字情報を表示または音声に変換し出力する文字情報提示装置等として有用である。
【符号の説明】
【０１４５】
１０１，７０１，１２０１，１８０１    文字情報入力部
１０２，７０２，１２０２，１８０２    文字列バッファ部
１０３，７０３，１２０３，１８１４    基準音声合成長演算部
１０４，７０４，１２０４，１８０３    制御部
１０５，７０５，１２０５，１８０５    制御部メモリ（メモリ)
１０６，７０６，１２０６，１８０４    音声合成部
１０７，７０７，１２０７，１８１０    音声出力部
３０１，６０１，１４０１    時間情報
３０２，９０３，１４０２，１９０１    格納文字列
３０３，９０４，１４０３，１９０２    最終データ位置
４０１，１００１，１５０１    基準音声合成長演算部用制御部
４０２，１００２，１５０２    文字列一時格納部
４０３，１００３，１５０３    読み上げ時間長加算部
４０４，１００４，１５０４    単語読み上げ時間長基準データ部
５０１，１１０１，１６０１    単語（ｗｏｒｄ）
５０２，１１０２，１６０２    読み上げ時間長（ｄｕｒａｔｉｏｎ）
９０１    提示時間情報
９０２    消去時間情報
１７０１    記憶文字列到着時間情報
１７０２    読み上げ速度率履歴情報
１８０６    映像情報入力部
１８０７    映像バッファ部
１８０８    映像提示部
１８０９    映像出力部
１８２０    ユーザ入力部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
文字列の時間情報を記憶するメモリと、
前記文字列の入力を受け付ける文字情報入力部と、
前記文字情報入力部に前記文字列が入力された場合に、前記文字列を記憶するとともに更新通知信号を出力する文字列バッファ部と、
前記更新通知信号を受信すると、前記文字列バッファ部に記憶されている前記文字列を読み出し、所定の速度で発声した場合にかかる時間を算出し読み上げ時間長信号として出力する基準音声合成長演算部と、
前記基準音声合成長演算部より出力される前記読み上げ時間長信号、前記文字列バッファ部に記憶されている文字列の時間情報、及び前記メモリに記憶されている前記文字列の前記時間情報に基づき、読み上げ速度率を算出し、読み上げ速度率信号として出力する制御部と、
前記文字列バッファ部に読み出し要求を出し、前記読み上げ速度率信号に基づき前記文字列バッファ部より入力される文字列の音声合成をする音声合成部と、を備え、
前記メモリは、
さらに、所定の数の読み上げ速度率信号の履歴を記憶し、
前記制御部は、
前記基準音声合成長演算部より入力される前記読み上げ時間長信号、前記読み上げ時間長信号に対応し前記文字列バッファ部より読み出した前記文字列の前記時間情報、及び前記メモリに記憶されている前記文字列の前記時間情報に基づき算出した読み上げ速度率信号、及び前記メモリに記憶された所定の数の前記読み上げ速度率信号の前記履歴に基づき、
読み上げ速度率信号を算出すること特徴とする文字情報提示装置。
【請求項２】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記制御部において読み上げ速度率信号を算出した際に、前記文字列バッファ部より読み出した前記文字列の前記時間情報に更新されることを特徴とする請求項１記載の文字情報提示装置。
【請求項３】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記文字列入力部より入力された前記文字列に付随する提示時間情報であることを特徴とする請求項１記載の文字情報提示装置。
【請求項４】
前記メモリに記憶されている前記文字列の前記時間情報は、
前記文字列入力部より入力された前記文字列に付随する提示時間情報と消去時間情報であることを特徴とする請求項１記載の文字情報提示装置。
【請求項５】
前記文字情報入力部から入力された前記文字列が前記音声合成長演算部に存在しない単語の場合、前記音声合成長演算部に存在する単語に分割し、分割後の単語の時間情報を加算することを特徴とする請求項１記載の文字情報提示装置。
【請求項６】
前記制御部は、
前記文字列バッファ部に記憶されている前記文字列の文字数に基づき、前記読み上げ速度率を演算することを特徴とする請求項１記載の文字情報提示装置。
【請求項７】
前記制御部は、
前記文字列バッファ部に記憶されている前記文字列の単語数に基づき、前記読み上げ速度率を演算することを特徴とする請求項１記載の文字情報提示装置。
【請求項８】
映像情報の入力を受け付ける映像情報入力部と、
前記映像情報入力部に入力された前記映像情報を記憶する映像バッファ部と、前記映像バッファ部から前記映像情報を読み出し、デコードし、映像信号として出力する映像提示部と、をさらに備え、
前記制御部は、少なくとも前記映像提示部を制御するとともに、選択信号を入力するユーザ入力部に接続され、
前記選択信号が、映像情報の選択である場合、
前記音声合成部において、前記所定の速度で発声した場合にかかる時間に基づいて合成した前記音声信号の出力が完了していない場合、前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を出力し、
前記選択信号が、音声情報の選択である場合、
前記制御部の制御により前記映像提示部は、前記映像信号を出力する速度を制御して前記映像信号を通常の速度で出力するとともに、
前記制御部の制御により音声合成は、前記読み上げ速度率信号に基づき前記文字列バッファ部より入力される文字列の音声合成をする
ことを特徴とする請求項１記載の文字情報提示装置。
【請求項９】
映像情報の入力を受け付ける映像情報入力部と、
前記映像情報入力部に入力された前記映像情報を記憶する映像バッファ部と、前記映像バッファ部から前記映像情報を読み出し、デコードし、映像信号として出力する映像提示部と、をさらに備え、
前記制御部は、
少なくとも前記映像提示部と前記音声合成部とを制御するとともに、選択信号を入力するユーザ入力部に接続され、
前記選択信号に基づいて、音声情報の処理あるいは映像情報の処理から、提示速度の変更を行う処理を選択する
ことを特徴とする請求項１記載の文字情報提示装置。
【請求項１０】
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号を静止状態で出力することを特徴とする請求項８または請求項９のいずれか1項記載の文字情報提示装置。
【請求項１１】
前記音声合成部において、合成した前記音声信号の出力が完了していない場合は、
前記制御部の制御により前記映像提示部は、前記映像信号の提示速度を可変させて出力することを特徴とする請求項８または請求項９のいずれか1項記載の文字情報提示装置。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009013875.tif 000024
【図２】
2009013875.tif 000025
【図３】
2009013875.tif 000026
【図４】
2009013875.tif 000027
【図５】
2009013875.tif 000028
【図６】
2009013875.tif 000029
【図７】
2009013875.tif 000030
【図８】
2009013875.tif 000031
【図９】
2009013875.tif 000032
【図１０】
2009013875.tif 000033
【図１１】
2009013875.tif 000034
【図１２】
2009013875.tif 000035
【図１３】
2009013875.tif 000036
【図１４】
2009013875.tif 000037
【図１５】
2009013875.tif 000038
【図１６】
2009013875.tif 000039
【図１７】
2009013875.tif 000040
【図１８】
2009013875.tif 000041
【図１９】
2009013875.tif 000042
【図２０】
2009013875.tif 000043
【図２１】
2009013875.tif 000044
【国際調査報告】
2009013875.tif 000045
2009013875.tif 000046
2009013875.tif 000047
2009013875.tif 000048
2009013875.tif 000049
2009013875.tif 000050