(57)【要約】【課題】ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択して情報を表現するｍＣｎ方式で符号化した場合に、ｍ、ｎの値が与えられていなくても情報を取得できるようにする。【解決手段】画像を読み取る画像読取部２１と、画像からノイズを除去するノイズ除去部２２と、画像からドットを検出するドット画像検出部２３と、ドットの位置にドットの有無を記憶したドット配列を生成し、画像のドット密度とｍＣｎのドット密度とからｍ、ｎを決定するドット配列生成部２４と、ドット配列上でブロックを検出し、ドット数の分散が最小になった場合にブロックの大きさからｍをドット数からｎを決定するブロック検出部２５と、ｍＣｎ方式の同期符号を検出する同期符号検出部２６と、ｍＣｎ方式で識別情報を取得する識別情報取得部２７と、ｍＣｎ方式で位置情報を取得する位置情報取得部２８とを備える。【選択図】図１２
2008112218.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する画像取得手段と、
前記画像取得手段により取得された前記単位画像の前記複数の領域における密度を算出する算出手段と、
前記算出手段により算出された前記密度に基づいて、前記ｍ及び前記ｎの少なくとも一方の値を決定する決定手段と、
前記決定手段により決定された値を用いて前記情報を取得する情報取得手段と
を備えたことを特徴とする画像処理装置。
【請求項２】
前記決定手段は、ｍ箇所から選択したｎ箇所に単位画像を形成した場合の当該単位画像の密度を当該ｍ及び当該ｎの値に関連付けた密度情報を参照して、当該ｍ及び当該ｎの少なくとも一方の値を決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記決定手段は、前記ｍの値が１つに定まらなかった場合に、前記複数の領域を区切る複数の枠であって、各枠内の前記単位画像の個数が前記ｎの値に関する所定の条件を満たすものを検出し、当該複数の枠における各枠の大きさに基づいて当該ｍの値を決定することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記決定手段は、前記ｎの値が１つに定まらなかった場合に、前記複数の領域を区切る複数の枠であって、各枠が前記ｍの値に応じた大きさを有し、かつ、各枠内の前記単位画像の個数のばらつきが所定の条件を満たすものを検出し、当該複数の枠における各枠内の当該単位画像の個数の平均値に基づいて当該ｎの値を決定することを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記単位画像は、赤外領域に吸収波長を持つ不可視の画像形成材料を用いて形成され、
前記画像取得手段は、前記記録媒体に赤外光を照射することにより前記単位画像を取得することを特徴とする請求項１記載の画像処理装置。
【請求項６】
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する画像取得手段と、
前記ｎの値を取得する値取得手段と、
前記複数の領域を区切る複数の枠であって、各枠内の前記単位画像の個数が前記ｎの値に関する所定の条件を満たすものを検出する検出手段と、
前記検出手段により検出された前記複数の枠における各枠の大きさに基づいて前記ｍの値を決定する決定手段と、
前記決定手段により決定された前記ｍの値と、前記値取得手段により取得された前記ｎの値とを用いて、前記情報を取得する情報取得手段と
を備えたことを特徴とする画像処理装置。
【請求項７】
前記決定手段は、前記複数の枠における各枠の形状に基づいて前記ｍ箇所の配置を更に決定し、
前記情報取得手段は、前記決定手段により決定された前記ｍ箇所の配置を更に用いて前記情報を取得することを特徴とする請求項６記載の画像処理装置。
【請求項８】
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する画像取得手段と、
前記ｍの値を取得する値取得手段と、
前記複数の領域を区切る複数の枠であって、各枠が前記ｍの値に応じた大きさを有し、かつ、各枠内の前記単位画像の個数のばらつきが所定の条件を満たすものを検出する検出手段と、
前記検出手段により検出された前記複数の枠における各枠内の前記単位画像の個数の平均値に基づいて前記ｎの値を決定する決定手段と、
前記値取得手段により取得された前記ｍの値と、前記決定手段により決定された前記ｎの値とを用いて、前記情報を取得する情報取得手段と
を備えたことを特徴とする画像処理装置。
【請求項９】
コンピュータに、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する機能と、
取得された前記単位画像の前記複数の領域における密度を算出する機能と、
算出された前記密度に基づいて、前記ｍ及び前記ｎの少なくとも一方の値を決定する機能と、
決定された値を用いて前記情報を取得する機能と
を実現させるためのプログラム。
【請求項１０】
コンピュータに、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する機能と、
前記複数の領域を区切る複数の枠であって、各枠内の前記単位画像の個数が所定の条件を満たすものを検出する機能と、
検出された前記複数の枠における各枠の大きさ又は各枠内の前記単位画像の個数の平均値に基づいて、前記ｍ及び前記ｎの少なくとも一方の値を決定する機能と、
決定された値を用いて前記情報を取得する機能と
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、プログラムに関する。
【背景技術】
【０００２】
表面上の複数の位置を符号化する位置コードを提供する方法は知られている(例えば、特許文献１参照)。この特許文献１では、循環数字列を表面に沿って複数回印刷する。その際、循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用し、表面を分割した複数のコードウィンドウが、少なくとも３つの循環数字列を備えると共に、隣り合うコードウィンドウの１つの数字列と重なり合う１つの数字列を有するものであり、また、コードウィンドウの位置を、そのコードウィンドウに属している循環数字列間のずれによって符号化している。
【０００３】
論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている(例えば、特許文献２参照)。この特許文献２では、本質的に同一であるエンコーディングの多数のコピーを形成し、機械認識可能な空間同期指標をエンコーディングのコピーの各々の中のプリント位置に組み合わせて、エンコーディングの空間的に同期可能な多数の事例を提供し、それらの事例をレイアウト規則に従って記録媒体における空間的に周期的な中心の格子に書き込んでいる。
【０００４】
取り込まれた画像の位置をより大きい画像から決定するためのシステム及び方法も知られている(例えば、特許文献３参照)。この特許文献３では、非反復的な系列を、所定のサイズのサブウィンドウ毎に固有とされた非反復的な配列に折り畳み、その取り込まれた位置を非反復的な配列内のサブウィンドウ毎に決定することによって、取り込まれた画像の位置を、より大きいサブウィンドウの画像から決定している。
【０００５】
光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている(例えば、特許文献４参照)。この特許文献４において、記録装置は、プリンタシステムや印刷用製版システムにより、オーディオ情報、映像情報、ディジタルコードデータ等を含めた所謂マルチメディア情報を光学的に読み取り可能なドットコードとして、画像や文字と一緒に紙等の媒体上に記録する。ペン型の情報再生装置は、ドットコードの手動走査に応じてそのドットコードを順次取り込んで、元のオーディオ情報を音声出力器にて、元の映像情報を表示装置にて、元のディジタルコードデータをページプリンタ等にて出力する。
【０００６】
タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている(例えば、特許文献５参照)。この特許文献５において、ペン型の座標入力装置は、媒体上に形成されその媒体上の座標を示すコードシンボルを光学的に読み取り、この読み取ったコードシンボルをデコードし、読み取った画像中におけるコードシンボルの位置、向き及び歪み量を検出する。そして、デコード後の情報と、コードシンボルの位置、向き及び歪み量とにより、先端部の媒体上での位置の座標を検出する。
【０００７】
【特許文献１】特表２００３−５１１７６２号公報
【特許文献２】特開平９−１８５６６９号公報
【特許文献３】特開２００４−１５２２７３号公報
【特許文献４】特開平６−２３１４６６号公報
【特許文献５】特開２０００−２９３３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ここで、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｍ及び/又はｎの値が与えられていないと、情報を取得することができないという課題があった。
本発明の目的は、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｍ及び/又はｎの値が与えられていなくても情報を取得できるようにすることにある。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する画像取得手段と、
前記画像取得手段により取得された前記単位画像の前記複数の領域における密度を算出する算出手段と、
前記算出手段により算出された前記密度に基づいて、前記ｍ及び前記ｎの少なくとも一方の値を決定する決定手段と、
前記決定手段により決定された値を用いて前記情報を取得する情報取得手段と
を備えたことを特徴とする画像処理装置である。
請求項２に記載の発明は、
前記決定手段は、ｍ箇所から選択したｎ箇所に単位画像を形成した場合の当該単位画像の密度を当該ｍ及び当該ｎの値に関連付けた密度情報を参照して、当該ｍ及び当該ｎの少なくとも一方の値を決定することを特徴とする請求項１記載の画像処理装置である。
請求項３に記載の発明は、
前記決定手段は、前記ｍの値が１つに定まらなかった場合に、前記複数の領域を区切る複数の枠であって、各枠内の前記単位画像の個数が前記ｎの値に関する所定の条件を満たすものを検出し、当該複数の枠における各枠の大きさに基づいて当該ｍの値を決定することを特徴とする請求項１記載の画像処理装置である。
請求項４に記載の発明は、
前記決定手段は、前記ｎの値が１つに定まらなかった場合に、前記複数の領域を区切る複数の枠であって、各枠が前記ｍの値に応じた大きさを有し、かつ、各枠内の前記単位画像の個数のばらつきが所定の条件を満たすものを検出し、当該複数の枠における各枠内の当該単位画像の個数の平均値に基づいて当該ｎの値を決定することを特徴とする請求項１記載の画像処理装置である。
請求項５に記載の発明は、
前記単位画像は、赤外領域に吸収波長を持つ不可視の画像形成材料を用いて形成され、
前記画像取得手段は、前記記録媒体に赤外光を照射することにより前記単位画像を取得することを特徴とする請求項１記載の画像処理装置である。
請求項６に記載の発明は、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する画像取得手段と、
前記ｎの値を取得する値取得手段と、
前記複数の領域を区切る複数の枠であって、各枠内の前記単位画像の個数が前記ｎの値に関する所定の条件を満たすものを検出する検出手段と、
前記検出手段により検出された前記複数の枠における各枠の大きさに基づいて前記ｍの値を決定する決定手段と、
前記決定手段により決定された前記ｍの値と、前記値取得手段により取得された前記ｎの値とを用いて、前記情報を取得する情報取得手段と
を備えたことを特徴とする画像処理装置である。
請求項７に記載の発明は、
前記決定手段は、前記複数の枠における各枠の形状に基づいて前記ｍ箇所の配置を更に決定し、
前記情報取得手段は、前記決定手段により決定された前記ｍ箇所の配置を更に用いて前記情報を取得することを特徴とする請求項６記載の画像処理装置である。
請求項８に記載の発明は、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する画像取得手段と、
前記ｍの値を取得する値取得手段と、
前記複数の領域を区切る複数の枠であって、各枠が前記ｍの値に応じた大きさを有し、かつ、各枠内の前記単位画像の個数のばらつきが所定の条件を満たすものを検出する検出手段と、
前記検出手段により検出された前記複数の枠における各枠内の前記単位画像の個数の平均値に基づいて前記ｎの値を決定する決定手段と、
前記値取得手段により取得された前記ｍの値と、前記決定手段により決定された前記ｎの値とを用いて、前記情報を取得する情報取得手段と
を備えたことを特徴とする画像処理装置である。
請求項９に記載の発明は、
コンピュータに、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する機能と、
取得された前記単位画像の前記複数の領域における密度を算出する機能と、
算出された前記密度に基づいて、前記ｍ及び前記ｎの少なくとも一方の値を決定する機能と、
決定された値を用いて前記情報を取得する機能と
を実現させるためのプログラムである。
請求項１０に記載の発明は、
コンピュータに、
記録媒体上の複数の領域の各々においてｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を形成することで情報が埋め込まれた当該記録媒体から当該単位画像を取得する機能と、
前記複数の領域を区切る複数の枠であって、各枠内の前記単位画像の個数が所定の条件を満たすものを検出する機能と、
検出された前記複数の枠における各枠の大きさ又は各枠内の前記単位画像の個数の平均値に基づいて、前記ｍ及び前記ｎの少なくとも一方の値を決定する機能と、
決定された値を用いて前記情報を取得する機能と
を実現させるためのプログラムである。
【発明の効果】
【００１０】
請求項１の発明は、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｍ及び/又はｎの値が与えられていなくても情報を取得できるようになるという効果を有する。
請求項２の発明は、本構成を有していない場合に比較して、簡単な処理でｍ及びｎの少なくとも一方の値を決定できるようになるという効果を有する。
請求項３の発明は、本構成を有していない場合に比較して、ｍの値の決定の精度が高まるという効果を有する。
請求項４の発明は、本構成を有していない場合に比較して、ｎの値の決定の精度が高まるという効果を有する。
請求項５の発明は、記録媒体に形成された画像に影響を与えることなく埋め込まれた情報を取得できるようになるという効果を有する。
請求項６の発明は、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｍの値が与えられていなくても情報を取得できるようになるという効果を有する。
請求項７の発明は、ｍ箇所が正方形を構成していなくても情報を取得できるようになるという効果を有する。
請求項８の発明は、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｎの値が与えられていなくても情報を取得できるようになるという効果を有する。
請求項９の発明は、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｍ及び/又はｎの値が与えられていなくても情報を取得できるようになるという効果を有する。
請求項１０の発明は、ｍ(ｍ≧３)箇所からｎ(１≦ｎ＜ｍ)箇所を選択することによって情報を表現する場合に、ｍ及び/又はｎの値が与えられていなくても情報を取得できるようになるという効果を有する。
【発明を実施するための最良の形態】
【００１１】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
本実施の形態では、ｍ(ｍ≧３)箇所から選択したｎ(１≦ｎ＜ｍ)箇所に単位画像を配置してなるパターン画像(以下、「単位符号パターン」という)によってｍＣｎ(＝ｍ！/｛(ｍ−ｎ)！×ｎ！｝)通りの情報を表現する。つまり、１つの単位画像を情報に対応させるのではなく、複数の単位画像を情報に対応させている。仮に１つの単位画像を情報に対応させたとすると、単位画像が欠損したり、ノイズが加わったりした場合に、誤った情報を表現してしまうという欠点がある。これに対して、例えば２つの単位画像を情報に対応させたとすると、単位画像が１つであったり３つであったりした場合に、容易に誤りであることが分かる。このようなことから、本実施の形態では、上記のような符号化方式を採用している。以下では、このような符号化方式をｍＣｎ方式と称する。
ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像(以下、単に「ドット」という)を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
【００１２】
図１〜図２−２に、ｍＣｎ方式における単位符号パターンの例を示す。
図１は、縦３ドット、横３ドットの合計９ドットを配置可能な領域を設けた例を示している。このうち、図１(ａ)は、９ドットを配置可能な領域に２ドットを配置する９Ｃ２方式における単位符号パターンであり、図１(ｂ)は、９ドットを配置可能な領域に３ドットを配置する９Ｃ３方式における単位符号パターンである。
【００１３】
図において、１つのドットのサイズ(黒い四角の大きさ)は、６００ｄｐｉで２ピクセル×２ピクセルとしている。６００ｄｐｉにおける１ピクセルの大きさは０．０４２３ｍｍなので、この黒い四角の一辺は、８４．６μｍ(＝０．０４２３ｍｍ×２)である。単位符号パターンを構成するドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、５０μｍより大きく１００μｍより小さい上記の値を採用している。従って、９Ｃｎ方式における単位符号パターンの大きさは、６００ｄｐｉで１２ピクセル×１２ピクセル(０．５０７６ｍｍ×０．５０７６ｍｍ)となる。尚、上記のドットの大きさ８４．６μｍは、あくまで計算上の数値であり、実際に印刷されたトナー像では１００μｍ程度になる。
【００１４】
図２−１(ａ)は、４Ｃ１方式における単位符号パターンであり、図２−１(ｂ)は、４Ｃ２方式における単位符号パターンである。また、図２−２(ｃ)は、１６Ｃ２方式における単位符号パターンであり、図２−２(ｄ)は、１６Ｃ３方式における単位符号パターンである。
【００１５】
また、図３−１〜図４に、単位符号パターンの他の例を示す。尚、これらの図では、ドット間の空白を省略している。
図３−１(ａ)は、図１(ａ)に示した９Ｃ２方式における全ての単位符号パターンを示している。９Ｃ２方式では、これらの単位符号パターンを用いて、３６(＝９Ｃ２)通りの情報を表現する。また、図３−１(ｂ)は、図１(ｂ)に示した９Ｃ３方式における全ての単位符号パターンを示している。９Ｃ３方式では、これらの単位符号パターンを用いて、８４(＝９Ｃ３)通りの情報を表現する。更に、図３−２(ｃ)は、その他の９Ｃｎ方式における単位符号パターンの例を示したものである。
図４は、１６Ｃｎ方式における単位符号パターンの例を示している。
尚、単位符号パターンは、ｍ＝４，９，１６の場合に限定されるものではなく、ｍの値としてこれら以外の値を採用してもよい。また、ｎの値も１≦ｎ＜ｍを満たしていれば如何なる値を採用してもよい。
【００１６】
ところで、ここまでは、ｍの値として、平方数(整数の２乗)を採用したが、異なる２つの整数の積を採用してもよい。つまり、ドットを配置可能な領域は、３ドット×３ドットを配置する場合のような正方形の領域に限らず、３ドット×４ドットを配置する場合のような長方形の領域であってもよい。尚、本明細書において、長方形とは、隣り合う２辺の長さが等しくない矩形のことをいうものとする。
【００１７】
図５〜図６−２に、この場合の単位符号パターンの例を示す。
図５(ａ)は、６Ｃ２方式における単位符号パターンであり、図５(ｂ)は、６Ｃ３方式における単位符号パターンである。
図６−１(ａ)は、１２Ｃ２方式における単位符号パターンであり、図６−１(ｂ)は、１２Ｃ３方式における単位符号パターンである。また、図６−２(ｃ)は、１２Ｃ４方式における単位符号パターンであり、図６−２(ｄ)は、１２Ｃ５方式における単位符号パターンである。
【００１８】
また、図７〜図８−２に、単位符号パターンの他の例を示す。尚、これらの図でも、ドット間の空白を省略している。
図７(ａ)は、６Ｃ２方式における全ての単位符号パターンを示している。図７(ｂ)は、６Ｃ３方式における全ての単位符号パターンを示している。
図８−１(ａ)は、図６−１(ａ)に示した１２Ｃ２方式における全ての単位符号パターンを示している。１２Ｃ２方式では、これらの単位符号パターンを用いて、６６(＝１２Ｃ２)通りの情報を表現する。また、図８−２(ｂ)は、１２Ｃ３方式における全ての単位符号パターンを示している。１２Ｃ３方式では、これらの単位符号パターンを用いて、２２０(＝１２Ｃ３)通りの情報を表現する。
尚、単位符号パターンは、ｍ＝６，１２の場合に限定されるものではなく、ｍの値としてこれら以外の値を採用してもよい。また、ｎの値も１≦ｎ＜ｍを満たしていれば如何なる値を採用してもよい。
【００１９】
このように、ｍ箇所からｎ箇所を選択することでｍＣｎ種類の単位符号パターンを用意しているが、本実施の形態では、これらの単位符号パターンのうち、特定のパターンを情報パターンとして利用し、残りを同期パターンとして利用する。ここで、情報パターンとは、記録媒体に埋め込む情報を表現するパターンである。また、同期パターンとは、情報パターンから情報を取り出すために用いられるパターンである。例えば、情報の読出し位置を特定したり、画像の回転を検出したりするために用いられる。尚、記録媒体としては、画像を印刷することの可能な媒体であれば、如何なるものを用いてもよいが、紙やＯＨＰシート等が例示される。
【００２０】
図９に、同期パターンの例を示す。
図９(ａ)は、９Ｃ２方式における同期パターンの例である。このようにｍＣｎ方式におけるｍが平方数である場合は、画像の回転の検出のために４種類の単位符号パターンを同期パターンとして用意する必要がある。ここでは、パターン値３２の単位符号パターンを正立した同期パターンとしている。また、パターン値３３の単位符号パターンを右に９０度回転した同期パターン、パターン値３４の単位符号パターンを右に１８０度回転した同期パターン、パターン値３５の単位符号パターンを右に２７０度回転した同期パターンとしている。この場合、３６種類の単位符号パターンからこの４種類の同期パターンを除いた残りを情報パターンとし、５ビットの情報を表現するとよい。但し、３６種類の単位符号パターンの情報パターンと同期パターンへの振り分け方は、これには限らない。例えば、４種類で１組を構成する同期パターンの組を５つ用意し、残りの１６種類の情報パターンで４ビットの情報を表現してもよい。このように同期パターンの組を複数用意した場合、同期パターンが属する組によって、例えば、情報パターンによる情報の表現方法が選択される。
【００２１】
また、図９(ｂ)は、１２Ｃ２方式における同期パターンの例である。このようにｍＣｎにおけるｍが異なる２つの整数の積である場合は、画像の回転の検出のために２種類の単位符号パターンを同期パターンとして用意すればよい。例えば、図のような縦３ドット×横４ドットを配置可能な領域が検出されるべきなのに、縦４ドット×横３ドットを配置可能な領域が検出された場合は、その時点で画像が９０度又は２７０度回転していることが分かるからである。ここでは、パターン値６４の単位符号パターンを正立した同期パターンとし、パターン値６５の単位符号パターンを１８０度回転した同期パターンとしている。この場合、６６種類の単位符号パターンからこの２種類の同期パターンを除いた残りを情報パターンとし、６ビットの情報を表現するとよい。但し、この場合も、情報パターンと同期パターンの配分には他の組み合わせを採用してもよい。例えば、３４種類の単位符号パターンを１７組の同期パターンとして使用し、残りの３２種類の単位符号パターンを５ビットの情報を表現する情報パターンとして使用してもよい。
【００２２】
次に、この単位符号パターンから構成される符号ブロックについて説明する。
図１０は、符号ブロックの一例を示したものである。図では、９Ｃ２方式における単位符号パターンを使用していることも同時に示している。即ち、３６種類の単位符号パターンを、例えば、同期パターンとして使用する４パターンと、情報パターンとして使用する３２パターンとに分け、各パターンをレイアウトに従って配置する。
図では、レイアウトとして、３ドット×３ドットを配置可能な領域(以下、「ブロック」という)を５個×５個の２５個並べたものを採用している。そして、この２５個のブロックのうち、左上の１ブロックに同期パターンを配置している。また、同期パターンの右の４ブロックにＸ方向の位置情報を表す情報パターンを配置し、同期パターンの下の４ブロックにＹ方向の位置情報を表す情報パターンを配置している。更に、これらの位置情報を表す情報パターンで囲まれた１６ブロックに、紙面又は紙面に印刷される文書の識別情報を表す情報パターンを配置している。
【００２３】
また、本実施の形態では、このようなレイアウトを有する符号ブロックを基本単位とし、この符号ブロックを紙面全体に周期的に配置する。尚、位置情報は、後述するように、紙面の縦及び横に渡ってＭ系列で表現する。また、識別情報の符号化には、いくつかの方法が利用できるが、本実施の形態では、ＲＳ符号化が適している。ＲＳ符号は多値の符号法であり、この場合、ブロックの表現をＲＳ符号の多値に対応させることができるからである。もちろん、他の符号化方法を利用することも可能である。
【００２４】
次いで、このような画像を生成する画像生成装置１０について説明する。
図１１は、画像生成装置１０の構成例を示したブロック図である。
図示するように、画像生成装置１０は、識別符号生成部１１と、位置符号生成部１２と、ブロック合成部１４と、パターン画像記憶部１５と、符号画像生成部１６とを備える。
【００２５】
識別符号生成部１１は、紙面又は紙面に印刷された文書の識別情報を符号化した識別符号を生成する。この識別符号生成部１１は、ブロック分割部１１ａと、ＲＳ符号化部１１ｂとを含んでいる。
このうち、ブロック分割部１１ａは、識別情報を構成するビット列を、ＲＳ符号化を行うために複数のブロックに分割する。例えば、９Ｃ２方式で５ビットの情報を表現可能な情報パターンを用いる場合、６０ビットの識別情報は、ブロック長が５ビットの１２個のブロックに分割される。
また、ＲＳ符号化部１１ｂは、分割されたブロックに対してＲＳ符号化処理を行い、誤り訂正のための冗長ブロックを付加する。先の例において２ブロックの誤りを訂正可能なＲＳ符号を採用したとすると、符号長は１６ブロックとなる。
尚、本実施の形態において、この識別符号生成部１１は、予め定められたｍ及びｎに対応するｍＣｎ方式を用いて識別情報を符号化するものとする。
【００２６】
位置符号生成部１２は、紙面上の座標位置を示す位置情報を符号化した位置符号を生成する。この位置符号生成部１２は、Ｍ系列符号化部１２ａと、ブロック分割部１２ｂとを含む。
このうち、Ｍ系列符号化部１２ａは、Ｍ系列を使用して位置情報を符号化する。例えば、符号化したい位置情報の長さから必要なＭ系列の次数を求め、Ｍ系列を動的に生成することで位置符号を生成する。但し、予め符号化したい位置情報の長さが分かっている場合には、Ｍ系列を画像生成装置１０のメモリ等に格納しておき、画像生成時にそれを読み出す構成としてもよい。
また、ブロック分割部１２ｂは、Ｍ系列を複数のブロックに分割する。例えば、情報パターンとして１６種類の単位符号パターンを選択したとすると、符号ブロックにおける各ブロックには４ビットの情報が格納される。従って、図１０のようなレイアウトを有する符号ブロックに対して、Ｘ方向の位置情報は、１６ビット分格納される。ここで、１２次のＭ系列を利用したとすると、Ｍ系列の系列長は４０９５(＝２１２−１)となる。この系列を４ビットごとに切り出し、符号パターンで表現していくと、最後に３ビットあまることになる。この３ビットに、Ｍ系列の最初の１ビットを加えて４ビットとし符号パターンで表す。更に、Ｍ系列の２ビット目から４ビットごとに切り出し符号パターンで表す。これを繰り返すと、次の周期は、Ｍ系列の３ビット目から始まり、次は、４ビット目となる。更に、５周期目は、５ビット目からとなるが、これは最初の周期と一致する。従って、Ｍ系列の４周期を４ビットごとに切り出していくと、４０９５個の符号パターンで全てを尽くすことができる。Ｍ系列は１２次であるので、３つの連続する符号パターンは、他のどの位置の連続する符号パターンとも一致することはない。そこで、読出し時には３つの符号パターンを読み出せば、復号が可能であるが、誤りを考慮し４ブロックで情報を表現している。
４周期のＭ系列は、４０９５個の符号ブロックに分割して格納される。１つの符号ブロックの一辺の長さは、２．５３８ｍｍ(＝０．５０７６ｍｍ×５)なので、連続する４０９５個の符号ブロックの長さは１０３９３．１ｍｍである。つまり、１０３９３．１ｍｍの長さが符号化されることになる。
尚、本実施の形態において、この位置符号生成部１２は、予め定められたｍ及びｎに対応するｍＣｎ方式を用いて位置情報を符号化するものとする。
【００２７】
ブロック合成部１４は、識別符号生成部１１にて生成された識別符号と、位置符号生成部１２にて生成された位置符号と、識別符号及び位置符号の読出しを制御する同期符号とを２次元平面に配置して２次元の符号配列を生成する。ここで、同期符号とは、同期パターンに対応する符号である。
パターン画像記憶部１５は、例えば図１〜図８に示したｍＣｎ方式における単位符号パターンを記憶する。ここで、単位符号パターンには、個々の単位符号パターンを一意に特定するパターン値が付されている。例えば、９Ｃ２方式における単位符号パターンに対しては、０〜３５のパターン値が付されている。これは、ブロック合成部１４が生成した２次元の符号配列における各符号値に対応している。即ち、各符号値から単位符号パターンが一意に特定され、選択されるようになっている。尚、本実施の形態において、このパターン画像記憶部１５は、予め定められたｍ及びｎに対応するｍＣｎ方式における単位符号パターンを少なくとも記憶していればよい。
符号画像生成部１６は、ブロック合成部１４が生成した２次元の符号配列を参照し、各符号値に対応した単位符号パターンを選択して符号画像を生成する。
【００２８】
そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合において、電子文書上の位置と紙面上の位置とにずれが生じることが考えられる場合には、紙面に対する電子ペンによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。
【００２９】
また、画像形成部は、符号画像を、例えば電子写真方式を用いて、Ｋトナー(カーボンを含む赤外光吸収トナー)、又は、特殊トナーにより形成する。
ここで、特殊トナーとしては、可視光領域(４００ｎｍ〜７００ｎｍ)における最大吸収率が７％以下であり、近赤外領域(８００ｎｍ〜１０００ｎｍ)における吸収率が３０％以上の不可視トナーが例示される。ここで、「可視」及び「不可視」は、目視により認識できるかどうかとは関係しない。印刷された媒体に形成された画像が可視光領域における特定の波長の吸収に起因する発色性の有無により認識できるかどうかで「可視」と「不可視」とを区別している。また、可視光領域における特定の波長の吸収に起因する発色性が若干あるが、人間の目で認識し難いものも「不可視」に含める。
【００３０】
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像生成装置１０のＣＰＵ９１(図２４参照)が、ブロック分割部１１ａ、ＲＳ符号化部１１ｂ、Ｍ系列符号化部１２ａ、ブロック分割部１２ｂ、ブロック合成部１４、重畳画像生成部１６を実現するプログラムを、例えば、磁気ディスク装置９３(図２４参照)からメインメモリ９２(図２４参照)に読み込んで実行することにより、実現される。また、パターン画像記憶部１５は、例えば、磁気ディスク装置９３(図２４参照)を用いて実現するとよい。更に、磁気ディスク装置９３(図２４参照)に記憶されるプログラムやデータは、ＣＤ等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。
【００３１】
次に、紙面に形成された符号画像を読み取って処理する画像処理装置２０について説明する。但し、本実施の形態では、符号画像を生成する際に用いたｍＣｎ方式におけるｍ及びｎの値は分かっていないものとする。
図１２は、画像処理装置２０の構成例を示したブロック図である。
図示するように、画像処理装置２０は、画像読取部２１と、ノイズ除去部２２と、ドット画像検出部２３と、ドット配列生成部２４と、ブロック検出部２５と、同期符号検出部２６と、識別情報取得部２７と、位置情報取得部２８とを備える。
【００３２】
画像読取部２１は、ＣＣＤ(Charge Coupled Devices)やＣＭＯＳ(Complementary Metal Oxide Semiconductor)等の撮像素子から紙面に印刷された符号画像を読み取る。尚、本実施の形態では、記録媒体から単位画像を取得する画像取得手段の一例として、画像読取部２１を設けている。
ノイズ除去部２２は、読み取った画像に含まれるノイズを除去するための処理を行う。ここで、ノイズには、例えば、撮像素子感度のばらつきや電子回路により発生するノイズがある。ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用するとよい。
ドット画像検出部２３は、ノイズが除去された画像からドットを検出する。つまり、ドットが形成された位置を特定する。ここで、ドットの検出は、まず、２値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、２値化された個々の画像位置からドットの位置を検出する。その際、２値化された画像にノイズ成分が多数含まれる場合があるため、２値化された画像の面積や形状によりドットの判定を行うフィルタ処理を組み合わせる必要がある。
【００３３】
ドット配列生成部２４は、検出したドットの位置を参照して、ドット配列を生成する。即ち、２次元の配列上で、例えば、ドットがある位置に「１」を、ドットがない位置に「０」を記憶することにより、画像として検出したドットをデジタルデータに置き換える。そして、この２次元の配列をドット配列として出力する。
尚、本実施の形態において、このドット配列生成部２４は、ドット配列の全要素と例えば「１」が記録されている要素との比に基づいて、符号化の際に使用したｍＣｎ方式におけるｍ及びｎを決定する。即ち、単位画像の密度を算出する算出手段、及び、密度に基づいてｍ及びｎの少なくとも一方の値を決定する決定手段の一例として、ドット配列生成部２４を設けている。
【００３４】
ブロック検出部２５は、ドット配列上で、符号ブロック内の単位符号パターンに対応するブロックを検出する。即ち、単位符号パターンと同じ大きさをもつ矩形のブロック区切りをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいブロック区切り位置とし、各ブロック内のパターン値を格納した符号配列を生成する。
尚、本実施の形態において、このブロック検出部２５は、ブロック内のドット数が均等になる場合のブロックの大きさ及びブロック内のドット数に基づいて、符号化の際に使用したｍＣｎ方式におけるｍ及びｎを決定する。即ち、ｎの値を取得する値取得手段、各枠内の単位画像の個数がｎの値に関する所定の条件を満たす複数の枠を検出する検出手段、及び、各枠の大きさに基づいてｍの値を決定する決定手段の一例として、また、ｍの値を取得する値取得手段、各枠がｍの値に応じた大きさを有しかつ各枠内の単位画像の個数のばらつきが所定の条件を満たす複数の枠を検出する検出手段、及び、各枠内の単位画像の個数の平均値に基づいてｎの値を決定する決定手段の一例として、ブロック検出部２５を設けている。
【００３５】
同期符号検出部２６は、ドット配列から検出された各単位符号パターンの種類を参照して、同期符号を検出する。単位符号パターンは、正方形をなしている場合、９０度単位で回転している可能性がある。そこで、検出された同期符号が４種類の同期パターンのいずれに対応しているかによって、その向きを検出して補正する。また、単位符号パターンは、長方形をなしている場合、１８０度単位で回転している可能性がある。そこで、検出された同期符号が２種類の同期パターンのいずれに対応しているかによって、その向きを検出して補正する。
【００３６】
識別情報取得部２７は、同期符号検出部２６で検出された同期符号に基づいて符号配列から識別情報を取得する。この識別情報取得部２７は、識別符号検出部２７ａと、識別符号復号部２７ｂとを含んでいる。
このうち、識別符号検出部２７ａは、角度が補正された符号配列から、同期符号の位置を基準にして識別符号を検出する。
また、識別符号復号部２７ｂは、図１１で説明したＲＳ符号の符号化処理で用いたパラメータ(ブロック数等)と同じパラメータを用いて識別符号を復号し、識別情報を出力する。
【００３７】
位置情報取得部２８は、同期符号検出部２６で検出された同期符号に基づいて符号配列から位置情報を取得する。この位置情報取得部２８は、位置符号検出部２８ａと、位置符号復号部２８ｂとを含んでいる。
このうち、位置符号検出部２８ａは、角度が補正された符号配列から、同期符号の位置を基準にして位置符号を検出する。
また、位置符号復号部２８ｂは、位置符号検出部２８ａにより検出された位置符号からＭ系列の部分系列を取り出し、画像生成に使用したＭ系列におけるこの部分系列の位置を参照し、この位置を同期符号によるオフセットで補正した値を位置情報として出力する。尚、このとき、オフセットで補正するのは、位置符号の間に同期符号が配置されているためである。
尚、本実施の形態では、決定された値を用いて情報を取得する情報取得手段の一例として、同期符号検出部２６、識別情報取得部２７、及び、位置情報取得部２８を設けている。
【００３８】
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置２０のＣＰＵ９１(図２４参照)が、ノイズ除去部２２、ドット画像検出部２３、ドット配列生成部２４、ブロック検出部２５、同期符号検出部２６、識別符号検出部２７ａ、識別符号復号部２７ｂ、位置符号検出部２８ａ、位置符号復号部２８ｂを実現するプログラムを、例えば、磁気ディスク装置９３(図２４参照)からメインメモリ９２(図２４参照)に読み込んで実行することにより、実現される。また、磁気ディスク装置９３(図２４参照)に記憶されるプログラムやデータは、ＣＤ等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。
【００３９】
次に、本実施の形態の動作について説明する。
本実施の形態では、符号化に用いたｍＣｎ方式におけるｍ及びｎの値が不明であっても、符号化された画像を読み取る際にｍ及びｎの値を特定する。このようなｍ及びｎの値を特定する場合の類型としては、第一に、ｍの値は分かっているがｎの値が分からない場合においてｎの値を特定する場合がある。また、第二に、ｎの値は分かっているがｍの値が分からない場合においてｍの値を特定する場合がある。そして、第三に、ｍ及びｎのいずれの値も分からない場合において両方の値を特定する場合がある。
そこで、以下では、全ての場合に応用可能なように、ｍ及びｎのいずれの値も分からないことを前提として、符号化方式を判定する動作を説明する。
【００４０】
この場合の符号化方式の判定方法には、ドット密度による判定方法と、ブロック区切りを用いた判定方法とがある。
そこで、まず、ドット密度による判定方法について説明する。
このドット密度による判定は、図１２のドット配列生成部２４によるドット配列の生成後の処理として行われる。即ち、処理の前提として、例えば、ドットがある位置に「１」、ドットがない位置に「０」を記憶したドット配列が生成されている。
【００４１】
また、この処理を行うに当たっては、図１３に示すようなドット密度表が、ドット配列生成部２４が参照可能なメモリに記憶されているものとする。
このドット密度表は、ｍＣｎ方式で符号画像を形成した場合におけるドット密度を、ｍの値とｎの値に対応するセル内に格納したものである。例えば、９Ｃ２方式を用いた場合のドット密度は「０．２２２」であり、９Ｃ３方式を用いた場合のドット密度は「０．３３」であることを示している。以下では、このドット密度表において、上からＧ番目の行に格納されたｍをｍ(Ｇ)と表記する。ｍについては、２つの整数の積であることが少なくとも必要であるため、Ｇ行目において必ずしもｍ＝Ｇとなっていないからである。一方、ｎについては、１≦ｎ＜ｍを満たす全ての整数が考えられるため、左からＨ列目においてｎ＝Ｈとなっている。また、Ｇ行Ｈ列のセルに格納されたドット密度をＤＴＢＬ(Ｇ，Ｈ)と表記し、このドット密度表におけるｍの最大値をｍｍａｘと表記する。尚、本実施の形態では、ｍ箇所から選択したｎ箇所に単位画像を形成した場合の単位画像の密度をｍ及びｎの値に関連付けた密度情報の一例として、図１３のドット密度表を採用している。
そして、ドット配列生成部２４は、入力された画像におけるドット密度と、図１３のドット密度表におけるドット密度とを比較し、ｍとｎの値を推定する。
【００４２】
以下、このときのドット配列生成部２４の動作を具体的に説明する。
図１４は、ドット配列生成部２４による符号化方式の判定動作を示したフローチャートである。尚、ドット配列生成部２４は、最も近接した２つのドット間の傾きに基づいて入力画像の傾き角度を検出し、その傾きを有しかつ格子間隔が最も近接したドット間隔と等しくなる格子を重ね合わせることで、ドット配列を生成する処理を行うが、この処理についてはフローチャートから除外してある。
【００４３】
ドット配列生成部２４は、まず、ドット配列における全要素数ＡＤと、ドット配列においてドットがあることを示す例えば「１」が格納されている要素数ＮＤとを数える。そして、ＮＤ/ＡＤを計算することにより、画像全体に占めるドットの比率を算出する。そして、この比率を入力画像のドット密度としてＤｉｎに代入する(ステップ２０１)。
また、ドット配列生成部２４は、ドット密度表の各セルを識別するためのカウンタＧ、Ｈに「１」を代入し、ｍＣｎ方式におけるｍとｎの組み合わせの候補数をカウントするカウンタＺに「０」を代入する(ステップ２０２)。
【００４４】
次に、ドット配列生成部２４は、ドット密度表のＧ行Ｈ列のセルを参照し、そのセル内にあるドット密度ＤＴＢＬ(Ｇ，Ｈ)をＤｒｅｇに代入する(ステップ２０３)。そして、ステップ２０１で求めたＤｉｎと、ステップ２０４で求めたＤｒｅｇとの差が所定の閾値ＴＤより小さいかどうかを判定する(ステップ２０４)。
ここで、ＤｉｎとＤｒｅｇとの差が閾値ＴＤよりも小さい場合、このときのｍ(Ｇ)とＨの組み合わせが求めるべきｍとｎの組み合わせの候補であると考えられる。そこで、まず、Ｚに「１」を加算する。また、ｍの候補を格納する変数ｍｓ(Ｚ)にｍ(Ｇ)を代入し、ｎの候補を格納する変数ｎｓ(Ｚ)にＨを代入する。更に、ｍとｎの組み合わせの候補の数を格納する変数ＺｍａｘにＺを代入する(ステップ２０５)。そして、処理をステップ２０６へ進める。
一方、ＤｉｎとＤｒｅｇとの差が閾値ＴＤよりも小さくない場合は、何も処理を行わずにステップ２０６へ進む。
【００４５】
その後、ドット配列生成部２４は、Ｈ＝ｍ(Ｇ)−１であるかどうかを判定する(ステップ２０６)。ｍＣｎ方式にはｎ＜ｍという条件があるので、Ｇ行目、つまり、ｍ(Ｇ)について走査している場合、Ｈ＜ｍ(Ｇ)を満たすセルにしかドット密度の値が格納されていないからである。
ここで、Ｈ＝ｍ(Ｇ)−１でない場合には、Ｈに「１」を加算して(ステップ２０７)、ステップ２０３〜２０５の処理をＨ＝ｍ(Ｇ)−１となるまで繰り返し行う。また、Ｈ＝ｍ(Ｇ)−１となると、次に、ｍ(Ｇ)＝ｍｍａｘ−１であるかどうかを判定する(ステップ２０８)。ｍ(Ｇ)＝ｍｍａｘ−１でない場合には、Ｈに「１」を代入し、Ｇに「１」を加算して(ステップ２０９)、ステップ２０３〜２０７の処理をｍ(Ｇ)＝ｍｍａｘ−１となるまで繰り返し行う。また、ｍ(Ｇ)＝ｍｍａｘ−１となると、ドット密度表の全てのセルを参照したことになるので、それまでに記録した結果を出力する。即ち、ｍとｎの組み合わせの候補の数Ｚｍａｘと、その候補の数だけのｍとｎの値ｍｓ(Ｚ)，ｎｓ(Ｚ)(Ｚ＝１，２，…，Ｚｍａｘ)を出力する(ステップ２１０)。
【００４６】
次に、ブロック区切りを用いた判定方法について説明する。
このブロック区切りによる判定は、図１２のブロック検出部２５によるブロックの検出と共に行われる。
以下、このときのブロック検出部２５の動作を具体的に説明する。
図１５は、ブロック検出部２５による符号化方式の判定動作を示したフローチャートである。尚、ここでは、単位符号パターンにおけるｍ個のドットが横ｍｘ個×縦ｍｙ個配置されているものとする。
【００４７】
ブロック検出部２５は、まず、ドット配列生成部２４が生成したドット配列に、ｍｘ×ｍｙの大きさのブロック区切りを重ね合わせる(ステップ２２１)。そして、カウンタＩ、Ｊに「０」を代入し、変数ＭｉｎＶにＨＶを代入する(ステップ２２２)。
ここで、Ｉ、Ｊは、ブロック区切りの初期位置からの移動量をカウントするものである。画像の１ラインごとにブロック区切りを移動させ、そのとき移動させたライン数をカウンタＩ、Ｊでカウントする。尚、データ上に重ね合わせるブロック区切り位置は、任意の位置でよい。読み込み位置がずれても、識別情報は繰り返し複製されているので、補間することで識別情報が取得されるからである。また、ブロック区切りの中には、Ｘ位置情報とＹ位置情報を表すブロックが必ず含まれている。
また、ＭｉｎＶは、ブロック内で検出されるドット数のブロック間での分散の最小値を格納するものであり、ＨＶは、分散に対して十分に大きな値を意味している。
【００４８】
次に、ブロック検出部２５は、ブロック区切りをＸ方向にＩ、Ｙ方向にＪ移動させる(ステップ２２３)。初期状態においてＩ、Ｊは「０」であるので、ブロック区切りは移動しない。そして、ブロック区切りの各ブロックに含まれるドット数をカウントして、全ブロック間でのドット数の分散をＶａｒ(Ｉ，Ｊ)に代入し、全ブロックにおけるドット数の平均をＡｖｅ(Ｉ，Ｊ)に代入する(ステップ２２４)。
また、ブロック検出部２５は、Ｖａｒ(Ｉ，Ｊ)とＭｉｎＶとを比較する(ステップ２２５)。ＭｉｎＶの初期値はＨＶなので、最初の比較では、Ｖａｒ(Ｉ，Ｊ)はＭｉｎＶよりも小さくなる。
ここで、Ｖａｒ(Ｉ，Ｊ)がＭｉｎＶよりも小さい場合、ＭｉｎＶにＶａｒ(Ｉ，Ｊ)の値を代入する。また、ブロック区切りのＸ方向の変位を表す変数ＦＸにＩの値を代入し、ブロック区切りのＹ方向の変位を表す変数ＦＹにＪの値を代入する。更に、Ａｖｅ(Ｉ，Ｊ)を四捨五入して整数にした値をｎに代入する(ステップ２２６)。そして、ステップ２２７へ進む。
一方、Ｖａｒ(Ｉ，Ｊ)がＭｉｎＶよりも小さくない場合、何も処理を行わずにステップ２２７へ進む。
【００４９】
その後、ブロック検出部２５は、Ｉ＝ｍｘ−１であるかどうかを判定する(ステップ２２７)。
ここで、Ｉ＝ｍｘ−１でない場合には、Ｉに「１」を加算する(ステップ２２８)。そして、ステップ２２３、２２４の処理を繰り返し行い、Ｖａｒ(Ｉ，Ｊ)とＭｉｎＶとを比較していく(ステップ２２５)。Ｖａｒ(Ｉ，Ｊ)が前回までのＶａｒ(Ｉ，Ｊ)の最小値であるＭｉｎＶよりも小さいと、ＭｉｎＶにＶａｒ(Ｉ，Ｊ)を代入し、そのときのＩの値をＦＸ、Ｊの値をＦＹとし、Ａｖｅ(Ｉ，Ｊ)を四捨五入した整数値をｎとする(ステップ２２６)。また、Ｖａｒ(Ｉ，Ｊ)がＭｉｎＶよりも小さくない場合には、Ｉ＝ｍｘ−１であるかどうかを判定する(ステップ２２７)。
【００５０】
一方、Ｉ＝ｍｘ−１となると、次にＪ＝ｍｙ−１であるかどうかを判定する(ステップ２２９)。Ｊ＝ｍｙ−１でない場合には、Ｉに「０」を代入し、Ｊに「１」を加算する(ステップ２３０)。このような手順を繰り返し行い、(Ｉ，Ｊ)が(０，０)から(ｍｘ−１，ｍｙ−１)までで、Ｖａｒ(Ｉ，Ｊ)が最小のものを検出する。
【００５１】
Ｉ＝ｍｘ−１、Ｊ＝ｍｙ−１までの処理が終了すると、ブロック検出部２５は、保存しているＭｉｎＶと閾値ＴＶとを比較する(ステップ２３１)。閾値ＴＶは、各ブロック内のドット数の全ブロック間での分散が大きくなり過ぎるのを阻止するための閾値である。
ここで、ＭｉｎＶが閾値ＴＶよりも小さい場合、ブロック区切りをＦＸ、ＦＹの位置に固定し、その位置で各ブロックの単位符号パターンを検出して、対応するパターン値に変換する。パターン値は、各ブロックを識別する変数Ｘ、Ｙと共にＰ(Ｘ，Ｙ)としてメモリに記憶される。尚、検出した単位符号パターンを対応するパターン値に変換できない場合は、パターン値の代わりに「−１」を格納する(ステップ２３２)。
一方、ＭｉｎＶが閾値ＴＶよりも小さくない場合は、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する(ステップ２３３)。
【００５２】
次いで、本実施の形態における符号化方式の判定について、具体例を用いて説明する。
図１６は、ｍ及びｎの値が分かっている場合の例である。本実施の形態では、ｍ及びｎの少なくとも一方の値が分かっていないことが前提であるが、図１４の処理により一定以上の確度でｍとｎの組み合わせが１つに定まった場合には、このような処理を行うことがある。ここでは、ｍ＝９、ｎ＝２であることが分かっているものとする。
【００５３】
この場合、まず、ブロック検出部２５は、ドット配列生成部２４からドット配列を取得する。ここで取得するドット配列のサイズは予め設定されているが、画像の任意に選択された領域に対応しているので、ブロック区切りの位置は分からない。そこで、初めに、ドット配列の端を基準にブロック分割を行う。この例では、ｍ＝９なので、３ドット×３ドットの大きさのブロック区切りを重ねる。次に、各ブロック内のドットを数える。この例では、ｎ＝２なので、各ブロック内に２ドットずつ存在する場合のブロック区切りの位置が正しい区切り位置であるが、この位置ではドット数がばらついており、正しくないことが分かる。そこで、ブロック区切りをずらしてブロック内のドット数を数える。即ち、右方向への開始位置、１ドット分移動した位置、２ドット分移動した位置について同様の動作を行う。また、これらの位置のそれぞれに対し、下方向への開始位置、１ドット移動した位置、２ドット移動した位置についても同様の動作を行う。その結果、右方向に１ドット移動し、下方向に２ドット移動した位置において、全てのブロック内のドット数が「２」となり、ドット数の分散が「０」となる。従って、この位置を正しい区切り位置とする。
【００５４】
尚、このように、図１４の処理でｍとｎの組み合わせが一定の確度で１つに定まったような場合には、図１５のステップ２２４で、ブロック内のドット数がｎであるブロックの数を変数ＩＢ(Ｉ，Ｊ)に代入し、ステップ２２５〜２３０で、ＩＢ(Ｉ，Ｊ)の最大値をＭａｘＢＮに代入し、ステップ２３１で、ＭａｘＢＮが閾値ＴＢよりも大きいかどうかを判定するようにしてもよい。
【００５５】
図１７は、ｍの値は分かっているがｎの値は分かっていない場合の例である。ここでは、ｍ＝９であることが分かっているものとする。そのため、正方形のブロック区切りを用いている。即ち、ｍｘ＝３、ｍｙ＝３として図１５の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。その結果、右方向に１ドット移動し、下方向に２ドット移動した位置において、全てのブロック内のドット数が「３」となり、ドット数の分散が「０」となる。従って、この位置を正しい区切り位置とする。
【００５６】
ところが、ｍ及びｎのいずれの値も共に不明な場合も考えられる。
この場合は、まず、図１４の処理を行う。即ち、入力されたドット配列の全体の要素数と、実際に配置されているドット数の比を計算する。そして、この比に近いドット密度に対応するｍとｎの組み合わせを、図１３のドット密度表から特定する。
このとき、ｍとｎの組み合わせが異なっても、ドット密度が近い値になることがある。
一例として、９Ｃ２方式を用いた場合のドット密度と、１２Ｃ３方式を用いた場合のドット密度とは近い値であり、閾値によっては、これらの符号化方式が求める符号化方式の候補となることが考えられる。
【００５７】
例えば、９Ｃ２方式で符号化したとする。
この場合、図１６に示したように、ｍｘ＝３、ｍｙ＝３として図１５の処理を行うことにより、正しいブロック区切りが見つかる。
しかしながら、例えば、ｍｘ＝４、ｍｙ＝３として図１５の処理を行うと、正しいブロック区切りが得られない。図１８に、このときの状態を示している。
【００５８】
また、９Ｃ３方式を用いた場合のドット密度と、１２Ｃ４方式を用いた場合のドット密度とは同じ値であり、実際のドット密度がこのいずれであるかをこの処理で特定することはできない。
例えば、９Ｃ３方式で符号化したとする。
この場合、図１７に示したように、ｍｘ＝３、ｍｙ＝３として図１５の処理を行うことにより、正しいブロック区切りが見つかる。
しかしながら、例えば、ｍｘ＝４、ｍｙ＝３として図１５の処理を行うと、正しいブロック区切りが得られない。図１９に、このときの状態を示している。
【００５９】
一方、１２Ｃ４方式で符号化したとする。
図２０では、ｍｘ＝４、ｍｙ＝３として図１５の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。その結果、右方向に１ドット移動し、下方向に２ドット移動した位置において、全てのブロック内のドット数が「４」となり、ドット数の分散が「０」となる。従って、この位置を正しい区切り位置とする。
【００６０】
図２１は、入力された画像の向きが９０度回転している場合の例である。図の例では、入力された画像におけるブロックが縦４ドット×横３ドットである場合に、ｍｘ＝４、ｍｙ＝３として図１５の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。ところが、この場合に、全てのブロック内のドット数が同じになることはない。そこで、ドット配列を９０度回転して検出処理を行うことになる。
【００６１】
図２２では、ｍｘ＝３、ｍｙ＝３として図１５の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。ところが、この場合、全てのブロック内のドット数が同じになることはない。
【００６２】
次に、このような画像処理装置２０を適用可能な電子ペン６０について説明する。
図２３は、電子ペン６０の機構を示した図である。
図示するように、電子ペン６０は、ペン全体の動作を制御する制御回路６１を備える。また、制御回路６１は、入力画像から検出した符号画像を処理する画像処理部６１ａと、そこでの処理結果から識別情報及び位置情報を抽出するデータ処理部６１ｂとを含む。
そして、制御回路６１には、電子ペン６０による筆記動作をペンチップ６９に加わる圧力によって検出する圧力センサ６２が接続されている。また、媒体上に赤外光を照射する赤外ＬＥＤ６３と、画像を入力する赤外ＣＭＯＳ６４も接続されている。更に、識別情報及び位置情報を記憶するための情報メモリ６５と、外部装置と通信するための通信回路６６と、ペンを駆動するためのバッテリ６７と、ペンの識別情報(ペンＩＤ)を記憶するペンＩＤメモリ６８も接続されている。
【００６３】
尚、図１２に示した画像読取部２１は、例えば、図２３の赤外ＣＭＯＳ６４にて実現される。また、図１２に示したノイズ除去部２２、ドット画像検出部２３、ドット配列生成部２４は、例えば、図２３の画像処理部６１ａにて実現される。更に、図１２に示したブロック検出部２５、同期符号検出部２６、識別情報取得部２７、位置情報取得部２８は、例えば、図２３のデータ処理部６１ｂにて実現される。
【００６４】
また、画像生成装置１０は、例えば、サーバコンピュータ、クライアントコンピュータ、プリンタ等の画像形成装置のコンピュータ部分で実現される。一方、画像処理装置２０は、電子ペン６０だけでなく、例えば、スキャナ等の画像読取装置のコンピュータ部分でも実現される。そこで、画像生成装置１０及び画像処理装置２０を一般的なコンピュータ９０で実現するものとし、コンピュータ９０のハードウェア構成について説明する。
図２４は、コンピュータ９０のハードウェア構成を示した図である。
図示するように、コンピュータ９０は、演算手段であるＣＰＵ(Central Processing Unit)９１と、記憶手段であるメインメモリ９２及び磁気ディスク装置(ＨＤＤ：Hard Disk Drive)９３とを備える。ここで、ＣＰＵ９１は、ＯＳ(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ９２は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置９３は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ９０は、外部との通信を行うための通信Ｉ/Ｆ９４と、ビデオメモリやディスプレイ等からなる表示機構９５と、キーボードやマウス等の入力デバイス９６とを備える。
【００６５】
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【図面の簡単な説明】
【００６６】
【図１】９Ｃｎ方式における単位符号パターンの例を示した図である。
【図２−１】４Ｃｎ方式における単位符号パターンの例を示した図である。
【図２−２】１６Ｃｎ方式における単位符号パターンの例を示した図である。
【図３−１】９Ｃｎ方式における単位符号パターンの他の例を示した図である。
【図３−２】９Ｃｎ方式における単位符号パターンの他の例を示した図である。
【図４】１６Ｃｎ方式における単位符号パターンの他の例を示した図である。
【図５】９Ｃｎ方式における単位符号パターンの例を示した図である。
【図６−１】１２Ｃｎ方式における単位符号パターンの例を示した図である。
【図６−２】１２Ｃｎ方式における単位符号パターンの例を示した図である。
【図７】６Ｃｎ方式における単位符号パターンの他の例を示した図である。
【図８−１】１２Ｃｎ方式における単位符号パターンの他の例を示した図である。
【図８−２】１２Ｃｎ方式における単位符号パターンの他の例を示した図である。
【図９】同期パターンの例を示した図である。
【図１０】符号ブロックのレイアウトの例を示した図である。
【図１１】本実施の形態の画像生成装置の機能ブロック図である。
【図１２】本実施の形態の画像処理装置の機能ブロック図である。
【図１３】本実施の形態で参照するドット密度表を示した図である。
【図１４】ドット密度による符号化方式の判定動作を示したフローチャートである。
【図１５】ブロック区切りを用いた符号化方式の判定動作を示したフローチャートである。
【図１６】９Ｃ２符号を９Ｃ２方式で復号する際のブロック区切りを示した図である。
【図１７】９Ｃ３符号を９Ｃｎ方式で復号する際のブロック区切りを示した図である。
【図１８】９Ｃ２符号を１２Ｃｎ方式で復号する際のブロック区切りを示した図である。
【図１９】９Ｃ３符号を１２Ｃｎ方式で復号する際のブロック区切りを示した図である。
【図２０】１２Ｃ４符号を１２Ｃｎ方式で復号する際のブロック区切りを示した図である。
【図２１】１２Ｃ４符号を１２Ｃｎ方式で復号する際のブロック区切りを示した図である。
【図２２】１２Ｃ４符号を９Ｃｎ方式で復号する際のブロック区切りを示した図である。
【図２３】本実施の形態を適用可能な電子ペンの機構を示した図である。
【図２４】本実施の形態を適用可能なコンピュータのハードウェア構成図である。
【符号の説明】
【００６７】
１０…画像生成装置、１１…識別符号生成部、１２…位置符号生成部、１４…ブロック合成部、１５…パターン画像記憶部、１６…重畳画像生成部、２０…画像処理装置、２１…画像読取部、２２…ノイズ除去部、２３…ドット画像検出部、２４…ドット配列生成部、２５…ブロック検出部、２６…同期符号検出部、２７…識別情報取得部、２８…位置情報取得部
【図１】
2008112218.tif 000003
【図２−１】
2008112218.tif 000004
【図２−２】
2008112218.tif 000005
【図３−１】
2008112218.tif 000006
【図３−２】
2008112218.tif 000007
【図４】
2008112218.tif 000008
【図５】
2008112218.tif 000009
【図６−１】
2008112218.tif 000010
【図６−２】
2008112218.tif 000011
【図７】
2008112218.tif 000012
【図８−１】
2008112218.tif 000013
【図８−２】
2008112218.tif 000014
【図９】
2008112218.tif 000015
【図１０】
2008112218.tif 000016
【図１１】
2008112218.tif 000017
【図１２】
2008112218.tif 000018
【図１３】
2008112218.tif 000019
【図１４】
2008112218.tif 000020
【図１５】
2008112218.tif 000021
【図１６】
2008112218.tif 000022
【図１７】
2008112218.tif 000023
【図１８】
2008112218.tif 000024
【図１９】
2008112218.tif 000025
【図２０】
2008112218.tif 000026
【図２１】
2008112218.tif 000027
【図２２】
2008112218.tif 000028
【図２３】
2008112218.tif 000029
【図２４】
2008112218.tif 000030