(57)【要約】【課題】印刷文書をスキャナで読み取った後に上記画像処理を適用しても除去できない情報を電子透かしとして高速に埋め込み可能な埋め込み装置、及びその埋め込み装置によって埋め込まれた電子透かしを高速に読み出す読み出し装置を提供する。【解決手段】文章ファイルを入力する文章ファイル入力部と、文章ファイルに埋め込む透かし情報を入力する透かし情報入力部と、透かし情報に対応するコードを記憶する情報記憶部と、文章ファイルからコードを埋め込む区間を検出する区間検出部と、コードに基づき、区間の文字数の増減数を算出する文字数演算部と、算出された文字数の増減数に基づき、区間の文字数を増減させる文字数制御部とを有し、文章ファイルにコードを埋め込む透かし情報埋め込み処理部とを有する。【選択図】図３
2012114725.tif 000002
【特許請求の範囲】
【請求項１】
複数の行から構成される文章ファイルに透かし情報を埋め込む電子透かし埋め込み装置であって、
前記文章ファイルを入力する文章ファイル入力部と、
前記文章ファイルに埋め込む前記透かし情報を入力する透かし情報入力部と、
前記透かし情報に対応するコードを記憶する情報記憶部と、
前記文章ファイルから前記コードを埋め込む区間を検出する区間検出部と、前記コードに基づき、前記区間の文字数の増減数を算出する文字数演算部と、前記算出された前記文字数の増減数に基づき、前記区間の文字数を増減させる文字数制御部とを有し、前記文章ファイルに前記コードを埋め込む透かし情報埋め込み処理部と
を備えることを特徴とする電子透かし埋め込み装置。
【請求項２】
前記文字数演算部は、前記区間の全体の前記文字数が前記コードと対応するように前記区間の文字数の増減数を算出する請求項１に記載の電子透かし埋め込み装置。
【請求項３】
前記文字数演算部は、前記区間の前記文字数の増減数が前記コードと対応するように前記区間の文字数の増減数を算出する請求項１に記載の電子透かし埋め込み装置。
【請求項４】
前記文字数制御部は、改行によって前記文字数を増減させることを特徴とする請求項１〜３のいずれか一項に記載の電子透かし埋め込み装置。
【請求項５】
前記文字数制御部は、前記区間の文字間隔を増減させることによって前記文字数を増減させることを特徴とする請求項１〜３のいずれか一項に記載の電子透かし埋め込み装置。
【請求項６】
前記区間は、前記行の行頭から行末であることを特徴とする請求項１〜５のいずれか一項に記載の電子透かし埋め込み装置。
【請求項７】
前記区間は、特徴文字の間の文章であることを特徴とする請求項１〜５のいずれか一項に記載の電子透かし埋め込み装置。
【請求項８】
前記情報記憶部は、前記透かし情報を複数の前記コードに対応させて記憶することを特徴とする請求項１〜７のいずれか一項に記載の電子透かし埋め込み装置。
【請求項９】
複数の行から構成される文章ファイルに埋め込まれた透かし情報を読み出す電子透かし読み出し装置であって、
前記透かし情報がコードに変換され、コードとして埋め込まれた透かし情報文章ファイルを入力する文章ファイル入力部と、
前記透かし情報に対応するコードを記憶する情報記憶部と、
前記透かし情報文章ファイルに埋め込まれた電子透かし情報を読み出す情報読み出し処理部とを有し、
前記情報読み出し処理部は、
前記透かし情報文章ファイルから前記コードを読み出す読み出し区間を検出する区間検出部と、
検出された前記読み出し区間の文字数を数える文字数演算部と、
前記読み出し区間の前記文字数に対応する前記コードを特定し、前記透かし情報を読み出す情報読み出し部とを有することを特徴とする電子透かし読み出し装置。
【請求項１０】
複数の行から構成される文章ファイルに埋め込まれた透かし情報を読み出す電子透かし読み出し装置であって、
前記透かし情報がコードに変換されコードとして埋め込まれた透かし情報文章ファイルと、前記透かし情報が埋め込まれていないオリジナル文章ファイルとを入力する文章ファイル入力部と、
前記透かし情報に対応するコードを記憶する情報記憶部と、
前記透かし情報文章ファイルに埋め込まれた電子透かし情報を読み出す情報読み出し処理部とを有し、
前記情報読み出し処理部は、
前記透かし情報文章ファイルから前記コードを読み出す読み出し区間を検出する区間検出部と、
前記オリジナル文章ファイルから前記読み出し区間に対応する対応区間を検出する対応区間検出部と、
検出された前記読み出し区間と前記対応区間との文字数を数える文字数演算部と、
前記読み出し区間と前記対応区間との前記文字数の差に対応する前記コードを特定し、前記透かし情報を読み出す情報読み出し部とを有することを特徴とする電子透かし読み出し装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文章ファイルに電子透かしを埋め込む電子透かし埋め込み装置、文章ファイルに埋め込まれた電子透かしを読み出す読み出し装置に関する。
【背景技術】
【０００２】
人には知覚できない情報を文章ファイルや画像・映像・音声等のマルチメディアデータ等のディジタルコンテンツに埋め込み、必要に応じてその情報を読み出せる技術として電子透かしが知られている。電子透かしは、コンテンツの不正コピーや不正配布、改竄等の不正行為の抑止や、不正にコンテンツが流通した場合に流出元を特定可能にする目的で使われている。
【０００３】
文章ファイルに電子透かしを埋め込む方法として、特許文献１による、文字を構成する線の方向や太さ等を制御することで埋め込む方法や、特許文献２による、文字の間隔を制御することで埋め込む方法があり、それらの電子透かしを埋め込む埋め込み装置、読み出し装置がある。それらの埋め込み装置によって文章ファイルに埋め込まれた電子透かしは、文章ファイルの印刷後も印刷文書中に残存しており、読み出し装置によって読み出し可能である。そのため、印刷時に電子透かしとして利用者の識別コードを文章ファイルに埋め込んで印刷することで、不正に流通した文書を発見した際にその識別コードを確認でき、責任の所在を明確にできる。その結果、文書管理を徹底させ、情報漏洩を抑止できる。しかしながら、引用文献１または２に記載の埋め込み装置によって印刷文書に埋め込まれた電子透かしは、その印刷文書をスキャナで読み取った後に、細線化・太線化・歪曲等の画像処理を施すことで、文書の体裁を保ったまま容易に除去できる。そのため、上記画像処理を施してコピーされた文書からは、印刷時に埋め込まれた識別コードを読み出せず、情報漏洩時に責任の所在を明らかにできないことが多かった。
【０００４】
そこで、特許文献３のように、行末の文字単位を構成する行末文字群と改行位置との位置関係を変化させることで、電子透かしを埋め込む方法を用いて、印刷文書をスキャナで読み取った後に上記画像処理を適用しても除去できない情報を電子透かしとして埋め込む埋め込み装置、読み出し装置がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５１００９２号公報
【特許文献２】特許第３８８４９９７号公報
【特許文献３】特開２００２−２６０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、引用文献３に開示された、行末文字群と改行位置との位置関係を変化させる埋め込み装置または読み出し装置は、行末文字群の形態素を解析するための形態素辞書や、形態素解析処理が必要であり、処理量が大きいために埋め込みまたは読み込み処理速度が遅くなるという問題があった。
【０００７】
そこで、本発明は上記従来技術の有する問題点に鑑みてなされたものであり、印刷文書をスキャナで読み取った後に上記画像処理を適用しても除去できない情報を電子透かしとして高速に埋め込み可能な電子透かし埋め込み装置、及び埋め込まれた電子透かしを高速に読み出す電子透かし読み出し装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明の電子透かし埋め込み装置の第１の特徴は、複数の行から構成される文章ファイルに透かし情報を埋め込む電子透かし埋め込み装置であって、文章ファイルを入力する文章ファイル入力部と、文章ファイルに埋め込む透かし情報を入力する透かし情報入力部と、透かし情報に対応するコードを記憶する情報記憶部と、文章ファイルからコードを埋め込む区間を検出する区間検出部と、コードに基づき、区間の文字数の増減数を算出する文字数演算部と、算出された文字数の増減数に基づき、区間の文字数を増減させる文字数制御部とを有し、文章ファイルにコードを埋め込む透かし情報埋め込み処理部とを備えることを要旨とする。
【０００９】
かかる特徴によれば、文章ファイルに埋め込まれたコードは、その文章ファイルを印刷し、スキャナで読み取った後に細線化・太線化・歪曲等の画像処理を施しても除去されずに残る。
【００１０】
また、本発明の電子透かし埋め込み装置の第２の特徴は、第１の特徴の透かし情報埋め込み処理部において、文字数演算部は、区間の全体の文字数がコードと対応するように区間の文字数の増減数を算出することを要旨とする。
【００１１】
また、本発明の電子透かし埋め込み装置の第３の特徴は、第１の特徴の透かし情報埋め込み処理部において、文字数演算部は、区間の文字数の増減数がコードと対応するように区間の文字数の増減数を算出することを要旨とする。
【００１２】
また、本発明の電子透かし埋め込み装置の第４の特徴は、第１から第３のいずれかの透かし情報埋め込み処理部において、文字数制御部は、改行によって文字数を増減させることを要旨とする。
【００１３】
また、本発明の電子透かし埋め込み装置の第５の特徴は、第１から第３のいずれかの透かし情報埋め込み処理部において、文字数制御部は、区間の文字間隔を増減させることによって文字数を増減させることを要旨とする。
かかる特徴によれば、文章の折り返し位置を揃えることで、コードの埋め込みによる文章の折り返しの不自然さを軽減できる。
【００１４】
また、本発明の電子透かし埋め込み装置の第６の特徴は、第１から第５の透かし情報埋め込み処理部において、区間は、行の行頭から行末であることを要旨とする。
【００１５】
また、本発明の電子透かし埋め込み装置の第７の特徴は、第１から第５の透かし情報埋め込み処理部において、区間は、特徴文字の間の文章であることを要旨とする。
【００１６】
また、本発明の電子透かし埋め込み装置の第８の特徴は、第１から第７の透かし情報埋め込み処理部において、情報記憶部は、透かし情報を複数のコードに対応させて記憶することを要旨とする。
【００１７】
また、本発明の電子透かし読み出し装置の第１の特徴は、複数の行から構成される文章ファイルに埋め込まれた透かし情報を読み出す電子透かし読み出し装置であって、透かし情報がコードに変換され、コードとして埋め込まれた透かし情報文章ファイルを入力する文章ファイル入力部と、透かし情報に対応するコードを記憶する情報記憶部と、透かし情報文章ファイルに埋め込まれた電子透かし情報を読み出す情報読み出し処理部とを有し、情報読み出し処理部は、透かし情報文章ファイルからコードを読み出す読み出し区間を検出する区間検出部と、検出された読み出し区間の文字数を数える文字数演算部と、読み出し区間の文字数に対応するコードを特定し、透かし情報を読み出す情報読み出し部とを有することを要旨とする。
【００１８】
また、本発明の電子透かし読み出し装置の第２の特徴は、複数の行から構成される文章ファイルに埋め込まれた透かし情報を読み出す電子透かし読み出し装置であって、透かし情報がコードに変換されコードとして埋め込まれた透かし情報文章ファイルと、透かし情報が埋め込まれていないオリジナル文章ファイルとを入力する文章ファイル入力部と、透かし情報に対応するコードを記憶する情報記憶部と、透かし情報文章ファイルに埋め込まれた電子透かし情報を読み出す情報読み出し処理部とを有し、情報読み出し処理部は、透かし情報文章ファイルからコードを読み出す読み出し区間を検出する区間検出部と、オリジナル文章ファイルから読み出し区間に対応する対応区間を検出する対応区間検出部と、検出された読み出し区間と対応区間との文字数を数える文字数演算部と、読み出し区間と対応区間との文字数の差に対応するコードを特定し、透かし情報を読み出す情報読み出し部とを有することを要旨とする。
【発明の効果】
【００１９】
本発明によれば、印刷文書をスキャナで読み取った後に上記画像処理を適用しても除去できない情報を電子透かしとして高速に埋め込み可能な電子透かし埋め込み装置、及び埋め込まれた電子透かしを高速に読み出す電子透かし読み出し装置を提供することが可能になる。
【図面の簡単な説明】
【００２０】
【図１】第一の実施形態による電子透かし埋め込み装置の構成を示すブロック図である。
【図２】第一の実施形態による電子透かし埋め込み装置の埋め込み処理部の構成を示すブロック図である。
【図３】第一の実施形態による電子透かし埋め込み装置の動作手順を示すフローチャートである。
【図４】電子透かし埋め込み対象のオリジナル文章ファイルの例を示す図である。
【図５】電子透かしとして文章ファイルに埋め込む透かし情報の例を示す図である。
【図６】第一の実施形態による電子透かし埋め込み装置・読み出し装置で用いる、一行の文字数と埋め込まれた情報の関係及び文字の数え方等の規則例を示す図である。
【図７】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルの例を示す図である。
【図８】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルの例を示す図である。
【図９】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルの例を示す図である。
【図１０】第一の実施形態による電子透かし埋め込み装置・読み出し装置で用いる、一行の文字数と埋め込まれた情報の関係及び文字の数え方等の規則例を示す図である。
【図１１】第一の実施形態による電子透かし読み出し装置の構成を示すブロック図である。
【図１２】第一の実施形態による電子透かし読み出し装置の読み出し処理部の構成を示すブロック図である。
【図１３】第一の実施形態による電子透かし読み出し装置の動作手順を示すフローチャートである。
【図１４】第一の実施形態による電子透かし読み出し装置により文章ファイルから読み出した透かし情報の例を示す図である。
【図１５】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルを印刷し、スキャナで読み取った画像の例を示す図である。
【図１６】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルを印刷し、スキャナで読み取って細線化処理を施した画像の例を示す図である。
【図１７】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルを印刷し、スキャナで読み取って太線化処理を施した画像の例を示す図である。
【図１８】第一の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルを印刷し、スキャナで読み取って歪曲処理を施した画像の例を示す図である。
【図１９】第二の実施形態による電子透かし埋め込み装置の構成を示すブロック図である。
【図２０】第二の実施形態による電子透かし埋め込み装置の埋め込み処理部の構成を示すブロック図である。
【図２１】第二の実施形態による電子透かし埋め込み装置の動作手順を示すフローチャートである。
【図２２】第二の実施形態による電子透かし埋め込み装置・読み出し装置で用いる、文章の１文字目から行末までの総文字数と埋め込まれた情報の関係及び文字の数え方等の規則例を示す図である。
【図２３】第二の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルの例を示す図である。
【図２４】第二の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルの例を示す図である。
【図２５】第二の実施形態による電子透かし埋め込み装置により透かし情報を埋め込んだ文章ファイルの例を示す図である。
【図２６】第二の実施形態による電子透かし埋め込み装置・読み出し装置で用いる、文章の１文字目から行末までの総文字数と埋め込まれた情報の関係及び文字の数え方等の規則例を示す図である。
【図２７】第二の実施形態による電子透かし読み出し装置の構成を示すブロック図である。
【図２８】第二の実施形態による電子透かし読み出し装置の読み出し処理部の構成を示すブロック図である。
【図２９】第二の実施形態による電子透かし読み出し装置の動作手順を示すフローチャートである。
【図３０】第二の実施形態による電子透かし読み出し装置により文章ファイルから読み出した透かし情報の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の一実施形態による電子透かし埋め込み装置及び電子透かし読み出し装置について説明する。
【００２２】
（第一の実施形態）
本実施形態は、一行に含まれる文字数を所定の文字数に一致させることで該行に目に見えない情報を埋め込む埋め込み装置、それにより埋め込まれた情報を読み出す読み出し装置に関する。
【００２３】
［電子透かし埋め込み装置］
図１は、第一の実施形態における電子透かし埋め込み装置の構成を示すブロック図である。図１に示すように、本実施形態による電子透かし埋め込み装置１００は、透かし情報の埋め込み対象である文章ファイルを入力する文章ファイル入力部１１０、透かし情報を入力する透かし情報入力部１２０、一行に含まれる文字数と埋め込まれる情報の対応関係を埋め込み規則情報として記憶する情報記憶部１３０、電子透かし埋め込み処理を行う埋め込み処理部１４０及び透かし情報が埋め込まれた文章ファイルを出力する出力部１５０とから構成される。
【００２４】
図２は、埋め込み処理部１４０の構成を示すブロック図である。図２に示すように、埋め込み処理部１４０は、文章ファイルを構成する文章から行を検出する区間検出部１４１と、検出された行に情報を埋め込んだ場合の該行の文字数を情報記憶部１３０に記憶された埋め込み規則情報に従って演算する文字数演算部１４２と、文字数演算部１４２の結果に一致するように上記行の文字数を増減する文字数制御部１４３とから構成される。
【００２５】
次に、電子透かし埋め込み装置１００を用いた電子透かし埋め込み方法について説明する。図３は、電子透かし埋め込み装置１００の動作手順を示すフローチャートである。
【００２６】
図３に示すように、文章ファイル入力部１１０に透かし情報の埋め込み対象であるオリジナル文章ファイル１６０を入力し（Ｓ１０１Ａ）、透かし情報入力部１２０にｎ個の情報で構成される透かし情報１７０を入力する（Ｓ１０２Ａ）。
【００２７】
入力されたオリジナル文章ファイル１６０のデータと透かし情報１７０は埋め込み処理部１４０に渡される。埋め込み処理部１４０は下記手順を繰り返す。
【００２８】
まず区間検出部１４１によって、オリジナル文章ファイル１６０のデータから、先頭行から数えた行番号が最も若くまだ処理されていない一行を検出する（Ｓ１０３Ａ）。
【００２９】
次に、文字数演算部１４２によって、検出された行に情報を埋め込んだ場合の該行の文字数を埋め込み規則情報１８０に従って演算する（Ｓ１０４Ａ）。
【００３０】
そして文字数制御部１４３によって、文字数演算部１４２の演算結果に一致するように該行の文字数を増減することで該演算結果に対応する情報を埋め込み（Ｓ１０５Ａ）、オリジナル文章ファイル１６０のデータを更新する（Ｓ１０６Ａ）。
【００３１】
上記手順の繰り返しは、区間検出部１４１において新しい行が検出されなくなった時点で終了する（Ｓ１０７Ａ）。
【００３２】
上記手順により更新されたオリジナル文章ファイル１６０のデータは、出力部１５０から、透かし情報１７０が埋め込まれた文章ファイル１６１として出力される（Ｓ１０８Ａ）。
【００３３】
以下、具体的なデータを用いて電子透かし埋め込み装置１００の動作を詳細に説明する。
【００３４】
図４のオリジナル文章ファイル１６２は、オリジナル文章ファイル１６０の一例である。文章の各行末には改行コードが含まれている。１行目１６２−１は３６文字である。２行目１６２−２は３７文字である。３行目１６２−３は行末の“ー”までは文字数に入れると３７文字である。４行目１６２−４は行末の“。”までは文字数に入れると１０文字である。
【００３５】
図５の透かし情報１７１は、透かし情報１７０の一例であり、２進数で表現された３桁のビットである。
【００３６】
図６の埋め込み規則情報１８１は、情報記憶部１３０に記憶されている埋め込み規則情報１８０の一例であり、埋め込み処理後の一行の文字数と埋め込まれる情報との対応関係を示す。
【００３７】
図４のオリジナル文章ファイル１６２を文章ファイル入力部１１０から入力し、図５の透かし情報１７１を透かし情報入力部１２０から入力する。
【００３８】
入力されたオリジナル文章ファイル１６２のデータと透かし情報１７１は埋め込み処理部１４０に渡される。埋め込み処理部１４０は、下記の手順により、オリジナル文章ファイル１６２のデータに透かし情報１７１に対応する情報を埋め込む。
【００３９】
図７に、図４のオリジナル文章ファイル１６２の１行目に、図５の１ビット目であるビット０に対応する情報を埋め込んだ文章ファイル１６２ａを示す。透かし情報１７１のビット０に対応する情報を埋め込む手順は以下の通りである。
【００４０】
まず区間検出部１４１によって、オリジナル文章ファイル１６２のデータから１行目１６２−１を検出する。
【００４１】
次に、文字数演算部１４２によって、ビット０に対応する１行目の文字数を、埋め込み規則情報１８１に従って演算する。まず、埋め込み規則情報１８１の規則から、１行目のビット０に対応する文字数は３６であることを読み取る。次に、埋め込み前の１行目１６２−１の文字数をカウント演算し、３６であることを演算する。次に、ビット０に対応する文字数３６と埋め込み前の文字数３６との差を演算し、文字数の変化量０を得る。
【００４２】
次に、文字数制御部１４３によって、文字数の変化量０を元に、１行目１６２−１の文字数の変更処理を行う。文字数の変化量が０なので、文字数の変更処理は行わない。以上の処理を行った上で、オリジナル文章ファイル１６２のデータを更新し、文章ファイル１６２ａを作成する。
【００４３】
図８に、図７に引き続き、２行目に図５の２ビット目であるビット１に対応する情報を埋め込んだ文章ファイル１６２ｂを示す。透かし情報１７１の２ビット目の１に対応する情報を埋め込む手順は以下の通りである。
【００４４】
まず区間検出部１４１によって、図７の文章ファイル１６２ａのデータから２行目１６２ａ−２を検出する。
【００４５】
次に、文字数演算部１４２によって、ビット１に対応する２行目の文字数を、埋め込み規則情報１８１に従って演算する。まず、埋め込み規則情報１８１の規則２から、２行目のビット１に対応する文字数は３５であることを読み取る。次に、埋め込み前の２行目１６２ａ−２の文字数をカウント演算し、３７であることを演算する。次に、ビット１に対応する文字数３５と埋め込み前の文字数３７との差を演算し、文字数の変化量−２を得る。そして、２行目１６２ｂ−２の文字数を２文字減らすことが可能か検証する。まず、２行目の文字数を１文字ずつ減らして文字数をカウントする処理を繰り返し、文字数が２文字以上減少した時点の改行位置を求める。行末から−２文字の位置である文字“出”と“せ”の間で改行した場合、２行目の文字数は３５となる。よって、２文字減らすことは可能である。
【００４６】
次に、文字数制御部１４３によって、文字数の変化量−２を元に、２行目１６２ａ−２の文字数の変更処理を行う。文字数の変化量が−２なので、２行目１６２ａ−２の行末から−２文字の位置である文字“出”と文字“せ”の間で改行を行う。以上の処理を行った上で、文章ファイル１６２ａのデータを更新し、文章ファイル１６２ｂを作成する。
【００４７】
図９に、図８に引き続き、３行目に図５の３ビット目であるビット０に対応する情報を埋め込んだ文章ファイル１６２ｃを示す。透かし情報１７１の３ビット目の０に対応する情報を埋め込む手順は以下の通りである。
【００４８】
まず区間検出部１４１によって、図８の文章ファイル１６２ｂのデータから３行目１６２ｂ−３を検出する。
【００４９】
次に、文字数演算部１４２によって、ビット０に対応する３行目の文字数を、埋め込み規則情報１８１に従って演算する。まず、埋め込み規則情報１８１の規則１から、３行目のビット０に対応する文字数は３６であることを読み取る。次に、埋め込み前の３行目１６２ｂ−３の文字数をカウント演算する。埋め込み前３行目１６２ｂ−３の文字数は、行末の“ー”までカウントすると３９文字であるが、埋め込み規則情報１８１の規則５から、行末の“ー”は文字数にカウントしないため３８となる。次に、ビット０に対応する文字数３６と埋め込み前の文字数３８との差を演算し、文字数の変化量−２を得る。そして、３行目１６２ｂ−３の文字数を２文字減らすことが可能か検証する。まず、３行目の文字数を１文字ずつ減らして文字数をカウントする処理を繰り返し、文字数が２文字以上減少した時点の改行位置を求める。行末から−１文字の位置である文字“ー”（文字“ォ”の直後の文字）と“タ”の間で改行した場合、３行目の文字数は、埋め込み規則情報１８１の規則５から行末の“ォー”は文字数にカウントしないため３５となり、元の文字数から３文字減少する。よって、２文字だけ減らすことはできない。
【００５０】
検証の結果、文字数の変更が不可能と判断された場合、埋め込み規則情報１８１の規則１から他にビット０に対応する文字数を読み取る。他にビット０に対応する文字数がなければ規則３に従って文字数を求めるが、この場合は他にビット０に対応する文字数として３８がある。そこで、ビット０に対応する文字数３８と埋め込み前の文字数３８の差を演算し、文字数の変化量０を得る。変化量が０の場合は、文字数の変更の可否についての検証は省略される。
【００５１】
次に、文字数制御部１４３によって、文字数の変化量０を元に、３行目１６２ｂ−３の文字数の変更処理を行う。文字数の変化量が０なので、実際に改行は行わない。以上の処理を行った上で、オリジナル文章ファイル１６２ｂのデータを更新し、文章ファイル１６２ｃを作成する。
【００５２】
以上で透かし情報１７１が全て埋め込まれた。以降の行は何も情報が埋め込まれないように処理する。まず区間検出部１４１によって、図９の文章ファイル１６２ｃのデータから４行目１６２ｃ−４を検出する。
【００５３】
次に、文字数演算部１４２によって、何も情報を埋め込まない場合の４行目１６２ｃ−４の文字数を、埋め込み規則情報１８１に従って演算する。埋め込み規則情報１８１の規則３から、４行目１６２ｃ−４に何も情報を埋め込まない場合の文字数は３４以下または３９以上であることを読み取る。次に、埋め込み前の４行目１６２ｃ−４の文字数をカウント演算する。埋め込み前の４行目１６２ｃ−４の文字数は、行末の“。”までであると１０であるが、埋め込み規則情報１８１の規則５より、行末の“。”は文字数に入れないため、文字数は９となる。次に、埋め込み規則１８１の規則５から読み取った文字数と、埋め込み前の文字数との差を演算する。埋め込み前の４行目１６２ｃ−４の文字数は３４以下であるので、埋め込み規則１８１の規則３の何も情報を埋め込まない場合の文字数の範囲内であり、文字数の変化量は０である。
【００５４】
次に、文字数制御部１４３によって、文字数の変化量０を元に、４行目１６２ｃ−４の文字数の変更処理を行う。文字数の変化量が０なので、実際に改行は行わない。以上の処理を行った上で、オリジナル文章ファイル１６２ｃのデータを更新する。
【００５５】
上記手順により生成された文章ファイル１６２ｃは、出力部１５０から、透かし情報１７１が埋め込まれた文章ファイルとして出力される。
【００５６】
以上の説明において用いたオリジナル文章ファイル１６２は一例であり、本実施形態による電子透かしの埋め込みは、要旨を逸脱しない範囲で任意の文章ファイルに適用できる。
【００５７】
例えば、オリジナル文章ファイルは、１行あたりの文字サイズと文字間隔の総和に応じて行を折り返すデータ形式でも良い。この場合、行末に改行コードを付加することで文字数を制御する方法の他、文字間隔や文字サイズを変更することで文字数を制御する方法を用いても良い。
【００５８】
オリジナル文章ファイルは、電子透かしの埋め込み対象となる文章の他に、画像・音声・動画等のマルチメディアデータを含むファイルであっても良い。その場合、区間検出部１４１は、該マルチメディアデータと文章を識別し、文章から行を検出する。
【００５９】
また、以上の説明において用いたオリジナル文章ファイル１６１の文章は日本語で記述されているが、オリジナル文章ファイルの文章は英語や中国語、韓国語、フランス語、ドイツ語等、日本語以外の言語で記述されていても良い。
【００６０】
また、以上の説明において用いた透かし情報１７１は一例であり、本実施形態による電子透かしの埋め込みは、要旨を逸脱しない範囲で任意の透かし情報に適用できる。
例えば、透かし情報は、０または１以外の数値や文字を含む情報であっても良い。
【００６１】
また、以上の説明において用いた埋め込み規則情報１８１は一例であり、本実施形態による電子透かしの埋め込みは、要旨を逸脱しない範囲で任意の埋め込み規則情報を用いることができる。
【００６２】
例えば、埋め込み規則情報は、一行に含まれる文字数は英単語や数値の途中で改行が生じる文字数にしてはならないといった、文字数の調整に関する制約規則を含んでも良い。
【００６３】
また、埋め込み規則情報は、一行に含まれる文字数と複数の情報列の対応関係を含んでも良く、図１０の埋め込み規則情報１８２を用いると、各行に最大２ビットの情報を埋め込むことができる。よって、本実施形態に係る埋め込み装置は、各行に複数の情報を電子透かしとして埋め込むことができる。
【００６４】
また、以上の説明において用いた区間検出部によって検出される区間は、行でなくてもよく、句読点間、または決められた文字や文字サイズや文字間隔といった特徴文字の間の区間でも良い。
【００６５】
［電子透かし読み出し装置］
図１１は、第一の実施形態における電子透かし読み出し装置の構成を示すブロック図である。図１１に示すように、本実施形態による電子透かし読み出し装置１０１は、透かし情報が埋め込まれた文章ファイルを入力する文章ファイル入力部１１１、一行に含まれる文字数と埋め込まれた情報の対応関係を読み出し規則情報として記憶する情報記憶部１３０、電子透かし読み出し処理を行う読み出し処理部１９０及び透かし情報を出力する出力部１５１とから構成される。
【００６６】
図１２は、読み出し処理部１９０の構成を示すブロック図である。図１２に示すように、読み出し処理部１９０は、文章ファイルを構成する文章から行を検出する区間検出部１９１と、検出された行の文字数を数える文字数演算部１９２と、情報記憶部１３０に記憶された読み出し規則情報を参照し、文字数演算部１９２の結果に対応する情報を読み出す情報読み出し部１９３とから構成される。
【００６７】
次に、電子透かし読み出し装置１０１を用いた電子透かし読み出し方法について説明する。図１３は、電子透かし読み出し装置１０１の動作手順を示すフローチャートである。
【００６８】
図１３に示すように、文章ファイル入力部１１１に透かし情報が埋め込まれた文章ファイル１６１を入力する（Ｓ１０１Ｂ）。
【００６９】
入力された文章ファイル１６１のデータは読み出し処理部１９０に渡される。読み出し処理部１９０は下記手順を繰り返す。
【００７０】
まず区間検出部１９１によって、文章ファイル１６１のデータから、先頭行から数えた行番号が最も若くまだ処理されていない一行を検出する（Ｓ１０２Ｂ）。
次に文字数演算部１９２によって、検出された行の文字数を数える（Ｓ１０３Ｂ）。
【００７１】
そして情報読み出し部１９３によって、情報記憶部１３０に記憶された読み出し規則情報１８０を参照し、文字数演算部１９２の演算結果に対応する情報を読み出す（Ｓ１０４Ｂ）。読み出した情報は、情報記憶部１３０に一時的に記憶する（Ｓ１０５Ｂ）。
【００７２】
上記手順の繰り返しは、区間検出部１９１において新しい行が検出されなくなった時点で終了する（Ｓ１０６Ｂ）。
【００７３】
上記手順により読み出し、情報記憶部１３０に一時的に記憶した情報は、出力部１５１から、透かし情報１７０として出力される（Ｓ１０７Ｂ）。
【００７４】
以下、具体的なデータを用いて電子透かし読み出し装置１０１の動作を詳細に説明する。
図９の透かし情報が埋め込まれた文章ファイル１６２ｃを文章ファイル入力部１１１から入力する。
【００７５】
入力された文章ファイル１６２ｃのデータは読み出し処理部１９０に渡される。読み出し処理部１９０は、下記の手順により、文章ファイル１６２ｃのデータから透かし情報を読み出す。
【００７６】
透かし情報の１ビット目を読み出す手順は以下の通りである。まず区間検出部１９１によって、文章ファイル１６２ｃのデータから１行目を検出する。
【００７７】
次に文字数演算部１９２によって、１行目の文字数を数える。この場合の文字数は３６である。
【００７８】
そして情報読み出し部１９３によって、情報記憶部１３０に記憶された図６の読み出し規則情報１８１を参照し、文字数３６に対応するビット０を読み出す。読み出したビット０は情報記憶部１３０に一時的に記憶する。
【００７９】
透かし情報の２ビット目を読み出す手順は以下の通りである。まず区間検出部１９１によって、文章ファイル１６２ｃのデータから２行目を検出する。
【００８０】
次に文字数演算部１９２によって、２行目の文字数を数える。この場合の文字数は３５である。
【００８１】
そして情報読み出し部１９３によって、情報記憶部１３０に記憶された読み出し規則情報１８１を参照し、文字数３５に対応するビット１を読み出す。読み出したビット１は１行目から読み出したビット０と合わせて情報記憶部１３０に一時的に記憶する。
【００８２】
透かし情報の３ビット目を読み出す手順は以下の通りである。まず区間検出部１９１によって、文章ファイル１６２ｃのデータから３行目を検出する。
【００８３】
次に文字数演算部１９２によって、３行目の文字数を数える。この場合の文字数は３８である。
【００８４】
そして情報読み出し部１９３によって、情報記憶部１３０に記憶された読み出し規則情報１８１を参照し、文字数３８に対応するビット０を読み出す。読み出したビット０は１行目から読み出したビット０と２行目から読み出したビット１と合わせて情報記憶部１３０に一時的に記憶する。
【００８５】
透かし情報の４ビット目を読み出す手順は以下の通りである。まず区間検出部１９１によって、文章ファイル１６２ｃのデータから４行目を検出する。
【００８６】
次に文字数演算部１９２によって、４行目の文字数を数える。この場合の文字数は９である。
【００８７】
そして情報読み出し部１９３によって、情報記憶部１３０に記憶された読み出し規則情報１８１を参照し、何も情報が埋め込まれていないことを意味するＮＵＬＬを読み出す。
以上で文章ファイル１６２ｃの全ての行に対する読み出し処理を終了する。
【００８８】
上記手順により読み出し、情報記憶部１３０に一時的に記憶した情報は、出力部１５１から、図１４の透かし情報１７２として出力される。
【００８９】
読み出した透かし情報１７２は、本実施形態における電子透かし埋め込み装置によって１６２ｃに埋め込まれた透かし情報１７１に等しい。このように、本実施形態における電子透かし読み出し装置は、本実施形態における電子透かし埋め込み装置で文章ファイルに埋め込んだ透かし情報を読み出すことができる。
【００９０】
図１５の文章ファイル１６２ｇは、文章ファイル１６２ｃを印刷し、スキャナで読み取った画像である。
【００９１】
図１６の文章ファイル１６２ｈは、図１５の文章ファイル１６２ｄに細線化処理を施した画像である。
【００９２】
図１７の文章ファイル１６２ｉは、図１５の文章ファイル１６２ｄに太線化処理を施した画像である。
【００９３】
図１８の文章ファイル１６２ｊは、図１５の文章ファイル１６２ｄに１６２ｊ−１方向に歪曲処理を施した画像である。
【００９４】
文章ファイル１６２ｃと文章ファイル１６２ｇとを比較すると、印刷とスキャンによって、各行に含まれる文字数は変化していない。また、文章ファイル１６２ｃと文章ファイル１６２ｈ〜文章ファイル１６２ｊとを比較すると、各画像処理によって、各行に含まれる文字数は変化していない。
【００９５】
本実施形態における電子透かし読み出し装置に入力可能な文章ファイルは、文章ファイル１６２ｈ〜文章ファイル１６２ｊの画像からも、既存のＯＣＲ技術によって、または目視で確認し手作業で文章を入力することによって生成できる。それにより、画像中の文章と等しい文章を持つ（一行に含まれる文字数も等しい）文章ファイルが生成され、その文章ファイルは文章ファイル１６２ｃと等しい文章を含んでいる。
【００９６】
上記方法で文章ファイル１６２ｈ〜文章ファイル１６２ｊの画像から生成した文章ファイルを本実施形態の電子透かし読み出し装置に入力することで、各画像中の文章に埋め込まれた透かし情報を読み出すことができる。
【００９７】
以上のように、本実施形態に係る埋め込み装置によって文章ファイルに埋め込まれた電子透かしは、その文章ファイルを印刷し、スキャナで読み取った後に細線化・太線化・歪曲等の画像処理を適用しても除去されない。そのため上記画像処理を施してコピーされた文書からも、埋め込まれた電子透かしの読み出しが可能である。
【００９８】
（第二の実施形態）
本実施形態は、文章の１文字目から各行末までの総文字数を所定の文字数だけ増減することで該行に目に見えない情報を埋め込む埋め込み装置、それにより埋め込まれた情報を読み出す読み出し装置に関する。
【００９９】
［電子透かし埋め込み装置］
図１９は、第二の実施形態における電子透かし埋め込み装置の構成を示すブロック図である。図１９に示すように、本実施形態による電子透かし埋め込み装置２００は、透かし情報の埋め込み対象である文章ファイルを入力する文章ファイル入力部２１０、透かし情報を入力する透かし情報入力部２２０、文章の一文字目から各行末までの総文字数の増減量と埋め込まれる情報の対応関係を埋め込み規則情報として記憶する情報記憶部２３０、電子透かし埋め込み処理を行う埋め込み処理部２４０及び透かし情報が埋め込まれた文章ファイルを出力する出力部２５０とから構成される。
【０１００】
図２０は、埋め込み処理部２４０の構成を示すブロック図である。図２０に示すように、埋め込み処理部２４０は、文章ファイルを構成する文章から行を検出する区間検出部２４１と、検出された行に情報を埋め込んだ場合の文章の１文字目から該行末までの総文字数を情報記憶部２３０に記憶された埋め込み規則情報に従って演算する文字数演算部２４２と、文字数演算部２４２の結果に一致するように文章の１文字目から上記行末までの総文字数を増減する文字数制御部２４３とから構成される。
【０１０１】
次に、電子透かし埋め込み装置２００を用いた電子透かし埋め込み方法について説明する。図２１は、電子透かし埋め込み装置２００の動作手順を示すフローチャートである。
【０１０２】
図２１に示すように、文章ファイル入力部２１０に透かし情報の埋め込み対象であるオリジナル文章ファイル２６０を入力し（Ｓ２０１Ａ）、透かし情報入力部２２０にｎ個の情報で構成される透かし情報２７０を入力する（Ｓ２０２Ａ）。
【０１０３】
入力されたオリジナル文章ファイル２６０のデータと透かし情報２７０は埋め込み処理部２４０に渡される。埋め込み処理部２４０は下記手順を繰り返す。
【０１０４】
まず区間検出部２４１によって、オリジナル文章ファイル２６０のデータから、先頭行から数えた行番号が最も若くまだ処理されていない一行を検出する（Ｓ２０３Ａ）。
【０１０５】
次に、文字数演算部２４２によって、検出された行に情報を埋め込んだ場合の文章の１文字目から該行末までの総文字数を埋め込み規則情報２８０に従って演算する（Ｓ２０４Ａ）。
【０１０６】
そして文字数制御部２４３によって、文字数演算部２４２の演算結果に一致するように文章の１文字目から該行末までの総文字数を増減することで該演算結果に対応する情報を埋め込み（Ｓ２０５Ａ）、オリジナル文章ファイル２６０のデータを更新する（Ｓ２０６Ａ）。
【０１０７】
上記手順の繰り返しは、区間検出部２４１において新しい行が検出されなくなった時点で終了する（Ｓ２０７Ａ）。
【０１０８】
上記手順により更新されたオリジナル文章ファイル２６０のデータは、出力部２５０から、透かし情報２７０が埋め込まれた文章ファイル２６１として出力される（Ｓ２０８Ａ）。
【０１０９】
以下、具体的なデータを用いて電子透かし埋め込み装置２００の動作を詳細に説明する。
【０１１０】
図２２の埋め込み規則情報２８１は、情報記憶部２３０に記憶されている埋め込み規則情報２８０の一例であり、文章の一文字目から各行末までの総文字数の増減量と埋め込まれる情報の対応関係を示す。
【０１１１】
図４のオリジナル文章ファイル１６２を文章ファイル入力部２１０から入力し、図５の透かし情報１７１を透かし情報入力部２２０から入力する。１行目１６２−１は３６文字である。２行目１６２−４は３７文字である。３行目１６２−３は３７文字である。４行目１６２−４は１０文字である。
【０１１２】
入力されたオリジナル文章ファイル１６２のデータと透かし情報１７１は埋め込み処理部２４０に渡される。埋め込み処理部２４０は、下記の手順により、オリジナル文章ファイル１６２のデータに透かし情報１７１に対応する情報を埋め込む。
【０１１３】
図５の透かし情報１７１の１ビット目のビット０に対応する情報を１行目１６２−１に埋め込む手順は以下の通りである。まず区間検出部２４１によって、図４のオリジナル文章ファイル１６２のデータから１行目１６２−１を検出する。
【０１１４】
次に、文字数演算部２４２によって、ビット０に対応する文章の１文字目から１行末までの総文字数を、埋め込み規則情報２８１に従って演算する。まず、埋め込み規則情報２８１の規則１と規則４から、１行目１６２−１にビット０に対応する情報を埋め込んだ場合の該文字数は、埋め込み前の文章の１文字目から１行目１６２−１の行末までの総文字数から１文字以上減少することを読み取る。次に、埋め込み前の文章の１文字目から１行目１６２−１の行末までの総文字数をカウント演算し、３６であることを演算する。次に、埋め込み前の１行目１６２−１の行末までの総文字数が３６から１文字減少した時点で行末の文字が“ィ”になり、埋め込み規則情報２８１の規則５から、１行末までの総文字数は３４となることを演算する。
【０１１５】
次に、文字数制御部２４３によって、演算結果を元に、文章の１文字目から１行目１６２−１の行末までの総文字数が３４になるように１行目１６２−１の行末から１文字目のところで改行を行う。以上の処理を行った上で、オリジナル文章ファイル１６２のデータを更新する。図２３に、１行目にビット０に対応する情報を埋め込んだ文章ファイル１６２ｄを示す。
【０１１６】
透かし情報１７１の２ビット目のビット１に対応する情報を２行目１６２−２埋め込む手順は以下の通りである。まず区間検出部２４１によって、図２３の文章ファイル１６２ｄのデータから１行目と１６２ｄ−１と２行目１６２ｄ−２を検出する。
【０１１７】
次に、文字数演算部２４２によって、ビット１に対応する文章の１文字目から２行末までの総文字数を、埋め込み規則情報２８１に従って演算する。まず、埋め込み規則情報２８１の規則２から、２行目にビット１に対応する情報を埋め込んだ場合の該文字数は、埋め込み前の文章の１文字目から１行目１６２ｄ−２の行末までの総文字数から１文字以上増加することを読み取る。次に、埋め込み前の文章の１文字目から２行目１６２ｄ−２の行末までの総文字数をカウント演算し、７３であることを演算する。このカウント演算の際に、埋め込み規則情報２８１の規則５が適用されるのは、情報を埋め込む対象となる行のみである。つまり、１行目１６２ｄ−１の行末の文字は“ィ”であるが、文字数としてカウント演算される。これは、規則情報２８１の規則５の適用を減らし、カウント演算を高速に行うためである。ただし、埋め込み規則情報２８１の規則５を、情報を埋め込む対象となる行以外の行に適用し、文字数をカウント演算しても良い。
【０１１８】
次に、文字数制御部２４３によって、演算結果を元に、文章の１文字目から２行目１６２ｄ−２の行末までの総文字数が７４以上になるように２行目１６２ｄ−２の文字数を１文字増やす。つまり、１６２ｄの３行目１６２ｄ−３の行頭から１文字を、２行目１６２ｄ−２の行末に繰り上げる。以上の処理を行った上で、文章ファイル１６２ｄのデータを更新する。図２４に、１行目にビット０、２行目にビット１に対応する情報を埋め込んだ文章ファイル１６２ｅを示す。
【０１１９】
透かし情報１７１の３ビット目の０に対応する情報を埋め込む手順は以下の通りである。まず区間検出部１４１によって、図２４の文章ファイル１６２ｅのデータから３行目１６２ｅ−３を検出する。
【０１２０】
次に、文字数演算部１４２によって、ビット０に対応する情報を埋め込んだ場合の文章の１文字目から３行目１６２ｅ−３の行末までの総文字数を、埋め込み規則情報２８１に従って演算する。まず、埋め込み規則情報２８１の規則１と規則５から、３行目にビット０に対応する情報を埋め込んだ場合の該文字数は、埋め込み前の文章の一文字目から３行目１６２ｅ−２の行末までの総文字数から１文字以上減少することを読み取る。次に、埋め込み前の文章の１文字目から３行目１６２ｅ−３の行末までの総文字数をカウント演算し、１０９であることを演算する。このとき、埋め込み前の３行末の文字は“ター”であり、埋め込み規則情報２８１の規則５から、“ー”は埋め込み前の文字数にカウント演算されていない。また、このカウント演算の際に、埋め込み規則情報２８１の規則５が適用されるのは、情報を埋め込む対象となる行のみである。つまり、１行目１６２ｅ−１の行末の文字は“ィ”であるが、文字数としてカウント演算される。これは、規則情報２８１の規則５の適用を減らし、カウント演算を高速に行うためである。ただし、埋め込み規則情報２８１の規則５が、情報を埋め込む対象となる行以外の行に適用し、文字数をカウント演算しても良い。次に、ビット０に対応する情報を埋め込むために、“ター”の２文字を４行目１６２ｅ−４に移動する処理を行うことで１文字減少させると、３行目行末の文字は“ォー”になり、埋め込み規則情報２８１の規則５から、その時点で３行目行末までの総文字数は１０６となる。
【０１２１】
次に、文字数制御部２４３によって、演算結果を元に、文章の１文字目から３行目１６２ｅ−３の行末までの総文字数が１０６になるように３行目１６２ｅ−３の文字数を３文字減らす。つまり、１６２ｄの３行目１６２ｄ−３の行末から３文字のところで改行を行う。以上の処理を行った上で、文章ファイル１６２ｅのデータを更新する。図２５に、１行目にビット０、２行目にビット１、３行目の１６２ｆ−３にビット０に対応する情報を埋め込んだ文章ファイル１６２ｆを示す。
【０１２２】
以上で透かし情報１７１が全て埋め込まれた。以降の行は何も情報が埋め込まれないように処理する。まず区間検出部２４１によって、図２５の文章ファイル１６２ｆのデータから４行目１６２ｆ−４を検出する。
【０１２３】
次に、文字数演算部２４２によって、何も情報を埋め込まない場合の文章の１文字目から４行目の行末までの総文字数を、埋め込み規則情報２８１に従って演算する。まず、埋め込み規則情報２８１の規則３から、埋め込み前の文章の一文字目から４行目１６２ｅ−４の行末までの総文字数の増減量±０であることを読み取る。次に、埋め込み前の文章の１文字目から３行目１６２ｅ−３の行末までの総文字数をカウント演算し、１１９であることを演算する。このとき、埋め込み前の４行末の文字は“。”であり、埋め込み規則情報２８１の規則５から、“。”は埋め込み前の文字数にカウント演算されていない。また、このカウント演算の際に、埋め込み規則情報２８１の規則５が適用されるのは、情報を埋め込む対象となる行のみである。つまり、１行目１６２ｅ−１の行末の文字は“ィ”であるが、文字数としてカウント演算される。埋め込み規則情報２８１の規則５が、情報を埋め込む対象となる行以外の行に適用し、文字数をカウント演算しても良い。
【０１２４】
次に、文字数制御部２４３によって、文章の１文字目から４行目１６２ｆ−４の行末までの総文字数が１１９になるように文字数を増減する。埋め込み前の文字数が１１９であるため、４行目１６２ｆ−４の文字数は変化しない。また、文章ファイル１６２ｆも変化しない。
【０１２５】
また、埋め込み前の文章の一文字目から４行目１６２ｅ−４の行末までの総文字数の増減量±０であることを読み取った時点で、それ以降の演算を省いても良い。演算を省くことで、処理速度が向上する。
【０１２６】
上記手順により生成された文章ファイル１６２ｆのデータは、出力部２５０から、透かし情報１７１が埋め込まれた文章ファイルとして出力される。
【０１２７】
以上の説明で用いたように、本実施形態に係る電子透かし埋め込み装置は、第一の実施形態に係る電子透かし埋め込み装置と等しいオリジナル文章ファイル、透かし情報を扱える。
【０１２８】
また、以上の説明において用いた埋め込み規則情報２８１は一例であり、本実施形態による電子透かしの埋め込みは、要旨を逸脱しない範囲で任意の埋め込み規則情報を用いることができる。
【０１２９】
例えば、埋め込み規則情報は、一行に含まれる文字数は英単語や数値の途中で改行が生じる文字数にしてはならないといった、文字数の調整に関する制約規則を含んでも良い。
【０１３０】
また、埋め込み規則情報は、文章の一文字目から各行末までの総文字数の増減量と複数の情報列の対応関係を含んでも良く、図２６の埋め込み規則情報２８２を用いると、各行に最大２ビットの情報を埋め込むことができる。よって、本実施形態に係る埋め込み装置は、各行に複数の情報を電子透かしとして埋め込むことができる。
【０１３１】
［電子透かし読み出し装置］
図２７は、第二の実施形態における電子透かし読み出し装置の構成を示すブロック図である。図２７に示すように、本実施形態による電子透かし読み出し装置２０１は、透かし情報が埋め込まれていないオリジナル文章ファイルと透かし情報が埋め込まれた文章ファイルを入力する文章ファイル入力部２１１、文章の一文字目から各行末までの総文字数の増減量と埋め込まれる情報の対応関係を読み出し規則情報として記憶する情報記憶部２３０、電子透かし読み出し処理を行う読み出し処理部２９０及び透かし情報を出力する出力部２５１とから構成される。
【０１３２】
図２８は、読み出し処理部２９０の構成を示すブロック図である。図２８に示すように、読み出し処理部２９０は、文章ファイルを構成する文章から行を検出する区間検出部２９１と、オリジナル文章ファイルと透かし情報が埋め込まれた文章ファイルの文章の１文字目から検出された行末までの総文字数の差を求める文字数演算部２９２と、情報記憶部２３０に記憶された読み出し規則情報を参照し、文字数演算部２９２の結果に対応する情報を読み出す情報読み出し部２９３とから構成される。
【０１３３】
次に、電子透かし読み出し装置２０１を用いた電子透かし読み出し方法について説明する。図２９は、電子透かし読み出し装置２０１の動作手順を示すフローチャートである。
【０１３４】
図２９に示すように、文章ファイル入力部２１１にオリジナル文章ファイル２６０を入力（Ｓ２０１Ｂ）し、同様に透かし情報が埋め込まれた文章ファイル２６１を入力する（Ｓ２０２Ｂ）。
【０１３５】
入力されたオリジナル文章ファイル２６０のデータと文章ファイル２６１のデータは読み出し処理部２９０に渡される。読み出し処理部２９０は下記手順を繰り返す。
【０１３６】
まず区間検出部２９１によって、オリジナル文章ファイル２６０のデータから、先頭行から数えた行番号が最も若くまだ処理されていない一行を検出し、文章ファイル２６１のデータから、オリジナル文章ファイル２６０のデータから検出した行に対応する行を検出する（Ｓ２０３Ｂ）。
【０１３７】
次に、文字数演算部２９２によって、文章ファイル２６１の文章の１文字目から検出された行末までの総文字数とオリジナル文章ファイル２６０の文章の１文字目から検出された行末までの総文字数の差（前者から後者を引いた値）を求める（Ｓ２０４Ｂ）。
【０１３８】
そして情報読み出し部２９３によって、情報記憶部２３０に記憶された読み出し規則情報２８０を参照し、文字数演算部２９２の演算結果に対応する情報を読み出す（Ｓ２０５Ｂ）。読み出した情報は、情報記憶部２３０に一時的に記憶する（Ｓ２０６Ｂ）。
【０１３９】
上記手順の繰り返しは、区間検出部２９１において新しい行が検出されなくなった時点で終了する（Ｓ２０７Ｂ）。
【０１４０】
上記手順により読み出し、情報記憶部２３０に一時的に記憶した情報は、出力部２５１から、透かし情報２７０として出力される（Ｓ２０８Ｂ）。
【０１４１】
以下、具体的なデータを用いて電子透かし読み出し装置２０１の動作を詳細に説明する。
【０１４２】
図４のオリジナル文章ファイル１６２と図２５の透かし情報が埋め込まれた文章ファイル１６２ｆを文章ファイル入力部２１１から入力する。
【０１４３】
入力された文章ファイル１６２のデータと文章ファイル１６２ｆのデータは読み出し処理部２９０に渡される。読み出し処理部２９０は、下記の手順により、文章ファイル１６２ｆのデータから透かし情報を読み出す。
【０１４４】
透かし情報の１ビット目を読み出す手順は以下の通りである。まず区間検出部２９１によって、オリジナル文章ファイル１６２のデータから１行目を検出し、文章ファイル１６２ｆのデータから１行目を検出する。
【０１４５】
次に、文字数演算部２９２によって、文章ファイル１６２ｆの文章の１文字目から１行末までの総文字数とオリジナル文章ファイル１６２の文章の１文字目から１行末までの総文字数の差（前者から後者を引いた値）を求める。この場合の該文字数差（増減量）は−２である。
【０１４６】
そして情報読み出し部２９３によって、情報記憶部２３０に記憶された図２２の読み出し規則情報２８１を参照し、増減量−２に対応するビット０を読み出す。読み出したビット０は情報記憶部２３０に一時的に記憶する。
【０１４７】
透かし情報の２ビット目を読み出す手順は以下の通りである。まず区間検出部２９１によって、オリジナル文章ファイル１６２のデータから２行目を検出し、文章ファイル１６２ｆのデータから２行目を検出する。
【０１４８】
次に、文字数演算部２９２によって、文章ファイル１６２ｆの文章の１文字目から２行末までの総文字数とオリジナル文章ファイル１６２の文章の１文字目から２行末までの総文字数の差（前者から後者を引いた値）を求める。この場合の該文字数差（増減量）は＋１である。
【０１４９】
そして情報読み出し部２９３によって、情報記憶部２３０に記憶された図２２の読み出し規則情報２８１を参照し、増減量＋１に対応するビット１を読み出す。読み出したビット１は情報記憶部２３０に一時的に記憶する。
【０１５０】
透かし情報の３ビット目を読み出す手順は以下の通りである。まず区間検出部２９１によって、オリジナル文章ファイル１６２のデータから３行目を検出し、文章ファイル１６２ｆのデータから３行目を検出する。
【０１５１】
次に、文字数演算部２９２によって、文章ファイル１６２ｆの文章の１文字目から３行末までの総文字数とオリジナル文章ファイル１６２の文章の１文字目から３行末までの総文字数の差（前者から後者を引いた値）を求める。この場合の該文字数差（増減量）は−３である。
【０１５２】
そして情報読み出し部２９３によって、情報記憶部２３０に記憶された図２２の読み出し規則情報２８１を参照し、増減量−３に対応するビット０を読み出す。読み出したビット０は情報記憶部２３０に一時的に記憶する。
【０１５３】
透かし情報の４ビット目を読み出す手順は以下の通りである。まず区間検出部２９１によって、オリジナル文章ファイル１６２のデータから４行目を検出し、文章ファイル１６２ｆのデータから４行目を検出する。
【０１５４】
次に、文字数演算部２９２によって、文章ファイル１６２ｆの文章の１文字目から４行末までの総文字数とオリジナル文章ファイル１６２の文章の１文字目から４行末までの総文字数の差（前者から後者を引いた値）を求める。この場合の該文字数差（増減量）は０である。
【０１５５】
そして情報読み出し部２９３によって、情報記憶部２３０に記憶された図２２の読み出し規則情報２８１を参照し、何も情報が埋め込まれていないことを意味するＮＵＬＬを読み出す。
以上で文章ファイル１６２ｆの全ての行に対する読み出し処理を終了する。
【０１５６】
上記手順により読み出し、情報記憶部２３０に一時的に記憶した情報は、出力部２５１から、図３０の透かし情報２７１として出力される。
【０１５７】
読み出した透かし情報２７１は、本実施形態における電子透かし埋め込み装置によって１６２ｆに埋め込まれた透かし情報１７１に等しい。このように、本実施形態における電子透かし読み出し装置は、本実施形態における電子透かし埋め込み装置で文章ファイルに埋め込んだ透かし情報を読み出すことができる。
【０１５８】
また、第一の実施形態に係る埋め込み装置によって文章ファイルに埋め込まれた電子透かしと同様に、本実施形態に係る埋め込み装置によって文章ファイルに埋め込まれた電子透かしは、その文章ファイルを印刷し、スキャナで読み取った後に細線化・太線化・歪曲等の画像処理を適用しても除去されない。そのため上記画像処理を施してコピーされた文書からも、埋め込まれた電子透かしの読み出しが可能である。
【符号の説明】
【０１５９】
１００、２００  電子透かし埋め込み装置
１０１、２０１  電子透かし読み出し装置
１１０、１１１、２１０、２１１  文章ファイル入力部
１２０、２２０  透かし情報入力部
１３０、２３０  情報記憶部
１４０、２４０  埋め込み処理部
１４１、１９１、２４１、２９１  区間検出部
１４２、１９２、２４２、２９２  文字数演算部
１４３、２４３  文字数制御部
１５０、１５１、２５０、２５１  出力部
１６０、１６２、２６０  オリジナル文章ファイル
１６１、１６２ａ、１６２ｂ、１６２ｃ、１６２ｄ、１６２ｅ、１６２ｆ、１６２ｇ、１６２ｈ、１６２ｉ、１６２ｊ、２６１  透かし埋め込み文章ファイル
１７０、１７１、１７２、２７０、２７１  透かし情報
１８０、１８１、１８２、２８０、２８１、２８２  埋め込み（読み出し）規則
１９０、２９０  読み出し処理部
１９３、２９３  情報読み出し部
【図１】
2012114725.tif 000003
【図２】
2012114725.tif 000004
【図３】
2012114725.tif 000005
【図４】
2012114725.tif 000006
【図５】
2012114725.tif 000007
【図６】
2012114725.tif 000008
【図７】
2012114725.tif 000009
【図８】
2012114725.tif 000010
【図９】
2012114725.tif 000011
【図１０】
2012114725.tif 000012
【図１１】
2012114725.tif 000013
【図１２】
2012114725.tif 000014
【図１３】
2012114725.tif 000015
【図１４】
2012114725.tif 000016
【図１５】
2012114725.tif 000017
【図１６】
2012114725.tif 000018
【図１７】
2012114725.tif 000019
【図１８】
2012114725.tif 000020
【図１９】
2012114725.tif 000021
【図２０】
2012114725.tif 000022
【図２１】
2012114725.tif 000023
【図２２】
2012114725.tif 000024
【図２３】
2012114725.tif 000025
【図２４】
2012114725.tif 000026
【図２５】
2012114725.tif 000027
【図２６】
2012114725.tif 000028
【図２７】
2012114725.tif 000029
【図２８】
2012114725.tif 000030
【図２９】
2012114725.tif 000031
【図３０】
2012114725.tif 000032