(57)【要約】【課題】  テキスト中の各文字の音声出力を一時停止した後で音声出力を再開するような場合に、ユーザに煩わしさを与えることなく音声出力の再開を行うための技術を提供すること。【解決手段】  音声出力の最中に、テキスト中の文字を指定するユーザ操作を検知すると、該文字を含む単語を特定すると共に、該音声出力を一時停止する。各文字の並び順で、単語の先頭文字から、音声出力を一時停止した文字までの文字数を計数する。文字数が閾値以下であれば単語の先頭文字から音声出力を再開し、文字数が該閾値よりも大きい場合には、音声出力を一時停止した文字から音声出力を再開する。【選択図】  図２
2013228624.tif 000002
【特許請求の範囲】
【請求項１】
テキストにおける先頭文字から終端文字までの各文字を音声出力する音声処理装置であって、
前記音声出力の最中に、前記テキスト中の文字を指定するユーザ操作を検知すると、該文字を含む単語を特定すると共に、該音声出力を一時停止する一時停止手段と、
前記各文字の並び順で、前記単語の先頭文字から、前記音声出力を一時停止した文字までの文字数を計数する第１の計数手段と、
前記文字数が閾値以下であれば前記単語の先頭文字から音声出力を再開し、前記文字数が該閾値よりも大きい場合には、前記音声出力を一時停止した文字から音声出力を再開する再開手段と
を備えることを特徴とする音声処理装置。
【請求項２】
前記再開手段は、
前記各文字の並び順で、前記単語を含む文の先頭文字から前記単語の先頭文字までの文字数を計数する第２の計数手段と、
前記第１の計数手段が計数した文字数が閾値以下かつ前記第２の計数手段が計数した文字数が閾値以下であれば前記文の先頭文字から音声出力を再開し、前記第１の計数手段が計数した文字数が閾値以下かつ前記第２の計数手段が計数した文字数が該閾値よりも大きい場合には、前記単語の先頭文字から音声出力を再開する手段と
を備えることを特徴とする請求項１に記載の音声処理装置。
【請求項３】
更に、
複数の単語のそれぞれについて該単語に関する情報を保持している辞書から、前記一時停止手段が特定した単語に関する情報を検索する検索手段を備えることを特徴とする請求項１に記載の音声処理装置。
【請求項４】
前記検索手段は、検索した情報を、前記テキストを表示している表示画面上に表示することを特徴とする請求項４に記載の音声処理装置。
【請求項５】
前記再開手段は、
前記検索手段が前回検索を行ってから現在までの経過時間を求める手段と、
前記文字数が閾値よりも大きく、かつ前記経過時間が閾値以下であれば前記単語の先頭文字から音声出力を再開し、前記文字数が該閾値よりも大きく、かつ前記経過時間が該閾値よりも大きい場合には、前記音声出力を一時停止した文字から音声出力を再開する手段と
を備えることを特徴とする請求項３又は４に記載の音声処理装置。
【請求項６】
前記一時停止手段は、前記単語を特定した後、前記各文字の並び順で、前記単語の先頭文字の並び順から前記音声出力中の文字の並び順を差し引いた差が正かつ規定の閾値以下という条件が満たされている場合、前記単語の先頭文字位置で音声出力を一時停止し、前記条件が満たされてない場合、前記音声出力中の文字位置で音声出力を一時停止する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項７】
前記一時停止手段は、前記単語を特定した後、
前記各文字の並び順で、前記単語の先頭文字の並び順から前記音声出力中の文字の並び順を差し引いた差が正かつ規定の閾値以下という条件が満たされており、かつ前記検索手段が前回検索を行ってから現在までの経過時間が閾値よりも大きければ、前記単語の先頭文字位置で音声出力を一時停止し、
前記条件が満たされており、かつ前記経過時間が閾値以下であれば、前記音声出力中の文字位置で音声出力を一時停止し、
前記条件が満たされていない場合には、前記音声出力中の文字位置で音声出力を一時停止する
ことを特徴とする請求項３又は４に記載の音声処理装置。
【請求項８】
テキストにおける先頭文字から終端文字までの各文字を音声出力する音声処理装置が行う音声処理方法であって、
前記音声処理装置の一時停止手段が、前記音声出力の最中に、前記テキスト中の文字を指定するユーザ操作を検知すると、該文字を含む単語を特定すると共に、該音声出力を一時停止する一時停止工程と、
前記音声処理装置の第１の計数手段が、前記各文字の並び順で、前記単語の先頭文字から、前記音声出力を一時停止した文字までの文字数を計数する第１の計数工程と、
前記音声処理装置の再開手段が、前記文字数が閾値以下であれば前記単語の先頭文字から音声出力を再開し、前記文字数が該閾値よりも大きい場合には、前記音声出力を一時停止した文字から音声出力を再開する再開工程と
を備えることを特徴とする音声処理方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか１項に記載の音声処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストを音声で読み上げる技術に関するものである。
【背景技術】
【０００２】
テキストを音声で読み上げている最中に、テキスト中の単語を指定し、なんらかの情報を提示する音声読み上げ装置が開示されている。特許文献１では、ユーザが単語を指定すると音声読み上げを停止する。そして、指定された単語を簡単な語句に置き換え、置き換えた語句を用いて音声読み上げを再開する。これにより、音声読み上げ中にユーザが難しい単語の意味を確認する機能を提供する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５２３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、音声読み上げを再開する位置は常に、指定された単語の位置である。このため、音声読み上げ中の位置と指定された単語の位置が離れている場合、音声読み上げが繰り返されるテキストの部分が多くなり、ユーザにとってわずらわしいという課題がある。
【０００５】
本発明はこのような問題に鑑みてなされたものであり、テキスト中の各文字の音声出力を一時停止した後で音声出力を再開するような場合に、ユーザに煩わしさを与えることなく音声出力の再開を行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の目的を達成するために、例えば、本発明の音声処理装置は、テキストにおける先頭文字から終端文字までの各文字を音声出力する音声処理装置であって、前記音声出力の最中に、前記テキスト中の文字を指定するユーザ操作を検知すると、該文字を含む単語を特定すると共に、該音声出力を一時停止する一時停止手段と、前記各文字の並び順で、前記単語の先頭文字から、前記音声出力を一時停止した文字までの文字数を計数する第１の計数手段と、前記文字数が閾値以下であれば前記単語の先頭文字から音声出力を再開し、前記文字数が該閾値よりも大きい場合には、前記音声出力を一時停止した文字から音声出力を再開する再開手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明の構成によれば、テキスト中の各文字の音声出力を一時停止した後で音声出力を再開するような場合に、ユーザに煩わしさを与えることなく音声出力の再開を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】音声処理装置のハードウェア構成例を示す図。
【図２】音声処理装置の機能構成例を示すブロック図。
【図３】音声処理装置が行う処理のフローチャート。
【図４】ステップＳ３０７における処理の詳細を示すフローチャート。
【図５】ステップＳ３０７における処理の詳細を示すフローチャート。
【図６】ステップＳ３０７における処理の詳細を示すフローチャート。
【図７】音声処理装置が行う処理のフローチャート。
【図８】ステップＳ７０１における処理の詳細を示すフローチャート。
【図９】音声処理装置が行う処理のフローチャート。
【図１０】ステップＳ９０１における処理の詳細を示すフローチャート。
【図１１】ステップＳ７０１における処理の詳細を示すフローチャート。
【図１２】検索語に関する情報の表示例を示す図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１０】
［第１の実施形態］
本実施形態では、電子ブックリーダとして機能する音声処理装置について説明する。電子ブックリーダは、専用の端末機器であっても良いし、ＰＣ（パーソナルコンピュータ）やタブレット上で動作するアプリケーションソフトウェアであっても良い。
【００１１】
先ず、本実施形態に係る音声処理装置のハードウェア構成例について、図１（ａ）のブロック図を用いて説明する。なお、図１（ａ）に示したハードウェア構成は一例であり、以下に説明する各処理を実現可能な構成であれば、如何なる構成を採用しても良い。
【００１２】
ＣＰＵ１０１は、ＲＡＭ１０２やＲＯＭ１０３に格納されているコンピュータプログラムやデータを用いて処理を実行することで、音声処理装置全体の動作制御を行うと共に、音声処理装置が行うものとして後述する各処理を実行する。
【００１３】
ＲＡＭ１０２は、ＲＯＭ１０３からロードされたコンピュータプログラムやデータを一時的に記憶するためのエリアを有すると共に、ＣＰＵ１０１が各種の処理を実行する際に用いるワークエリアを有する。即ち、ＲＡＭ１０２は、各種のエリアを適宜提供することができる。
【００１４】
ＲＯＭ１０３には、電子書籍や電子辞書、テキスト中の各文字を音声出力するためのコンピュータプログラムやデータ、が保存されている。また、以下の説明において既知の情報としているものも、このＲＯＭ１０３に格納されている。
【００１５】
入力部１０４及び表示部１０５は、図１（ｂ）に示す如く、タッチパネル画面を構成しており、該画面上にはテキストなどを表示することができると共に、該画面上をユーザが自身の指などでもってタッチすると、このタッチ入力を検知することができる。この場合、入力部１０４は、タッチパネル画面としての表示部１０５に対する操作入力を検知する機能を有することになる。また、入力部１０４には、タッチパネル画面以外のボタンなどを含めても良い。なお、タッチパネル画面は、表示部１０５の表示画面と表現することもある。
【００１６】
また、以下の説明では、タッチパネル画面の左上隅の座標を（０，０）、右下隅の座標を（Ｘ，Ｙ）（例えばＸ＝５９９，Ｙ＝７９９）とし、該タッチパネル画面の水平方向にｘ座標、垂直方向にｙ座標、を規定する。もちろん、座標の取り方についてはこれに限るものではない。
【００１７】
音声出力部１０６は、音声波形データに基づいて音声を出力するもので、Ｄ／Ａ変換器やスピーカなどにより構成されている。この音声出力部１０６は、例えば、図１（ｂ）に示す如く、音声処理装置の上端のフレームに取り付けられている。
【００１８】
次に、音声処理装置の機能構成例について、図２のブロック図を用いて説明する。なお、図２に示した各部は専用のハードウェアで構成しても良いが、本実施形態では何れもコンピュータプログラムで実現するものとする。このようなコンピュータプログラムはＲＯＭ１０３に保存されており、ＣＰＵ１０１がＲＡＭ１０２に読み出して実行することで、対応する機能を実現する。また、以下では、図２に示した各部を処理の主体として説明する場合があるが、実際には、ＣＰＵ１０１が対応するコンピュータプログラムを実行することでなし得る処理であるため、実際の主体はＣＰＵ１０１となる。
【００１９】
テキスト管理部２０１は、表示部１０５に表示するテキストのデータや、該テキストに含まれる各文字の該テキスト中の文字位置を管理する。これらのデータは電子書籍のデータとしてＲＯＭ１０３に格納されている。文字位置は、テキストにおける先頭文字位置を１とし、先頭文字以降、この文字位置は１づつ増える。然るに、先頭文字から文字の並び順で文字をカウントした場合にＮ番目となる文字の文字位置はＮ（Ｎ文字目）となる。
【００２０】
また、テキスト管理部２０１は要求に応じて、テキストにおいて指定文字位置から始まる一文を抽出する処理を行う。文の区切りを句点やピリオドで判定する場合、指定文字位置Ｎから、該文字位置Ｎに後続する各文字を走査（文字位置が増える方向に文字を走査）する。ここで、初めて見つけた句点またはピリオドの文字位置がＮｅであるとすると、テキスト管理部２０１は、Ｎ文字目の文字からＮｅ文字目の文字の各文字から成る文字列を、「Ｎ文字目から始まる文」として抽出する。ここで、文字位置Ｎは文の先頭とは限らず、文の途中の文字が指定されることもある。
【００２１】
また、テキスト管理部２０１は要求に応じて、テキストにおいて指定文字位置を含む文の先頭文字位置における文字を特定する処理を行う。文の区切りを句点やピリオドで判定する場合、指定文字位置Ｎから、該文字位置Ｎよりも前に登場する各文字を走査（文字位置が減る方向に文字を走査）する。ここで、初めて見つけた句点またはピリオドの文字位置がＮｓであるとすると、テキスト管理部２０１は、（Ｎｓ＋１）文字目の文字を、「Ｎ文字目の文字を含む文の先頭文字」として抽出する。
【００２２】
また、テキスト管理部２０１は、テキストにおいて指定文字位置を含む一文を抽出する処理を行う。文の区切りを句点やピリオドで判定する場合、指定文字位置Ｎから、該文字位置Ｎに後続する各文字を走査（文字位置が増える方向に文字を走査）する。ここで、初めて見つけた句点またはピリオドの文字位置がＮｅであるとする。また、指定文字位置Ｎから、該文字位置Ｎよりも前に登場する各文字を走査（文字位置が減る方向に文字を走査）する。ここで、初めて見つけた句点またはピリオドの文字位置がＮｓであるとする。このとき、テキスト管理部２０１は、（Ｎｓ＋１）文字目の文字からＮｅ文字目の文字の各文字から成る文字列を、「Ｎ文字目の文字を含む文」として抽出する。
【００２３】
また、テキスト管理部２０１は、テキストにおいて指定文字位置を含む単語を抽出する処理を行う。この処理は、テキストがどのような言語で記されているのかに応じて異なる。
【００２４】
テキストの言語が英語の場合（英文が記されたテキストの場合）、指定文字位置Ｎから、該文字位置Ｎに後続する各文字を走査（文字位置が増える方向に文字を走査）する。ここで、初めて見つけた空白（スペース）の文字位置がＮｅであるとする。また、指定文字位置Ｎから、該文字位置Ｎよりも前に登場する各文字を走査（文字位置が減る方向に文字を走査）する。ここで、初めて見つけた空白の文字位置がＮｓであるとする。このとき、テキスト管理部２０１は、（Ｎｓ＋１）文字目の文字から（Ｎｅ−１）文字目の文字の各文字から成る文字列を、「Ｎ文字目の文字を含む単語」として抽出する。
【００２５】
テキストの言語が日本語の場合（日本語の文章が記されたテキストの場合）、上記のようにして、Ｎ文字目の文字を含む一文を抽出する。そしてこの抽出した一文に対して形態素解析を行い、形態素解析が出力するある単語分割結果からＮ文字目の文字を含む単語を抽出する。
【００２６】
次に、テキストの言語が他の言語の場合（日本語及び英語以外の言語の文章が記されたテキストの場合）について説明する。単語の区切りにスペースを用いる言語は、テキストが英文である場合の方法を用いる。単語の区切りにスペースを用いない言語は、テキストが日本語の文である場合の方法を用いる。
【００２７】
描画部２０２は、テキスト管理部２０１が管理しているテキストを表示部１０５の表示画面上に表示する。なお、描画部２０２は、テキスト中の各文字位置の文字を表示画面上のどの座標に描画するのかを決定するために、表示画面上における各文字の表示領域を管理している。例えば、テキストのＮ文字目を、左上の座標が（ｘｎ１，ｙｎ１）、右下の座標が（ｘｎ２，ｙｎ２）となる矩形領域（文字描画矩形）内に描画するのであれば、文字位置Ｎと、座標（ｘｎ１，ｙｎ１）及び（ｘｎ２，ｙｎ２）と、を関連付けて管理している。
【００２８】
これにより、ユーザが表示部１０５の表示画面上におけるある位置をタッチした場合に、この位置に表示されている文字（文字位置）を特定することができる。例えば、タッチされた位置の座標が（ｘ３，ｙ３）であり、ｘｎ１＜ｘ３＜ｘｎ２、ｙｎ１＜ｙ３＜ｙｎ２であれば、Ｎ文字目の文字が指定されたと判断することができる。
【００２９】
音声読み上げ部２０３は、表示部１０５の表示画面上に表示されているテキスト中の各文を、後段の音声合成部２０４に送出する。具体的には、音声読み上げ部２０３は先ず、テキストの先頭文字（文字位置＝１）から始まる一文をテキスト管理部２０１に抽出させ、この抽出させた一文を音声合成部２０４に送出する。このとき、テキスト管理部２０１は、この一文中の各文字の文字位置を使用しているので、この使用した文字位置も音声合成部２０４に送出する。音声合成部２０４がこの一文の音声波形データの出力を完了すると、音声読み上げ部２０３は、この一文の次の一文をテキスト管理部２０１に抽出させ、この抽出させた一文及び該一文中の各文字の文字位置を音声合成部２０４に送出する。このようにして音声読み上げ部２０３は、表示部１０５の表示画面上に表示されているテキスト中の各文及び該文中の各文字の文字位置を、後段の音声合成部２０４に送出する。
【００３０】
音声合成部２０４は、音声読み上げ部２０３から送出された一文を解析（言語解析と音響解析）して、音声波形データを生成する。音声合成部２０４は、音声出力部１０６からの要求に応じて、生成した音声波形データを、例えば20msecごとに区切って順に音声出力部１０６に対して送出する。なお、音声合成部２０４は、一文中の各文字の文字位置を音声読み上げ部２０３から受けているため、20msecごとに区切られた音声波形データが示す各文字についてその文字位置を把握（管理）している。そして音声合成部２０４は、生成した音声波形データをすべて送出し終わった後はＮＵＬＬを渡す。
【００３１】
また、音声合成部２０４は、指示に応じて、音声出力の一時停止、音声出力の再開、音声出力の終了、を行うことができる。音声出力の一時停止では、音声出力部１０６に音声波形データを渡すことを停止する。該音声波形データの廃棄は行わない。音声出力の再開では、後述する処理により決まった再開文字位置からの音声波形データを順に音声出力部１０６に渡す。音声出力の終了では、音声出力部１０６に音声波形データを渡すことを停止する。さらに該音声波形データを破棄する。一時停止した後の再開では、文を再度解析する必要はない。終了した後は、音声波形データが破棄されているため、再開することはできない。
【００３２】
検索語指定部２０５は、ユーザが表示部１０５の表示画面上で指定した文字を含む単語を検索語として取得する。ユーザは、音声出力中であっても、表示部１０５の表示画面上に表示されているテキストにおいて調べたい単語を見つけると、その単語の位置（単語を構成する文字のうち何れかの文字の位置）をタッチすることで、その単語を検索語として指定することができる。入力部１０４は、このタッチ操作を検知すると、タッチされた位置を検出する。描画部２０２は、このタッチされた位置に対応する文字位置を特定してテキスト管理部２０１に通知するので、テキスト管理部２０１は、上記の処理により、この文字位置における文字を含む単語を抽出する。検索語指定部２０５は、この単語を検索語としてテキスト管理部２０１から取得する。このとき、テキスト管理部２０１は、この単語中の各文字の文字位置を使用しているので、検索語指定部２０５は、この使用した文字位置も取得する。
【００３３】
情報表示部２０６は、検索語指定部２０５が取得した検索語に関する情報を辞書２０７から検索する。そして情報表示部２０６は、描画部２０２に、この検索により取得した情報を表示部１０５の表示画面上に表示させる。検索語に関する情報の表示例のいくつかを図１２に示す。
【００３４】
図１２（ａ）では、ユーザによってタッチされた位置を含む矩形領域内に表示している文字の文字位置の近傍位置に、検索語に関する情報をポップアップ表示（１２０１）している。図１２（ｂ）では、表示部１０５の表示画面の下部に情報表示領域１２０２を設け、この情報表示領域１２０２内に、検索語に関する情報を表示している。図１２（ｃ）では、表示部１０５の表示画面を情報表示用の画面１２０３に切り替え、該画面１２０３に検索語に関する情報を表示している。このように、検索語に関する情報の表示形態については特定の表示形態に限るものではなく、如何なる表示形態を採用しても良い。もちろん、検索語に関する情報は画面表示することに限るものではなく、音声出力によりユーザに提示しても良い。
【００３５】
また、情報表示部２０６は、検索語に関する情報の表示を消去するためのユーザ指示がタッチパネル画面上で入力された場合や、該情報の表示を開始してから一定時間が経過した場合など規定の条件が満たされた場合には、該情報の表示を消去する。例えば、描画部２０２が図１２（ａ）に示した情報表示を行っている場合に、ユーザがこのポップアップ内の特定の位置をタッチしたことを入力部１０４が検知すると、描画部２０２はこのポップアップを消去する。また、描画部２０２が図１２（ｂ）に示した情報表示を行っている場合に、ユーザが情報表示領域１２０２内の特定の位置をタッチしたことを入力部１０４が検知すると、描画部２０２は、この情報表示領域１２０２内をクリアする。また描画部２０２が図１２（ｃ）に示した情報表示を行っている場合に、ユーザが画面１２０３内の特定の位置をタッチしたことを入力部１０４が検知すると、描画部２０２は、表示部１０５の表示画面を、元のテキスト表示画面に戻す。
【００３６】
辞書２０７は電子辞書であり、単語ごとに、該単語に関する様々な情報が登録されている。辞書２０７は、複数の辞書を保持し、テキストに合わせて１つの辞書を検索する構成としてもよい。例えば、英和辞書、英々辞書、国語辞書を保持しても良い。英語のテキストの場合は英和辞書または英々辞書を検索する。日本語のテキストの場合は国語辞書を検索する。また、検索対象とする辞書をユーザが選択できる構成としてもよい。
【００３７】
一時停止部２０８は、音声出力中にタッチパネル画面に対するタッチ操作（検索語の指定操作）を入力部１０４が検知すると、音声合成部２０４に音声出力の一時停止を指示する。そして一時停止部２０８は、音声出力を一時停止した文字について音声合成部２０４が保持している文字位置を該音声合成部２０４から取得する。
【００３８】
再開部２０９は、後述する処理により決定する再開文字位置から音声出力させるよう、後述する再開用の制御処理を行う。後述する処理により、音声出力を一時停止した文字の文字位置から音声出力を再開させることが決定した場合には、再開部２０９は、該文字位置からの音声出力の再開を指示する。一方、後述する処理により、検索語の先頭位置から音声出力を再開させることが決定した場合、再開部２０９は先ず、音声合成部２０４に対して音声出力の終了を指示する。検索語の先頭文字をＮ文字目の文字とすると、再開部２０９は、Ｎ文字目の文字を含む一文をテキスト管理部２０１に取得させ、音声読み上げ部２０３に、Ｎ文字目の文字から該一文の末尾の文字までの各文字を音声合成部２０４に送出させる。
【００３９】
計測部２１０は、再開文字位置を決定するために用いる指標を求める。この指標には様々なものがあり、第２の実施形態以降ではいくつかの指標について説明するが、指標が異なれば当然ながらその求め方も異なるので、計測部２１０もそれに応じた構成を有することになる。本実施形態では、検索語の先頭位置ｐ１から音声出力を一時停止した文字の文字位置ｐ２までの距離ｄ１（＝｜ｐ２−ｐ１｜）、即ち、テキスト中の各文字の並び順において検索語の先頭文字から音声出力を一時停止した文字までの文字数を指標として求める。そして計測部２１０は、この指標を用いて再開文字位置を決定する。
【００４０】
計時部２１１は、時間を計時している。なお、計時部２１１は常に時間を計時しても良いし、計時開始指示が入力されると計時を開始し、計時終了指示が入力されると計時を終了するようにしても良い。
【００４１】
次に、本実施形態に係る音声処理装置が表示部１０５の表示画面上にテキストを表示している状態で行う処理について、同処理のフローチャートを示す図３を用いて説明する。
【００４２】
ステップＳ３０１では、音声読み上げ部２０３は、テキストの先頭文字（文字位置＝１）から始まる一文をテキスト管理部２０１に抽出させ、この抽出させた一文及び該一文中の各文字の文字位置を音声合成部２０４に送出する。
【００４３】
ステップＳ３０２では、音声合成部２０４は、音声読み上げ部２０３から送出された一文を解析（言語解析と音響解析）して、音声波形データを生成し、生成した音声波形データを、例えば20msecごとに区切って順に音声出力部１０６に対して送出する。音声出力部１０６は、この音声波形データに基づいて音声を出力することにより、この一文中の各文字を音声出力する。
【００４４】
ここで、ユーザがタッチパネル画面に対してタッチ操作したこと（テキスト上にタッチ操作したこと）を入力部１０４が検知した場合には、処理はステップＳ３０３を介してステップＳ３０４に進む。一方、このタッチ操作を入力部１０４が検知していない場合には、処理はステップＳ３０３を介してステップＳ３１２に進む。
【００４５】
ステップＳ３０４では、入力部１０４は、タッチされた位置（座標）を検出するので、描画部２０２は、このタッチされた位置に対応する文字位置を特定してテキスト管理部２０１に通知する。テキスト管理部２０１は上記の処理により、この文字位置における文字を含む単語を抽出するので、検索語指定部２０５は、この単語を検索語としてテキスト管理部２０１から取得する。そして情報表示部２０６は、検索語指定部２０５が取得した検索語に関する情報を辞書２０７から検索する。そして情報表示部２０６は、描画部２０２に、この検索により取得した情報を表示部１０５の表示画面上に表示させる。
【００４６】
ステップＳ３０５では、一時停止部２０８は、音声合成部２０４に音声出力の一時停止を指示する。一時停止部２０８は音声出力の一時停止を行うと共に、音声出力を一時停止した文字について音声合成部２０４が保持している文字位置を該音声合成部２０４から取得する。
【００４７】
そして、検索語に関する情報の表示を消去する指示がタッチパネル画面上で入力されたことを入力部１０４が検知した場合や、該情報の表示を開始してから一定時間が経過した場合など規定の条件が満たされた場合、該情報の表示を消去する。そして処理はステップＳ３０６を介してステップＳ３０７に進む。
【００４８】
ステップＳ３０７では、計測部２１０は、音声出力を再開させる文字位置を決定するための処理を行う。ステップＳ３０７において計測部２１０が行う処理については、図４のフローチャートを用いて後述する。
【００４９】
ここで、音声出力を一時停止した文字の文字位置から音声出力を再開させることが決定した場合には、処理はステップＳ３０８を介してステップＳ３０９に進む。ステップＳ３０９では、再開部２０９は、該文字位置からの音声出力の再開を音声合成部２０４に対して指示する。
【００５０】
一方、検索語の先頭位置から音声出力を再開させることが決定した場合、処理はステップＳ３０８を介してステップＳ３１０に進む。ステップＳ３１０では、再開部２０９は、音声合成部２０４に対して音声出力の終了を指示する。
【００５１】
そしてステップＳ３１１では、再開部２０９は、検索語の先頭文字をＮ文字目の文字とすると、Ｎ文字目の文字から始まる一文をテキスト管理部２０１に取得させる。そして再開部２０９は、音声読み上げ部２０３に、Ｎ文字目の文字から該一文の末尾の文字までの各文字を音声合成部２０４に送出させる。そして処理はステップＳ３０２に進む。
【００５２】
ステップＳ３１２では、音声合成部２０４は、ＮＵＬＬを出力したか否かを判断し、ＮＵＬＬを出力した場合には、一文の音声波形データを出力し終わったものとし、処理はステップＳ３１３に進む。一方、ＮＵＬＬを出力していない場合には、一文の音声波形データはまだ出力し終わっていないものとし、処理はステップＳ３０３に進む。
【００５３】
ステップＳ３１３では、音声読み上げ部２０３は、テキスト管理部２０１から次の文がないことを示す通知を受けたか否かを判断し、受けた場合には図３のフローチャートに従った処理は終了し、受けていない場合は、処理はステップＳ３１４に進む。
【００５４】
ステップＳ３１４では、音声読み上げ部２０３は、次の一文をテキスト管理部２０１に抽出させ、この抽出させた一文及び該一文中の各文字の文字位置を音声合成部２０４に送出する。そして処理はステップＳ３０２に進む。
【００５５】
次に、上記のステップＳ３０７における処理の詳細について、図４のフローチャートを用いて説明する。ステップＳ４０１では、検索語指定部２０５は、検索語の先頭文字の文字位置ｐ１を取得する。ステップＳ４０２では、一時停止部２０８は、音声出力を一時停止した文字について音声合成部２０４が保持している文字位置ｐ２を該音声合成部２０４から取得する。
【００５６】
ステップＳ４０３では、計測部２１０は、距離ｄ１（＝｜ｐ２−ｐ１｜）を求める。つまり検索語の先頭文字位置が一時停止文字位置の後ろにあるか前にあるかは考慮しない。検索語の先頭文字位置が一時停止文字位置の後ろにある、とは、まだ音声読み上げを行っていない部分に検索語があることを意味する。検索語の先頭文字位置が一時停止文字位置の前にある、とは、すでに音声読み上げを行った部分に検索語があることを意味する。
【００５７】
そしてステップＳ４０４では、計測部２１０は、距離ｄ１と規定の閾値ＶＤ１との大小比較を行い、ｄ１≦ＶＤ１であれば、処理はステップＳ４０５に進み、ｄ１＞ＶＤ１であれば、処理はステップＳ４０６に進む。
【００５８】
ステップＳ４０５では、計測部２１０は、検索語の先頭文字位置ｐ１を、音声出力を再開する文字位置として特定する。一方、ステップＳ４０６では、計測部２１０は、音声出力を一時停止した文字位置ｐ２を、音声出力を再開する文字位置として特定する。
【００５９】
このように、検索語の先頭文字位置が一時停止文字位置から近い場合は検索語の先頭文字位置を再開文字位置とし、遠い場合は一時停止文字位置を再開文字位置とする。ユーザは検索語に集中しているため、検索語から音声読み上げを再開するのがわかりやすく、読み上げ位置を把握しやすい。しかし、検索語が一時停止文字位置から遠い場合に検索語の先頭文字位置から音声読み上げを再開すると、繰り返し読み上げるテキストが多くなり、ユーザにとってわずらわしいという課題が生じる。検索語と一時停止文字位置との距離に応じて再開文字位置を変更することにより、このわずらわしさを軽減する効果がある。
【００６０】
［第２の実施形態］
本実施形態では、第１の実施形態とは異なる指標を用いて、再開文字位置を決定する。本実施形態は、ステップＳ３０７において行う処理が、図４のフローチャートに従った処理ではなく、図５のフローチャートに従った処理である点のみが第１の実施形態と異なる。即ち、以下で特に触れない点については第１の実施形態と同様であるとする。また、図５において、図４に示した処理ステップと同様の処理ステップについては同じステップ番号を付しており、このステップに係る説明は省略する。
【００６１】
ステップＳ４０４における判断の結果、ｄ１≦ＶＤ１であれば処理はステップＳ５０１に進み、ｄ１＞ＶＤ１であれば処理はステップＳ４０６に進む。ステップＳ５０１では、テキスト管理部２０１は、検索語を含む一文の先頭文字位置ｐ３を特定する。
【００６２】
ステップＳ５０２では計測部２１０は、検索語を含む一文の先頭文字位置ｐ３から検索語の先頭位置ｐ１までの距離ｄ２（＝ｐ１−ｐ３）を求める（第２の計数）。即ち、テキスト中の各文字の並び順において、検索語を含む一文の先頭文字から検索語の先頭文字までの文字数を求める。文の先頭は検索語より必ず前にあるので、ｐ１≧ｐ３である。よってｄ２≧０である。
【００６３】
ステップＳ５０３では、計測部２１０は、距離ｄ２と規定の閾値ＶＤ２との大小比較を行い、ｄ２≦ＶＤ２であれば、処理はステップＳ５０４に進み、ｄ２＞ＶＤ２であれば、処理はステップＳ４０５に進む。ステップＳ５０４では、計測部２１０は、検索語を含む一文の先頭文字位置ｐ３を、音声出力を再開する文字位置として特定する。
【００６４】
検索語が一時停止位置から近く、さらに検索語を含む文の先頭文字が検索語から近い場合に、検索語を含む文の先頭文字位置を再開文字位置とする点が第１の実施形態と異なる。文の先頭から再開するとわかりやすい。しかし、文の先頭が検索語から遠い場合は、読み上げ位置が把握しにくいという課題が生じる。繰り返し読み上げるテキストが多くなり、ユーザにとってわずらわしいという課題も残る。検索語の先頭文字位置と、一時停止文字位置と、検索語を含む文の先頭文字位置と、に応じて再開文字位置を変更することにより、これらの課題を軽減する効果がある。
【００６５】
［第３の実施形態］
本実施形態では、第１の実施形態とは異なる指標を用いて、再開文字位置を決定する。本実施形態は、ステップＳ３０７において行う処理が、図４のフローチャートに従った処理ではなく、図６のフローチャートに従った処理である点のみが第１の実施形態と異なる。即ち、以下で特に触れない点については第１の実施形態と同様であるとする。また、図６において、図４に示した処理ステップと同様の処理ステップについては同じステップ番号を付しており、このステップに係る説明は省略する。
【００６６】
ステップＳ６０１では、計時部２１１は、現在の時刻ｔ１を取得する。その後、ステップＳ４０４における判断の結果、ｄ１≦ＶＤ１であれば処理はステップＳ４０５に進み、ｄ１＞ＶＤ１であれば処理はステップＳ６０２に進む。
【００６７】
ステップＳ６０２では、計時部２１１は、情報表示部２０６が前回検索を行った時刻ｔ０を取得する。ステップＳ６０３では、計測部２１０は、検索間隔（経過時間）ｉ１（＝ｔ１−ｔ０）を求める。そしてステップＳ６０４では計測部２１０は、検索間隔ｉ１と規定の閾値ＶＩ１との大小比較を行い、ｉ１≦ＶＩ１であれば、処理はステップＳ４０５に進み、ｉ１＞ＶＩ１であれば、処理はステップＳ４０６に進む。
【００６８】
ステップＳ４０５の後でもステップＳ４０６の後でも、処理はステップＳ６０５に進む。ステップＳ６０５では、計測部２１０は、前回検索を行った時刻ｔ０にｔ１を設定してＲＡＭ１０２に格納する。
【００６９】
検索語が一時停止文字位置から遠くても、検索間隔が短い場合には、検索語の先頭文字位置を再開文字位置とする点が第１の実施形態と異なる。検索間隔が短いと、音声読み上げの一時停止と再開を繰り返すことになり、読み上げ位置が把握しにくくなるとう課題が生じる。検索間隔が短い場合は、検索語と一時停止文字位置の距離にかかわらず、読み上げ位置が把握しやすい検索語の先頭文字位置を常に再開文字位置とすることで、把握しにくさを軽減するという効果がある。
【００７０】
［第４の実施形態］
本実施形態は、表示部１０５の表示画面上にテキストを表示している状態で行う処理が第１の実施形態と異なる。即ち、以下で特に触れない点については第１の実施形態と同様であるとする。
【００７１】
表示部１０５の表示画面上にテキストを表示している状態で行う処理について、図７のフローチャートを用いて説明する。なお、図７において、図３に示した処理ステップと同様の処理ステップについては同じステップ番号を付しており、このステップに係る説明は省略する。
【００７２】
ステップＳ７０１では、一時停止部２０８は、第１の実施形態では「音声出力を一時停止した文字位置」としていた位置の代わりに用いる位置を決定する。ステップＳ７０１における処理の詳細について、図８のフローチャートを用いて説明する。
【００７３】
ステップＳ８０１では、検索語指定部２０５は、検索語の先頭文字の文字位置ｐ１を取得する。ステップＳ８０２では、一時停止部２０８は、この時点で音声出力されている文字について音声合成部２０４が保持している文字位置ｐ４を該音声合成部２０４から取得する。
【００７４】
ステップＳ８０３では、計測部２１０は、距離ｄ３（＝ｐ１−ｐ４）を求める。そしてステップＳ８０４では、０＜ｄ３≦ＶＤ３（規定の閾値）の条件が満たされていれば、処理はステップＳ８０５に進み、この条件が満たされていなければ、処理はステップＳ８０６に進む。０＜ｄ３は、検索語の先頭文字位置が現在の読み上げ位置の後ろにあることを表す。つまり、まだ音声読み上げを行っていない部分に検索語があることを意味する。
【００７５】
ステップＳ８０５では、計測部２１０は、検索語の先頭文字位置ｐ１を、音声出力を一時停止した文字位置として特定する。一方、ステップＳ８０６では、計測部２１０は、文字位置ｐ４を、音声出力を一時停止した文字位置として特定する。
【００７６】
そして、音声合成部２０４が、ステップＳ７０１で特定した文字位置の音声波形データを出力した時点で、処理はステップＳ７０２を介してステップＳ３０５に進む。ステップＳ３０５以降では、第１の実施形態で説明した「音声出力を一時停止した文字位置」の代わりに、ステップＳ７０１で特定した「音声出力を一時停止した文字位置」を用いる。
【００７７】
まだ音声読み上げを行っていない部分に検索語がある場合に、検索語が現在の読み上げ位置から近い場合に、検索語の先頭文字位置を一時停止文字位置とする点が第１の実施形態と異なる。つまり、検索語の先頭文字位置まで音声読み上げを行ってから一時停止する。第１の実施形態では、まだ音声読み上げを行っていない部分に検索語がある場合に、現在の読み上げ位置から検索語までが、音声読み上げされないという課題が生じる。また、検索語が現在の読み上げ位置から遠い場合に検索語の先頭文字位置まで音声読み上げを行うと、検索語を指定してから一時停止までの時間が長くなりわずらわしいという課題が生じる。検索語と現在の読み上げ位置に応じて一時停止文字位置を決定することにより、これらの課題を軽減する効果がある。
【００７８】
［第５の実施形態］
本実施形態は、表示部１０５の表示画面上にテキストを表示している状態で行う処理が第４の実施形態と異なる。即ち、以下で特に触れない点については第４の実施形態と同様であるとする。
【００７９】
表示部１０５の表示画面上にテキストを表示している状態で行う処理について、図９のフローチャートを用いて説明する。なお、図９において、図７に示した処理ステップと同様の処理ステップについては同じステップ番号を付しており、このステップに係る説明は省略する。
【００８０】
ステップＳ９０１では、音声出力を再開するまでの待機時間を決定する。ステップＳ９０１の処理の詳細について、同処理のフローチャートを示す図１０を用いて説明する。
【００８１】
ステップＳ１００１では、テキスト管理部２０１は、検索語を含む一文を構成する各文字の文字位置を特定し、描画部２０２は、この各文字位置に対応する文字描画矩形を特定する。この各文字位置に対応する文字描画矩形を連結させることで、検索語を含む一文の、表示部１０５の表示画面上における表示領域ｒ１を特定することができる。
【００８２】
ステップＳ１００２では、描画部２０２は、検索語に関する情報を表示する表示領域ｒ２を特定する。ステップＳ１００３では、計測部２１０は、表示領域ｒ１の領域サイズに対する、表示領域ｒ１と表示領域ｒ２とが重なっている領域のサイズの割合ｓ１を、ｓ１＝ｐｉｃ（ｒ１＆ｒ２）／ｐｉｃ（ｒ１）を計算することで求める。
【００８３】
ここで、ｐｉｃ（ｒ１＆ｒ２）は、表示領域ｒ１と表示領域ｒ２とが重なっている領域の画素数を表し、ｐｉｃ（ｒ１）は、表示領域ｒ１の画素数を表す。情報表示により検索語を含む文がすべて隠れる場合、ｓ１が１となる。検索語を含む文が少しも隠れない場合はｓ１が０となる。０≦ｓ１≦１であり、ｓ１の値が大きいほど隠れる部分が大きい。例えば、図１２（ａ）ではポップアップの位置に応じてｓ１の値が変化する。図１２（ｂ）ではｓ１が０であり、検索語を含む文が少しも隠れない。図１２（ｃ）ではｓ１が１であり、検索語を含む文がすべて隠れる。
【００８４】
ステップＳ１００４では、計測部２１０は、ｓ１と規定の閾値ＶＳ１との大小比較を行う。この大小比較の結果、ｓ１≦ＶＳ１の場合には、処理はステップＳ１００５に進む。一方、ｓ１＞ＶＳ１の場合には、処理はステップＳ１００６に進む。
【００８５】
ステップＳ１００５では計測部２１０は、待機時間を規定の時間Ｔ１に設定し、ステップＳ１００６では計測部２１０は、待機時間を規定の時間Ｔ２（＞Ｔ１）に設定する。
【００８６】
そしてステップＳ９０１の処理が完了してからの経過時間（計時部２１１が計時）が、ステップＳ９０１で決定された待機時間に達した場合には、処理はステップＳ９０２を介してステップＳ３０８に進む。
【００８７】
情報表示により検索語を含む文が隠れる度合いに応じて、音声読み上げを再開するまでの待機時間を変更する点が第４の実施形態と異なる。検索語の情報を確認した後、ユーザは検索語を含む文の内容を確認する。情報表示により、検索語を含む文が隠れると、この確認のために長い時間が必要になるという課題が生じる。検索語を含む文が隠れる度合いが大きいほど、つまりｓ１が大きいほど、待機時間を長くすることにより、この課題を軽減する効果がある。
【００８８】
［第６の実施形態］
本実施形態は、ステップＳ７０１において行う処理が、図８のフローチャートに従った処理ではなく、図１１のフローチャートに従った処理である点のみが第４の実施形態と異なる。即ち、以下で特に触れない点については第４の実施形態と同様であるとする。また、図１１において、図８に示した処理ステップと同様の処理ステップについては同じステップ番号を付しており、このステップに係る説明は省略する。
【００８９】
ステップＳ１１０１では、計時部２１１は、現在の時刻ｔ１を取得する。そしてステップＳ８０４では、０＜ｄ３≦ＶＤ３（規定の閾値）の条件が満たされていれば、処理はステップＳ１１０２に進み、この条件が満たされていなければ、処理はステップＳ８０６に進む。
【００９０】
ステップＳ１１０２では、計時部２１１は、情報表示部２０６が前回検索を行った時刻ｔ０を取得する。そしてステップＳ１１０３では、計測部２１０は、検索間隔ｉ１（＝ｔ１−ｔ０）を求める。そしてステップＳ１１０４では計測部２１０は、検索間隔ｉ１と規定の閾値ＶＩ１との大小比較を行い、ｉ１≦ＶＩ１であれば、処理はステップＳ８０６に進み、ｉ１＞ＶＩ１であれば、処理はステップＳ８０５に進む。
【００９１】
ステップＳ８０５の後でもステップＳ８０６の後でも、処理はステップＳ１１０５に進む。ステップＳ１１０５では、計測部２１０は、前回検索を行った時刻ｔ０にｔ１を設定してＲＡＭ１０２に格納する。
【００９２】
検索語が現在の読み上げ位置まで近くても、検索間隔が短い場合に、現在の読み上げ位置を一時停止文字位置とする点が第４の実施形態と異なる。検索間隔が短いと、音声読み上げを行っていない部分に対する短い読み上げ時間が相対的に大きくなり、わずらわしさにつながるという課題が生じる。検索間隔が短い場合は、検索語と現在の読み上げ位置にかかわらず、現在の読み上げ位置を停止文字位置とすることで、この課題を軽減するという効果がある。
【００９３】
［第７の実施形態］
図３では、検索語に関する情報の表示を消去する指示がタッチパネル画面上で入力されたことを入力部１０４が検知するまでや、該情報の表示を開始してから一定時間が経過した場合など規定の条件が満たされるまで、ステップＳ３０６から先には進まない。
【００９４】
しかし、新たに次の検索語の指定があれば、情報の表示を消去したあと、処理はステップＳ３０３に進み、ステップＳ３０４で新たに指定された検索語に関する情報表示を行い、ステップＳ３０５、Ｓ３０６はスキップしてステップＳ３０７以降の処理を行う。
【００９５】
図３のフローチャートでは、複数の検索語の意味を調べたい場合に、一時停止の解除指示を行う必要があり、面倒であるという課題が生じる。しかし本実施形態によれば、複数の検索語の意味を順次調べる場合の面倒さが軽減されるという効果がある。
【００９６】
［第８の実施形態］
図８のステップＳ８０６では、文字位置ｐ４が文末に近い場合には、文末の文字位置を、音声出力を一時停止した文字位置として特定するようにしても良い。このようにすることで、文末まで音声読み上げを行ってから一時停止するので、自然に一時停止することが可能である。
【００９７】
［第９の実施形態］
音声合成部２０４の代わりに、予め録音した音声を再生することで音声読み上げを行う構成としてもよい。例えばプロのナレータが読み上げた音声を音声波形データとして保持する。音声波形データの各部分について、対応するテキストの文字位置を予め埋め込んでおく。
【００９８】
［まとめ］
上記の各実施形態では、様々な構成の音声処理装置について説明したが、何れの構成も、以下に示す基本構成の一例に過ぎない。即ち、以下に示す基本構成に従っていれば、音声処理装置の構成としては他の構成も考え得る。
【００９９】
即ち、基本構成では、テキストにおける先頭文字から終端文字までの各文字を音声出力する音声処理装置を前提としており、このような基本構成において、音声処理装置は、次のような構成を有する。即ち、音声出力の最中に、テキスト中の文字を指定するユーザ操作を検知すると、該文字を含む単語を特定すると共に、該音声出力を一時停止する。そして、この各文字の並び順で、単語の先頭文字から、音声出力を一時停止した文字までの文字数を計数する（第１の計数）。そして、この文字数が閾値以下であれば単語の先頭文字から音声出力を再開し、文字数が該閾値よりも大きい場合には、音声出力を一時停止した文字から音声出力を再開する。
【０１００】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013228624.tif 000003
【図２】
2013228624.tif 000004
【図３】
2013228624.tif 000005
【図４】
2013228624.tif 000006
【図５】
2013228624.tif 000007
【図６】
2013228624.tif 000008
【図７】
2013228624.tif 000009
【図８】
2013228624.tif 000010
【図９】
2013228624.tif 000011
【図１０】
2013228624.tif 000012
【図１１】
2013228624.tif 000013
【図１２】
2013228624.tif 000014