説明

表示装置、表示装置方法、および、表示プログラム

【課題】ユーザが文中に含まれている擬声語を読む時刻に合わせて、擬声語に対応する音声を再生する時刻を簡便に調整する。
【解決手段】表示装置は、検出部、抽出部、設定部、表示デバイス、および、再生デバイスを備える。検出部は、文字列の表示を指示する表示指示を検出する。抽出部は、取得した取得文字列から、擬声語を表す擬声語文字列を抽出する。設定部は、擬声語文字列と、取得文字列のうちの擬声語文字列ではない文字列が互いに異なる表示領域に分類されるように表示領域を設定する。表示デバイスは、取得文字列の先頭を含む表示領域が画面に表示されているときに表示指示が検出されると、画面に表示されている表示領域中の文字列の続きを含む表示領域の表示を開始する。再生デバイスは、擬声語文字列を含む表示領域の表示が開始されるときに、擬声語文字列に対応付けられた前記音声ファイルを再生する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声の再生が可能な表示装置と、その表示装置で実現される表示方法に関する。
【背景技術】
【0002】
近年、電子書籍や電子書籍端末が普及してきている。電子書籍の多くは、文字情報の電子ファイルと画像ファイルを含むコンテンツであるが、音声情報も含むものもある。例えば、書籍の読み上げを行う電子書籍装置も知られており、中には、ユーザが希望するキャラクターに対応する音声で書籍データが読上げられる装置も考案されている。
【0003】
コンテンツ中に音声情報を含む電子書籍には、文字情報の一部だけに対応する効果音や改ページなどのイベントに対応付けられた音声などを含むものもある。このような電子書籍を表示する場合、電子書籍端末は、音声情報で指定されている効果音などを指定されたタイミングで再生する。例えば、電子書籍の改ページを行う際に書籍の内容と意味的に一致した音声の再生を行うための音声出力制御装置が考案されている。ある装置では、ユーザから改ページの指示があったときに、効果音情報と発音条件を用いて、そのページへの移動が発音を行うための条件を満たしているかの判断が行われ、発音の条件を満たしている場合に音声が再生される。
【0004】
また、電子書籍によるコミック出版物には、コミック原画をスキャナで読み込んで得られた画像データと、吹き出し部分の台詞や擬態語などの音声データを、同時再生できる方式で記録したものもある。さらに、ユーザが見ている位置(視線位置)を検出して、視線位置が予め決められたイベント発生位置になったときにイベントを発生させる電子書籍表示装置も考案されている。また、視線位置は、表示されているコンテンツのパーツ単位で検出される場合もある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−122554号公報
【特許文献2】特開平10−11468号公報
【特許文献3】特開平9−161453号公報
【特許文献4】特開平7−93368号公報
【特許文献5】特開2006−349845号公報
【特許文献6】特開2006−107048号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ユーザが読んでいる単語を特定するために視線位置を検出する場合、電子書籍端末に視線位置を検出する装置を搭載することにより、電子書籍端末の大きさが大きくなってしまうという問題や、コストが高くなるという問題がある。しかし、視線位置の検出を行わない場合、ユーザが文中に含まれている擬声語を読む時刻に合わせて、擬声語に対応する音声を再生する時刻を調整することは困難である。
【0007】
例えば、改ページを行った時刻からユーザが擬態語を読む時刻までの時間は、擬声語が表示されている位置によって異なる。また、改ページした時刻からユーザが擬声語を読む時刻までの時間のユーザ間でのばらつきは、1度に表示される文章の量が多くなるほど大きくなる。そのため、コミックのように1コマずつ表示できる書籍に比べて、小説などの文章量の多い書籍では音声を再生するタイミングの調整が難しい。以上の記載では電子書籍端末を例として述べたが、電子書籍端末以外の電子書籍を表示することができる表示装置でも、同様の問題がある。
【0008】
本発明は、ユーザが文中に含まれている擬声語を読む時刻に合わせて、擬声語に対応する音声を再生する時刻を簡便に調整する方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
ある実施形態にかかる表示装置は、検出部、抽出部、設定部、表示デバイス、および、再生デバイスを備える。検出部は、文字列の表示を指示する表示指示を検出する。抽出部は、取得した取得文字列から、擬声語を表す擬声語文字列を抽出する。設定部は、前記擬声語文字列と、前記取得文字列のうちの前記擬声語文字列ではない文字列が互いに異なる表示領域に分類されるように表示領域を設定する。表示デバイスは、前記取得文字列の先頭を含む表示領域が画面に表示されているときに前記表示指示が検出されると、前記画面に表示されている表示領域中の文字列の続きを含む表示領域の表示を開始する。再生デバイスは、前記擬声語文字列を含む表示領域の表示が開始されるときに、前記擬声語文字列に対応付けられた前記音声ファイルを再生する。
【発明の効果】
【0010】
ユーザが文中に含まれている擬声語を読む時刻に合わせて、擬声語に対応する音声が再生される。
【図面の簡単な説明】
【0011】
【図1】表示装置での表示と音声の再生の例を示す図である。
【図2】第1の実施形態に係る表示装置の構成の例を示す図である。
【図3】擬声語テーブルの例を示す図である。
【図4】ファイルIDテーブルの例を示す図である。
【図5】効果音テーブルの例を示す図である。
【図6】第1の実施形態に係る表示装置のハードウェア構成の例を示す図である。
【図7】表示装置で行われる動作の例を説明するフローチャートである。
【図8】表示位置決定部によって生成される管理データの例を示す図である。
【図9】表示再生制御部が保持するデータの例を示すテーブルである。
【図10】要素の位置と大きさの例を示す図である。
【図11】抽出部の動作の例を説明するフローチャートである。
【図12】要素の位置と大きさの例を示す図である。
【図13】クリップ領域の例とクリップ領域テーブルの例を示す図である。
【図14】表示装置での表示の例を示す図である。
【図15】設定部と表示位置決定部の動作の例を説明するフローチャートを示す。
【図16】先頭文字テーブルの例を示す図である。
【図17】効果音決定部の動作の例を説明するフローチャートである。
【図18】表示装置の構成の例を示す図である。
【図19】属性情報を含む管理データの例を示す図である。
【図20】レンダリング処理部で行われる処理の例を説明するフローチャートである。
【図21】表示再生制御部が備えるテーブルの例を示す図である。
【発明を実施するための形態】
【0012】
図1は、ある実施形態に係る表示装置での表示と音声の再生の例を示す。表示装置は、ユーザから表示するページの変更の要求を受けると、表示中のページの次に表示されるページに含まれるコンテンツを読み込む。例えば、次に表示されるページを印刷した場合、図1(a)に示すようになるとする。
【0013】
次に、表示装置は、読み込んだコンテンツに含まれている文字列を解析して、文字列に擬声語が含まれているかを確認する。以下の説明では、擬音語、擬態語、音喩、オノマトペ等として認識される単語を「擬声語」と記載する。図1(a)の例では「ちゅどーん」という文字列が擬声語に該当する。読み込んだコンテンツに含まれる文字列から擬声語が検出されると、表示装置は、擬声語を表す文字列(擬声語文字列)を、読み込まれた他の文字列と異なる表示領域に分類する。例えば、読み込まれた文字列の途中に擬声語が含まれている場合、表示装置は、文字列の先頭から擬声語文字列の前までを第1の表示領域に設定し、擬声語文字列を第2の表示領域に設定する。表示装置は、図1(b)に示すように、第1の表示領域を画面に表示する。さらに、表示装置は、第2の表示領域に設定された擬声語文字列に対応付けられた音声ファイルを取得する。
【0014】
ユーザは、第1の表示領域に含まれている文字列を読み終わると、続きの文字列を読むために、表示装置に続きの文字列の表示を指示する。すると、表示装置は、図1(c)に示すように第2の表示領域を画面に表示すると共に、第2の表示領域に対応付けられた音声ファイルを再生デバイスで再生する。その後さらにユーザから続きの文字列の表示が要求された場合、図1(d)に示すように、表示装置は、擬声語文字列より後の文字列を画面に表示する。
【0015】
このように、実施形態にかかる表示装置は、擬声語文字列をコンテンツに含まれる文字列から検出し、擬声語文字列を画面に表示する際に、表示する擬声語文字列に対応付けられた音声ファイルを再生する。このため、図1(c)に示すように擬声語文字列が画面に表示されたときに擬声語文字列に対応付けられた音声が再生される。従って、実施形態に係る表示装置は、ユーザが擬声語文字列を読み始めたときにユーザが読んでいる擬声語に対応する音声を再生できる。
【0016】
<第1の実施形態>
図2は、第1の実施形態に係る表示装置10の構成の例を示す。表示装置10は、ユーザ操作検出部11、表示再生制御部12、コンテンツ読み込み部13、抽出部14、効果音決定部15、レンダリング処理部16、音声取得部17、リフロー処理部20、入力デバイス31、表示デバイス32、再生デバイス33を備える。リフロー処理部20は、設定部21と表示位置決定部22を有する。さらに、表示装置10は、電子書籍コンテンツ41、擬声語辞書データ42、効果音辞書データ43、音声データ44などのデータを使用する。
【0017】
ユーザ操作検出部11は、ユーザが入力デバイス31を介して行ったキー入力などによる操作イベントを検出する。表示再生制御部12は、ユーザ操作検出部11で検出されたイベントに応じて、表示デバイス32の画面に表示されている文字列の続きの文字列の表示をリフロー処理部20やレンダリング処理部16に指示する。さらに、表示再生制御部12は、次に表示される文字列が擬声語文字列であるかを判定する。判定方法については後述する。表示再生制御部12は、擬声語文字列が表示対象である場合、擬声語文字列に対応付けられた音声ファイルを識別する識別情報を音声取得部17に通知する。さらに、表示中のページの最後までが画面に表示されたかに基づいて、表示再生制御部12は、新たなコンテンツの読み込みを行うかも判断し、判断した結果をコンテンツ読み込み部13に通知する。ここで、表示再生制御部12は、擬声語文字列が表示されるタイミングと、擬声語文字列に対応付けられた音声ファイルの再生のタイミングの関係を最適化できるように、音声取得部17へ識別情報を通知する時刻を調整することもできる。例えば、音声ファイルの取得に時間がかかる場合、表示再生制御部12は、リフロー処理部20やレンダリング処理部16への指示に先立って、音声取得部17への識別情報の出力を行うことができる。
【0018】
コンテンツ読み込み部13は、表示再生制御部12からの通知に応じて、電子書籍コンテンツ41に含まれている文字列や画像を読み込む。例えば、コンテンツ読み込み部13は、1ページ分に相当するコンテンツデータを電子書籍コンテンツ41から読み出すことができるものとする。1ページ分に相当するコンテンツデータは、例えば、コンテンツの読み込みが要求される前に画面に表示されていた文字列の後から、ページ区切りを示す情報に関連付けられた文字列までのデータとすることができる。コンテンツ読み込み部13は、読み込んだコンテンツデータを表示位置決定部22に出力する。なお、コンテンツ読み込み部13が読み込んだコンテンツデータが1ページ分に足りない旨が表示位置決定部22から通知された場合、コンテンツ読み込み部13は、さらにデータを電子書籍コンテンツ41から取得する。
【0019】
表示位置決定部22は、コンテンツに含まれる要素の配置を決定する。まず、表示位置決定部22は、コンテンツ読み込み部13から入力されたコンテンツを要素へ分割する。ここで、要素は文字列と画像などの文字列以外のデータなどが別の要素として認識されるような任意の方法により分割されるものとする。また、例えば、文字列に含まれる要素は単語単位や文章単位に分割される場合がある。表示位置決定部22は、個々の要素の大きさを算出し、個々の要素について画像上での表示位置を確定する。例えば、同じ文字情報であっても、フォントサイズ、段組、コンテンツが縦書きと横書きのいずれであるかなどによって表示位置が異なる可能性がある。そこで、表示位置決定部22は、個々の要素について適用される書式に基づいて、表示位置を決定し、得られた結果をレンダリング処理部16に通知する。また、表示位置決定部22は、文字列に分類された要素を抽出部14に出力する。
【0020】
抽出部14は、擬声語辞書データ42を参照して、表示位置決定部22から入力された文字列から擬声語を抽出する。擬声語辞書データ42は、例えば、擬声語テーブル51を含む。図3に擬声語テーブル51の例を示す。抽出部14は、文字列を単語単位に区切って、擬声語テーブル51に記録されている単語のいずれかと一致するかを確認する。抽出部14は、擬声語テーブル51と一致した単語を擬声語と判断し、効果音決定部15に出力する。さらに、抽出部14は、抽出した擬声語文字列を設定部21に通知する。
【0021】
効果音決定部15は、効果音辞書データ43を参照して擬声語文字列に対応付けられた音声ファイルを識別する識別情報を取得する。ここでは、効果音辞書データ43は、効果音テーブル52とファイルIDテーブル53を含むものとする。ファイルIDテーブル53の例を図4、効果音テーブル52の例を図5に示す。識別情報は、例えば、擬声語文字列に対応付けられた音声ファイルのファイル名など、音声ファイルを一意に識別できる任意の識別子とすることができる。以下の説明では、識別情報は音声ファイルのファイル名であるものとする。効果音決定部15は、抽出部14から通知された擬声語をキーとしてファイルIDテーブル53を検索し、擬声語文字列に対応するファイルIDを取得する。次に、効果音決定部15は、ファイルIDをキーとして、効果音テーブル52を検索し、ファイルIDに対応付けられた音声ファイル名を取得する。効果音決定部15は、音声ファイル名を擬声語文字列に対応付けて表示再生制御部12に通知する。
【0022】
設定部21は、抽出部14から擬声語文字列が通知されると、擬声語文字列が開始する位置と、擬声語文字列が終了する位置を境界として、表示領域を設定する。このため、設定部21は、擬声語文字列と擬声語以外の文字列とを、それぞれ異なる表示領域に設定することができる。例えば、図1(a)に示すように文中に1つの擬声語文字列が含まれている場合、次のように表示領域を分類する。
第1の表示領域 :ページの先頭から擬声語文字列の前まで
第2の表示領域 :擬声語文字列
第3の表示領域 :擬声語文字列が終了した位置からページの最後まで
また、設定部21は、擬声語の有無、個数、擬声語の表示位置などの情報を表示再生制御部12に通知する。設定部21の動作については後で詳しく説明する。
【0023】
レンダリング処理部16は、表示位置決定部22で決定された表示位置に従って、文字列や画像などの要素を配置した描画ファイルを作成する。このとき、描画ファイルに含まれる領域(クリップ領域)は、表示再生制御部12などからの指示に従って決定する。レンダリング処理部16は、描画ファイルを表示デバイス32に出力する。表示デバイス32は、描画ファイルを表示する。
【0024】
音声取得部17は、表示再生制御部12から音声ファイルのファイル名を通知されると、通知された音声ファイルを音声データ44から取得する。さらに、音声取得部17は、取得した音声ファイルを再生デバイス33に出力する。再生デバイス33は、音声取得部17から入力された音声ファイルを再生する。
【0025】
図6は、第1の実施形態に係る表示装置10のハードウェア構成の例を示す。表示装置10は、Central Processing Unit(CPU)61、メモリ62、入力装置63、出力装置64、バス65、外部記憶装置66、媒体駆動装置67、ネットワーク接続装置69を備える。CPU61は、プログラムを実行することにより、ユーザ操作検出部11、表示再生制御部12、コンテンツ読み込み部13、抽出部14、効果音決定部15、レンダリング処理部16、音声取得部17、リフロー処理部20として動作する。メモリ42は、電子書籍コンテンツ41、擬声語辞書データ42、効果音辞書データ43、音声データ44の一部、もしくは、全部を格納する。また、表示装置10は、電子書籍コンテンツ41、擬声語辞書データ42、効果音辞書データ43、音声データ44などのデータを、ネットワーク70もしくは可搬記憶媒体68から取得することもできる。入力装置63は、入力デバイス31として動作する。入力デバイス31は、例えば、ボタン、キーボードやマウスなどであり、ユーザは、入力デバイス31を用いて表示装置10に改ページの指示などを入力できる。出力装置64は、表示デバイス32、再生デバイス33として動作する。表示デバイス32は、ディスプレイなど、文字や図を表示するための画面を備えた任意の装置として実現される。再生デバイス33は、スピーカなど、音声データ44を再生することができる任意の装置として実現される。バス65は、CPU61、メモリ62、入力装置63、出力装置64、外部記憶装置66、媒体駆動装置67、ネットワーク接続装置69の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置66は、プログラムやデータなどを格納し、適宜、CPU61などに格納している情報を提供する。媒体駆動装置67は、メモリ62や外部記憶装置66のデータを可搬記憶媒体68に出力することができ、また、可搬記憶媒体68からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体68は、フロッピイディスク、Magneto-Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disk Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
【0026】
図7は、表示装置10で行われる動作の例を説明するフローチャートである。以下、図7を参照しながら、図1(a)に示すコンテンツが読み込まれたときに行われる処理を例として説明する。ここで、以下の説明では、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを用いるものとする。
【0027】
「未表示データフラグ」は、コンテンツ読み込み部13によって読み込まれた要素の中で表示デバイス32に表示されていない要素があるかを表す。未表示データフラグが1の場合は、読み込まれたコンテンツの中で、まだ表示デバイス32に表示されていない要素があることを示すものとする。一方、未表示データフラグが0である場合、読み込まれたが表示デバイス32に表示されていない要素は残っていないことを示す。
【0028】
「擬声語表示前フラグ」は、表示デバイス32に次に表示される要素が擬声語文字列であるかを判定するために用いられる。次に表示される要素が擬声語文字列である場合、擬声語表示前フラグは1に設定されているものとする。一方、次に表示される要素が擬声語文字列ではない場合、擬声語表示前フラグは0に設定されている。
【0029】
表示装置10が起動されると、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを0に設定する(ステップS1)。表示装置10は、入力デバイス31を介してユーザから改ページ指示が入力されるまで待機する(ステップS2)。ユーザ操作検出部11は、ユーザから改ページ指示があったことを検出すると、改ページ指示を検出したことを表示再生制御部12に通知する(ステップS2でYes)。
【0030】
表示再生制御部12は、未表示データフラグの値を確認することにより、コンテンツ読み込み部13に電子書籍コンテンツ41の読み込みを要求するかを決定する(ステップS3)。表示装置10が起動された後でコンテンツの表示が開始されていない場合、未表示データフラグは0のままである。そこで、表示再生制御部12は、コンテンツ読み込み部13に電子書籍コンテンツ41の読み込みを要求する(ステップS3でNo)。表示再生制御部12から要求を受けると、コンテンツ読み込み部13は電子書籍コンテンツ41を読み込む(ステップS4)。例えば、コンテンツ読み込み部13は、図1(a)に示すデータを電子書籍コンテンツ41から読み込む。
【0031】
コンテンツ読み込み部13は、読み込んだデータを表示位置決定部22に出力する。表示位置決定部22は、受け取ったデータを要素ごとに分割する。例えば、読み込まれたデータには、文字列の他に、挿絵を表す画像データ、ページ数を示すフッタ、ヘッダに表示されるロゴなどが含まれる場合がある。表示位置決定部22は、これらのデータを異なる要素に分割する。さらに、表示位置決定部22は、個々の要素を識別する識別子(エレメントID、element identifier)を要素ごとに割り振る。ここで、エレメントIDは、ページの先頭に近い文字列ほど小さな値になるように割り振られるものとする。ここで、表示位置決定部22は、要素ごとに、その要素の種類や大きさ、ディスプレイ上の表示位置などを、管理データとして記憶できるものとする。
【0032】
図8に管理データの例を示す。図8の例では、エレメントID、エレメントタイプ、表示位置、画面上で表示される大きさ、および、表示されるデータが1つの管理データに含まれている。ここで、エレメントタイプは、要素が文字、画像、その他のデータのいずれの形式であるのかを示す。表示位置は、画面での要素の表示位置をxy座標で表す。ここでは、まだ表示位置が決定されていないため、管理データには表示位置の情報がまだ含まれていない。表示位置の決定については後述する。表示位置決定部22は、個々の要素に含まれている文字数、文字に指定されているフォント情報、画像ファイルの解像度などに応じて、個々の要素を表示したときの大きさを決定する。表示位置決定部22は、要素が表示される領域の大きさを特定できる情報を、管理データ中のsizeに記録する。図8は、要素を表示したときの形状が長方形であり、表示領域の横幅(w)と高さ(h)の組み合わせとして要素の大きさを記録する場合の例を示している。表示位置決定部22は、個々の要素のエレメントIDと大きさに応じて、改行位置、1ページに表示される要素などを決定する(ステップS5)。このとき、適宜、予めユーザにより設定された一行あたりの文字数や1回に表示できる行数の最大値などの設定条件も用いられる。
【0033】
次に、表示位置決定部22は、エレメントタイプが文字列である要素の管理データを、抽出部14に出力する。抽出部14は、表示位置決定部22から入力された要素と擬声語テーブル51に含まれている擬声語を比較して、その要素が擬声語文字列であるかを確認する(ステップS6)。抽出部14の処理については後で詳しく述べる。
【0034】
ステップS6で擬声語が抽出された場合、抽出部14は、擬声語であると判断された文字列に対応付けられているエレメントIDを設定部21に通知する。さらに、抽出部14は、擬声語であると判断した文字列を、その文字列に対応付けられたエレメントIDと対応付けて効果音決定部15に出力する(ステップS7)。例えば、図1(a)に示すデータが読み込まれた場合、「ちゅどーん」という文字列が、抽出部14で擬声語として抽出されたとする。また、例えば、図1(a)に示す文字列がエレメントID=1〜20の要素に分けられており、「ちゅどーん」という文字列のエレメントIDは16であるとする。すると、抽出部14は、「ちゅどーん」という文字列を、エレメントID=16に対応付けて効果音決定部15に出力する。また、抽出部14は、エレメントID=16が擬声語文字列であることを設定部21に通知する。
【0035】
効果音決定部15は、抽出部14から入力された文字列をキーとしてファイルIDテーブル53を検索し、文字列に対応付けられたファイルIDを取得する。次に、効果音決定部15は、得られたファイルIDに対応するファイル名を、効果音テーブル52を用いて取得する(ステップS8)。さらに、効果音決定部15は、得られたファイル名をエレメントIDに対応付けて表示再生制御部12に出力する。
【0036】
例えば、効果音決定部15は、「ちゅどーん」という文字列をキーとしてファイルIDテーブル53(図4)を検索した結果、ファイルID=2を取得する。そこで、効果音決定部15は、効果音テーブル52(図5)を参照して、ファイルIDが2である音声ファイルの名称が「tyudon.wav」であることを特定する。その後、効果音決定部15は、エレメントID=16に対応付けて、「tyudon.wav」というファイル名を表示再生制御部12に通知する。
【0037】
一方、設定部21は、表示領域を設定するために、ステップS4で読み込まれた文字列に割り振られているエレメントIDを、表示位置決定部22から取得する。設定部21は、擬声語文字列に割り振られたエレメントIDを表示位置決定部22から取得したエレメントIDと比較し、擬声語を表す文字列のエレメントIDよりも小さいエレメントIDが読み込まれているかを判定する。この処理により、設定部21は、擬声語文字列が表示されるページの最初に来ているかを判定する(ステップS9)。
【0038】
例えば、表示位置決定部22から取得したエレメントIDの中に擬声語文字列のエレメントIDよりも小さいエレメントIDがある場合、擬声語文字列はページの最初ではない。そこで、設定部21は、エレメントタイプが文字列に設定されている要素のうちで抽出部14から通知されたエレメントIDよりも小さなエレメントIDが割り振られている要素を、第1の表示領域に設定する。また、抽出部14から通知されたエレメントIDのうちで最も小さい値に対応する文字列を、第2の表示領域とする。第2の表示領域以降も同様に、設定部21は、擬声語文字列と擬声語文字列を含まない文字列が別の表示領域に分類されるように表示領域を設定する。例えば、図1(a)に示すデータについて、エレメントID=16の要素が擬声語文字列として抽出されている。そこで、設定部21は、エレメントID=1〜15の文字列を第1の表示領域、エレメントID=16の文字列を第2の表示領域、エレメントID=17〜20の文字列を第3の表示領域とする。
【0039】
設定部21は、設定した表示領域を表示再生制御部12と表示位置決定部22に通知する。さらに、設定部21は、抽出された擬声語文字列の数と、擬声語文字列のエレメントIDも表示再生制御部12に通知する。従って、図1(a)について処理が行われた場合、ステップS8とS9の処理により、表示再生制御部12は、図9(a)に示すようなデータを保持する。
【0040】
設定部21で表示領域が設定されると、表示位置決定部22は、第1の表示領域に含まれている各要素について表示位置を決定する。このとき、表示位置決定部22は、エレメントID、各要素の大きさ、およびディスプレイの大きさ、改行位置などの情報を用いる。例えば、図10に示すように、表示デバイス32に備えられた画面の右上隅を原点としたxy座標を用いて個々の要素の表示位置が決定される。図10の例では、エレメントIDが最も小さいID=1の要素が原点から最も近い位置に表示されるように表示位置が決定される。さらに、その他の要素はエレメントIDが小さい順にy軸に沿って改行位置まで配置される。ここでは、エレメントID=5の後に改行位置が設定されているものとする。改行位置にくると、表示位置決定部22は1行目の表示位置と重ならないように、エレメントID=6から次の改行位置までに含まれる要素が配置される。すると、表示位置決定部22は、エレメントID=1〜15の各要素について、要素の表示領域の右上隅の座標を取得し、管理データに記録する。
【0041】
次に、表示位置決定部22は、第1の表示領域に指定された要素の管理データをレンダリング処理部16に出力する。レンダリング処理部16は、表示位置決定部22から取得した管理データを用いて、第1の表示領域に分類された要素を表示する表示データを生成する。ここで、表示データは、例えば、ビットマップ形式のような画像データとして生成される。次に、レンダリング処理部16が表示データを表示デバイス32に出力すると、最初の擬声語の直前までの文字列が表示デバイス32に表示される(ステップS10)。例えば、エレメントID=1〜15を含む表示データが表示デバイス32に出力されることにより、図1(b)に示すように、第1の表示領域が表示される。
【0042】
さらに、レンダリング処理部16は、表示デバイス32に表示データを出力したことを表示再生制御部12に通知する。表示再生制御部12は、通知を受けると、第1の表示領域が表示されたと認識する。すると、次に擬声語を表す文字列を表示することになるため、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを1に設定する(ステップS11)。このとき、表示再生制御部12は、図9(b)に示すようなテーブルを用いて未表示データフラグと擬声語表示前フラグを設定することができる。例えば、第1の表示領域が表示されたことが通知されると、表示再生制御部12は、図9(a)を図9(b)に変更することにより、第1の表示領域が表示済みであることを記憶する。すると、次に表示される第2の表示領域は擬声語文字列であるため、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを1に設定する。
【0043】
一方、文字列に擬声語が含まれていないと判定された場合、抽出部14は、擬声語が含まれていないことを設定部21に通知する(ステップS7で「なし」)。すると、設定部21は、読み込まれた文字列に擬声語が含まれていないことを表示再生制御部12に通知する。さらに、設定部21は表示位置決定部22から通知された全ての文字列を第1の表示領域に設定し、設定した結果を表示位置決定部22に通知する。また、表示位置決定部22は、第1の表示領域に含まれている各要素の表示位置を決定し、管理データをレンダリング処理部16に出力する。
【0044】
レンダリング処理部16は、表示位置決定部22から入力された情報に基づいて、表示位置決定部22から通知された文字列の全てを含む表示データを生成して表示デバイス32に出力する(ステップS12)。さらに、レンダリング処理部16は、表示デバイス32に表示データを出力したことを表示再生制御部12に通知する。表示再生制御部12は、設定部21から擬声語が検出されなかったことを通知されているので、コンテンツ読み込み部13が読み込んだ要素の全てが表示デバイス32に表示されたと判断する。そこで、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを0に設定する(ステップS13)。
【0045】
次に、2回目以降の改ページ指示が検出された場合に表示装置10で行われる動作の例について説明する。ステップS11もしくはステップS13の処理が行われた後にユーザから改ページ指示があったとする(ステップS2)。すると、表示再生制御部12は、未表示データフラグの値を確認する(ステップS3)。未表示データフラグが0の場合は、ステップS4〜S13の処理が行われる。
【0046】
一方、改ページ指示が検出されたときに、未表示データフラグが1である場合、表示再生制御部12は、まだ表示されていないが読み込み済みのデータがあると判断する(ステップS3でYes)。そこで、表示再生制御部12は擬声語表示前フラグの値を確認する(ステップS14)。
【0047】
擬声語表示前フラグの値が1である場合、表示再生制御部12は、次の表示領域を表示することを表示位置決定部22に通知する。すると、表示位置決定部22は、擬声語文字列の表示位置を決定し、表示対象の擬声語文字列についての管理データをレンダリング処理部16に出力する。レンダリング処理部16は、管理データに基づいて表示データを生成する。表示再生制御部12は、さらに、表示される擬声語文字列に対応する音声ファイルのファイル名を、音声取得部17に通知する。すると、音声取得部17は、擬声語文字列に対応付けられた音声ファイルを音声データ44から取得する。音声取得部17は、表示データが表示デバイス32の画面に表示される時刻に合わせて、音声ファイルを再生デバイス33で再生させる(ステップS15)。
【0048】
例えば、表示再生制御部12が図9(b)に示すデータを保持しているときに、改ページ指示が検出されたとする。すると、ステップS11で設定されたとおり、未表示データフラグと擬声語表示前フラグは、いずれも1である。さらに、第1の表示領域は既に表示済みである。そこで、表示再生制御部12は、表示位置決定部22に第2の表示領域(エレメントID=16)が表示対象となったことを通知する。表示位置決定部22は、エレメントID=16を原点の近くに表示するように設定し、エレメントID=16の要素の表示位置を管理データに記憶する。さらに、表示位置決定部22は、エレメントID=16の要素の管理データをレンダリング処理部16に出力する。また、エレメントID=16の要素には「tyudon.wav」という音声ファイルが対応付けられている。そこで、表示再生制御部12は、「tyudon.wav」というファイル名を音声取得部17に通知する。音声取得部17は、音声データ44から「tyudon.wav」を取得して再生デバイス33に出力する。再生デバイス33は、レンダリング処理部16で生成された表示データが表示デバイス32の画面に表示される時刻に合わせて「tyudon.wav」を再生する。このため、図1(c)に示す画面が表示されたときに、「tyudon.wav」が再生される。
【0049】
ステップS15において、レンダリング処理部16は、擬声語文字列を表示したことを表示再生制御部12に通知する。すると、表示再生制御部12は、保持しているデータを適宜変更し、ページ末まで表示されたかを確認する(ステップS17)。ページ末まで表示されていない場合、表示再生制御部12は、次の表示対象が擬声語文字列であるかを確認する(ステップS18)。次の表示対象が擬声語文字列である場合、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを1に設定する(ステップS11)。一方、次に表示される対象が擬声語文字列ではない場合、表示再生制御部12は、未表示データフラグを1に設定し、擬声語表示前フラグを0に設定する(ステップS19)。
【0050】
例えば、図1(c)に示す画面が表示されると、表示再生制御部12は、保持しているデータを図9(b)から図9(c)に変更する。すると、表示再生制御部12は、まだ表示されていないデータが表示位置決定部22に保持されていることと、次に表示されるデータが擬声語ではないことを認識する。そこで、表示再生制御部12は、未表示データフラグを1、擬声語表示前フラグを0に設定する。
【0051】
次に、ユーザの改ページ要求によって、擬声語ではないデータが表示される場合の動作について説明する。ステップS2、S3の処理が行われ、未表示データフラグが1の場合、ステップS14の判定が行われる。擬声語表示前フラグが0である場合、表示再生制御部12は、次の表示領域の表示が要求されていることを表示位置決定部22に通知する。すると、表示位置決定部22は、未表示の文字列で次の擬声語の前までの文字列について表示位置を決定し、管理データをレンダリング処理部16に出力する。レンダリング処理部16は、表示データを生成して表示デバイス32に出力する。表示デバイス32はレンダリング処理部16から入力された表示データを画面に表示する(ステップS16)。なお、このときは、表示される文字列が擬声語ではないため、音声ファイル名の通知や音声ファイルの再生は行われない。その後、ページ末まで表示されたかが判定され、ページ末まで表示が終わっている場合、表示再生制御部12は、未表示データフラグと擬声語表示前フラグを0に設定する(ステップS17、S20)。
【0052】
例えば、表示再生制御部12が図9(c)に示すデータを保持している場合、表示再生制御部12は、第3の表示領域(エレメントID=17〜20)の表示が要求されていることを表示位置決定部22に通知する。表示位置決定部22は、エレメントID=17〜20の表示位置を求めた後で、管理データをレンダリング処理部16に出力する。レンダリング処理部16は、エレメントID=17〜20の管理データを用いて表示データを生成する。その後、表示再生制御部12は、保持しているデータを図9(c)から図9(d)に変更する。また、ページ末まで表示が終了しているので、未表示データフラグと擬声語表示前フラグを0に設定する。
【0053】
なお、以上の説明では、図1(a)に示すように、擬声語がページの先頭に無い場合を例として説明したが、コンテンツ読み込み部13で読み込まれるコンテンツによっては、ページの先頭に擬声語が来る場合もありえる。擬声語がページの先頭に有る場合も、ステップS1〜S8までの処理は前述のとおりである。次に、設定部21は、擬声語が表示されるページの最初に来ていることを検出する(ステップS9でYes)。そこで、設定部21は、抽出部14から通知されたエレメントIDのうちで最も小さい値に対応する文字列を、第1の表示領域とする。第1の表示領域以降も同様に、設定部21は、擬声語と擬声語以外の文字列が別の表示領域に分類されるように表示領域を設定する。さらに、設定部21は、表示位置決定部22と表示再生制御部12に、ページの先頭に擬声語があることを通知する。
【0054】
すると、表示位置決定部22は、第1の表示領域に表示される文字列の表示位置を決定し、表示位置を含む管理データを、レンダリング処理部16に出力する。レンダリング処理部16は、第1の表示領域に設定された要素を表示する表示データを生成する。一方、表示再生制御部12は、音声取得部17に、表示される擬声語に対応する音声ファイルのファイル名を通知する。すると、音声取得部17は、表示再生制御部12から通知された音声ファイルを音声データ44から取得する。音声取得部17は、表示データが画面に表示される時刻に合わせて、音声ファイルを再生デバイス33で再生させる(ステップS15)。ステップS15以降の処理は、前述のとおりである。
【0055】
図7を参照しながら説明した処理は表示装置10で行われる処理の一例であり、処理が変更される場合がある。
【0056】
図11は、抽出部14の動作の例を説明するフローチャートである。図11は、図7のステップS6の処理の例を示す。抽出部14は、表示位置決定部22から文字列を受け取ると、検出した擬声語の数を表す変数を0に設定する(ステップS31)。さらに、抽出部14は、表示位置決定部22から入力された文字列の先頭に抽出開始位置を設定する。次に、抽出部14は、抽出開始位置の後ろに文字列があるかを判定する(ステップS32)。抽出開始位置の後ろに文字列がある場合、抽出部14は、抽出開始位置から開始する単語を取得する(ステップS33)。抽出部14は、抽出開始位置を、取得した単語の後ろに移動する(ステップS34)。
【0057】
抽出部14は、取得した単語をキーとして擬声語テーブル51を検索し、取得した単語が擬声語テーブル51に含まれているかを判定する(ステップS35)。取得した単語が擬声語テーブル51に含まれている場合、抽出部14は、表示位置決定部22から入力された文字列の先頭から取得した単語の開始位置までの文字数を、取得した単語に対応付けて保存する(ステップS36)。例えば、要素の先頭の単語が擬声語である場合、抽出部14は、擬声語を、その擬声語が検出された要素に割り振られたエレメントID、および、その擬声語が要素の0文字目からはじまる単語であることを記憶する。抽出部14は、検出した擬声語の数を1つインクリメントする(ステップS37)。一方、取得した単語が擬声語テーブル51に含まれていない場合、ステップS36、S37の処理は行われない(ステップS35でNo)。その後、抽出開始位置の後に文字列がなくなるまでステップS32〜S37の処理が繰り返される。抽出開始位置の後に文字列がなくなると、抽出部14は、検出した擬声語と擬声語の数を効果音決定部15に通知する(ステップS38)。また、抽出部14は、擬声語の数と開始位置を設定部21に通知する(ステップS39)。
【0058】
図7のフローチャートを参照しながら説明したように、本実施形態にかかる表示装置は、擬声語を示す文字列を画面に表示する際に、表示する擬声語に対応付けられた音声ファイルを再生することができる。従って、ユーザが擬声語文字列を読み始めたときにユーザが読んでいる擬声語に対応する音声を再生できる。
【0059】
このため、実施形態に係る表示装置では、音声の再生による演出効果が高いという効果がある。例えば、改ページ指示に従って図1(a)に示すようにページが表示される表示装置では、ユーザによって文字列を読む速さが異なるため、ユーザが擬声語文字列を読み始めるときに擬声語文字列に対応する音声を再生することは困難である。もし、図1(a)に示すページが表示されたときに「ちゅどーん」という文字列に対応付けられた音声を再生すると、ユーザが擬声語文字列を読み始める時刻と、擬声語に対応する音声を再生する時刻のずれが大きい。このため、音声の再生による演出効果が低下してしまう。一方、実施形態にかかる表示装置は、図1(b)と図1(c)を参照しながら説明したように、ユーザが擬声語文字列を読み始める時刻と、擬声語に対応する音声を再生する時刻のずれを小さくすることができる。このため、実施形態にかかる表示装置では、音声の再生による演出効果が大きくなる。特に、例えば、ライトノベルなどの擬声語が頻繁に用いられる書籍を読むときに表示装置10を用いることにより、ユーザは、音声の再生による効果を楽しむことができる。
【0060】
さらに、表示装置10は、音声の再生時刻とユーザが擬声語文字列を読み始める時刻の差を小さくするために、視線位置を検出するための装置を用いない。このため、表示装置10は、視線位置を検出する方式が用いられる装置に比べて安価に製造できる可能性や、検出装置を搭載していない分だけ小型化できる可能性がある。
【0061】
また、表示装置10を用いると、電子書籍コンテンツ41にタグなどを用いて文中の擬声語の周辺に音声ファイルの特定に用いられる情報を埋め込まなくても、再生対象の音声ファイルを特定することができる。従って、擬声語文字列の周辺に音声ファイルを特定するための情報を埋め込む方式を用いて電子書籍コンテンツが製造される場合に比べて、電子書籍コンテンツ41を製造する手間やコストを削減することができる。特に、絶版本スキャンデータなどの既存データを利用して生成される電子書籍コンテンツ41の場合、電子書籍コンテンツ41の生成に使われるデータが既に存在しているため、ユーザは、電子書籍コンテンツ41を安価に入手できると期待している。このため、絶版本スキャンデータなどを用いた電子書籍コンテンツ41では、低コストで生成することが求められることが多い。なお、電子書籍コンテンツ41を生成する際のコストを低くすることは、絶版本スキャンデータ以外にも、画像取り込みや、OCRテキスト抽出などの技術を用いて生成される任意の電子書籍コンテンツ41の際に求められる。本実施形態に係る表示装置10を用いると、低コストで電子書籍コンテンツ41や表示装置10を生成できる上、ユーザが擬声語文字列を読み始める時刻と、擬声語に対応付けられた音声ファイルの再生が開始される時刻の差を小さくして音声再生効果を高めることができる。
【0062】
<第2の実施形態>
次に、最終的に表示される画面が、電子書籍コンテンツ41を作成した出版社などで意図されている版面と同じ場合の表示装置10の動作について説明する。第2の実施形態においても、表示装置10が起動されてから設定部21で表示領域が設定されるまでの動作は、第1の実施形態と同様である。また、抽出された擬声語文字列に対応付けられた音声ファイルのファイル名の取得方法も、第1の実施形態と同様である。さらに、効果音決定部15は、音声ファイルのファイル名を第1の実施形態と同様に表示再生制御部12に通知するものとする。
【0063】
設定部21で表示領域が設定されると、表示位置決定部22は、表示されるページに含まれる全ての要素について表示位置を決定する。例えば、表示対象のページにエレメントID=1〜20の要素が含まれているとする。すると、図12に示すように、表示位置決定部22は、エレメントID=1〜20の要素が一緒に配置された場合について、個々の要素の表示位置を求める。図12の例でも表示デバイス32の画面の右上隅を原点としたxy座標を用いて個々の要素の表示位置が決定されるものとする。なお、図12は文字列が縦書きの場合の例であり、エレメントIDが小さい程、右側の行になるように配置され、さらに、同じ行の中ではエレメントIDが小さいほど上側に表示されるものとする。表示位置決定部22は、各要素について、要素の表示領域の右上隅の座標を取得し、管理データに記録する。
【0064】
設定部21は、レンダリング処理部16に表示領域の情報を通知する。また、設定部21は、擬声語文字列の数や表示領域に含まれる要素のエレメントIDなどの情報を、表示再生制御部12に通知する。一方、表示位置決定部22は、表示位置を決定した要素についての管理データをレンダリング処理部16に出力する。
【0065】
レンダリング処理部16は、表示位置決定部22から入力された管理情報を用いて、表示対象のページの全体についての表示データを生成する。レンダリング処理部16は、例えば、図1(a)に示す表示になるような表示データを生成する。さらに、レンダリング処理部16は、設定部21から通知された情報と表示位置決定部22から得られた管理情報に基づいて「クリップ領域」を決定する。クリップ領域は、設定部21で設定されている表示領域を単位として決定される。個々のクリップ領域は、ユーザの改ページ指示の回数と対応付けられており、あるクリップ領域に対応付けられた回数の改ページ指示が検出されると、そのクリップ領域が画面に表示される。
【0066】
例えば、図12において、エレメントID=1〜15が第1の表示領域、エレメントID=16が第2の表示領域、エレメントID=17〜20が第3の表示領域に設定されているものとする。するとレンダリング処理部16は、第1の表示領域を第1のクリップ領域に指定する。すなわち、図12に網掛けで示すように、エレメントID=1〜15を含む領域が第1のクリップ領域に指定され、第1のクリップ領域は、コンテンツ読み込み部13での読み込みの契機となった改ページ指示の後で画面に表示される。一方、レンダリング処理部16は、第1の表示領域と第2の表示領域を、第2のクリップ領域に指定し、第1〜第3の表示領域を第3のクリップ領域に指定する。
【0067】
レンダリング処理部16は、第1のクリップ領域がディスプレイに表示されているときに改ページ指示があると、第2のクリップ領域の表示データを画面に出力する。従って、第1のクリップ領域がディスプレイに表示されているときに改ページ指示があると、エレメントID=1〜16の要素が画面に表示される。ここで、第2の表示領域に表示される文字列は擬声語文字列であるため、第2のクリップ領域が画面に出力される際に、エレメントID=16の擬声語文字列に対応付けられた音声ファイルが再生デバイス33で再生される。表示再生制御部12、音声取得部17、再生デバイス33が音声ファイルの再生のために行う動作は、第1の実施形態と同様である。
【0068】
さらに、第2のクリップ領域が表示されている間に改ページ指示が検出されると、レンダリング処理部16は、第3のクリップ領域の表示データを画面に出力する。従って、画面には、エレメントID=1〜20の要素が表示される。
【0069】
図13にクリップ領域の例とクリップ領域テーブルの例を示す。図13(a)の例では、クリップ領域は長方形であるが、クリップ領域は任意の形状とすることができる。また、クリップ領域テーブルは、クリップ領域の数とクリップ領域の特定に用いられる任意の情報を格納する。図13(b)は、クリップ領域が図13(a)に示すように設定された場合のクリップ領域テーブルの例である。図13(b)の例では、クリップ領域の右上隅のx座標、クリップ領域の右上隅のy座標、クリップ領域の幅、高さが、クリップ領域の総数と共に記録されている。なお、クリップ領域は、互いに重なり合わないように設定されても良く、また、あるクリップ領域の一部もしくは全部が他のクリップ領域に重なるように設定されても良い。
【0070】
次に、図1(a)に示すコンテンツの表示が行われる場合を例として、第2の実施形態で行われる動作の例を説明する。第1のクリップ領域の表示データにより、エレメントID=1〜15の要素が表示される。従って、第1のクリップ領域による表示では、第1の表示領域が表示されることになり、図1(b)に示す画面がディスプレイに表示される。第1の表示領域に含まれる要素が表示されてから、次の改ページ指示が検出されるまでの動作は、第1の実施形態と同様である。すなわち、表示再生制御部12は、読み込まれたが未表示となっているデータがあることと、次に表示が開始される文字列は擬声語文字列であることを認識する。
【0071】
ユーザからの改ページ指示があると、表示再生制御部12は、未表示データフラグを参照して未表示のデータがあることを確認し、表示するクリップ領域を変更することをレンダリング処理部16に要求する。さらに表示再生制御部12は、次に表示されるクリップ領域に擬声語文字列が含まれていることを確認し、音声取得部17に対して、擬声語に対応付けられた音声ファイルの再生を要求する。レンダリング処理部16は、表示再生制御部12からの要求に応じて、表示デバイス32に第2のクリップ領域の表示データを出力する。このとき、第1の表示領域に含まれている要素と第2の表示領域に含まれている要素が表示されるため、画面には、図14(a)のように表示される。
【0072】
一方、音声取得部17は、擬声語に対応付けられた音声ファイルを音声データ44から取得する。音声取得部17の動作は、第1の実施形態と同様である。音声取得部17は、取得した音声ファイルを再生デバイス33に出力する。このとき、音声取得部17は、図14(a)に示す画面が表示される時刻に再生デバイス33での再生が行われるように、音声ファイルを出力するタイミングを調整することができる。第2の表示領域に含まれる要素が表示されてから、次の改ページ指示が検出されるまでの動作も、第1の実施形態と同様である。すなわち、表示再生制御部12は、読み込まれたが未表示となっているデータがあることと、次に表示が開始される文字列が擬声語文字列ではないことを認識する。
【0073】
改ページ指示が検出されると、表示再生制御部12は、未表示のデータがあることを確認し、表示するクリップ領域の変更をレンダリング処理部16に要求する。レンダリング処理部16は、表示再生制御部12からの要求に応じて、表示デバイス32に第3のクリップ領域を含む表示データを出力する。そこで、表示デバイス32は、第1〜第3の表示領域に含まれている要素を画面に表示するため、ディスプレイの表示は図14(b)のようになる。
【0074】
図15は、設定部21と表示位置決定部22の動作の例を説明するフローチャートを示す。なお、図15は一例であり、例えば、ステップS55とS56の順序が入れ替えられるなどの変更が加えられる場合がある。また、ステップS59に示すように、擬声語文字列を含むことが確認された要素について、その要素の表示位置(表示座標)が表示再生制御部12に通知されることがある。この場合は、表示再生制御部12で記憶される情報には、図9に示す情報に加え、擬声語を表す文字列の表示座標も含まれる。
【0075】
設定部21、表示位置決定部22は、コンテンツ読み込み部13で読み込まれたデータを取得する(ステップS51)。表示位置決定部22は、改行位置を決定し、1ページに表示されるデータを特定する(ステップS52)。表示位置決定部22は、エレメントタイプが文字列である要素について、擬声語テーブル51に含まれている単語に合致する単語の抽出を、抽出部14に要求する(ステップS53)。抽出部14で擬声語が抽出されると、表示位置決定部22は、1ページ中に含まれる各要素の表示位置を算出する(ステップS54でYes、ステップS55)。さらに、設定部21は、文字列中での擬声語を表す文字列の位置や数に応じて表示領域を決定する(ステップS56)。一方、擬声語が抽出されなかった場合、表示位置決定部22は各要素の表示位置を算出し、設定部21は、ページ全体を第1の表示領域に設定する(ステップS54でNo、ステップS57)。設定部21は、表示領域の設定結果をレンダリング処理部16に通知する(ステップS58)。さらに、設定部21は、抽出された擬声語の数と擬声語の表示位置を、表示再生制御部12に通知する(ステップS59)。
【0076】
このように、第2の実施形態では、ユーザは、電子書籍コンテンツ41を作成した出版社などで意図されていた版面を目視することができる。このため、擬声語を表す文字列とその他の文字列のフォントの大きさを変更するなど書式変更により擬声語の表示効果を出そうと意図されている場合は、第2の実施形態が有効である。
【0077】
<第3の実施形態>
第3の実施形態では、擬声語に対応する音声ファイルが存在しない場合にも、擬声語を表す文字列の表示に伴って音声の再生が可能な表示装置10について説明する。第3の実施形態に係る表示装置10は、先頭文字テーブル54を記憶しているものとする。
【0078】
図16は、先頭文字テーブル54の例を示す。先頭文字テーブル54は、擬声語の先頭の文字列とファイルIDを対応付けている。先頭文字テーブル54は、全ての仮名文字に対応するエントリを備え、各エントリは、1つの仮名文字と1つのファイルIDを対応付けている。さらに、先頭文字テーブル54は、複数の文字の組み合わせについてのエントリを備えることもでき、複数の文字の組み合わせのエントリについても、各エントリに1つのファイルIDが対応付けられている。例えば、擬声語文字列の先頭の文字が「あ」である場合、対応付けられた音声ファイルのIDは「1」である。また、先頭の文字が「ず」である擬声語文字列は音声ファイルID=nのファイルに対応付けられ、先頭の文字が「ん」である擬声語文字列は音声ファイルID=pのファイルに対応付けられている。
【0079】
先頭文字テーブル54は、擬声語文字列についてのエントリがファイルIDテーブル53に無い場合に用いられる。例えば、擬声語テーブル51には記録されているが、抽出された擬声語に対応付けられた音声ファイルのIDがファイルIDテーブル53に登録されていない場合、効果音決定部15は先頭文字テーブル54を参照する。効果音決定部15は、擬声語文字列の先頭の文字についてのエントリが先頭文字テーブル54に記録されている場合、そのエントリに記録されている音声ファイルIDを取得する。なお、先頭文字テーブル54に複数の文字の組み合わせについてのエントリが含まれている場合、擬声語文字列と一致する文字数が最も多いエントリに対応付けられたファイルIDが、擬声語文字列に対応付けられているファイルIDとされる。効果音決定部15は、得られたファイルIDに対応付けられたファイル名を効果音テーブル52から取得すると、表示再生制御部12に通知する。
【0080】
このように変形すると、擬声語文字列の最初の文字に応じて、再生する音声ファイルが選択される。擬声語は、最初の文字が共通している場合、類似した効果音であることが多い。そこで、本実施形態によると、擬声語文字列のエントリがファイルIDテーブル53に無い場合であっても、擬声語で使用される先頭の子音(G、Z、D、……)が共通の場合は類似の効果音であるという仮定に基づいてファイルIDを選択することができる。
【0081】
さらに、擬声語に対応する音声ファイルを発見できない場合には、デフォルトの音声ファイルが再生されるように、表示装置10の動作が変形される場合がある。かかる場合の表示装置10での効果音決定部15の動作の例を、図17に示す。
【0082】
効果音決定部15は、抽出部14から擬声語文字列を取得する(ステップS71)。効果音決定部15は、擬声語文字列に対応付けられたファイルIDがファイルIDテーブル53に格納されているかを判定する(ステップS72)。擬声語文字列に対応付けられたファイルIDがファイルIDテーブル53に含まれている場合、効果音決定部15は、擬声語文字列に対応付けられたファイルIDを取得する(ステップS72でYes、ステップS73)。さらに、効果音決定部15は、取得したファイルIDが効果音テーブル52に記録されているかを確認する(ステップS74)。取得したファイルIDが効果音テーブル52に記録されている場合、効果音決定部15は、ファイルIDに対応付けられている音声ファイル名を効果音テーブル52から取得する(ステップS74でYes、ステップS75)。一方、ステップS72において擬声語文字列に対応付けられたファイルIDが無かった場合、効果音決定部15は、デフォルト効果音ファイルのファイル名を取得する(ステップS72でNo、ステップS76)。同様に、取得したファイルIDが効果音テーブル52に記録されていない場合も、効果音決定部15は、デフォルト効果音ファイルのファイル名を取得する(ステップS74でNo、ステップS76)。
【0083】
効果音決定部15の処理を図17で説明するように変更することにより、擬声語に対応付けられた音声ファイルの検索に失敗した場合、デフォルト効果音ファイルのファイル名が表示再生制御部12を介して音声取得部17に通知される。このため、擬声語に対応付けられた音声ファイルが音声データ44に含まれていなくても、表示装置10は、擬声語文字列の表示に合わせてデフォルト効果音ファイルを再生することができる。
【0084】
<第4の実施形態>
第4の実施形態では、電子書籍コンテンツ41に含まれるタグ情報を用いて、表示の際に音声が再生される文字列を限定する表示装置90について説明する。
【0085】
図18は、表示装置90の構成の例を示す図である。表示装置90は、リフロー処理部80を備える。リフロー処理部80は、設定部21、表示位置決定部22、候補検出部81を備える。表示装置90は、さらに、ユーザ操作検出部11、表示再生制御部12、コンテンツ読み込み部13、抽出部14、効果音決定部15、レンダリング処理部16、音声取得部17、入力デバイス31、表示デバイス32、再生デバイス33を備えている。また、表示装置90は、電子書籍コンテンツ41、擬声語辞書データ42、効果音辞書データ43、音声データ44を記憶する。なお、表示装置90のハードウェア構成も図6と同様であり、リフロー処理部80は、CPU61により実現されるものとする。
【0086】
候補検出部81は、コンテンツ読み込み部13から読み込まれたコンテンツ情報とコンテンツ情報に含まれているタグ情報を用いて、音声の再生を行う対象とする擬声語を含む文字列を特定する。例えば、図1(a)に示すコンテンツが読み込まれた場合、「ちゅどーん」という文字列は他の文字列よりも大きなフォントに対応付けられている。例えば、文字情報とタグ情報は、
「〜だった。</paragraph> <paragraph> <font size=big>ちゅどーん</font> </paragraph>」
と記載されているとする。この場合、「ちゅどーん」という文字列には、フォントの大きさを、font size=bigに対応付けられた大きさにすることが指定されている。また、「ちゅどーん」という文字列以外には、特にフォントの大きさの指定が無いものとする。すると、「ちゅどーん」という文字列以外は、基本設定のフォントが使用される。そこで、候補検出部81は、「ちゅどーん」という文字列が、他の文字列よりも大きなフォントで記載されていると認識し、擬声語を検索する候補とする。以下、擬声語を検索する候補の文字列を「候補文字列」と記載する。候補検出部81は、抽出部14に候補文字列を出力する。
【0087】
表示位置決定部22は、第1〜第3の実施形態と同様に、各要素の位置を決定する。さらに、表示位置決定部22は、各要素について、図19に示すように属性情報(Attribute)を含む管理データを生成する。ここで、属性情報の種類は、要素の種類に応じて設定される情報であるものとする。例えば、文字列の要素に対しては、フォントタイプ、フォントの大きさ、フォントの色などが設定される。
【0088】
設定部21、ユーザ操作検出部11、表示再生制御部12、コンテンツ読み込み部13、抽出部14、効果音決定部15、レンダリング処理部16、音声取得部17、入力デバイス31、表示デバイス32、再生デバイス33の動作は、第1〜3の実施形態と同様である。また、電子書籍コンテンツ41、擬声語辞書データ42、効果音辞書データ43、音声データ44も第1〜3の実施形態と同様である。
【0089】
このように、第4の実施形態では、フォントなどの書式が他の文字列と異なるなど、他の文字列とは異なる形式で表示される擬声語文字列が表示されるときに、表示対象となる擬声語に対応付けられた音声ファイルを再生する。本実施形態では、音声の再生の対象となる擬声語が限定されるので、他の実施形態に比べて、音声の対象となる擬声語に対してのユーザの印象が強くなる。また、候補検出部81で選択された候補文字列について抽出部14が抽出処理を行うため、抽出部14の処理量が他の実施形態に比べて少ない。擬声語が頻繁に用いられるライトノベルでは、特に強調される擬声語について、他の文字列とは異なるフォントが指定されている場合や、他の文字列よりも大きな文字が用いられている場合がある。このような小説を表示する場合、表示装置90を用いると、作者が強調しようとした擬声語について音声を再生することになるため、ユーザは音声の再生による効果を楽しむことができる。
【0090】
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【0091】
抽出部14は、擬声語テーブル51に含まれていない文字列でも、一定の回数以上同じ文字列が繰り返された場合に、擬声語として抽出してもよい。例えば、「ドドド」や「ずりずりずり」など、3回以上同じ文字列が繰り返された場合に擬声語として抽出するように、抽出部14の動作を設定することができる。
【0092】
また、予め、コンテンツ中に、音声ファイルが文字列と関連付けられている場合、表示装置10は、音声ファイルが関連付けられている文字列を表示する際に、コンテンツ中で関連付けられた音声ファイルを再生する。例えば、
「~だった。</paragraph><paragraph><font size=big><sound source=filename.wav>ちゅどーん</sound></font></paragraph>」
というコンテンツをコンテンツ読み込み部13が読み込んだとする。この場合、読み込まれたコンテンツに音声ファイルの指定が含まれているので、表示位置決定部22は、文字列を抽出部14に出力しない。その代わり、設定部21は、soundタグで指定されている音声ファイルの名称と、音声ファイルが対応付けられている文字列を表示再生制御部12に通知する。また、設定部21は、soundタグによる音声ファイルの指定がある部分が他の部分と別の表示領域に属するように表示領域を設定する。一方、表示位置決定部22は、管理データを生成してレンダリング処理部16に出力する。表示再生制御部12は、設定部21と表示位置決定部22から受信した情報に応じて音声取得部17に音声ファイルの取得を要求する。音声ファイルの取得と音声の再生のタイミングは第1もしくは第2の実施形態で述べたとおりである。なお、音声ファイルが関連付けられている文字列を含むコンテンツを、表示装置90が読み込んだ場合も、表示装置10での場合と同様に処理される。ただし、表示装置90の場合、候補検出部81が文字列を抽出部14に出力しないために、表示装置90での抽出が行われない。
【0093】
さらに、ユーザからの入力に応じて第1の実施形態と第2の実施形態を切り替えることもできる。例えば、ユーザ操作検出部11でユーザから表示方法の切り替えの指示が検出されると、表示領域ごとに画面に表示する設定から、改ページのたびに表示領域を増やす設定になるように、リフロー処理部20やレンダリング処理部16が処理を変更することができる。リフロー処理部20での変更は、レンダリング処理部16に出力するデータを表示領域ごとにするか、ページの全体にするかを切り替えることにより行われる。レンダリング処理部16で行われる処理の例を、図20のフローチャートを参照しながら説明する。なお、図20は、未表示であるが読み込み済みのデータが表示装置10に記憶されている場合のレンダリング処理部16の動作の例を示す。
【0094】
レンダリング処理部16は、複数の領域にわたってデータが入力されているかを確認する(ステップS81)。入力されているデータが複数の表示領域にまたがっている場合、設定部21から表示領域に含まれている要素を特定する情報がレンダリング処理部16に入力される。従って、設定部21から表示領域を特定する情報が入力されていない場合、レンダリング処理部16は、複数の表示領域のデータを取得していないと判定する(ステップS81でNo)。すると、レンダリング処理部16は、表示位置決定部22から入力された要素を表示する表示データを生成する(ステップS82)。ここで生成された表示データには、既に画面に表示された要素は含まれない。その後、レンダリング処理部16は、1つの表示領域に含まれている要素をディスプレイに表示するために表示データを、表示デバイス32に出力する(ステップS83)。一方、設定部21から表示領域を特定するための情報を取得している場合、レンダリング処理部16は、表示領域単位でクリップ領域を指定する。さらに、前の画面に表示されている表示領域と、次の表示領域の両方を表示するための表示データを生成して表示デバイス32に表示させる(ステップS84)。
【0095】
以上の記載で説明した、表示装置10や表示装置90に記憶されているテーブルなどは
一例であり、実装に応じて変形することができる。例えば、図9(a)に示したテーブルのかわりに、設定部21は、図21に示すテーブルを保持することもできる。図21の例では、図9に示したテーブルに含まれている情報に加え、擬声語の総数の情報が含まれている。さらに、図21のテーブルでは、擬声語文字列ごとに擬声語文字列の前の表示領域の要素、擬声語を含む表示領域の要素、擬声語の後から次の擬声語までの間に含まれる要素が記録されている。
【0096】
なお、抽出部14で複数の擬声語が抽出された場合、抽出された個々の擬声語についてファイル名が検索され、検索結果が表示再生制御部12に通知される。文中に2つ以上の擬声語が含まれている場合も、設定部21は、同様に表示領域を分類する。例えば、2つの擬声語が含まれている場合、以下のように表示領域が設定される。
第1の表示領域:ページの先頭から最初の擬声語の前まで
第2の表示領域:最初の擬声語文字列
第3の表示領域:最初の擬声語文字列が終了した位置から2つ目の擬声語文字列の前まで
第4の表示領域:2つ目の擬声語文字列
第5の表示領域:2つ目の擬声語文字列が終了した位置からページの最後まで
【0097】
さらに、コンテンツ読み込み部13は、コンテンツを読み込む際に、読み込むデータに対応付けられたページ数を特定する情報を取得することもできる。この場合、コンテンツ読み込み部13は、ページ数を特定する情報の変動を確認することにより、表示されるページ数が大きくなっているかを確認する。表示されるページ数が小さくなっている場合、ユーザがページを戻していることになる。この場合はユーザがコンテンツを読んでいる可能性よりも、コンテンツ中の記載や画像などを探している可能性が高いといえる。そこで、コンテンツ読み込み部13は、表示されるページ数が小さくなっている場合、音声データの再生が不要であると判定し、表示位置決定部22や候補検出部81に対して、抽出部14へ文字列を出力しないように要求する。抽出部14に文字列が入力されない場合、擬声語の抽出、音声の再生等が行われない。また、複数ページ単位で表示位置がスキップしている場合も、表示装置10、90はユーザがコンテンツ中の記載等を検索していると判断して、同様に、音声の再生を行わない。
【0098】
さらに、画面がスクロールされる表示装置10、90の場合は、スクロールボタンが1度押されたときには、第1の表示領域が表示され、スクロールボタンが2回押されると第2の表示領域の表示が行われるものとする。
【0099】
表示装置10や表示装置90は、携帯電話端末、コンピュータ、電子書籍端末など、コンテンツの表示と音声の再生が可能な任意の装置として実現されうる。
【符号の説明】
【0100】
10、90 表示装置
11 ユーザ操作検出部
12 表示再生制御部
13 コンテンツ読み込み部
14 抽出部
15 効果音決定部
16 レンダリング処理部
17 音声取得部
20、80 リフロー処理部
21 設定部
22 表示位置決定部
31 入力デバイス
32 表示デバイス
33 再生デバイス
41 電子書籍コンテンツ
42 擬声語辞書データ
43 効果音辞書データ
44 音声データ
51 擬声語テーブル
52 効果音テーブル
53 ファイルIDテーブル
54 先頭文字テーブル
61 CPU
62 メモリ
63 入力装置
64 出力装置
65 バス
66 外部記憶装置
67 媒体駆動装置
68 可搬記憶媒体
69 ネットワーク接続装置
70 ネットワーク
81 候補検出部

