JP4164463B2 - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP4164463B2
JP4164463B2 JP2004085348A JP2004085348A JP4164463B2 JP 4164463 B2 JP4164463 B2 JP 4164463B2 JP 2004085348 A JP2004085348 A JP 2004085348A JP 2004085348 A JP2004085348 A JP 2004085348A JP 4164463 B2 JP4164463 B2 JP 4164463B2
Authority
JP
Japan
Prior art keywords
character
embedding
embedded
digital watermark
watermark information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004085348A
Other languages
English (en)
Other versions
JP2005020707A5 (ja
JP2005020707A (ja
Inventor
貴巳 江口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004085348A priority Critical patent/JP4164463B2/ja
Priority to US10/857,049 priority patent/US7260239B2/en
Publication of JP2005020707A publication Critical patent/JP2005020707A/ja
Publication of JP2005020707A5 publication Critical patent/JP2005020707A5/ja
Application granted granted Critical
Publication of JP4164463B2 publication Critical patent/JP4164463B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0062Embedding of the watermark in text images, e.g. watermarking text documents using letter skew, letter distance or row distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Description

本発明は、電子透かし情報の埋め込みまたは抽出技術に関するものである。
近年、文字、画像、音声などのディジタルデータ化が進むなかで、ディジタルデータそのものの不正コピー防止や、ディジタルデータとメタデータの関連付け等が求められている。
一方、文書画像等は依然として印刷物として配布されることが多い。このように、ディジタルデータと印刷物とが併用されているので、ディジタルデータを印刷物として配布する際の配布先の制御や、印刷物とディジタルデータとをリンクさせるような技術も求められている。このような状況において、静止画などの多値画像や文書画像に電子透かし情報を埋め込む手法が提案されている。
電子透かし情報の埋め込みとは、一般に、画像データや音声データ、文字データなどに、人間に知覚出来ないようにオリジナルデータの一部を変更して別の情報を埋め込む技術である。
例えば、多値画像における電子透かし技術としては、画素の濃度の冗長性を利用した種々の方法が知られている。しかしながら、文書画像のような二値画像には冗長度が少なく、電子透かし技術を実現するのが難しい。これを考慮して、文書画像に特有の特徴を利用した電子透かし方式もいくつか知られている。
例えば、行のベースラインを動かす方法、単語間の空白の長さを操作(変更)する方法、及び、文字を回転して傾斜を操作(変更)する方法、文字間の空白の長さを操作(変更)する方法などが挙げられる。これらの微小の操作(変更)により、文書画像にも別の情報を埋め込むことができる。
具体例として、文字間の空白の長さを操作(変更)する方法(例えば非特許文献1)を、図9と図10を用いて説明する。
図9は、電子透かし情報の埋め込み前の文書画像の一部を示す図である。図10は、図9の文書画像の一部に対して透かし情報を埋め込んだ後の文書画像の一部を示す図である。図9に示される各文字間の空白長P0、S0、P1、S1は、透かし情報が埋め込まれると、図10に示される各文字間の空白長P0'、S0'、P1'、S1'になる。図9及び図10では、文字が5文字、文字間の空白が4つある。1ビットに対して2つの空白長を割り当てることから、4つの空白によって2ビットの情報を埋め込むことが可能である。
例えば、P>S が“1”を表し、P<Sが“0”を表すとする。そこで、図9においてP0とS0との間の文字を左に、P1とS1との間の文字を右にシフトした場合、埋め込み後の文書画像の一部である図10では、P0'<S0'、P1'<S1'となり、“0”、“0”というビット列(2ビット)が埋め込まれたことになる。
King Mongkut大学による「Electronic document data hiding technique using inter-character space」, The 1998 IEEE Asia-Pacific Conf. On Circuits and Systems,1998,pp.419-422.
このような文書用の電子透かし情報の埋め込みにおいて、互いの外接矩形の位置関係が理由で、情報を埋め込むことができない場所が生じる場合がある。例えば、図11のように、各P、Sの長さが1画素の場合、外接矩形を左右どちらに移動しても、隣の外接矩形に接触してしまい、移動することができない。
このような場合、例えば、電子透かし情報の抽出側では、埋め込み側で埋め込めなかった上述の場所が、もともと情報が埋め込まれていた場所であるのか、あるいは埋め込めなかった場所であるのかを判別することはできなかった。
すなわち、従来は、埋め込み側と抽出側とにおいて、電子透かし情報が埋め込まれた文字群として、全く同じ文字群を認識することが困難であった。
本発明は、上述の従来例に鑑みてなされたものであり、電子透かし情報の埋め込み側と抽出側とにおいて、電子透かし情報が埋め込まれた文字群として、全く同じ文字群を認識することができる様にすること、そして抽出側において、上記文字列から全ての電子透かし情報を確実に抽出できるようにすることを目的とする。
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
文書画像中の文字を、当該文字の文字列の並び方向に沿って移動することにより、電子透かし情報を埋め込む情報処理装置であって、
文書画像中の各文字の位置とその外接矩形のサイズを検出する検出手段と、
該検出手段で検出した文字列の並び方向である行中の偶数番目に位置する文字を埋め込み対象の文字として仮設定し、当該仮設定された文字が前記電子透かし情報の埋め込み可能か否かを判定する判定手段と、
該判定手段で埋め込み可能と判定された仮設定された文字を、埋め込むべき電子透かし情報の1ビットの値に応じて、移動することで埋め込む埋め込み手段とを備え、
前記判定手段は、
前記検出手段で検出した各文字の位置と外接矩形のサイズに基づき、行の位置をi、当該行の行頭からの位置を2j(i,j=1、2、3)で定義される前記仮設定された着目文字をC(i,2j)と定義したとき、文字C(i−1,2j−1)と前記着目文字C(i,2j)との行方向の距離Lx、文字C(i−1,2j+1)と前記着目文字C(i,2j)との行方向の距離Rx、文字C(i,2j−1)と前記着目文字C(i,2j)との行方向の距離Srx、文字C(i,2j+1)と前記着目文字C(i,2j)との行方向の距離Slx、埋め込みによる前記LxとRxとの差として許容される最小差分値をT、埋め込み後の隣接する文字間の最低限必要な距離マージンをMとしたとき、
Lx−T+(Srx−M)≦Rx−(Srx−M)
Lx+T−(Slx−M)≧Rx+(Slx−M)
の2つの式のいずれか一方が満たされるとき前記着目文字C(i,2j)を埋め込み不可と判定し、前記2つの式のいずれも満たさない場合には前記着目文字C(i,2j)を埋め込み可と判定し
前記埋め込み手段は、
前記埋め込み情報で示される1ビットの値に応じて、埋め込み後の前記Lx,Rxと前記Tの関係が、
Lx−Rx>T
または、
Rx−Lx>T
となるように、前記着目文字を前記行方向に移動することを特徴とする。
本発明によれば、電子透かし情報の埋め込み側と抽出側で、電子透かし情報が埋め込まれた位置として、全く同じ位置を認識することができる。
以下、本発明に好適な実施形態を図面に基づいて説明する。
<1.情報処理装置の構成と情報処理の概要>
図12は、本実施形態における電子透かし情報の埋め込み及び抽出を実施可能な情報処理装置を示す図である。
この図において、コンピュータ1201は、一般のパーソナルコンピュータ等の情報処理装置である。その内部構成を以下に述べる。
1202は、装置全体の制御を司るMPUである。1203はBIOSやブートプログラムを記憶しているROM、およびRAMで構成される主記憶装置である。この主記憶装置1203のRAM上にOSや各種アプリケーション等がロードされ実行される。
1204は、OS、各種アプリケーションやデータファイル等を記憶するデバイスで、例えばハードディスクデバイス(HDD)である。
1205は、ビデオメモリを内蔵するビデオコントローラであり、MPU1202の制御の下で、表示されるべきビットマップイメージの展開処理及び展開されたビットマップイメージを読み取ってビデオ信号としてモニタ1206に出力する処理を行う。
1207は、上記構成及び以下の各種デバイスを接続するシステムバスである。
1208は、プリンタ1216と接続するためのインタフェース(I/F)である。1209は、CD−ROMドライブである。1210はDVDドライブである。1211はフロッピー(登録商標)ドライブである。1212はマウス(登録商標)である。1213やキーボード1214を接続するためのインタフェースである。そして1215はイメージスキャナ1217を接続するためのインタフェースである。
上記構成において、コンピュータ1201の電源を入れると、MPU1202は主記憶装置1203内のROMのブートプログラムに従って、HDD1204からOSをRAMにロードし、以下に説明する電子透かし情報の埋め込み、或いは、電子透かし情報の抽出のために使用されるプログラムをRAMにロードしてそれぞれの機能を実現する。
図1は、本実施形態における情報処理装置(コンピュータ1201)が電子透かし情報を埋め込む装置として動作する場合の、各種機能の概略を示す図である。
オリジナルの文書画像100がイメージスキャナ101上にセットされると、画像入力部101は、その画像100を読み取り、この画像を表すディジタル画像データを発生する。
文書解析部102は、上記画像データの水平方向における黒ドット(有意ドット)の数を検出し、黒ドットの数を表すヒストグラムに基づいて各文字の行を抽出する。更に、各行の画像データの垂直方向における黒ドットの数を検出し、黒ドットの数を表すヒストグラムに基づいて、1つ1つの文字イメージ(文字を表す複数画素からなる画像)の位置とサイズ(外接矩形の水平方向の幅、垂直方向の高さ)を決定する。外接矩形の検出方法は公知であるが、詳細は後述する。また、文書解析部102は、上記画像データと、上記決定された各位置と各サイズを示す情報を、後段の透かし情報埋め込み可能性判定部103(以下、判定部103とする)に出力する。
判定部103は、注目している文字イメージとその周辺の文字イメージについての上記各位置及び各サイズに基づいて、電子透かし情報(電子透かし情報を構成する1ビット情報)を注目文字を動かすことによって埋め込むことが可能であるか否かを判定する。そして、上記画像データと、上記決定した各位置と各サイズを示す情報、および上記判定結果(埋め込みが可能であると判定された文字の位置)と他の各種情報(後述する各種長さを示す情報)を、後段の透かし情報埋め込み部105に出力する。
透かし情報埋め込み部105は、判定部103から受信した各情報に基づいて、予め用意された電子透かし情報104(例えば、著作者名を示す文字コード等)を、上記画像データに埋め込み、画像出力部106にその結果(電子透かし情報が埋め込まれた画像データ)を出力する。
画像出力部106は、この結果(電子透かし情報が埋め込まれた画像データ)を1画面分の画像データ107として出力する。この画像データ107は、電子ファイルとして記憶装置や記憶媒体(CD−RやCD−R/W等)に保存しても構わないし、不図示のネットワークインタフェースを介してネットワーク上に出力しても良い。勿論、プリンタ1216で可視画像として出力(印刷)しても構わない。
図2は、本実施形態における情報処理装置が、電子透かし情報が埋め込まれている画像データ107から、埋め込まれた電子透かし情報を抽出するための機能を示した図である。
まず、検査の対象となる画像200を画像入力部201から入力する。画像200はイメージスキャナで読取った画像でもよいし、CD−ROM等の記憶媒体に記憶されたものを読み出した画像でも良い、或いはネットワークを介して受信したものでも構わない。
文書解析部202は、上記画像入力部201から入力された画像200の内容を解析する。この解析は、基本的に、図1に示される文書解析部102と同様の機能を有する。すなわち、文書解析部202は、多数の文字から行を認識し、更に各行における1つ1つ文字(文字画像)を認識する機能を有する。
次に、透かし情報埋め込み可能性判定部203(以下、判定部203とする)では、注目する文字イメージとその周辺の文字イメージのそれぞれの位置及びサイズに基づいて、電子透かし情報(電子透かし情報を構成する1ビット情報)を注目文字を動かすことによって埋め込むことが可能であったか否かを推理判定する。そして、埋め込むことが可能であったと推理判定した場合のみ、実際に電子透かし情報が埋め込まれていると判断し、電子透かし情報の抽出に必要な情報を、後段の透かし情報抽出部204に出力する。
透かし情報抽出部204は、判定部203から受信した各種情報に基づいて、入力した画像データから、そこに埋め込まれた電子透かし情報205の抽出を行う。
なお、上記電子透かし情報205の抽出は、埋め込まれている1つ1つのビットを単位として行うので、この電子透かし情報205は1ビットずつ出力されるであろう。ただし、もしも埋め込まれている電子透かし情報(ビット列)が、文字コードを構成するビット情報であれば、結果的に、文字コード(文書画像200において可視表示されている文字列とは必ずしも関係の無い、隠された文字列を表すコード)を順次抽出して出力することになる。
また、ここで抽出されたビット列、あるいは抽出された文字コードが表す文字を出力する先である媒体は、ディスプレイの画面であっても良いし、印刷物であっても良い。なお、この場合には、入力した文書画像200と共に出力することが望ましい。
<2.電子透かし情報を埋め込む処理の説明>
次に、本実施形態における電子透かし情報104を埋め込み処理について説明する。
図3は、本実施形態における文書用の電子透かし情報埋め込み装置(情報処理装置)の動作手順を説明するためのフローチャートである。この図は、図1の機能を実現するための処理手順に対応付けることができる。
まず、ステップS301において、画像入力部101(例えば図12のスキャナ1217等)を介して、電子透かし情報104の埋め込み対象となる文書画像100が入力される。そして、文書画像100を表す画像データが文書解析手段102に入力される。
なお、この文書画像100は、印刷物を1217のスキャナなどから入力したものであっても、文書編集アプリケーションプログラムを利用して作成された電子データであっても良い。また、各種アプリケーションプログラムに固有の形式、或いはテキスト形式等の電子データを画像処理ソフトなどによってビットマップに変換したものであっても良い。また、1204のハードディスクや1209のCDドライブ、DVDドライブ1210、FDDドライブ1211などに接続された各記憶媒体に格納された電子データであっても良い。
次に、ステップS302において、文書解析手段102によって、入力された文書画像の内容の解析が行われる。ここでは、入力された文書画像から1つ1つの文字イメージに外接する四角形(矩形)の位置及びサイズの抽出が行われる。
文字イメージの位置及びその文字に外接する四角形(矩形)の抽出処理は、文字認識処理における公知の文字領域の抽出処理と同じである。一般には、文書画像の各有意画素(黒画素)の個数を主走査方向にカウントすることにより、各1画素ライン単位にヒストグラムを作成し、黒画素が存在しない主走査ライン(空白部分)を検出することにより、各行を認識する。その後、各行の単位で、副走査方向に有意画素をカウントする処理を行うことにより、1画素列毎にヒストグラムを作成し、黒画素が存在しない副走査ライン(空白部分)を検出することにより、1つ1つの文字(文字画像)を認識する。これにより、各文字の外接矩形(各文字の位置や矩形サイズ)を特定することができる。
ステップS303において、埋め込みたい電子透かし情報104を入力する。この電子透かし情報104は、キーボード1214から入力しても良いし、種々の記憶装置に予め電子透かし情報ファイルとして用意しておき、それを指定することでそのファイルを読込むことにより入力しても良い。なおこの電子透かし情報104は、「1」または「0」で構成されるビット列を1つ1つ入力しても良いし、数ビットからなる文字コードとして上記キーボード等から1文字ずつ入力しても良い。
次に、ステップS304において、未だ埋め込みが行われていない注目文字(未だS304の判定が行われていない注目文字)について、電子透かし情報を埋め込むことが可能か否かの判定処理(図1の判定部103に相当)が行われる。これは、言い換えれば、埋め込みが可能である注目文字を1つ特定する為のステップである。続いて、ステップS305では、電子透かし情報を埋め込むことが可能であると判定された文字(矩形)に対して、電子透かし情報(電子透かし情報を構成する1ビット情報)の埋め込み処理(図1の透かし情報埋め込み部105による埋め込み)を行う。
ステップS306では、電子透かし情報104として埋め込むべき全てのビット情報が文書画像100を表す画像データに埋め込まれたか否かを判定する。そこで全てのビットが埋め込まれていれば、S307に処理を進める。もし、全てのビット情報が未だ埋め込まれていなければ、再度、S304の処理を実行する。
ここで、以下に、本実施形態で採用する電子透かし情報の埋め込みアルゴリズムの説明、および、ステップS304の判定処理の説明、およびステップS305の埋め込み処理について詳細に説明する。
<2−1.電子透かし情報を埋め込むアルゴリズムの説明>
ここでは、本実施形態で採用する電子透かし情報の埋め込みアルゴリズムを説明する。
本実施形態における電子透かし情報の埋め込みは、その周囲の動かさない文字を参照しながら、各注目文字を動かすことによって行われる。
図8は、本実施形態の埋め込み方法の概略を示す図である。図の(i,j)で示される矩形が各文字イメージの外接矩形である。なお、iは行の位置、jは列の位置を示すパラメータである。
本実施形態において、電子透かし情報を埋め込むために移動させる可能性が有る文字、すなわち各注目の外接矩形は、図中、2行目の矩形(2、2)、(2、4)、…、(2、2n)(n=1、2…)と予め決めておく。本実施形態では、これら矩形(文字画像)の夫々について、電子透かし情報を埋め込めるか否か、言い換えれば、動かして良いか否かを判定することになる。
本実施形態では、図中の1行目の全矩形(1、n)はアンカーポイントとして動かさない。
また、注目される各外接矩形が属する2行目においては、奇数番目の矩形(2、1)、(2、3)、…、(2、2n−1)をアンカーポイントとして動かさない。
また、3行目の矩形(文字画像)についても、2行目の場合と同様に、偶数番目の矩形(3、2)、(3、4)、…、(2、2n)を注目矩形(移動の可能性が有る矩形)とし、奇数番目の矩形(3、1)、(3、3)、…、(3、2n−1)をアンカーポイントとする。
4行目以降についても、2行目と同様に注目矩形とアンカーポイントを設定する。
これらアンカーポイントとなる各矩形は、電子透かし情報が埋め込まれていない文書画像においても、電子透かし情報が埋め込まれている文書画像においても、必ず同じ位置に配置されている。
本実施形態における電子透かし情報の埋め込みにおいて、まず最初に、外接矩形(2、2)に注目する。矩形(2、2)と(1、1)の水平方向(左方向)の距離をL22、矩形(2、2)と(1、3)の水平方向(右方向)の距離をR22とした場合、本実施形態では、これら2つの大小関係を操作(変更)することにより電子透かし情報を埋め込む。(一般的な表現として、座標xの注目矩形における上記左方向の距離をLx、右方向の距離をRxと記載する)
たとえば、「1」のビットを埋め込みたいときは、L22>R22となるように注目矩形(2、2)を水平移動させる。また、「0」のビットを埋め込みたいときは、L22<R22となるように外接矩形を移動させる。
上記移動の考え方に基づいて、次に注目される外接矩形(2、4)以降、(2,6)、…、(2、2n)、…、(3、2n)、…、(4、2n)、…についても同様に、1ビット情報を埋め込んで良いと判定された場合に限って、注目される外接矩形を移動させることにより、電子透かし情報104を構成する各1ビット情報「1」または「0」を順次埋め込む。
以上、電子透かし情報の埋め込みアルゴリズムについて説明した。
<2−2.埋め込みの可否を判定するアルゴリズムの説明>
ここでは、ステップS304で実行される判定部103の動作を詳細に説明する。本実施形態では、この電子透かし情報を埋め込む前に、判定部103により、移動しようとしている外接矩形(最初であれば、矩形(2、2))が埋め込み可能な外接矩形であるかどうかを判定する。
図5は、本実施形態における判定部103の処理手順の詳細な手順を示すフローチャートである。この手順について以下で説明する。
まず、ステップS304aにおいて、電子透かし情報を埋め込むために移動させる可能性の有る外接矩形(最初であれば、矩形(2、2))を選択する。
次に、ステップS304bにおいて、先に説明したL22、R22、及び、注目矩形(2、2)と、注目矩形と同じ行において隣接する矩形(2、1)、(2、3)との距離Sr22、 Sl22を算出し、記憶する。
ここで、Sr22は、注目する外接矩形(2、2)の右隣の外接矩形(2、3)との水平方向における距離であり、注目する外接矩形を右に移動させることのできる最大の移動距離であると解釈することができる(一般的な表現として、座標xの注目矩形における右方向への最大移動距離をSrxと記載する)。
同様に、Sl22は、注目する外接矩形(2、2)の左隣の外接矩形(2、1)との水平方向における距離であり、注目する外接矩形を左に移動させることのできる最大の移動距離であると解釈できる(一般的な表現として、座標xの注目矩形における左方向への最大移動距離をSlxと記載する)。これら2つの長さを示す情報は主記憶装置1203に記憶しておく。
次に、ステップS304cにおいて、電子透かし情報を埋め込むことが可能であるか否かの判定を行う。
本実施形態では、「0」が埋め込めない条件と「1」が埋め込めない条件のいずれかが成立するとき、即ち、埋め込まれる可能性の有る少なくとも1つの電子透かし情報(ビット情報)が埋め込めないような条件を満たすときには、現在注目している矩形には、電子透かし情報を埋め込まない。即ち、埋め込み処理をスキップする。
具体的には、現在注目している矩形に電子透かし情報(ビット情報)の「1」を埋め込みたいとき、L22>R22となるように注目する外接矩形を移動させたいにもかかわらず、もし注目する外接矩形を最大限に移動したとしても、L22とR22の大小関係をL22>R22とすることができない場合には、埋め込み不可能な条件に該当する。上述したような「1」が埋め込めない条件は、次の式を満たす場合である。
Lx + Srx ≦ Rx − Srx … (式1)
外接矩形(2、2)について上記(式1)を用いて表すと、
L22 + Sr22 ≦ R22 − Sr22
となる。
同様に、「0」が埋め込めない条件は、次の式を満たす場合である。
Lx − Slx ≧ Rx + Slx … (式2)
外接矩形(2、2)について上記(式2)を用いて表すと、
L22 − Sl22 ≧ R22 + Sl22
となる。
例えば、上記(式1)の条件が成立している場合は、L22<R22の関係が常に成り立つので、埋め込みたい情報が「0」のときは無条件で「0」が埋め込める。しかしながら、もしこの外接矩形を埋め込み対象としてしまうと、この外接矩形が「0」を埋め込もうと意図とした状況で「0」が埋め込まれたのか、「1」を埋め込もうと意図した状況で不本意にも「1」が埋め込めずに「0」が埋め込まれてしまっているのかを、抽出側では判別することができない。
本実施形態ではこの状況を鑑みて、そこで埋め込むべきビット情報が「0」であるか「1」であるかにかかわらず、(式1)および(式2)のいずれかが成り立つときには、埋め込み処理をスキップすることに決定する。これにより、電子透かし情報の埋め込み側と抽出側で、電子透かし情報が埋め込まれた位置として、全く同じ位置を認識することができる。
もし、図5のステップS304cにおいてNoの場合には、ステップS304aに戻り、電子透かし情報が埋め込まれる可能性を持つ次の注目矩形(最初であれば、矩形(2、4))を選択する。一方、ステップS304cにおいてYesの場合には、現在注目している矩形(最初であれば、矩形(2、2))を特定する情報を、電子透かし情報を埋め込む矩形として記憶し、ステップS305に進む。そして、後段の電子透かし埋め込み部105によって、その矩形に電子透かし情報の埋め込みが行われる。
<2−3.電子透かし情報を埋め込むアルゴリズムの説明>
ここでは、ステップS305における電子透かし埋め込み部105による動作を詳細に説明する。
図6は、本実施形態における、複数の文字イメージの間の距離の関係を利用した電子透かし情報の埋め込み方法の一例を説明するためのフローチャートである。
ステップS305では、上記画像データと、各矩形の位置と各サイズを示す情報と、上記判定部103の判定結果(電子透かし情報の埋め込みが可能であると判定された文字の位置)と、上述した各種長さを示す情報とが、判定部103から電子透かし埋め込み部105に送られる。
まず、ステップS305aにおいて、電子透かし情報104として埋め込まれるべき先頭の1ビットが選択される。例えば、電子透かし情報104として「01001010111・・・」が入力された場合、先頭のビット「0」が選択される。
次に、ステップS305bにおいて、埋め込まれるビット情報が「1」であるか否かが判断される。
もし、上記ビット情報が「1」の場合(Yesの場合)には、ステップS305cにおいて、L22>R22となるように注目矩形の位置を変更する。もし位置を変更しなくてもL22>R22が成り立っているならば、注目矩形を移動をする必要はない。
もし、上記ビット情報が「0」の場合(Noの場合)には、ステップS305dにおいて、L22<R22となるように注目矩形の位置を変更する。但し、もし位置を変更しなくてもL22<R22が成り立っているならば、注目矩形を移動をする必要はない。
なお、ステップS305c、S305dの位置の変更は、その時点で注目矩形の位置を変更しても良いし、後述するように一旦位置情報(移動情報)として保持しておき、後段のS307等にて全ての注目文字(矩形)の位置をまとめて変更・調整するようにしても良い。
ステップS306では、電子透かし情報104として埋め込まれるべき選択中の1ビットが、電子透かし情報104の最後のビットであるか否かを判断する。もし、最後のビットの場合(Yesの場合)には、電子透かし情報104の埋め込み処理を終了する。一方、選択中のビットがまだ最後のビットではない場合(Noの場合)には、ステップS304に戻って、電子透かし情報の埋め込みを続行する。
ステップS307では、上記S305で電子透かし情報104が埋め込まれた画像データを出力するか、或いは上記ステップS305で特定された各注目矩形の位置情報(移動情報)に基づいて全ての注目文字(矩形)の位置をまとめて変更・調整することにより、電子透かし情報104が埋め込まれた画像データを出力する。
ステップS308では、電子透かし情報104が埋め込まれた画像または画像データを、画像出力部106から出力する。この出力には、印刷、或いは記憶装置等への画像データとしての記憶、或いはネットワーク等から他の端末等への送信が該当する。
<2−4.参照テーブルの説明>
なお、上述したように、本実施形態では、入力画像データ(画像100)とともに図1で示した各処理部で処理された結果(矩形の位置、サイズ、長さの情報等)を、後段の処理部に伝達するが、これらの情報は参照テーブルとして伝達される。そして、この参照テーブルは、各処理部の共有データとして主記憶装置1203に保持し、各処理部が必要に応じてアクセスする様にしても良いし、各処理部が処理する画像データの付属データとして添付する様にしても良い。
図13は参照テーブルの例である。この図において、各レコード(テーブル内の1行)が1つの外接矩形に対応する各種情報である。各フィールド(テーブル内の1列)について説明する。第1フィールドには、外接矩形を特定するインデックス情報が格納される。第2フィールドには、オリジナルの文書画像における各外接矩形の座標位置(外接矩形の左上隅の座標)が格納される。第3フィールドには、外接矩形のサイズ(幅と高さ)が格納される。
上述した様に、上記第1から第3フィールドのデータは、図1における文書解析部102によって生成される。文書解析部102は、入力した文書画像中に含まれる全文字イメージ(矩形)のレコードを作成する。なお、主記憶装置1203に共有データとして参照テーブルを保持する方法を適用する場合には、主記憶装置1203内に第4フィールド以降もデータ領域として確保する。一方、各処理部が付属データとして参照テーブルを添付する方法を適用する場合には、各処理部が処理した時点で随時、必要な各フィールドを追加する。
上述した様に本実施形態では、電子透かし情報を埋め込む可能性の有る外接矩形を、2行め以降、かつ偶数番目の矩形であることを予め決めている。よって、判定部103では、それぞれの注目するべき矩形について、その矩形に関連する上述の長さを示す情報(L22、R22、Sr、Sl)を算出して、この算出結果を第4フィールドに格納する。また、この長さを示す情報に基づいて、注目する矩形に電子透かし情報が埋め込めるか否かを判定し、その判定結果を第5フィールドに1ビットのフラグとして格納する。例えば、このフラグが「OK」を示す場合には、注目する外接矩形は「0」および「1」の何れの電子透かし情報を埋め込むことができる。なお、電子透かし情報を埋め込む可能性の有る外接矩形のうち「0」および「1」の何れかの電子透かし情報を埋め込むことができない矩形群、および位置を動かさないと予め決めてある外接矩形群については、第5フィールドのフラグは「−」としておく。
透かし情報埋め込み部105は、第5フィールドが「OK」となっている外接矩形の位置のみを、電子透かし情報104の各ビット情報に基づいて変更する。なお、位置が変更された後の矩形の位置を示す座標情報には、本実施形態で矩形を水平方向へのみ移動させていることを考慮すると、x座標のみを付与すれば良い。この移動後の矩形の座標は、第6フィールドに格納する。
なお、図3の説明として、1つ1つの注目する矩形についてステップS304からステップS306を行うことにより電子透かし情報の埋め込みを行う方法について説明したが、その変形例として、ステップS304において、電子透かし情報を埋め込む可能性のある全ての外接矩形について、電子透かし情報を埋め込むことができるか否かの判定を行い、それが完了した後に、ステップS305において、各注目する外接矩形の位置情報をを変更するようにしても良い。
この変形例を実行するメリットとして、電子透かし情報を埋め込む前に、図13に示す参照テーブルの第5フィールドの「OK」となっている個数をカウントできるので、埋め込みを開始する前に、予め全ての電子透かし情報を埋め込むことができるか否かを判定できる点が有る。
即ち、ステップS304における全ての判定の結果、「OK」となった矩形の数がm個あった場合、最大mビットまでの電子透かし情報を入力画像に埋め込むことができると判る。よって、電子透かし情報104を構成する全てのビット数と上記m個とを比較することにより、埋め込まれるビット数の観点において、電子透かし情報を埋め込むことが可能であるのか否かが、直ちに判明する。
そして、もし電子透かし情報を埋め込める外接矩形の個数がm個に満たないと判断した場合には、本実施形態の情報処理装置は、その旨を、例えば表示画面にメッセージを表示する等により報知する。この報知を確認したユーザは、それ以降の処理を打ち切るか、埋め込めるビット数に対応する電子透かし情報の一部を埋め込むかを選択できる。
なお、電子透かし情報が日本語の場合には一般的にその情報に含まれる1文字は16ビットとして扱われる。この場合、上記変形例において、電子透かし情報を埋め込む前にカウントした“埋め込み可能なビット数”が16×nビット+a(aは15以下の整数)である場合には、16ビットに満たない最後のaビットの埋め込みは行わない。すなわち、埋め込もうとする1単位の情報を構成する全ビット数を埋め込めない場合は、その1単位分の情報の埋め込みは行わない。
以上が、実施形態における電子透かし情報の埋め込みに関する説明である。
<3.電子透かし情報を抽出する処理の説明>
次に、本実施形態における、電子透かし情報が埋め込まれた画像からこの情報を抽出する処理手順(図2の処理手順)について、図4のフローチャートを用いて詳細に説明する。
まず、ステップS401において、画像入力部201(図12のスキャナ1217等)が、電子透かし情報が抽出(検出)される文書画像200を入力し、更に文書解析部202に出力する。ここでは、スキャナ1217で印刷物等の文書画像200を入力することを想定しているが、本発明はこれに限らない。例えば、この文書画像200は、文書編集アプリケーションプログラムを利用して作成された電子画像データ(ハードディスク1204、或いはCDドライブ1209やDVDドライブ1210やFDDドライブ1211等に接続された記憶媒体に格納され、アプリケーションプログラム固有の形式、テキスト形式等の種々の電子データ)を画像処理ソフト等によってビットマップに変換したものであっても良い。或いは、インターネットからダウンロードした画像ファイルであっても良い。
ステップS402において、文書解析部202は、入力された文書画像200から上述の外接四角形(矩形)に関する情報(各矩形の位置及びサイズ)の抽出を行う。この文書解析部202の処理は、既に説明した図1における文書解析部102の処理と同様であり、この解析技術は文字認識処理において利用されている公知技術である。
次にステップS403において、電子透かし情報が抽出(検出)される外接矩形に、実際に電子透かし情報が埋め込まれているかどうかを、埋め込み可能性判定部203で判定する。この埋め込み可能性判定部203は、既に説明した図1の埋め込み可能性判定部103と同一のものである。
本実施形態の説明で注目すべきことは、上記抽出側の埋め込み可能性判定部203の判定と、埋め込み側の埋め込み可能性判定部103の判定とが、全く同じ結果を導き出せるということである。なぜなら、埋め込み可能性判定部203の判定でも適用する(式1)および(式2)にはパラメータLx、Rx、Srx、Slxに影響を与える注目矩形以外の矩形群が移動していないからである。よって、たとえ注目矩形が移動したことが原因で上記各パラメータがLx’、Rx’、Srx’、Slx’に変わったとしても、(式1)および(式2)に基づく「注目矩形に電子透かし情報を埋め込めるか否か」についての判定結果は変わらない。
例えば、注目矩形が移動する前のパラメータをLx、Rx、Srx、Slxとし、その移動後のパラメータをLx’、Rx’、Srx’、Slx’とすると、(式1)で表される条件は、(式1’)のようにも表せる。
Lx’+ Srx’ ≦ Rx’− Srx’ … (式1’)
更に、上記注目矩形を移動した量をSxと表すと、(式1’)は、(式1’’)のようにも表せる。
(Lx+Sx)+(Srx−Sx) ≦ (Rx−Sx)−(Srx−Sx) … (式1’’)
この(式1’’)の判断は、結局、(式1)の判断と同じである。なお、(式2)についても同様ことが言える。
したがって、埋め込み時に「電子透かし情報を埋め込むことができる」と判定した場所(注目矩形)については、抽出時でも「電子透かしを埋め込むことができた」と判断することができる。
ステップS403において電子透かし情報が抽出されるべき外接矩形が選ばれた後、ステップS404では、電子透かし抽出部204が電子透かし情報の抽出(検出)を行う。この処理は、例えば図7で示すフローチャートに従って実行される。以下、図7について簡単に説明する。
まず、ステップS404aにおいて、電子透かし情報が抽出されるべき外接矩形に属する上述した2つのパラメータLx、Rxの比較を行う。もし、Lx > Rxであれば、ステップS404bに処理を進め、入力画像に埋め込まれている電子透かし情報(ビット情報)は「1」であると判断する。一方、もし、Lx<Rxであれば、ステップS404cに処理を進め、電子透かし情報(ビット情報)は「0」であると判断する。
ステップS405では、現在選択されている外接矩形が文書画像における最後の外接矩形かどうかを判断し、最後の矩形であれば処理を終了し、最後の矩形でなければステップS403に処理を進め、上記抽出処理を継続する。
以上説明したように、本実施形態によれば、埋め込み側において電子透かし情報を埋め込むことができなかった場所(矩形)を、抽出側においても上記埋め込み側と全く同じ判定条件を使用して判断することができる。従って、抽出箇所を誤ることなく、確実に電子透かし情報の抽出を行うことできる。
<変形例1>
変形例として、図9、図10に示したタイプの電子透かし情報の埋め込み、および抽出のアルゴリズムに、上記実施形態で説明した考え方を適用した場合について説明する。
なお、各種処理に必要な構成および処理手順は上記実施形態と殆ど同様であり、図1から図7を適用することができる。以下、上記実施形態と異なる箇所について主に説明し、共通する箇所についての説明は省略する。
図9、図10に示したタイプの電子透かし情報の埋め込みアルゴリズムにおいても、上記実施形態の説明と同様に、埋め込み可能性判定部103で用いる判定条件を定義できる。
まず、それぞれのビット情報「0」と「1」を、注目外接矩形(文字)に埋め込むことができない条件を考える。
注目する外接矩形の左隣の外接矩形との距離をP、右隣の外接矩形との距離をSとする。本実施形態において、ビット情報「1」を注目矩形に埋め込めない場合というのは、注目矩形を右方向に最大限移動してもP>Sとならない場合であり、以下の式を満たす場合と言える。
S≦1 かつ P≦S … (式3)
一方、「0」が埋め込めない条件は、左方向に最大限移動してもP<Sとならない場合であり、以下の式を満たす場合と言える。
P≦1 かつ P≧S … (式4)
そして、上記(式3)、(式4)のどちらかが成り立つ場合には、注目矩形に電子透かし情報を埋め込まない。なお、上記(式3)は、P≦S≦1、上記(式4)は、S≦P≦1と変形して記載できる。
上記2つの条件式は、P、Sの夫々が必ず自然数であるならば、S=P=1という条件を満たすことと同意である。したがって、注目矩形に電子透かし情報を埋め込まない条件は、簡単に、下記の様に表現できる。
S=1 かつ P=1 … (式5)
この(式5)の条件の真理値は、埋め込み時と抽出時で変わらないことを以下に示す。
第1に、埋め込み側で電子透かし情報を埋め込まなかった場合(電子透かし情報の埋め込みをスキップした場合)は、上記(式5)が成り立っており、外接矩形の移動は行われていないので、当然、抽出側でもPとSは同じである。よって、抽出側でも上記(式5)が成り立つ。したがって抽出時も電子透かしの抽出をスキップする。
第2に、埋め込み側で電子透かし情報を埋め込んだ場合(電子透かし情報の埋め込みをスキップしなかった場合)は、上記(式5)は成り立っていない。即ち、S>1かつP>1であるか、S=1かつP>1であるか、S>1かつP=1である。そして、電子透かし情報の埋め込みは、P>0、S>0となるように注目矩形を移動するので、これら3つの状態の何れの状態で注目矩形を移動したとしても、P’=1かつS’=1とはなり得ない。したがって、抽出側においても上記(式5)は成立しておらず、電子透かし情報が埋め込まれていると判断できる。
<変形例2>
上記実施形態では、Srxが右方向の最大移動量であり、Slxが左方向の最大移動量であると定義したが、文書画像の画質の劣化が許容範囲を超えない様に、最大移動量を独立して定め、(式1)および(式2)と同等の条件式を定めることも効果的である。上記実施形態1では、隣接する外接矩形間の最低距離は1画素と考えたが、この変形例2では、最低距離が上記1画素以上の数画素になる様に条件式を設定する。例えば、隣接する外接矩形との間に最低限必要な余白(マージン)をMであると定義すると、上記(式1)は(式6)に変形し、(式2)は(式7)に変形することができる。
Lx +(Srx − M)≦ Rx −(Srx − M)… (式6)
Lx −(Slx − M)≧ Rx +(Slx − M)… (式7)
この式を用いれば、2つの文字間が極端に狭くなるといった、大きな画質の劣化を起こさずに、電子透かし情報を入力画像に埋め込むことができる。上記実施形態に(式6)及び(式7)を適用する方法を簡単に述べる。
図3のステップS304において、(式6)及び(式7)を、電子透かし情報を埋め込むことが可能か否かを判定する条件に適用する。
そして、上記ステップS304の判定により、“隣接文字(外接矩形)との距離(マージン)を最低距離M以上に維持した状態で、確実に「1」および「0」を埋め込むことができると判別された注目矩形”にのみ、図6で説明した埋め込みステップを実行する。
一方、抽出時には、図4の判定ステップS403において、(式6)及び(式7)を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「1」「0」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
上記のように、各文字間に1画素以上の余白を設けることを条件にすれば、電子透かしが埋め込まれた画像の画質劣化を、できるだけ少なくすることができる。
<変形例3>
上記実施形態1から変形例2までは、埋め込み時にLxとRxの差が1画素でもあれば埋め込み完了であった。本変形例では、その差を所定量T以上にするものである。
電子透かし情報を確実に抽出できる度合い、いわゆる電子透かし情報の攻撃耐性を高めるためには、LxとRxの差を大きくする必要がある場合が有る。LxとRxの差が大きければ、図2の画像200の文字間に少々の変更が施されたとしても、電子透かし情報を抽出できるであろう。このような目的を達成できない場合というのは、左右両方向について「注目矩形を最大量移動してもLxとRxの差を一定量以上に大きくすることができない」という場合である。これを考慮し、上記(式1)は(式8)に変形し、(式2)は(式9)に変形することが有効である。
Lx + Srx − T ≦ Rx − Srx … (式8)
Lx − Slx + T ≧ Rx + Slx … (式9)
なお、上記Tは、電子透かし情報を埋め込むために調整されたLxとRxの間の差として、許される最小限の差分値である。上記実施形態に(式8)及び(式9)を適用する方法を簡単に述べる。
図3のステップS304において、(式8)及び(式9)を、電子透かし情報を埋め込むことが可能か否かを判定する条件に適用する。
そして、上記ステップS304の判定により、“最大量移動された場合にLxとRxの差を一定量T以上に大きくすることができると判別された矩形”にのみ、図6で説明した埋め込みステップを実行する。
本変形例では、図6のステップS305cにおいて「1」を埋め込む時に、「Lx’−Rx’>T」となるように外接矩形の位置を変更する。またステップS305dにおいて「0」を埋め込む時に「Rx’−Lx’>T」となるように外接矩形の位置を変更する。
一方、抽出時には、図4のステップS403において、(式8)及び(式9)を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「1」「0」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
<変形例4>
変形例2では画質の劣化を防ぐ工夫をし、変形例3では耐性を高めるための工夫をした。一般的に、電子透かし技術においては、上記画質と耐性と埋め込み可能な情報量の3つのパラメータはトレードオフの関係にある。即ち、画質劣化を抑えようとすると、埋め込める情報量が減り、耐性が低くなる。また、耐性を高めると、埋め込める情報量が減り、画質劣化が大きくなる。よって、各パラメータを適度に設定できることが望ましい。本変形例では、上述した画質と耐性の設定を同時に制御できるようにする。
本変形例では、上記(式1)は(式10)に変形し、(式2)は(式11)に変形する。
Lx −T+(Srx − M)≦ Rx −(Srx − M)… (式10)
Lx +T−(Slx − M)≧ Rx +(Slx − M)… (式11)
上記実施形態に(式10)及び(式11)を適用する方法を簡単に述べる。
図3のステップS304において、(式10)及び(式11)を、電子透かし情報を埋め込むことが可能か否かを判定する条件に適用する。
そして、上記ステップS304の判定により、“隣接文字(外接矩形)との距離(マージン)を最低距離M以上に維持した状態で、確実に「1」および「0」を埋め込むことができ、かつ、最大量移動された場合にLxとRxの差を一定量T以上に大きくすることができると判別された矩形”にのみ、図6で説明した埋め込みステップを実行する。
本変形例では、図6のステップS305cにおいて「1」を埋め込む時に、「Lx’−Rx’>T」となるように外接矩形の位置を変更する。またステップS305dにおいて「0」を埋め込む時に「Rx’−Lx’>T」となるように外接矩形の位置を変更する。
一方、抽出時には、図4のステップS403において、(式10)及び(式11)を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「1」「0」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
<変形例5>
上記変形例4では、所望の画質と耐性を維持しつつ、文書画像に電子透かしを埋め込むことについて述べた。しかしながら、パラメータM及びTの両方を同時に用いた判定式(式10)、(式11)で判定することは、厳しい判定であると言える。この様な判定を行った場合、埋め込み不可能と判定される注目矩形が増えてしまい、その結果、埋め込むことができる情報量は非常に少ないかもしれない。よって、本変形例では、上記変形例4よりも、文書全体に埋め込める情報量が多くなるように、判定基準と埋め込み方法を変形する。なお、本変形例では、画質を出来るだけ維持するか、耐性を出来るだけ維持するかによって、判定及び埋め込み処理の仕方が異なるので、以下、夫々の場合を説明する。
[画質優先]
まず、画質を優先する場合について説明する。
この場合においては、図1〜5及び7を用い、図6の代わりに後述する図14を適用する。
図3のステップS304において、変形例2と同様に、(式6)及び(式7)を用いて、電子透かし情報を埋め込むことが可能か否かを判定する。そして、この判定により、“隣接文字(外接矩形)との距離(マージン)を最低距離M以上に維持した状態で、確実に「1」および「0」を埋め込むことができると判別された注目矩形”に、後述するステップS305の埋め込みステップを実行する。
次に、以下の説明で用いる“Shift”を定義しておく。“Shift”とは、電子透かしを埋め込む為の移動前のLx及びRxと、その移動後のLx’及びRx’とを、
Lx’=Lx+Shift
Rx’=Rx−Shift
として関連付ける、いわゆる“移動量”である。また、この移動量は1次元のベクトル量であり、右方向の移動量を正、左方向の移動量を負とする。
以下の説明では移動量の増減を行うが、移動量の増加とは、このベクトルの大きさを増加させることを言う。例えば、+3から1増加させると+4であり、−3から1増加させると−4である。移動量の減少も、同様に、大きさを減少させることを意味するが、これは移動の向きを逆転させない範囲での減少に限られる。即ち、例えば、+3から4減少させて−1にすることはできず、−3から4減少させて+1にすることもできない。
図14は、図3のステップS305の詳細を示している。
まず、ステップS305−2aにおいて、電子透かし情報104として埋め込まれるべき先頭の1ビットが選択される。例えば、電子透かし情報104として「01001010111・・・」が入力された場合、先頭のビット「0」が選択される。
次に、ステップS305−2bにおいて、埋め込まれるビット情報が「1」であるか否かが判断される。
もし、上記ビット情報が「1」の場合(Yesの場合)には、ステップS305−2cにおいて、Lx’−Rx’>Tとなるように注目矩形の位置を変更するための右向き(正)の移動量Shift=(R−L)/2+(T+1)/2を計算し、これを記憶する。もし位置を変更しなくてもLx’−Rx’>Tが成り立っているならば、注目矩形を移動をする必要はないため、Shift=0でよい。
もし、上記ビット情報が「0」の場合(Noの場合)には、ステップS305−2dにおいて、Rx’−Lx’>Tとなるように注目矩形の位置を変更するための左向き(負)の移動量Shift=−(L−R)/2−(T+1)/2を計算し、記憶する。但し、もし位置を変更しなくてもRx’−Lx’>Tが成り立っているならば、注目矩形を移動をする必要はないため、Shift=0となる。
次に、ステップS305−2eにおいて、注目矩形の両隣の矩形との距離を計算し、小さいほうをdとする。そして、このdがM以下かどうか判断する。
もしd≦Mの場合(Yesの場合)は、ステップS305−2fにより、移動量Shiftを1減らす。これは、「1」を埋め込むために右に移動していた矩形は左へ、或いは「0」を埋め込むために左に移動していた矩形は右へ、すなわち逆方向へ戻すことを意味する。つまり、このステップS305−2eにおいて、画質を保持するために設定したマージンMを下回っている場合には、注目矩形(文字)の周囲を視覚的に高画質にするために、上記移動量Shiftを出来るだけ減らす。言い換えれば、上述した耐性を適当量下げる。
もしd>M(No)であれば、ステップS305−2gにより、移動量Shiftを用いて実際に外接矩形を移動する。即ち、このS305−2gにおいて実際に電子透かしが埋め込まれる。その後、次の図3のステップS306に進む。ステップS306は上述したものと同様である。
一方、抽出時には、図4のステップS403において、(式6)及び(式7)を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「1」「0」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
[耐性優先]
次に、耐性を優先する場合について説明する。
この場合においては、図1〜5及び7を用い、図6の代わりに後述する図15を適用する。
図3のステップS304において、変形例3と同様に、(式8)及び(式9)を用いて、電子透かし情報を埋め込むことが可能か否かを判定する。そして、この判定により、“最大量移動された場合にLxとRxの差を一定量T以上に大きくすることができると判別された矩形”に、後述するステップS305の埋め込みステップを実行する。
図15は、図3のステップS305の詳細を示している。
まず、ステップS305−3aにおいて、電子透かし情報104として埋め込まれるべき先頭の1ビットが選択される。例えば、電子透かし情報104として「01001010111・・・」が入力された場合、先頭のビット「0」が選択される。
次に、ステップS305−3bにおいて、埋め込まれるビット情報が「1」であるか否かが判断される。
もし、上記ビット情報が「1」の場合(Yesの場合)には、ステップS305−3cにおいて、Lx’−Rx’>Tとなるように注目矩形の位置を変更するための右向き(正)の移動量Shift=(R−L)/2 +(T+1)/2を計算し、記憶する。もし位置を変更しなくてもLx’−Rx’>Tが成り立っているならば、注目矩形を移動をする必要はないため、Shift=0でよい。
もし、上記ビット情報が「0」の場合(Noの場合)には、ステップS305−3dにおいて、Rx’−Lx’>Tとなるように注目矩形の位置を変更するための左向き(負)の移動量Shift=−(L−R)/2−(T+1)/2を計算し、記憶する。但し、もし位置を変更しなくてもRx’−Lx’>Tが成り立っているならば、注目矩形を移動をする必要はないため、Shift=0となる。
次に、ステップS305−3eにおいて、注目矩形の両隣の矩形との距離を計算し、小さい方をdとする。このdがd>Mかつd>T/2を満たすかどうか判断する。
もしd>Mかつd>T/2(Yes)の場合、ステップS305−3fで移動量Shiftを1増やす。これは、「1」を埋め込むために右に移動していた矩形は右へ、或いは「0」を埋め込むために左に移動していた矩形は左へ、すなわち最初に設定したShiftと同方向へ移動することを意味する。つまり、画質を維持するために必要なマージンMよりもdが大きい間は、出来るだけ強く電子透かしを埋め込む為にShiftの幅を大きくする。即ち、これは上述の耐性を高めることを意味する。
なお、埋め込む為に一方向に移動しすぎたことにより、抽出時における(式8)及び(式9)の判定において埋め込み不可能と判定されないよう、電子透かしが埋め込まれた後のdはT/2以下になっている必要もある。
もしd≦Mまたはd≦T/2(No)であればステップS305−3gにおいて移動量Shiftを用いて実際に外接矩形を移動する。その後、次の図3のステップS306に進む。ステップS306は上述したものと同様である。
一方、抽出時には、図4のステップS403において、(式8)及び(式9)を電子透かし情報を埋め込むことが可能だったか否かを判定する条件に適用する。この判定の結果、埋め込み可能であったと判定される注目矩形から電子透かし情報「1」「0」を抽出する。なお、この抽出方法は上述の実施形態と同様である。
以上の処理を行うことにより、埋め込み可能な情報量の調整も行うことが可能である。
なお、上記実施形態の機能はコンピュータプログラムに基づいてコンピュータが実現できるわけであるから、本発明はかかるコンピュータプログラムもその範疇とする。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ可読記憶媒体に記憶(格納)され、それをコンピュータ内にコピーもしくはインストールすることで実行可能となるわけであるから、本発明がかかるコンピュータ可読記憶媒体をもその範疇とする。
また、上記実施形態では、電子透かし情報の埋め込み処理を、スキャナ等の入力装置で入力した画像データに対して行うとして説明したが、例えば、プリンタドライバに埋め込み機能を組み込み、そのドライバによる処理を経由して出力される画像データに対して上述の埋め込み処理を実行するようにしても良い。
プリンタドライバ内に電子透かし情報の埋め込み機能を組み込む場合には、文書編集処理等の為のアプリケーションプログラム上で印刷指示を行って、このプログラムから渡された文字コードや書体及びサイズ、位置等に基づいて、公知の手順に従って文字パターンを生成する。そして、生成された文字パターンを、予め用意された電子透かし情報104(もしくは印刷する際に電子透かし情報104をキーボード等から入力しても良い)に基づいて、上記実施形態で説明した様に、各注目文字(矩形)の位置を微小にずらすことにより、電子透かし情報を埋め込む。
なお、本発明は、上述したような電子透かし情報の埋め込みアルゴリズム、言い換えれば、電子透かし情報を埋め込む可能性が有る位置に、それを埋め込みことができない場合が稀に存在するようなアルゴリズムの全てに適用できる。
電子透かし埋め込み装置の機能を示す図である。 電子透かし抽出装置の機能を示す図である。 電子透かし情報の埋め込み処理の全体の手順を示すフローチャートである。 電子透かし情報の抽出処理の全体の手順を示すフローチャートである。 埋め込み可能性の判定を行う処理手順を示すフローチャートである。 電子透かし情報の埋め込み処理手順を示すフローチャートである。 電子透かし情報の抽出処理手順を示すフローチャートである。 電子透かし情報の埋め込みの原理を説明するための図である。 電子透かし情報を埋め込む対象となる画像を示す図である。 電子透かし情報を埋め込んだ後の画像を示す図である。 電子透かし情報が埋め込み不可能と判断される例を説明するための図である。 情報処理装置の構成を示す図である。 テーブルの一例を示す図である。 電子透かし情報の埋め込み処理手順を示すフローチャートである。 電子透かし情報の埋め込み処理手順を示すフローチャートである。

Claims (4)

  1. 文書画像中の文字を、当該文字の文字列の並び方向に沿って移動することにより、電子透かし情報を埋め込む情報処理装置であって、
    文書画像中の各文字の位置とその外接矩形のサイズを検出する検出手段と、
    該検出手段で検出した文字列の並び方向である行中の偶数番目に位置する文字を埋め込み対象の文字として仮設定し、当該仮設定された文字が前記電子透かし情報の埋め込み可能か否かを判定する判定手段と、
    該判定手段で埋め込み可能と判定された仮設定された文字を、埋め込むべき電子透かし情報の1ビットの値に応じて、移動することで埋め込む埋め込み手段とを備え、
    前記判定手段は、
    前記検出手段で検出した各文字の位置と外接矩形のサイズに基づき、行の位置をi、当該行の行頭からの位置を2j(i,j=1、2、3)で定義される前記仮設定された着目文字をC(i,2j)と定義したとき、文字C(i−1,2j−1)と前記着目文字C(i,2j)との行方向の距離Lx、文字C(i−1,2j+1)と前記着目文字C(i,2j)との行方向の距離Rx、文字C(i,2j−1)と前記着目文字C(i,2j)との行方向の距離Srx、文字C(i,2j+1)と前記着目文字C(i,2j)との行方向の距離Slx、埋め込みによる前記LxとRxとの差として許容される最小差分値をT、埋め込み後の隣接する文字間の最低限必要な距離マージンをMとしたとき、
    Lx−T+(Srx−M)≦Rx−(Srx−M)
    Lx+T−(Slx−M)≧Rx+(Slx−M)
    の2つの式のいずれか一方が満たされるとき前記着目文字C(i,2j)を埋め込み不可と判定し、前記2つの式のいずれも満たさない場合には前記着目文字C(i,2j)を埋め込み可と判定し
    前記埋め込み手段は、
    前記埋め込み情報で示される1ビットの値に応じて、埋め込み後の前記Lx,Rxと前記Tの関係が、
    Lx−Rx>T
    または、
    Rx−Lx>T
    となるように、前記着目文字を前記行方向に移動する
    ことを特徴とする情報処理装置。
  2. 文書画像中の文字を、当該文字の文字列の並び方向に沿って移動することにより、電子透かし情報を埋め込む情報処理装置の制御方法であって、
    検出手段が、文書画像中の各文字の位置とその外接矩形のサイズを検出する検出工程と、
    判定手段が、該検出工程で検出した文字列の並び方向である行中の偶数番目に位置する文字を埋め込み対象の文字として仮設定し、当該仮設定された文字が前記電子透かし情報の埋め込み可能か否かを判定する判定工程と、
    埋め込み手段が、該判定工程で埋め込み可能と判定された仮設定された文字を、埋め込むべき電子透かし情報の1ビットの値に応じて、移動することで埋め込む埋め込み工程とを備え、
    前記判定工程は、
    前記検出工程で検出した各文字の位置と外接矩形のサイズに基づき、行の位置をi、当該行の行頭からの位置を2j(i,j=1、2、3)で定義される前記仮設定された着目文字をC(i,2j)と定義したとき、文字C(i−1,2j−1)と前記着目文字C(i,2j)との行方向の距離Lx、文字C(i−1,2j+1)と前記着目文字C(i,2j)との行方向の距離Rx、文字C(i,2j−1)と前記着目文字C(i,2j)との行方向の距離Srx、文字C(i,2j+1)と前記着目文字C(i,2j)との行方向の距離Slx、埋め込みによる前記LxとRxとの差として許容される最小差分値をT、埋め込み後の隣接する文字間の最低限必要な距離マージンをMとしたとき、
    Lx−T+(Srx−M)≦Rx−(Srx−M)
    Lx+T−(Slx−M)≧Rx+(Slx−M)
    の2つの式のいずれか一方が満たされるとき前記着目文字C(i,2j)を埋め込み不可と判定し、前記2つの式のいずれも満たさない場合には前記着目文字C(i,2j)を埋め込み可と判定し
    前記埋め込み工程は、
    前記埋め込み情報で示される1ビットの値に応じて、埋め込み後の前記Lx,Rxと前記Tの関係が、
    Lx−Rx>T
    または、
    Rx−Lx>T
    となるように、前記着目文字を前記行方向に移動する
    ことを特徴とする情報処理装置の制御方法。
  3. コンピュータに読込ませ実行させることで、前記コンピュータを、文書画像中の文字を、当該文字の文字列の並び方向に沿って移動することにより、電子透かし情報を埋め込む情報処理装置として機能させるコンピュータプログラムであって、
    前記コンピュータに、
    文書画像中の各文字の位置とその外接矩形のサイズを検出する検出手段、
    該検出手段で検出した文字列の並び方向である行中の偶数番目に位置する文字を埋め込み対象の文字として仮設定し、当該仮設定された文字が前記電子透かし情報の埋め込み可能か否かを判定する判定手段、
    該判定手段で埋め込み可能と判定された仮設定された文字を、埋め込むべき電子透かし情報の1ビットの値に応じて、移動することで埋め込む埋め込み手段
    として機能させ、
    前記判定手段は、
    前記検出手段で検出した各文字の位置と外接矩形のサイズに基づき、行の位置をi、当該行の行頭からの位置を2j(i,j=1、2、3)で定義される前記仮設定された着目文字をC(i,2j)と定義したとき、文字C(i−1,2j−1)と前記着目文字C(i,2j)との行方向の距離Lx、文字C(i−1,2j+1)と前記着目文字C(i,2j)との行方向の距離Rx、文字C(i,2j−1)と前記着目文字C(i,2j)との行方向の距離Srx、文字C(i,2j+1)と前記着目文字C(i,2j)との行方向の距離Slx、埋め込みによる前記LxとRxとの差として許容される最小差分値をT、埋め込み後の隣接する文字間の最低限必要な距離マージンをMとしたとき、
    Lx−T+(Srx−M)≦Rx−(Srx−M)
    Lx+T−(Slx−M)≧Rx+(Slx−M)
    の2つの式のいずれか一方が満たされるとき前記着目文字C(i,2j)を埋め込み不可と判定し、前記2つの式のいずれも満たさない場合には前記着目文字C(i,2j)を埋め込み可と判定し
    前記埋め込み手段は、
    前記埋め込み情報で示される1ビットの値に応じて、埋め込み後の前記Lx,Rxと前記Tの関係が、
    Lx−Rx>T
    または、
    Rx−Lx>T
    となるように、前記着目文字を前記行方向に移動する
    ことを特徴とするコンピュータプログラム。
  4. 請求項に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2004085348A 2003-06-03 2004-03-23 情報処理装置及びその制御方法 Expired - Fee Related JP4164463B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004085348A JP4164463B2 (ja) 2003-06-03 2004-03-23 情報処理装置及びその制御方法
US10/857,049 US7260239B2 (en) 2003-06-03 2004-05-28 Information processing method and information processor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003158596 2003-06-03
JP2004085348A JP4164463B2 (ja) 2003-06-03 2004-03-23 情報処理装置及びその制御方法

Publications (3)

Publication Number Publication Date
JP2005020707A JP2005020707A (ja) 2005-01-20
JP2005020707A5 JP2005020707A5 (ja) 2007-03-08
JP4164463B2 true JP4164463B2 (ja) 2008-10-15

Family

ID=33492466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004085348A Expired - Fee Related JP4164463B2 (ja) 2003-06-03 2004-03-23 情報処理装置及びその制御方法

Country Status (2)

Country Link
US (1) US7260239B2 (ja)
JP (1) JP4164463B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3907439B2 (ja) * 2001-10-26 2007-04-18 キヤノン株式会社 携帯端末システム及び携帯端末及び画像処理装置及びその動作方法
JP2003230001A (ja) * 2002-02-01 2003-08-15 Canon Inc 文書用電子透かし埋め込み装置及び文書用電子透かし抽出装置並びにそれらの制御方法
KR100462828B1 (ko) * 2004-06-22 2004-12-30 엔에이치엔(주) 명령어의 유효성 판단 방법 및 그 시스템
US7436978B2 (en) * 2005-02-25 2008-10-14 Toshiba Corporation System and method for applying watermarks
US7370190B2 (en) * 2005-03-03 2008-05-06 Digimarc Corporation Data processing systems and methods with enhanced bios functionality
JP4310288B2 (ja) * 2005-04-12 2009-08-05 キヤノン株式会社 画像処理装置及びその方法、プログラム並びに記憶媒体
KR100765752B1 (ko) * 2005-06-10 2007-10-15 삼성전자주식회사 특정 패턴 검출방법 및 장치 및 이를 포함하는 복사기
CN1933391A (zh) * 2005-09-16 2007-03-21 北京书生国际信息技术有限公司 一种隐形编码嵌入和检测的方法
JP4134128B2 (ja) * 2005-09-26 2008-08-13 富士通株式会社 エンコード可否判定装置、エンコード可否判定方法およびエンコード可否判定プログラム
JP2007110301A (ja) * 2005-10-12 2007-04-26 Fujitsu Ltd 画像印刷装置、判定装置および印刷物
JP2008135987A (ja) * 2006-11-28 2008-06-12 Fujitsu Ltd 情報埋め込み装置、情報埋め込み印刷物、情報埋め込み方法および情報埋め込みプログラム
JP4956366B2 (ja) * 2007-10-16 2012-06-20 キヤノン株式会社 画像処理装置
US8640024B2 (en) * 2007-10-30 2014-01-28 Adobe Systems Incorporated Visually distinct text formatting
JP2009182512A (ja) * 2008-01-29 2009-08-13 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体
JP4973540B2 (ja) * 2008-02-21 2012-07-11 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP4587058B2 (ja) * 2008-09-10 2010-11-24 富士ゼロックス株式会社 画像処理装置、画像処理システム及びプログラム
JP5159660B2 (ja) * 2009-01-29 2013-03-06 キヤノン株式会社 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム及び記録媒体
US8259361B2 (en) * 2009-03-20 2012-09-04 Xerox Corporation Glossmark-enabled photo product composition station
CN103530843B (zh) * 2013-10-14 2016-08-10 杭州电子科技大学 一种基于颜色信息压缩的照片水印嵌入和移除方法
GB2572386B (en) * 2018-03-28 2021-05-19 Canon Europa Nv An image processing system and an image processing method
CN110162990B (zh) * 2019-05-29 2022-12-23 华南师范大学 基于大数据和位置的信息隐藏方法和机器人系统
CN113497908B (zh) * 2020-03-19 2023-08-25 阿里巴巴集团控股有限公司 数据处理方法、装置、电子设备及存储设备
CN111738898B (zh) * 2020-06-17 2023-09-22 友虹(北京)科技有限公司 文本数字水印嵌入\提取方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003230001A (ja) * 2002-02-01 2003-08-15 Canon Inc 文書用電子透かし埋め込み装置及び文書用電子透かし抽出装置並びにそれらの制御方法
JP4072448B2 (ja) * 2002-03-14 2008-04-09 キヤノン株式会社 電子透かし抽出方法及び装置及びプログラム及び記憶媒体
JP2004193756A (ja) * 2002-12-09 2004-07-08 Canon Inc 電子透かし埋め込み方法

Also Published As

Publication number Publication date
US7260239B2 (en) 2007-08-21
US20040247155A1 (en) 2004-12-09
JP2005020707A (ja) 2005-01-20

Similar Documents

Publication Publication Date Title
JP4164463B2 (ja) 情報処理装置及びその制御方法
JP2004104494A (ja) 電子透かし埋め込み装置及びその制御方法
US7106884B2 (en) Digital watermark embedding apparatus for document, digital watermark extraction apparatus for document, and their control method
JP4310288B2 (ja) 画像処理装置及びその方法、プログラム並びに記憶媒体
JP4194462B2 (ja) 電子透かし埋め込み方法、電子透かし埋め込み装置、及びそれらを実現するプログラム並びにコンピュータ可読記憶媒体
US7613317B2 (en) Image processing apparatus, image processing method, computer program and computer readable storage medium
JP4956366B2 (ja) 画像処理装置
EP1973329B1 (en) Image processing apparatus and image processing method
US7209572B2 (en) Digital watermark embedding apparatus, digital watermark extraction apparatus, and methods thereof
US7269274B2 (en) Digital watermark embedding method, digital watermark extraction method, digital watermark embedding apparatus, and digital watermark extraction apparatus
US7260238B2 (en) Digital watermark embedding method, apparatus, digital watermark extraction method and apparatus
JP2005117154A (ja) 電子透かし埋め込み方法、電子透かし埋め込み装置、電子透かし抽出方法、電子透かし抽出装置、上記各方法を実行可能なコンピュータプログラム、及びこれを記憶した記憶媒体
JP4164458B2 (ja) 情報処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4324058B2 (ja) 画像処理装置及びその方法
JP2009278181A (ja) 電子透かし情報埋め込み装置及び方法、並びに、電子透かし情報抽出装置及び方法
JP3703445B2 (ja) 電子透かし埋め込み装置、電子透かし抽出装置、及びそれらの方法
JP4861250B2 (ja) 画像処理装置およびその制御方法
JP2005253005A (ja) 情報処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4390723B2 (ja) 情報埋め込み装置、情報抽出装置、情報埋め込み方法、情報抽出方法、情報埋め込みプログラム、情報抽出プログラム及び記録媒体
JP2011059899A (ja) 情報処理装置及びその制御方法
JP2006080866A (ja) 画像処理装置
JP2010199877A (ja) 画像処理装置およびその制御方法
JP2009021776A (ja) 情報付加装置、情報付加方法、画像形成装置、情報付加プログラム及び該プログラムを格納した記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080617

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080722

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees