(57)【要約】【課題】  まだ読んでいない部分（未読部分）に辿り着くのに時間がかからない音声読み上げ装置およびプログラムを提供することを目的とするものである。【解決手段】  コンテンツを音声変換して読み上げる音声読み上げ装置において、コンテンツ中の読み上げ対象部分が、過去に読み上げられたことがあるか否かを判定する既読・未読判定手段と、上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、または、読み上げられた部分が既読部分であることを設定する設定手段と、上記設定されている未読部分または既読部分に対応する読み上げ対象部分を読み上げる読み上げ手段と、上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手段とを有する音声読み上げ装置である。【選択図】  図１
2006317875.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを音声変換して読み上げる音声読み上げ装置において、
上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、または、読み上げられた部分が既読部分であることを設定する設定手段と；
上記設定されている未読部分または既読部分に対応する読み上げ対象部分を読み上げる読み上げ手段と；
上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手段と；
を有することを特徴とする音声読み上げ装置。
【請求項２】
コンテンツを音声変換して読み上げる音声読み上げ装置において、
上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定する設定手段と；
上記設定されている未読部分のみに対応する読み上げ対象部分を読み上げる読み上げ手段と；
上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手段と；
を有することを特徴とする音声読み上げ装置。
【請求項３】
コンテンツを音声変換して読み上げる音声読み上げ装置において、
上記読み上げ対象部分のうちで、読み上げられた部分が既読部分であることを設定する設定手段と；
上記設定されている既読部分のみに対応する読み上げ対象部分を読み上げる読み上げ手段と；
上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手段と；
を有することを特徴とする音声読み上げ装置。
【請求項４】
請求項１〜請求項３のいずれか１項において、
上記読み上げ対象部分のうちで、読み飛ばした部分について、読み飛ばしたことを、音声、視覚の少なくとも一方で案内する読み飛ばし案内手段を有することを特徴とする音声読み上げ装置。
【請求項５】
請求項１〜請求項４のいずれか１項において、
上記既読読み上げ対象部分格納手段は、上記読み上げ対象部分が音声読み上げされたときに、上記読み上げられた全文字を格納する手段であることを特徴とする音声読み上げ装置。
【請求項６】
コンテンツを音声変換して読み上げる音声読み上げプログラムにおいて、
上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、または、読み上げられた部分が既読部分であることを設定し、記憶装置に記憶する設定手順と；
上記設定されている未読部分または既読部分に対応する読み上げ対象部分を読み上げる読み上げ手順と；
上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手順と；
をコンピュータに実行させるプログラム。
【請求項７】
コンテンツを音声変換して読み上げる音声読み上げプログラムにおいて、
上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、記憶装置に記憶する設定手順と；
上記設定されている未読部分のみに対応する読み上げ対象部分を読み上げる読み上げ手順と；
上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手順と；
をコンピュータに実行させるプログラム。
【請求項８】
コンテンツを音声変換して読み上げる音声読み上げプログラムにおいて、
上記読み上げ対象部分のうちで、読み上げられた部分が既読部分であることを設定し、記憶装置に記憶する設定手順と；
上記設定されている既読部分のみに対応する読み上げ対象部分を読み上げる読み上げ手順と；
上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手順と；
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ内の各部分が、音声読み上げ装置によって既に読み上げられたか否かを、すなわち、既読・未読を判別し、既読部分だけ、または未読部分だけを、読み上げる音声読み上げ装置およびプログラムに関する。
【背景技術】
【０００２】
インターネットの普及によって、テレビやラジオ等の放送以外でも、様々の情報を得ることができる。
【０００３】
インターネットの利用方法のうちの１つに、ウェブサイトの閲覧がある。ウェブサイトの特徴は、様々な写真や文章を、ウェブコンテンツ製作者の思い通りに、２次元上に配置し、ユーザに提供できる点である。
【０００４】
一方、音声ブラウザが開発され、ウェブページの内容を音声に変換し、ユーザに提供できることが知られている（たとえば、特許文献１参照）。目の不自由なユーザにとって便利であるだけでなく、健常者であっても、ディスプレイを見ることができない状況では、変換されたウェブページの内容を音声で聞くことができることは便利である。
【０００５】
上記のように、音声ブラウザの技術は、目の不自由なユーザに限らず、あらゆるユーザにとって便利なものである。
【特許文献１】特開平１１−２４９８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
コンテンツを音声で読み上げる音声読み上げ装置を使用する場合、コンテンツの内容を知るには、読み上げられる音声を逐一聞き取る必要がある。
【０００７】
たとえば、音声ブラウザを考えると、そのウェブコンテンツを読み上げている音声ブラウザの音声を聞いているときには、その部分を以前に聞いたことがあるのか否かは記憶に頼らなければならない。したがって、記憶が不正確であれば、一度読み上げたことがある部分（既読部分）を、再び読み上げるので、まだ読んでいない部分（未読部分）に辿り着くのに時間がかかるという問題がある。
【０００８】
逆に、一度読んだことがあるページのうちで、読んだことのある部分を、再度参照したいという要求もある。この場合に、未読部分、既読部分の区別なしに、全ての部分を読み上げるので、既読部分に辿り着くのに時間がかかるという問題がある。
【０００９】
本発明は、まだ読んでいない部分（未読部分）に辿り着くのに時間がかからない音声読み上げ装置およびプログラムを提供することを目的とするものである。
【００１０】
また、本発明は、一度読んだことがあるページの読んだことのある部分を、再度参照したい場合、既読部分に辿り着くことが早い音声読み上げ装置およびプログラムを提供することを目的とするものである。
【課題を解決するための手段】
【００１１】
本発明は、コンテンツを音声変換して読み上げる音声読み上げ装置において、上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、または、読み上げられた部分が既読部分であることを設定する設定手段と上記設定されている未読部分または既読部分に対応する読み上げ対象部分を読み上げる読み上げ手段と、上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手段とを有する音声読み上げ装置である。
【発明の効果】
【００１２】
請求項１、２、４、５、６、７記載の発明によれば、ＵＲＬを入力する際、または、リンク先にジャンプする際に、新しいウェブページに書いてある情報を、音声で受け取ることができるので、一度聞いた部分をユーザが読み飛ばすことができ、二度聞くことがなく便利であり、ウェブページを先頭から読み上げる場合、まだ読んでいない部分（未読部分）に辿り着くのに時間がかからないという効果を奏する。
【００１３】
また、請求項１、３、４、５、６、８記載の発明によれば、一度読んだことがあるページの読んだことのある部分を、再度参照したい場合、既読部分に辿り着くことが速いという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
発明を実施するための最良の形態は、以下の実施例である。
【実施例１】
【００１５】
図１は、本発明の実施例１である音声読み上げ装置１０を示すブロック図である。
【００１６】
音声読み上げ装置１０は、具体的には、ウェブブラウザであり、ネットワークＮＷを介して、ウェブサーバ２０に接続される。なお、音声読み上げ装置１０をハードウェアで構成するようにしてもよい。
【００１７】
音声読み上げ装置１０は、ネットワークＮＷを介して、ウェブサーバ２０と通信し、ウェブコンテンツを受信し表示し、情報入力部１１と、制御部１２と、送受信部１３と、情報解析部１４と、情報蓄積部１５と、音声合成部１６と、情報出力部１７とを有する。
【００１８】
情報入力部１１は、キーボード、マウス等の入力装置で構成されている。
【００１９】
制御部１２、送受信部１３、情報解析部１４、情報蓄積部１５、音声合成部１６は、ＰＣ（パーソナルコンピュータ）で構成されている。
【００２０】
情報出力部１７は、モニタやスピーカで構成されている。
【００２１】
実施例１は、未読部分を読み飛ばす実施例である。
【００２２】
このようにするためには、未読部分、既読部分を区別して、読み上げ対象部分のデータを格納する必要がある。既読部分を格納する場合、読み上げ対象の文章を全て格納する。既読部分であるか未読部分であるかを判別する単位は、文字、句読点で区切られた区間、文、段落、ウェブページ全体等である。
【００２３】
一般の文章では、句読点や段落等、誰でも明らかに認識できる単位があるので、そのうちの任意の単位毎に、既読部分であるか未読部分であるかを判別すればよい。また、所定のウェブページに特有の区切り記号等があれば、その区切り記号を上記判別単位として使用するようにしてもよい。以下の説明では、文章単位で、未読部分、既読部分を判別する。
【００２４】
次に、実施例１の動作について説明する。
【００２５】
図２は、実施例１における動作を示すフローチャートである。
【００２６】
図２に示す動作において、その読み上げ単位は、文章であるが、文章を読み上げ単位とするのではなく、句読点を読み上げ単位とする場合、図２中に示す説明のうちで、「文章」を、「句読点」と読み替えればよい。
【００２７】
Ｓ１では、情報入力部１１を介してＵＲＬを入力する。Ｓ２では、制御部１２を介して、送受信部１３が、ネットワークＮＷを介して、入力されたＵＲＬのウェブサーバ２０と通信し、ウェブコンテンツを送受信部１３が受信する。
【００２８】
Ｓ３では、受信したウェブコンテンツのＵＲＬとウェブコンテンツとを。情報蓄積部１５に格納する。続いて、Ｓ４では、格納されたウェブコンテンツを、情報解析部１４が解析し、読み上げ対象の文章を抽出し、この抽出結果を情報蓄積部１５に格納する。
【００２９】
読み上げ対象の文章は、判別単位である文章単位で格納する。
【００３０】
図３は、情報蓄積部１５に蓄積されている読み上げ対象部分のデータの例を示す図である。
【００３１】
ここでは、句点や改行がある場合、または、特定のＨＴＭＬタグで区切られている場合、文章の切れ目であると判断し、図３に示すように、文章毎に、各文章を特定する要素番号を付与し、情報蓄積部１５に蓄積する。区切りとなるＨＴＭＬタグを、情報蓄積部１５に予め蓄積し、ウェブコンテンツの解析に用いる。ここで、区切りとなるＨＴＭＬタグは、＜ａ＞等、文中で使われるＨＴＭＬタグではなく、＜Ｈ１＞等、文章の区切りに使用するタグであり、これを蓄積しておけば、文章を適切に区切ることができる。
【００３２】
図３に示す読み上げ対象部分のデータは、初めて訪れたウェブページに記載されている読み上げ対象部分のデータであり、全ての読み上げ対象部分のデータが、読み上げ前であり、未読部分、既読部分の区別を示す「読み上げ属性」欄に、未読部分であることを示す「０」が付与されている。
【００３３】
Ｓ５では、読み上げ対象文章のうちの最初の文章「私の美食日記」の読み上げ属性を読み出す。図３に示すように、未読部分であることを示す「０」が付与されている。Ｓ６では、この読み上げ属性を評価し、「１」であれば既読部分であるので、Ｓ７で、最後の文章であるかどうかを判断し、最後の文章であれば、終了し、最後の文章でなければ、Ｓ８で、次の文章の読み上げ属性を読み出し、Ｓ６に戻る。
【００３４】
Ｓ６で読み上げ属性を判断した結果、読み上げ属性が「０」（未読部分）であれば、Ｓ９で、読み上げ対象である文章を読み出し、具体的には、図３に示す読み上げ対象部分のデータの内容の欄に記載されているデータを読み出す。図３に示す例では、最初の文章の読み上げ属性が「０」であるので、Ｓ７、Ｓ８を経由せずに、Ｓ６からＳ９に進み、読み上げ対象の最初の文章「私の美食日記」を読み出す。
【００３５】
Ｓ１０では、読み出された文章に対応する音声を、音声合成部１６が合成し、Ｓ１１では、合成された音声を、情報出力部１７が出力する。Ｓ１２では、読み上げ対象である文章について、未読部分または既読部分の設定をする場合、既読部分であることを示す「１」を上書きする。このようにして、未読既読判定単位である文章の読み上げを始めた時点で、その判別単位が既読部分であると判断することができる。
【００３６】
さて、音声ブラウザでは、ウェブコンテンツのリンク部分を読み上げているときに、Ｅｎｔｅｒキーを押下すると、リンク先にジャンプすることが一般的である。Ｓ１３では、情報入力部１１を介して、リンク先にジャンプする指令が入力されると、Ｓ１に戻り、リンク部分に埋め込まれているリンク先のＵＲＬを、制御部１２が解釈し、取得する。その後、ジャンプ先のウェブページについて、Ｓ２以降のプロセスを開始する。
【００３７】
Ｓ１３で、リンク先にジャンプする指令が入力されなければ、Ｓ１４では、読み上げ中止の命令が入力されたかどうかを判別する。読み上げ中止命令は、情報入力部１１を介して、すなわち、ＰＣのブラウザの場合、キーボード操作やマウス操作を介して、読み上げの停止や一時停止の操作等、読み上げを中止すべき操作をした場合に、読み上げ中止命令が入力されたと解釈する。
【００３８】
図４は、情報蓄積部１５に蓄積されている読み上げ対象部分のデータの例を示す図であり、読み上げ対象部分のデータが部分的に既読部分であることを示す図である。
【００３９】
たとえば、図３に示す要素番号６の読み上げ対象部分を読み上げた後に、読み上げ中止命令が入力されたとする。このときに、図４に示すように、要素番号１〜６の読み上げ属性が、既読部分であることを示す「１」になり、それ以外が「０」のままである。
【００４０】
上記のように、図４に示すように、ウェブがｗｗｗ．ｘｘｘ．ｙｙｙ．ｊｐのコンテンツにおいて、要素番号１〜６の読み上げ対象部分のデータは、既読部分であり、要素番号７〜１０の読み上げ対象部分のデータは、未読部分であるという情報が、情報蓄積部１５に蓄積されたままとなる。いくつかのウェブページを閲覧する度に、図４に示すような形のデータが蓄積され、増えていく。既読部分が飛び飛びに存在している場合、たとえば図１５に示すように、読み上げ属性を格納する。
【００４１】
読み上げ中止の命令が入力されると（Ｓ１４）、読み上げを途中で終了する。Ｓ１４で読み上げ中止の命令が入力されなければ、Ｓ１５で、最後の文章かであるかどうかを判定する。最後でなければ、Ｓ８に戻り、次の文章の読み上げ属性を読み出す。Ｓ１５で最後の文章であれば、終了する。
【００４２】
ここでは、未読既読判別単位が文章である場合について説明したが、未読既読判別単位は、上記のように、文章に限らず、文字、句読点で区切られた区間、文、段落、ウェブページ全体等、任意の単位であってもよい。
【００４３】
ところで、近年ブログサイトが人気である。ブログサイトは、日記に使われることが多く、日を追う毎に内容が増える。このように、ＵＲＬが不変であっても内容が追加される場合があり、この場合には、コンテンツの要素番号だけに基づいて、未読既読を判断すると、未読既読の判断を誤る場合がある。ブログのウェブページは、複数の記事によって構成され、それぞれが、異なる日の日記である。新しい記事が上部に表示されることが多いので、要素番号を比較すると、未読既読の判断を誤る。このようなサイトについては、既読部分の文章を全て蓄積することが有効である。さらに、情報蓄積部１５に蓄積されている読み上げ対象のデータ（既読データ）の文章が、これから読み上げようとしている文章の中に存在しているかどうかを判断する場合、読み上げ対象の文章の先頭から順次比較し、パターンマッチングする等して判断すればよい。
【００４４】
図５は、実施例１において、既読部分が、読み上げ対象に含まれているかどうかを調べる場合における説明図である。
【００４５】
たとえば、既読部分「大当たり！」が、読み上げ対象であるかどうかを調べる場合、まず、図５に示すように、読み上げ対象部分のデータである文章の先頭から、１文字ずつ比較する。
【００４６】
図６は、実施例１において、既読部分「大当たり！」を先頭から１文字ずらし、読み上げ対象部分のデータと比較する場合の例を示す図である。
【００４７】
図５に示す例では、一致していないので、図６に示すように、先頭から１文字ずらし、比較する。図６に示すように、既読部分「大当たり！」を１文字ずらして比較した後に、既読部分「大当たり！」を２文字ずらして比較し、既読部分「大当たり！」を３文字ずらして比較し、……、最後まで、既読部分「大当たり！」をずらして比較し、その過程で一致すれば、既読部分「大当たり！」が、既読部分であると判別することができ、最後まで一致しなければ、既読部分「大当たり！」が、読み上げ対象部分のデータには存在していないと、判断することができる。この結果、図３や図４に示すような読み上げ属性のデータを作ることができる。
【００４８】
また、ブログサイトは、所定のフォーマットに従って作られているので、ページの構成が常に一定であり、ページのどの部分が記事のタイトルであるのか、どの部分が記事であるのか、どの部分がコメントであるのか等が、ＨＴＭＬタグを解析すれば分かる。そこで、未読既読判定単位を、記事タイトルと記事というように指定すれば、読んだ記事と読んでいない記事とを、区別することができる。たとえば、ブログを日記として書いている人にとって、記事タイトルと記事とは、ある１日の日記を意味する。したがって、記事タイトルと記事とが、未読既読判定単位であるとすれば、日記のうちで、読んだ日と読んでいない日とがわかる。このように、ウェブページの構成に基づいて、特定の部分を切り出し、未読既読判定単位にすることによって、さらに便利に使うことができる。
【００４９】
実施例１では、既読部分を情報蓄積部１５に蓄積する実施例であるが、逆に、未読部分を、情報蓄積部１５に蓄積し、既読部分を、上記蓄積対象から削除するようにしてもよい。
【００５０】
図７は、実施例１において、既読部分の要素番号の開始番号と終了番号とを、情報蓄積部１５に蓄積している例を示す図である。
【００５１】
図８は、実施例１において、既読部分の要素番号の開始番号と終了番号との組を、２組、情報蓄積部１５に蓄積している例を示す図である。
【００５２】
また、実施例１では、Ｓ１２で、図４に示すように、読み上げ対象部分の個々の要素番号について、読み上げ属性をそれぞれ蓄積するが、このようにする代わりに、図７に示すように、既読部分の要素番号の開始番号と終了番号とを、情報蓄積部１５に蓄積するようにしてもよい。また、図１５に示すように、複数の既読部分が、散在する場合、図８に示すように、行を追加し、蓄積するようにしてもよい。
【００５３】
さらに、実施例１は、既読部分を読み飛ばし、未読部分だけを読み上げる実施例であるが、逆に、未読部分を読み飛ばし、既読部分だけを読み上げるようにしてもよく、上記説明と同様に実行可能である。
【００５４】
図９は、実施例１において、読み上げ対象部分のデータのうちで、読み飛ばすべき読み上げ対象部分のデータを設定し、この設定された読み飛ばすべき読み上げ対象部分のデータを情報蓄積部１５に蓄積する例を示す図である。
【００５５】
図９に示すように、読み飛ばすべき読み上げ対象部分のデータを、情報蓄積部１５に予め蓄積し、図９に示す例において、読み飛ばし部分の欄に記載されている「１」は、読み飛ばすことを意味し、「０」は、読み飛ばさないことを意味する。
【００５６】
図９に示す例は、既読部分を読み飛ばし、未読部分を読み飛ばさない（普通に読み上げる）ことを示している。実施例１は、図９に示す設定に従った動作を実行する。
【００５７】
上記設定を行い、図２に示すフローチャートに従って、読み飛ばしを行えばよい。Ｓ６の判断で、既読部分であれば、読み飛ばす動作（Ｓ７、Ｓ８）に進み、この読み飛ばしを、図９に示す設定データに従って実行すればよい。図９に示すように、既読部分を読み飛ばす場合、図２に示す動作と同じである。
【００５８】
図１６は、実施例１において、情報蓄積部１５に蓄積されている読み飛ばし設定データの例を示す図である。
【００５９】
未読部分を読み飛ばすようにするには、図２に示すＳ６で未読部分を判断すると、図１６に示すように読み飛ばし部分が「１」であるので、図２に示すフローチャートにおいてＳ７に進むようにフローチャートを変更すればよく、図２に示すＳ６で既読部分を判断すると、図１６に示すように読み飛ばし部分が「０」であるので、図２に示すフローチャートにおいてＳ９に進むようにフローチャートを変更すればよい。
【実施例２】
【００６０】
第２の実施例は、実施例１において、既読部分を読まないようにする代わりに、未読部分を読まないようにする実施例である。
【００６１】
実施例１では、既読未読を判別する単位で、読み上げが始まった時点で、既読部分であることを示す情報を蓄積する実施例であるが、実施例２は、既読未読を判別する単位で、読み上げが終わった時点で、既読部分であることを示す情報を蓄積する実施例である。
【００６２】
実施例１では、判別単位を読み上げ始めた時点で、既読とするので、特に、判別単位が段落等、長い場合、判別単位の最後の部分まで読み上げられているかどうかが不明であるが、この場合の既読とは、「読み始めたことがある」という意味になる。コンテンツの中には、出だしの部分を聞いただけで、自分には興味のないことが分かり、他の部分を読むという場合もある。この場合、実施例１の方が有効である。
【００６３】
一方、実施例２では、判別単位の読み上げが終わった時点で、既読とするので、特に、判別単位が段落等、長い場合でも、判別単位の最後の部分まで読み上げられた後に既読となり、つまり、この場合の既読は、「その判別単位を読み終わった」という意味になり、判別単位を最後まで読み上げた証拠となり、実施例２は、使い方によっては便利である。
【００６４】
なお、実施例２の構成は、基本的には、実施例１の構成と同じである。
【００６５】
図１０は、本発明の実施例２の動作を示すフローチャートである。
【００６６】
Ｓ２１〜Ｓ３０の処理は、実施例１におけるＳ１〜１０の処理と同様であるので、説明を省略する。
【００６７】
Ｓ３１では、情報出力部１７が、合成された音声を出力する。Ｓ３２で、情報入力部１１を介して、リンク先にジャンプする指令が入力されると、Ｓ２１に戻り、リンク部分に埋め込まれたリンク先のＵＲＬを、制御部１２が解釈し、取得する。その後、ジャンプ先のウェブページについて、Ｓ２２〜Ｓ３１の処理を実行する。
【００６８】
Ｓ３２で、リンク先にジャンプする指令が入力されなければ、Ｓ３３で、読み上げ中止の命令が入力されたかどうかを判別する。読み上げ中止の命令が入力されれば、読み上げを途中で終了する。Ｓ３３で、読み上げ中止の命令が入力されなければ、Ｓ３４で、合成された音声の出力が終了したかどうかを判断する。読み上げが終了していなければ、Ｓ３１に戻り、出力を続行する。読み上げが終了すれば（Ｓ３４）、Ｓ３５で、文章の読み上げ音声の設定を、既読部分であることを意味する「１」を上書きする。このようにして、未読既読判定単位である文章の読み上げが終わった時点で、その判別単位が既読部分であると判断することができる。
【００６９】
次に、Ｓ３６で、最後の文章であるかどうかを判定する。最後でなければ、Ｓ２８に戻り、次の文章の読み上げ属性を読み出す。Ｓ３６で、最後の文章であれば、終了する。
【００７０】
実施例２において、未読既読判別の単位が文章であるが、文章に限らず、文字、句読点で区切られた区間、文、段落、ウェブページ全体等、任意の単位を、未読既読の判別単位として使用するようにしてもよい。
【００７１】
また、実施例２は、既読部分を読み飛ばし、未読部分だけを読み上げる実施例であるが、逆に、実施例２において、未読部分を読み飛ばし、既読部分だけを読み上げるようにしてもよい。
【実施例３】
【００７２】
本発明の実施例３は、既読部分を読み飛ばしている際に、その旨を通知する実施例である。
【００７３】
実施例３の構成は、基本的には、実施例１の構成と同じである。
【００７４】
実施例３は、実施例１のように、読み上げが始まる際に既読部分であると判断する実施例であるが、実施例２のように、読み上げが終わる際に、既読部分であると判断するようにしてもよい。
【００７５】
次に、実施例３の動作について説明する。
【００７６】
図１１は、本発明の実施例３の動作を示すフローチャートである。
【００７７】
Ｓ１〜Ｓ６の処理は、実施例１におけるＳ１〜Ｓ６の処理と同様であるので、説明を省略する。
【００７８】
図１２は、実施例３において、情報蓄積部１５に蓄積されている読み取り対象部分のデータのうちで、既読部分が有るかどうかを示す既読部分有無データの例を示す図であり、既読部分が存在していないことを示す例である。
【００７９】
図１３は、実施例３において、情報蓄積部１５に蓄積されている読み取り対象部分のデータのうちで、既読部分が有るかどうかを示す既読部分有無データの例を示す図であり、既読部分が存在していることを示す例である。
【００８０】
つまり、既読部分がなければ、図１２に示すように、既読部分有無データ（読み飛ばし有無データ）が「０」であり、既読部分があれば、図１３に示すように、既読部分有無データ（読み飛ばし有無データ）が「１」である。
【００８１】
Ｓ６において、読み上げ属性が判断され、読み上げ属性が既読であれば、Ｓ４１で、読み飛ばし部分ありを、情報蓄積部１６に蓄積する。つまり、既読部分であれば、既読部分有無データ（読み飛ばし有無データ）「１」を、図１３に示すデータに上書する。
【００８２】
そして、Ｓ４２で、最後の文章であることが判断されれば、終了し、最後の文章でなければ、Ｓ４３で、次の文章の読み上げ属性を読み出し、Ｓ６に戻る。
【００８３】
一方、Ｓ６で、読み上げ属性が未読であると判断されれば、過去において読み飛ばし部分があるかどうかを判断し、過去に読み飛ばし部分があれば、Ｓ４５で、既読部分を読み飛ばした旨の案内文（通知文）の音ファイルを、音声合成部１６が合成し、Ｓ４６で、音ファイルを情報出力部１７から出力する。つまり、図１３に示すように、既読部分有無データ（読み飛ばし有無データ）が「１」であれば、既読部分を読み飛ばしたので、既読部分を読み飛ばした旨を音声で伝える（Ｓ４５、Ｓ４６）。
【００８４】
Ｓ４４において、過去における読み飛ばし部分がなければ、そのまま、文章を読み出す（Ｓ５０）。
【００８５】
図１４は、実施例３において、既読部分が有ることを示す案内文（案内音声）の例を示す図である。
【００８６】
Ｓ５０で、読み出された文章（図３の読み上げ対象部分のデータの内容の欄に記載されているデータ）と、既読部分が有ることを示す案内文とを、Ｓ５１で、音声合成部１６が合成する。上記既読部分が有ることを示す案内文を、図１４に示す形で、情報蓄積部１５に予め蓄積する。
【００８７】
Ｓ５１では、図１４に示す案内文「既読部分を読み飛ばしました。ここから未読部分です。」と、Ｓ５０で読み出された文章とを併せて、音声合成する。
【００８８】
または、既読部分が有ることを示す案内文は、音ファイルとして情報蓄積部１５に予め蓄積し、Ｓ５１で、その案内文を合成せずに、Ｓ５２で出力する際に、一緒に出力するようにしてもよい。
【００８９】
続く、Ｓ５４〜Ｓ５６の処理は、実施例１におけるＳ１３〜Ｓ１５の処理と同様であるので、説明を省略する。
【００９０】
上記のように、既読部分を読み飛ばした旨が音声で伝えられるので、読み上げ音声を聞いているユーザは、既読部分が読み飛ばされたことを知ることができる。
【００９１】
また、実施例３は、既読部分を読み飛ばし、未読部分だけを読み上げる実施例であるが、逆に、実施例３において、未読部分を読み飛ばし、既読部分だけを読み上げるようにしてもよい。
【実施例４】
【００９２】
本発明の実施例４は、既読部分を読み飛ばし、未読部分を読み始めたことを視覚的に表示する実施例である。
【００９３】
従来の音声ブラウザでも、どこを読み上げているかを示すために、通常のブラウザのように画面表示する。そのどの部分を読み上げているかを、ハイライト表示によって示す。この従来例におけるハイライト表示は、読み上げている瞬間の表示であり、以前読んだ部分を知ることはできない。音声ブラウザといえども、その音声の品質や使い勝手がよければ、目が見える健常者にも使われる。つまり、たとえ目が見えていても、何か他のことをしている最中には、画面を見ることができない場合もあり、この場合には、音声ブラウザが便利である。しかし、このような健常者による使用を考えると、既読部分、未読部分の情報を、視覚的に伝えることも重要である。
【００９４】
そのためには、ページ内リンクをたどる際のように、図４等に示す読み上げ対象部分のデータに基づいて、既読部分をスクロールし、未読部分の先頭から表示されるようにすればよい。すなわち、未読部分の先頭を、ブラウザの最上部に表示する。このようにすることによって、既読部分を読み飛ばしたことが、視覚的に理解される。
【００９５】
図１５は、実施例４において、情報蓄積部１５に蓄積されている読み上げ対象部分のデータの例を示す図である。
【００９６】
図１５に示すデータの場合、複数ある未読部分のうちで、先頭の未読部分が、実施例４のブラウザの最上部に表示されるようにすればよい。または、読み上げない部分を、表示しないようにしてもよい。表示しない場合には、読み上げない部分に、「読み上げ省略」等を表示するようにしてもよい。
【００９７】
また、実施例４は、既読部分を読み飛ばし、未読部分だけを表示する実施例であるが、逆に、実施例４において、未読部分を読み飛ばし、既読部分だけを表示するようにしてもよい。
【００９８】
上記各実施例は、ネットワークＮＷからコンテンツを受け取り、音声読み上げするウェブブラウザであるが、このようにする代わりに、コンテンツが格納されているメモリカードやＣＤ、ＤＶＤ等のメディアをドライブするＣＤドライブ等を介して、送受信部１３が、上記コンテンツを受信し、この受信したコンテンツを音声読み上げるようにしてもよい。
【００９９】
また、ネットワークＮＷを介して、コンテンツをダウンロードし、情報蓄積部１５に蓄積し、この蓄積されたコンテンツを音声読み上げするようにしてもよい。このようにすれば、ネットワークＮＷにつながっていない状況でも、コンテンツを読み上げることができ、便利である。さらに、読み上げ対象としては、ウェブコンテンツに限る必要はない。
【０１００】
また、ネットワークを介して、音声読み上げ装置１０を複数の端末機器と接続するようにしてもよく、つまり、音声読み上げ装置１０の機能をサーバに取り込むようにしてもよい。このようにすれば、既読、未読の情報を、ネットワーク上に置いておけるので、異なる音声読み上げ装置を使っても、同じ音声読み上げ装置を使っているかのように、動作させることができ、便利である。
【０１０１】
上記実施例をプログラムの発明として把握することができる。つまり、上記実施例は、コンテンツを音声変換して読み上げる音声読み上げプログラムにおいて、コンテンツ中の読み上げ対象部分が、過去に読み上げられたことがあるか否かを判定する既読・未読判定手順と、上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、または、読み上げられた部分が既読部分であることを設定し、記憶装置に記憶する設定手順と、上記設定されている未読部分または既読部分に対応する読み上げ対象部分を読み上げる読み上げ手順と、上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手順とをコンピュータに実行させるプログラムの例である。
【０１０２】
また、上記実施例は、コンテンツを音声変換して読み上げる音声読み上げプログラムにおいて、コンテンツ中の読み上げ対象部分が、過去に読み上げられたことがあるか否かを判定する既読・未読判定手順と、上記読み上げ対象部分のうちで、読み上げられない部分が未読部分であることを設定し、記憶装置に記憶する設定手順と、上記設定されている未読部分のみに対応する読み上げ対象部分を読み上げる読み上げ手順と、上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手順とをコンピュータに実行させるプログラムの例である。
【０１０３】
さらに、上記実施例は、コンテンツを音声変換して読み上げる音声読み上げプログラムにおいて、コンテンツ中の読み上げ対象部分が、過去に読み上げられたことがあるか否かを判定する既読・未読判定手順と、上記読み上げ対象部分のうちで、読み上げられた部分が既読部分であることを設定し、記憶装置に記憶する設定手順と、上記設定されている既読部分のみに対応する読み上げ対象部分を読み上げる読み上げ手順と、上記読み上げ対象部分が音声読み上げされたときに、既読の読み上げ対象部分を格納する既読読み上げ対象部分格納手順とをコンピュータに実行させるプログラムの例である。
【０１０４】
なお、上記プログラムを、ＣＤ、ＭＤ、ＨＤ、半導体メモリ等の格納媒体に格納するようにしてもよい。
【図面の簡単な説明】
【０１０５】
【図１】本発明の実施例１である音声読み上げ装置１０を示すブロック図である。
【図２】実施例１における動作を示すフローチャートである。
【図３】情報蓄積部１５に蓄積されている読み上げ対象部分のデータの例を示す図である。
【図４】情報蓄積部１５に蓄積されている読み上げ対象部分のデータの例を示す図であり、読み上げ対象部分のデータが部分的に既読部分であることを示す図である。
【図５】実施例１において、既読部分が、読み上げ対象に含まれているかどうかを調べる場合における説明図である。
【図６】実施例１において、既読部分「大当たり！」を先頭から１文字ずらし、読み上げ対象部分のデータと比較する場合の例を示す図である。
【図７】実施例１において、既読部分の要素番号の開始番号と終了番号とを、情報蓄積部１５に蓄積している例を示す図である。
【図８】実施例１において、既読部分の要素番号の開始番号と終了番号との組を、２組、情報蓄積部１５に蓄積している例を示す図である。
【図９】実施例１において、読み上げ対象部分のデータのうちで、読み飛ばすべき読み上げ対象部分のデータを設定し、この設定された読み飛ばすべき読み上げ対象部分のデータを情報蓄積部１５に蓄積する例を示す図である。
【図１０】本発明の実施例２の動作を示すフローチャートである。
【図１１】本発明の実施例３の動作を示すフローチャートである。
【図１２】実施例３において、情報蓄積部１５に蓄積されている読み取り対象部分のデータのうちで、既読部分が有るかどうかを示す既読部分有無データの例を示す図であり、既読部分が存在していないことを示す例である。
【図１３】実施例３において、情報蓄積部１５に蓄積されている読み取り対象部分のデータのうちで、既読部分が有るかどうかを示す既読部分有無データの例を示す図であり、既読部分が存在していることを示す例である。
【図１４】実施例３において、既読部分が有ることを示す案内文（案内音声）の例を示す図である。
【図１５】実施例４において、情報蓄積部１５に蓄積されている読み上げ対象部分のデータの例を示す図である。
【図１６】実施例１において、情報蓄積部１５に蓄積されている読み飛ばし設定データの例を示す図である。
【符号の説明】
【０１０６】
１０…音声読み上げ装置（ウェブブラウザ）、
１１…情報入力部、
１２…制御部、
１３…送受信部、
１４…情報解析部、
１５…情報蓄積部、
１６…音声合成部、
１７…情報出力部、
２０…ウェブサーバ。
【図１】
2006317875.tif 000003
【図２】
2006317875.tif 000004
【図３】
2006317875.tif 000005
【図４】
2006317875.tif 000006
【図５】
2006317875.tif 000007
【図６】
2006317875.tif 000008
【図７】
2006317875.tif 000009
【図８】
2006317875.tif 000010
【図９】
2006317875.tif 000011
【図１０】
2006317875.tif 000012
【図１１】
2006317875.tif 000013
【図１２】
2006317875.tif 000014
【図１３】
2006317875.tif 000015
【図１４】
2006317875.tif 000016
【図１５】
2006317875.tif 000017
【図１６】
2006317875.tif 000018