(57)【要約】【課題】画像に情報を埋め込んだ後に、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐように、情報を埋め込むようにした画像処理装置を提供する。【解決手段】画像処理装置の抽出手段は、画像内の画素塊の外接矩形を抽出し、線分長計測手段は、前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測し、線分特定手段は、前記線分長計測手段による計測結果に基づいて、情報を埋め込むべき対象となる線分を特定し、情報埋込手段は、前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び埋め込むべき情報に基づいて、前記線分特定手段によって特定された線分の長さを変更することによって、前記情報を埋め込む。【選択図】図１
2009130869.tif 000002
【特許請求の範囲】
【請求項１】
画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報を埋め込むべき対象となる線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び埋め込むべき情報に基づいて、前記線分特定手段によって特定された線分の長さを変更することによって、前記情報を埋め込む情報埋込手段
を具備することを特徴とする画像処理装置。
【請求項２】
画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
を具備することを特徴とする画像処理装置。
【請求項３】
前記線分特定手段は、さらに、前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定し、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
をさらに具備することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
コンピュータを、
画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報を埋め込むべき対象となる線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び埋め込むべき情報に基づいて、前記線分特定手段によって特定された線分の長さを変更することによって、前記情報を埋め込む情報埋込手段
として機能させることを特徴とする画像処理プログラム。
【請求項５】
コンピュータを、
画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
として機能させることを特徴とする画像処理プログラム。
【請求項６】
前記線分特定手段は、さらに、前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定し、
前記コンピュータを、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
としてさらに機能させることを特徴とする請求項４に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
２値画像に情報を埋め込む情報埋め込み技術において、画像を複数のブロックに分割し、ブロック中の画素を反転させて黒画素の数を調整し、情報を埋め込む技術が提案されている。なお、画像に情報を埋め込むとは、その情報に応じて画像に変更を加えることをいい、その変更した画像をスキャナ等で読み込み、画像処理を行ってその画像から埋め込んだ情報を取り出せるようにすることをいう。
【０００３】
これに関連する技術として、例えば、特許文献１には、漫画などの線画を基本とした画像に適した電子透かし技術を提供することを課題とし、ブロック分割部は２値画像を複数のブロックに分割し、画素数算出部はブロック毎に黒画素数を求め、演算部が対象ブロックについて基準値ｐによる黒画素数の剰余を求め、変更画素数算出部は対象ブロックに埋め込むべき透かし情報が「１」であるか「０」であるかを判定し、判定の結果、透かし情報が「１」である場合には剰余が（３／４）ｐとなるように、変更画素数を求め、透かし情報が「０」である場合には剰余が（１／４）ｐとなるように、変更画素数を求め、画素変更部は変更画素数に応じて、対象ブロック内の画素の画素値を変更することが開示されている。
【特許文献１】特開２００２−２３２６９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、画像に情報を埋め込んだ後に、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐように、情報を埋め込むようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
［１］  画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報を埋め込むべき対象となる線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び埋め込むべき情報に基づいて、前記線分特定手段によって特定された線分の長さを変更することによって、前記情報を埋め込む情報埋込手段
を具備することを特徴とする画像処理装置。
【０００６】
［２］  画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
を具備することを特徴とする画像処理装置。
【０００７】
［３］  前記線分特定手段は、さらに、前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定し、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
をさらに具備することを特徴とする［１］に記載の画像処理装置。
【０００８】
［４］  コンピュータを、
画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報を埋め込むべき対象となる線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び埋め込むべき情報に基づいて、前記線分特定手段によって特定された線分の長さを変更することによって、前記情報を埋め込む情報埋込手段
として機能させることを特徴とする画像処理プログラム。
【０００９】
［５］  コンピュータを、
画像内の画素塊の外接矩形を抽出する抽出手段と、
前記抽出手段によって抽出された外接矩形内を走査することによって、前記画素塊内の線分の長さを計測する線分長計測手段と、
前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定する線分特定手段と、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
として機能させることを特徴とする画像処理プログラム。
【００１０】
［６］  前記線分特定手段は、さらに、前記線分長計測手段による計測結果に基づいて、情報が埋め込まれている線分を特定し、
前記コンピュータを、
前記抽出手段によって抽出された外接矩形の縦の長さ又は横の長さ及び前記線分長計測手段による計測結果に基づいて、埋め込まれている情報を解読する情報解読手段
としてさらに機能させることを特徴とする［４］に記載の画像処理プログラム。
【発明の効果】
【００１１】
請求項１の画像処理装置によれば、画像に情報を埋め込んだ後に、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐように、情報を埋め込むことができる。
【００１２】
請求項２の画像処理装置によれば、画像に情報を埋め込んだ後に、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐことができる。
【００１３】
請求項３の画像処理装置によれば、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐように、情報を埋め込むことができる。さらに、情報を埋め込んだ画像から情報を誤って解読してしまうことを防ぐことができる。
【００１４】
請求項４の画像処理プログラムによれば、画像に情報を埋め込んだ後に、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐように、情報を埋め込むことができる。
【００１５】
請求項５の画像処理プログラムによれば、画像に情報を埋め込んだ後に、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐことができる。
【００１６】
請求項６の画像処理プログラムによれば、たとえその画像に拡大、縮小等の変形が施されたとしても、埋め込んだ情報を誤って解読してしまうことを防ぐように、情報を埋め込むことができる。さらに、情報を埋め込んだ画像から情報を誤って解読してしまうことを防ぐことができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態（情報埋込装置）の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。
対象とする画像は、複数の画像であってもよく、２値画像、多値画像（カラー画像を含む）等であってもよい。以下、画像として、２値画像を主に例示して説明する。
外接矩形の縦、横とは、外接矩形の互いに直角に接する２辺をいい、本実施の形態においては主走査方向を横、副走査方向を縦という。
【００１８】
情報埋込装置は、画像受付モジュール１１０、外接矩形抽出モジュール１２０、主／副走査モジュール１３０、対象ランレングス特定モジュール１４０、情報埋込モジュール１５０、情報記憶モジュール１６０、画像出力モジュール１７０を有している。
画像受付モジュール１１０は、外接矩形抽出モジュール１２０と接続されており、情報を埋め込むべき画像を受け付けて、その画像を外接矩形抽出モジュール１２０へ渡す。具体的には、例えば、スキャナによって画像を入力すること、ファックスによって通信回線を介して外部機器から画像を入力すること、記憶媒体から画像を入力すること等がある。
【００１９】
外接矩形抽出モジュール１２０は、画像受付モジュール１１０、主／副走査モジュール１３０と接続されており、画像受付モジュール１１０から画像を受け取り、その画像内の画素塊の外接矩形を抽出する。そして、抽出した外接矩形に関する情報（外接矩形の左上隅の位置情報、縦長、横長等）を主／副走査モジュール１３０に渡す。
主／副走査モジュール１３０は、外接矩形抽出モジュール１２０、対象ランレングス特定モジュール１４０と接続されており、外接矩形抽出モジュール１２０から外接矩形に関する情報を受け取り、画像受付モジュール１１０によって受け付けられた外接矩形内の画像を走査することによって、画素塊内の線分の長さを計測して、その計測結果を対象ランレングス特定モジュール１４０へ渡す。走査は、主走査、副走査又は両方の走査であってもよい。本実施の形態では、主走査を主に例示して説明する。
【００２０】
対象ランレングス特定モジュール１４０は、主／副走査モジュール１３０、情報埋込モジュール１５０と接続されており、主／副走査モジュール１３０から計測結果を受け取り、その計測結果に基づいて、情報を埋め込むべき対象となるランレングスを特定して、そのランレングスを情報埋込モジュール１５０に渡す。特定方法は、その外接矩形内で最長のランレングスとする。
【００２１】
情報埋込モジュール１５０は、対象ランレングス特定モジュール１４０、情報記憶モジュール１６０、画像出力モジュール１７０と接続されており、対象ランレングス特定モジュール１４０から特定されたランレングスを受け取る。そして、外接矩形抽出モジュール１２０によって抽出された外接矩形の横長又は縦長から基準長を算出する。そして、情報記憶モジュール１６０から埋め込むべき情報を読み出して、受け取ったランレングスの長さを変更し、変更した画像を画像出力モジュール１７０へ渡す。例えば、具体的には、基準長を外接矩形の横長より短い長さ（より具体的には外接矩形の横長の１／１０）とし、埋め込むべき情報が“０”である場合は、特定されたランレングスの長さ以上であって基準長の偶数倍となるように、ランレングスの長さを変更する（つまり、黒画素を付加してランレングスを長くする）。埋め込むべき情報が“１”である場合は、特定されたランレングスの長さ以上であって基準長の奇数倍となるように、ランレングスの長さを変更する。
【００２２】
情報記憶モジュール１６０は、埋め込むべき情報を記憶しており、情報埋込モジュール１５０からアクセスされ、その情報を渡す。
画像出力モジュール１７０は、情報埋込モジュール１５０と接続されており、情報埋込モジュール１５０によって情報を埋め込まれた画像を受け取り、その画像を出力する。画像を出力するとは、プリンタで印刷すること、ディスプレイに表示すること、ファックスで画像を送信すること、画像データベース等へ画像を書き込むこと等が含まれる。
【００２３】
次に図２〜図５を用いて、作用・働き（動作）を説明する。
図２に示すフローチャートを用いて、情報埋込装置による処理例を説明する。具体例として、画像内の「Ａ」という画素塊に対して情報を埋め込む場合を説明する。
ステップＳ２０２では、画像受付モジュール１１０が、情報を埋め込むべき画像を受け付ける。
ステップＳ２０４では、外接矩形抽出モジュール１２０が、ステップＳ２０２で受け付けられた画像内の画素塊の外接矩形を抽出する。図３（ａ）の例に示すように、画素塊である文字Ａ  ３００を対象として、図３（ｂ）の例に示すように、文字Ａ  ３００の外接矩形３１０を抽出する。
【００２４】
ステップＳ２０６では、外接矩形抽出モジュール１２０が、ステップＳ２０４で抽出した外接矩形３１０の左上隅の位置情報（ｘ、ｙ）、縦長（ｈ）、横長（ｗ）を計測する。
ステップＳ２０８では、主／副走査モジュール１３０が、ステップＳ２０４で抽出された外接矩形内の画像を主走査することによって、画素塊内の線分の長さを計測する。つまり、文字Ａ  ３００の横方向の各ランレングスの長さを計測する。
ステップＳ２１０では、対象ランレングス特定モジュール１４０が、ステップＳ２０８で計測されたランレングスの長さを比較して、最長のランレングスを抽出する。図４の例に示すように、最長のランレングスを情報を埋め込むべき対象ランレングス４００とし、その長さをＬとする。また、最長のランレングスが複数あったときは、予め定めた位置（一番下、一番右等）にあるランレングスを選択する。
【００２５】
ステップＳ２１２では、対象ランレングス特定モジュール１４０が、対象ランレングスは情報埋込に適切なものであるか否かを判断する。適切である場合はステップＳ２１４へ進み、それ以外の場合はステップＳ２０４へ戻る。情報埋込に適切なものであるか否かの判断では、最長のランレングスの長さと外接矩形の横幅が等しい場合は、適切なものではないと判断する。情報を埋め込んだ場合に、基準長も変更されてしまうからである。例えば、具体的には、「一」、「十」等の文字には、情報を埋め込まないようにする。
【００２６】
ステップＳ２１４では、情報埋込モジュール１５０が、外接矩形の縦長又は横長から基準長を算出し、最長のランレングスに対して情報を埋め込む加工を行う。例えば、具体的には、外接矩形の横長の１／１０を基準長Ｓとし、最長のランレングスの長さをＬとすると、情報“０”を埋め込むときは変更後のランレングスの長さＬ’を、Ｌ以上で最小となるＳの偶数倍とする。つまり、Ｌ’＝２ｎ×Ｓ（ｎは１以上の整数）とする。情報“１”を埋め込むときは変更後のランレングスの長さＬ’を、Ｌ以上で最小となるＳの奇数倍とする。つまり、Ｌ’＝（２ｎ＋１）×Ｓ（ｎは０以上の整数）とする。したがって、図５の例に示すように、対象ランレングス４００は加工済ランレングス５００のように長くなる。
ステップＳ２１６では、画像内の全ての画素塊に対して、前述の処理を行ったか否かを判断し、全ての処理を終了した場合はステップＳ２１８へ進み、それ以外の場合ステップＳ２０４へ戻る。
ステップＳ２１８では、画像出力モジュール１７０が、情報を埋め込んだ画像を出力する。
【００２７】
図６は、本実施の形態（情報解読装置）の構成例についての概念的なモジュール構成図を示している。情報解読装置は、前述の情報埋込装置によって情報を埋め込まれた画像を解析して、その埋め込まれた情報を抽出するものである。
情報解読装置は、画像受付モジュール６１０、外接矩形抽出モジュール６２０、主／副走査モジュール６３０、対象ランレングス特定モジュール６４０、情報解読モジュール６５０、情報出力モジュール６６０を有している。
【００２８】
画像受付モジュール６１０は、外接矩形抽出モジュール６２０と接続されており、情報埋込装置の画像受付モジュール１１０と同様の働きをする。
外接矩形抽出モジュール６２０は、画像受付モジュール６１０、主／副走査モジュール６３０と接続されており、情報埋込装置の外接矩形抽出モジュール１２０と同様の働きをする。
主／副走査モジュール６３０は、外接矩形抽出モジュール６２０、対象ランレングス特定モジュール６４０と接続されており、情報埋込装置の主／副走査モジュール１３０と同様の働きをする。
対象ランレングス特定モジュール６４０は、主／副走査モジュール６３０、情報解読モジュール６５０と接続されており、情報埋込装置の対象ランレングス特定モジュール１４０と同様の働きをする。
【００２９】
情報解読モジュール６５０は、対象ランレングス特定モジュール６４０、情報出力モジュール６６０と接続されており、対象ランレングス特定モジュール６４０から特定されたランレングスを受け取る。そして、外接矩形抽出モジュール６２０によって抽出された外接矩形の横長又は縦長から基準長を算出する。基準長及び特定されたランレングスの長さから埋め込まれた情報を解読し、解読した情報を情報出力モジュール６６０へ渡す。例えば、具体的には、基準長を外接矩形の横長より短い長さ（より具体的には外接矩形の横長の１／１０）とし、特定されたランレングスの長さが、基準長の偶数倍である場合は、埋め込まれている情報は“０”であると解読する。特定されたランレングスの長さが、基準長の奇数倍である場合は、埋め込まれている情報は“１”であると解読する。
情報出力モジュール６６０は、情報解読モジュール６５０と接続されており、情報解読モジュール６５０によって解読された情報を受け取り、その情報を出力する。情報を出力するとは、情報解読装置のディスプレイ等の出力装置に提示すること、他の情報処理装置等へ送信すること等が含まれる。
【００３０】
次に作用・働き（動作）を説明する。
図７に示すフローチャートを用いて、情報解読装置による処理例を説明する。
ステップＳ７００〜ステップＳ７１０の処理は、図２に示したフローチャートにおけるステップＳ２００〜ステップＳ２１０の処理と同様である。
【００３１】
ステップＳ７１２では、対象ランレングス特定モジュール６４０が、対象ランレングスには情報が埋め込まれているか否かを判断する。情報が埋め込まれている場合はステップＳ７１４へ進み、それ以外の場合はステップＳ７０４へ戻る。情報が埋め込まれているか否かの判断では、最長のランレングスの長さと外接矩形の横幅が等しい場合は、情報が埋め込まれていないと判断する。例えば、具体的には、「一」、「十」等の文字には、情報が埋め込まれていない。
ステップＳ７１４では、情報解読モジュール６５０が、外接矩形の縦長又は横長から基準長を算出し、最長のランレングスから埋め込まれている情報を解読する。例えば、具体的には、外接矩形の横長の１／１０を基準長Ｓとし、最長のランレングスの長さをＬとすると、ＬがＳの偶数倍のときは、情報“０”が埋め込まれている。ＬがＳの奇数倍のときは、情報“１”が埋め込まれている。
ステップＳ７１６では、画像内の全ての画素塊に対して、前述の処理を行ったか否かを判断し、全ての処理を終了した場合はステップＳ７１８へ進み、それ以外の場合ステップＳ７０４へ戻る。
ステップＳ７１８では、情報出力モジュール６６０が、解読した情報を出力する。
【００３２】
図８を参照して、本実施の形態のハードウェア構成例について説明する。図８に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部８１７と、プリンタなどのデータ出力部８１８を備えたハードウェア構成例を示している。
【００３３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１は、前述の実施の形態において説明した各種のモジュール、すなわち、画像受付モジュール１１０、外接矩形抽出モジュール１２０、主／副走査モジュール１３０、対象ランレングス特定モジュール１４０、情報埋込モジュール１５０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００３４】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８０２は、ＣＰＵ８０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８０３は、ＣＰＵ８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス８０４により相互に接続されている。
【００３５】
ホストバス８０４は、ブリッジ８０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス８０６に接続されている。
【００３６】
キーボード８０８、マウス等のポインティングデバイス８０９は、操作者により操作される入力デバイスである。ディスプレイ８１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などからなり、各種情報をテキストやイメージ情報として表示する。
【００３７】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）８１１は、ハードディスクを内蔵し、そのハードディスクを駆動し、ＣＰＵ８０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、情報記憶モジュール１６０としての機能を有し、埋め込むべき情報などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００３８】
ドライブ８１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体８１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース８０７、外部バス８０６、ブリッジ８０５、及びホストバス８０４を介して接続されているＲＡＭ８０３に供給する。リムーバブル記録媒体８１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００３９】
接続ポート８１４は、外部接続機器８１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート８１４は、インタフェース８０７、及び外部バス８０６、ブリッジ８０５、ホストバス８０４等を介してＣＰＵ８０１等に接続されている。通信部８１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部８１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部８１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００４０】
なお、図８に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図８に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図８に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００４１】
前述の情報埋込装置と情報解読装置を組み合わせて、一体の情報埋込解読装置としてもよい。つまり、情報埋込解読装置は、図１及び図６に示したモジュールを全て有している。又は、画像受付モジュール１１０、外接矩形抽出モジュール１２０、主／副走査モジュール１３０、対象ランレングス特定モジュール１４０をそれぞれ画像受付モジュール６１０、外接矩形抽出モジュール６２０、主／副走査モジュール６３０、対象ランレングス特定モジュール６４０として用いるようにしてもよい。そして、情報の埋込であるか、解読であるかを、利用者に指定してもらい、その指定に応じて、画像に情報を埋め込む又は画像から情報を解読する。また、利用者に指定してもらうことの他に、他の装置からの指示であってもよいし、情報が埋め込まれているか否かを判断するようにしてもよい。例えば、全ての最長ランレングスが各基準長の偶数倍又は奇数倍であれば情報が埋め込まれていると判断するようにしてもよい。そして、情報が埋め込まれていると判断した場合は情報の解読を行い、情報が埋め込まれていないと判断した場合は情報の埋込を行う。
【００４２】
また、情報を埋め込むべき対象のランレングスは、前述の実施の形態では１本のランレングスとしたが、隣り合う複数のランレングスを１本のランレングスとして取り扱ってもよい。隣り合う複数のランレングスは、同じ長さのランレングスのみを対象としてもよいし、最長のランレングスとの差分がある所定長の範囲内にあるものを対象としてもよい。
また、情報を埋め込むべき対象のランレングスは、前述の実施の形態では１つの外接矩形内の最長のランレングスとしたが、複数の外接矩形内で最長のランレングスとしてもよい。つまり、連続する複数の外接矩形内で最長のランレングスを特定して、そのランレングスに情報を埋め込むようにしてもよい。
【００４３】
前述の実施の形態においては、外接矩形の横長を用いて基準長を定め、最長のランレングスは主走査方向のものを求めるようにしたが、外接矩形の縦長を用いて基準長を定め、最長のランレングスは副走査方向のものを求めるようにしてもよい。また、外接矩形の横長を用いて基準長を定め、最長のランレングスは副走査方向のものを求めるようにしてもよいし、その逆であってもよい。さらに、基準長は、外接矩形の縦長、横長のうち長い方（又は短い方）を用いて定めるようにしてもよい。最長のランレングスは、主走査方向及び副走査方向での最長のものを対象とするようにしてもよい。
前述の実施の形態においては、情報“０”を埋め込む場合は最長のランレングスが基準長の偶数倍となるように、情報“１”を埋め込む場合は最長のランレングスが基準長の奇数倍となるようにしたが、その逆であってもよい。
【００４４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００４５】
【図１】本実施の形態（情報埋込装置）の構成例についての概念的なモジュール構成図である。
【図２】情報埋込装置による処理例を示すフローチャートである。
【図３】外接矩形を抽出する処理例を示す説明図である。
【図４】ランレングス長を計測する処理例を示す説明図である。
【図５】情報を埋め込む処理例を示す説明図である。
【図６】本実施の形態（情報解読装置）の構成例についての概念的なモジュール構成図である。
【図７】情報解読装置による処理例を示すフローチャートである。
【図８】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００４６】
１１０…画像受付モジュール
１２０…外接矩形抽出モジュール
１３０…主／副走査モジュール
１４０…対象ランレングス特定モジュール
１５０…情報埋込モジュール
１６０…情報記憶モジュール
１７０…画像出力モジュール
３００…文字Ａ
３１０…外接矩形
４００…対象ランレングス
５００…加工済ランレングス
６１０…画像受付モジュール
６２０…外接矩形抽出モジュール
６３０…主／副走査モジュール
６４０…対象ランレングス特定モジュール
６５０…情報解読モジュール
６６０…情報出力モジュール
【図１】
2009130869.tif 000003
【図２】
2009130869.tif 000004
【図３】
2009130869.tif 000005
【図４】
2009130869.tif 000006
【図５】
2009130869.tif 000007
【図６】
2009130869.tif 000008
【図７】
2009130869.tif 000009
【図８】
2009130869.tif 000010