(57)【特許請求の範囲】
【請求項１】
複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得手段と、
前記データ取得手段により取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御手段と、
ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域候補を抽出して前記ページ関連データとして生成して記憶手段に記録するページ関連データ生成手段と、
前記ページ関連データが生成されたページが前記表示手段に表示された場合に、前記文字領域候補の指定操作を受け付ける受付手段と、
前記受付手段により前記指定操作が受け付けられた後に、前記指定操作により指定された文字領域候補に文字が含まれるか否かを判定する操作後文字判定手段と、
を含み、
前記表示制御手段は、前記操作後文字判定手段により文字が含まれると判定された文字領域候補内を拡大して前記表示手段に表示させる、
ことを特徴とする電子書籍表示装置。
【請求項２】
前記電子書籍表示装置は、前記受付手段により前記指定操作が受け付けられる前に、前記文字領域候補に対して第１の文字判定処理を実行する操作前文字判定手段を更に含み、
前記操作後文字判定手段は、前記操作前文字判定手段により文字が含まれると判定された文字領域候補が前記指定操作により指定された場合に、前記第１の文字判定処理よりも精度の高い第２の文字判定処理を実行する、
ことを特徴とする請求項１に記載の電子書籍表示装置。
【請求項３】
前記ページ関連データ生成手段は、前記ページ関連データが生成されたページ内の前記文字領域候補の数が基準未満である場合、当該ページの次のページの文字領域候補を更に抽出してページ関連データとして生成して記録する、
ことを特徴とする請求項１又は２に記載の電子書籍表示装置。
【請求項４】
前記電子書籍表示装置は、前記文字領域候補の輪郭又は前記文字領域候補自身の大きさが基準以上であるか否かを判定する大きさ判定手段を更に含み、
前記操作後文字判定手段は、前記大きさ判定手段により基準未満の大きさと判定された前記文字領域候補は判定対象とせず、前記大きさ判定手段により基準以上の大きさと判定された前記文字領域候補に文字が含まれるか否かを判定する、
ことを特徴とする請求項１〜３の何れかに記載の電子書籍表示装置。
【請求項５】
前記ページ関連データ生成手段は、
前記ページ関連データが生成されていないページの下部領域は文字領域候補を抽出せずに上部領域内の文字領域候補を抽出する手段と、
前記ページ関連データが生成されていないページ内の各文字領域の読み順に、基準数になるまで文字領域候補を抽出する手段と、
の少なくとも一方を含むことを特徴とする請求項１〜４の何れかに記載の電子書籍表示装置。
【請求項６】
複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得手段と、
前記データ取得手段により取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御手段と、
ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域を抽出してページ関連データとして生成して記憶手段に記録するページ関連データ生成手段と、
前記ページ関連データが生成されたページが前記表示手段に表示された場合に、前記文字領域の指定操作を受け付ける受付手段と、
を含み、
前記表示制御手段は、前記受付手段により前記指定操作が受け付けられた場合に、前記指定操作により指定された文字領域内を拡大して前記表示手段に表示させる、
ことを特徴とする電子書籍表示装置。
【請求項７】
前記ページ関連データ生成手段は、前記ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域候補を抽出する手段を含み、当該文字領域候補に文字が含まれるか否かを判定することによって、前記文字領域を抽出する、
ことを特徴とする請求項６に記載の電子書籍表示装置。
【請求項８】
前記ページ関連データ生成手段は、前記ページ関連データが生成されていないページが前記表示手段に表示される前に、前記文字領域候補に対して第１の文字判定処理を実行し、当該第１の文字判定処理により文字が含まれると判定された文字領域候補に対して、前記第１の文字判定処理よりも精度の高い第２の文字判定処理を実行することによって、前記文字領域を抽出する、
ことを特徴とする請求項７に記載の電子書籍表示装置。
【請求項９】
前記ページ関連データ生成手段は、前記文字領域候補の輪郭又は前記文字領域候補自身の大きさが基準以上であるか否かを判定する大きさ判定手段を含み、前記大きさ判定手段により基準未満の大きさと判定された前記文字領域候補は判定対象とせず、前記大きさ判定手段により基準以上の大きさと判定された前記文字領域候補に文字が含まれるか否かを判定することによって、前記文字領域を抽出する、
ことを特徴とする請求項７又は８に記載の電子書籍表示装置。
【請求項１０】
前記ページ関連データ生成手段は、前記ページ関連データを生成したページ内の前記文字領域の数が基準未満である場合、当該ページの次のページ内の文字領域を更に抽出してページ関連データとして生成して記録する、
ことを特徴とする請求項６〜９の何れかに記載の電子書籍表示装置。
【請求項１１】
前記ページ関連データ生成手段は、
前記ページ関連データが生成されていないページの下部領域は文字領域を抽出せずに上部領域内の文字領域を抽出する手段と、
前記ページ関連データが生成されていないページ内の各文字領域の読み順に、基準数になるまで文字領域を抽出する手段と、
の少なくとも一方を含むことを特徴とする請求項６〜１０の何れかに記載の電子書籍表示装置。
【請求項１２】
前記ページ関連データ生成手段は、前記電子書籍データの全ページのうちの一部のページの前記ページ関連データを生成する、
ことを特徴とする請求項１〜１１の何れかに記載の電子書籍表示装置。
【請求項１３】
前記表示制御手段は、電子書籍アプリケーションが起動した場合に、前記１又は複数のページを前記表示手段に表示させ、
前記電子書籍表示装置は、前記電子書籍アプリケーションが終了する場合、又は、前記電子書籍アプリケーションの終了前の所定タイミングにおいて、前記記憶手段に記録された前記ページ関連データを破棄する破棄手段を更に含む、
ことを特徴とする請求項１〜１２の何れかに記載の電子書籍表示装置。
【請求項１４】
前記電子書籍表示装置は、当該電子書籍表示装置のユーザによる前記指定操作の履歴に関する履歴データを記憶する手段に記憶された前記履歴データを取得する手段を更に含み、
前記ページ関連データ生成手段は、前記履歴データに基づいて、前記ユーザによる前記指定操作の頻度が基準以上であるか否かを判定する頻度判定手段を含み、前記頻度判定手段により基準以上であると判定された場合に前記ページ関連データを生成して記録する、
ことを特徴とする請求項１〜１３の何れかに記載の電子書籍表示装置。
【請求項１５】
前記電子書籍表示装置は、当該電子書籍表示装置のユーザにより前記指定操作が行われたページに関するページデータを記憶する手段に記憶された前記ページデータを取得する手段を更に含み、
前記ページ関連データ生成手段は、前記ページデータに基づいて、前記ユーザにより前記ページ関連データが生成されていないページに対して過去に前記指定操作が行われたか否かを判定する過去判定手段を含み、前記過去判定手段により前記指定操作が行われたと判定された場合に前記ページ関連データを生成して記録する、
ことを特徴とする請求項１〜１４の何れかに記載の電子書籍表示装置。
【請求項１６】
前記電子書籍表示装置は、当該電子書籍表示装置のユーザ以外の他のユーザにより前記指定操作が行われたページに関するページデータを記憶する手段に記憶された前記ページデータを取得する手段を更に含み、
前記ページ関連データ生成手段は、前記ページデータに基づいて、前記他のユーザにより前記ページ関連データが生成されていないページに対して過去に前記指定操作が行われたか否かを判定する過去判定手段を含み、前記過去判定手段により前記指定操作が行われたと判定された場合に前記ページ関連データを生成して記録する、
ことを特徴とする請求項１〜１４の何れかに記載の電子書籍表示装置。
【請求項１７】
前記電子書籍表示装置は、当該電子書籍表示装置のユーザの年齢に関する年齢情報を取得する手段を更に含み、
前記ページ関連データ生成手段は、前記年齢情報に基づいて、前記ユーザの年齢が基準以上であるか否かを判定する年齢判定手段を含み、前記年齢判定手段により基準以上であると判定された場合に前記ページ関連データを生成して記録する、
ことを特徴とする請求項１〜１６の何れかに記載の電子書籍表示装置。
【請求項１８】
前記電子書籍表示装置は、前記表示手段の画面サイズに関するサイズ情報を取得する手段を更に含み、
前記ページ関連データ生成手段は、前記サイズ情報に基づいて、前記表示手段の画面サイズが基準未満であるか否かを判定するサイズ判定手段を含み、前記サイズ判定手段により基準未満であると判定された場合に前記ページ関連データを生成して記録する、
ことを特徴とする請求項１〜１７の何れかに記載の電子書籍表示装置。
【請求項１９】
複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得ステップと、
前記データ取得ステップにより取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御ステップと、
ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域候補を抽出して前記ページ関連データとして生成して記憶手段に記録するページ関連データ生成ステップと、
前記ページ関連データが生成されたページが前記表示手段に表示された場合に、前記文字領域候補の指定操作を受け付ける受付ステップと、
前記受付ステップにより前記指定操作が受け付けられた後に、前記指定操作により指定された文字領域候補に文字が含まれるか否かを判定する操作後文字判定ステップと、
を含み、
前記表示制御ステップでは、前記操作後文字判定ステップにより文字が含まれると判定された文字領域候補内を拡大して前記表示手段に表示させる、
を含むことを特徴とする電子書籍表示方法。
【請求項２０】
複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得ステップと、
前記データ取得ステップにより取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御ステップと、
ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域を抽出して前記ページ関連データとして生成して記憶手段に記録するページ関連データ生成ステップと、
前記ページ関連データが生成されたページが前記表示手段に表示された場合に、前記文字領域の指定操作を受け付ける受付ステップと、
を含み、
前記表示制御ステップでは、前記受付ステップにより前記指定操作が受け付けられた場合に、前記指定操作により指定された文字領域内を拡大して前記表示手段に表示させる、
ことを特徴とする電子書籍表示方法。
【請求項２１】
複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得手段、
前記データ取得手段により取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御手段、
ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域候補を抽出して前記ページ関連データとして生成して記憶手段に記録するページ関連データ生成手段、
前記ページ関連データが生成されたページが前記表示手段に表示された場合に、前記文字領域候補の指定操作を受け付ける受付手段、
前記受付手段により前記指定操作が受け付けられた後に、前記指定操作により指定された文字領域候補に文字が含まれるか否かを判定する操作後文字判定手段、
としてコンピュータを機能させ、
前記表示制御手段は、前記操作後文字判定手段により文字が含まれると判定された文字領域候補内を拡大して前記表示手段に表示させる、
ことを特徴とするプログラム。
【請求項２２】
複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得手段、
前記データ取得手段により取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御手段、
ページ関連データが生成されていないページが前記表示手段に表示される前に、当該ページ内の文字領域を抽出して前記ページ関連データとして生成して記憶手段に記録するページ関連データ生成手段、
前記ページ関連データが生成されたページが前記表示手段に表示された場合に、前記文字領域の指定操作を受け付ける受付手段、
としてコンピュータを機能させ、
前記表示制御手段は、前記受付手段により前記指定操作が受け付けられた場合に、前記指定操作により指定された文字領域内を拡大して前記表示手段に表示させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子書籍表示装置、電子書籍表示方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、複数ページからなる電子書籍データに基づいて、各ページに関するページ関連データを生成する技術が知られている。例えば、特許文献１には、複数ページからなる漫画の電子書籍データを販売する前に、各ページ内のコマの位置及び順序、吹き出しの位置及び順序等のページ関連データを予め抽出しておき、漫画の画像データとともにページ関連データを販売してユーザの端末のメモリに記憶させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４８１８４１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、例えば、電子書籍の画像データだけでなく、ページ関連データもダウンロードしてユーザの端末のメモリに記憶させる必要があるので、メモリの使用量が大きくなってしまう。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、メモリ使用量を抑えつつ、ページ関連データを利用可能にすることである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る電子書籍表示装置は、複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得手段と、前記データ取得手段により取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御手段と、前記表示手段に表示された前記１又は複数のページよりも前及び後の少なくとも一方のページが前記表示手段に表示される前に、前記少なくとも一方のページに基づいてページ関連データを生成して記憶手段に記録するページ関連データ生成手段と、を含むことを特徴とする。【０００７】
本発明に係る電子書籍表示方法は、複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得ステップと、前記データ取得ステップにより取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御ステップと、前記表示手段に表示された前記１又は複数のページよりも前及び後の少なくとも一方のページが前記表示手段に表示される前に、前記少なくとも一方のページに基づいてページ関連データを生成して記憶手段に記録するページ関連データ生成ステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、複数のページからなる電子書籍データを記憶する手段に記憶された前記電子書籍データを取得するデータ取得手段、前記データ取得手段により取得された電子書籍データに基づいて、前記複数のページのうち指定された１又は複数のページを表示手段に表示させる表示制御手段、前記表示手段に表示された前記１又は複数のページよりも前及び後の少なくとも一方のページが前記表示手段に表示される前に、前記少なくとも一方のページに基づいてページ関連データを生成して記憶手段に記録するページ関連データ生成手段、としてコンピュータを機能させる。【０００９】
本発明に係る情報記憶媒体は、上記記載のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。【００１０】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページが前記表示手段に表示される前に、前記少なくとも一方のページ内の文字領域候補を抽出して前記ページ関連データとして生成して記録し、前記電子書籍表示装置は、前記少なくとも一方のページが前記表示手段に表示された場合に、前記文字領域候補の指定操作を受け付ける受付手段と、前記受付手段により前記指定操作が受け付けられた後に、前記指定操作により指定された文字領域候補に文字が含まれるか否かを判定する操作後文字判定手段と、を更に含み、前記表示制御手段は、前記操作後文字判定手段により文字が含まれると判定された文字領域候補内を拡大して前記表示手段に表示させる、ことを特徴とする。【００１１】
また、本発明の一態様によれば、前記電子書籍表示装置は、前記受付手段により前記指定操作が受け付けられる前に、前記文字領域候補に対して第１の文字判定処理を実行する操作前文字判定手段を更に含み、前記操作後文字判定手段は、前記操作前文字判定手段により文字が含まれると判定された文字領域候補が前記指定操作により指定された場合に、前記第１の文字判定処理よりも精度の高い第２の文字判定処理を実行する、ことを特徴とする。【００１２】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページ内の前記文字領域候補の数が基準未満である場合、前記少なくとも一方のページの次のページの文字領域候補を更に抽出してページ関連データとして生成して記録する、ことを特徴とする。【００１３】
また、本発明の一態様によれば、前記電子書籍表示装置は、前記文字領域候補の輪郭又は前記文字領域候補自身の大きさが基準以上であるか否かを判定する大きさ判定手段を更に含み、前記操作後文字判定手段は、前記大きさ判定手段により基準未満の大きさと判定された前記文字領域候補は判定対象とせず、前記大きさ判定手段により基準以上の大きさと判定された前記文字領域候補に文字が含まれるか否かを判定する、ことを特徴とする。【００１４】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページの下部領域は文字領域候補を抽出せずに上部領域内の文字領域候補を抽出する手段と、前記少なくとも一方のページ内の各文字領域の読み順に、基準数になるまで文字領域候補を抽出する手段と、の少なくとも一方を含むことを特徴とする。【００１５】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページが前記表示手段に表示される前に、前記少なくとも一方のページ内の文字領域を抽出して前記ページ関連データとして生成して記録し、前記電子書籍表示装置は、前記少なくとも一方のページが前記表示手段に表示された場合に、前記文字領域の指定操作を受け付ける受付手段を更に含み、前記表示制御手段は、前記受付手段により前記指定操作が受け付けられた場合に、前記指定操作により指定された文字領域内を拡大して前記表示手段に表示させる、ことを特徴とする。【００１６】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページが前記表示手段に表示される前に、前記少なくとも一方のページ内の文字領域候補を抽出する手段を含み、当該文字領域候補に文字が含まれるか否かを判定することによって、前記文字領域を抽出する、ことを特徴とする。【００１７】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページが前記表示手段に表示される前に、前記文字領域候補に対して第１の文字判定処理を実行し、当該第１の文字判定処理により文字が含まれると判定された文字領域候補に対して、前記第１の文字判定処理よりも精度の高い第２の文字判定処理を実行することによって、前記文字領域を抽出する、ことを特徴とする。【００１８】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記文字領域候補の輪郭又は前記文字領域候補自身の大きさが基準以上であるか否かを判定する大きさ判定手段を含み、前記大きさ判定手段により基準未満の大きさと判定された前記文字領域候補は判定対象とせず、前記大きさ判定手段により基準以上の大きさと判定された前記文字領域候補に文字が含まれるか否かを判定することによって、前記文字領域を抽出する、ことを特徴とする。【００１９】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページ内の前記文字領域の数が基準未満である場合、前記少なくとも一方のページの次のページ内の文字領域を更に抽出してページ関連データとして生成して記録する、ことを特徴とする。【００２０】
また、本発明の一態様によれば、前記ページ関連データ生成手段は、前記少なくとも一方のページの下部領域は文字領域を抽出せずに上部領域内の文字領域を抽出する手段と、
前記少なくとも一方のページ内の各文字領域の読み順に、基準数になるまで文字領域を抽出する手段と、の少なくとも一方を含むことを特徴とする。【００２１】
また、本発明の一態様によれば、前記電子書籍表示装置は、当該電子書籍表示装置のユーザによる前記指定操作の履歴に関する履歴データを記憶する手段に記憶された前記履歴データを取得する手段を更に含み、前記ページ関連データ生成手段は、前記履歴データに基づいて、前記ユーザによる前記指定操作の頻度が基準以上であるか否かを判定する頻度判定手段を含み、前記頻度判定手段により基準以上であると判定された場合に前記ページ関連データを生成して記録する、ことを特徴とする。【００２２】
また、本発明の一態様によれば、前記電子書籍表示装置は、当該電子書籍表示装置のユーザにより前記指定操作が行われたページに関するページデータを記憶する手段に記憶された前記ページデータを取得する手段を更に含み、前記ページ関連データ生成手段は、前記ページデータに基づいて、前記ユーザにより前記少なくとも一方のページに対して過去に前記指定操作が行われたか否かを判定する過去判定手段を含み、前記過去判定手段により前記指定操作が行われたと判定された場合に前記ページ関連データを生成して記録する、ことを特徴とする。【００２３】
また、本発明の一態様によれば、前記電子書籍表示装置は、当該電子書籍表示装置のユーザ以外の他のユーザにより前記指定操作が行われたページに関するページデータを記憶する手段に記憶された前記ページデータを取得する手段を更に含み、前記ページ関連データ生成手段は、前記ページデータに基づいて、前記他のユーザにより前記少なくとも一方のページに対して過去に前記指定操作が行われたか否かを判定する過去判定手段を含み、前記過去判定手段により前記指定操作が行われたと判定された場合に前記ページ関連データを生成して記録する、ことを特徴とする。【００２４】
また、本発明の一態様によれば、前記電子書籍表示装置は、当該電子書籍表示装置のユーザの年齢に関する年齢情報を取得する手段を更に含み、前記ページ関連データ生成手段は、前記年齢情報に基づいて、前記ユーザの年齢が基準以上であるか否かを判定する年齢判定手段を含み、前記年齢判定手段により基準以上であると判定された場合に前記ページ関連データを生成して記録する、ことを特徴とする。【００２５】
また、本発明の一態様によれば、前記電子書籍表示装置は、前記表示手段の画面サイズに関するサイズ情報を取得する手段を更に含み、前記ページ関連データ生成手段は、前記サイズ情報に基づいて、前記表示手段の画面サイズが基準未満であるか否かを判定するサイズ判定手段を含み、前記サイズ判定手段により基準未満であると判定された場合に前記ページ関連データを生成して記録する、ことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、メモリ使用量を抑えつつ、ページ関連データを利用可能にすることが可能になる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態における電子書籍表示装置のハードウェア構成を示す図である。
【図２】電子書籍表示装置で実現される機能の一例を示す機能ブロック図である。
【図３】電子書籍データの一例を示す図である。
【図４】ページの一例を示す図である。
【図５】輪郭と領域の大きさの説明図である。
【図６】２値化され反転されたページを示す図である。
【図７】図６に示すページから抽出された輪郭線を示す図である。
【図８】基準以上の大きさの輪郭線を拡大した後の各輪郭線の状態を示す図である。
【図９】拡大した輪郭線が重畳されたページを示す図である。
【図１０】拡張部の処理内容の説明図である。
【図１１】拡張部の処理内容の説明図である。
【図１２】拡張部により領域が拡張された後の状態を示す図である。
【図１３】輪郭の大きさが基準未満である領域が背景色で塗りつぶされた後の状態を示す図である。
【図１４】文字領域候補の一例を示す図である。
【図１５】学習データを用いた文字判定処理の説明図である。
【図１６】文字群が拡大表示される様子を示す図である。
【図１７】電子書籍表示装置において実行される処理の一例を示すフロー図である。
【図１８】ページ関連データ生成処理の説明図である。
【図１９】実施形態２の機能ブロック図である。
【図２０】光学文字認識の結果を示す図である。
【図２１】実施形態２のフロー図である。
【図２２】実施形態２のページ関連データ生成処理の説明図である。
【図２３】変形例（１）の機能ブロック図である。
【図２４】ページの上部領域及び下部領域の説明図である。
【図２５】ページにおける読み順の説明図である。
【図２６】変形例（２）の機能ブロック図である。
【図２７】変形例（３）の機能ブロック図である。
【発明を実施するための形態】
【００２８】
［１．実施形態１］
以下、本発明に係る実施形態を図面に基づき詳細に説明する。
【００２９】
［１−１．電子書籍表示装置のハードウェア構成］
図１は、本実施形態における電子書籍表示装置のハードウェア構成を示す図である。電子書籍表示装置１は、ユーザが操作するコンピュータであり、例えば、携帯電話機（スマートフォンを含む）、携帯情報端末（タブレット型コンピュータを含む）、電子書籍リーダー端末、又はパーソナルコンピュータ等である。図１に示すように、電子書籍表示装置１は、制御部１０、記憶部１１、通信部１２、操作部１３、表示部１４、及び入出力部１５を含む。
【００３０】
制御部１０は、例えば、一又は複数のマイクロプロセッサを含む。制御部１０は、記憶部１１に記憶されたプログラムやデータに従って処理を実行する。記憶部１１は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭであり、補助記憶部は、ハードディスク又はソリッドステートドライブ等である。通信部１２は、ネットワークカード等の通信インタフェースである。
【００３１】
操作部１３は、一般的な入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスである。操作部１３は、ユーザの操作内容を制御部１０に伝達する。表示部１４は、例えば、液晶表示部又は有機ＥＬ表示部等である。表示部１４は、制御部１０の指示に従って画面を表示する。入出力部１５は、外部機器とのデータの入出力を行う入出力インタフェースである。例えば、入出力部１５は、コンピュータ読み取り可能な情報記憶媒体（例えば、光ディスクやメモリカード等）からデータやプログラムを読み取る。
【００３２】
なお、記憶部１１に記憶されるものとして説明するプログラム及びデータは、ネットワークに接続されたサーバコンピュータから、通信部１２を介して記憶部１１に供給されるようにしてもよいし、情報記憶媒体から、入出力部１５を介して記憶部１１に供給されるようにしてもよい。また、電子書籍表示装置１のハードウェア構成は、上記の例に限られず、種々のコンピュータのハードウェアを適用可能である。
【００３３】
［１−２．電子書籍表示装置において実現される機能］
図２は、電子書籍表示装置１で実現される機能の一例を示す機能ブロック図である。図２に示すように、電子書籍表示装置１では、データ記憶部１００、データ取得部１０１、ページ送り操作受付部１０２、表示制御部１０３、ページ関連データ生成部１０４、指定操作受付部１０５、及び操作後文字判定部１０６が実現される。データ記憶部１００は、記憶部１１を主として実現され、他の各機能は、制御部１０を主として実現される。
【００３４】
［１−２−１．データ記憶部］
データ記憶部１００は、複数のページからなる電子書籍データを記憶する。図３は、電子書籍データの一例を示す図である。図３に示すように、本実施形態では、電子書籍の各ページに「ＰＮ」のように符号を付して説明する。「ＰＮ」の「Ｎ」は、自然数であり、ページ数を示す。図３に示す電子書籍は５０ページから構成されているので、Ｎは、１〜５０の数値をとる。例えば、ページＰ２０と記載した場合は、第２０ページのことを示し、ページＰ２１と記載した場合は、第２１ページのことを示す。
【００３５】
電子書籍は、表示部１４に電子的に表示される書籍であればよく、例えば、漫画、絵本、又は雑誌である。電子書籍は、少なくとも文字を含む。電子書籍は、文字以外に、絵・写真・図形等を含むようにしてよい。なお、ここでの絵とは、人が手で描画した絵をスキャナで読み込んで電子化したものに限らず、人がコンピュータを使って描画したＣＧを含む意味である。電子書籍データのデータ形式は、一般的に電子書籍で用いられているデータ形式を用いればよい。
【００３６】
電子書籍データは、各ページＰＮの画像データを含む。ページＰＮごとに画像データが存在してもよいし、全てのページＰＮをひとまとめにした１つの画像データのみが存在してもよい。また、電子書籍は、カラーであってもよいし、モノクロ又はグレースケールであってもよい。なお、電子書籍データは、画像データに付帯する付帯データを含んでもよい。付帯データは、各ページのページ数や発行年月日等である。本実施形態では、複数ページから構成されるグレースケールの漫画を、電子書籍の一例として説明する。
【００３７】
なお、データ記憶部１００は、電子書籍データ以外のデータを記憶していてもよい。例えば、データ記憶部１００は、電子書籍リーダーのアプリケーション（ビューワアプリケーション）を記憶してもよい。また例えば、データ記憶部１００は、後述する文字判定のための学習データを記憶してもよい。
【００３８】
［１−２−２．データ取得部］
データ取得部１０１は、複数のページＰＮからなる電子書籍データを記憶するデータ記憶部１００に記憶された電子書籍データを取得する。先述のように、電子書籍データは、画像データを含んでいるが、データ取得部１０１は、全てのページＰＮの画像データを一度に取得してもよいし、一部のページＰＮの画像データのみを取得してもよい。データ取得部１０１が一部のページＰＮの画像データのみを取得する場合、データ取得部１０１は、表示対象のページＰＮの画像データのみを取得してもよいし、表示対象のページＰＮとその前後のページＰＮの画像データを取得してもよい。なお、表示対象となるのは、１つのページＰＮだけであってもよいし、見開き等のように複数のページＰＮであってもよい。更に、本実施形態のように電子書籍が漫画の場合、１つのページＰＮの中の１コマのみが表示対象となってもよい。本実施形態では、複数のページＰＮのうちの何れか１つのページＰＮが表示対象になる場合を例に挙げて説明する。
【００３９】
［１−２−３．ページ送り操作受付部］
ページ送り操作受付部１０２は、ページ送り操作を受け付ける。ページ送り操作は、表示部１４に表示させるページＰＮを指定するための操作である。別の言い方をすれば、ページ送り操作は、表示部１４に表示されたページＰＮを切り替えるための操作である。ページ送り操作は、所定の操作であればよく、例えば、表示部１４に表示されたアイコンを選択する操作であってもよいし、操作部１３がタッチパネルであればフリック操作であってもよい。本実施形態では、表示対象となるのが１つのページＰＮなので、ページ送り操作は、何れか１つのページＰＮを指定するための操作と言える。
【００４０】
［１−２−４．表示制御部］
本実施形態では、表示制御部１０３は、データ取得部１０１により取得された電子書籍データに基づいて、複数のページＰＮのうち指定されたページＰＮを表示部１４に表示させる。表示制御部１０３は、ページ送り操作により指定されたページＰＮを表示部１４に表示させることになる。例えば、表示制御部１０３は、ページ送り操作受付部１０２によりページ送り操作が受け付けられた場合、表示中のページＰＮの１つ後のページＰＮ＋１又は１つ前のページＰＮ−１を表示部１４に表示させる。
【００４１】
なお、ページ送り操作により表示対象のページ数そのものを指定できるようにしてもよい。例えば、表示部１４にページＰ２０が表示された状態において、ページＰ２１〜Ｐ２９を飛ばして、ページ送り操作でページＰ３０を指定できるようにしてよい。また、本実施形態のように表示対象となるのが１つのページＰＮの場合、表示制御部１０３は、そのページＰＮの全体を表示させてもよいし、ページＰＮ内の一部のみを表示させてもよい。ページＰＮ内の一部のみを表示させる場合、表示制御部１０３は、ユーザが操作部１３を用いて指示した部分を表示させることになる。
【００４２】
［１−２−５．ページ関連データ生成部］
本実施形態では、ページ関連データ生成部１０４は、表示部１４に表示されたページＰＮよりも前及び後の少なくとも一方のページＰＮ−Ｋ，ＰＮ＋Ｋ（Ｋは自然数）が表示部１４に表示される前に、少なくとも一方のページＰＮ−Ｋ，ＰＮ＋Ｋに基づいてページ関連データを生成してデータ記憶部１００に記録する。なお、ページＰＮ−Ｋは、ページＰＮのＫページだけ前であり、ページＰＮ＋Ｋは、ページＰＮのＫページだけ後である。
【００４３】
ページ関連データは、各ページＰＮに画像処理を施すことで得られるデータである。本実施形態では、文字領域候補を示すデータが、ページ関連データに相当する場合を説明する。文字領域候補は、文字判定の対象となる領域である。別の言い方をすれば、文字領域候補は、文字が含まれている可能性のある領域である。このため、本実施形態では、ページ関連データ生成部１０４は、少なくとも一方のページＰＮ−Ｋ，ＰＮ＋Ｋが表示部１４に表示される前に、少なくとも一方のページＰＮ−Ｋ，ＰＮ＋Ｋ内の文字領域候補を抽出してページ関連データとして生成して記録することになる。
【００４４】
ページ関連データ生成部１０４は、あるページＰＮよりも前のページＰＮ−Ｋだけページ関連データを生成してもよいし、後のページＰＮ＋Ｋだけページ関連データを生成してもよいし、これらの両方についてページ関連データを生成してもよい。本実施形態では、ページ関連データ生成部１０４が、表示中のページＰＮの次のページＰＮ＋１のページ関連データを生成する場合を説明する。
【００４５】
例えば、電子書籍リーダーのアプリケーションが起動すると、表示制御部１０３は１ページ目のページＰ１を表示部１４に表示させることになるが、ページ関連データ生成部１０４は、ページＰ１が表示部１４に表示される前に、ページＰ１のページ関連データを生成して記録する。そして、表示制御部１０３がページＰ１を表示部１４に表示させると、ページ関連データ生成部１０４は、次のページＰ２が表示部１４に表示される前に、ページＰ２のページ関連データを予め生成して記録しておく。そして、ページ送り操作が行われて表示制御部１０３がページＰ２を表示させる場合、ページ関連データ生成部１０４は、次のページＰ３が表示部１４に表示される前に、ページＰ３のページ関連データを予め生成して記録することになる。以降同様にして、ページＰ４〜Ｐ５０のページ関連データが生成されることになる。
【００４６】
なお、本実施形態では、電子書籍リーダーのアプリケーションを終了するまで、ページ関連データ生成部１０４が生成したページ関連データがデータ記憶部１００に保持される場合を説明するが、アプリケーションの終了前に、所定のタイミングでページ関連データが破棄されるようにしてもよい。例えば、表示中のページＰＮからページ数が離れたページ関連データについては、破棄するようにしてもよい。
【００４７】
次に、ページ関連データを生成する処理の詳細を説明するが、ここでは、表示制御部１０３がページＰ２０を表示部１４に表示させた場合に、次のページＰ２１が表示部１４に表示される前に、ページ関連データ生成部１０４がページＰ２１のページ関連データを生成する場合を例に挙げて説明する。
【００４８】
図４は、ページＰ２１の一例を示す図である。本実施形態では、漫画を電子書籍の一例として説明するので、図４に示すように、ページＰ２１は、１又は複数のコマ２１を含む。コマ２１は、ページ内で絵や文字が描画される区画である。図４の例では、ページＰ２１は、２つのコマ２１（これらをコマ２１Ａ，２１Ｂとも記載する）を含む。図４の例では、各コマ２１は、枠で囲われているが、枠で囲われていなくてもよい。
【００４９】
各コマ２１は、絵、吹き出し線、文字等の物体を含む。吹き出し線は、漫画のキャラクタの台詞を表す。キャラクタは、漫画の登場人物であり、人間以外にも動物・ロボット・架空の生物であってもよい。吹き出し線の内側には、キャラクタの台詞を表す１又は複数の文字が含まれている。以降、複数の文字のまとまりのことを文字群という。図３の例では、コマ２１Ａには、キャラクタ２２Ａ、吹き出し線２３Ａ、文字群２４Ａ、及び太陽２５Ａが描かれており、コマ２１Ｂには、キャラクタ２２Ｂ，２２Ｃ、吹き出し線２３Ｂ、文字群２４Ｂ、及び食器２５Ｂが描かれている。なお、キャラクタ２２Ａ〜２２Ｃ、太陽２５Ａ、及び食器２５Ｂは、上記説明した絵の一例である。吹き出し線２３Ａは、キャラクタ２２Ａの台詞を示し、吹き出し線２３Ｂは、キャラクタ２２Ｃの台詞を示す。
【００５０】
本実施形態では、ページ関連データ生成部１０４は、結合制限部１０４Ａ、拡張部１０４Ｂ、及び判定制限部１０４Ｃを含み、下記に説明するように、図４に示すページＰ２１内の文字群２４Ａ，２４Ｂを文字のかたまりとして検出することによって、文字領域候補を示すページ関連データを生成している。
【００５１】
［結合制限部］
結合制限部１０４Ａは、領域の輪郭又は当該領域自身の大きさが基準以上である場合、当該領域と、後述する拡張部１０４Ｂにより拡張した領域と、が結合することを制限する。例えば、文字群２４Ａが拡張して吹き出し線２３Ａに結合すると、文字群２４Ａを文字のかたまりとして検出できなくなってしまう。このため、結合制限部１０４Ａは、下記に説明するようにして、これらの結合を制限することで、文字群２４Ａの検出の精度を高めるようにしている。
【００５２】
領域とは、ページＰ２１のうち物体が描かれている部分（画素）であり、背景色（例えば、白）以外の色（例えば、黒又はグレー）の部分である。例えば、キャラクタ２２Ａ〜２２Ｃ、吹き出し線２３Ａ，２３Ｂ、文字群２４Ａ，２４Ｂ、太陽２５Ａ、及び食器２５Ｂ等の物体が描かれている部分が、本実施形態でいう領域に相当する。なお、物体は、ページＰ２１の背景以外の部分に表れている描画物といえる。
【００５３】
輪郭は、領域を縁取ったものであり、本実施形態では、電子書籍表示装置１が線として表現したものを輪郭線と記載する。領域は、輪郭の内部、又は、輪郭と輪郭で挟まれた部分ということもできる。例えば、文字群２４Ａであれば、「Ｌ」の文字は、輪郭の内部が領域であり、「Ｏ」の文字は、外周の輪郭と内周の輪郭とに挟まれた部分が領域である。
【００５４】
輪郭の大きさは、例えば、輪郭の幅、輪郭線の長さ、輪郭の内側の面積等であってよいが、本実施形態では、輪郭の外接矩形の大きさを、輪郭の大きさとして用いる。領域の大きさは、例えば、領域の幅であってよいが、本実施形態では、領域の外接矩形の大きさを、領域の大きさとして用いる。
【００５５】
図５は、輪郭と領域の大きさの説明図である。図５のＸｓ軸及びＹｓ軸は、スクリーン座標系の座標軸である。ここでは、領域の一例として吹き出し線２３Ａを挙げて、吹き出し線２３Ａの輪郭の大きさと、吹き出し線２３Ａ自身の大きさと、について説明する。図５では、吹き出し線２３Ａの外周輪郭線と内周輪郭線を破線で描き、吹き出し線２３Ａ自身を実線で描いている。なお、図５では、説明の都合上、実線と破線の間に間隔を設けているが、実際には、これらに間隔はない。
【００５６】
例えば、輪郭線の外接矩形は、輪郭線のうち、Ｘｓ座標の最小値と及び最大値の間であり、かつ、Ｙｓ座標の最小値と最大値の間の領域である。図５に示す例では、外周輪郭線の外接矩形は、点Ｑ１Ａ〜Ｑ４Ａを頂点とする長方形なので、この長方形の大きさが外周輪郭線の大きさに相当する。一方、内周輪郭線の外接矩形は、点Ｑ１Ｂ〜Ｑ４Ｂを頂点とする長方形なので、この長方形の大きさが内周輪郭線の大きさに相当する。
【００５７】
また例えば、吹き出し線２３Ａの外接矩形は、吹き出し線２３Ａが占める画素のうち、Ｘｓ座標の最小値と最大値の間であり、かつ、Ｙｓ座標の最小値と最大値の間の領域である。吹き出し線２３Ａの外接矩形は、点Ｑ１Ｃ〜Ｑ４Ｃを頂点とする長方形なので、この長方形の大きさが吹き出し線２３Ａ自身の大きさに相当する。
【００５８】
結合制限部１０４Ａは、輪郭の大きさと領域自身の大きさの何れを用いてもよいが、本実施形態では、輪郭の大きさを用いる場合を説明する。結合制限部１０４Ａは、ページＰ２１内の各領域の輪郭の外接矩形を抽出し、外接矩形の大きさが基準以上であるか否かを判定する。なお、大きさを示す数値としては、外接矩形の縦幅及び横幅の少なくとも一方が用いられてもよいし、外接矩形の面積が用いられてもよい。他にも例えば、外接矩形の対角線の長さが、大きさを示す数値として用いられてもよい。本実施形態では、大きさを示す数値として、外接矩形の縦幅と横幅の両方が用いられる場合を例に挙げて説明する。
【００５９】
大きさの基準を示す閾値Ｔ１は、固定値であってもよいし、可変値であってもよい。閾値Ｔ１が固定値である場合には、データ記憶部１００にその値が記憶されており、閾値Ｔ１が可変値である場合には、データ記憶部１００に記憶された数値をもとに計算されることになる。本実施形態では、閾値Ｔ１が固定値である場合を説明する。例えば、結合制限部１０４Ａは、外接矩形の縦幅と横幅がそれぞれ閾値Ｔ１以上であるか否かを判定することによって、各輪郭の大きさが基準以上であるか否かを判定する。
【００６０】
本実施形態では、結合制限部１０４Ａは、領域の輪郭の大きさが基準以上である場合、当該領域を背景色で塗りつぶすことによって、後述する拡張部１０４Ｂにより拡張した領域と結合することを制限する場合を説明する。背景色は、画像に対して指定された所定の色であり、例えば、画像内で占める割合が最も多い色である。例えば、背景色は、白又は黒である。なお、本実施形態における結合とは、ある領域が他の領域と接触又は重畳して１つの領域となることである。
【００６１】
例えば、吹き出し線２３Ａの輪郭は比較的大きいので、結合制限部１０４Ａは、吹き出し線２３Ａの輪郭を基準以上の大きさであると判定し、吹き出し線２３Ａを背景色で塗りつぶすことになる。その結果、吹き出し線２３Ａと、後述する拡張部１０４Ｂにより拡張された文字群２４Ａと、が結合することを防止することができるようになっている。具体的には、本実施形態では、結合制限部１０４Ａは、下記のように、（１）２値化反転処理、（２）輪郭抽出処理、（３）輪郭線拡大処理、（４）拡大輪郭線重畳処理を実行することによって、吹き出し線２３Ａ等を塗りつぶすことになる。
【００６２】
［２値化反転処理］
まず、結合制限部１０４Ａは、ページＰ２１に対して２値化処理と反転処理を実行する。図６は、２値化され反転されたページＰ２１を示す図である。結合制限部１０４Ａは、図３に示すページＰ２１の各画素の画素値と閾値に基づいて２値化処理を実行し、各画素を白又は黒に設定する。２値化処理自体は、公知の種々のアルゴリズムを適用可能であり、例えば、Ｐタイル法やモード法によって閾値を定めてもよい。結合制限部１０４Ａは、２値化した各画素の画素値を反転させ、白の画素を黒にして黒の画素を白にすることによって、図５に示すページＰ２１を、図６に示す状態にする。反転処理自体も、公知の種々の手法を適用可能であり、例えば、各色の画素値の最大値（８ビットグレースケールなら２５５）から画素値の現在値を引くことで反転後の画素値を計算してもよい。
【００６３】
［輪郭抽出処理］
結合制限部１０４Ａは、２値化して反転させたページＰ２１（図６）に対して輪郭抽出処理を実行し、閉領域の輪郭を抽出する。図７は、図６に示すページＰ２１から抽出された輪郭線を示す図である。図７では、結合制限部１０４Ａが抽出した輪郭線を破線で示している。輪郭線は、所定の太さの線（例えば、１ピクセル）であればよい。また、輪郭線の色は、予め定められた色であればよいが、ここでは黒とする。これは、２値化して反転させたページＰ２１（図６）内の吹き出し線２３Ａ，２３Ｂが白で描かれているため、これを背景色である黒で塗りつぶすためである。
【００６４】
なお、輪郭抽出処理自体は、公知の種々の輪郭抽出アルゴリズムを適用可能であり、例えば、微分フィルタ、Prewittフィルタ、又はSobelフィルタ等を用いて画像内のエッジを検出することによって、各領域の輪郭を抽出するようにしてよい。また、図６に示すページＰ２１では、キャラクタ２２Ａの左側頭部と左肩がコマ２１Ａの輪郭に触れているので、図７に示すように、キャラクタ２２Ａとコマ２１Ａの輪郭線は一連のものになっている。
【００６５】
［輪郭線拡大処理］
結合制限部１０４Ａは、輪郭抽出処理によって抽出した輪郭線のうち、基準以上の大きさの輪郭線を拡大する。結合制限部１０４Ａは、各輪郭線の外接矩形を抽出して、その大きさが閾値Ｔ１以上であるか否かを判定することになる。先述したように、本実施形態では、外接矩形の縦幅と横幅を大きさとして用いるので、結合制限部１０４Ａは、外接矩形の縦幅と横幅がそれぞれ閾値Ｔ１以上であるか否かを判定することによって、各輪郭線の大きさが基準以上であるか否かを判定する。
【００６６】
結合制限部１０４Ａは、基準以上の大きさの輪郭線を拡大する。輪郭線を拡大するとは、輪郭線を太くすることである。輪郭線の拡大の程度（線を太らせるピクセル数）は、固定値であってもよいし、可変値であってもよい。固定値である場合には、データ記憶部１００にその値が記憶されており、可変値である場合には、データ記憶部１００に記憶された数値をもとに計算されることになる。例えば、結合制限部１０４Ａは、輪郭線の位置や輪郭線の大きさに基づいて、当該輪郭線の拡大の程度を計算してもよい。この場合、輪郭線が画像の中央付近にあるほど、その輪郭線が吹き出し線２３Ａ，２３Ｂのものである蓋然性が高いので、輪郭線の拡大の程度を大きくして、より確実に塗りつぶせるようにしてもよい。また例えば、輪郭線が大きいほど、その輪郭線が吹き出し線２３Ａ，２３Ｂのものである蓋然性が高いので、輪郭線の拡大の程度を大きくして、より確実に塗りつぶせるようにしてもよい。本実施形態では、拡大の程度が固定値であり、所定ピクセル分だけ線を太らせる場合を説明する。
【００６７】
図８は、基準以上の大きさの輪郭線を拡大した後の各輪郭線の状態を示す図である。図８に示す例では、コマ２１Ａ，２１Ｂの輪郭線、キャラクタ２２Ａ〜２２Ｃの一部の輪郭線、吹き出し線２３Ａ，２３Ｂの輪郭線、及び太陽２５Ａの一部の輪郭線が所定ピクセル分だけ太くなっている。図８に示すように、結合制限部１０４Ａが輪郭線を拡大させると、近くにある輪郭線同士が結合して１つの太い輪郭線になることがある。例えば、図８に示す例では、吹き出し線２３Ａ，２３Ｂの外周の輪郭線と内周の輪郭線がそれぞれ拡大し、これらが互いに結合して１つの太い輪郭線となっている。
【００６８】
［拡大輪郭線重畳処理］
結合制限部１０４Ａは、２値化して反転させたページＰ２１（図６）に、拡大した輪郭線（図８）を重畳させる。図９は、拡大した輪郭線が重畳されたページＰ２１を示す図である。図９に示すように、拡大して太い１本になった輪郭線で吹き出し線２３Ａ，２３Ｂを重畳したことによって、吹き出し線２３Ａ，２３Ｂが黒く塗りつぶされている。このため、後述する処理によって、拡張部１０４Ｂが文字群２４Ａ，２４Ｂを拡張したとしても、吹き出し線２３Ａ，２３Ｂに結合しないことになる。
【００６９】
上記のようにして、吹き出し線２３Ａ，２３Ｂを背景色で塗りつぶすことができる。なお、吹き出し線２３Ａ，２３Ｂを背景色で塗りつぶす方法は、上記説明した方法に限られない。例えば、結合制限部１０４Ａは、基準以上の大きさの輪郭線で挟まれた領域（例えば、吹き出し線２３Ａ，２３Ｂ）を選択して、その選択範囲についてのみ、もう一度色の反転処理をしてもよい。このようにすれば、例えば、図６に示す吹き出し線２３Ａ，２３Ｂの色が白から黒に戻るので、吹き出し線２３Ａ，２３Ｂを黒く塗りつぶすことができる。他にも例えば、結合制限部１０４Ａは、基準以上の大きさの輪郭線で挟まれた領域であり、かつ、当該輪郭線の間隔が一定距離未満である領域を、背景色で塗りつぶすようにしてもよい。更に、例えば、結合制限部１０４Ａは、輪郭線で挟まれた領域が一定距離以上続いている区間を、背景色で塗りつぶすようにしてもよい。結合制限部１０４Ａの処理対象となる領域に、このような条件を追加することによって、当該条件によって特定される領域が、吹き出し線２３Ａ，２３Ｂのような線が描かれた部分である蓋然性が高まる。このため、より確実に、吹き出し線２３Ａ，２３Ｂのような線の部分を塗りつぶし、文字群２４Ａ，２４Ｂと結合することを防止することができる。
【００７０】
また例えば、吹き出し線２３Ａ，２３Ｂと、文字群２４Ａ，２４Ｂと、を結合させないようにする方法は、吹き出し線２３Ａ，２３Ｂを背景色で塗りつぶす方法に限られない。例えば、結合制限部１０４Ａは、基準以上の大きさの領域の位置（領域を構成する画素の位置）をデータ記憶部１００に記録しておき、後述する拡張部１０４Ｂにより拡張された領域が当該画素に含まれても、その画素は同じ領域とみなさないようにしてもよい。同じ領域とみなさないためには、例えば、同一領域を抽出するラベリング処理において、同じ番号を振らないようにすればよい。他にも例えば、結合制限部１０４Ａは、基準以上の大きさの輪郭線の方向には、拡張部１０４Ｂが領域を拡張しないように制限をするようにしてもよい。このようにすることでも、例えば、文字群２４Ａ，２４Ｂが吹き出し線２３Ａ，２３Ｂの方向には拡張しないので、吹き出し線２３Ａ，２３Ｂと、文字群２４Ａ，２４Ｂと、が結合することを防止することができる。
【００７１】
［拡張部］
拡張部１０４Ｂは、ページＰ２１内の複数の領域の各々を拡張する。なお、拡張部１０４Ｂは、図９に示すページＰ２１内の全ての領域を拡張してもよいし、結合制限部１０４Ａが抽出した輪郭の大きさが基準以上の領域は拡張せず、輪郭の大きさが基準未満の領域を拡張するようにしてもよい。即ち、例えば、拡張部１０４Ｂは、キャラクタ２２Ａ，２２Ｂ，２２Ｃの目・鼻・口等、文字群２４Ａ，２４Ｂの各文字、太陽２５Ａの一部、食器２５Ｂのように、輪郭の大きさが基準未満のもののみを拡張してもよい。
【００７２】
なお、領域を拡張するとは、領域を太らせることであり、領域が占める面積を大きくすることである。領域の拡張の程度は、固定値であってもよいし、可変値であってもよい。固定値である場合には、データ記憶部１００にその値が記憶されており、可変値である場合には、データ記憶部１００に記憶された数値をもとに計算されることになる。例えば、拡張部１０４Ｂは、画像における領域の位置や大きさに基づいて、当該領域の拡張の程度を計算してもよい。この場合、領域が画像の中央付近にあるほど、その領域が文字である蓋然性が高いので、領域の拡張の程度を大きくして、より確実に他の文字と結合させるようにしてもよい。また、他の領域との距離が近いほど、その領域が文字群の１文字である蓋然性が高いので、領域の拡張の程度を大きくして、より確実に他の文字と結合させるようにしてもよい。また例えば、領域の大きさが一定範囲（文字と推測される程度の広さ）におさまっていれば、その領域が文字である蓋然性が高いので、領域の拡張の程度を大きくして、より確実に他の文字と結合させるようにしてもよい。本実施形態では、拡張の程度が固定値であり、所定ピクセル分だけ領域を太らせる場合を説明する。
【００７３】
図１０及び図１１は、拡張部１０４Ｂの処理内容の説明図である。ここでは、拡張部１０４Ｂが、文字群２４Ａの各文字を拡張する場合を例に挙げて説明する。例えば、図１０に示すように、拡張部１０４Ｂは、「Ｈ」を所定ピクセル分だけ拡張する。別の言い方をすれば、拡張部１０４Ｂは、「Ｈ」から所定距離以内にある画素（即ち、「Ｈ」の周囲の画素）を白で塗りつぶす。拡張部１０４Ｂは、文字群２４Ａの「ＨＥＬＬＯ！  ＨＯＷ  ＡＲＥ  ＹＯＵ？」の「Ｈ」以外の文字も、「Ｈ」と同様に所定ピクセル分だけ拡張する。拡張部１０４Ｂが文字群２４Ａの各文字を拡張させると、図１１に示すように、文字群２４Ａの各文字が結合して、文字群２４Ａを１つの領域とすることができる。
【００７４】
図１２は、拡張部１０４Ｂにより領域が拡張された後の状態を示す図である。図１２に示すように、ここでは、文字群２４Ａ，２４Ｂに含まれる各文字の領域が拡張して互いに結合し、１つの領域になっている。他にも例えば、食器２５Ｂの各領域やキャラクタ２２Ｃの左目・鼻・口も拡張して互いに結合している。他の領域については、拡張はされたものの、付近に別の領域が無かったため結合していない。
【００７５】
［判定制限部］
判定制限部１０４Ｃは、拡張部１０４Ｂにより拡張した領域（図１２）の輪郭又は当該領域自身の大きさが基準未満である場合、当該領域が操作後文字判定部１０６の判定対象となることを制限する。なお、判定制限部１０４Ｃの説明でも、結合制限部１０４Ａと同様、輪郭の大きさが用いられる場合を説明する。
【００７６】
上記の基準を示す閾値Ｔ２は、閾値Ｔ１よりも小さくてよい。なお、閾値Ｔ２が固定値であってもよいし、可変値であってもよい点については、閾値Ｔ１と同様である。本実施形態では、外接矩形の縦幅と横幅を大きさとして用いるので、判定制限部１０４Ｃは、外接矩形の縦幅と横幅がそれぞれ閾値Ｔ２以上であるか否かを判定することによって、拡張部１０４Ｂにより拡張した領域の輪郭が基準未満であるか否かを判定する。
【００７７】
本実施形態では、判定制限部１０４Ｃは、拡張部１０４Ｂにより拡張した領域の輪郭の大きさが基準未満である場合、当該領域を背景色で塗りつぶすことによって、操作後文字判定部１０６の判定対象となることを制限する場合を説明する。図１３は、輪郭の大きさが基準未満である領域が背景色で塗りつぶされた後の状態を示す図である。例えば、キャラクタ２２Ａ，２２Ｃの目・鼻・口等、太陽２５Ａの一部の輪郭が基準未満の大きさであるため、図１３に示すように、判定制限部１０４Ｃは、これらを黒で塗りつぶしている。
【００７８】
なお、基準未満の大きさの領域を背景色で塗りつぶす以外の方法で、操作後文字判定部１０６の文字判定の対象外とするようにしてもよい。例えば、判定制限部１０４Ｃは、基準未満の大きさの領域の位置をデータ記憶部１００に記録しておき、ユーザがその領域を指定しても操作後文字判定部１０６による判定処理を実行しないようにしてもよい。
【００７９】
ページ関連データ生成部１０４は、上記のように画像処理を施したページＰ２１に基づいて、文字領域候補を示すページ関連データをデータ記憶部１００に記録する。本実施形態では、判定制限部１０４Ｃによる処理が実行された後のページＰ２１（図１３）内の白画素の閉領域が、文字領域候補となる。
【００８０】
図１４は、文字領域候補の一例を示す図である。ページ関連データ生成部１０４は、図１３に示すページＰ２１に対して輪郭抽出処理を実行して、白画素の領域の輪郭（図１４に破線で示す）を抽出する。輪郭抽出処理自体は、結合制限部１０４Ａによる処理と同様であってよい。ここでは、ページ関連データ生成部１０４は、閉領域の輪郭を抽出するので、図１３に示すキャラクタ２２Ａについては輪郭を抽出しないことになる。ページ関連データ生成部１０４は、抽出した輪郭線の位置を示すデータを、ページ関連データとしてデータ記憶部１００に記録する。
【００８１】
なお、ここでは文字領域候補を識別するデータとして、輪郭線の位置を示すデータを例に挙げるが、文字領域候補を識別可能なデータであればよい。例えば、ページ関連データ生成部１０４は、図１３に示すページＰ２１に対してラベリング処理を実行し、白画素が連続する画素に同じ番号を付与することによって、文字領域候補を識別するデータを記録するようにしてもよい。
【００８２】
［１−２−６．指定操作受付部］
指定操作受付部１０５は、ページＰ２１が表示部１４に表示された場合に、文字領域候補の指定操作を受け付ける。指定操作は、ページＰ２１内の領域を指定するための操作であればよく、例えば、ページＰ２１内の位置を指定する操作である。本実施形態では、操作部１３により表示部１４の表示画面内の位置を指定する操作が指定操作に相当する。操作部１３により指定された位置を含む領域が、指定操作により指定されたことになる。本実施形態では、指定操作は、文字領域候補のうちの何れかを指定する操作といえる。
【００８３】
［１−２−７．操作後文字判定部］
操作後文字判定部１０６は、指定操作受付部１０５により指定操作が受け付けられた後に、指定操作により指定された文字領域候補に文字が含まれるか否かを判定する。なお、本実施形態では、操作後文字判定部１０６は、図４に示す状態のページＰ２１を用いて判定処理を実行する場合を説明するが、使用する画像の状態に応じて文字判定の方法を変えるようにすれば、図６や図９に示す状態のページＰ２１を用いてもよい。
【００８４】
例えば、文字パターンの学習データをデータ記憶部１００に記憶させておき、操作後文字判定部１０６は、文字領域候補と、学習データが示す文字パターンと、を比較することによって、文字領域候補内に文字が含まれるか否かを判定する。学習データには、複数の判定項目が定義されており、例えば、下記のような判定項目によって文字判定が行われる。
【００８５】
図１５は、学習データを用いた文字判定処理の説明図である。まず、第１の判定項目として、操作後文字判定部１０６は、文字領域候補の全体の大きさが基準以上であるか否かを判定する。文字領域候補の大きさは、外接矩形の大きさを用いてもよいし、文字領域候補のピクセル数をカウントしてもよい。ここでは、外接矩形を用いる場合を説明する。この基準を示す閾値Ｔ３は、閾値Ｔ１，Ｔ２と同じであってもよいし、異なっていてもよい。また、閾値Ｔ３は、閾値Ｔ１，Ｔ２と同様、固定値であってもよいし、可変値であってもよい。操作後文字判定部１０６は、外接矩形の大きさが基準以上である場合、文字領域と判定する。
【００８６】
図１５に示すように、操作後文字判定部１０６は、外接矩形をｎマス×ｍマス（ｎ，ｍは、ともに２以上の整数。ここでは、ｎ＝ｍ＝１０とする。）の矩形領域に区切る。そして、矩形領域の垂直ライン（図１５では１列目〜１０列目の各ライン）及び水平ライン（図１５では１行目〜１０行目の各ライン）のそれぞれについて、第２の判定項目〜第５の判定項目について判定する。なお、全てのマスについて判定処理を行ってもよいし、一部のマス（例えば、外周の一部のマスを除いたマス）についてのみ判定処理を行ってもよい。
【００８７】
第２の判定項目として、操作後文字判定部１０６は、各ラインの白ピクセルの数が基準数以上であるか否かを判定する。この基準数は、固定値であってもよいし、可変値であってもよい。操作後文字判定部１０６は、白ピクセルの数が基準数以上である場合、文字領域と判定する。第３の判定項目として、操作後文字判定部１０６は、各ラインの画素を端から走査し、白画素と黒画素とが反転した数をカウントし、当該カウント数が基準数以上であるか否かを判定する。この基準数も、固定値であってもよいし、可変値であってもよい。操作後文字判定部１０６は、カウント数が基準数以上である場合、文字領域と判定する。
【００８８】
第４の判定項目として、操作後文字判定部１０６は、各ラインの画素を端から走査し、最初に白の画素を発見した位置が所定の位置であるか否かを判定する。例えば、操作後文字判定部１０６は、最初に白の画素を発見した位置が端から基準距離以内であれば、文字領域と判定する。第５の判定項目として、操作後文字判定部１０６は、各ラインの画素を端から走査し、最後に白の画素を発見した位置が所定の位置であるか否かを判定する。例えば、操作後文字判定部１０６は、最後に白の画素を発見した位置が端から基準距離以内であれば、文字領域と判定する。
【００８９】
操作後文字判定部１０６は、学習パターンに定義された第１の判定項目〜第５の判定項目の全てについて文字領域であると判定された場合に、文字領域候補が文字領域であると判定するようにしてもよいし、所定数以上（例えば、３つ以上）の判定項目について文字領域であると判定された場合に、文字領域候補が文字領域であると判定するようにしてもよい。
【００９０】
なお、文字領域候補に文字が含まれるか否かを判定する方法は、上記説明した方法に限られず、公知の種々の手法を適用可能である。例えば、操作後文字判定部１０６は、文字の形状のパターンと文字領域候補とを比較して、互いの類似度を計算することによって、文字領域候補に文字が含まれるか否かを判定してもよい。他にも例えば、教師ありの機械学習手法（ＳＶＭ：Support Vector Machine）を用いて、文字領域候補に文字が含まれるか否かを判定してもよい。この手法では、学習データを用意しておき、複数の項目をパラメータとして判定アルゴリズムに入力すると、判定アルゴリズムは、入力されたパラメータと学習データとを用いて、文字領域候補が文字領域であるか否かの出力を得ることができるようになっている。このような手法を用いることで、例えば、種々の形状の文字や絵が含まれる漫画のような画像であっても、より確実に文字領域を特定することができる。
【００９１】
本実施形態では、表示制御部１０３は、操作後文字判定部１０６により文字が含まれると判定された文字領域候補内を拡大して表示部１４に表示させる。図１６は、文字群２４Ａが拡大表示される様子を示す図である。図１６に示すように、ユーザが文字群２４Ａに対応する文字領域候補を指定すると、操作後文字判定部１０６により文字判定処理が行われて文字と判定されるので、表示制御部１０３は、文字領域候補内を切り出した拡大画像２６を表示させる。図１６の例では、表示制御部１０３は、図９に示すページＰ２１の文字領域候補内を切り出して拡大させて表示させるので、拡大画像２６は、色が反転した状態で文字が表示されている。
【００９２】
なお、表示制御部１０３は、図３に示すページＰ２１の文字領域候補内を切り出して拡大させて表示させてもよい。この場合、拡大画像２６における文字の色は反転しないことになる。また、拡大画像２６に切り出す範囲は、図１６のような長方形に限られず、楕円形等の任意の形状であってよい。また、拡大画像２６の表示位置は、ランダムに決定されてもよいし、ユーザが指定した位置に基づいて定まってもよい。また、拡大画像２６における文字の拡大率は、文字領域候補の大きさに基づいて決まってもよいし、所定の拡大率であってもよい。
【００９３】
［１−３．電子書籍表示装置において実行される処理］
図１７は、電子書籍表示装置１において実行される処理の一例を示すフロー図である。図１７に示す処理は、制御部１０が、記憶部１１に記憶されたプログラムに従って動作することによって実行される。本実施形態では、下記に説明する処理が実行されることにより、図２に示す機能ブロックが実現される。例えば、ユーザが操作部１３を用いて、プログラムの起動を指示した場合に、下記の処理が実行される。
【００９４】
図１７に示すように、制御部１０は、記憶部１１に記憶されたプログラムを起動し（Ｓ１）、操作部１３からの入力に基づいて、ユーザが指定した電子書籍を特定する（Ｓ２）。例えば、Ｓ１において起動するプログラムは、電子書籍リーダーのアプリケーションである。Ｓ１においては、制御部１０は、記憶部１１に画像データが記憶された電子書籍の一覧を表示部１４に表示させ、Ｓ２において、制御部１０は、一覧の中からユーザにより指定された電子書籍を特定することになる。
【００９５】
制御部１０は、記憶部１１を参照して、ユーザが指定した電子書籍データを取得する（Ｓ３）。なお、記憶部１１には、ユーザが保有する電子書籍の識別情報と、電子書籍データと、が関連付けられて記憶されているものとする。
【００９６】
制御部１０は、Ｓ３で取得した電子書籍データに基づいて、電子書籍の最初のページＰ１のページ関連データを生成する処理を実行する（Ｓ４）。図１８は、ページ関連データ生成処理の説明図である。図１８に示すように、制御部１０は、ページ関連データの生成対象となるページＰＮに対して２値化処理と反転処理を実行する（Ｓ４０）。Ｓ４０においては、制御部１０は、２値化して反転したページＰＮ（図６）のデータを生成して記憶部１１に記録する。
【００９７】
制御部１０は、Ｓ４０で生成したページＰＮ内に対して、輪郭抽出処理を実行する（Ｓ４１）。Ｓ４１においては、制御部１０は、ページＰＮ内の輪郭線（図７）を示すデータを生成して記憶部１１に記録する。
【００９８】
制御部１０は、Ｓ４１で抽出した輪郭線のうち、基準以上の大きさの輪郭線を拡大させる（Ｓ４２）。Ｓ４２においては、制御部１０は、拡大した輪郭線（図７）を示すデータを生成して記憶部１１に記録する。なお、制御部１０は、このデータを新たに生成するのではなく、Ｓ４１で記憶部１１に記録した輪郭線のデータを更新するようにしてもよい。
【００９９】
制御部１０は、Ｓ４０で生成したページＰＮに、Ｓ４２で拡大した輪郭線を重畳させる（Ｓ４３）。Ｓ４３においては、制御部１０は、重畳後のページＰＮ（図９）を示すデータを生成して記憶部１１に記録する。なお、制御部１０は、このデータを新たに生成するのではなく、Ｓ４１で記憶部１１に記録したページＰＮのデータを更新するようにしてもよい。
【０１００】
制御部１０は、Ｓ４３で輪郭線を重畳させたページＰＮ内の領域を拡張させる（Ｓ４４）。Ｓ４４においては、制御部１０は、拡張後のページＰＮ（図１２）を示すデータを生成して記憶部１１に記録する。なお、制御部１０は、このデータを新たに生成するのではなく、Ｓ４１又はＳ４３で記憶部１１に記録したページＰＮのデータを更新するようにしてもよい。
【０１０１】
制御部１０は、Ｓ４４で拡張したページＰＮの領域のうち、基準未満の大きさの領域を除去する（Ｓ４５）。Ｓ４５においては、制御部１０は、基準未満の大きさの領域を除去した後のページＰＮ（図１３）を示すデータを記憶部１１に記録する。なお、制御部１０は、このデータを新たに生成するのではなく、Ｓ４１、Ｓ４３、又はＳ４４で記憶部１１に記録したページＰＮのデータを更新するようにしてもよい。
【０１０２】
制御部１０は、Ｓ４５で領域が除去されたページＰＮに対して、輪郭抽出処理を実行する（Ｓ４６）。Ｓ４６の処理内容は、Ｓ４１と同様であり、Ｓ４６で抽出される輪郭は、文字領域候補の輪郭である。Ｓ４６においては、制御部１０は、Ｓ４５で領域が除去されたページＰＮ内の輪郭線（図１４）を示すデータを生成して、ページＰＮのページ関連データとして記憶部１１に記録する。
【０１０３】
Ｓ４においては、電子書籍の最初のページＰ１に対して上記の処理が実行されて、ページＰ１のページ関連データが生成される。制御部１０は、最初のページＰ１を表示部１４に表示させ（Ｓ５）、表示部１４に表示されたページＰ１の次のページＰ２のページ関連データを生成する（Ｓ６）。Ｓ６においては、制御部１０は、ページＰ２に対して図１８に示すＳ４０〜Ｓ４６の処理を実行して、ページＰ２のページ関連データを生成して記憶部１１に記録することになる。
【０１０４】
制御部１０は、操作部１３からの入力を受け付ける（Ｓ７）。ここでは、ユーザは、文字領域候補の指定操作、ページ送り操作、又は終了操作の何れかをすることができるものとする。ユーザが文字領域候補の指定操作をしたと判定された場合（Ｓ７；指定操作）、制御部１０は、指定された文字領域候補内に文字が含まれるか否かを判定する（Ｓ８）。Ｓ８においては、制御部１０は、学習データと文字領域候補内の画素値とに基づいて、文字領域候補内に文字が含まれるか否かを判定する。
【０１０５】
文字領域候補内に文字が含まれると判定された場合（Ｓ８；Ｙ）、制御部１０は、指定操作により指定された文字領域候補内を拡大表示させる（Ｓ９）。Ｓ９においては、制御部１０は、表示中のページＰＮから文字領域候補の内部を切り出して、表示部１４に拡大して表示させる。
【０１０６】
一方、ユーザがページ送り操作をしたと判定された場合（Ｓ７；ページ送り操作）、制御部１０は、次のページＰＮ＋１を表示部１４に表示させ（Ｓ１０）、Ｓ６に戻る。なお、表示中のページＰＮを示す情報は、記憶部１１に記憶されているものとする。Ｓ６に戻った後は、Ｓ１０で表示部１４に表示されるのはページＰＮ＋１になるので、制御部１０は、その次のページＰＮ＋２に対してページ関連データの生成処理を実行することになる。
【０１０７】
一方、ユーザが終了操作をしたと判定された場合（Ｓ７；終了操作）、本処理は終了する。なお、記憶部１１に記録されたページ関連データ等の各種データは、本処理の終了時に破棄してもよいし、表示部１４から該当するページが表示されなくなったときに破棄してもよい。他にも例えば、表示部１４に表示されているページとのページ差が基準以上になった場合に破棄してもよい。
【０１０８】
以上説明した電子書籍表示装置１によれば、電子書籍データとは別に予めページ関連データを記憶部１１に保持しておくのではなく、電子書籍リーダーのアプリケーションが起動してページＰＮが表示部１４に表示される場合に次のページＰＮについてページ関連データを生成するので、ページ関連データを常に保持しておく必要がなくなり、記憶部１１のメモリ使用量を抑えつつ、ページ関連データを利用可能にすることができる。
【０１０９】
また、ページ関連データ生成部１０４が文字領域候補をページ関連データとして生成して記録するので、文字判定まで実行するわけではなく、文字領域候補の抽出まで実行すればよいので、電子書籍表示装置１の処理負荷を軽減しつつ、ページ関連データの生成及び文字判定の実行をすることができる。また、文字判定結果を利用して拡大表示をすることで、文字と判定された領域を見やすくすることができる。
【０１１０】
［２．実施形態２］
次に、本発明の別実施形態について説明する。実施形態１では、あるページＰＮが表示部１４に表示される前に、文字領域候補を予め抽出してページ関連データとして生成し、当該ページＰＮが表示部１４に表示された後に、ユーザが指定した文字領域候補に対して文字判定を実行する場合を説明した。実施形態２では、ページＰＮが表示部１４に表示される前に、文字領域候補ではなく、当該ページＰＮの各領域に対して文字判定まで予め完了する。即ち、実施形態２では、ページＰＮが表示部１４に表示される前に、文字と判定した領域である文字領域の抽出まで完了し、ページ関連データとして生成する場合を説明する。
【０１１１】
なお、実施形態２の電子書籍表示装置１のハードウェア構成は、実施形態１と同様なので、説明を省略する。以降、実施形態１と同様の箇所については説明を省略し、実施形態１と異なる部分について説明する。
【０１１２】
［２−１．実施形態２において実現される機能］
図１９は、実施形態２の機能ブロック図である。実施形態２では、ページＰＮの表示前に文字判定を完了するので、図１９に示すように、電子書籍表示装置１は、操作後文字判定部１０６を含まない。なお、実施形態１の機能ブロックの説明時と同様、ここでは、表示制御部１０３がページＰ２０を表示部１４に表示させた場合に、次のページＰ２１が表示部１４に表示される前に、ページ関連データ生成部１０４がページＰ２１のページ関連データを生成する場合を例に挙げて説明する。
【０１１３】
実施形態２のページ関連データ生成部１０４は、ページＰ２１が表示部１４に表示される前に、ページＰ２１内の文字領域を抽出してページ関連データとして生成して記録する。文字領域は、画像内のうち文字判定処理によって文字と判定された部分である。文字領域の抽出方法自体は、公知の種々の手法を適用可能であり、実施形態１と同様の方法を用いてもよいが、ここでは、光学文字認識（ＯＣＲ：Optical Character Recognition）を用いて、ページＰＮ内の文字を１文字ずつ抽出する場合を説明する。
【０１１４】
実施形態２のデータ記憶部１００は、光学文字認識で用いるテンプレートデータを記憶する。テンプレートデータには、文字コードで表現可能な文字の基本形状が定義されている。ページ関連データ生成部１０４は、ページＰ２１の各領域とテンプレートデータとを比較することによって、ページＰ２１から文字領域を抽出する。
【０１１５】
例えば、ページ関連データ生成部１０４は、ページＰ２１の各領域とテンプレートデータに定義された基本形状とのパターンマッチングを行う。ページ関連データ生成部１０４は、ページＰ２１の各領域の輪郭又は当該領域自身の形状と、テンプレートデータに定義された各文字の輪郭又は文字自身の形状と、の類似度を計算する。ページ関連データ生成部１０４は、類似度が基準以上である領域を文字であると判定する。
【０１１６】
図２０は、光学文字認識の結果を示す図である。図２０に示す例は、図４に示すページＰ２１を光学文字認識した結果を表している。ページ関連データ生成部１０４は、光学文字認識により、文字群２４Ａの「Ｈ」「Ｅ」「Ｌ」「Ｌ」「Ｏ」「！」「Ｈ」「Ｏ」「Ｗ」「Ａ」「Ｒ」「Ｅ」「Ｙ」「Ｏ」「Ｕ」「？」をそれぞれ文字として判定する。同様に、ページ関連データ生成部１０４は、文字群２４Ｂの「Ｆ」「Ｉ」「Ｎ」「Ｅ」「！」「Ｔ」「Ｈ」「Ａ」「Ｎ」「Ｋ」「Ｙ」「Ｏ」「Ｕ」「！」をそれぞれ文字として判定する。ページ関連データ生成部１０４は、これら各文字を別個の文字領域として抽出してもよいが（即ち、１文字につき１つの文字領域として抽出してもよいが）、実施形態２では、距離が近い文字同士をグルーピングして１つの文字領域として抽出する場合を説明する。
【０１１７】
ページ関連データ生成部１０４は、文字と特定した各領域同士の距離（スクリーン座標系における距離）を計算し、基準距離Ｌ１以内の文字同士を同じグループとする。例えば、ページ関連データ生成部１０４は、文字群２４Ａの一部である「ＨＥＬＬＯ！」の「Ｈ」と「Ｅ」の距離を計算し、互いの距離が基準距離Ｌ１以内であるか否かを判定する。ここでは、基準距離Ｌ１以内であるので、「Ｈ」と「Ｅ」を同じグループと判定し、「Ｈ」と「Ｅ」のそれぞれにグループ番号「１番」を付与する。各文字に対して同様の処理が実行されると、「Ｈ」「Ｅ」「Ｌ」「Ｌ」「Ｏ」「！」「Ｈ」「Ｏ」「Ｗ」「Ａ」「Ｒ」「Ｅ」「Ｙ」「Ｏ」「Ｕ」「？」の各々に対して「１番」のグループ番号が付与され、「Ｆ」「Ｉ」「Ｎ」「Ｅ」「！」「Ｔ」「Ｈ」「Ａ」「Ｎ」「Ｋ」「Ｙ」「Ｏ」「Ｕ」「！」の各々に対して、「２番」のグループ番号が付与される。これにより、ページ関連データ生成部１０４は、文字群２４Ａの「ＨＥＬＬＯ！  ＨＯＷ  ＡＲＥ  ＹＯＵ？」をひとかたまりの文字領域として抽出し、文字群２４Ｂの「ＦＩＮＥ！  ＴＨＡＮＫ  ＹＯＵ！」をひとかたまりの文字領域として抽出することができる。
【０１１８】
ページ関連データ生成部１０４は、上記のように抽出した文字領域を示すページ関連データをデータ記憶部１００に記録することになる。ここでは、ページ関連データには、グループ番号と、当該グループ番号に属する領域の位置（スクリーン座標系における画素の座標）と、が関連付けられている。
【０１１９】
なお、実施形態１の指定操作受付部１０５は、文字領域候補の指定操作を受け付けたが、実施形態２の指定操作受付部１０５は、ページＰ２１が表示部１４に表示された場合に、文字領域の指定操作を受け付ける。例えば、操作部１３により指定された位置を含む文字領域が、指定操作により指定されることになる。
【０１２０】
また、実施形態２の表示制御部１０３は、指定操作受付部１０５により指定操作が受け付けられた場合に、指定操作により指定された文字領域内を拡大して表示部１４に表示させることになる。例えば、表示制御部１０３は、指定操作により指定された文字領域のグループ番号が付与された各文字を切り出して、拡大画像２６として表示させる。拡大画像２６が表示される様子は、実施形態１で説明した図１６と同様である。拡大画像２６の各文字の色を反転してもよいし、反転せずにそのままの色で表示させてもよい点も、実施形態１と同様である。
【０１２１】
［２−２．実施形態２において実行される処理］
図２１は、実施形態２のフロー図である。図２１に示すように、Ｓ２１〜Ｓ２３は、Ｓ１〜３と同様である。Ｓ２４は、最初のページＰ１のページ関連データを生成する点はＳ４と同様であるが、ページ関連データは、実施形態１では文字領域候補を示し、実施形態２では文字領域を示すので、Ｓ２４の処理内容は、Ｓ４と異なる。
【０１２２】
図２２は、実施形態２のページ関連データ生成処理の説明図である。図２２に示すように、まず、制御部１０は、ページＰＮに対して輪郭抽出処理を実行する（Ｓ２４０）。輪郭抽出処理自体は、Ｓ４１と同様である。制御部１０は、ページＰＮ内の輪郭線を示すデータを生成して記憶部１１に記録する。なお、Ｓ２４０における輪郭抽出処理は、ページＰＮ内の領域を抽出するためのものであり、輪郭抽出以外の方法で領域を抽出してもよい。
【０１２３】
制御部１０は、Ｓ２４０で輪郭を抽出した各領域と、記憶部１１に記憶されたテンプレートと、に基づいて、当該領域が文字であるか否かを判定する（Ｓ２４１）。Ｓ２４１においては、制御部１０は、互いの類似度を計算して基準以上であるか否かを判定することになる。制御部１０は、基準以上の類似度となる領域を示すデータを記憶部１１に記録する。
【０１２４】
制御部１０は、Ｓ２４１で文字と判定した各領域の距離を計算して、領域同士のグルーピングをする（Ｓ２４２）。Ｓ２４２においては、制御部１０は、Ｓ２４１で記録した各領域のスクリーン座標系での距離を計算し、基準距離Ｌ１以内となる領域に同じグループ番号を付与する。
【０１２５】
制御部１０は、Ｓ２４２でグルーピングした領域に基づいて、文字領域を抽出する（Ｓ２４３）。Ｓ２４３においては、制御部１０は、グループ番号と、当該グループ番号が付与された領域と、を示すデータを生成して、ページ関連データとして記憶部１１に記録する。
【０１２６】
図１７に戻り、Ｓ２５〜Ｓ２７は、それぞれＳ５，Ｓ２４，Ｓ７と同様である。Ｓ２６においては、ページＰ２に対してＳ２４０〜Ｓ２４３の処理が実行されて、ページＰ２の文字領域が抽出されることになる。なお、実施形態２の指定操作は、実施形態１のように文字領域候補を指定する操作ではなく、文字領域を指定する操作である。なお、実施形態２では、既に文字判定が完了しているので、実施形態１とは異なり、Ｓ８の処理は実行されない。
【０１２７】
ユーザが文字領域の指定操作をしたと判定された場合（Ｓ２７；指定操作）、制御部１０は、指定操作により指定された文字領域を拡大表示させる（Ｓ２８）。Ｓ２８においては、制御部１０は、表示中のページＰＮから文字領域を切り出して、表示部１４に拡大して表示させる。なお、Ｓ２９は、Ｓ１０と同様であり、制御部１０は、ページ送り操作に応じて次のページＰＮ＋１を表示部１４に表示させて、Ｓ２６に戻る。この場合、Ｓ２６においては、表示部１４にはページＰＮ＋１が表示されているので、その次のページＰＮ＋２に対してＳ２４０〜Ｓ２４３の処理が実行されて、ページＰＮ＋２の文字領域が抽出されることになる。
【０１２８】
以上説明した実施形態２によれば、電子書籍データとは別に予めページ関連データを記憶部１１に保持しておくのではなく、電子書籍リーダーのアプリケーションが起動してページＰＮが表示部１４に表示される場合に次のページＰＮについてページ関連データを生成するので、ページ関連データを常に保持する必要がなくなり、記憶部１１のメモリ使用量を抑えつつ、ページ関連データを利用可能にすることができる。更に、実施形態１のように指定操作をしてから文字判定を行うわけではなく、予め文字領域の抽出まで完了するため、指定操作が行われてから拡大表示するまでの時間を短縮することができる。
【０１２９】
［３．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１３０】
（１）まず、実施形態１に関連する変形例を説明する。図２３は、変形例（１）の機能ブロック図である。図２３に示すように、実施形態１の機能に加えて、操作前文字判定部１０７と大きさ判定部１０８が実現される。これらの機能は、制御部１０を主として実現される。なお、ここでは、実施形態１と同様、ページ関連データ生成部１０４がページＰ２１のページ関連データを生成する場合を例に挙げて説明する。
【０１３１】
（１−１）例えば、ページＰ２１に対して指定操作が行われる前に、ページＰ２１内の文字領域候補に対して簡易的な文字判定処理を実行しておき、簡易的な文字判定処理によって文字が含まれないと判定された文字領域候補に対しては詳細な文字判定処理を実行せず、簡易的な文字判定処理によって文字が含まれると判定された文字領域候補に対して詳細な文字判定処理を実行するようにしてもよい。
【０１３２】
変形例（１−１）では、操作前文字判定部１０７が実現される。操作前文字判定部１０７は、指定操作受付部１０５により指定操作が受け付けられる前に、文字領域候補に対して第１の文字判定処理を実行する。第１の文字判定処理としては、種々の文字判定処理を適用可能であるが、後述する第２の文字判定処理よりも精度が低いものである。ここでの精度が低いとは、文字を検出する精度のことである。
【０１３３】
第１の文字判定処理は、第２の文字判定処理よりも簡易であり、処理を完了するまでの時間が第２の文字判定処理よりも短い。第１の文字判定処理における判定項目は、第２の文字判定処理よりも少ない。例えば、第１の文字判定処理では、輪郭の形状のみを判定し、第２の文字判定処理では、形状とそれ以外の要素（例えば、周囲の領域との位置関係や白画素と黒画素のパターン）について判定するようにしてもよい。
【０１３４】
ここでは、第２の文字判定処理は、実施形態１で説明した第１の判定項目〜第５の判定項目の全てを実行し、第１の文字判定処理は、第１の判定項目だけを行うものとする。なお、第１の文字判定処理は、第１の判定項目ではなく、第２の判定項目〜第５の判定項目の何れかだけを行ってもよいし、第１の判定項目〜第５の判定項目のうちの何れか２つ以上４つ以下の判定項目について判定処理を実行してもよい。
【０１３５】
図１４の例の場合、文字領域候補としては、文字群２４Ａ，２４Ｂ以外にも、キャラクタ２２Ｂ、太陽２５Ａ、食器２５Ｂが抽出されているが、操作前文字判定部１０７は、事前に第１の文字判定処理を実行することによって、比較的小さい太陽２５Ａ、食器２５Ｂには文字が含まれていないと判定する。このため、ページＰ２１が表示部１４に表示される前に、第２の文字判定処理の対象となりうる文字領域候補が、文字群２４Ａ，２４Ｂと、キャラクタ２２Ｂに絞り込まれている。
【０１３６】
操作後文字判定部１０６は、操作前文字判定部１０７により文字が含まれると判定された文字領域候補が指定操作により指定された場合に、第１の文字判定処理よりも精度の高い第２の文字判定処理を実行する。第２の文字判定処理は、実施形態１で説明したものと同様であってよい。操作後文字判定部１０６は、操作前文字判定部１０７により文字が含まれないと判定された文字領域候補が指定操作により指定されたとしても、当該文字領域候補に対しては第２の文字判定処理を実行しないことになる。
【０１３７】
なお、操作前文字判定部１０７により文字が含まれないと判定された文字領域候補が操作後文字判定部１０６の判定対象とならないようにすればよく、指定操作受付部１０５が、当該文字領域候補の指定操作を受け付けないように制限してもよいし、当該文字領域候補の指定操作の受け付けは制限しないが、操作後文字判定部１０６が第２の文字判定処理を単に実行しないようにしてもよい。
【０１３８】
変形例（１−１）によれば、比較的簡易な第１の文字判定処理を事前にすることで、文字領域候補を予め絞り込むことができる。例えば、第１の文字判定処理により文字を含まないと判定された文字領域候補を示すページ関連データを破棄すれば、メモリ容量を有効活用することができる。また、文字領域候補を絞り込むことにより、第１の文字判定処理により文字ではないと判定された文字領域候補に対しては詳細な第２の文字判定処理を実行しなくてよくなるので、電子書籍表示装置１の処理負荷を軽減することができる。
【０１３９】
（１−２）また例えば、ページＰ２１内の文字領域候補が少ない場合は絵が多く文字が少ないので、ページＰ２１が表示部１４に表示されたとしても、ユーザがページＰ２１をすぐに読んで次のページＰ２２へのページ送り操作を行う蓋然性が高い。ページＰ２１の表示時間が短い場合、ページＰ２２が表示されるまでに、ページＰ２２の文字領域候補の抽出が間に合わない可能性がある。このため、ページＰ２１内の文字領域候補が少ない場合は、ページＰ２１が表示される前であっても、次のページＰ２２の文字領域候補の抽出をするようにしてもよい。
【０１４０】
ページ関連データ生成部１０４は、ページＰ２１内の文字領域候補の数が基準未満である場合、ページＰ２１の次のページＰ２２の文字領域候補を更に抽出してページ関連データとして生成して記録するようにしてもよい。この基準を示す閾値Ｔ４は、固定値であってもよいし、可変値であってもよい。
【０１４１】
ページ関連データ生成部１０４は、ページＰ２１に対して抽出した文字領域候補の数をカウントし、閾値Ｔ４以上であるか否かを判定する。ページ関連データ生成部１０４は、ページＰ２１の文字領域候補の数が閾値Ｔ４以上であると判定した場合、ページＰ２０が表示部１４に表示されている間は、ページＰ２２の文字領域候補はまだ抽出しない。この場合、ページＰ２２の文字領域候補は、ページＰ２１が表示部１４に表示された場合に抽出されることになる。
【０１４２】
一方、ページ関連データ生成部１０４は、ページＰ２１の文字領域候補の数が閾値Ｔ４未満であると判定した場合、ページＰ２０が表示部１４に表示されている状態であっても（ページＰ２１が表示部１４に表示される前であっても）、ページＰ２２の文字領域候補を抽出する。文字領域候補の抽出方法自体は、実施形態１で説明した方法と同じである。
【０１４３】
変形例（１−２）によれば、ページＰ２１の文字領域候補の数が少ない場合には、次のページＰ２２に対してもページ関連データを生成するので、ユーザがページＰ２１をわずかな時間で読んでページＰ２２を表示させたとしても、ページＰ２２が表示部１４に表示されるときにはページ関連データの生成を終えることができる。その結果、ユーザがページＰ２２に対して指定操作をしても、ページ関連データの生成が終了しておらず、拡大表示が間に合わないようなことを防止することができる。
【０１４４】
（１−３）また例えば、実施形態１では、判定制限部１０４Ｃにより、小さい領域を予め除去しておき、操作後文字判定部１０６による文字判定の対象外となるようにしたが、判定制限部１０４Ｃを省略して、ページ関連データ生成部１０４が、小さい領域であっても文字領域候補として抽出するようにしてもよい。この場合、ページ関連データ生成部１０４は、文字領域候補の大きさを判定して、文字領域候補が小さければ、操作後文字判定部１０６による文字判定の対象外とするようにしてもよい。
【０１４５】
変形例（１−３）では、大きさ判定部１０８が実現される。大きさ判定部１０８は、文字領域候補の輪郭又は文字領域候補自身の大きさが基準以上であるか否かを判定する。この基準は、実施形態１の判定制限部１０４Ｃが使用した閾値Ｔ２と同じであってよい。大きさ判定部１０８の判定方法は、実施形態１の判定制限部１０４Ｃによる判定方法と同じである。
【０１４６】
操作後文字判定部１０６は、大きさ判定部１０８により基準未満の大きさと判定された文字領域候補は判定対象とせず、大きさ判定部１０８により基準以上の大きさと判定された文字領域候補に文字が含まれるか否かを判定する。即ち、操作後文字判定部１０６は、基準未満の大きさと判定された文字領域候補は、文字判定の対象となることを制限する。この制限方法は、実施形態１で説明した判定制限部１０４Ｃと同じであってよい。即ち、操作後文字判定部１０６は、文字領域候補の輪郭の大きさが基準未満である場合、当該文字領域候補を背景色で塗りつぶすようにしてよい。
【０１４７】
変形例（１−３）によれば、基準未満の大きさの文字領域候補については文字判定の対象とはしないので、文字領域である蓋然性が低い領域に対して文字判定が行われることを防止することができ、電子書籍表示装置１の処理負荷を軽減することができる。例えば、基準未満の大きさの文字領域候補を示すページ関連データを破棄すれば、メモリ容量を有効活用することができる。
【０１４８】
（１−４）また例えば、ユーザは、ページＰ２１を上の方から下に向けて順番に読むため、ページＰ２１が表示部１４に表示される前に、ページＰ２１の全体ではなく、ページＰ２１の上の方のみ（即ち、ユーザが先に読む部分のみ）、文字領域候補を抽出するようにしてもよい。
【０１４９】
本変形例のページ関連データ生成部１０４は、第１抽出部１０４Ｄと第２抽出部１０４Ｅの少なくとも一方を含む。第１抽出部１０４Ｄは、ページＰ２１の下部領域は文字領域候補を抽出せずに上部領域内の文字領域候補を抽出する。
【０１５０】
図２４は、ページＰ２１の上部領域及び下部領域の説明図である。図２４に示す例では、ページＰ２１のキャラクタ２２Ａ等を省略している。例えば、ページＰ２１の左上をスクリーン座標系の原点ＯＳとすると、上部領域Ｐ２１Ｕは、ページＰ２１の上端（ＹＳ＝０）から所定距離Ｄ１以内の部分である。下部領域Ｐ２１Ｕは、ページＰ２１の下端（ＹＳ＝ＹＭＡＸ）から所定距離Ｄ２以内の部分であり、ここでは、上部領域Ｐ２１Ｕ以外の部分である。第１抽出部１０４Ｄは、ページＰ２１の全体ではなく、上部領域Ｐ２１Ｕについてのみ、文字領域候補を抽出する。文字領域候補の抽出方法は、実施形態１と同様であってよい。
【０１５１】
第２抽出部１０４Ｅは、ページＰ２１内の各文字領域の読み順に、基準数になるまで文字領域候補を抽出する。文字領域の読み順とは、ページＰ２１内に複数の文字領域が散らばっている場合の各文字領域の読み順である。例えば、文字が横書きであれば、左上に近い方が早い順番になり、文字が縦書きであれば、右上に近い方が早い順番になる。
【０１５２】
図２５は、ページＰ２１における読み順の説明図である。図２５の例では、ページＰ２１は、３つのコマ２１Ａ〜２１Ｃを含む。コマ２１Ａは、キャラクタ２２Ａ，２２Ｂと、吹き出し線２３Ａ，２３Ｂと、文字群２４Ａ，２４Ｂと、を含む。コマ２１Ｂは、キャラクタ２２Ｃと、吹き出し線２３Ｃと、文字群２４Ｃと、を含む。コマ２１Ｃは、キャラクタ２２Ｄと、吹き出し線２３Ｄと、文字群２４Ｄと、を含む。ここでは、４つの文字群２４Ａ〜２４Ｄがあるが、ここでは文字が横書きなので、これらの読み順は、ページＰ２１の左上である原点ＯＳに近い順となり、文字群２４Ａ・２４Ｂ・２４Ｃ・２４Ｄとなる。ここで、基準数を２つとすると、第２抽出部１０４Ｅは、ページＰ２１内の各文字領域の読み順に、文字群２４Ａ・２４Ｂに対応する文字領域候補まで抽出することになる。第２抽出部１０４Ｅは、それ以降の文字領域候補は所定のタイミングが到来するまで抽出しない。
【０１５３】
変形例（１−４）によれば、ページＰ２１が表示部１４に表示された場合にユーザが先に読む蓋然性が高い上部領域Ｐ２１Ｕや読み順が先の部分に対して優先的にページ関連データを生成するので、ユーザがページＰ２２に対して指定操作をしても、ページ関連データの生成が終了しておらず、拡大表示が間に合わないようなことを防止することができる。
【０１５４】
（２）次に、実施形態２に関連する変形例を説明する。図２６は、変形例（２）の機能ブロック図である。図２６に示すように、実施形態２の機能に加えて、文字領域候補抽出部１０４Ｆと大きさ判定部１０４Ｇが実現される。なお、変形例２では、実施形態２と同様、ページ関連データ生成部１０４がページＰ２１のページ関連データを生成する場合を例に挙げて説明する。
【０１５５】
（２−１）例えば、実施形態２では、ページ関連データ生成部１０４が光学文字認識を利用して文字領域を抽出する場合を説明したが、実施形態１と同様の方法で文字領域を抽出してもよい。変形例（２−１）では、文字領域候補抽出部１０４Ｆが実現される。文字領域候補抽出部１０４Ｆは、ページＰ２１が表示部１４に表示される前に、ページＰ２１内の文字領域候補を抽出する。
【０１５６】
文字領域候補抽出部１０４Ｆは、実施形態１で説明したページ関連データ生成部１０４と同様の機能である。文字領域候補抽出部１０４Ｆは、図４に示す状態のページＰ２１から図１４に示す文字領域候補を抽出することになる。
【０１５７】
ページ関連データ生成部１０４は、文字領域候補に文字が含まれるか否かを判定することによって、文字領域を抽出することになる。この判定方法は、実施形態１で説明した操作後文字判定部１０６と同じであってよい。
【０１５８】
変形例（２−１）によれば、文字領域候補に対して文字判定を実行すればよくなるので、画像全体に対して文字判定を行う場合よりも効率よく文字判定をすることができる。
【０１５９】
（２−２）また例えば、実施形態２でも、変形例（１−１）と同様に、簡易的な文字判定処理と、詳細な文字判定処理と、の２段階の文字判定を実行してもよい。ページ関連データ生成部１０４は、ページＰ２１が表示部１４に表示される前に、文字領域候補に対して第１の文字判定処理を実行する。第１の文字判定処理は、変形例（１−１）と同様である。
【０１６０】
ページ関連データ生成部１０４は、当該第１の文字判定処理により文字が含まれると判定された文字領域候補に対して、第１の文字判定処理よりも精度の高い第２の文字判定処理を実行することによって、文字領域を抽出する。第２の文字判定処理は、変形例（１−１）と同様である。
【０１６１】
変形例（２−２）によれば、比較的簡易な第１の文字判定処理を事前にすることで、文字領域候補を予め絞り込むことができる。例えば、第１の文字判定処理により文字を含まないと判定された文字領域候補を示すページ関連データを破棄すれば、メモリ容量を有効活用することができる。また、文字領域候補を絞り込むことにより、第１の文字判定処理により文字ではないと判定された文字領域候補に対しては詳細な第２の文字判定処理を実行しなくてよくなるので、電子書籍表示装置１の処理負荷を軽減することができる。
【０１６２】
（２−３）また例えば、実施形態２でも、変形例（１−３）と同様に、文字領域候補が小さければ、操作後文字判定部１０６による文字判定の対象外とするようにしてもよい。変形例（２−３）では、大きさ判定部１０４Ｇが実現される。大きさ判定部１０４Ｇの機能は、変形例（１−３）の大きさ判定部１０８と同じである。
【０１６３】
ページ関連データ生成部１０４は、大きさ判定部１０４Ｇにより基準未満の大きさと判定された文字領域候補は判定対象とせず、大きさ判定部１０４Ｇにより基準以上の大きさと判定された文字領域候補に文字が含まれるか否かを判定することによって、文字領域を抽出することになる。この処理内容自体は、変形例（１−３）の操作後文字判定部１０６や実施形態１の判定制限部１０４Ｃと同じであってよい。
【０１６４】
変形例（２−３）によれば、基準未満の大きさの文字領域候補については文字判定の対象とはしないので、文字領域である蓋然性が低い領域に対して文字判定が行われることを防止することができ、電子書籍表示装置１の処理負荷を軽減することができる。例えば、基準未満の大きさの文字領域候補を示すページ関連データを破棄すれば、メモリ容量を有効活用することができる。
【０１６５】
（２−４）また例えば、実施形態２でも、変形例（１−２）と同様に、ページＰ２１のから抽出された文字領域の数が少なければ、ページＰ２１が表示部１４に表示されたとしても、ユーザがページＰ２１をすぐに読んで次のページＰ２２へのページ送り操作を行う蓋然性が高い。このため、ページ関連データ生成部１０４は、ページＰ２１内の文字領域の数が基準未満である場合、ページＰ２１の次のページＰ２２内の文字領域を更に抽出してページ関連データとして生成して記録するようにしてもよい。変形例（１−２）ではページＰ２２の文字領域候補が抽出され、変形例（２−４）ではページＰ２２の文字領域が抽出される点ではことなるが、他の点は変形例（１−２）と同じである。
【０１６６】
変形例（２−４）によれば、ページＰ２１の文字領域の数が少ない場合には、次のページＰ２２に対してもページ関連データを生成するので、ユーザがページＰ２１をわずかな時間で読んでページＰ２２を表示させたとしても、ページＰ２２が表示部１４に表示されるときにはページ関連データの生成を終えることができる。その結果、ユーザがページＰ２２に対して指定操作をしても、ページ関連データの生成が終了しておらず、拡大表示が間に合わないようなことを防止することができる。
【０１６７】
（２−５）また例えば、実施形態２でも、変形例（１−４）と同様に、ページＰ２１の上部領域のみ文字領域を抽出するようにしてもよい。変形例（２−５）のページ関連データ生成部１０４は、第１抽出部１０４Ｄと第２抽出部１０４Ｅの少なくとも一方を含む。
【０１６８】
第１抽出部１０４Ｄは、ページＰ２１の下部領域Ｐ２１Ｄは文字領域を抽出せずに上部領域Ｐ２１Ｕ内の文字領域を抽出する。第１抽出部１０４Ｄは、上部領域Ｐ２１Ｕのみを文字領域の抽出対象とする。上部領域Ｐ２１Ｕや下部部域Ｐ２１Ｄの意味は、変形例（１−４）で説明した通りである。第２抽出部１０４Ｅは、ページＰ２１内の各文字領域の読み順に、基準数になるまで文字領域を抽出する。読み順の意味は、変形例（１−４）で説明した通りである。ここで、基準数を２つとすると、第２抽出部１０４Ｅは、ページＰ２１内の各文字領域の読み順に、文字群２４Ａ・２４Ｂに対応する文字領域まで抽出することになる。第２抽出部１０４Ｅは、それ以降の文字領域は所定のタイミングが到来するまで抽出しない。
【０１６９】
変形例（２−５）によれば、ページＰ２１が表示部１４に表示された場合にユーザが先に読む蓋然性が高い上部領域Ｐ２１Ｕや読み順が先の部分に対して優先的にページ関連データを生成するので、ユーザがページＰ２２に対して指定操作をしても、ページ関連データの生成が終了しておらず、拡大表示が間に合わないようなことを防止することができる。
【０１７０】
（３）以降、実施形態１，２の両方に関連する変形例について説明する。ここでは、変形例（３）の各構成を実施形態１に適用した場合を説明するが、変形例（３）の構成は、実施形態２にも適用可能である。
【０１７１】
図２７は、変形例（３）の機能ブロック図である。図２７に示すように、実施形態１の機能に加えて、履歴データ取得部１０９、ページデータ取得部１１０、年齢取得部１１１、及びサイズ取得部１１２の少なくとも１つが実現される。これらの機能は、制御部１０を主として実現される。なお、変形例（３）では、実施形態１と同様、ページ関連データ生成部１０４がページＰ２１のページ関連データを生成する場合を例に挙げて説明する。
【０１７２】
（３−１）例えば、ユーザによっては指定操作をあまり行わず、拡大表示の必要性が低いこともある。このため、ユーザによる過去の指定操作の履歴を記録しておき、拡大表示を必要とするユーザについてのみ、ページ関連データの生成を行うようにしてもよい。
【０１７３】
変形例（３−１）では、履歴データ取得部１０９が実現される。履歴データ取得部１０９は、当該電子書籍表示装置１のユーザによる指定操作の履歴に関する履歴データを記憶するデータ記憶部１００に記憶された履歴データを取得する。履歴データは、過去の全期間における指定操作の回数を示してもよいし、一定期間における指定操作の回数を示してもよい。更に、履歴データは、指定操作が行われたページ数を示してもよい。例えば、指定操作受付部１０５は指定操作を受け付けると履歴データを更新する。
【０１７４】
本変形例のページ関連データ生成部１０４は、頻度判定部１０４Ｈを含む。頻度判定部１０４Ｈは、履歴データに基づいて、ユーザによる指定操作の頻度が基準以上であるか否かを判定する。例えば、頻度判定部１０４Ｈは、過去の全期間における指定操作の回数が基準以上であるか否かを判定してもよいし、一定期間における指定操作の回数が基準以上であるか否かを判定してもよい。他にも例えば、頻度判定部１０４Ｈは、現在表示中のページ数と、ユーザが指定操作をした直近のページ数と、の差が基準数以上であるか否か（即ち、基準ページ数以上連続して指定操作をしていないか否か）を判定してもよい。
【０１７５】
ページ関連データ生成部１０４は、頻度判定部１０４Ｈにより基準以上であると判定された場合にページ関連データを生成して記録する。即ち、ページ関連データ生成部１０４は、頻度判定部１０４Ｈにより基準未満であると判定された場合にはページ関連データを生成しない。
【０１７６】
変形例（３−１）によれば、ユーザによる指定操作の頻度を参照してページ関連データの生成の要否を決定するので、ユーザの傾向に応じた処理を行うことができる。即ち、拡大表示をする必要性が低いユーザに対しては、ページ関連データを予め生成しなくてもよいので、このようなユーザの場合はページ関連データを生成しないことで、メモリ容量を有効活用し、かつ、電子書籍表示装置１の処理負荷も軽減することができる。
【０１７７】
（３−２）また例えば、ユーザが繰り返し電子書籍を読む場合、前回の読書時に拡大表示をしたページは、今回も表示をする蓋然性が高い。このため、ユーザが拡大表示をさせたページを記録しておいて、そのページについてはページ関連データを生成し、他のページについてはページ関連データを生成しないようにしてもよい。
【０１７８】
変形例（３−２）では、ページデータ取得部１１０が実現される。ページデータ取得部１１０は、当該電子書籍表示装置１のユーザにより指定操作が行われたページに関するページデータを記憶するデータ記憶部１００に記憶されたページデータを取得する。ページデータは、ユーザが指定操作を行ったページ数が格納される。例えば、指定操作受付部１０５は指定操作を受け付けるとページデータを更新する。
【０１７９】
ページ関連データ生成部１０４は、過去判定部１０４Ｉを含む。過去判定部１０４Ｉは、ページデータに基づいて、ユーザによりページＰ２１に対して過去に指定操作が行われたか否かを判定する。過去判定部１０４Ｉは、ページデータを参照して、現在表示部１４に表示されたページＰ２０の次のページＰ２１に対して過去に指定操作が行われたか否かを判定することになる。
【０１８０】
ページ関連データ生成部１０４は、過去判定部１０４Ｉにより指定操作が行われたと判定された場合にページ関連データを生成して記録する。即ち、ページ関連データ生成部１０４は、過去判定部１０４Ｉにより指定操作が行われたと判定されない場合にはページ関連データを生成しない。
【０１８１】
変形例（３−２）によれば、ユーザによる各ページに対する指定操作の有無を参照してページ関連データの生成の要否を決定するので、ユーザの傾向に応じた処理を行うことができる。即ち、拡大表示をする必要性が低いページに対しては、ページ関連データを予め生成しなくてもよいので、このようなページに対してはページ関連データを生成しないことで、メモリ容量を有効活用し、かつ、電子書籍表示装置１の処理負荷も軽減することができる。
【０１８２】
（３−３）また例えば、ユーザは、同じ電子書籍を読んだ他のユーザが拡大表示したページは拡大表示する蓋然性が高い。このため、他のユーザが拡大表示をさせたページを記録しておいて、そのページについてはページ関連データを生成し、他のページについてはページ関連データを生成しないようにしてもよい。
【０１８３】
変形例（３−３）では、ページデータ取得部１１０が実現される。ページデータ取得部１１０は、当該電子書籍表示装置１のユーザ以外の他のユーザにより指定操作が行われたページに関するページデータを記憶するサーバコンピュータに記憶されたページデータを取得する。ページデータ取得部１１０は、ネットワークを介してページデータを取得する。なお、サーバコンピュータは、電子書籍を管理しており、電子書籍をダウンロードしたユーザが指定操作を行うと、当該ユーザの電子書籍表示装置１からサーバコンピュータに対して、指定操作をしたページＰＮを示すデータが送信される。サーバコンピュータは、当該データを受信すると、データベースに格納されたページデータを更新する。
【０１８４】
過去判定部１０４Ｉは、ページデータに基づいて、他のユーザにより少なくとも一方のページに対して過去に指定操作が行われたか否かを判定する。この判定方法は、変形例（３−２）と同じである。ページ関連データ生成部１０４は、過去判定部１０４Ｉにより指定操作が行われたと判定された場合にページ関連データを生成して記録する。即ち、ページ関連データ生成部１０４は、過去判定部１０４Ｉにより指定操作が行われたと判定されない場合にはページ関連データを生成しない。
【０１８５】
変形例（３−３）によれば、他のユーザによる各ページに対する指定操作の有無を参照してページ関連データの生成の要否を決定するので、一般的なユーザの傾向を考慮して処理を行うことができる。即ち、他のユーザが拡大表示をする必要性が低いと感じているページに対しては、電子書籍表示装置１のユーザも指定操作をする蓋然性は低く、ページ関連データを予め生成しなくてもよいので、このようなページに対してはページ関連データを生成しないことで、メモリ容量を有効活用し、かつ、電子書籍表示装置１の処理負荷も軽減することができる。
【０１８６】
（３−４）また例えば、年齢の高いユーザは、拡大表示をする蓋然性が高い。このため、年齢の高いユーザについてのみページ関連データを生成するようにしてもよい。変形例（３−４）では、年齢取得部１１１が実現される。年齢取得部１１１は、電子書籍表示装置１のユーザの年齢に関する年齢情報を取得する。例えば、データ記憶部１００に、年齢情報が記憶されていてもよい。この場合、年齢取得部１１１は、データ記憶部１００から年齢情報を取得する。年齢情報は、ユーザの年齢を特定可能な情報であればよく、例えば、ユーザの年齢を示す数値や生年月日を示す数値である。なお、年齢取得部１１１は、ユーザの年齢を計算により求めてもよい。例えば、電子書籍の発行年数や電子書籍のレビューを記載したユーザプロフィールの平均年齢をサーバコンピュータから取得して年齢を推測してもよい。
【０１８７】
ページ関連データ生成部１０４は、年齢判定部１０４Ｊを含む。年齢判定部１０４Ｊは、年齢情報に基づいて、ユーザの年齢が基準以上であるか否かを判定する。この基準の年齢は、データ記憶部１００に記憶されているものとする。基準の年齢は、固定値であってもよいし、可変値であってもよい。
【０１８８】
ページ関連データ生成部１０４は、年齢判定部１０４Ｊにより基準以上であると判定された場合にページ関連データを生成して記録する。即ち、ページ関連データ生成部１０４は、年齢判定部１０４Ｊにより基準未満であると判定された場合にはページ関連データを生成しない。
【０１８９】
変形例（３−４）によれば、ユーザの年齢を参照してページ関連データの生成の要否を決定するので、ユーザの傾向に応じた処理を行うことができる。即ち、比較的若いユーザで拡大表示をする必要性が低いユーザに対しては、ページ関連データを予め生成しなくてもよいので、このようなユーザの場合はページ関連データを生成しないことで、メモリ容量を有効活用し、かつ、電子書籍表示装置１の処理負荷も軽減することができる。
【０１９０】
（３−５）また例えば、表示部１４の画面サイズが小さければ、拡大表示をする蓋然性が高い。このため、画面サイズが小さい場合にのみページ関連データを生成するようにして、画面サイズが大きい場合にはページ関連データを生成しないようにしてもよい。
【０１９１】
変形例（３−５）では、サイズ取得部１１２が実現される。サイズ取得部１１２は、表示部１４の画面サイズに関するサイズ情報を取得する。例えば、データ記憶部１００に、サイズ情報が記憶されていてもよい。サイズ情報は、例えば、表示部１４のインチ数を示す。
【０１９２】
ページ関連データ生成部１０４は、サイズ判定部１０４Ｋを含む。サイズ判定部１０４Ｋは、サイズ情報に基づいて、表示部１４の画面サイズが基準未満であるか否かを判定する。この基準のサイズは、データ記憶部１００に記憶されているものとする。基準のサイズは、固定値であってもよいし、可変値であってもよい。
【０１９３】
ページ関連データ生成部１０４は、サイズ判定部１０４Ｋにより基準未満であると判定された場合にページ関連データを生成して記録する。即ち、ページ関連データ生成部１０４は、サイズ判定部１０４Ｋにより基準以上であると判定された場合にはページ関連データを生成しない。
【０１９４】
変形例（３−５）によれば、表示部１４の画面サイズを参照してページ関連データの生成の要否を決定するので、表示部１４に応じた処理を行うことができる。即ち、画面サイズが大きく拡大表示をする必要性が低い表示部１４の場合は、ページ関連データを予め生成しなくてもよいので、このような表示部１４の場合はページ関連データを生成しないことで、メモリ容量を有効活用し、かつ、電子書籍表示装置１の処理負荷も軽減することができる。
【０１９５】
（４）上記説明した変形例（１）〜（３）以外にも、下記のようにしてもよい。
【０１９６】
例えば、文字領域候補を抽出する方法自体は、文字領域の可能性があるものを抽出できればよく、公知の種々の手法を適用可能である。実施形態１等で説明した方法以外にも、領域の大きさが一定範囲のものを文字領域候補として抽出するようにしてもよい。同様に、文字判定方法自体も、公知の種々の手法を適用可能である。
【０１９７】
また例えば、上記では、表示部１４に表示されるページＰＮの次のページＰＮ＋１に対してページ関連データが生成される場合を説明したが、ページ関連データ生成部１０４は、２ページ後のページＰＮ＋２に対してもページ関連データを生成してもよく、ページ関連データを生成するページ数の範囲は、これに限られない。同様に、表示部１４に表示されるページＰＮの前のページＰＮ−１に対してページ関連データを生成してもよい。前のページＰＮ−１に対してページ関連データを生成するか、次のページＰＮ＋１に対してページ関連データを生成するか、はページ送り操作によって、ページが戻ったか否かに応じて決めてもよい。即ち、ページ送りの方向に基づいて、前のページＰＮ−１のページ関連データを生成するか、後のページＰＮ＋１のページ関連データを生成するか、を決定するようにしてもよい。
【０１９８】
また例えば、ページ関連データを生成するページ数は、電子書籍表示装置１のメモリ容量又はメモリ残量に応じて決まってもよい。例えば、電子書籍表示装置１のメモリ容量又はメモリ残量が大きいほど、多くのページに対してページ関連データを生成するようにしてもよい。他にも例えば、ページ関連データを生成するページ数は、ページ送りの速度に応じて決まってもよい。例えば、ページ送りの速度が速いほど、多くのページに対してページ関連データを生成するようにしてもよい。なお、ページ送りの速度は、ユーザによるページ送り操作が行われる時間間隔に基づいて計算すればよい。また、各ページＰＮの読書時間を計算し、当該計算した読書時間に応じてページ関連データを生成するページ数が決まってもよい。例えば、読書時間が短いほど、多くのページに対してページ関連データを生成するようにしてもよい。読書時間は、輪郭の数や領域の面積等によって計算すればよい。
【０１９９】
また例えば、ユーザの操作を要することなくページを切り替える自動ページ送り機能があってもよい。この場合、表示制御部１０３は、あるページを一定時間だけ表示部１４に表示させると、次のページに切り替えることになる。
【０２００】
また例えば、各コマ２１に描かれる文字は、キャラクタが発する言葉だけでなく、キャラクタの心情や漫画の効果音を表すものであってもよい。このような文字であっても、拡張部１０４Ｂが領域を拡張することで、文字をかたまりとして認識可能である。また、実施形態では、漫画の台詞が英語で記述されている場合を例に挙げたが、電子書籍表示装置１で文字認識が可能な言語であればよく、他の言語であってよい。更に、キャラクタの台詞が横書きで記述される場合を説明するが、縦書きであってもよい。この場合、横書き用の学習パターンと、縦書き用の学習パターンと、の２つをデータ記憶部１００に用意しておき、操作後文字判定部１０６は、横書き用と縦書き用の学習パターンの何れかで文字領域と判定されれば、文字領域候補を文字領域と判定すればよい。
【０２０１】
また例えば、結合制限部１０４Ａが行う２値化反転処理は省略してもよい。また、実施形態では、文字が吹き出し線に囲われている場合を説明したが、文字は、吹き出し線に囲われていなくてもよい。この場合、結合制限部１０４Ａの処理は省略してよい。また、文字は、所定のフォントであってもよいし、手書きであってもよい。手書きの文字であっても、拡張部１０４Ｂの処理により文字をかたまりとして認識可能である。更に、吹き出し・コマ・ページによって、文字のフォントや大きさ・色彩・輝度が異なってもよい。フォントや大きさ・色彩・輝度が異なっていたとしても、拡張部１０４Ｂが画像内の領域を拡張させることで、文字をかたまりとして認識可能である。
【０２０２】
また例えば、操作後文字判定部１０６により文字を含むと判定された文字領域候補を拡大表示する場合を説明したが、文字を含むと判定された文字領域候補に対する処理内容は、拡大表示に限られない。他にも、電子書籍表示装置１は、文字を含むと判定された文字領域候補内の文字を翻訳するようにしてもよいし、機械音声を出力するようにしてもよい。更に、電子書籍表示装置１は、文字を含むと判定された文字領域候補内をＯＣＲにより文字抽出を行い、当該抽出した文字のデータを記憶部１１に記録して、電子書籍における文字検索を可能なようにしてもよい。更に、表示制御部１０３は、文字領域と判定された文字領域候補内を切り出して拡大表示するのではなく、ＯＣＲにより検出した文字のデータに基づいて拡大表示してもよい。
【０２０３】
また例えば、実施形態では、電子書籍の一例として漫画を説明したが、文字を含む電子書籍であれば、本発明は適用可能である。例えば、文字の周りに一定のスペースが存在する絵本や雑誌等に対しても、実施形態と同様の文字領域の抽出が可能なため、絵本や雑誌等に適用してもよい。
【要約】
メモリ使用量を抑えつつ、ページ関連データを利用可能にする。電子書籍表示装置（１）のデータ取得手段（１０１）は、複数のページからなる電子書籍データを記憶する手段（１００）に記憶された電子書籍データを取得する。表示制御手段（１０３）は、データ取得手段（１０１）により取得された電子書籍データに基づいて、複数のページのうち指定された１又は複数のページを表示手段（１４）に表示させる。ページ関連データ生成手段（１０４）は、表示手段（１４）に表示された１又は複数のページよりも前及び後の少なくとも一方のページが表示手段（１４）に表示される前に、少なくとも一方のページに基づいてページ関連データを生成して記憶手段（１００）に記録する。【図１】
0005991704.tif 000002
【図２】
0005991704.tif 000003
【図３】
0005991704.tif 000004
【図４】
0005991704.tif 000005
【図５】
0005991704.tif 000006
【図６】
0005991704.tif 000007
【図７】
0005991704.tif 000008
【図８】
0005991704.tif 000009
【図９】
0005991704.tif 000010
【図１０】
0005991704.tif 000011
【図１１】
0005991704.tif 000012
【図１２】
0005991704.tif 000013
【図１３】
0005991704.tif 000014
【図１４】
0005991704.tif 000015
【図１５】
0005991704.tif 000016
【図１６】
0005991704.tif 000017
【図１７】
0005991704.tif 000018
【図１８】
0005991704.tif 000019
【図１９】
0005991704.tif 000020
【図２０】
0005991704.tif 000021
【図２１】
0005991704.tif 000022
【図２２】
0005991704.tif 000023
【図２３】
0005991704.tif 000024
【図２４】
0005991704.tif 000025
【図２５】
0005991704.tif 000026
【図２６】
0005991704.tif 000027
【図２７】
0005991704.tif 000028