【特許請求の範囲】
【請求項1】
文字列の表示を指示する表示指示を検出する検出部と、
取得した取得文字列から、擬声語を表す擬声語文字列を抽出する抽出部と、
前記擬声語文字列と、前記取得文字列のうちの前記擬声語文字列ではない文字列が互いに異なる表示領域に分類されるように表示領域を設定する設定部と、
前記取得文字列の先頭を含む表示領域が画面に表示されているときに前記表示指示が検出されると、前記画面に表示されている表示領域中の文字列の続きを含む表示領域の表示を開始する表示デバイスと、
前記擬声語文字列を含む表示領域の表示が開始されるときに、前記擬声語文字列に対応付けられた前記音声ファイルを再生する再生デバイス
を備えることを特徴とする表示装置。
【請求項2】
前記擬声語文字列が前記取得文字列の先頭に位置していない場合、前記設定部は、前記取得文字列の先頭から前記擬声語文字列の前までを第1の表示領域に設定するとともに、前記擬声語文字列を第2の表示領域に設定し、
前記表示デバイスは、前記第1の表示領域を画面に表示しているときに前記表示指示を受信すると、前記第2の表示領域を画面に表示し、
前記再生デバイスは、前記第2の表示領域の表示が開始されるときに、前記音声情報に対応する音声を再生する
ことを特徴とする請求項1に記載の表示装置。
【請求項3】
前記擬声語文字列に対応付けられた音声ファイルを決定する決定部と、
前記音声ファイルを識別する識別情報が入力されると、前記音声ファイルを取得して前記再生デバイスに出力する音声取得部と、
次に表示される表示領域に擬声語文字列が含まれる場合に、前記識別情報を前記音声取得部に出力することにより、前記音声情報が再生される時刻と前記擬声語文字列が表示される時刻の差が小さくなるように制御する制御部
をさらに備えることを特徴とする請求項1もしくは2に記載の表示装置。
【請求項4】
前記取得文字列に、第1の書式が設定されている文字列と、前記第1の書式とは異なる第2の書式が設定されている文字列が含まれており、前記第2の書式で設定されている文字の大きさが前記第1の書式で設定されている文字の大きさよりも大きい場合、前記第2の文字列を、前記擬声語の候補を含む候補文字列として検出する候補検出部をさらに備え、
前記候補検出部は、前記候補文字列を前記抽出部に出力し、
前記抽出部は、前記候補文字列から擬声語文字列を抽出する
ことを特徴とする請求項1〜3のいずれか1項に記載の表示装置。
【請求項5】
文字列の表示を指示する表示指示を検出し、
取得した取得文字列から、擬声語を表す擬声語文字列を抽出し、
前記擬声語文字列と、前記取得文字列のうちの前記擬声語文字列ではない文字列が互いに異なる表示領域に分類されるように表示領域を設定し、
前記取得文字列の先頭を含む表示領域が画面に表示されているときに前記表示指示が検出されると、前記画面に表示されている表示領域中の文字列の続きを含む表示領域の表示を開始し、
前記擬声語文字列を含む表示領域の表示が開始されるときに、前記擬声語文字列に対応付けられた前記音声ファイルを再生する
処理をコンピュータに行わせることを特徴とする表示方法。
【請求項6】
文字列の表示を指示する表示指示を検出し、
取得した取得文字列から、擬声語を表す擬声語文字列を抽出し、
前記擬声語文字列と、前記取得文字列のうちの前記擬声語文字列ではない文字列が互いに異なる表示領域に分類されるように表示領域を設定し、
前記取得文字列の先頭を含む表示領域が画面に表示されているときに前記表示指示が検出されると、前記画面に表示されている表示領域中の文字列の続きを含む表示領域の表示を開始し、
前記擬声語文字列を含む表示領域の表示が開始されるときに、前記擬声語文字列に対応付けられた前記音声ファイルを再生する
処理をコンピュータに行わせることを特徴とする表示プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図11】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図10】
image rotate

【図12】
image rotate


【公開番号】特開2013−15698(P2013−15698A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−148905(P2011−148905)
【出願日】平成23年7月5日(2011.7.5)
【出願人】(310022372)富士通モバイルコミュニケーションズ株式会社 (219)
【Fターム(参考)】