【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度、文部科学省、音声教材の効率的な製作方法等に関する調査研究委託研究、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
元の書籍から電子図書のデータを製作する際、元の書籍が例えばワープロデータや、ハイパーテキストデータ化されているのであれば、電子図書の製作も容易である。
なお、元の書籍としてPDFや紙媒体しか存在しない場合もある。このような場合、OCRソフトなど既存のソフトを用いれば、通常の文字に関してデータ化は可能である。
【0006】
しかし、元の書籍として紙媒体しか存在せず、文章にルビが存在している場合、OCRソフトではルビを文字データとしてうまく読み取ることができないという課題がある。
また、元の書籍がPDFで文章にルビが存在している場合、PDFで文字列を選択すれば、ルビも含めて文字の読み取りも可能ではある。しかし、PDFでは、ルビと通常の文字とは異なるレイヤーに配置されている場合があり、ルビを含めて文字列を読み込んだとしても、ルビと、ルビに対応する文字との位置が大きくずれてしまうという課題がある。
【0007】
そこで、本発明は上記課題を解決すべくなされ、その目的とするところは、電子図書の元となる書籍がPDFや紙媒体の場合でも、ルビを正確に電子図書としてデータ化できるプログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明にかかる電子図書製作用プログラムによれば、コンピュータに、元の書籍のPDF又は画像データを取り込み、コンピュータの表示部に表示させる機能と、前記表示部で表示された元の書籍のうち、電子図書データに変換すべき文字列の範囲を操作者が指定すると、指定した範囲の中で、文字を認識する機能と、操作者が指定した範囲内の文字列が縦書きか横書きかを判定する機能と、認識した文字にルビが含まれているか否かを判定する機能と、ルビが含まれていると判定した場合には、ルビと、当該ルビが振られている文字とを関連付けする機能と、ルビが振られている文字を電子図書データに変換する際に、関連付けされたルビが、ルビが振られている文字に対して所定の位置に配置されるように、電子図書データに変換する機能と、を実行させ
るプログラムであって、前記ルビが含まれているか否かを判定する機能は、操作者が指定した範囲内の文字列が横書きと判定された場合、横方向に延びる文字列における所定の範囲以上の大きさの各文字の横方向に延びる中心線を算出し、各文字の中心線の最も多い個所を基準線として設定し、横書きの行ごとに基準線を設定し、操作者が指定した範囲内の文字列が縦書きと判定された場合、縦方向に延びる文字列における所定の範囲以上の大きさの各文字の縦方向に延びる中心線を算出し、各文字の中心線の最も多い個所を基準線として設定し、縦書きの列ごとに基準線を設定し、設定した基準線と接触せず、且つ文字の大きさが他の文字の大きさよりも所定の範囲以下である文字が存在する場合に、当該文字をルビと判定することを特徴としている。
この構成を採用することによって、ルビが本来振られている文字に対して、ルビを正確な位置に配置した電子図書データを製作することができる。
【0009】
また、前記縦書きか横書きかを判定する機能は、操作者が指定した範囲内での各文字の縦横の座標、又は表示部で表示されているページ内での各文字の縦横の座標を検出し、縦座標が同一で横座標が異なる文字が多い場合、横書きと判定し、横座標が同一で縦座標が異なる文字が多い場合、縦書きと判定することを特徴としてもよい。
【0011】
また、ルビが含まれていると判定された場合における、前記ルビと、当該ルビが振られている文字とを関連付けする機能は、隣り合うルビどうしの距離が予め設定された閾値以内の場合に、該閾値以内の複数のルビを1つの漢字又は1つの単語に振られているルビであると判定して、1つの漢字又は1つの単語に振られていると判定された複数のルビをグループ化し、該グループ化した複数のルビの先頭位置を含む漢字から、前記グループ化した複数のルビの終端位置を含む漢字までを、当該グループ化したルビが振られている漢字又は単語であるとして関連付けし、隣り合うルビどうしの距離が前記閾値以上であって、グループ化されない1文字のルビが存在する場合、該ルビの位置を含む漢字を、当該ルビが振られている漢字であるとして関連付けすることを特徴としてもよい。
【0012】
また、操作者が指定した範囲の中に画像データが存在し、且つ該画像データに縦方向又は横方向に延びる余白が存在する場合、該余白を削除し、余白の両側に存在する画像データを結合させることを特徴としてもよい。
【0013】
また、操作者が指定した範囲の中に画像データが存在し、且つ該画像データに縦方向又は横方向に延びる重複した個所が存在する場合、該重複した個所において、重複したデータのいずれか一方を削除することを特徴としてもよい。
【発明の効果】
【0014】
本発明の電子図書製作用プログラムによれば、ルビを正確に電子図書としてデータ化できる。
【発明を実施するための形態】
【0016】
電子図書製作用プログラムが読み込まれ、該プログラムが動作するコンピュータについて、
図1に基づいて説明する。
コンピュータ10は、通常のパーソナルコンピュータを用いることができ、LCDモニタ等の表示部12、制御部14、記憶装置16、キーボード17、マウス等のポインティングデバイス18を備えている。制御部14は、CPU、ROM及びRAM等からなるメモリを有している。記憶装置16としては、HDDなどを採用することができる。
【0017】
コンピュータ10には、周辺機器としてスキャナ19を接続するとよい。スキャナ19は、電子図書の元の書籍をPDF又はその他のデータとして読み込む。読み込んだ元の書籍のデータはコンピュータ10の記憶装置16に記憶される。
なお、コンピュータ10にスキャナ19を接続していなくてもよく、この場合、元の書籍のPDF又はその他のデータは、コンピュータ10とは切り離されている別の機器によって、予めPDF又はその他のデータに変換され、この元の書籍のPDF又はその他のデータを、インターネット経由又はCD、USBメモリ等の記録媒体を介してコンピュータ10が読み取り、記憶装置16に記憶する。
【0018】
コンピュータ10の記憶装置16に、電子図書製作用プログラムPが記憶されている。
電子図書製作用プログラムPを起動させた場合における表示部12の表示内容を、
図2に示す。
また、電子図書製作用プログラムPの実行工程を
図3〜
図6に示す。
なお、以下の実施形態では、元の書籍データが、文字情報を取得可能なPDFである場合を例として説明する。
【0019】
図2では、電子図書製作用プログラムの操作画面を示している。
電子図書製作用プログラムPが起動すると、コンピュータ10の表示部12には、電子図書製作用プログラムPの操作画面20が表示される。
【0020】
操作画面20は、中央に読み込んだ元の書籍データを表示するファイル表示部21を有している。
操作者は、元の書籍データをファイル表示部21に表示させるために、まずファイルボタン22をクリックする。ファイルボタン22がクリックされると、記憶装置16内のフォルダが表示され、操作者は電子図書へ変換する対象のファイルを選択する。
電子図書製作用プログラムPは、操作者が選択した記憶装置16内のファイルを読み出してファイル表示部21に表示する(
図3のS100)。
【0021】
次に操作者は、元の書籍のPDFデータから、電子図書に変換すべき範囲を指定する。
なお、操作画面20には、「テキスト、見出し、画像」のうちのいずれか1つの属性を選択できるラジオボタン23が設けられており、指定する前には、まず操作者は、操作画面20のラジオボタン23から、指定しようとする範囲の属性が「テキスト、見出し、画像」のいずれかであるか選択する。
【0022】
変換すべき範囲は、操作者がポインティングデバイス18を操作することで、ファイル表示部21内でポインタを移動させて行うことができる。変換すべき範囲の指定は、1回で複数指定することができる。
図2では、操作者が4か所の範囲を指定したところを示している。また、電子図書製作用プログラムPは、操作者がポインティングデバイス18を操作して範囲を指定すると、その範囲を矩形で囲むように表示する(
図3のS102)。電子図書製作用プログラムPは、操作者がラジオボタン23でテキスト又は見出しと指定している場合には、矩形で表示された範囲内には文字が存在していると認定し、操作者がラジオボタン23で画像と指定している場合には、矩形で表示された範囲内には画像が存在していると認定する。
【0023】
電子図書製作用プログラムPは、操作者がこの矩形の範囲を複数指定した場合、指定した順番を矩形範囲に合わせて表示させるように動作する(
図2の符号25)。
また、操作画面20には、操作者が指定した範囲の属性がテキスト、見出し、画像のいずれであるか、また指定した順番が、取り込み枠一覧26として表示される。
【0024】
なお、操作者が取り込み枠一覧26を操作することで、実際に電子図書に変換した際に電子図書上で表示する順番や属性を変更することも電子図書製作用プログラムPが実行可能である。例えば、画像の挿入位置を元の書籍とは異なる位置に配置する場合などにこの機能を適用させることができる。
【0025】
操作者が変換すべき範囲の指定を終了すると、次に操作者は操作画面20の取り込みボタン24をクリックする。
取り込みボタン24がクリックされると、電子図書製作用プログラムPは、操作者が指定した範囲のPDFデータを、電子図書データに変換する。
【0026】
電子図書データへの変換動作の最初に行われる工程は、電子図書製作用プログラムPが、操作者が指定した範囲内の文字を認識する工程である(
図3のS104)。文字の認識は、電子図書製作用プログラムPが、PDFファイルにおける文字情報を読み取ることで行われる。
【0027】
なお、電子図書製作用プログラムPが、操作者が指定した範囲内の文字を認識する工程は、操作者が取り込みボタン24をクリックした後ではなく、範囲を指定し終わったときであってもよい。この場合、操作者が取り込みボタン24をクリックすると、電子図書製作用プログラムPは、操作者が指定した範囲の文字列が縦書きか横書きかを判定する動作を実行する。
【0028】
文字の認識が終了すると、電子図書製作用プログラムPは、操作者が指定した範囲の文字列が縦書きか横書きかを判定する(
図3のS106)。
縦書きか、横書きかの判定の具体的な工程は、
図4のフローチャートに基づいて説明する。
【0029】
電子図書製作用プログラムPは、まず各文字の縦横の座標を検出する(
図4のS200)。ちなみに、文字情報を取得可能なPDFの場合、文字ごとに1ページ全体に対する位置座標がデータとして記録されているため、電子図書製作用プログラムPは、文字ごとにPDFの位置座標を取得することで、この工程を容易に行うことができる。
【0030】
次に、電子図書製作用プログラムPは、各文字の縦横の座標を比較し、縦座標(y座標)が同一で横座標(x座標)が異なる文字が多い場合、横書きと判定し、横座標(x座標)が同一で縦座標(y座標)が異なる文字が多い場合、縦書きと判定する(
図4のS202)。
【0031】
図3の工程に戻り、電子図書データへの変換動作全体の工程について説明する。
縦書きか、横書きかの判定の後、電子図書製作用プログラムPは、認識した文字にルビが含まれているか否かを判定する(
図3のS108)。
認識した文字にルビが含まれているか否かを判定する具体的な工程は、
図5〜
図7に基づいて説明する。
【0032】
電子図書製作用プログラムPは、まず操作者が指定した範囲内の文字列が縦書きか横書きかを
図4のS202の結果に基づいて判断し(
図5のS300)、横書きの場合、横方向に延びる文字列における所定の大きさ以上の各文字の横方向に延びる中心線を算出し、各文字の中心線の平均位置を基準線として設定し、横書きの行ごとに基準線を設定する(
図5のS302、
図6)。
【0033】
電子図書製作用プログラムPは、まず操作者が指定した範囲内の文字列が縦書きの場合、縦方向に延びる文字列における所定の大きさ以上の各文字の縦方向に延びる中心線を算出し、各文字の中心線の平均位置を基準線として設定し、縦書きの列ごとに基準線を設定する(
図5のS304)。
【0034】
次は縦書き横書き共通の工程であり、電子図書製作用プログラムPは、設定した基準線が1つの行又は列に対して複数設定されていると判定した場合、文字数が多い方を真の基準線とし、他の基準線を削除する(
図5のS305、
図6)。
【0035】
次に、電子図書製作用プログラムPは、設定した基準線と接触せず、且つ文字の大きさが他の文字の大きさよりも所定の範囲以下である文字が存在するかどうか判断する(
図5のS306)。電子図書製作用プログラムPは、設定した基準線と接触せず、且つ文字の大きさが他の文字の大きさよりも所定の範囲以下である文字が存在する場合に、当該文字をルビと判定する(
図5のS308、
図7)。
例えば、
図7の例で基準線が付されている文字が10ptであって、基準線が付されていない文字が4ptであったとすると、この4ptの文字をルビと判定する。
【0036】
なお、操作者が指定した範囲内に、異なる大きさの文字が複数種類含まれている場合、いずれが本文でいずれがルビなのかを判定することが難しい場合がある。
そこで、電子図書製作用プログラムPは、文字の大きさと文字数から、通常の文章中の文字か、ルビか、又はそれ以外の文字かを判定することができる。この場合、例えば、文字の大きさ(pt)×文字数=判定値とし、判定値が最も大きい文字を通常の文章中の文字とし、通常の文章中の文字の大きさから設定した閾値よりも小さい判定値の文字をルビと判定することができる。
【0037】
図8に示すように、操作者が指定した範囲内に、10ptの文字が50文字、5ptの文字が3文字、50ptの文字が1文字存在していた場合、判定値はそれぞれ500、15、50となる。この場合、判定値500の10ptの文字を通常の文章中の文字(本文)と判定し、閾値を例えば7ptとすれば5ptの文字をルビと判定することができる。
【0038】
なお、
図5のS306において、操作者が指定した範囲内にルビが存在していなかったと判断された場合、電子図書製作用プログラムPは、認識した文字を電子図書データに変換する(
図5のS309)。
【0039】
次に、認識した文字にルビが含まれていることを判定した場合、電子図書製作用プログラムPは、ルビと、このルビが振られている文字とを関連付けする工程を実行する(
図3のS110)。
ルビと、このルビが振られている文字とを関連付けする具体的な工程は、
図9及び
図10に基づいて説明する。
【0040】
電子図書製作用プログラムPは、まず横書きの場合は1行あたり複数のルビが存在するかどうか、縦書きは1列あたり複数のルビが存在するか否かを判定する(
図9のS400)。
1行又は1列内に、ルビが1つだけの場合は、電子図書製作用プログラムPは、横書きの場合そのルビの横方向(x方向)の位置を含む漢字を、縦書きの場合そのルビの縦方向(y方向)の位置を含む漢字を、ルビが振られている漢字であると判定し、ルビとこのルビが振られている漢字とを関連付けする(
図9のS401)。
【0041】
電子図書製作用プログラムPは、1行又は1列あたり複数のルビが存在している場合、ルビと判定された文字をグループ化する。
電子図書製作用プログラムPは、ルビのグループ化の際、各ルビの位置情報から隣り合うルビとの間の距離を算出する(
図9のS402)。そして、この距離が予め設定した閾値以内である場合には、この距離で隣り合っている複数のルビを1つのグループとして設定する(
図9のS404、
図10)。
【0042】
次に、電子図書製作用プログラムPは、グループ化されたルビが、いずれの漢字又は単語に対して振られたルビかを判定し、漢字又は単語に対してグループ化されたルビを関連付けする。
具体的には、電子図書製作用プログラムPは、グループ化した複数のルビの先頭位置を含む漢字から、グループ化した複数のルビの終端位置を含む漢字までを、当該グループ化したルビが振られている漢字又は単語であるとして関連付けする(
図9のS406)。
【0043】
図10に示す例は、横書きの場合であり、グループ化した複数のルビの横方向(x方向)の先頭位置が含まれる漢字から、グループ化した複数のルビの横方向(x方向)の終端位置が含まれる漢字までを、このグループ化したルビが振られている漢字又は単語であるとする。
【0044】
縦書きの場合は、グループ化した複数のルビの縦方向(y方向)の先頭位置が含まれる漢字から、グループ化した複数のルビの縦方向(y方向)の終端位置が含まれる漢字までを、このグループ化したルビが振られている漢字又は単語であるとする。
【0045】
次に、電子図書製作用プログラムPは、グループ化したルビと、このグループ化したルビが振られている漢字又は単語とを関連付けする(
図9のS408)。
【0046】
そして、
図3のS112に示すように、電子図書製作用プログラムPは、ルビを電子図書データに変換する際に、関連付けされたルビが振られている文字に対するルビの配置位置を予め設定しておき、その設定された位置にルビを配置するように電子図書データに変換する。
このようにすることで、ルビと、ルビが振られている文字とが正確な位置に配置された電子図書を製作できる。
【0047】
なお、
図2に示すように、元の書籍は、図表がページに跨る場合、跨った部分は余白28が挿入されることが一般的である。しかし、電子図書はページの概念が無いので、この余白28は不要である。
そこで、本願の電子図書製作用プログラムPは、図表を電子図書データに変換する際に、図表内に余白28を検出した場合には、この余白28を削除して余白28の両側に位置する図表を結合させるように動作する。また、余白28の両側に位置する図表の結合時には、結合部分をビットマップで同色に修正するとよい。
このようにすれば、電子図書に変換した図表について余白28が存在することを無くすことができる。
【0048】
また、元の書籍の図表がページに跨る際、重複した個所が形成される場合もある。
そこで、本願の電子図書製作用プログラムPは、図表を電子図書データに変換する際に、図表内に重複個所(図示せず)を検出した場合には、この重複した個所の重複している画像データの一方を削除するように動作する。
このようにすれば、電子図書に変換した図表について重複個所が存在することを無くすことができる。
【0049】
なお、上述してきた実施形態では、元の書籍データが、文字情報を取得可能なPDFの場合について説明した。しかし本発明における電子図書製作用プログラムPは、元の書籍データが、文字情報を取得可能なPDFの場合に限定するものではなく、他の画像データ等であってもよい。
この場合、電子図書製作用プログラムPはOCR機能を有することが必要である。電子図書製作用プログラムPは、縦書きか横書きかを判定するステップにおいて、PDFに含まれる文字ごとの位置情報ではなく、操作者が指定した範囲内における各文字の位置を算出する必要がある。
【0050】
なお、電子図書の規格としては、デジタル録音図書であるDAISY規格などが代表的である。
DAISY規格の電子図書データは、コンテンツを表現可能なsmil(Synchronized Multimedia Integration Language)ファイルと、見出し情報が記述されたnccファイル又はncxファイルと、テキストデータを記述したマークアップ言語であるhtmlファイル又はxmlファイルを備えている。
【0051】
したがって、電子図書製作用プログラムPが文字を電子図書データに変換する場合、認識した文字(ルビを含む)をhtml又はxml等のマークアップ言語に変換すればよい。
【0052】
以上本発明につき好適な実施形態を挙げて種々説明したが、本発明はこの実施形態に限定されるものではなく、発明の精神を逸脱しない範囲内で多くの改変を施し得るのはもちろんである。