(57)【要約】【課題】行間透かしを用いた文書画像から埋め込まれた情報を高精度に抽出する。【解決手段】文書画像を画像データとして入力する入力手段と、入力した画像データの水平画素数をＷ０、垂直画素数をＨ０としたとき、少なくとも水平画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小手段と、縮小画像データを垂直方向に走査して、平均文字高さを検出する検出手段と、検出された平均文字高さが予め設定された許容範囲内にある場合には縮小画像データを、許容範囲外にある場合には縮小画像データを平均文字高さと許容範囲に基づき垂直方向に変倍したデータを、透かし抽出対象画像データとして出力する縮小画像補正手段と、透かし抽出対象画像データを走査し透かし情報を抽出する透かし情報抽出手段と、を備える。【選択図】図１０
2008301281.tif 000002
【特許請求の範囲】
【請求項１】
文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置であって、
文書画像を画像データとして入力する入力手段と、
入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小手段と、
前記画像縮小手段で生成された前記縮小画像データを前記第２の方向に走査して、前記画像データにおける平均文字高さを検出する検出手段と、
前記検出手段により検出された平均文字高さが予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記平均文字高さが前記許容範囲外にある場合には、前記縮小画像データを前記平均文字高さと前記許容範囲に基づき前記第２の方向に変倍し、変倍後の画像データを透かし抽出対象画像データとして出力する縮小画像補正手段と、
前記縮小画像補正手段から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
更に、
前記情報抽出手段で有効な文字列行間隔が検出されなかった場合、前記画像データから少なくとも前記第２の方向の画素数がＨ１（１＜Ｈ１＜Ｈ０）に縮小された第２の縮小画像データを生成する第２の画像縮小手段と、
前記第２の画像縮小手段で生成された前記第２の縮小画像データを前記第１の方向に走査して、前記画像データにおける平均文字高さを検出する第２の検出手段と、
前記第２の検出手段により検出された平均文字高さが前記許容範囲内にある場合には、前記第２の縮小画像データを第２の透かし抽出対象画像データとして出力し、前記平均文字高さが前記許容範囲外にある場合には、前記第２の縮小画像データを前記平均文字高さと前記許容範囲に基づき前記第１の方向に変倍し、変倍後の画像データを第２の透かし抽出対象画像データとして出力する第２の縮小画像補正手段と、
前記第２の縮小画像補正手段から出力された前記第２の透かし抽出対象画像データを前記第１の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する第２の透かし情報抽出手段と、
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置であって、
文書画像を画像データとして入力する入力手段と、
入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小手段と、
前記画像縮小手段で生成された前記縮小画像データを前記第１の方向に走査して、前記画像データにおける文字列幅を検出する検出手段と、
前記検出手段により検出された文字列幅が予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記文字列幅が前記許容範囲外にある場合には、前記文字列幅に基づいて決定された縮小率に基づいて前記画像データを前記画像縮小手段により縮小し得られたデータを透かし抽出対象画像データとして出力する縮小画像補正手段と、
前記縮小画像補正手段から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出手段と、
を備えることを特徴とする画像処理装置。
【請求項４】
更に、
前記情報抽出手段で有効な文字列行間隔が検出されなかった場合、前記画像データから少なくとも前記第２の方向の画素数がＨ１（１＜Ｈ１＜Ｈ０）に縮小された第２の縮小画像データを生成する第２の画像縮小手段と、
前記第２の画像縮小手段で生成された前記第２の縮小画像データを前記第１の方向に走査して、前記画像データにおける文字列幅を検出する第２の検出手段と、
前記第２の検出手段により検出された文字列幅が前記許容範囲内にある場合には、前記第２の縮小画像データを第２の透かし抽出対象画像データとして出力し、前記文字列幅が前記許容範囲外にある場合には、前記文字列幅に基づいて決定された縮小率に基づいて前記画像データを前記第２の画像縮小手段により縮小し得られたデータを第２の透かし抽出対象画像データとして出力する第２の縮小画像補正手段と、
前記第２の縮小画像補正手段から出力された前記第２の透かし抽出対象画像データを前記第１の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する第２の透かし情報抽出手段と、
を備えることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、
文書画像を画像データとして入力する入力工程と、
入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小工程と、
前記画像縮小工程で生成された前記縮小画像データを前記第２の方向に走査して、前記画像データにおける平均文字高さを検出する検出工程と、
前記検出工程により検出された平均文字高さが予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記平均文字高さが前記許容範囲外にある場合には、前記縮小画像データを前記平均文字高さと前記許容範囲に基づき前記第２の方向に変倍し、変倍後の画像データを透かし抽出対象画像データとして出力する縮小画像補正工程と、
前記縮小画像補正工程から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項６】
文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、
文書画像を画像データとして入力する入力工程と、
入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小工程と、
前記画像縮小工程で生成された前記縮小画像データを前記第１の方向に走査して、前記画像データにおける文字列幅を検出する検出工程と、
前記検出工程により検出された文字列幅が予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記文字列幅が前記許容範囲外にある場合には、前記文字列幅に基づいて決定された縮小率に基づいて前記画像データを再び前記画像縮小工程により縮小し、得られたデータを透かし抽出対象画像データとして出力する、縮小画像補正工程と、
前記縮小画像補正工程から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項７】
請求項５または請求項６に記載の画像処理装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書画像中の文字列の行間隔に基づき当該文書画像に埋め込まれた透かし情報を抽出する画像処理技術に関するものである。
【背景技術】
【０００２】
文書画像に著作権や複写制御等の情報を持たせるため、非特許文献１の１９８ページ〜１９９ページの記載に示されるように、行間隔を利用して情報を埋め込む方法（以下、行間透かしと呼ぶ。）が知られている。図２は、行間透かしの概念を示す図である。行間透かしを用いた文書画像から埋め込まれた情報を抽出する場合には、まず当該文書画像内の文字列間の行間隔を求めることになる。行間隔を求めるため、一般的には文書画像に対して全走査を行いヒストグラムを求め、当該ヒストグラムから行間隔を導出する。そして、導出された行間隔と埋め込み時に使用した規則とに従って情報を抽出する。規則とは、例えば、図２に示すように、２値情報の「０」を埋め込みたい場合は行間隔Ｕ，Ｄに対しＵ＞Ｄとなるよう設定することである。一方、２値情報の「１」を埋め込みたい場合は行間隔Ｕ，Ｄに対しＵ＜Ｄとなるよう設定する。
【非特許文献１】松井甲子雄著  「電子透かしの基礎」  森北出版株式会社  １９９８年
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述の行間透かしを用いた文書画像から埋め込まれた情報を抽出する方法においては以下の問題点がある。すなわち、行間隔を測定するために、文書画像に対して全走査を行い、ヒストグラムを求める必要があり、情報抽出処理に時間がかかる。特に埋め込む情報が複製制御情報の場合、複写機内で複写制御情報を抽出し、抽出した情報から複写可能か否かの判断を行い、その後、複写処理を行うため、一枚の文書を複写する一連の処理にかなりの時間を有することになる。また、入力された文書画像の文字列方向と走査方向が傾いているとヒストグラムから行間隔を導出できない。そのため、文書画像を入力しなおすか、あるいは入力された文書画像に対し回転操作等の画像処理を行うなどの煩雑な操作が必要があった。また、入力された文書画像の文字の大きさ（解像度）などによっては情報抽出処理を実行できず、文書画像を入力しなおす必要があった。
【課題を解決するための手段】
【０００４】
上述の問題点の少なくとも１つを解決するため、本発明の画像処理装置は以下の構成を備える。すなわち、文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置であって、文書画像を画像データとして入力する入力手段と、入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小手段と、前記画像縮小手段で生成された前記縮小画像データを前記第２の方向に走査して、前記画像データにおける平均文字高さを検出する検出手段と、前記検出手段により検出された平均文字高さが予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記平均文字高さが前記許容範囲外にある場合には、前記縮小画像データを前記平均文字高さと前記許容範囲に基づき前記第２の方向に変倍し、変倍後の画像データを透かし抽出対象画像データとして出力する縮小画像補正手段と、前記縮小画像補正手段から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出手段と、を備える。
【０００５】
あるいは、文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置であって、文書画像を画像データとして入力する入力手段と、入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小手段と、前記画像縮小手段で生成された前記縮小画像データを前記第１の方向に走査して、前記画像データにおける文字列幅を検出する検出手段と、前記検出手段により検出された文字列幅が予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記文字列幅が前記許容範囲外にある場合には、前記文字列幅に基づいて決定された縮小率に基づいて前記画像データを前記画像縮小手段により縮小し得られたデータを透かし抽出対象画像データとして出力する縮小画像補正手段と、前記縮小画像補正手段から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出手段と、を備える。
【０００６】
上述の問題点の少なくとも１つを解決するため、本発明の画像処理装置の制御方法は以下の構成を備える。すなわち、文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、文書画像を画像データとして入力する入力工程と、入力した前記画像データの第１の方向の画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも前記第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小工程と、前記画像縮小工程で生成された前記縮小画像データを前記第２の方向に走査して、前記画像データにおける平均文字高さを検出する検出工程と、前記検出工程により検出された平均文字高さが予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記平均文字高さが前記許容範囲外にある場合には、前記縮小画像データを前記平均文字高さと前記許容範囲に基づき前記第２の方向に変倍し、変倍後の画像データを透かし抽出対象画像データとして出力する縮小画像補正工程と、前記縮小画像補正工程から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出工程と、を備える。
【０００７】
あるいは、文書画像を入力し、当該文書画像中の文字列の行間隔から、埋め込まれた透かし情報を抽出する画像処理装置の制御方法であって、文書画像を画像データとして入力する入力工程と、入力した前記画像データの第１の方向画素数をＷ０、前記第１の方向と直交した第２の方向の画素数をＨ０としたとき、前記画像データから少なくとも第１の方向の画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小された縮小画像データを生成する画像縮小工程と、前記画像縮小工程で生成された前記縮小画像データを前記第１の方向に走査して、前記画像データにおける文字列幅を検出する検出工程と、前記検出工程により検出された文字列幅が予め設定された許容範囲内にある場合には、前記縮小画像データを透かし抽出対象画像データとして出力し、前記文字列幅が前記許容範囲外にある場合には、前記文字列幅に基づいて決定された縮小率に基づいて前記画像データを再度前記画像縮小工程により縮小し得られたデータを透かし抽出対象画像データとして出力する縮小画像補正工程と、前記縮小画像補正工程から出力された前記透かし抽出対象画像データを前記第２の方向に走査し、各文字列行間隔を検出し、透かし情報を抽出する透かし情報抽出工程と、を備える。
【発明の効果】
【０００８】
本発明によれば、文書画像中の文字列の行間隔に基づいて文書画像に埋め込まれた透かし情報をより効率的に抽出可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１０】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、紙の文書原稿を画像読取装置（スキャナ）で読み込み、読み込んだ文書画像データに対し透かし情報の抽出を行う画像処理装置を例に挙げて以下に説明する。
【００１１】
＜装置構成＞
図１は、第１実施形態における画像処理装置１１の主要な機能構成を示すブロック図である。図１に示すように、画像処理装置１１は、画像入力部１０１、画像縮小部１０２、情報抽出部１０３、サイズ判定部１０４、制御部１１０、操作部１１１から構成される。
【００１２】
画像入力部１０１は、上述の透かし情報の埋め込まれた文書画像に対応する画像データを入力する機能部である。具体的には、外部のスキャナにより読み取られ生成された紙の文書原稿に基づいた画像データをＵＳＢなどの外部機器接続用インタフェースにより入力する。もちろん、イーサネット（登録商標）などのネットワークを介して画像データを入力するよう構成してもよい。
【００１３】
画像縮小部１０２は、画像入力部１０１により入力された画像データに対し、第１の方向（たとえば画像の水平方向）と、第１の方向と直交する第２の方向（たとえば画像の垂直方向）へそれぞれ縮小する機能部である。入力された画像データがビットマップ（ラスタ）形式である場合、一般的には、上述の第１および第２の方向は画像データを構成する画素の配列方向と一致する。なお、ここでは直交する２つの方向に縮小する構成であると説明したが、後述するように、１つの方向のみに縮小する構成としてもよい。
【００１４】
サイズ判定部１０４は、画像データ内に存在するオブジェクトのサイズが予め指定された範囲内であるか否かを判定する機能部である。具体的には、画像データを走査して得られる有意画素の連続数が、予め指定された連続数の範囲であるか否かを判定する。
【００１５】
情報抽出部１０３は、画像縮小部１０２により生成された縮小画像データから、透かし情報に対応するバイナリ（２値）情報を抽出する機能部である。具体的には、画像縮小部１０２により生成された縮小画像データに対し、有意画素の有無を検出することにより実行される。そして、有意画素が検出された部分を文字列領域として判定し、有意画素が検出されない領域を行間部分として判定する。そして、行間部分として判定された複数の行間それぞれに対応する長さ（連続する画素数）に基づいて、各行間に対応する２値（０または１）を決定する。なお、行間部分の長さと２値との対応や情報量（ビット数）などの、透かし情報の埋め込みアルゴリズムについては、予め情報抽出部１０３に設定されているものとする。
【００１６】
制御部１１０は、上述の各機能部が連係して動作するよう制御するための機能部である。また、操作部１１１はユーザからの指示を受け付けるための機能部である。なお、上述の各機能部の動作の詳細については後述する。
【００１７】
＜透かし情報の埋め込まれた画像データ＞
第１実施形態では、透かし情報の埋め込みアルゴリズムは以下の通りであるとして説明する。もちろん、文字列の行間隔に基づいて透かし情報を埋め込むものであれば、他のアルゴリズムであっても適用可能である。
【００１８】
図２は、透かし情報が埋め込まれた文書原稿を例示的に示す図である。図２においては、白色の用紙に黒色で文字が記録されている。また、複数の行からなる文字列のそれぞれの間隔（行間隔）についてＵ，Ｄの２種類を用いて、２値情報を埋め込んでいる。具体的には、連続する２つの行間（ＵｎおよびＤｎ：ｎは自然数）に対して、以下のように行間を設定する。
【００１９】
「０」を埋め込む場合：  Ｕｎ＞Ｄｎ
「１」を埋め込む場合：  Ｕｎ＜Ｄｎ
そして、当該透かし情報入り文書原稿は、電荷結合素子（ＣＣＤ）などの光学センサを有するスキャナにより読み取られ、画像データＩが生成される。ここでは、生成された文書画像データＩは、紙原稿の文字部分が黒、背景部分が白である２値画像であるとして説明する。なお、以降では文字部分に対応する”黒画素”のことを”有意画素”と呼ぶこともある。
【００２０】
図３は、透かし情報の埋め込まれた２値画像データを例示的に示す図である。ここで、図３（ａ）は、横書きの文字原稿が正しい方向で記録された画像データを示している。一方、図３（ｂ）と図３（ｃ）とは傾きのある文書画像である。上述のように紙の文書原稿をスキャナにより読み取る際には、基準方向とのずれやユーザによる紙原稿配置のミスなどにより、図３（ｂ）と図３（ｃ）のような画像データが入力されることがある。
【００２１】
＜装置の動作＞
以下、画像処理装置１１が、画像データＩから透かし情報を抽出する動作をフローチャートを参照して詳細に説明する。
【００２２】
図１０は、第１実施形態に係る画像処理装置１１の動作フローチャートである。なお、以下のフローはたとえばユーザによる操作部１１１を介した画像読取指示をトリガに実行される。
【００２３】
ステップＳ１００１では、画像入力部１０１は、透かし情報入り文書画像に対応する画像データＩをスキャナから受信し、画像データＩを画像縮小部１０２に供給する。ここでは、画像データＩの水平方向画素数はＷ０、垂直方向画素数はＨ０であるとする。
【００２４】
ステップＳ１００２では、画像縮小部１０２は、画像入力部１０１より供給された画像データＩを水平方向と垂直方向へそれぞれ縮小し、水平方向の縮小画像データＩｓｈ、垂直方向の縮小画像データＩｓｖを生成する。そして、縮小画像データＩｓｈおよび縮小画像データＩｓｖを情報抽出部１０３に供給する。ここでは、第１の縮小画像データである縮小画像データＩｓｈは少なくとも水平方向画素数がＷ１（１＜Ｗ１＜Ｗ０）に縮小されたデータであるとする。そして、第２の縮小画像データである縮小画像データＩｓｖは少なくとも垂直方向画素数がＨ１（１＜Ｈ１＜Ｈ０）に縮小されたデータであるとする。
【００２５】
図４は、画像データＩを水平方向に縮小した縮小画像データＩｓｈ、および、垂直方向へ縮小した縮小画像データＩｓｖの例を示す図である。なお、図４（ａ）は図３（ａ）の文書画像、図４（ｂ）は図３（ｂ）の文書画像、図４（ｃ）は図３（ｃ）の文書画像のそれぞれに基づいて生成した縮小画像データである。
【００２６】
なお、ここで、水平・垂直の２つの方向に対して縮小画像を生成するのは、図３（ｃ）に示すように９０度傾きのある画像データＩが入力された場合に対応するためである。このような状況は、スキャナによる読み取りではしばしば発生する。そのため、あらかじめ画像データＩの入力方向が保障されている場合は、文字列方向に対応する１方向のみに縮小を行うよう構成してもよい。
【００２７】
図４から、画像縮小部１０２による縮小により、文字列方向に縮小した縮小画像に対しては、複数の文字列が複数の有意画素の固まり（オブジェクト）として表現されることがわかる。以下、当該縮小画像の生成についてさらに詳しく説明する。
【００２８】
画像縮小部１０２が実行する縮小処理の具体的な計算手法としては、入力された画像データに対し単に一定周期での画素の間引きによる縮小が考えられる。しかし、文字列部分と行間部分とをより正確に識別するために、以下のようなバイリニア法を利用した計算を行うとよい。
【００２９】
バイリニア法では、画像データＩの中の近接する４つの画素の画素値に基づいて、対応する縮小画像データの画素の画素値を算出する。この場合、４つの画素の少なくとも１つが黒である場合計算結果は中間調（グレー）となる（図５左）。具体的には、白を０黒を１として演算した結果が０より大きく１より小さい値となる。
【００３０】
行間部分には有意画素である黒画素は存在しないため、１つでも黒画素が存在する場合、当該近接する４つの画素の存在する部分は文字列領域であると推定できる。そのため、中間調として算出された部分を有意画素である黒へと変換させる（図５右）ことにより、文字列領域と行間領域とをより高精度に分割することができる。つまり、文字列領域には有意画素が存在しない場合がある（画数の少ない文字など）が、行間領域には有意画素は一般に存在することは無いことを利用しているのである。
【００３１】
なお、画像縮小部１０２による水平・垂直方向への縮小率は、オブジェクトが認識できる程度の大きさとなる縮小率であればよい。具体的な縮小率の値は予め指定した固定値としてもよいし、入力された画像データの付加データ（スキャナによる読取解像度情報など）に基づいて随時決定してもよい。また、ここでは縮小画像を生成するアルゴリズムの一例としてバイリニア法を適用したが、本発明はこれに限定されることはない。ニアレストレイバー、バイキュービックなど、種々の計算手法を利用して縮小可能である。
【００３２】
ステップＳ１００３では、サイズ判定部１０４は、縮小画像データＩｓｈまたはＩｓｖに基づいて、文字高さあるいは文字列間の距離（行間隔）を検出する。具体的には、縮小画像データＩｓｈまたはＩｓｖに対して、ステップＳ１００２で縮小した方向と直交する方向へ１走査を行うことにより実現される。つまり、縮小画像データＩｓｈに対しては垂直方向、縮小画像データＩｓｖに対しては水平方向に走査する。なお、以降のステップでは、縮小画像データＩｓｈに対しては垂直方向に走査を行ったものとして説明する。
【００３３】
文字列間の距離（行間隔）の検出は具体的には、縮小画像における有意画素の固まりの大きさ検出を行う。さらに具体的には、検出された連続する有意画素部分（文字列部分に相当）、あるいは、連続する有意画素非検出の部分（行間に相当）の代表的距離を導出する。有意画素非検出の部分の代表的距離とは図２に示した距離ＵｎやＤｎに相当し、有意画素非検出の連続画素数のことである。その際、最初の文字列（１行目）の長さ、あるいは、最初の行間隔部分（１行目と２行目との間）のみに基づいて決定してもよいし、複数行に対する平均値から導出するよう構成してもよい。つまり、平均文字高さを用いるようにしても良い。ここでは、平均文字高さを行間隔の代表的距離として決定するものとして説明する。
【００３４】
ステップＳ１００４では、サイズ判定部１０４は、ステップＳ１００３で決定した代表的距離が、予め設定された長さ（画素数）の範囲内（許容範囲内）であるか、当該許容範囲外（上限値よりも長いあるいは下限値よりも短い）であるかを判定する。許容範囲内である場合はステップＳ１００５に、範囲外である場合はステップＳ１００７に進む。ここでは、設定された範囲が１０＜Ｌ＜３０（画素）であるとする。
【００３５】
ステップＳ１００７では、サイズ判定部１０４は、範囲の上限値（３０）よりも長いか下限値（１０）よりも短いかを判定する。上限値よりも長い場合、ステップＳ１００８に進む。一方、下限値よりも短い場合、ステップＳ１０１０に進む。
【００３６】
ステップＳ１００８では、サイズ判定部１０４は、ステップＳ１００３で決定した代表的距離と範囲の上限値とに基づいて、予め設定された範囲内（つまり許容範囲内）に収まる垂直方向の縮小率を求める。例として、値Ｌが４０（画素）であれば、２５％（＝１０／４０）〜７５％（＝３０／４０）の縮小率で縮小画像を垂直方向に縮小（変倍）する。なお、垂直方向の縮小時には、画像の鮮鋭化を目的として、ぼかし処理及び先鋭化処理を加えてもよい。そして、ステップＳ１００９に進む。
【００３７】
ステップＳ１０１０では、サイズ判定部１０４は、ステップＳ１００３で決定した代表的距離と範囲の下限値とに基づいて、予め設定された範囲内に収まる垂直方向の拡大率を求める。例として、値Ｌが５であれば、２００％（＝１０／５）〜６００％（＝３０／５）の拡大率で縮小画像を垂直方向に拡大（変倍）する。なお、垂直方向の拡大時には、画像の鮮鋭化を目的として、ぼかし処理及び先鋭化処理を加えてもよい。なお、ステップＳ１００２におけるＩｓｈ画像生成時に、垂直方向に対して縮小を行っていた場合には、ステップＳ１００２に戻り、再度適切な縮小率で縮小画像を再生成するよう構成してもよい。そして、ステップＳ１００９に進む。
【００３８】
ステップＳ１００９では、サイズ判定部１０４は、ステップＳ１００８またはステップＳ１０１０において決定した縮小率に基づいて、ステップＳ１００２で生成した縮小画像に対し、垂直方向に縮小あるいは拡大する。つまり、縮小画像補正手段として機能する。
【００３９】
ステップＳ１００５では、情報抽出部１０３は、画像縮小部１０２より供給された縮小画像データ（透かし抽出対象画像データ）あるいは変倍後のデータを用いて各文字列領域間の長さ（各文字列行間隔）を計測する。ここでは、水平方向に縮小した縮小画像データＩｓｈに対して計測するものとする。具体的な計測方法は以下の通りである。
【００４０】
図６は、縮小画像データＩｓｈの拡大図である。まず、情報抽出部１０３は、縮小画像データＩｓｈに対し縮小方向（ここでは水平方向）と直交する方向（ここでは垂直方向）へ、走査を行うことにより有意画素の有無を検出する。そして、有意画素の有無が反転する位置を文字列領域を行間領域との境界として決定する。
【００４１】
たとえば、図６における矢印に沿って反転位置を検出した場合、ｘ１〜ｘ１０の各画素位置が検出されることになる。このとき、行間隔であるＵ１、Ｄ１、Ｕ２、Ｄ２のそれぞれの長さは、Ｕ１＝ｘ３−ｘ２、Ｄ１＝ｘ５−ｘ４、Ｕ２＝ｘ７−ｘ６、Ｄ２＝ｘ９−ｘ８である（単位は画素（ｐｉｘ））。
【００４２】
前述のように、ステップＳ１００２における縮小処理の結果、文字列領域が文字の並び方向に縮小されると同時に、中間調部分が有意画素に変換されている。そのため、文字列領域における有意画素（ここでは黒）の密度が結果的に高くなっている。その結果、情報抽出部１０３は、文字列領域と行間領域との境界をより高精度に検出可能であり、行間隔を高精度に計測可能である。
【００４３】
なお、上述の方法は、縮小画像データＩｓｈが図４（ｂ）に示すよう多少傾いている場合においても有効である。図８は、図４（ｂ）の縮小画像データＩｓｈに対する走査を例示的に示す図である。この場合、矢印に沿った行間隔の長さは、図６の場合とは異なる結果となる。具体的には、文字列の傾きθ（度）としたとき、長さが１／ｃｏｓθ倍になる。ただし、各行間隔の相対的長さ関係は変化しない。
【００４４】
なお、上述のバイリニア法を利用した縮小画像データを利用する場合、一般的には１回の走査で十分である。しかし、より高精度に検出を行うときには、縮小した画像に対して、複数の走査を行い、複数回における平均値を行間隔としてもよい。また、縮小画像データを間引きにより生成した場合にも、複数回の走査は有効である。
【００４５】
図７は、縮小画像データＩｓｈに対し複数回の走査を実行する様子を例示的に示す図である。図７では、黒色オブジェクトで示される文字列部分が、より現実の縮小画像データに近いものとして示している。つまり、図６のような理想的な矩形オブジェクトではなく、非有意画素（白色画素）を含んだものとして示されている。そのため、走査位置によってオブジェクト間（行間隔）の計測値が微妙に異なることになる。
【００４６】
例えば、図中に示すように走査位置を３箇所（矢印（１）（２）（３））行った値がそれぞれ、
矢印（１）：  Ｕ１＝１０［ｐｉｘ］、Ｄ１＝４［ｐｉｘ］、Ｕ２＝４［ｐｉｘ］、Ｄ２＝１２［ｐｉｘ］
矢印（２）：  Ｕ１＝  ８［ｐｉｘ］、Ｄ１＝５［ｐｉｘ］、Ｕ２＝６［ｐｉｘ］、Ｄ２＝１０［ｐｉｘ］
矢印（３）：  Ｕ１＝  ６［ｐｉｘ］、Ｄ１＝３［ｐｉｘ］、Ｕ２＝５［ｐｉｘ］、Ｄ２＝  ８［ｐｉｘ］
であったとする。その場合、例えばそれぞれの長さの平均値である、
Ｕ１＝８［ｐｉｘ］、Ｄ１＝  ４［ｐｉｘ］、Ｕ２＝５［ｐｉｘ］、Ｄ２＝１０［ｐｉｘ］
をオブジェクト間の距離（行間隔）と決定するとよい。
【００４７】
ステップＳ１００６では、情報抽出部１０３は、ステップＳ１００５で導出した行間隔に基づいて透かし情報を導出する。具体的には、情報抽出部１０３に予め設定された埋め込みアルゴリズムに対応させて透かし情報を算出する。例えば、図６では、Ｕ１＜Ｄ１、Ｕ２＞Ｄ２であることから透かし情報は「１０（２進）」として導出される。
【００４８】
ただし、ステップＳ１００５で、図４（ｃ）に示す縮小画像データＩｓｈに対して計測した場合、オブジェクト間の距離を計測することができない。そのため、ステップＳ１００５で、透かし画像を抽出することができない。つまり、ステップＳ１００１において、９０度回転した状態で画像データＩが入力されていたため、縮小画像データＩｓｈは一般的に黒色のべた画像となってしまっているからである。
【００４９】
ステップＳ１０１１では、制御部１１０は、ステップＳ１００６において情報が抽出できたか否かを判定する。情報が抽出できたか否かの判断は、例えば、Ｕｎ，Ｄｎが計測できた場合は、情報が抽出できたとし、Ｕｎ，Ｄｎが計測できなかった場合は抽出ができなかったと判定する。あるいは、予め設定された埋め込みアルゴリズムで規定された値以外の値が検出された場合に情報が抽出できなかったとする。また、読み取り結果に対して、予め指定された誤検出／未検出の判定を行うことにより決定してもよい。
【００５０】
そして、情報が抽出できたと判定した場合はフローを終了する。一方、抽出できなかった場合は垂直方向の縮小画像データＩｓｖを対象としてステップＳ１００３以下のフローを再度実行するとよい。なお、情報抽出部１０３は、縮小画像データＩｓｖに対し縮小方向（ここでは垂直方向）と直交する方向（ここでは水平方向）へ、走査を行うことにより有意画素の有無を検出することに注意する（図９）。なお、そのとき使用される、画像縮小部１０２および情報抽出部１０３が、それぞれ、第２の画像縮小手段および第２の透かし情報抽出手段となる。さらに、サイズ判定部１０４が第２の検出手段および第２の縮小画像補正手段となる。また、第２の縮小画像データに基づいて第２の透かし抽出対象画像データが生成される。
【００５１】
以上のような動作フローを経て、画像処理装置１１は、画像データＩから透かし情報を抽出する。
【００５２】
なお、上述の説明においては、図３に示したパターンの文書画像データであるとして説明した。つまり、ほぼ正常な方向か９０度回転入力される文書画像データであるとした。これらに加え、上下あるいは左右逆に入力される場合は、図６〜図９に示した走査方向に加え逆方向の走査も実行するよう構成するとよい。さらに、そのような状況が想定される場合には、透かし情報の埋め込みアルゴリズムとして読取開始方向に依存しないよう構成したアルゴリズムを用いることも好適である。
【００５３】
例えば、埋め込む情報が「１０１（２進）」や「１１０１０（２進）」で、スタートビットを「０」、ストップビットを「１１」とした場合、情報は、「０１０１１１（２進）」、「０１１０１０１１（２進）」となる。さらに、どちらからでも読み取りが可能なように「０１０１１１０００１０１（２進）」、「０１１０１０１１００１０１００１（２進）」のようにした情報を埋め込めば、上から下の走査１回のみで情報の抽出が可能である。なお、上記情報の後半部分がビット反転しているのは、判定条件が
「０」を埋め込む場合：  Ｕｎ＞Ｄｎ
「１」を埋め込む場合：  Ｕｎ＜Ｄｎ
の場合、反対方向から読むとＵｎとＤｎの順序が反対となり、ビット反転するためである。
【００５４】
また、上記とは別に、スタートビット、ストップビットを同じ「０」としておけば、埋め込む情報が「１０１（２進）」の場合は「００１０１０（２進）」となる。反対方向から読むと「１０１０１１（２進）」で、スタートビットが「１」となっている。よって、情報部分を反転させ「０１０１００（２進）」さらに反対方向に並べかえることにより「００１０１０（２進）」となり、抽出することができる。
【００５５】
なお、第１実施形態では、図２に示したような、透かし情報を１組（２つ）の行間隔の相対的長さに対応させて埋め込むアルゴリズムを用いて説明を行った。しかし、最初に述べたように本発明は、この埋め込みアルゴリズムに限定されることない。例えば、最初の行間隔（文字列の１行目と２行目との間）を基準として、２つ目（文字列の２行目と３行目との間）以降の行間隔を最初の行間隔との相対的長さに対応させて情報を埋め込むアルゴリズムなどでもよい。また、相対的行間隔による２値情報ではなく、行間隔に基づくより多値の情報を埋め込むようにしてもよい。つまり、行間隔を使用した任意の埋め込みアルゴリズム全般に対し有効な手法である。
【００５６】
以上説明したように、第１実施形態に係る画像処理装置によれば、より高精度にあるいはより高速に、透かし情報を抽出することが可能となる。また、入力された画像データが傾きを有していた場合であっても、煩雑な操作を行うことなく情報を抽出可能となる。
【００５７】
（変形例）
一般的に画像縮小部１０２による縮小率は小さく設定される（例えば５％）。そのため、入力された画像データＩにおける文字列の幅（横方向の長さ）が短い場合、過度に縮小され、情報抽出部１０３による情報抽出の精度が低下し得る。そのため、縮小画像データ内のオブジェクトについて、画像縮小部１０２による縮小方向の大きさを検出することも有用である。
【００５８】
以下では、縮小画像データ内のオブジェクトの画像縮小部１０２による縮小方向の大きさに基づいて、より好適な縮小画像データを生成する構成について説明する。
【００５９】
＜装置の動作＞
図１２は、変形例に係る画像処理装置１１の動作フローチャートである。以下のフローはたとえばユーザによる操作部１１１を介した画像読取指示をトリガに実行される。なお、ステップＳ１２０１、Ｓ１２０２、Ｓ１２０５、Ｓ１２０６、および、Ｓ１２１１については、上述の第１実施形態（図１０）における対応するステップと同様であるので説明は省略する。
【００６０】
ステップＳ１２０３では、サイズ判定部１０４は、縮小画像データＩｓｈまたはＩｓｖに基づいて、文字列幅（横の長さ）を検出する。具体的には、縮小画像データＩｓｈまたはＩｓｖに対して、ステップＳ１００２で縮小した方向へ１走査を行うことにより実現される。つまり、縮小画像データＩｓｈに対しては水平方向、縮小画像データＩｓｖに対しては垂直方向に走査する。なお、以降のステップでは、縮小画像データＩｓｈに対しては水平方向に走査を行ったものとして説明する。
【００６１】
文字列幅（横の長さ）の検出は具体的には、縮小画像における有意画素の固まりの大きさ検出を行う。さらに具体的には、検出された連続する有意画素部分（文字列部分に相当）の代表的距離を導出する。その際、最初の文字列（１行目）の幅、のみに基づいて決定してもよいし、複数行に対する幅の平均値から導出するよう構成してもよい。
【００６２】
ステップＳ１２０４では、サイズ判定部１０４は、ステップＳ１００３で決定した代表的距離が、予め設定された長さ（画素数）の範囲内であるか、当該範囲外（上限値よりも長いあるいは下限値よりも短い）であるかを判定する。範囲内である場合はステップＳ１２０５に、範囲外である場合はステップＳ１２０７に進む。ここでは、設定された範囲が１０＜Ｌ＜３０（画素）であるとする。
【００６３】
ステップＳ１２０７では、サイズ判定部１０４は、範囲の上限値（３０）よりも長いか下限値（１０）よりも短いかを判定する。上限値よりも長い場合、ステップＳ１２０８に進む。一方、下限値よりも短い場合、ステップＳ１２１０に進む。
【００６４】
ステップＳ１２０８では、サイズ判定部１０４は、ステップＳ１２０３で決定した代表的距離と範囲の上限値とに基づいて、予め設定された範囲内に収まるような縮小画像データＩｓｈに対する水平方向の縮小率を求める。例として、値Ｌが４０（画素）であれば、２５％（＝１０／４０）〜７５％（＝３０／４０）の縮小率で縮小画像データＩｓｈを水平方向に再縮小する。そして、ステップＳ１２０９に進む。
【００６５】
ステップＳ１２１０では、サイズ判定部１０４は、ステップＳ１２０３で決定した代表的距離と範囲の下限値とに基づいて、予め設定された範囲内に収まる画像データＩに対する水平方向の縮小率を求める。つまり、縮小オブジェクトの幅が予め設定された範囲内に収まるような、画像縮小部１０２による縮小率の値を導出する。
【００６６】
例として、画像縮小部１０２による縮小率の初期値が５％である場合を考える。値Ｌが５であれば、Ｉｓｈが２００％（＝１０／５）〜６００％（＝３０／５）となっていれば良いことから、画像縮小部１０２による縮小率の値を２倍〜６倍とする。つまり、画像縮小部１０２の縮小率を１０％〜３０％の間の値として導出し、導出した値を画像縮小部１０２に設定する。そして、ステップＳ１００２に進む。
【００６７】
つまり、縮小画像データＩｓｈに対し拡大処理を行うのではなく、ステップＳ１２０１で入力された画像データＩに対して再度縮小を行う点が上述の第１実施形態の場合と異なる。このような処理により、画像拡大処理に伴う画質劣化を防止することが可能となる。
【００６８】
そして、このようにして生成された縮小画像データをＩｓｈから透かし情報を抽出することにより、より精度の高い情報抽出が可能となる。
【００６９】
（第２実施形態）
第２実施形態では、スキャナなどで読み取った文書画像をコンピュータ（ＰＣ）上で動作するプログラムにより、透かし情報の抽出を実行する形態について説明する。
【００７０】
＜機器構成＞
図１１は、ＰＣの内部構成を示す図である。
【００７１】
同図において、１１０１はＣＰＵで、ＲＡＭ１１０２やＲＯＭ１１０３に格納されているプログラムやデータに基づいて、図１に示した、機能ブロックの各部を実現する。
【００７２】
１１０２はＲＡＭで、外部記憶装置１１０８からロードされたプログラムやデータ、他のコンピュータシステム１１１４からＩ／Ｆ（インターフェース）１１１５を介してダウンロードしたプログラムやデータを一時的に記憶するエリアを備える。さらに、ＣＰＵ１１０１が各種の処理を行うために必要とするエリアをも備える。
【００７３】
１１０３はＲＯＭで、コンピュータの機能プログラムや設定データなどを記憶する。１１０４はディスプレイ制御装置で、画像や文字等をディスプレイ１１０５に表示させるための制御処理を行う。１１０５はディスプレイで、画像や文字などを表示する。なお、ディスプレイとしてはＣＲＴや液晶画面などが適用可能である。
【００７４】
１１０６は操作入力デバイスで、キーボードやマウスなど、ＣＰＵ１１０１に各種の指示を入力することのできるデバイスにより構成されている。１１０７は操作入力デバイス１１０６を介して入力された各種の指示等をＣＰＵ１１０１に通知するためのＩ／Ｏである。
【００７５】
１１０８はハードディスクなどの大容量情報記憶装置として機能する外部記憶装置で、ＯＳ（オペレーティングシステム）や各種アプリケーションプログラム、さらに、入出力原稿画像などを記憶する。外部記憶装置１１０８への情報の書き込みや外部記憶装置１１０８からの情報の読み出しはＩ／Ｏ１１０９を介して行われる。
【００７６】
１１１０は文書や画像を出力する為のプリンタで、出力データはＩ／Ｏ１１１１を介してＲＡＭ１１０２、もしくは外部記憶装置１１０８から送られる。なお、文書や画像を出力する為のプリンタとしては、例えばインクジェットプリンタ、レーザビームプリンタ、熱転写型プリンタ、ドットインパクトプリンタなどが挙げられる。
【００７７】
１１１２は文書や画像を読み取るためのスキャナで、入力データはＩ／Ｏ１１１３を介してＲＡＭ１１０２、もしくは外部記憶装置１１０８に送られる。
【００７８】
１１１６は、ＣＰＵ１１０１、ＲＯＭ１１０３、ＲＡＭ１１０２、Ｉ／Ｏ１１１１、Ｉ／Ｏ１１０９、ディスプレイ制御装置１１０４、Ｉ／Ｆ１１１５、Ｉ／Ｏ１１０７、Ｉ／Ｏ１１１３を繋ぐバスである。
【００７９】
＜装置の動作＞
外部記憶装置１１０８には、アプリケーションプログラムとして、第１実施形態で説明した各機能部および動作フローを実現するための、画像処理プログラムが記憶されている。ユーザによる、操作入力デバイス１１０６を介した、当該画像処理プログラムの起動指示に基づき、第１実施形態で説明した動作フローが開始される。なお、詳細動作は第１実施形態とほぼ同様であるため省略する。
【００８０】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８１】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００８２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどがある。
【００８４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８６】
【図１】第１実施形態における画像処理装置１１の主要な機能構成を示すブロック図である。
【図２】透かし情報が埋め込まれた文書原稿を例示的に示す図である。
【図３】透かし情報の埋め込まれた２値画像データを例示的に示す図である。
【図４】画像データＩを水平方向に縮小した縮小画像データＩｓｈ、および、垂直方向へ縮小した縮小画像データＩｓｖの例を示す図である。
【図５】中間調として算出された部分の有意画素である黒への変換を例示的に示す図である。
【図６】縮小画像データＩｓｈの拡大図である。
【図７】縮小画像データＩｓｈに対し複数回の走査を実行する様子を例示的に示す図である。
【図８】図４（ｂ）の縮小画像データＩｓｈに対する走査を例示的に示す図である。
【図９】縮小画像データＩｓｖに対し水平方向へ走査を行う様子を例示的に示す図である。
【図１０】第１実施形態に係る画像処理装置１１の動作フローチャートである。
【図１１】ＰＣの内部構成を示す図である。
【図１２】変形例に係る画像処理装置１１の動作フローチャートである。
【符号の説明】
【００８７】
１１      画像処理装置
１０１    画像入力部
１０２    画像縮小部
１０３    情報抽出部
１０４    サイズ判定部
１１０    制御部
１１１    操作部
【図１】
2008301281.tif 000003
【図２】
2008301281.tif 000004
【図３】
2008301281.tif 000005
【図４】
2008301281.tif 000006
【図５】
2008301281.tif 000007
【図６】
2008301281.tif 000008
【図７】
2008301281.tif 000009
【図８】
2008301281.tif 000010
【図９】
2008301281.tif 000011
【図１０】
2008301281.tif 000012
【図１１】
2008301281.tif 000013
【図１２】
2008301281.tif 000014