JP2010010835A - 画像処理装置及び画像処理方法 - Google Patents
画像処理装置及び画像処理方法 Download PDFInfo
- Publication number
- JP2010010835A JP2010010835A JP2008165070A JP2008165070A JP2010010835A JP 2010010835 A JP2010010835 A JP 2010010835A JP 2008165070 A JP2008165070 A JP 2008165070A JP 2008165070 A JP2008165070 A JP 2008165070A JP 2010010835 A JP2010010835 A JP 2010010835A
- Authority
- JP
- Japan
- Prior art keywords
- digital watermark
- line
- document
- image processing
- embedding
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【課題】 文書もしくは文書画像中のテキスト部に電子透かし情報がコンテンツの内容に無関係に繰り返し埋め込まれていたため、電子透かしが埋め込まれた元文書の一部を切り取られた場合、切り取られた部分に電子透かし情報が含まれていなければ抽出できず、抽出の可能性が低かった。
【解決手段】 文書や文書画像のテキスト部の文字列を取得し(S301)、電子透かしとして埋め込む情報を入力もしくはロードし(S302)、埋め込む電子透かし情報が文書中で何行に渡るかを算出し(S303)、文書中から重要と思われる語を検索し(S304)、重要語を元に電子透かしを埋め込む位置を決定し(S305)、電子透かし情報を生成し(S306)、電子透かし情報をテキストに埋め込み(S307)、紙や記録媒体などの媒体に電子透かしを埋め込んだ文書を出力する(S308)。
【選択図】 図3
【解決手段】 文書や文書画像のテキスト部の文字列を取得し(S301)、電子透かしとして埋め込む情報を入力もしくはロードし(S302)、埋め込む電子透かし情報が文書中で何行に渡るかを算出し(S303)、文書中から重要と思われる語を検索し(S304)、重要語を元に電子透かしを埋め込む位置を決定し(S305)、電子透かし情報を生成し(S306)、電子透かし情報をテキストに埋め込み(S307)、紙や記録媒体などの媒体に電子透かしを埋め込んだ文書を出力する(S308)。
【選択図】 図3
Description
本発明は文書に対する電子透かしの埋め込みおよび抽出における画像処理技術に関するものである。
テキストに追跡情報や複写制御等の情報を持たせるため、テキストに電子透かしによって透かし情報を埋め込む手法が提案されている。
そのうちの一つに文字間の空白長を操作する方法がある。この方法を図15と図16を用いて説明する。
図15は、透かし情報の埋め込み前のテキストの一部を示す図であり、図16は図15のテキストの一部に対して透かし情報を埋め込んだ後のテキストの一部を示す図である。図15及び図16では、文字が5文字あり、文字間の空白が4つある。埋め込み前の文字外接矩形群の一部を図15に示すような配置とする。同図において、1601乃至1605が文字外接矩形である。図15における文字外接矩形間の距離(空白長)は文字外接矩形1601と1602間がP0、1602と1603間がS0、1603と1604間がP1、1604と1605間がS1であるとする。透かし情報が埋め込まれた後は、図16に示される各文字間の空白長P0、S0、P1、S1はそれぞれP0’、S0’、P1’、S1’となる。
文字間の空白長を操作する方法では1ビットに対して2つの空白長を割り当てることから、4つの空白によって2ビットの情報を埋め込むことが可能である。例えば、P>Sが「1」を表し、P<Sが「0」を表すとする。そこで、図15においてP0とS0の間の「子」という文字を左に、P1とS1の間の「か」という文字を右にシフトした場合、埋め込み後のテキストの一部である図16では、P0’<S0’、P1’<S1となり、00というビット列が埋め込まれたことになる。
また、別の方法として、文字を回転して傾斜を変化させる方法が挙げられる。このを、図17を用いて説明する。
図17は、文字を回転して傾斜を変化させる方法による電子透かしによって透かし情報が埋め込まれた場合の文字を説明するための図である。時計回りに回転された場合に「1」が埋め込まれ(図17における1701)、反時計回りに回転された場合に「0」が埋め込まれるものとする(図17における1702)。尚、埋め込みの対象となる文字は、連続する文字であっても、数文字間隔であっても、あらかじめ定められた位置の文字であってもよい。図17では、「透」の文字が時計回りに回転され、また「し」の字が反時計回りに回転されているので、「10」という情報が埋め込まれていることになる。
また、テキスト用電子透かしにおいて、悪意のある攻撃者が追跡情報や複写制御情報の削除を目的として切り取りを行う場合がある。こうした攻撃に対し、繰り返して埋め込むことなどにより切り取り耐性を向上している。(特許文献1参照)
特開2004−247883号公報
しかしながら、従来技術ではテキストもしくは文書画像中のテキスト部に電子透かし情報がコンテンツの内容に無関係に繰り返し埋め込まれていた。そのため、電子透かしが埋め込まれた元テキストの一部を切り取られた場合、切り取られた部分に電子透かし情報が含まれていなければ抽出できず、抽出の可能性が低かった。
本発明は以上の問題に鑑みてなされたものであり、攻撃者の切り取りに対して情報抽出の可能性を上げることを目的とする。
本発明の目的を達成するために、
文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込む位置を決定する決定手段と、
前記決定手段によって決定された位置から前記検索された語句を含む文字列に電子透かしを埋めこむ埋め込み手段とを有する画像処理装置を提供する。
文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込む位置を決定する決定手段と、
前記決定手段によって決定された位置から前記検索された語句を含む文字列に電子透かしを埋めこむ埋め込み手段とを有する画像処理装置を提供する。
また、文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込む位置を決定する決定手段と、
前記決定手段によって決定された文の先頭から文の最後まで前記検索された語句を含む文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置を提供する。
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込む位置を決定する決定手段と、
前記決定手段によって決定された文の先頭から文の最後まで前記検索された語句を含む文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置を提供する。
また、文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込む位置を決定する決定手段と、
前記決定手段によって決定された行の先頭の文字から前記決定手段によって決定された行の最後の文字まで前記検索された語句を含む文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置を提供する。
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込む位置を決定する決定手段と、
前記決定手段によって決定された行の先頭の文字から前記決定手段によって決定された行の最後の文字まで前記検索された語句を含む文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置を提供する。
テキストの切り取りに対応できる電子透かし技術として、攻撃者の切り取りに対して情報抽出の可能性を上げることができる。
本実施形態は、電子透かし情報であるビット列を文書もしくは文書画像中のテキスト領域各行の文字列に埋め込む技術に関するものである。以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
図14は、上記埋め込み処理を実行するコンピュータの基本構成図である。例えばこのコンピュータにおいて全ての機能を実行する場合、各機能構成をプログラムにより表現し、このコンピュータに読み込ませることで、本発明の機能を実現することが出来る。テキストに電子透かし情報の埋め込み、抽出の夫々を行うコンピュータは同じ装置であっても良いし、別個のコンピュータであっても良い。なおテキストとは文書の文字列のことである。
図14において、コンピュータ1501は一般に普及しているパーソナルコンピュータであり、スキャナ等の画像読込装置1513から読み取られた画像を入力し、編集や保管を行うことが可能である。また、画像読込装置1513で得られた画像を出力装置1515からプリントさせることができる。なお、ユーザからの各種指示等は例えばマウスやキーボードといった入力装置1514からの入力操作により行われる。また、コンピュータ1501の内部ではバス1507により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
図14において、MPU(Micro Processing Unit)1502はコンピュータ1501内部の各ブロックの動作を制御し、あるいは内部に記憶されたプログラムを実行することができる。
RAM(Random Access Memory)1503は、主にMPU1502によって行われる処理のための制御用ワークエリア1503aや、一時的にプログラムや処理対象の画像データやテキストデータを格納しておく格納エリア1503bから成る。
HDD(ハードディスクドライブ)1504は、RAM1503や外部記憶装置1511などに転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存したりすることのできる装置である。
CDドライブ1509は、外部記憶媒体の一つであるCD(CD−R/CD−RW)に記憶されたデータを読み込んだり、あるいは書き出したりすることができる装置である。DVDドライブ1510は、外部記憶媒体の一つであるDVD(DVD−R/DVD−RW)に記憶されたデータを読み込んだり、あるいは書き出したりすることができる装置である。
また、外部記憶装置1511は、外部記憶媒体である外付けHDDや大容量フラッシュメモリに記憶されたデータを読み込んだり、あるいは書き出したりすることができる装置である。
なお、CDやDVD、HDD、大容量フラッシュメモリ等の外部記憶媒体に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、HDD1504上にインストールし、必要に応じてRAM1503に転送されるようになっている。
モニタ1506は情報の抽出処理結果や処理過程を表示することのできる表示装置である。さらにビデオコントローラ1508は、表示データをモニタ1506に送信するための装置である。
インタフェース(I/F)1512は、本実施例では画像読込装置1513や入力装置1514、出力装置1515といった周辺機器と接続されるUSBインタフェースであり、コンピュータと周辺機器のデータ伝送を行なっている。またI/F1512は別ポートであってもよい。
画像読込装置1513は、例えばスキャナのように原稿やフィルム等を読み取って画像データを生成する機器や、光学文字読取装置(OCR)のように原稿から文字を読み取って画像データもしくは文字データを生成する機器である。また、画像読込装置で読み込まれた画像データもしくは文字データは、I/F1512を通じてコンピュータ1501に入力される。
入力装置1514は、例えばマウスやキーボードであり、入力装置1514の入力指示はI/F1512を通じてコンピュータ1501に入力される。
出力装置1515は、例えば画像データを印刷するプリンタであり、I/F1512と接続されることによってコンピュータ1501は印刷する画像データをプリンタ1516に送信することができる。
<第1の実施例>
本実施形態に係る電子透かし情報の埋め込み処理について説明する。図1は、本実施形態に係る電子透かし情報の埋め込み処理を行う装置、もしくは本実施形態に係る電子透かし情報の埋め込み処理をこの装置に実行させるためのプログラムの機能構成を示す図である。図1に示した各部はハードウェアにより構成し、電子透かしの埋め込み装置として実現させても良いし、各部の機能をコンピュータに実行させるためのプログラムとして実現させても良い。
本実施形態に係る電子透かし情報の埋め込み処理について説明する。図1は、本実施形態に係る電子透かし情報の埋め込み処理を行う装置、もしくは本実施形態に係る電子透かし情報の埋め込み処理をこの装置に実行させるためのプログラムの機能構成を示す図である。図1に示した各部はハードウェアにより構成し、電子透かしの埋め込み装置として実現させても良いし、各部の機能をコンピュータに実行させるためのプログラムとして実現させても良い。
後者の場合、このプログラムをCD−ROMやDVD−ROMなどの記憶媒体からCDドライブ1509、DVDドライブ1510などのドライブ装置によってRAM1503にロードする。もしくは、外部HDDや大容量フラッシュメモリのような外部記憶装置1511や、コンピュータ1501内部のHDD1504からRAM1503にロードする。そしてMPU1502がこのプログラムを実行することで、このコンピュータ1501は図1に示した機能構成、すなわち本実施形態に係る電子透かし情報の埋め込みを実現する。
テキスト部取得部101は、電子透かしを埋め込むデータをコンピュータ1501に取り込む。テキスト部取得部101の例としては画像読込装置1513が挙げられる。他にCD−ROMやDVD−ROMなどの記憶媒体のテキストデータをロードするCDドライブ1509、DVDドライブ1510などのドライブ装置や、外部HDDや大容量フラッシュメモリのような外部記憶装置1511が挙げられる。
透かし情報入力部102は、電子透かし情報をコンピュータ1501中のRAM1503に入力する。そのため透かし情報入力部102の例としてはキーボードやマウスから電子透かし情報を直接入力する場合は入力装置1514ああてはまる。また、CD−ROMやDVD−ROMなどの記憶媒体から電子透かしデータを取り込む場合にはCDドライブ1509、DVDドライブ1510が挙げられる。その他にもROM1505や、外部HDDや大容量フラッシュメモリのような外部記憶装置1511や、コンピュータ内に記憶されている場合はHDD1504が挙げられる。また、透かし情報入力部102は、RAM1503に入力された電子透かしデータ1503cから、MPU1502によってビット長データ1503cを算出し、RAM1503の格納エリア1503bに保持する。
繰り返し単位行数算出部103は、MPU1502によって電子透かしデータ1503cとビット長データ1503cから電子透かしを文書中に埋め込む際に必要となる行数を算出する。そして算出した行数は、RAM1503の格納エリア1503bに格納しても、HDD1504などの記憶媒体に保管しても良い。
重要語検索部104はMPU1502によって重要語とする語句が文書中にあるかを検索する。そのため入力装置1514(例えばマウスやキーボード)から語句を入力操作されRAM1503に格納されたHDD1504、ROM1505に格納された重要語リストから語句をロードしてRAM1503の格納エリア1503bに格納しても良い。その後格納された語句が文書中にあるか検索を行い、検索結果をRAM1503の格納エリア1503bに格納しても良い。
埋め込み位置決定部105において、MPU1502は重要語検索部104によって検索された重要語を用いて、文書中のどの部分に優先的に電子透かしを埋め込む位置を決定する。
透かし情報生成部106において、MPU1502は各行の文字数から対応するそれぞれの行の埋め込み可能容量を求め、埋め込みデータを格納する配列を生成し、すべてを初期化する。またこの配列をHDD1504やRAM1503の格納エリア1503bに格納しても良い。
透かし情報埋め込み部107は、MPU1502がRAM1503の格納エリア1503bに格納されているテキストデータに対して、電子透かし情報を電子透かしとして埋め込む。
テキスト出力部108は、また電子透かしを埋め込んだテキストを紙媒体にプリントして出力する際には、例えばプリンタや複写機である出力装置1515である。またデータとして出力する際には、RAM1503やHDD1504、外部記憶装置1511に記憶させても、CDドライブ1509、DVDドライブ1510などのドライブ装置を通じてCD−ROMやDVD−ROMなどの記憶媒体へ記憶させても良い。
図3はテキストに対する電子透かし情報の埋め込み処理のフローチャートである。図1に示した各部によって行われるテキストに対する電子透かし情報の埋め込み処理について、図3を参照して説明する。なお、図3に示したフローチャートに従ったプログラムはRAM1503にロードされ、MPU1502がこのプログラムを実行することで、コンピュータ1501は、本実施形態に係る電子透かし情報の埋め込み処理を行うことができる。
ステップS301において、コンピュータ1501はテキスト部取得部101より電子透かしを埋め込む対象のテキストをデータとして取得する。入力された画像文書やページ記述言語、テキスト、電子データを解釈して文字の位置および文字コードを取得する。取得したデータは一旦HDD1504に保存しても良いし、RAM1503の格納エリア1503bに格納しても良い。
ステップS302において、透かし情報入力部102によって電子透かし情報が入力される。電子透かし情報とは電子透かしとして埋め込もうとする情報であって、複数のビットからなるビット列である。これは例えば機器固有のIDや、埋め込み者が任意で決定出来るビット列である。
電子透かし情報の入力はユーザが例えばキーボードやマウスのような入力装置1514を用いて手動で入力しても良い。もしくは、ROM1505やHDD1504、CDドライブ1509、DVDドライブ1510、外部記憶装置1511からRAM1503にロードしても良い。ロードされた電子透かし情報はRAM1503の格納エリア1503bに格納される。(図14の1503c)
ステップS302において透かし情報入力部102はまた、電子透かし情報のビット長を求める。これは、行によっては電子透かし情報を繰り返し埋め込めるものもあるので、抽出したビット列中で先頭からどこまでが電子透かし情報であるのかを把握するためのものである。求めたビット長は図14の1503dのようにRAM1503に格納しても良いし、そのまま後に述べる繰り返し単位行数を求めるために使用しても良い。
ステップS303において、繰り返し単位行数算出部103はRAM1503の格納エリア1503bに格納された電子透かし情報に対してワークエリア1503aにおいて電子透かしの埋め込み単位である繰り返し単位行数の算出を行う。
電子透かしは通常、切り取りなどの透かしを無効化する攻撃を回避するため、透かし情報を文書に繰り返して分散させて埋め込むことが多い。そのため、分散した透かし情報を検索するために、透かし情報の開始位置を示すためにヘッダーを設ける。すなわち、ヘッダー、透かし情報の組で埋め込む最小単位を構成し、この埋め込み単位を繰り返す。
繰り返し単位行数Mは透かし情報を埋め込む際に必要となる行数であり、ヘッダーのビット長をH、入力された透かし情報のビット長をLとすると、埋め込み単位のビット長はH+Lとなる。通常、この埋め込み単位は1行に収まらないことが多い。その場合、複数行にまたがってヘッダーと透かし情報を埋め込むことになる。
MPU1502はまず、ステップS301で取得した文字部分の各文字の位置情報や文字コードから各行の文字数を算出し、1行当たりの平均文字数Nを算出する。次に、1行当たりに埋め込むことが可能な透かしの情報量を表す1行平均埋め込み可能容量Cを算出する。
次に、1行平均埋め込み可能容量を求める。文字の間隔に電子透かしを埋め込む場合、2つの文字間隔を1組として電子透かしを埋め込むため、C=(N−1)/2(小数点以下切り捨て)が1行平均埋め込み可能容量となる。文字の回転によって電子透かしを埋め込む場合、Nそのものが1行平均埋め込み可能容量となる。したがってC=Nである。
以上より、繰り返し単位行数Mは、M=(L+H)/C(小数点切り上げ)となる。なお、L+H<Cの場合はM=1となる。MPU1502はRAM1503のワークエリア1503aにて繰り返し単位行数Mを算出した後に、繰り返し単位行数Mの値はRAM1503の格納エリア1503bに格納する。
ステップS304において、重要語検索部104は埋め込み位置決定のためにステップS305で重要部を決定するための準備として、重要語の検索を行う。重要語とは、電子透かしを埋め込むユーザが、文書中で重要だと思われる語句やキーワードとする。また重要部とは、その重要語を含む文または行もしくは周囲の文または行のこととする。重要語は複数でも構わないし、複数の重要語に対して重要さを示すレベルを付加しても構わない。
本実施例における重要語の検索と埋め込み位置の決定を図10と図11を使用して説明する。図10と図11は文書中に重要語が存在するときの概念図であり、順に重要語の検索と埋め込み位置の決定の手順を示す図である。また、ステップS304とステップS305の詳細を図9のステップS901からステップS907に示す。
先ず、ステップS901(ステップS304と同じ)において、重要語の検索の際には先ず、重要語とする語句が文書中にあるかを検索する。重要語は入力装置1514(例えばマウスやキーボード)から語句を入力操作することにより決定されても良いし、RAM1503やHDD1504、ROM1505に格納された重要語リストから決定されても良い。また、重要語として複数の語句を入力する場合、重要語自身にレベルを付加することも可能である。
図10はステップS901とステップS902についての概念図である。行1001から行1012は文章中の1行であり、重要語1051から重要語1054は文章中にある重要語と検索された語句であるとする。
この場合、行1001においては重要語が0語あるのに対し、行1002においては重要語1051が1つあるため、行1002に重要語は1語ある。また、行1002から行1006までは重要語が0語であるのに対し、行1007においては重要語1052と重要語1053の2つあるため、行1007に重要語は合計2語ある。行1008も重要語1054があるため、重要語が1語ある。そして行1009から行1012は重要語が0語である。
ステップS305において、埋め込み位置決定部105は文書中のどの位置に電子透かしを埋め込むかを決定する。ステップS305を図9のステップS902からステップS907に分けて示す。
ステップS902において、文書中の行または文ごとに重要語を計数する。文書中にある重要語の数もしくはレベル付けされた重要語のレベルの総和などによって重要部の重要度を決定する。以下、本実施例では重要部は文書中の行単位であるとする。
図10の例では、行1002において重要語数は1、行1007において重要語数は2、行1008において重要語数は1となり、行1001と行1003から行1006、行1009から行1012においては、重要語数は0となる。
次に、行同士でグルーピングを行い、重要部を決定する。重要部の決定方法であるが、先ず行1001から行1012の中で重要度の最も高い1行を選び、重要度が高い順に行を選択する。本実施例では重要部の最小単位は重要行の前後各1行を必ず含むようにし、3行を重要部の最小単位とする。図10では、行1007において重要語数が2なので最も重要度が高く、行1002と行1007において重要語数が1なので次いで重要度が高い。
次に選択した行についてグルーピングを行なう。図11は図10をグルーピングした例である。グルーピングした後の重要部は重要行の前後各1行を必ず含むようにし、3行を重要部の最小単位とする。これは、重要語を含む行より前の行で文が開始している場合や後ろの行で終了している場合、重要語を含む行のみに着目すると、本来の重要部をカバーできない。グルーピングの目的は、攻撃者が情報漏洩目的で文書の一部を切り取るとき、重要語を含む一文ないしは意味がわかる量の文字数を切り取るであろうという予測による。
行1007は重要語を1語含み、しかも周囲の行1008に重要語を1語含むので、重要部として行1007の前後1行である行1006と行1008の3行でグルーピングを行う。このグルーピングで作成された重要部が重要部1182である。行1002は重要語を1つ含み、しかも周囲の行1001と行1003に重要語を含まないので、重要部としてグルーピングしなくても良いし、行1007のように前後の行とグルーピングしても良い。
なお本実施例では、一般に1文は3行以下であることが多いために重要部は3行と設定したが、それに限られず、紙の大きさや文書のレイアウト(段組数)に応じてこの行数を増減させてよい。
ステップS904では、文書中の第n行目を中心とする重要部の累積重要度をAnとし、文書中の第n行の重要語数をその行の重要度Inとする。そして、前後各1行にも重要部が存在する場合は、累積重要度An=In−1+In+In+1をこの重要部の累積重要度とする。また、重要部の開始位置である第n−1行目と終了位置である第n+1行目を重要部範囲データ(n−1,n+1)を累積重要度AnとともにRAM1503もしくはHDD1504に記録される。
図11の例では、行1006(n=6)の重要語数は0、行1007(n=7)の重要語数は2、行1008(n=8)において重要語数は1であるため、それぞれ重要度は、I6=0,I7=2,I8=1である。そのため、行1007(第7行目)を中心とする重要部1182の累積重要度A7は、A7=I6+I7+I8=0+2+1=3となり、重要部範囲データは(6,8)となる。
同様に、行1002(第2行目)を中心とする重要部1181の累積重要度A2は、A2=I1+I2+I3=0+1+0=1となり、重要部範囲データは(1,3)となる。以上の結果、各重要部の累積重要度と重要部範囲データが生成され、このデータによって、各重要部の累積重要度および重要部の範囲が記録される。
ステップS905においては、重要部の順位付けを行う。図11の例では、重要部1181の累積重要度A2は1、重要部1182の累積重要度A7は3であるので、重要度順位としては、重要部1182が1位、重要部1181が2位となる。
ステップS906においては、ステップS303において求めた繰り返し単位行数が重要部の行数がよりも大きいかを判定する。小さい場合は重要部に全ての透かし情報を埋め込むことが可能なので、ステップS305へ進む。
ステップS907において、繰り返し単位行数が重要部の行数がよりも大きい場合、重要部同士で連結を行う。この連結は、繰り返し単位行数Mを超えるまで連結する必要がある。重要部として2箇所が検索された場合、重要行として2行が決定されたとする。この場合、第1の行を中心とした重要部の累積重要度Aiと、第2の行を中心とした重要部の累積重要度Ajを加算することによって累積重要度Am求める。また、連結後の重要部範囲データを、連結前の重要部範囲データの集合の和として求める。
図12の例では、行1002(第2行目)を中心とする重要部1181の累積重要度A2=1であり、重要部範囲データは(1,3)である。また、行1007(第7行目)を中心とする重要部1182の累積重要度A7=3であり、重要部範囲データは(6,8)である。この連結によって、重要部1181と重要部1182が連結した、累積重要度は4、重要部範囲データは(1,8)の連結重要部1291が生成される。
図3に戻って、ステップS306において、透かし情報生成部106はRAM1503の格納エリア1503bに格納されているテキストデータに対してワークエリア1503aにおいて各行の文字数Niから、対応するそれぞれの行の埋め込み可能容量Ciを求める。ここで、i=1,2,…nでiは文書の行数である。
文字の間隔を利用する場合はCi=(Ni−1)/2、文字の回転によって電子透かしを埋め込む場合はCi=Niで求める。この結果にもとづいて、埋め込みデータを格納する配列B1[C1],B2[C2],…,Bn[Cn]を生成し、すべてを−1で初期化する。
ステップS307において、透かし情報埋め込み部107はRAM1503の格納エリア1503bに格納されているテキストデータに対してワークエリア1503aにおいて透かし情報を埋めこむ。透かし情報を埋め込む規則としては様々なものが考えられるが、ここでは例として2つの埋め込み規則について説明する。しかし本実施形態は、この2つの埋め込み規則に限定されるものではない。
・埋め込み規則1
文字間の空白長を操作する方法で埋めこむ場合を埋め込み規則1とする。本実施例の埋め込み規則1では、2つの空白長Pk、Sk(0<k<n、nは埋め込み可能なビット数)を、埋め込みビット列の各ビットbkの値が0か1かに応じて変化させることで、埋め込みビット列、即ち複数もしくは一部の電子透かし情報を埋め込む。
文字間の空白長を操作する方法で埋めこむ場合を埋め込み規則1とする。本実施例の埋め込み規則1では、2つの空白長Pk、Sk(0<k<n、nは埋め込み可能なビット数)を、埋め込みビット列の各ビットbkの値が0か1かに応じて変化させることで、埋め込みビット列、即ち複数もしくは一部の電子透かし情報を埋め込む。
たとえば、全文字間隔が等しい場合、以下の式に従って文字間隔を変更する。埋め込みビット列のビットbkの値が0の場合、2つの空白長Pk、Skを以下の式に従ってPk’、Sk’に変化させる。
Pk’=(1−ρ)(Pk+Sk)/2
Sk’=(1+ρ)(Pk+Sk)/2
一方、埋め込みビット列のビットbkの値が1の場合、2つの空白長Pk、Skを以下の式に従ってPk’、Sk’に変化させる。
Pk’=(1+ρ)(Pk+Sk)/2
Sk’=(1−ρ)(Pk+Sk)/2
その結果、当該ビットが「1」の場合、Pk’>Sk’となるように変更され、当該ビットが「0」の場合、Pk’<Sk’となる。
Pk’=(1−ρ)(Pk+Sk)/2
Sk’=(1+ρ)(Pk+Sk)/2
一方、埋め込みビット列のビットbkの値が1の場合、2つの空白長Pk、Skを以下の式に従ってPk’、Sk’に変化させる。
Pk’=(1+ρ)(Pk+Sk)/2
Sk’=(1−ρ)(Pk+Sk)/2
その結果、当該ビットが「1」の場合、Pk’>Sk’となるように変更され、当該ビットが「0」の場合、Pk’<Sk’となる。
図5は文字間の空白長を操作する方法で埋めこむ場合のフローチャートであり、以下、図5を用いて詳細に説明する。
まず埋め込みデータが埋め込まれる先頭の文字が選択される(ステップS307a)。次に、埋め込みデータの先頭ビットが選ばれる(ステップS307b)。例えば、010111・・・という情報が埋め込みデータとして入力されていた場合、先頭の文字は「0」である。次に、埋め込まれる埋め込みデータのビットが「1」であるか否かが判断される(ステップS307c)。
その結果、当該ビットが「1」の場合(Yes)、Pk’>Sk’となるように変更する(ステップS307d)。もし変更しなくてもPk’>Sk’が成り立つならば移動をする必要はない。次に、当該ビットが「0」の場合(No)、Pk’<Sk’となるように変更する(ステップS307e)。もし変更しなくてもP<Sが成り立つならば移動をする必要はない。そして、当該ビットが末尾か否かが判断される(ステップS307f)。
その結果、最終ビットの場合(Yes)、埋め込みデータのビットの埋め込み処理を終了する。一方、まだ最終ビットではない場合(No)、ステップS307aに戻って埋め込みを続行する。
図16は、埋め込み後の外接矩形群の一部を示す図である。このようにして、k=n−1となるまで、埋め込みビット列の上位nビットを1行内に埋め込む。また埋め込み規則1では、2つの空白長を用いて1ビットの情報を埋め込むので、図16に例示するようなテキストに対しては、各行に埋め込み可能なビット数は、文字の間隔を利用する場合であるのでCi=(Ni−1)/2で求められる。
なお、夫々の空白長を変化させるためには様々な方法があり、例えば、外接矩形を移動させて空白長を変化させても良いし、外接矩形のサイズを変化させて空白長を変化させても良い。なお、外接矩形の位置やサイズの変化に応じて、外接矩形内の文字もそれに伴って変化するものとする。すなわち、外接矩形の位置が変化すれば、その外接矩形内の文字の位置もそれに伴って変化する。また、外接矩形のサイズが変化すれば、その外接矩形内の文字のサイズもそれに伴って変化する。
電子透かし情報を埋めこまれたテキストは、RAM1503の格納エリア1503bやHDD1504に格納される。
・埋め込み規則2
文字を傾けて埋め込む場合、埋め込みビット列の各ビット値が0か1かに応じて、外接矩形を右回り、左回りの何れかに微少に回転させる。これを埋め込み規則2とする。
文字を傾けて埋め込む場合、埋め込みビット列の各ビット値が0か1かに応じて、外接矩形を右回り、左回りの何れかに微少に回転させる。これを埋め込み規則2とする。
埋め込み規則2の場合、1つの外接矩形を用いて1ビットの情報を埋め込む。なお、外接矩形の回転に応じて、外接矩形内の文字もそれに伴って回転するものとする。そしてこのようにして、1行を構成する各外接矩形に対して埋め込みビット列の各ビットの値を埋め込む。なお、埋め込むビット値と回転方向は夫々、上述の説明と逆でも良い。
図7は、MPU1502が電子透かし情報を埋めこむ際の、埋め込み手順のフローチャートである。ステップS307において、まず情報を埋め込む文字矩形が選択される(ステップS307a−2)。次に、埋め込みデータの先頭文字が選択される(ステップS307b−2)。次に、埋め込みデータのビットが「1」であるか否かが判断される(ステップS307c−2)。
その結果、当該ビットが「1」の場合(Yes)、文字の傾斜を時計回りに変化させる(ステップS307d−2)。一方、当該ビットが「0」の場合(No)、文字の傾斜を反時計周りに変化させる(ステップS307e−2)。そして、当該埋め込みデータビットが埋め込みデータ配列の末尾か否かが判断される(ステップS307f−2)。
その結果、まだ埋め込みデータの末尾ではない場合(No)、ステップS307a−2に戻って次の文字矩形を選択する。一方、埋め込みデータの末尾の場合(Yes)、埋め込みデータのビットの埋め込み処理を終了する。電子透かし情報を埋めこまれたテキストは、RAM1503の格納エリア1503bやHDD1504に格納される。
なお、本実施例は実施例1と実施例2の2つの埋め込み規則に限定されるものではないし、それらを単独で使用しなくてはならないわけでもない。即ち、埋め込み規則1を使用した後に埋め込み規則2を使用するように、多種類の埋め込み規則を利用しても良い。
ステップS308において、MPU1502が透かし情報埋め込み部107で変更された電子透かし情報を埋めこまれたテキストを図1のテキスト出力部108より出力される。それによって、電子透かしが埋め込まれた文書や文書画像もしくはデータファイルが生成される。
出力はプリンタや複写機等といった出力装置1515によって紙文書としてプリント出力しても良いし、RAM1503やHDD1504に記憶させても良い。また、出力データをCDドライブ1509、DVDドライブ1510などのドライブ装置を通じてCD−ROMやDVD−ROMなどの記憶媒体へ記憶させても良い。もしくは、外付けHDDや大容量フラッシュメモリのような外部記憶装置1511へ記憶させても良い。またモニタ1506に表示しても良い。
本実施例の動作手順は、図14に示す画像処理装置のうち、例えばマウスやキーボードといった入力装置1514からの入力指示によってRAM1503にロードしたプログラムを、MPU1502などを用いて実行することによって実現できる。このとき、モニタ1506により実行状況や、その結果をモニタすることも可能である。
なお本実施形態では、スキャンやプリントを除く処理をコンピュータによって行っているが、スキャナやプリンタ内部の専用のハードウェア回路を用いて、コンピュータで行う処理を代行しても良い。また、例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等の複数の機器から構成されるシステムに適用しても良い。
<抽出技術>
図2は電子透かしを抽出する際の機能ブロック図である。テキスト取得部201は、電子透かし情報埋め込み済みテキストもしくはそのデータをコンピュータ1501に取り込む。テキスト取得部201の例としては、テキストから画像データもしくは文字データを読み込む画像読込装置1513が挙げられる。
図2は電子透かしを抽出する際の機能ブロック図である。テキスト取得部201は、電子透かし情報埋め込み済みテキストもしくはそのデータをコンピュータ1501に取り込む。テキスト取得部201の例としては、テキストから画像データもしくは文字データを読み込む画像読込装置1513が挙げられる。
その他にも、CD−ROMやDVD−ROMなどの記憶媒体に記憶されたテキストデータもしくは文書データをロードするCDドライブ1509、DVDドライブ1510などのドライブ装置や、外部HDDのような外部記憶装置1511が挙げられる。また、ロードされたテキストデータをRAM1503に格納する。
文字外接矩形抽出部202は、RAM1503に格納するテキストデータに対してMPU1502は各文字の外接矩形(文字外接矩形)を求める。ここで外接矩形とは、文字に外接する矩形であり、文字認識技術においては、実際に文字認識を行う領域を指す情報となる。テキスト部取得部101が生成する文字の位置データおよび文字コードデータのうち、文字の位置データを文字矩形情報として用いる。
各文字の外接矩形は、例えば以下のようにして求めることができる。先ず、抽出されたテキスト領域内において、各画素値を垂直座標軸に対して射影し、空白部分(黒色である文字のない部分)を探索して行を判別し、行分割を行う。その後、行毎に水平座標軸方向に対して射影を取り、空白部分を探索して文字単位に分割する。以上の操作により、各文字の外接矩形を求めることができる。
ビット列抽出部203は、RAM1503に格納するテキストデータに対してMPU1502がテキストに埋められた電子透かし情報となるビット列を抽出する。この際、電子透かしをビット列に変換する規則は、本実施例では文字間隔を利用する方法と、文字の傾きを利用する方法を説明している。
本実施例で用いる電子透かしの規則性はROM1505やHDD1504に格納されており、それをRAM1503にロードすることによってMPU1502はテキストに埋められたビット列を抽出する。
電子透かし情報抽出部204は、RAM1503に格納するテキストデータに対してビット列抽出部203より抽出したビット列から、MPU1502がヘッダー情報を検索し、電子透かし情報を取り出す。出力はプリンタや複写機等によって紙文書としてプリント出力しても良いし、RAM1503やHDD1504に記憶させても良い。
また、出力データをCDドライブ1509、DVDドライブ1510などのドライブ装置を通じてCD−ROMやDVD−ROMなどの記憶媒体へ記憶させても良い。もしくは、外付けHDDや大容量フラッシュメモリのような外部記憶装置1511へ記憶させても良い。
図4のフローチャートを用いて、本実施例での抽出技術を説明する。なお、電子透かし情報の埋め込み処理を行う装置と抽出を行う装置とは同一装置内で実現させても良いし、別個の装置で実現させても良い。本実施形態では同一装置内で実現させるが、夫々別個の装置で実現させる場合には、埋め込みを行った装置で生成された電子透かし情報埋め込み済みテキストと電子透かし情報のビット長を表すデータを、電子透かし情報の抽出を行う装置に対して入力する必要がある。
先ず、テキスト取得部201はMPU1502が電子透かし情報を抽出する際に、テキスト部取得部101が行った処理と同様にして、入力された電子透かし情報埋め込み済み文書もしくは文書画像に対して、テキスト領域の抽出を行う(ステップS401)。
次に文字外接矩形抽出部202は電子透かし情報埋め込み済みテキストにおいてテキスト取得部201によって抽出されたテキスト領域から、各文字の外接矩形(文字外接矩形)を求める(ステップS402)。
ここで、テキスト取得部201に入力される文書画像は電子透かし情報の埋め込み対象となるものであり、印刷物を画像読込装置1513などから入力し、それをビットマップ化したものでも良い。入力の形態は例えばCD−ROMやDVD−ROMなどの記録媒体を用いて抽出装置に入力しても良いし、インターネットなどのネットワークを介して入力しても良いし、一般の文書エディタを利用して作成された電子データでも良い。
また、HDD1504やCDドライブ1509、DVDドライブ1510、外部記憶装置1511からRAM1503にロードされる種々の電子データを画像処理ソフトなどによって変換し、ビットマップ化したものでも良い。また、このテキストの形態は上記に限定されるものではない。
例として、埋め込み規則で用いた実施例を使用し、2つの抽出規則について説明する。抽出規則としては様々なものが考えられるが、この2つの抽出規則に限定されるものではない。
1.文字の間隔操作による抽出
図6は、MPU1502が文字間隔を利用した電子透かし情報を抽出する際の、ビット列抽出部203の処理手順を記したフローチャートである。まず、抽出対象文字矩形が選択される(ステップS402a)。次に、文字矩形パラメータの比較を行う(ステップS402b)。もしPk>Sk、即ちPkの法が、文字間隔が大きければ抽出データを「1」と判断し(ステップS402c)、Pk<Sk、即ちPkの方が、文字間隔が小さければ抽出データを「0」と判断する(ステップS402d)。つぎに、選択した文字矩形が最終文字矩形であれば(ステップS402eでYes)、終了し、NoであればステップステップS402aに戻り処理を継続する。
図6は、MPU1502が文字間隔を利用した電子透かし情報を抽出する際の、ビット列抽出部203の処理手順を記したフローチャートである。まず、抽出対象文字矩形が選択される(ステップS402a)。次に、文字矩形パラメータの比較を行う(ステップS402b)。もしPk>Sk、即ちPkの法が、文字間隔が大きければ抽出データを「1」と判断し(ステップS402c)、Pk<Sk、即ちPkの方が、文字間隔が小さければ抽出データを「0」と判断する(ステップS402d)。つぎに、選択した文字矩形が最終文字矩形であれば(ステップS402eでYes)、終了し、NoであればステップステップS402aに戻り処理を継続する。
2.文字の傾き操作の抽出
図8は、MPU1502が文字の傾きを利用した電子透かし情報を抽出する際の、ビット列抽出部203の処理手順を記したフローチャートである。まず、抽出対象文字矩形が選択される(ステップS402a−2)。次に、選択した文字矩形の重心を算出する(ステップS402b−2)。次に、選択した文字矩形が時計回りに回転しているか判定する(ステップS402c−2)。もし時計回りに回転していれば、抽出データを「1」として記憶する(ステップS402d−2)。もし判時計回りに回転しているならば、抽出データを「0」として記憶する(ステップS402e−2)。選択されている文字矩形について、電子透かしの抽出が完了したら、検証画像にまだ処理すべき文字矩形が残っていないかどうか判定する(ステップS402f−2)。もしまだ残っている場合(ステップS402f−2においてNo)、ステップS402aに戻る。文書の終わりに達している場合(ステップS402f−2においてYes)、抽出された「0」と「1」の値を抽出データとして終了する。
図8は、MPU1502が文字の傾きを利用した電子透かし情報を抽出する際の、ビット列抽出部203の処理手順を記したフローチャートである。まず、抽出対象文字矩形が選択される(ステップS402a−2)。次に、選択した文字矩形の重心を算出する(ステップS402b−2)。次に、選択した文字矩形が時計回りに回転しているか判定する(ステップS402c−2)。もし時計回りに回転していれば、抽出データを「1」として記憶する(ステップS402d−2)。もし判時計回りに回転しているならば、抽出データを「0」として記憶する(ステップS402e−2)。選択されている文字矩形について、電子透かしの抽出が完了したら、検証画像にまだ処理すべき文字矩形が残っていないかどうか判定する(ステップS402f−2)。もしまだ残っている場合(ステップS402f−2においてNo)、ステップS402aに戻る。文書の終わりに達している場合(ステップS402f−2においてYes)、抽出された「0」と「1」の値を抽出データとして終了する。
ステップS404において、電子透かし情報抽出部204は、上記処理で得られた抽出データからヘッダー情報を検出し、電子透かし情報を取り出す。ヘッダー情報の検出は、抽出データと検出したいヘッダー情報との内積値を算出し、ピークが立つ位置をヘッダーの開始位置とする方法など、通常のパターンマッチングを用いればよい。なお、もし3個以上の透かし情報が得られた場合、多数決等によって最終的な電子透かし情報を決定すればよい。
<第2の実施例>
第2の実施例は、実施例1で用いたハードウェア構成を用いて、RAM1503に図3のステップS305の詳細な手順が図9フローチャートの代わりに図13のフローチャートに変更したプログラムを用いる。これは、第1の実施例では図11のように重要部の最小単位は重要行の前後各1行を必ず含め、3行を重要部の最小単位としたが、本実施例ではより精度を上げるために、文の検索を行った後に文単位で電子透かしを埋めこむ。
第2の実施例は、実施例1で用いたハードウェア構成を用いて、RAM1503に図3のステップS305の詳細な手順が図9フローチャートの代わりに図13のフローチャートに変更したプログラムを用いる。これは、第1の実施例では図11のように重要部の最小単位は重要行の前後各1行を必ず含め、3行を重要部の最小単位としたが、本実施例ではより精度を上げるために、文の検索を行った後に文単位で電子透かしを埋めこむ。
図13のステップS305bからステップS305hは本実施例での図3のフローチャートのステップS305に当たる。
図10をステップS304とステップS305bについての概念図として再び用いる。行1001から行1012は文章中の1行であり、重要語1051から重要語1054は文章中にある重要語であるとする。
この場合、行1001においては重要語が0語あるのに対し、行1002においては重要語1051が1つあるため、行1002に重要語は1語ある。また、行1002から行1006までは重要語が0語であるのに対し、行1007においては重要語1052と重要語1053の2つあるため、行1007に重要語は合計2語ある。行1008も重要語1054があるため、重要語が1語ある。そして行1009から行1012は重要語が0語である。
次にステップS902において、文書中の行または文ごとに重要語を計数する。文書中にある重要語の数もしくはレベル付けされた重要語のレベルの総和などによって重要部の重要度を決定する。以下、本実施例では重要部は文書中の行単位であるとする。
図10では、行1002において重要語数は1、行1007において重要語数は2、行1008において重要語数は1となり、行1001と行1003から行1006、行1009から行1012においては、重要語数は0となる。
実施例1では図11のように、次に重要部をグルーピングした(ステップS902)。しかし本実施例では先ず重要度の最も高い1行を選び、重要度が高い順に文書中の行を順位付けする。そして最重要とされた1行を抜き出す(ステップS305b)
次に、ステップS305cにおいては、ステップS305bにて重要とされた行において句点の検索を行う。電子文書の作成の際には、句点の文字コードによって容易に句点が検索可能である。ステップS305bにて重要とされた行において、句点がある場合は1行中に複数の文が存在すると判断してステップS305dへ、句点が無い場合は行中に1文しか存在しないと判断してステップS305gへと進む。
ステップS305dにおいては、電子透かし埋め込みが複数の文に渡って良いかを判断する。判断は埋め込み時にユーザからの指定によっても良いし、予め複数の文に渡って良いか決めていても良い。もし指定の場合は、その都度ユーザに指定させても良いし、埋めこむ前に一括で指定しても良い。
複数の文に渡って埋め込んで良い場合は、ステップS305gへ、複数の文に渡って埋め込むことに不都合がある場合は、ステップS305eへと進む。
ステップS305eにおいて、ステップS305dにおいて複数の文に渡って埋め込むことが不都合であるとされているので、埋めこむ1文を選択する必要がある。重要語が句点の前後どちらかにあるか判断するか、埋めこむ1文を指定する。判断方法は、重要部の多数決でも前後の行の重要度を考慮しても良い。
ステップS305fにおいて、ステップS305eにおける判断に基づいて電子透かしを埋めこむ1文を決定する。決定した後にステップS305gへ進む。
ステップS305gにおいて、ステップS305bにて抽出された重要行の前後の行において句点が存在するかを検索し、前後の行に句点が無い場合は更に前後の行を検索する。この際、ステップS305fを経由してきた場合は埋めこむ文に応じて前後どちらのみ検索する。
ステップS305gにおける検索の際には、段落の最初や最後の場合を判断して前後のどちらかのみ検索しても良いし、特定の複数行に渡って検索しても良いし、全文について句点検索をしても良い。その後に重要文の前後の句点、即ち重要文の前の文が終わる句点と、重要文が終わる句点の位置を把握する。本実施例では1文として説明しているが、この重要文は1文である必要は無く、設定によってユーザが任意に設定可能である。
ステップS305hにおいては、ステップS305gにて検索された句点を利用して埋めこむ文を決定する。ステップS305gにおいて句点は検索されているので、埋めこむ位置を決定する。
1文に埋めこむ場合(ステップS305dを通過していない場合)、文の前後の句点が検索されているので、前の句点の1文字後の文字を文の先頭の文字とし、文の最後の句点の1文字前の文字が文の最後の文字であると決定することができる。
2文以上に渡って埋めこむ場合は、例えば埋めこむ複数の文の中に句点が複数個検索されている。検索されている句点のうち文書中で最も前の句点の1文字後の文字を埋め込む文の先頭の文字とし、文書中で最も後の句点の1文字前を文の最後の文字であると決定することができる。
なお、1文に埋めこむ場合においても2文以上に渡って埋めこむ場合においても、重要文よりも埋め込み情報が長い場合は、前後の文と連結して複数文に渡って埋め込んでも良い。
なお、全文の句点を検索する場合は重要の前後の句点を検索することによって埋め込み位置を特定する。また、句点検索をした後に、実施例1のように電子透かしを埋めこむ単位を行単位にしても良い。即ち、重要文が始まる行の先頭の文字から重要文が終わる最後の文字まで電子透かしを埋め込むことも可能である。
また、埋め込み位置の開始位置もしくは終了位置のどちらか一方を行単位、もう一方を文単位にしてもよい。例えば、埋め込み開始位置は重要文の先頭の文字からとして、埋め込み終了の文字を文の最後の文字ではなく、文の最後の文字がある行の最後の文字としても良い。
<その他の実施例>
第1の実施例では重要語の数によって重要度を決定していたが、重要語自身の重要度も用いてランク付けを行ってもよい。先ず、重要語リスト上の各重要語に重要度Wi(i=1,2,…)をあわせて登録しておく。実施例1のステップS304の重要語検索処理の際に、行ごとに重要度を決定を、第n行の重要語数と重要度Wiにもとづいて第n行の重要度In’を、In=Wi*(重要語の個数)と求め、ステップS304以下においてInの代わりにIn’を使用しても良い。
第1の実施例では重要語の数によって重要度を決定していたが、重要語自身の重要度も用いてランク付けを行ってもよい。先ず、重要語リスト上の各重要語に重要度Wi(i=1,2,…)をあわせて登録しておく。実施例1のステップS304の重要語検索処理の際に、行ごとに重要度を決定を、第n行の重要語数と重要度Wiにもとづいて第n行の重要度In’を、In=Wi*(重要語の個数)と求め、ステップS304以下においてInの代わりにIn’を使用しても良い。
また、登録した重要語が増えると重要部と判定される部分が増えるため、重要度に閾値を設け、ある程度重要部に埋め込んだらそれ以外は残りとして埋め込むという変形も可能である。その場合、閾値は行ごとの重要度(第1の実施例のIn)や重要部の累積重要度Anに設定すればよい。
累積重要部に閾値を設けた場合、ステップS304とステップS305の処理で得られた重要部を、累積重要度Ai(i=1,2,…,重要部の個数)の降順に整列する。その後に累積重要部が閾値以上の重要部のみに対して、ステップS304とステップS305の処理を行う。
また、電子透かしの埋め込み強度を一定ではなく、重要度の高い部分には、埋め込み強度を強くして埋め込み、重要度の低い部分には埋め込み強度を弱くして埋め込むことも可能である。
埋め込み強度とは、文字の間隔を操作する電子透かしの場合、文字矩形の移動量になる。また、文字の傾きを操作する電子透かしの場合、傾きの角度となる。本当に守りたい部分に強く埋め込んで切り取り耐性を向上し、それ以外はいたずらに画質を悪化させない効果が得られる。
また、文書の画質を保つために本当に守りたい部分のみに埋め込むという工夫も可能である。その結果、処理も早くなり、画質を低下させない。例えば、重要度Wiの下限を使用者が設定できるようにし、閾値以上の部分についてのみ埋めこめばよい。
Claims (15)
- 文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記電子透かしを埋め込むための前記語句を含む文字列を決定する決定手段と、
前記決定手段によって決定された前記文書中の文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置。 - 文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記語句を含む文字列から前記電子透かしを埋め込む行を決定する決定手段と、
前記決定手段によって決定された前記文書中の行に該当する文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置。 - 前記決定手段は、前記検索手段によって検索された語句の前記文書中の行の個数に基づいて前記電子透かしを埋めこむ行を決定し、更に前記行の前後の行を含めた3行に前記電子透かしを埋め込むことを決定する決定手段であることを特徴とした請求項1または2に記載の画像処理装置。
- 前記決定手段は、前記電子透かしとして埋めこむ情報が前記行よりも長くなる場合は、前記検索手段によって検索された語句の前記文書の行ごとの個数に基づいて前記電子透かしを埋めこむ第1の行と第2の行を決定し、前記第1の行の前の行から前記第2の行の後の行まで前記電子透かしを埋め込むことを決定する決定手段であることを特徴とした請求項3に記載の画像処理装置。
- 文書に情報を電子透かしとして埋めこむ画像処理装置であって、
前記文書に含まれる語句を検索する検索手段と、
前記検索手段の結果に基づいて、前記語句を含む文字列から前記電子透かしを埋め込む文を決定する決定手段と、
前記決定手段によって決定された前記文書中の文に該当する文字列に前記電子透かしを埋めこむ埋め込み手段とを有する画像処理装置。 - 前記決定手段は、前記検索手段によって検索された語句の前記文書中の行ごとの個数に基づいて前記電子透かしを埋めこむ行を決定し、前記行に句点が含まれていない場合は前記行の前後の行から句点を検索することによって前記電子透かしを埋め込む文の先頭と最後を決定することを特徴とした請求項1または2または5に記載の画像処理装置。
- 前記決定手段は、前記検索手段によって検索された語句の前記文書中の行ごとの個数に基づいて前記電子透かしを埋めこむ行を決定し、前記埋めこむ行に句点が含まれている場合、複数の文に渡って前記電子透かしを埋め込むことが許される場合は、前記検索手段によって決定された前記行の前後の行から句点を検索することによって、前記電子透かしを埋め込む前記複数の文を決定することを特徴とした請求項1または5に記載の画像処理装置。
- 前記決定手段は、前記検索手段によって検索された語句の前記文書中の行ごとの個数に基づいて前記電子透かしを埋めこむ行を決定し、前記埋めこむ行に句点が含まれている場合、複数の文に渡って前記電子透かしを埋め込むことが許されない場合は、前記検索手段によって検索された語句の個数に基づいて前記電子透かしを埋めこむ文を決定し、前記行の前もしくは後の行から句点を検索することによって、前記電子透かしを埋め込む前記複数の文を決定することを特徴とした請求項1または5に記載の画像処理装置。
- 前記決定手段は、前記電子透かしとして埋めこむ情報が前記文よりも長くなる場合は、前記検索手段によって検索された語句の行ごとの個数に基づいて前記電子透かしを埋めこむ第1の行と第2の行を決定し、前記第1の行に含まれる文の先頭から前記第2の行に含まれる文の終わりまでに前記電子透かしを埋めこむ位置と決定することを特徴とした請求項5乃至8の何れか1項に記載の画像処理装置。
- 前記決定手段は、前記検索手段によって検索された前記語句の個数を前記文書中の行ごとに算出することによって前記電子透かしを埋め込む位置を決定する決定手段であることを特徴とする請求項1乃至9の何れか1項に記載の画像処理装置。
- 前記決定手段は、前記検索手段によって検索された複数の前記語句にレベルを付し、前記文書中の各々の行について前記語句のレベルと前記語句の個数の積の総和によって前記電子透かしを埋め込む位置を決定する決定手段であることを特徴とする請求項1乃至10の何れか1項に記載の画像処理装置。
- 前記決定手段は、前記文書中の各々の行について前記検索手段によって検索された語句によって埋めこむ順位付けをすることによって前記電子透かしを埋め込む位置を決定する決定手段であることを特徴とする請求項1乃至11の何れか1項に記載の画像処理装置。
- 文書に情報を電子透かしとして埋めこむ画像処理方法であって、
前記文書に含まれる語句を検索する検索工程と、
前記検索工程の結果に基づいて、前記電子透かしを埋め込むための前記検索された語句を含む文字列を決定する決定工程と、
前記決定工程によって決定された前記文書中の文字列に前記電子透かしを埋めこむ埋め込み工程とを有する画像処理方法。 - 請求項13に記載の画像処理方法をコンピュータに実行させるためのプログラム。
- 請求項13に記載の画像処理方法をコンピュータに実行させるためのプログラムを格納した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008165070A JP2010010835A (ja) | 2008-06-24 | 2008-06-24 | 画像処理装置及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008165070A JP2010010835A (ja) | 2008-06-24 | 2008-06-24 | 画像処理装置及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010010835A true JP2010010835A (ja) | 2010-01-14 |
Family
ID=41590845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008165070A Pending JP2010010835A (ja) | 2008-06-24 | 2008-06-24 | 画像処理装置及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010010835A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102496137A (zh) * | 2011-12-16 | 2012-06-13 | 方正国际软件有限公司 | 动态生成水印的方法及装置 |
WO2015132900A1 (ja) * | 2014-03-05 | 2015-09-11 | 株式会社島津製作所 | 情報表示処理装置及び情報表示処理装置の制御プログラム |
-
2008
- 2008-06-24 JP JP2008165070A patent/JP2010010835A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102496137A (zh) * | 2011-12-16 | 2012-06-13 | 方正国际软件有限公司 | 动态生成水印的方法及装置 |
CN102496137B (zh) * | 2011-12-16 | 2013-12-25 | 方正国际软件有限公司 | 动态生成水印的方法及装置 |
WO2015132900A1 (ja) * | 2014-03-05 | 2015-09-11 | 株式会社島津製作所 | 情報表示処理装置及び情報表示処理装置の制御プログラム |
JPWO2015132900A1 (ja) * | 2014-03-05 | 2017-03-30 | 株式会社島津製作所 | 情報表示処理装置及び情報表示処理装置の制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4343968B2 (ja) | 画像形成装置及び方法 | |
JP2010073114A (ja) | 画像情報検索装置、画像情報検索方法およびそのコンピュータプログラム | |
JP2010073114A6 (ja) | 画像情報検索装置、画像情報検索方法およびそのコンピュータプログラム | |
JP4194462B2 (ja) | 電子透かし埋め込み方法、電子透かし埋め込み装置、及びそれらを実現するプログラム並びにコンピュータ可読記憶媒体 | |
EP1973329B1 (en) | Image processing apparatus and image processing method | |
CN1877578A (zh) | 文档检索装置及方法 | |
US8416464B2 (en) | Document processing apparatus and document processing method | |
JP2007156619A (ja) | 印刷処理システム、印刷処理方法及びプログラム | |
JP2006025129A (ja) | 画像処理システム及び画像処理方法 | |
JP2008312139A (ja) | 印刷装置及び印刷方法 | |
JP2011065255A (ja) | データ処理装置、データ名生成方法及びコンピュータプログラム | |
JP2010010835A (ja) | 画像処理装置及び画像処理方法 | |
JP3919656B2 (ja) | 電子透かし埋め込み装置、電子透かし埋め込み方法、電子透かし抽出装置、電子透かし抽出方法 | |
CN109800547B (zh) | 一种用于word文档保护和分发跟踪的信息快速嵌入和提取的方法 | |
JP2009060230A (ja) | 画像形成装置及び画像形成装置の制御方法並びにそのプログラム及び記憶媒体 | |
JP3728209B2 (ja) | 画像処理方法及び装置及びコンピュータプログラム及び記憶媒体 | |
JP2009278181A (ja) | 電子透かし情報埋め込み装置及び方法、並びに、電子透かし情報抽出装置及び方法 | |
JP2004247883A (ja) | 画像処理方法 | |
JP2010108296A (ja) | 情報処理装置、情報処理方法 | |
JP3516609B2 (ja) | 文字情報加工編集装置、および文字情報加工編集プログラムを記録した記録媒体 | |
JP3703445B2 (ja) | 電子透かし埋め込み装置、電子透かし抽出装置、及びそれらの方法 | |
JP2004334340A (ja) | 画像処理方法及び装置 | |
JP7358838B2 (ja) | 情報処理装置、及び情報処理プログラム | |
JP2005253004A (ja) | 情報処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
KR100485554B1 (ko) | 화상 처리 장치, 화상 처리 방법, 및 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100201 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100630 |