(57)【特許請求の範囲】
【請求項１】
電子書籍のしおりを音声で出力するしおり出力装置であって、
前記電子書籍に設定されたしおりの文字列情報を記憶する記憶部と、
前記電子書籍の言語情報を抽出する抽出部と、
前記抽出部によって抽出された言語情報に応じた音声変換エンジンを選択するエンジン選択部と、
前記エンジン選択部によって選択された音声変換エンジンを動作させることにより、前記記憶部に記憶された前記しおりの文字列情報を音声で出力する出力部を備える、しおり出力装置。
【請求項２】
前記電子書籍の前記言語情報が記憶されているかどうかを判断する言語情報判断部と、
前記言語情報判断部によって前記電子書籍の前記言語情報が記憶されていないことが判断されたとき、前記電子書籍の言語情報を使用者に選択させる言語情報選択部をさらに備え、
前記抽出部は、前記言語情報選択部によって選択された言語情報を抽出する、請求項１記載のしおり出力装置。
【請求項３】
前記言語情報選択部によって前記電子書籍の前記言語情報が選択されないとき、前記電子書籍のフォーマットが所定のフォーマットであるかどうかを判断するフォーマット判断部と、
前記フォーマット判断部によって前記電子書籍が所定のフォーマットであることが判断されたとき、当該所定のフォーマットを読み取り可能な読み取りエンジンに基づいて前記電子書籍の言語情報を判定する言語情報判定部をさらに備え、
前記抽出部は、前記言語情報判定部によって判定された言語情報を抽出する、請求項２記載のしおり出力装置。
【請求項４】
前記フォーマット判断部によって前記電子書籍が所定のフォーマットでないことが判断されたとき、当該電子書籍を前記所定のフォーマットに変換する変換部をさらに備える、請求項３記載のしおり出力装置。
【請求項５】
音を出力しないモードが設定されているかどうかを判断するモード判断部と、
前記モード判断部によって音を出力しないモードが設定されていると判断されたとき、前記出力部を動作させるかどうかを判断する動作判断部をさらに備え、
前記動作判断部によって前記出力部を動作させることが判断されたとき、前記出力部は、前記エンジン選択部によって選択された音声変換エンジンを動作させることにより、前記記憶部に記憶された前記しおりの文字列情報を音声で出力する、請求項１ないし４のいずれかに記載のしおり出力装置。
【請求項６】
通信部と、
前記抽出部によって抽出された言語情報に応じた音声変換エンジンが無いとき、外部のコンピュータに、前記記憶部に記憶された前記しおりの文字列情報を音声データに変換させる音声変換要求を送信する変換要求送信部と、
前記外部のコンピュータから送信された音声データを受信する音声データ受信部をさらに備え、
前記出力部は、前記音声データ受信部によって受信された音声データに対応する音声を出力する、請求項１ないし５のいずれかに記載のしおり出力装置。
【請求項７】
通信部と、
前記抽出部によって抽出された言語情報に応じた音声変換エンジンが無いとき、外部のコンピュータに、当該音声変換エンジンの配信要求を送信する配信要求送信部と、
前記外部のコンピュータから配信された前記音声変換エンジンを受信する音声変換エンジン受信部をさらに備え、
前記出力部は、前記音声変換エンジン受信部によって受信された前記音声変換エンジンを動作させることにより、前記記憶部に記憶された前記しおりの文字列情報を音声で出力する、請求項１ないし５のいずれかに記載のしおり出力装置。
【請求項８】
電子書籍に設定されたしおりの文字列情報を記憶する記憶部を備え、前記電子書籍のしおりを音声で出力する、コンピュータのしおり出力プログラムであって、
前記コンピュータに、
前記電子書籍の言語情報を抽出する抽出ステップと、
前記抽出ステップによって抽出された言語情報に応じた音声変換エンジンを選択するエンジン選択ステップと、
前記エンジン選択ステップによって選択された音声変換エンジンを動作させることにより、前記記憶部に記憶された前記しおりの文字列情報を音声で出力する出力ステップを実行させる、しおり出力プログラム。
【請求項９】
電子書籍に設定されたしおりの文字列情報を記憶する記憶部を備え、前記電子書籍のしおりを音声で出力する、コンピュータのしおり出力方法であって、
前記コンピュータは、
（ａ）前記電子書籍の言語情報を抽出し、
（ｂ）前記ステップ（ａ）によって抽出された言語情報に応じた音声変換エンジンを選択し、そして
（ｃ）前記ステップ（ｂ）によって選択された音声変換エンジンを動作させることにより、前記記憶部に記憶された前記しおりの文字列情報を音声で出力する、しおり出力方法。
【請求項１０】
電子書籍を閲覧する電子書籍閲覧装置であって、
前記電子書籍に設定されたしおりの文字列情報を記憶する記憶部と、
前記電子書籍の言語情報を抽出する抽出部と、
前記抽出部によって抽出された言語情報に応じた音声変換エンジンを選択するエンジン選択部と、
前記エンジン選択部によって選択された音声変換エンジンを動作させることにより、前記記憶部に記憶された前記しおりの文字列情報を音声で出力する出力部を備える、電子書籍閲覧装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はしおり出力装置、しおり出力プログラムおよびしおり出力方法ならびに電子書籍閲覧装置に関し、特にたとえば、電子書籍に設定されたしおりを音声で出力する、しおり出力装置、しおり出力プログラムおよびしおり出力方法ならびに電子書籍閲覧装置に関する。
【背景技術】
【０００２】
この種のしおり出力装置の一例が特許文献１に開示されている。この特許文献１の電子書籍閲覧装置では、電子書籍の所定の位置を示すしおり情報が設定される際に、読書情報に基づき、しおり情報の属性情報（しおり属性）が設定される。しおり属性としては、該当する電子書籍のどこまで読んだかを把握するための読書状況把握属性、文章中の不明な単語の意味を調べるための単語属性、目次や人物表など同一書籍中で複数回参照するための恒常参照属性、カタログや参考書などで図や写真などを比較するときに用いる比較属性、その他、後から参照するための目印としての参照属性に分類される。
【特許文献１】特開２００８−９６０６号［G06F 17/30］
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、特許文献１の電子書籍閲覧装置では、様々な属性のしおりを登録可能であるため、しおりが多数存在する場合には、各しおりを使用者が目視することにより確認するのは面倒であり、多大な労力を要することになる。
【０００４】
それゆえに、この発明の主たる目的は、新規な、しおり出力装置、しおり出力プログラムおよびしおり出力方法ならびに電子書籍閲覧装置を提供することである。
【０００５】
また、この発明の他の目的は、所望のしおりを容易に検索することができる、しおり出力装置、しおり出力プログラムおよびしおり出力方法ならびに電子書籍閲覧装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、電子書籍のしおりを音声で出力するしおり出力装置であって、電子書籍に設定されたしおりの文字列情報を記憶する記憶部と、電子書籍の言語情報を抽出する抽出部と、抽出部によって抽出された言語情報に応じた音声変換エンジンを選択するエンジン選択部と、エンジン選択部によって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する出力部を備える、しおり出力装置である。
【０００８】
第１の発明では、しおり出力装置（１０）は、電子書籍のしおりを音声で出力する。記憶部（２４）は、電子書籍に設定されたしおりの文字列情報を記憶する。抽出部（１２、Ｓ５３、Ｓ５７、Ｓ６７、Ｓ６９）は、電子書籍の言語情報を抽出する。エンジン選択部（１２、Ｓ７１）は、抽出部によって抽出された言語情報に応じた音声変換エンジンを選択する。出力部（１２、Ｓ７９）は、エンジン選択部によって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する。このとき、合成音声データが用いられる。
【０００９】
第１の発明によれば、しおりの文字列情報を音声で出力するので、目視で所望のしおりを検索するよりも簡単に検索することができる。
【００１０】
第２の発明は、第１の発明に従属し、電子書籍の言語情報が記憶されているかどうかを判断する言語情報判断部と、言語情報判断部によって電子書籍の言語情報が記憶されていないことが判断されたとき、電子書籍の言語情報を使用者に選択させる言語情報選択部をさらに備え、抽出部は、言語情報選択部によって選択された言語情報を抽出する。
【００１１】
第２の発明では、言語情報判断部（１２、Ｓ５１）は、電子書籍の言語情報が記憶されているかどうかを判断する。言語情報選択部（１２、Ｓ５５、Ｓ５７）は、言語情報判断部によって電子書籍の言語情報が記憶されていないことが判断されたとき、電子書籍の言語情報を使用者に選択させる。抽出部は、言語情報選択部によって選択された言語情報を抽出する。
【００１２】
第２の発明によれば、電子書籍の言語情報が記憶されていない場合には、使用者に言語情報を選択させるので、使用者によって選択された言語情報に応じた音声変換エンジンを用いて、しおりの文字列情報を音声で出力することができる。
【００１３】
第３の発明は、第２の発明に従属し、言語情報選択部によって電子書籍の言語情報が選択されないとき、電子書籍のフォーマットが所定のフォーマットであるかどうかを判断するフォーマット判断部と、フォーマット判断部によって電子書籍が所定のフォーマットであることが判断されたとき、当該所定のフォーマットを読み取り可能な読み取りエンジンに基づいて電子書籍の言語情報を判定する言語情報判定部をさらに備え、抽出部は、言語情報判定部によって判定された言語情報を抽出する。
【００１４】
第３の発明では、フォーマット判断部（１２、Ｓ５９）は、言語情報選択部によって電子書籍の言語情報が選択されないとき（Ｓ５７で“ＮＯ”）、電子書籍のフォーマットが所定のフォーマットであるかどうかを判断する。たとえば、電子書籍のフォーマットがテキストであるかどうかが判断される。言語情報判定部（１２、Ｓ６７）は、フォーマット判断部によって電子書籍が所定のフォーマットであることが判断されたとき（Ｓ５９で“ＹＥＳ”）、当該所定のフォーマットを読み取り可能な読み取りエンジンに基づいて電子書籍の言語情報を判定する。たとえば、複数の言語に対応する読み取りエンジンのうち、当該電子書籍を読み取り可能な読み取りエンジンの言語が電子書籍の言語情報として判定される。
【００１５】
第３の発明によれば、電子書籍の読み取りエンジンに基づいて言語情報を自動で判定することができる。
【００１６】
第４の発明は、第３の発明に従属し、フォーマット判断部によって電子書籍が所定のフォーマットでないことが判断されたとき、当該電子書籍を所定のフォーマットに変換する変換部をさらに備える。
【００１７】
第４の発明では、変換部（１２、Ｓ６３）は、フォーマット判断部によって電子書籍が所定のフォーマットでないことが判断されたとき（Ｓ５９で“ＮＯ”）、当該電子書籍を所定のフォーマットに変換する。たとえば、電子書籍を文字認識することにより、テキストデータに変換する。
【００１８】
第４の発明によれば、電子書籍を所定のフォーマットに変換するので、電子書籍が所定のフォーマットでない場合であっても、言語情報を自動で判定することができる。
【００１９】
第５の発明は、第１ないし第４の発明のいずれかに従属し、音を出力しないモードが設定されているかどうかを判断するモード判断部と、モード判断部によって音を出力しないモードが設定されていると判断されたとき、出力部を動作させるかどうかを判断する動作判断部をさらに備え、動作判断部によって出力部を動作させることが判断されたとき、出力部は、エンジン選択部によって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する。
【００２０】
第５の発明では、モード判断部（１２、Ｓ１０１）は、音を出力しないモードが設定されているかどうかを判断する。動作判断部（１２、Ｓ１０５）は、モード判断部によって音を出力しないモードが設定されていると判断されたとき（Ｓ１０１で“ＹＥＳ”）、出力部を動作させるかどうかを判断する。たとえば、使用者に出力部を動作させるかどうかを選択させる。動作判断部によって出力部を動作させることが判断されたとき（Ｓ１０５で“ＹＥＳ”）、出力部は、エンジン選択部によって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する。
【００２１】
第５の発明によれば、音を出力しないモードが設定されている場合には、使用者の選択により出力部を動作させるので、適切にしおりを音声で出力することができる。
【００２２】
第６の発明は、第１ないし第５の発明のいずれかに従属し、通信部と、抽出部によって抽出された言語情報に応じた音声変換エンジンが無いとき、外部のコンピュータに、記憶部に記憶されたしおりの文字列情報を音声データに変換させる音声変換要求を送信する変換要求送信部と、外部のコンピュータから送信された音声データを受信する音声データ受信部をさらに備え、出力部は、音声データ受信部によって受信された音声データに対応する音声を出力する。
【００２３】
第６の発明では、しおり出力装置は、通信部（３０）をさらに備える。したがって、外部の（他の）コンピュータと通信可能に接続される。変換要求送信部（１２、Ｓ１２１）は、抽出部によって抽出された言語情報に応じた音声変換エンジンが無いとき（Ｓ７３で“ＮＯ”）、外部のコンピュータに、記憶部に記憶されたしおりの文字列情報を音声データに変換させる音声変換要求を送信する。また、音声データ受信部（１２、Ｓ１２３）は、外部のコンピュータから送信された音声データを受信する。したがって、出力部は、音声データ受信部によって受信された音声データに対応する音声を出力する。
【００２４】
第６の発明によれば、該当する音声変換エンジンが無い場合には、外部のコンピュータで変換された音声データに対応するしおりの音声を出力するので、たとえば、音声変換エンジンを備えていなくても、しおりを音声で読み上げることができる。
【００２５】
第７の発明は、第１ないし第５の発明のいずれかに従属し、通信部と、抽出部によって抽出された言語情報に応じた音声変換エンジンが無いとき、外部のコンピュータに、当該音声変換エンジンの配信要求を送信する配信要求送信部と、外部のコンピュータから配信された音声変換エンジンを受信する音声変換エンジン受信部をさらに備え、出力部は、音声変換エンジン受信部によって受信された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する。
【００２６】
第７の発明では、しおり出力装置は、通信部（３０）をさらに備える。したがって、外部の（他の）コンピュータと通信可能に接続される。配信要求送信部（１２、Ｓ１３１）は、抽出部によって抽出された言語情報に応じた音声変換エンジンが無いとき（Ｓ７３で“ＮＯ”）、外部のコンピュータに、当該音声変換エンジンの配信要求を送信する。また、音声変換エンジン受信部（１２、Ｓ１３３）は、外部のコンピュータから配信された音声変換エンジンを受信する。したがって、出力部は、音声変換エンジン受信部によって受信された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する。
【００２７】
第７の発明によれば、該当する音声変換エンジンが無い場合には、外部のコンピュータから該当する音声変換エンジンの配信を受けて動作させるので、しおりを音声で読み上げることができる。
【００２８】
第８の発明は、電子書籍に設定されたしおりの文字列情報を記憶する記憶部を備え、電子書籍のしおりを音声で出力する、コンピュータのしおり出力プログラムであって、コンピュータに、電子書籍の言語情報を抽出する抽出ステップと、抽出ステップによって抽出された言語情報に応じた音声変換エンジンを選択するエンジン選択ステップと、エンジン選択ステップによって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する出力ステップを実行させる、しおり出力プログラムである。
【００２９】
第９の発明は、電子書籍に設定されたしおりの文字列情報を記憶する記憶部を備え、電子書籍のしおりを音声で出力する、コンピュータのしおり出力方法であって、コンピュータは、（ａ）電子書籍の言語情報を抽出し、（ｂ）ステップ（ａ）によって抽出された言語情報に応じた音声変換エンジンを選択し、そして（ｃ）ステップ（ｂ）によって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する、しおり出力方法である。
【００３０】
第１０の発明は、電子書籍を閲覧する電子書籍閲覧装置であって、電子書籍に設定されたしおりの文字列情報を記憶する記憶部と、電子書籍の言語情報を抽出する抽出部と、抽出部によって抽出された言語情報に応じた音声変換エンジンを選択するエンジン選択部と、エンジン選択部によって選択された音声変換エンジンを動作させることにより、記憶部に記憶されたしおりの文字列情報を音声で出力する出力部を備える、電子書籍閲覧装置である。
【００３１】
第８ないし第１０の発明においても、第１の発明と同様に、所望のしおりを容易に検索することができる。
【発明の効果】
【００３２】
この発明によれば、所望のしおりを容易に検索することができる。
【００３３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００３４】
【図１】図１はこの発明の一実施例の電子書籍閲覧装置の電気的な構成を示すブロック図である。
【図２】図２は図１に示すディスプレイに表示される閲覧画面の一例を示す図である。
【図３】図３は図１に示すディスプレイに表示される閲覧画面の第２の例を示す図である。
【図４】図４は図１に示すディスプレイに表示される閲覧画面の第３の例を示す図である。
【図５】図５は図１に示すディスプレイに表示される閲覧画面の第４の例を示す図である。
【図６】図６は図１に示すディスプレイに表示される閲覧画面の第５の例を示す図である。
【図７】図７は図１に示すディスプレイに表示される閲覧画面の第６の例を示す図である。
【図８】図８は図１に示すＲＡＭのメモリマップの一例を示す図である。
【図９】図９は図１に示すＣＰＵのしおり作成処理を示すフロー図である。
【図１０】図１０は図１に示すＣＰＵのしおり読み上げ処理の一部を示すフロー図である。
【図１１】図１１は図１に示すＣＰＵのしおり読み上げ処理の他の一部であって、図１０に後続するフロー図である。
【図１２】図１２は図１に示すＣＰＵのしおり読み上げ処理のその他の一部であって、図１１に後続するフロー図である。
【図１３】図１３は図１に示すＣＰＵのしおり読み上げ処理の他の例の一部を示すフロー図である。
【図１４】図１４はこの発明の他の実施例の電子書籍閲覧装置の電気的な構成を示すブロック図である。
【図１５】図１５は図１４に示す電子書籍閲覧装置を用いたシステムの一例を示す図解図である。
【図１６】図１６は図１４に示すＣＰＵのしおり読み上げ処理の一部を示すフロー図である。
【図１７】図１７は図１４に示すＣＰＵのしおり読み上げ処理の一部を示すフロー図である。
【発明を実施するための形態】
【００３５】
図１を参照して、この実施例の電子書籍閲覧装置１０は、しおり作成装置またはしおりの音声読み上げ装置（出力装置）としても機能し、ＣＰＵ１２を含む。ＣＰＵ１２には、キー入力装置１４、表示ドライバ１６、タッチパネル２０、ハードディスクドライブ（ＨＤＤ)２２、ＲＡＭ２４およびＤ／Ａ変換器２６が接続される。また、表示ドライバ１６には、ディスプレイ１８が接続される。図示は省略するが、タッチパネル２０は、ディスプレイ１８上に設けられる。さらに、Ｄ／Ａ変換器２６には、スピーカ２８が接続される。
【００３６】
ＣＰＵ１２は、電子書籍閲覧装置１０の全体制御を司る。また、ＣＰＵ１２にはＲＴＣ１２ａが内蔵され、ＲＴＣ１２ａでカウントされる時刻情報（年月日および時分秒）がＣＰＵ１２に与えられる。
【００３７】
キー入力装置１４は、図示は省略するが、アルファベットまたは仮名或いは記号（符号、数字など）などを入力するための各種キーを含む。たとえば、各種キーは、Ｑｗｅｒｔｙ配列で配置される。使用者が操作したキーに対応する情報（キーデータ）はＣＰＵ１２に入力される。
【００３８】
表示ドライバ１６は、ＣＰＵ１２の指示の下、ディスプレイ１８の表示を制御する。図示は省略するが、表示ドライバ１６は、ディスプレイ１８に表示する画面に対応する表示画像データを一時的に記憶するＶＲＡＭ（Ｖｉｄｅｏ−ＲＡＭ）を有している。ＣＰＵ１２は、表示画像データを、このＶＲＡＭに記憶させる。
【００３９】
タッチパネル２０は、ディスプレイ１８の画面内で、任意の位置を指示するためのポインティングデバイスである。たとえば、この実施例のタッチパネル２０は、指などの物体が表面に接近して生じた電極間の静電容量の変化を検出する静電容量方式のタッチパネルであって、たとえば１本または複数本の指がタッチパネル２０に触れたことを検出可能である。また、タッチパネル２０は、その表面（上面）を指で、押したり、撫でたり、触れたりすると、その指の位置を特定し、操作された位置（タッチ位置）を示す座標のデータ（座標データ）をＣＰＵ１２に出力する。ＣＰＵ１２は、タッチパネル２０からの座標データに基づいて、使用者の指の動きによる操作を特定したり、使用者がタッチした位置に対応してディスプレイ１８に表示される画像などを特定したりする。
【００４０】
以下、この実施例においては、使用者がタッチパネル２０の上面を指で触れる操作を「タッチ」と言うことにする。一方、タッチパネル２０から指を離す操作を「リリース」と言うことにする。また、タッチパネル２０の上面を指で撫でる操作を「スライド」と言うことにする。さらに、タッチパネル２０の上面を指で弾いたり、はらったりする操作を「フリック」と言うことにする。そして、タッチによって示された座標を「タッチ点（タッチ開始位置）」、リリースによって示された座標を「リリース点（タッチ終了位置）」と言うことにする。さらに、使用者がタッチパネル２０の上面をタッチし、続けてリリースする操作を「タッチアンドリリース」と言うことにする。そして、タッチ、リリース、スライド、フリックおよびタッチアンドリリースなどのタッチパネル２０に対して行う操作を、総じて「タッチ操作」と言うことにする。
【００４１】
なお、タッチ操作は指だけに限らず、導電体が先端に取り付けられたタッチペン（スタイラスペン）など、その他の物体によって行われてもよい。また、この実施例では、タッチパネル２０としては、表面型の静電容量方式のタッチパネルを採用してあるが、抵抗膜方式、超音波方式、赤外線方式および電磁誘導方式などの他の方式のタッチパネルを採用してもよい。
【００４２】
ＨＤＤ２２は、この実施例の電子書籍閲覧装置１０の主記憶装置であり、後述する、制御プログラム、電子書籍の情報（電子書籍データ）、文字認識用データ、合成音声データなどを記憶し、必要に応じて、ＲＡＭ２４にロードする。ＲＡＭ２４は、ＣＰＵ１２の作業領域（描画領域を含む）ないしバッファ領域として用いられる。
【００４３】
なお、この実施例では、不揮発性メモリとして、ＨＤＤ２２を用いるようにしてあるが、フラッシュメモリやＥＥＰＲＯＭのような他の不揮発性メモリを用いることも可能である。
【００４４】
Ｄ／Ａ変換器２６は、デジタル音声信号をアナログ音声信号に変換（復号）して、アンプを介してスピーカ２８に与える。したがって、アナログ音声信号に対応する音声ないし音がスピーカ２８から出力される。
【００４５】
たとえば、このような電子書籍閲覧装置１０において、メニュー画面（図示せず）において、キー入力装置１４やタッチパネル２０用いた使用者からの指示によって、所望の電子書籍が選択され、その閲覧の指示が入力されると、図２に示すような閲覧画面１００がディスプレイ１８に表示される。閲覧画面１００では、表示領域１０２に電子書籍の本文（内容）が表示される。詳細な説明は省略するが、閲覧の指示が入力され、電子書籍の本文が表示される当初では、当該本文の先頭から表示される。
【００４６】
なお、図２（図３−図７も同じ）では、簡略化のため、本文の一部のみを日本語で示してある。後述するしおりの一覧についても同様である。
【００４７】
また、閲覧画面１００の右端には、ボタン画像１１０およびボタン画像１１２が設けられ、その間に、スクロールバー１１４が表示される。ボタン画像１１０は、閲覧画面１００を下方向にスクロールさせるためのボタンである。また、ボタン画像１１２は、閲覧画面１００を上方向にスクロールさせるためのボタンである。たとえば、ボタン画像１１０またはボタン画像１１２がタッチされると、閲覧画面１００は下方向または上方向にスクロールされる。
【００４８】
また、閲覧画面１００が下方向または上方向にスクロールされるに従ってスクロールバー１１４が上下に移動される。ただし、スクロールバー１１４をタッチして上下にスライド（ドラッグ）させることにより、閲覧画面１００を下方向または上方向にスクロールさせることもできる。
【００４９】
さらに、ボタン画像１１２の下側に、ボタン画像１１６およびボタン画像１１８が表示される。ボタン画像１１６は、表示領域１０２の縦方向の長さ単位で、閲覧画面１００を下方向にスクロールさせるためのボタンである。また、ボタン画像１１８は、表示領域１０２の縦方向の長さ単位で、閲覧画面１００を上方向にスクロールさせるためのボタンである。たとえば、ボタン画像１１６またはボタン画像１１８が、タッチされると、閲覧画面１００が縦方向の長さ単位で、下方向または上方向にスクロールされる。
【００５０】
なお、ここでは、ボタン画像１１０、１１２、１１６、１１８およびスクロールバー１１４をタッチ操作するようにしてあるが、カーソル（矢印）キー、ページアップキー、または、ページダウンキーを操作するようにしてもよい。
【００５１】
使用者が、電子書籍を閲覧中に、しおり作成（登録）の指示を入力すると、しおりを作成したい場所（位置）を選択可能な状態となる。このとき、使用者が所望の範囲すなわち先頭位置および末尾位置をタッチ（指定）すると、当該範囲がしおりを設定する範囲として選択される。
【００５２】
なお、詳細な説明は省略するが、この実施例では、使用者は、所定の文字数（全角２０文字以内）で範囲を選択可能である。
【００５３】
一方、使用者が所望の範囲を選択しない場合には、チャプターやページの先頭から所定の文字数（この実施例では、全角２０文字）で決定される範囲がしおりを設定する範囲として自動で選択される。ただし、電子書籍の本文に、チャプターやページのような所定の区切りが設定されていない場合には、ディスプレイ１８の表示領域１０２の先頭から所定の文字数（全角２０文字）で決定される範囲がしおりを設定する範囲として自動で選択される。
【００５４】
しおりを設定する範囲が選択されると、図３に示すように、表示領域１０２に表示された本文では、選択された範囲（選択範囲）にマーカ１０２ａが表示（設定）される。ただし、図３では、マーカ１０２ａを四角枠で示してある。以下、マーカ１０２ａが表示される場合について同様である。図示は省略するが、自動で選択される範囲については、当該範囲（文字数）を予め知ることができないため、予め設定された長さのマーカ１０２ａが本文の該当箇所に表示（設定）される。したがって、上述したように、自動で選択範囲の先頭位置が決定（指定）されると、マーカ１０２ａの長さによって末尾位置が決定（指定）される。
【００５５】
なお、この実施例では、選択範囲にマーカ１０２ａを表示するようにしてあるが、選択範囲に含まれる文字列を他の文字とは異なる色で表示したり、色反転して表示したりしてもよい。
【００５６】
また、しおりを設定する範囲が選択されると、当該範囲に表示される（含まれる）文字列が読み込まれる。この実施例では、しおり情報として、選択範囲に含まれる文字列に対応するテキストデータを登録するようにしてあるため、テキストの読み取りエンジンによって、選択範囲の文字列が読み取られる。ただし、自動で選択される範囲については、チャプターやページの先頭から２０文字分の読み取りを実行したり、表示領域１０２ａの先頭から２０文字分の読み取りを実行したりする。また、電子書籍は、日本語以外の言語で記載されている場合もあるため、電子書籍閲覧装置１０に登録されているすべての言語についての読み取りエンジンを用いて、読み取りが実行される。
【００５７】
読み取りに成功すれば、文字列に対応するテキストデータをしおり情報として登録することができる。かかる場合には、選択範囲の位置情報と、当該選択範囲において自動で読み込まれた文字列に対応するテキストデータを含むしおり情報が登録される。
【００５８】
一方、読み取りに失敗すれば、エラーとなり、自動でテキストデータをしおり情報として登録することができない。これは、電子書籍データが、ＰＤＦ形式、ＪＰＥＧ形式、ＢＭＰ形式など、テキスト形式以外の形式で作成されている場合があるからである。
【００５９】
かかる場合には、選択範囲に関する文字列を使用者が入力したり、選択範囲（設定するしおり）についての固有の情報（この実施例では、日時情報）の文字列が自動で入力されたりする。ただし、選択範囲に関する文字列とは、選択範囲に含まれる文字列または当該範囲について使用者が任意に入力した文字列を意味する。
【００６０】
したがって、文字列が使用者によって入力された場合には、選択範囲の位置情報と、使用者によって入力された文字列に対応するテキストデータを含むしおり情報が登録される。また、日時情報の文字列が自動で入力された場合には、選択範囲の位置情報と、日時情報の文字列に対応するテキストデータを含むしおり情報が登録される。
【００６１】
たとえば、選択範囲についての文字列の読み取りに失敗すると、図４に示すように、閲覧画面１００の前面に、使用者が文字列を入力するかどうかを選択するための入力選択画面１５０が表示される。この入力選択画面１５０は、表示領域１５０ａを含み、表示領域１５０ａには、しおりに登録する語句ないし文章（文字列）、すなわち選択範囲に関する文字列を、使用者が入力するかどうかを選択する旨のテキストが表示される。また、表示領域１５０ａの下側には、ボタン画像１５０ｂおよびボタン画像１５０ｃが表示される。ボタン画像１５０ｂは、使用者が文字列を入力することを選択するために設けられる。ボタン画像１５０ｃは、使用者が文字列を入力しないことを選択するために設けられる。
【００６２】
ただし、ボタン画像１５０ｂをタッチすることに代えて、Ｙキーが操作されてもよいし、同様に、ボタン画像１５０ｃをタッチすることに代えて、Ｎキーが操作されてもよい。
【００６３】
入力選択画面１５０でボタン画像１５０ｂがタッチされることにより、使用者が文字列を入力することが選択されると、図５に示すように、入力選択画面１５０に代えて、文字列を入力するための入力画面２００が閲覧画面１００の前面に表示される。この閲覧画面１００には、表示領域２００ａが設けられ、表示領域２００ａには、文字列を、所定の文字数（この実施例では、２０文字）以内で入力する旨がテキストで表示される。また、表示領域２００ａの下側には、表示領域２００ｂが設けられ、表示領域２００ｂには、入力された文字列が表示されるとともに、その下側に、ボタン画像２００ｃおよびボタン画像２００ｄが表示される。ボタン画像２００ｃは、文字列の入力を終了するために設けられる。ボタン画像２００ｄは、文字列の入力をキャンセルするために設けられる。
【００６４】
ただし、ボタン画像２００ｃをタッチすることに代えて、Ｆキーが操作されてもよいし、同様に、ボタン画像２００ｄをタッチすることに代えて、Ｃキーが操作されてもよい。
【００６５】
ボタン画像２００ｃがタッチされることにより、文字列の入力を終了すると、入力された文字列に対応するテキストデータが、しおり情報として登録される。一方、ボタン画像２００ｄがタッチされることにより、文字列の入力をキャンセルすると、図４に示した入力選択画面１５０に戻る。
【００６６】
また、図４に示した入力選択画面１５０において、ボタン画像１５０ｃがタッチされることにより、使用者が文字列を入力しないことが選択されると、日時情報に対応するテキストデータが、しおり情報のテキストデータとして登録される。このとき、ＣＰＵ１２は、ＲＴＣ１２ａから現在時刻（年月日を含む）を取得して、それに対応するテキストデータを登録する。
【００６７】
なお、しおりが登録されると、図２に示したような通常の閲覧画面１００に戻る。ただし、しおりが登録されている箇所は、図３に示したように、マーカ１０２ａでハイライト表示される。
【００６８】
また、この実施例の電子書籍閲覧装置１０では、登録されたしおりを音声で読み上げること（しおりの音声読み上げ）ができる。簡単に説明すると、しおり情報に含まれるテキストデータに対応するテキストが合成音声でスピーカ２８から出力される。たとえば、図２や図３に示したような閲覧画面１００がディスプレイ１８に表示されている場合に、使用者がキー入力装置１４を用いて、しおりの音声読み上げを指示すると、図６に示すように、閲覧画面１００の表示が変化される。
【００６９】
図６に示すように、しおりの音声読み上げを実行する場合には、たとえば、表示領域１０２が縮小されて、閲覧画面１００の右側に表示される。そして、閲覧画面１００の左側には、その中央に、表示領域１０４が設けられる。表示領域１０４の中央であり、その右端部には、ボタン画像２５０が設けられる。また、表示領域１０４の上側には、ボタン画像１２０およびボタン画像１２２が並んで表示される。さらに、表示領域１０４の下側には、操作パネル２５２が表示される。
【００７０】
表示領域１０４には、複数のチェックボックス１０４ａがその左端に表示され、各チェックボックス１０４ａに対応して、登録されたしおりの文字列が表示される。ただし、空白となっている箇所は、しおりが未登録であることを示す。
【００７１】
ボタン画像１２０は、しおりの一覧に代えて目次（図示せず）を表示領域１０４に表示するために設けられる。ボタン画像１２２は、目次に代えてしおりの一覧を表示領域１０４に表示するために設けられる。ボタン画像２５０は、表示領域１０４と閉じるとともに、ボタン画像１２０、１２２および操作パネル２５２を非表示するために設けられる。したがって、このボタン画像２５０がタッチされると、図２または図３に示したような閲覧画面１００に戻る。
【００７２】
操作パネル２５２は、ボタン画像２５２ａ、ボタン画像２５２ｂ、ボタン画像２５２ｃおよびボタン画像２５２ｄを含む。ボタン画像２５２ａは、しおりの音声読み上げを開始するために設けられる。ボタン画像２５２ｂは、しおりの音声読み上げを停止して、読み上げを停止したときの当該しおりについての文字列を含む本文の内容を表示領域１０２に表示するために設けられる。ボタン画像２５２ｃは、１つ前のしおりに戻るために設けられる。そして、ボタン画像２５２ｄは、次のしおりに進むために設けられる。具体的には、しおりを音声で読み上げている場合に、ボタン画像２５２ｃまたはボタン画像２５２ｄがタッチされると、チェックボックス１０４ａのチェックが１つ前または次のしおりに付されるとともに、１つ前または次のしおりを音声で読み上げる。ただし、しおりを音声で読み上げていない場合には、ボタン画像２５２ｃまたはボタン画像２５２ｄがタッチされると、チェックボックス１０４ａのチェックが１つ前または次のしおりに付されるだけである。
【００７３】
たとえば、しおりの音声読み上げの実行が指示されると、電子書籍データの属性情報として、言語情報が記憶されているかどうかを判断する。これは、テキストデータで記憶されているしおりの文字列を、正しい言語の音声変換エンジンを用いて、音声で読み上げるためである。
【００７４】
電子書籍データに関連して言語情報が記憶されている場合には、当該言語情報を抽出して、該当する言語の音声変換エンジンを選択する。該当する言語の音声変換エンジンが電子書籍閲覧装置１０に記憶（登録）されている場合には、ボタン画像２５２ａがタッチされることに応じて、しおりが設定された文字列が順次音声で読み上げられる。具体的には、しおりが設定された文字列のテキストデータが、当該文字列の言語についての合成音声データおよび音声変換エンジンを用いてデジタル音声信号に変換され、さらに、Ｄ／Ａ変換器２６でアナログ音声信号に変換された後に、スピーカ２８から出力される。以下、しおりを音声で読み上げる場合について同様である。
【００７５】
ただし、該当する言語の音声変換エンジンが電子書籍閲覧装置１０に記憶（登録）されていない場合には、音声読み上げできない旨が使用者に報知される。図示は省略するが、しおりを音声で読み上げることができない旨のメッセージが閲覧画面１００の前面に表示されたり、警告音がスピーカ２８（または、図示しない別のスピーカ）から出力されたり、それらの両方が実行されたりする。以下、しおりを音声で読み上げることができない場合について同様である。
【００７６】
また、電子書籍データに関連して言語情報が記憶されていない場合には、図７に示すように、使用者に言語を選択させるための言語選択画面３００が、閲覧画面１００の前面に表示される。言語選択画面３００では、表示領域３０２が表示され、その右側にボタン画像３０４が表示される。さらに、表示領域３０２およびボタン画像３０４の下方に、ボタン画像３０６が表示される。
【００７７】
表示領域３０２には、使用者が選択した言語が表示される。ボタン画像３０４は、言語をプルダウンメニュー（図示せず）で表示するために設けられる。したがって、使用者は、ボタン画像３０４をタッチすることにより、プルダウンメニューを表示して、表示領域３０２に表示される言語を変更することができる。ただし、プルダウンメニューには、言語を自動で選択する（使用者が言語を選択しない）旨の表示（たとえば、「自動選択」）も含まれる。これは、使用者が電子書籍の言語を知らない（認識していない）場合もあるからである。ボタン画像３０６は、使用者が選択した言語を決定するために設けられる。
【００７８】
ただし、ボタン画像３０６をタッチすることに代えて、ＥＮＴＥＲキーが操作されてもよい。また、図示は省略するが、ボタン画像３０６がタッチされ、使用者が選択した言語が決定されると、選択言語画面３００が非表示され、図６に示したような閲覧画面１００に戻る。
【００７９】
言語選択画面３００において、使用者が言語を選択した場合には、上述したように、当該言語の音声変換エンジンが電子書籍閲覧装置１０に登録されているかどうかに応じた処理が実行される。簡単に説明すると、該当する言語の音声変換エンジンが電子書籍閲覧装置１０に登録されている場合には、上述したように、操作パネル２５２に設けられた各ボタン画像２５２ａ−２５２ｄがタッチされた場合の処理が実行される。一方、該当する言語の音声変換エンジンが電子書籍閲覧装置１０に登録されていない場合には、音声読み上げ出来ない旨が報知される。このことは、後述するように、言語の判定に失敗した場合についても同様である。
【００８０】
また、言語選択画面３００において、使用者が言語を選択しない場合には、つまり「自動選択」を決定した場合には、自動的に言語が判定される。具体的には、まず、電子書籍データがテキストデータで作成されているかどうかが判断される。電子書籍データがテキストデータで作成されている場合には、その一部を抽出し、言語を判定する。このとき、複数の言語についての読み取りエンジンを用いて、テキストデータを読み取ることができるかどうかが判断され、読み取ることができた読み取りエンジンについての言語が電子書籍の言語であると判定される。
【００８１】
一方、電子書籍データがテキストデータで作成されていない場合には、当該電子書籍データの一部を抽出して、テキストデータに変換する。たとえば、テキストデータに変換する技術としては、周知のＯＣＲ（Optical Character Reader）の技術を使用することができる。ただし、電子書籍データは、印字等された文字を光学的に読み取ったデータと同等であるため、ＯＣＲが実行される場合には、光学的に読み取る処理は実行されず、予め記憶されたパターン（文字認識用データ）と照合されることにより、文字列が特定され、特定された文字列のテキストデータが出力される。そして、上述したように、複数の言語についての読み取りエンジンを用いて、言語が判定される。
【００８２】
言語の判定に失敗すると、しおりを音声で読み上げることができないことが判断され、音声読み上げ出来ない旨が報知される。一方、言語の判定に成功すると、判定された言語についての音声変換エンジンが電子書籍閲覧装置１０に登録されているかどうかに応じた処理が実行される。
【００８３】
図８は図１に示したＲＡＭ２４のメモリマップ５００の一例を示す図である。図８に示すように、ＲＡＭ２４は、プログラム記憶領域５０２およびデータ記憶領域５０４を含む。プログラム記憶領域５０２は、電子書籍閲覧装置１０の制御プログラムを記憶し、制御プログラムは、画像生成プログラム５０２ａ、画像表示プログラム５０２ｂ、しおり作成プログラム５０２ｃ、しおり読み上げプログラム５０２ｄ、テキスト変換プログラム５０２ｅ、読み取りエンジン５０２ｆおよび音声変換エンジン５０２ｇなどによって構成される。
【００８４】
画像生成プログラム５０２ａは、電子書籍データ５０４ａ、しおりデータ５０４ｄおよびボタン画像データ（図示せず）等を用いて、各種画面（１００、１５０、２００、３００など）についての表示画像データを生成するためのプログラムである。画像表示プログラム５０２ｂは、画像生成プログラム５０２ａに従って生成された表示画像データをディスプレイ１８に出力するためのプログラムである。
【００８５】
しおり作成プログラム５０２ｃは、自動的に、または、使用者の指示に従って、しおり情報を作成するためのプログラムである。しおり読み上げプログラム５０２ｄは、後述する音声変換エンジン５０２ｇおよび合成音声データ５０４ｃを用いて、しおりデータ５０４ｄに含まれるしおりのテキストデータを音声で出力するためのプログラムである。
【００８６】
テキスト変換プログラム５０２ｅは、電子書籍データの一部をテキストデータに変換するためのプログラムである。読み取りエンジン５０２ｆは、テキストデータを読み取るためのプログラムであり、この実施例では、電子書籍データを読み取り可能であるかどうかを判断する。ただし、読み取りエンジン５０２ｆは、複数の言語の各々に対応して設けられる。音声変換エンジン５０２ｇは、合成音声データ５０４ｃを用いて、テキストデータを音声で出力するためのプログラムである。この音声変換エンジン５０２ｇは、複数の言語の各々に対応して設けられる。
【００８７】
なお、図示は省略するが、プログラム記憶領域５０２には、他のプログラムも記憶される。
【００８８】
データ記憶領域５０４には、電子書籍データ５０４ａ、文字認識用データ５０４ｂ、合成音声データ５０４ｃおよびしおりデータ５０４ｄが記憶される。
【００８９】
電子書籍データ５０４ａは、出版物についての所定の形式（フォーマット）の電子データであり、図示しない言語情報などの属性情報が関連して記憶される。電子書籍データ５０４ａは、１の出版物のみならず、複数の出版物を含む場合がある。文字認識用データ５０４ｂは、テキスト変換プログラム５０２ｅで、電子書籍データ５０４ａをテキストデータに変換する際に、文字を認識するためのパターンについてのデータである。
【００９０】
合成音声データ５０４ｃは、テキストデータを音声で出力する際に用いられる音声データであり、言語毎に記憶される。しおりデータ５０４ｄは、しおり情報についてのデータである。上述したように、しおり情報は、少なくとも、しおりを設定する電子書籍の本文中の範囲についての位置情報（アドレス情報）と、しおりを設定する文字列のテキストデータとを含む。
【００９１】
図示は省略するが、データ記憶領域５０４には、ボタン画像などのキャラクタ画像のデータなどの他のデータも記憶される。また、データ記憶領域５０４には、制御プログラムの実行に必要な、カウンタ（タイマ）やフラグなども設けられる。
【００９２】
図９は図１に示したＣＰＵ１２のしおり作成処理を示すフロー図である。使用者がしおり作成の指示を入力すると、図９に示すように、ＣＰＵ１２は、しおり作成処理を開始し、ステップＳ１で、任意の範囲の選択があるかどうかを判断する。つまり、使用者がしおりを設定する範囲（先頭位置および末尾位置）を指定したかどうかを判断する。ステップＳ１で“ＹＥＳ”であれば、つまり任意の範囲が選択されれば、ステップＳ３で、選択範囲の読み込みを行い、ステップＳ７に進む。ステップＳ３では、使用者が指定した先頭位置と末尾位置とで決定される選択範囲に含まれる文字列を読み取りエンジン５０２ｆで読み取ることができるかどうかを判断する。上述したように、読み取ることができない場合には、エラーとなる。後述するステップＳ５においても同様である。一方、ステップＳ１で“ＮＯ”であれば、つまり任意の範囲が選択されなければ、ステップＳ５で、先頭から２０文字を選択範囲として読み込みを行い、ステップＳ７に進む。
【００９３】
なお、詳細な説明は省略するが、使用者がしおりを設定する位置ないし範囲を考えている時間を考慮するため、任意の範囲が選択されたかどうかの判断処理は、所定時間（たとえば、５〜１０秒）実行される。
【００９４】
ステップＳ７では、正しく読み取れたかどうかを判断する。ステップＳ７で“ＹＥＳ”であれば、つまり正しく読み取れれば、ステップＳ９で、しおりデータ５０４ｄに、選択範囲（アドレス情報）および文字列情報を記憶（追加）して、しおり作成処理を終了する。つまり、ステップＳ９では、選択範囲についての位置情報と、当該選択範囲について自動で読み取ったテキスデータとを含むしおり情報が登録される。一方、ステップＳ７で“ＮＯ”であれば、つまり正しく読み取れなければ、ステップＳ１１で、図４に示したような入力選択画面１５０をディスプレイ１８に表示する。
【００９５】
次のステップＳ１３では、自動入力かどうかを判断する。つまり、ボタン画像１５０ｂがタッチされたか、ボタン画像１５０ｃがタッチされたかを判断する。ステップＳ１３で“ＹＥＳ”であれば、つまりボタン画像１５０ｃがタッチされれば、自動入力が選択されたと判断して、ステップＳ１５で、しおりデータ５０４ｄに、選択範囲の位置情報および日時情報を記憶（追加）して、しおり作成処理を終了する。ただし、ＣＰＵ１２は、ステップＳ１５の処理を実行するとき、ＲＴＣ１２ａから日時情報を取得する。また、ステップＳ１５では、選択範囲についての位置情報と、日時情報のテキストデータとを含むしおり情報が登録される。
【００９６】
また、ステップＳ１３で“ＮＯ”であれば、つまりボタン画像１５０ｂがタッチされれば、手動入力が選択されたと判断して、ステップＳ１７で、図５に示したような入力画面２００をディスプレイ１８に表示する。次のステップＳ１９では、キャンセルかどうかを判断する。つまり、ＣＰＵ１２は、ボタン画像２００ｄがタッチされたかどうかを判断する。
【００９７】
ステップＳ１９で“ＹＥＳ”であれば、つまりボタン画像２００ｄがタッチされれば、キャンセルであると判断して、ステップＳ１１に戻る。つまり、入力選択画面１５０に戻る。一方、ステップＳ１９で“ＮＯ”であれば、つまりボタン画像２００ｄがタッチされなければ、ステップＳ２１で、文字列の入力の終了であるかどうかを判断する。
【００９８】
ステップＳ２１で“ＮＯ”であれば、つまり文字列の入力の終了でなければ、そのままステップＳ１９に戻る。したがって、文字列の入力が継続される。図示は省略するが、ステップＳ１９とＳ２１とのループを処理している間に、キー入力装置１４を用いて文字が入力されると、入力された文字が表示領域２００ｂに表示されるのである。
【００９９】
一方、ステップＳ２１で“ＹＥＳ”であれば、つまり文字列の入力の終了であれば、ステップＳ２３で、しおりデータ５０４ｄに、選択範囲（アドレス情報）および文字列情報を記憶（追加）して、しおり作成処理を終了する。つまり、ステップＳ２３では、選択範囲の位置情報と、使用者が手動で入力した文字列に対応するテキストデータと含むしおり情報が登録される。
【０１００】
図１０−図１２は、図１に示したＣＰＵ１２のしおりの音声読み上げ処理を示すフロー図である。使用者がしおりの音声読み上げを指示すると、ＣＰＵ１２は、しおりの音声読み上げ処理を開始し、ステップＳ５１で、言語情報があるかどうかを判断する。つまり、当該電子書籍データに関連して記憶された属性情報に言語情報が記述されているかどうかを判断する。
【０１０１】
ステップＳ５１で“ＹＥＳ”であれば、つまり言語情報が有れば、ステップＳ５３で、言語情報を抽出して、図１１に示すステップＳ７１に進む。一方、ステップＳ５１で“ＮＯ”であれば、つまり言語情報が無ければ、ステップＳ５５で、図７に示したような言語選択画面３００をディスプレイ１８に表示して、ステップＳ５７で、言語の選択が有るかどうかを判断する。つまり、ＣＰＵ１２は、いずれかの言語が選択された状態で、ボタン画像３０６がタッチされたかどうかを判断する。
【０１０２】
ステップＳ５７で“ＹＥＳ”であれば、つまり言語が選択されれば、そのままステップＳ７１に進む。一方、ステップＳ５７で“ＮＯ”であれば、つまり「自動選択」が選択されれば、言語が選択されていないと判断して、ステップＳ５９で、電子書籍データがテキストデータであるかどうかを判断する。ここでは、複数の言語の読み取りエンジン５０２ｆによって読み取り可能であるかどうかを判断する。上述したように、読み取り不能であれば、エラーとなる。
【０１０３】
ステップＳ５９で“ＹＥＳ”であれば、つまり読み取りエンジン５０２ｆで読み取り可能であれば、電子書籍データはテキストデータであると判断して、ステップＳ６１で、テキストデータの一部（たとえば、数行程度）を抽出して、図１１に示すステップＳ６５に進む。一方、ステップＳ５９で“ＮＯ”であれば、つまり読み取りエンジン５０２ｆで読み取り不能であれば、ステップＳ６３で、電子書籍データの一部（たとえば、数行程度に相当する範囲）をテキストデータに変換する処理を実行して、ステップＳ６５に進む。上述したように、ステップＳ６３では、ＯＣＲの技術を用いて、電子書籍データの一部がテキストデータに変換される。このとき、パターン認識のために、文字認識用データ５０４ｂが使用される。
【０１０４】
図１１に示すように、ステップＳ６５では、テキストデータの抽出に成功したかどうかを判断する。ステップＳ６５で“ＮＯ”であれば、テキストデータの抽出に失敗すれば、ステップＳ７５に進む。たとえば、電子書籍データをテキストデータに正しく変換できない場合には、テキストデータを抽出することができない。一方、ステップＳ６５で“ＹＥＳ”であれば、つまりテキストデータの抽出に成功すれば、ステップＳ６７で、言語判定処理を実行し、ステップＳ６９で、言語判定に成功したかどうかを判断する。
【０１０５】
ただし、ステップＳ６７では、ＣＰＵ１２は、複数の言語の読み取りエンジン５０２ｆで読み取りを実行し、正しく読み取ることができた読み取りエンジンについての言語を、抽出したテキストデータすなわち電子書籍データの言語として判定する。一方、複数の言語の読み取りエンジン５０２ｆによって、抽出したテキストデータを読み取ることができなければ、言語判定に失敗したことになる。
【０１０６】
ステップＳ６９で“ＮＯ”であれば、つまり言語判定に失敗すれば、ステップＳ７５に進む。一方、ステップＳ６９で“ＹＥＳ”であれば、つまり言語判定に成功すれば、ステップＳ７１で、音声変換エンジンを選択する。ここでは、ＣＰＵ１２は、電子書籍の言語についての音声変換エンジンを選択する。次のステップ７３では、該当する音声変換エンジンが有るかどうかを判断する。つまり、該当する言語の音声変換エンジンが電子書籍閲覧装置１０（プログラム記憶領域５０２）に登録（記憶）されているかどうかを判断する。
【０１０７】
ステップＳ７３で“ＮＯ”であれば、つまり該当する音声変換エンジンが無ければ、ステップＳ７５で、音声読み上げ不可を使用者に報知する。ここでは、ＣＰＵ１２は、音声読み上げが出来ない旨のメッセージをディスプレイ１８に表示したり、その旨の音（警告音）をスピーカ２８などから出力したり、それらの両方を実行したりする。
【０１０８】
一方、ステップＳ７３で“ＹＥＳ”であれば、つまり該当する音声変換エンジンが有れば、図１２に示すステップＳ７７で、音声読み上げの開始かどうかを判断する。つまり、ＣＰＵ１２は、ボタン画像２５２ａがタッチされたかどうかを判断する。
【０１０９】
ステップＳ７７で“ＮＯ”であれば、つまり音声読み上げの開始でなければ、そのままステップＳ８１に進む。一方、ステップＳ７７で“ＹＥＳ”であれば、つまり音声読み上げの開始であれば、ステップＳ７９で、しおりの音声読み上げを開始する。ここでは、ステップＳ７１で選択された音声変換エンジン５０２ｇを動作させることにより、合成音声データ５０４ｃを用いて、チェックボックス１０４ａにチェックが入っている文字列についてのテキストデータから順に、音声読み上げが実行される。したがって、しおりの文字列に対応する音声がスピーカ２８から出力される。図示は省略したが、電子書籍閲覧装置１０にイヤホンジャックを設ける場合には、イヤホンが接続されたときに、しおりの文字列に対応する音声がそのイヤホンジャックから出力される。ただし、電子書籍閲覧装置１０がＢｌｕｅｔｏｏｔｈ（登録商標）のような無線通信機能を備え、使用者がこの電子書籍閲覧装置１０と無線通信可能なイヤホンを装着している場合には、音声読み上げによる音声データが当該イヤホンに無線通信によって送信される。
【０１１０】
次のステップＳ８１では、停止かどうかを判断する。つまり、ＣＰＵ１２は、ボタン画像２５２ｂがタッチされたかどうかを判断する。ステップＳ８１“ＮＯ”であれば、つまり停止でなければ、そのままステップＳ８７に進む。一方、ステップＳ８１で“ＹＥＳ”であれば、つまり停止であれば、ステップＳ８３で、しおりの音声読み上げを停止し、つまり音声変換エンジン５０２ｇを停止させる。そして、ステップＳ８５で、該当する電子書籍の内容を表示して、ステップＳ８７に進む。ここでは、ＣＰＵ１２は、チェックボックス１０４ａがチェックされたしおり（文字列）に対応するテキストデータとともにしおり情報に含まれる位置情報（アドレス情報）を取得し、当該位置情報を含むページを表示領域１０２に表示したり、当該位置情報を先頭に表示領域１０２に本文を表示したりする。
【０１１１】
ステップＳ８７では、戻りかどうかを判断する。つまり、ＣＰＵ１２は、ボタン画像２５２ｃがタッチされたかどうかを判断する。ステップＳ８７で“ＮＯ”であれば、つまり戻りでなければ、そのままステップＳ９１に進む。一方、ステップＳ８７で“ＹＥＳ”であれば、つまり戻りであれば、ステップＳ８９で、１つ前のしおりに戻って、ステップＳ９１に進む。ステップＳ８９では、手前の（１つ上の）しおりのチェックボックス１０４ａがチェックされ、音声読み上げ中であれば、当該手前のしおりについての文字列ないし日時情報が音声で読み上げられる。ただし、最上段のしおりのチェックボックス１０４ａがチェックされているときに、ボタン画像２５２ｃがタッチされると、最下段のしおりのチェックボックス１０４ａがチェックされたり、読み上げられたりする。
【０１１２】
次のステップＳ９１では、送りかどうかを判断する。つまり、ＣＰＵ１２は、ボタン画像２５２ｄがタッチされたかどうかを判断する。ステップＳ９１で“ＮＯ”であれば、つまり送りでなければ、そのままステップＳ９５に進む。一方、ステップＳ９１で“ＹＥＳ”であれば、つまり送りであれば、ステップＳ９３で、次のしおりに進んで、ステップＳ９５に進む。ステップＳ９３では、次の（１つ下の）しおりのチェックボックス１０４ａがチェックされ、音声読み上げ中であれば、当該次のしおりについての文字列ないし日時情報が音声で読み上げられる。ただし、最下段のしおりのチェックボックス１０４ａがチェックされているときに、ボタン画像２５２ｄがタッチされると、最上段のしおりのチェックボックス１０４ａがチェックされたり、読み上げられたりする。
【０１１３】
そして、ステップＳ９５では、終了かどうかを判断する。つまり、音声読み上げの終了が指示されたかどうかを判断する。ステップＳ９５で“ＮＯ”であれば、つまり終了でなければ、そのままステップＳ７７に戻る。一方、ステップＳ９５で“ＹＥＳ”であれば、つまり終了であれば、しおりの音声読み上げ処理を終了する。
【０１１４】
この実施例によれば、しおりの文字列情報を音声で出力するので、目視により所望のしおりを検索するよりも容易に検索することができる。特に、多数のしおりが登録されている場合には、その効果が顕著に現れる。
【０１１５】
なお、この実施例では、電子書籍を閲覧する装置として、専用の電子書籍閲覧装置を用いた場合について説明したが、これに限定される必要はない。たとえば、ＰＤＡ、携帯電話機、スマートフォン、タブレット型のコンピュータ（ｉＰａｄ、ｉＰｏｄ、Ｗａｌｋｍａｎ（登録商標）などを含む）、ＰＣ（ノート、デスクトップ）、携帯ゲーム機、電子黒板、デジタルフォトフレーム、電子レンジおよび冷蔵庫などを用いることもできる。ただし、電子レンジおよび冷蔵庫は、レシピなどを読む機能が付いていることを前提とする。
【０１１６】
たとえば、携帯電話機やスマートフォンを用いる場合には、音声を出力しないモード（マナーモード）が設定されている場合がある。かかる場合には、しおりの音声読み上げを開始することが判断されたときに、音声読み上げするかどうかを使用者に確認し、使用者が音声読み上げすることを選択した場合に、しおりの音声読み上げを開始するようにすればよい。
【０１１７】
したがって、携帯電話機やスマートフォンを用いる場合には、図１３に示すように、図１０−図１２に示したしおり音声読み上げ処理の一部が変更される。図１３に示すように、ＣＰＵ１２は、ステップＳ７７で“ＹＥＳ”と判断すると、ステップＳ１０１で、マナーモードが設定されているかどうかを判断する。ステップＳ１０１で“ＮＯ”であれば、つまりマナーモードが設定されていなければ、そのままステップＳ７９に進む。
【０１１８】
一方、ステップＳ１０１で“ＹＥＳ”であれば、つまりマナーモードが設定されていれば、ステップＳ１０３で、確認画面をディスプレイ１８に表示する。図示は省略するが、たとえば、確認画面には、マナーモードが設定されているが、しおりを読み上げるかどうかを質問する旨のメッセージが表示されるとともに、しおりを読み上げることを選択するボタン画像およびしおりを読み上げないことを選択するボタン画像が表示される。
【０１１９】
そして、ステップＳ１０５では、しおりを読み上げるかどうかを判断する。ステップＳ１０５で“ＮＯ”であれば、つまりしおりを読み上げないことを選択するボタン画像がタッチされれば、しおりを読み上げないと判断して、そのままステップＳ８１に進む。一方、ステップＳ１０５で“ＹＥＳ”であれば、つまりしおりを読み上げることを選択するボタン画像がタッチされれば、しおりを読み上げると判断して、ステップＳ７９に進む。
【０１２０】
なお、図１３では、ステップＳ１０１−Ｓ１０５の処理を、ステップＳ７７とステップＳ７９との間で実行するようにしたが、これらの処理はステップＳ１の前で実行してもよい。ただし、かかる場合には、ステップＳ１０５で“ＮＯ”であれば、そのまましおり音声読み上げ処理を終了するようにしてもよい。
【０１２１】
また、この実施例では、テキストデータをデジタル音声信号に変換する音声変換エンジンを使用するため、しおり情報に含む文字列情報（日時情報）をテキスト形式にしたが、他のフォーマットのデータをデジタル音声信号に変換する音声変換エンジンを用いる場合には、当該他のフォーマットの文字列情報（日時情報）をしおり情報に含むようにすればよい。
【０１２２】
さらに、この実施例では、ディスプレイ上にタッチパネルを設けるようにしたが、タッチパネルは設けなくてもよいし、コンピュータマウスのような他のポインティングデバイスを用いるようにしてもよい。
【０１２３】
さらにまた、この実施例では、しおりの音声読み上げ処理では、電子書籍の言語情報を抽出し、音声変換エンジンを選択して、しおりを読み上げるため、この実施例で示したようなしおり情報が登録されている電子書籍であれば、しおりを読み上げることが可能である。つまり、しおりデータは、この実施例の電子書籍閲覧装置を用いて作成および登録される必要はない。
【０１２４】
さらに、この実施例では、文字を入力する場合には、キー入力装置のようなハードウェアキーを用いるようにしたが、ソフトウェアキーをディスプレイに表示し、このソフトウェアキーを用いて文字等を入力するようにしてもよい。
【０１２５】
さらにまた、以上の説明で挙げた具体的な文字数や画面は、いずれも単なる一例であり、製品の仕様などの必要に応じて適宜変更可能である。
【０１２６】
また、上述の実施例では、しおり音声読み上げ処理において、該当する音声変換エンジンが無い場合（ステップＳ７３で“ＮＯ”）には、音声読み上げを行わずに、しおり音声読み上げ処理を終了するようにしたが、これに限定される必要はない。他の実施例では、（１）外部の（他の）コンピュータでしおり情報に含まれるテキストデータを合成音声データに変換し、変換された合成音声データを受信して再生するようにしてもよい。（２）また、外部のコンピュータから該当する音声変換エンジンの配信し、配信された音声変換エンジンを動作させることにより、しおりの音声読み上げを実行するようにしてもよい。
【０１２７】
かかる場合には、外部のコンピュータと通信する必要がある。したがって、他の実施例では、図１４に示すように、電子書籍閲覧装置１０には、さらに、他の（外部の）コンピュータとの間で通信するための無線通信モジュール３０が設けられ、ＣＰＵ１２に接続される。また、無線通信モジュール３０には、アンテナ３２が接続される。ただし、有線で外部のコンピュータやネットワークに、通信可能に接続されるようにしてもよい。
【０１２８】
図１５に示すように、システム５０は、サーバ５２を含み、サーバ５２はインターネットやＬＡＮのようなネットワーク５２を介して電子書籍閲覧装置１０に接続される。このサーバ５２が上述した外部のコンピュータに相当する。たとえば、サーバ５２は、汎用のサーバであり、多数の言語についての音声変換エンジンおよび合成音声データを記憶する。たとえば、サーバ５２は、電子書籍閲覧装置１０が備える音声変換エンジンの数よりも多い数の言語についての音声変換エンジンおよび合成音声データを記憶している。
【０１２９】
上記の（１）の場合には、電子書籍閲覧装置１０は、該当する音声変換エンジンが無いと判断すると、電子書籍の言語情報、しおりのテキストデータおよび音声変換要求を、ネットワーク５４を介してサーバ５２に送信する。サーバ５２は、言語情報およびしおりのテキストデータを受信すると、当該しおりのテキストデータを、合成音声データを用いて、当該言語情報が示す言語についての音声変換エンジンを動作させることにより、しおりの合成音声データを生成する。そして、サーバ５２は、生成したしおりの合成音声データを、音声変換要求を送信してきた電子書籍閲覧装置１０に送信する。したがって、電子書籍閲覧装置１０は、しおりの合成音声データを受信し、その後に、音声読み上げの開始が指示されると、当該しおりの合成音声データを再生（出力）する。
【０１３０】
具体的には、図１６に示すように、図１０−図１２に示したしおりの音声読み上げ処理の一部が変更される。ここでは、簡単のため、変更された処理についてのみ説明することにする。図１６に示すように、該当する音声変換エンジンが無い場合には、ステップＳ７３で“ＮＯ”となり、ＣＰＵ１２は、ステップＳ１２１で、サーバ５２に、電子書籍の言語情報、しおりのテキストデータおよび音声変換要求を送信する。続くステップＳ１２３では、しおりの合成音声データを受信したかどうかを判断する。
【０１３１】
ステップＳ１２３で“ＹＥＳ”であれば、つまりしおりの合成音声データを受信すれば、そのままステップＳ７７に進む。ただし、ＣＰＵ１２は、ステップＳ７９で、しおりの読み上げを開始すると、受信したしおりの合成音声データを再生（出力）する。一方、ステップＳ１２３で“ＮＯ”であれば、つまりしおりの合成音声データを受信しなければ、ステップＳ１２５で、エラーかどうかを判断する。たとえば、ＣＰＵ１２は、通信エラーが発生したり、サーバ１２からエラーの通知を受信したりしたかどうかを判断する。このことは、後述する（２）の場合についても同様である。ステップＳ１２５で“ＮＯ”であれば、つまりエラーでなければ、そのままステップＳ１２３に戻る。一方、ステップＳ１２５で“ＹＥＳ”であれば、つまりエラーであれば、ステップＳ７５に進む。
【０１３２】
また、上記の（２）の場合には、電子書籍閲覧装置１０は、該当する音声変換エンジンが無いと判断すると、電子書籍の言語情報および音声変換エンジンの配信要求を、ネットワーク５４を介してサーバ５２に送信する。サーバ５２は、電子書籍の言語情報および音声変換エンジンの配信要求を受信すると、当該言語情報が示す言語についての音声変換エンジンを、当該配信要求を送信してきた電子書籍閲覧装置１０に配信（送信）する。したがって、電子書籍閲覧装置１０は、音声変換エンジンを受信し、その後に、音声読み上げの開始が指示されると、受信した音声変換エンジを動作させて、しおりの音声読み上げを実行する。
【０１３３】
具体的には、図１７に示すように、図１０−図１２に示したしおりの音声読み上げ処理の一部が変更される。ここでは、簡単のため、変更された処理についてのみ説明することにする。図１７に示すように、該当する音声変換エンジンが無い場合には、ステップＳ７３で“ＮＯ”となり、ＣＰＵ１２は、ステップＳ１３１で、サーバ５２に、電子書籍の言語情報および音声変換エンジンの配信要求を送信する。続くステップＳ１３３では、音声変換エンジンを受信したかどうかを判断する。
【０１３４】
ステップＳ１３３で“ＹＥＳ”であれば、つまり音声変換エンジンを受信すれば、ステップＳ７７に進む。したがって、ＣＰＵ１２は、ステップＳ７９で、しおりの読み上げを開始すると、受信した音声変換エンジンを動作させる。一方、ステップＳ１３３で“ＮＯ”であれば、つまり音声変換エンジンを受信しなければ、ステップＳ１３５で、エラーかどうかを判断する。ステップＳ１３５で“ＮＯ”であれば、そのままステップＳ１３３に戻る。一方、ステップＳ１３５で“ＹＥＳ”であれば、ステップＳ７５に進む。
【０１３５】
なお、通信機能を備える携帯電話機やスマートフォンを用いる場合には、さらに、図１３に示したような処理を実行することも可能である。
【０１３６】
また、他の実施例では、該当する音声変換エンジンが無い場合に、外部のコンピュータ（サーバ５２）でしおりのテキストデータを合成音声データに変換したり、サーバ５２から音声変換エンジンをダウロードしたりするようにしたが、言語判定に失敗した場合（ステップＳ６９）には、さらに、サーバ５２で、言語判定を実行するようにしてもよい。かかる場合には、電子書籍から抽出したテキストデータおよび言語判定要求がサーバ５２に送信される。サーバ５２は、電子書籍閲覧装置１０と同様の言語判定処理を実行し、言語を判定する。詳細な説明は省略するが、サーバ５２は、電子書籍閲覧装置１０が備える読み取りエンジンの数よりも多い数の言語についての読み取りエンジンを備えている。そして、判定結果を、言語判定要求のあった電子書籍閲覧装置１０に通知する。
【０１３７】
さらに、図１６および図１７の説明では省略したが、サーバ５２でしおりのテキストデータを合成音声データに変換することができない場合や、サーバ５２から音声変換エンジンを配信できない場合に、サーバ５２は電子書籍閲覧装置１０にエラーを通知する。
【符号の説明】
【０１３８】
１０  …電子書籍閲覧装置
１２  …コンピュータ
１４  …キー入力装置
１６  …表示ドライバ
１８  …ディスプレイ
２０  …タッチパネル
２２  …ＨＤＤ
２４  …ＲＡＭ
２８  …スピーカ
５０  …システム
５２  …サーバ
５４  …ネットワーク
【図１】
0005660966.tif 000002
【図２】
0005660966.tif 000003
【図３】
0005660966.tif 000004
【図４】
0005660966.tif 000005
【図５】
0005660966.tif 000006
【図６】
0005660966.tif 000007
【図７】
0005660966.tif 000008
【図８】
0005660966.tif 000009
【図９】
0005660966.tif 000010
【図１０】
0005660966.tif 000011
【図１１】
0005660966.tif 000012
【図１２】
0005660966.tif 000013
【図１３】
0005660966.tif 000014
【図１４】
0005660966.tif 000015
【図１５】
0005660966.tif 000016
【図１６】
0005660966.tif 000017
【図１７】
0005660966.tif 000018