[go: up one dir, main page]

JP2008113258A - 画像生成装置、画像処理装置、及びプログラム - Google Patents

画像生成装置、画像処理装置、及びプログラム Download PDF

Info

Publication number
JP2008113258A
JP2008113258A JP2006295009A JP2006295009A JP2008113258A JP 2008113258 A JP2008113258 A JP 2008113258A JP 2006295009 A JP2006295009 A JP 2006295009A JP 2006295009 A JP2006295009 A JP 2006295009A JP 2008113258 A JP2008113258 A JP 2008113258A
Authority
JP
Japan
Prior art keywords
image
pattern
code
information
pattern image
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
Application number
JP2006295009A
Other languages
English (en)
Inventor
Takashi Sonoda
隆志 園田
Kenji Onishi
健司 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006295009A priority Critical patent/JP2008113258A/ja
Priority to US11/785,330 priority patent/US8019181B2/en
Publication of JP2008113258A publication Critical patent/JP2008113258A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10881Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

【課題】情報を表す画像とその画像の読取りを制御する画像との間に視覚差が生じないようにする。
【解決手段】識別符号を生成する識別符号生成部11と、位置符号を生成する位置符号生成部12と、付加符号を生成する付加符号生成部13と、識別符号と位置符号と同期符号とを配置した符号配列を生成するブロック合成部14と、m箇所から選択したn箇所に単位画像を配置してなるmCn個の単位符号パターンを記憶するパターン画像記憶部15と、識別符号及び位置符号に対応する情報パターンとこの情報パターンの読取りを制御する同期パターンとをmCn個の単位符号パターンから選択して符号画像を生成する符号画像生成部16とを備えた。また、同期パターンを複数の組に分け、使用する同期パターンが属する組を選択することで、符号ブロックのレイアウトや付加符号の埋め込み方式の切替を制御するようにした。
【選択図】図15

Description

本発明は、画像生成装置、画像処理装置、プログラムに関する。
表面上の複数の位置を符号化する位置コードを提供する方法は知られている(例えば、特許文献1参照)。この特許文献1では、循環数字列を表面に沿って複数回印刷する。その際、循環数字列の異なるローテーションを、隣り合う数字列間で所定のずれが起こるように使用し、表面を分割した複数のコードウィンドウが、少なくとも3つの循環数字列を備えると共に、隣り合うコードウィンドウの1つの数字列と重なり合う1つの数字列を有するものであり、また、コードウィンドウの位置を、そのコードウィンドウに属している循環数字列間のずれによって符号化している。
論理的に順位付けられたデジタル量子の機械読取り可能なエンコーディングを記録した記録媒体からのエンコーディングの空間的に非同期的な読取りを可能にする技術も知られている(例えば、特許文献2参照)。この特許文献2では、本質的に同一であるエンコーディングの多数のコピーを形成し、機械認識可能な空間同期指標をエンコーディングのコピーの各々の中のプリント位置に組み合わせて、エンコーディングの空間的に同期可能な多数の事例を提供し、それらの事例をレイアウト規則に従って記録媒体における空間的に周期的な中心の格子に書き込んでいる。
取り込まれた画像の位置をより大きい画像から決定するためのシステム及び方法も知られている(例えば、特許文献3参照)。この特許文献3では、非反復的な系列を、所定のサイズのサブウィンドウ毎に固有とされた非反復的な配列に折り畳み、その取り込まれた位置を非反復的な配列内のサブウィンドウ毎に決定することによって、取り込まれた画像の位置を、より大きいサブウィンドウの画像から決定している。
光学的に読み取り可能に記録されるマルチメディア情報の長時間記録及び繰り返し再生を可能とする技術も知られている(例えば、特許文献4参照)。この特許文献4において、記録装置は、プリンタシステムや印刷用製版システムにより、オーディオ情報、映像情報、ディジタルコードデータ等を含めた所謂マルチメディア情報を光学的に読み取り可能なドットコードとして、画像や文字と一緒に紙等の媒体上に記録する。ペン型の情報再生装置は、ドットコードの手動走査に応じてそのドットコードを順次取り込んで、元のオーディオ情報を音声出力器にて、元の映像情報を表示装置にて、元のディジタルコードデータをページプリンタ等にて出力する。
タブレットを使用せずに、媒体上の座標を精緻に検出できるようにする技術も知られている(例えば、特許文献5参照)。この特許文献5において、ペン型の座標入力装置は、媒体上に形成されその媒体上の座標を示すコードシンボルを光学的に読み取り、この読み取ったコードシンボルをデコードし、読み取った画像中におけるコードシンボルの位置、向き及び歪み量を検出する。そして、デコード後の情報と、コードシンボルの位置、向き及び歪み量とにより、先端部の媒体上での位置の座標を検出する。
特表2003−511762号公報 特開平9−185669号公報 特開2004−152273号公報 特開平6−231466号公報 特開2000−293303号公報
ここで、情報を表す画像と、その画像の読取りを制御する画像との間に視覚差が生じてしまうという課題があった。
本発明の目的は、情報を表す画像と、その画像の読取りを制御する画像との間に視覚差が生じないようにすることにある。
請求項1に記載の発明は、
記録媒体上の複数の区画の各々に埋め込む情報を取得する取得手段と、
m(m≧4)箇所から選択したn(2≦n<m)箇所に単位画像を配置してなるmCn個のパターン画像のうち、前記情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを、前記複数の区画の各々に配置した画像を生成する生成手段と
を備えたことを特徴とする画像生成装置である。
請求項2に記載の発明は、
前記mの値は、平方数であり、
前記第2のパターン画像は、前記mCn個のパターン画像のうち、前記区画の回転を検出するための4q個のパターン画像から選択されたものであり、
前記第1のパターン画像は、前記mCn個のパターン画像のうち、前記4q個のパターン画像を除く2個のパターン画像から選択されたものであることを特徴とする請求項1記載の画像生成装置である(但し、p,qは、2+4q≦mCnを満たす自然数)。
請求項3に記載の発明は、
前記mの値は、異なる2つの整数の積であり、
前記第2のパターン画像は、前記mCn個のパターン画像のうち、前記区画の回転を検出するための2q個のパターン画像から選択されたものであり、
前記第1のパターン画像は、前記mCn個のパターン画像のうち、前記2q個のパターン画像を除く2個のパターン画像から選択されたものであることを特徴とする請求項1記載の画像生成装置である(但し、p,qは、2+2q≦mCnを満たす自然数)。
請求項4に記載の発明は、
前記第2のパターン画像は、複数のパターン画像群のいずれかに属し、
前記複数のパターン画像群の各々は、前記第1のパターン画像の配置に関する規則に対応付けられており、
前記生成手段は、特定の規則に従って前記第1のパターン画像を配置し、当該特定の規則に対応付けられた前記パターン画像群に属する前記第2のパターン画像を配置した前記画像を生成することを特徴とする請求項1記載の画像生成装置である。
請求項5に記載の発明は、
情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを含む画像が形成された記録媒体から、当該画像を取得する画像取得手段と、
前記画像取得手段により取得された前記画像に含まれる前記第2のパターン画像に基づいて、当該画像に含まれる前記第1のパターン画像が表す前記情報を取得する情報取得手段とを備え、
前記第2のパターン画像は、複数のパターン画像群のいずれかに属し、
前記複数のパターン画像群の各々は、前記第1のパターン画像の配置に関する規則に対応付けられており、
前記情報取得手段は、前記第2のパターン画像が属する前記パターン画像群を特定し、当該パターン画像群に対応付けられた前記規則に応じて、前記情報を取得することを特徴とする画像処理装置である。
請求項6に記載の発明は、
前記画像は、前記記録媒体上の複数の区画の各々に、m(m≧4)箇所から選択したn(2≦n<m)箇所に単位画像を配置してなるmCn個のパターン画像の中から選択された前記第1のパターン画像と前記第2のパターン画像とを配置してなることを特徴とする請求項5記載の画像処理装置である。
請求項7に記載の発明は、
前記規則は、前記区画の大きさ、又は、前記区画の各位置に配置される情報の種類に関する規則であることを特徴とする請求項5記載の画像処理装置である。
請求項8に記載の発明は、
前記規則は、前記第1のパターン画像を複数のパターン画像群から選択する方法に関する規則であることを特徴とする請求項5記載の画像処理装置である。
請求項9に記載の発明は、
前記画像は、赤外領域に吸収波長を持つ不可視の画像形成材料を用いて形成され、
前記画像取得手段は、前記記録媒体に赤外光を照射することにより前記画像を取得することを特徴とする請求項5記載の画像処理装置である。
請求項10に記載の発明は、
コンピュータに、
記録媒体上の複数の区画の各々に埋め込む情報を取得する機能と、
m(m≧4)箇所から選択したn(2≦n<m)箇所に単位画像を配置してなるmCn個のパターン画像のうち、前記情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを、前記複数の区画の各々に配置した画像を生成する機能と
を実現させるためのプログラムである。
請求項11に記載の発明は、
コンピュータに、
情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを含む画像が形成された記録媒体から、当該画像を取得する機能と、
取得された前記画像に含まれる前記第2のパターン画像に基づいて、当該画像に含まれる前記第1のパターン画像が表す前記情報を取得する機能とを実現させ、
前記第2のパターン画像は、複数のパターン画像群のいずれかに属し、
前記複数のパターン画像群の各々は、前記第1のパターン画像の配置に関する規則に対応付けられており、
前記情報を取得する機能では、前記第2のパターン画像が属する前記パターン画像群を特定し、当該パターン画像群に対応付けられた前記規則に応じて、前記情報を取得することを特徴とするプログラムである。
請求項1の発明は、情報を表す画像と、その画像からの情報の取得を制御する画像との間に視覚差が生じなくなるという効果を有する。
請求項2の発明は、本構成を有していない場合に比較して、情報を表す画像と、その画像からの情報の取得を制御する画像とを効率よく選択できるという効果を有する。
請求項3の発明は、本構成を有していない場合に比較して、情報を表す画像と、その画像からの情報の取得を制御する画像とを効率よく選択できるという効果を有する。
請求項4の発明は、本構成を有していない場合に比較して、情報の表現方法の拡張性が高まるという効果を有する。
請求項5の発明は、情報を表す画像を種々の規則に従って配置した記録媒体からその情報を取得することができるという効果を有する。
請求項6の発明は、m(m≧4)箇所からn(2≦n<m)箇所を選択することによって情報を表現する場合に、情報を表す画像と、その画像からの情報の取得を制御する画像との間に視覚差が生じなくなるという効果を有する。
請求項7の発明は、情報を表す画像を情報量や情報の種類に関する種々の規則に従って配置した記録媒体からその情報を取得することができるという効果を有する。
請求項8の発明は、情報を表す画像を画像群からの選択方法に関する種々の規則に従って配置した記録媒体からその情報を取得することができるという効果を有する。
請求項9の発明は、記録媒体に形成された画像に影響を与えることなく埋め込まれた画像を取得できるようになるという効果を有する。
請求項10の発明は、m(m≧4)箇所からn(2≦n<m)箇所を選択することによって情報を表現する場合に、情報を表す画像と、その画像からの情報の取得を制御する画像との間に視覚差が生じなくなるという効果を有する。
請求項11の発明は、情報を表す画像を種々の規則に従って配置した記録媒体からその情報を取得することができるという効果を有する。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
本実施の形態では、m(m≧3)箇所から選択したn(1≦n<m)箇所に単位画像を配置してなるパターン画像(以下、「単位符号パターン」という)によってmCn(=m!/{(m−n)!×n!})通りの情報を表現する。つまり、1つの単位画像を情報に対応させるのではなく、複数の単位画像を情報に対応させている。仮に1つの単位画像を情報に対応させたとすると、単位画像が欠損したり、ノイズが加わったりした場合に、誤った情報を表現してしまうという欠点がある。これに対して、例えば2つの単位画像を情報に対応させたとすると、単位画像が1つであったり3つであったりした場合に、容易に誤りであることが分かる。更に、1つの単位画像で1ビット、又は、高々2ビットを表現する方法では、情報を表現するパターンと視覚的に似たパターンで、情報パターンの読出しを制御する同期パターンを表現することができない。このようなことから、本実施の形態では、上記のような符号化方式を採用している。以下では、このような符号化方式をmCn方式と称する。
ここで、単位画像としては、如何なる形状のものを用いてもよい。本実施の形態では、単位画像の一例としてドット画像(以下、単に「ドット」という)を用いるが、例えば、斜線パターン等、他の形状の画像であってもよい。
図1〜図2−2に、mCn方式における単位符号パターンの例を示す。
図1は、縦3ドット、横3ドットの合計9ドットを配置可能な領域を設けた例を示している。このうち、図1(a)は、9ドットを配置可能な領域に2ドットを配置する9C2方式における単位符号パターンであり、図1(b)は、9ドットを配置可能な領域に3ドットを配置する9C3方式における単位符号パターンである。
図において、1つのドットのサイズ(黒い四角の大きさ)は、600dpiで2ピクセル×2ピクセルとしている。600dpiにおける1ピクセルの大きさは0.0423mmなので、この黒い四角の一辺は、84.6μm(=0.0423mm×2)である。単位符号パターンを構成するドットは、大きくなればなるほど目に付きやすくなるため、できるだけ小さいほうが好ましい。ところが、あまり小さくすると、プリンタで印刷できなくなってしまう。そこで、ドットの大きさとして、50μmより大きく100μmより小さい上記の値を採用している。従って、9Cn方式における単位符号パターンの大きさは、600dpiで12ピクセル×12ピクセル(0.5076mm×0.5076mm)となる。尚、上記のドットの大きさ84.6μmは、あくまで計算上の数値であり、実際に印刷されたトナー像では100μm程度になる。
図2−1(a)は、4C1方式における単位符号パターンであり、図2−1(b)は、4C2方式における単位符号パターンである。また、図2−2(c)は、16C2方式における単位符号パターンであり、図2−2(d)は、16C3方式における単位符号パターンである。
また、図3−1〜図4に、単位符号パターンの他の例を示す。尚、これらの図では、ドット間の空白を省略している。
図3−1(a)は、図1(a)に示した9C2方式における全ての単位符号パターンを示している。9C2方式では、これらの単位符号パターンを用いて、36(=)通りの情報を表現する。また、図3−1(b)は、図1(b)に示した9C3方式における全ての単位符号パターンを示している。9C3方式では、これらの単位符号パターンを用いて、84(=)通りの情報を表現する。更に、図3−2(c)は、その他の9Cn方式における単位符号パターンの例を示したものである。
図4は、16Cn方式における単位符号パターンの例を示している。
尚、単位符号パターンは、m=4,9,16の場合に限定されるものではなく、mの値としてこれら以外の値を採用してもよい。また、nの値も1≦n<mを満たしていれば如何なる値を採用してもよい。
ところで、ここまでは、mの値として、平方数(整数の2乗)を採用したが、異なる2つの整数の積を採用してもよい。つまり、ドットを配置可能な領域は、3ドット×3ドットを配置する場合のような正方形の領域に限らず、3ドット×4ドットを配置する場合のような長方形の領域であってもよい。尚、本明細書において、長方形とは、隣り合う2辺の長さが等しくない矩形のことをいうものとする。
図5〜図6−2に、この場合の単位符号パターンの例を示す。
図5(a)は、6C2方式における単位符号パターンであり、図5(b)は、6C3方式における単位符号パターンである。
図6−1(a)は、12C2方式における単位符号パターンであり、図6−1(b)は、12C3方式における単位符号パターンである。また、図6−2(c)は、12C4方式における単位符号パターンであり、図6−2(d)は、12C5方式における単位符号パターンである。
また、図7〜図8−2に、単位符号パターンの他の例を示す。尚、これらの図でも、ドット間の空白を省略している。
図7(a)は、6C2方式における全ての単位符号パターンを示している。図7(b)は、6C3方式における全ての単位符号パターンを示している。
図8−1(a)は、図6−1(a)に示した12C2方式における全ての単位符号パターンを示している。12C2方式では、これらの単位符号パターンを用いて、66(=12)通りの情報を表現する。また、図8−2(b)は、12C3方式における全ての単位符号パターンを示している。12C3方式では、これらの単位符号パターンを用いて、220(=12)通りの情報を表現する。
尚、単位符号パターンは、m=6,12の場合に限定されるものではなく、mの値としてこれら以外の値を採用してもよい。また、nの値も1≦n<mを満たしていれば如何なる値を採用してもよい。
このように、m箇所からn箇所を選択することでmCn種類の単位符号パターンを用意しているが、本実施の形態では、これらの単位符号パターンのうち、特定のパターンを情報パターンとして利用し、残りを同期パターンとして利用する。ここで、情報パターンとは、記録媒体に埋め込む情報を表現するパターンである。また、同期パターンとは、情報パターンから情報を取り出すために用いられるパターンである。例えば、情報の読出し位置を特定したり、画像の回転を検出したりするために用いられる。尚、記録媒体としては、画像を印刷することの可能な媒体であれば、如何なるものを用いてもよいが、紙やOHPシート等が例示される。
尚、本実施の形態では、情報を表す第1のパターン画像の一例として、情報パターンを設け、第1のパターン画像の読取りを制御する第2のパターン画像の一例として、同期パターンを設けている。
図9に、同期パターンの例を示す。
図9(a)は、9C2方式における同期パターンの例である。このようにmCn方式におけるmが平方数である場合は、画像の回転の検出のために4種類の単位符号パターンを同期パターンとして用意する必要がある。ここでは、パターン値32の単位符号パターンを正立した同期パターンとしている。また、パターン値33の単位符号パターンを右に90度回転した同期パターン、パターン値34の単位符号パターンを右に180度回転した同期パターン、パターン値35の単位符号パターンを右に270度回転した同期パターンとしている。この場合、36種類の単位符号パターンからこの4種類の同期パターンを除いた残りを情報パターンとし、5ビットの情報を表現するとよい。但し、36種類の単位符号パターンの情報パターンと同期パターンへの振り分け方は、これには限らない。例えば、4種類で1組を構成する同期パターンの組を5つ用意し、残りの16種類の情報パターンで4ビットの情報を表現してもよい。このように同期パターンの組を複数用意した場合、同期パターンが属する組によって、例えば、情報パターンによる情報の表現方法が選択される。
また、図9(b)は、12C2方式における同期パターンの例である。このようにmCnにおけるmが異なる2つの整数の積である場合は、画像の回転の検出のために2種類の単位符号パターンを同期パターンとして用意すればよい。例えば、図のような縦3ドット×横4ドットを配置可能な領域が検出されるべきなのに、縦4ドット×横3ドットを配置可能な領域が検出された場合は、その時点で画像が90度又は270度回転していることが分かるからである。ここでは、パターン値64の単位符号パターンを正立した同期パターンとし、パターン値65の単位符号パターンを180度回転した同期パターンとしている。この場合、66種類の単位符号パターンからこの2種類の同期パターンを除いた残りを情報パターンとし、6ビットの情報を表現するとよい。但し、この場合も、情報パターンと同期パターンの配分には他の組み合わせを採用してもよい。例えば、34種類の単位符号パターンを17組の同期パターンとして使用し、残りの32種類の単位符号パターンを5ビットの情報を表現する情報パターンとして使用してもよい。
ここで、単位符号パターンの情報パターンと同期パターンへの配分について、より詳しく説明する。
図10は、このような配分方法の例を示した表である。
この表には、まず、ドットを配置可能な領域における配置可能ドット数(m)と、ドットを配置可能な領域に実際に配置される配置ドット数(n)と、mCn方式における単位符号パターンの全パターン数(mCn)とを示している。
また、同じmCn方式について、幾つかの配分方法を例示しており、各配分方法に対し、配分No.と、情報パターン数と、ビット数と、同期パターン数と、組数とを示している。このうち、情報パターン数は、2p1+2p2+・・・+2prとしている。つまり、2のべき乗個の情報パターンからなるグループをr個用意している。また、同期パターン数は、4q又は2qとしている。上述したように、mが平方数の場合は、4種類の同期パターンで1つの組を構成するので、同期パターン数は4qとなり、mが異なる2つの整数の積である場合は、2種類の同期パターンで1つの組を構成するので、同期パターン数は2qとなる。尚、p1,p2,・・・,pr,qは、mが平方数の場合は、2p1+2p2+・・・+2pr+4q≦mCnを満たす自然数であり、mが異なる2つの整数の積である場合は、2p1+2p2+・・・+2pr+2q≦mCnを満たす自然数である。
次に、このような情報パターンと同期パターンの配分を、特定の符号化方式における特定の配分方法に着目して具体的に説明する。
図11は、図10における9C3方式の配分No.2の場合の配分方法を示したものである。即ち、9C3方式における単位符号パターンを、2つの情報パターンのグループと、5つの同期パターンの組とに分けている。具体的には、90度回転対照の4種類の単位符号パターンを選択して同期パターンの1つの組を構成し、これを5つ用意している。そして、同期パターンとして使用した20個の単位符号パターンを除いた残りの単位符号パターンを、32個ずつ、2つのグループに分けている。
尚、図では、2つの情報パターンのグループを情報パターン群P1,P2とし、5つの同期パターンの組を同期パターン群Q1,Q2,Q3,Q4,Q5としている。
次に、この単位符号パターンから構成される符号ブロックについて説明する。
図12は、符号ブロックの一例を示したものである。図では、9C2方式における単位符号パターンを使用していることも同時に示している。即ち、36種類の単位符号パターンを、例えば、同期パターンとして使用する4パターンと、情報パターンとして使用する32パターンとに分け、各パターンをレイアウトに従って配置する。
図では、レイアウトとして、3ドット×3ドットを配置可能な領域(以下、「ブロック」という)を5個×5個の25個並べたものを採用している。そして、この25個のブロックのうち、左上の1ブロックに同期パターンを配置している。また、同期パターンの右の4ブロックにX方向の位置情報を表す情報パターンを配置し、同期パターンの下の4ブロックにY方向の位置情報を表す情報パターンを配置している。更に、これらの位置情報を表す情報パターンで囲まれた16ブロックに、紙面又は紙面に印刷される文書の識別情報を表す情報パターンを配置している。
また、本実施の形態では、このようなレイアウトとして種々のバリエーションを想定している。
図13は、ドットを配置可能な領域が正方形をなしている場合のレイアウトの例である。
まず、図13(a)に、ドットを配置可能な領域を正方形とする単位符号パターンの例として、9C3方式における単位符号パターンを示している。
そして、図13(b)〜(e)に符号ブロックのレイアウトを示している。
このうち、図13(b),(c)は、図12と同様に、同期パターンと、X位置情報、Y位置情報、識別情報を示す情報パターンとを配置したレイアウトである。(b)では、ブロックを6個×6個の36個並べているのに対し、(c)では、ブロックを4個×4個の16個並べており、両者は符号ブロックのサイズが異なっている。
また、図13(d),(e)は、同期パターンと、識別情報を示す情報パターンとは配置されているが、位置情報を示す情報パターンは配置されていないレイアウトである。(d)では、ブロックを5個×5個の25個並べているのに対し、(e)では、ブロックを6個×6個の36個並べており、この場合も、異なるサイズの2つのレイアウトを用意している。
図14は、ドットを配置可能な領域が長方形をなしている場合のレイアウトの例である。
まず、図14(a)に、ドットを配置可能な領域を長方形とする単位符号パターンの例として、12C4方式における単位符号パターンを示している。
そして、図14(b)〜(d)に符号ブロックのレイアウトを示している。
このうち、図14(b)は、図12と同様に、同期パターンと、X位置情報、Y位置情報、識別情報を示す情報パターンとを配置したレイアウトである。ここでは、ブロックを4個×5個の20個並べている。
また、図14(c),(d)は、同期パターンと、識別情報を示す情報パターンとは配置されているが、位置情報を示す情報パターンは配置されていないレイアウトである。(c)では、ブロックを4個×5個の20個並べているのに対し、(d)では、ブロックを5個×6個の30個並べており、異なるサイズの2つのレイアウトを用意している。
尚、図13及び図14に示したレイアウトはあくまで例であり、他のレイアウトを採用してもよい。例えば、位置情報を示す情報パターンのみを配置し、識別情報を示す情報パターンを配置しないレイアウトも考えられる。
また、本実施の形態では、このようなレイアウトを有する符号ブロックを基本単位とし、この符号ブロックを紙面全体に周期的に配置する。尚、位置情報は、後述するように、紙面の縦及び横に渡ってM系列で表現する。また、識別情報の符号化には、いくつかの方法が利用できるが、本実施の形態では、RS符号化が適している。RS符号は多値の符号法であり、この場合、ブロックの表現をRS符号の多値に対応させることができるからである。もちろん、他の符号化方法を利用することも可能である。
次いで、このような画像を生成する画像生成装置10について説明する。
図15は、画像生成装置10の構成例を示したブロック図である。
図示するように、画像生成装置10は、識別符号生成部11と、位置符号生成部12と、付加符号生成部13と、ブロック合成部14と、パターン画像記憶部15と、符号画像生成部16とを備える。
識別符号生成部11は、紙面又は紙面に印刷された文書の識別情報を符号化した識別符号を生成する。この識別符号生成部11は、ブロック分割部11aと、RS符号化部11bとを含んでいる。
このうち、ブロック分割部11aは、識別情報を構成するビット列を、RS符号化を行うために複数のブロックに分割する。例えば、9C2方式で5ビットの情報を表現可能な情報パターンを用いる場合、60ビットの識別情報は、ブロック長が5ビットの12個のブロックに分割される。
また、RS符号化部11bは、分割されたブロックに対してRS符号化処理を行い、誤り訂正のための冗長ブロックを付加する。先の例において2ブロックの誤りを訂正可能なRS符号を採用したとすると、符号長は16ブロックとなる。
尚、本実施の形態において、この識別符号生成部11は、予め定められたm及びnに対応するmCn方式を用いて識別情報を符号化するものとする。
位置符号生成部12は、紙面上の座標位置を示す位置情報を符号化した位置符号を生成する。この位置符号生成部12は、M系列符号化部12aと、ブロック分割部12bとを含む。
このうち、M系列符号化部12aは、M系列を使用して位置情報を符号化する。例えば、符号化したい位置情報の長さから必要なM系列の次数を求め、M系列を動的に生成することで位置符号を生成する。但し、予め符号化したい位置情報の長さが分かっている場合には、M系列を画像生成装置10のメモリ等に格納しておき、画像生成時にそれを読み出す構成としてもよい。
また、ブロック分割部12bは、M系列を複数のブロックに分割する。例えば、情報パターンとして16種類の単位符号パターンを選択したとすると、符号ブロックにおける各ブロックには4ビットの情報が格納される。従って、図12のようなレイアウトを有する符号ブロックに対して、X方向の位置情報は、16ビット分格納される。ここで、12次のM系列を利用したとすると、M系列の系列長は4095(=212−1)となる。この系列を4ビットごとに切り出し、符号パターンで表現していくと、最後に3ビットあまることになる。この3ビットに、M系列の最初の1ビットを加えて4ビットとし符号パターンで表す。更に、M系列の2ビット目から4ビットごとに切り出し符号パターンで表す。これを繰り返すと、次の周期は、M系列の3ビット目から始まり、次は、4ビット目となる。更に、5周期目は、5ビット目からとなるが、これは最初の周期と一致する。従って、M系列の4周期を4ビットごとに切り出していくと、4095個の符号パターンで全てを尽くすことができる。M系列は12次であるので、3つの連続する符号パターンは、他のどの位置の連続する符号パターンとも一致することはない。そこで、読出し時には3つの符号パターンを読み出せば、復号が可能であるが、誤りを考慮し4ブロックで情報を表現している。
4周期のM系列は、4095個の符号ブロックに分割して格納される。1つの符号ブロックの一辺の長さは、2.538mm(=0.5076mm×5)なので、連続する4095個の符号ブロックの長さは10393.1mmである。つまり、10393.1mmの長さが符号化されることになる。
尚、本実施の形態において、この位置符号生成部12は、予め定められたm及びnに対応するmCn方式を用いて位置情報を符号化するものとする。
また、本実施の形態では、記録媒体上の複数の区画の各々に埋め込む情報を取得する取得手段の一例として、識別符号生成部11、位置符号生成部12、及び、付加符号生成部13を設けている。ここで、区画とは、例えば、符号ブロックである。
付加符号生成部13は、識別情報及び位置情報以外に記録媒体に埋め込みたい付加情報を符号化し、付加符号を生成する。ここで、付加情報については特に限定しないが、記録媒体からの識別情報及び/又は位置情報の読み取りを制限するための情報や、記録媒体に形成された画像の著作権者を表す情報等が例示される。
ブロック合成部14は、識別符号生成部11にて生成された識別符号と、位置符号生成部12にて生成された位置符号と、識別符号及び位置符号の読出しを制御する同期符号とを2次元平面に配置して2次元の符号配列を生成する。ここで、同期符号とは、同期パターンに対応する符号である。
パターン画像記憶部15は、例えば図1〜図8に示したmCn方式における単位符号パターンを記憶する。ここで、単位符号パターンには、個々の単位符号パターンを一意に特定するパターン値が付されている。例えば、9C2方式における単位符号パターンに対しては、0〜35のパターン値が付されている。これは、ブロック合成部14が生成した2次元の符号配列における各符号値に対応している。即ち、各符号値から単位符号パターンが一意に特定され、選択されるようになっている。尚、本実施の形態において、このパターン画像記憶部15は、予め定められたm及びnに対応するmCn方式における単位符号パターンを少なくとも記憶していればよい。
符号画像生成部16は、ブロック合成部14が生成した2次元の符号配列を参照し、各符号値に対応した単位符号パターンを選択して符号画像を生成する。尚、本実施の形態では、情報を表すパターン画像と、そのパターン画像の読取りを制御するパターン画像とを、複数の区画の各々に配置した画像を生成する生成手段の一例として、符号画像生成部16を設けている。
そして、この符号画像は、図示しない画像形成部に渡され、画像形成部が紙面に符号画像を形成する。このとき、画像形成部は、電子文書の文書画像と符号画像とを重畳した重畳画像を紙面に形成するようにしてもよい。また、このように重畳画像を形成する場合において、電子文書上の位置と紙面上の位置とにずれが生じることが考えられる場合には、紙面に対する電子ペンによる筆記データが電子文書上の適切な位置に反映されるよう電子文書上の位置と紙面上の位置との対応関係を管理することが望ましい。
また、画像形成部は、符号画像を、例えば電子写真方式を用いて、Kトナー(カーボンを含む赤外光吸収トナー)、又は、特殊トナーにより形成する。
ここで、特殊トナーとしては、可視光領域(400nm〜700nm)における最大吸収率が7%以下であり、近赤外領域(800nm〜1000nm)における吸収率が30%以上の不可視トナーが例示される。ここで、「可視」及び「不可視」は、目視により認識できるかどうかとは関係しない。印刷された媒体に形成された画像が可視光領域における特定の波長の吸収に起因する発色性の有無により認識できるかどうかで「可視」と「不可視」とを区別している。また、可視光領域における特定の波長の吸収に起因する発色性が若干あるが、人間の目で認識し難いものも「不可視」に含める。
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像生成装置10のCPU91(図32参照)が、ブロック分割部11a、RS符号化部11b、M系列符号化部12a、ブロック分割部12b、ブロック合成部14、符号画像生成部16を実現するプログラムを、例えば、磁気ディスク装置93(図32参照)からメインメモリ92(図32参照)に読み込んで実行することにより、実現される。また、パターン画像記憶部15は、例えば、磁気ディスク装置93(図32参照)を用いて実現するとよい。更に、磁気ディスク装置93(図32参照)に記憶されるプログラムやデータは、CD等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。
次に、本実施の形態の画像生成時における動作について説明する。
本実施の形態では、画像生成に先立って、その動作を制御するパラメータが与えられるので、まず、このパラメータについて説明する。尚、このパラメータは、外部からユーザが入力したものであってもよいし、例えば、表現すべき情報量や情報を埋め込む紙面の大きさ等に基づいて画像生成装置10が計算により求めたものであってもよい。
このパラメータとしては、例えば、以下に述べる第1のパラメータから第3のパラメータが考えられる。
第1のパラメータは、符号ブロックのサイズである。本実施の形態では、図12〜14に示したように、符号ブロックのサイズとして種々のものを想定しているが、このサイズをパラメータとして指定しておく。このパラメータは、例えば、符号ブロックのX方向におけるブロック数とY方向におけるブロック数とからなるが、以下では、前者をBxと表記し、後者をByと表記する。
第2のパラメータは、符号ブロック内の各ブロックに配置されるパターンの種類である。即ち、同期パターンを基準としてどの位置に如何なる情報を表す情報パターンが配置されるかを指定する。このパラメータは、例えば、ブロックを特定する情報と、そのブロックに配置されるパターンの種類を特定する情報とからなる。具体的には、同期パターンが配置されるブロックをX=0、Y=0とした場合に、X=E、Y=Fのブロックに配置されるパターンの種類をC(E,F)に格納しておくとよい(但し、E=0,1,2,…,Bx,F=0,1,2,…,By)。図13(b)のレイアウトの符号ブロックを生成したいのであれば、C(0,0)=「同期」、C(E,0)=「X位置」(E=1,2,…,5)、C(0,F)=「Y位置」(F=1,2,…,5)、C(E,F)=「識別」(E=1,2,…,5,F=1,2,…,5)となる。尚、C(E,F)に格納されるパターンの種類については、このように、「同期パターン」を「同期」と表記し、「X位置情報を表す情報パターン」を「X位置」と表記し、「Y位置情報を表す情報パターン」を「Y位置」と表記し、「識別情報を表す情報パターン」を「識別」と表記することがある。
第3のパラメータは、情報パターンの分割方法である。即ち、図10に示したように、同じmCn方式で、同じ数だけ同期パターンを確保したとしても、情報パターンの分割方法、つまり、グループ分けの方法が複数通り考えられる場合がある。例えば、9C3方式で5組の同期パターンを用意する場合を考える。この場合、情報パターンのグループ分けの方法としては、64種類の情報パターンを1グループとする第1の方法(配分No.1)と、32種類の情報パターンを1グループとして2つのグループに分ける第2の方法(配分No.2)とがある。また、図10には示していないが、16種類の情報パターンを1グループとして4つのグループに分ける第3の方法や、8種類の情報パターンを1グループとして8つのグループに分ける第4の方法もある。そこで、本実施の形態では、同期パターンの複数の組のうちどの組に属する同期パターンを使用したかによって、情報パターンの分割方法としてどの分割方法を採用したかが分かるようにする。尚、パラメータとしては、画像生成で用いるmCn方式における配分No.を指定し、例えば、画像生成装置10が、この配分No.に基づいて分割数Dを求めるようにするとよい。
尚、これらのパラメータはあくまで例である。第1及び第2のパラメータとしては、符号ブロックのレイアウトを指定するものであれば、如何なるものを指定してもよい。また、第3のパラメータとしては、情報パターンを複数のグループから選択する方法に関するものであれば、如何なるものを指定してもよい。更に、符号ブロックのレイアウトや、情報パターンを複数のグループから選択する方法の他に、情報パターンの配置に関する如何なるパラメータを採用してもよい。
これらのパラメータは、図示しないメモリであるパラメータ記憶部に記憶され、画像生成装置10の各部分はこのパラメータ記憶部に記憶されたパラメータに従って動作する。
まず、識別符号生成部11は、第1のパラメータである符号ブロックのサイズ、及び、第2のパラメータである各ブロックに配置されるパターンの種類に応じて、識別符号を格納するブロック数を求める。そして、ブロック分割部11a及びRS符号化部11bは、最終的にそのブロック数になるように、ブロック分割及びRS符号化の処理を行う。例えば、パラメータが図13(b)のレイアウトを示すものである場合、1つの符号ブロックにつき25個のブロックが得られるようにする。
また、位置符号生成部12は、第1のパラメータである符号ブロックのサイズ、及び、第2のパラメータである各ブロックに配置されるパターンの種類に応じて、位置符号を格納するブロック数を求める。そして、M系列符号化部12a及びブロック分割部12bは、最終的にそのブロック数になるように、M系列符号化及びブロック分割の処理を行う。例えば、パラメータが図13(b)のレイアウトを示すものである場合、1つの符号ブロックにおけるX位置情報について、5個のブロックが得られるようにする。
更に、付加符号生成部13は、付加符号を、第1のパラメータである符号ブロックのサイズに応じた数のブロックに分割する。このように分割した付加符号を、以下では、A(E,F)と表記する。但し、同期パターンが配置されたブロックをE=0、F=0とすると、同期パターンには付加符号を埋め込まないため、(E,F)=(1,0),(2,0),・・・,(Bx,0),(0,1),(1,1),(2,1),・・・,(Bx,1),・・・,(0,By),(1,By),(2,By),・・・,(Bx,By)である。つまり、付加符号は、Bx×Byのブロックのうち、同期パターンが配置されるブロックを除くBx×By−1個のブロックに分割される。
また、その際、第3のパラメータである情報パターンの分割方法から分割数Dを求め、これに基づいて各ブロックに割り当てる情報の数を決定する。ここで、1つのブロックで表現可能な情報の数は、分割数Dに等しくなる。即ち、D=2の場合は、各ブロックで2通りの情報が表現される。例えば、図11に示したように、情報パターンが情報パターン群P1と情報パターン群P2とに分けられている場合には、情報パターン群P1に「0」が対応付けられ、情報パターン群P2に「1」が対応付けられる。また、D=3の場合は、各情報パターン群に「0」、「1」、「2」を対応付けることで、各ブロックで3通りの情報が表現される。更に、D=4の場合は、各情報パターン群に「0」、「1」、「2」、「3」を対応付けることで、各ブロックで4通りの情報が表現される。尚、D=1の場合、付加符号を埋め込むことはできないが、ここでは、便宜上、A(E,F)=0とする。
加えて、本実施の形態では、同期パターンの組と、その組に属する同期パターンを使用した場合における情報パターンの配置に関する規則とを対応付けた対応情報を、図示しないメモリである対応情報記憶部に記憶している。ここで、情報パターンの配置に関する規則は、例えば、上述した第1〜第3のパラメータの組み合わせで表現される。一例として、同期パターンの組と、第1及び第2のパラメータの組み合わせとを対応付けて記憶する場合を考える。例えば、図11に示すように、9C3方式で5つの同期パターンの組を用意したとすると、同期パターン群Q1を図13(b)のレイアウトに対応させ、同期パターン群Q2を図13(c)のレイアウトに対応させ、同期パターン群Q3を図13(d)のレイアウトに対応させ、同期パターン群Q4を図13(e)のレイアウトに対応させるとよい。尚、このような対応付けを行った場合、5つの同期パターンの組のうち1つがレイアウトに対応付けられていないことになるが、これには、図示しない他のレイアウトを対応付けてもよいし、レイアウトを対応付けなくてもよい。
逆に、第1〜第3のパラメータの多くの組み合わせを考えると、それらの組み合わせに対応付ける同期パターンの組数が不足することも考えられる。その場合は、多くの組み合わせの中から、特に必要な組み合わせを、同期パターンの組数だけ選択して対応付けるようにするとよい。
これまでに述べたことを前提として、以下、ブロック合成部14の動作について詳細に説明する。
図16は、ブロック合成部14の動作を示したフローチャートである。尚、このブロック合成部14の動作は、1つの符号ブロックに対するものであり、実際には紙面全体に配置された符号ブロックに対して同様の処理が行われる。
まず、ブロック合成部14は、E、Fに「0」を代入する(ステップ101)。尚、EはX方向のブロック数をカウントするカウンタであり、FはY方向のブロック数をカウントするカウンタである。
次に、ブロック合成部14は、パラメータ記憶部に記憶されたパラメータを参照し、C(E,F)が「同期」であるかどうかを判定する(ステップ102)。
ここで、C(E,F)が「同期」であると判定されれば、このパラメータに対応する同期パターンの組を対応情報記憶部を参照することによって特定し、その組に属する同期パターンに対応する同期符号を2次元の符号配列上に配置する(ステップ103)。
一方、C(E,F)が「同期」ではない、つまり、「X位置」、「Y位置」、「識別」のいずれかであると判定されれば、付加符号生成部13から与えられたA(E,F)に格納された値に対応する情報パターンのグループを特定する。そして、配置すべき情報を表す情報パターンをそのグループから選択して、その情報パターンに対応する符号を2次元の符号配列上に配置する(ステップ104)。
次に、ブロック合成部14は、E=Bx−1であるかどうかを判定する(ステップ105)。
ここで、E=Bx−1でない場合には、Eに「1」を加算して(ステップ106)、ステップ102〜104の処理をE=Bx−1となるまで繰り返し行う。また、E=Bx−1となると、次に、F=By−1であるかどうかを判定する(ステップ107)。F=By−1でない場合には、Eに「0」を代入し、Fに「1」を加算して(ステップ108)、ステップ102〜106の処理をF=By−1となるまで繰り返し行う。また、F=By−1となると、この符号ブロックにおける符号の配置は終了する。
次に、紙面に形成された符号画像を読み取って処理する画像処理装置20について説明する。但し、本実施の形態では、符号画像を生成する際に用いたmCn方式におけるm及びnの値は分かっていないものとする。
図17は、画像処理装置20の構成例を示したブロック図である。
図示するように、画像処理装置20は、画像読取部21と、ノイズ除去部22と、ドット画像検出部23と、ドット配列生成部24と、ブロック検出部25と、同期符号検出部26と、識別情報取得部27と、位置情報取得部28とを備える。
画像読取部21は、CCD(Charge Coupled Devices)やCMOS(Complementary Metal Oxide Semiconductor)等の撮像素子から紙面に印刷された符号画像を読み取る。尚、本実施の形態では、情報を表すパターン画像と、そのパターン画像の読取りを制御するパターン画像とを含む画像を記録媒体から取得する画像取得手段の一例として、画像読取部21を設けている。
ノイズ除去部22は、読み取った画像に含まれるノイズを除去するための処理を行う。ここで、ノイズには、例えば、撮像素子感度のばらつきや電子回路により発生するノイズがある。ノイズ除去の処理の種類は、撮像系の特性に合わせるべきだが、ぼかし処理やアンシャープマスキング等の先鋭化処理を適用するとよい。
ドット画像検出部23は、ノイズが除去された画像からドットを検出する。つまり、ドットが形成された位置を特定する。ここで、ドットの検出は、まず、2値化処理によりドット画像の部分と、その他の背景画像の部分とを切り分け、2値化された個々の画像位置からドットの位置を検出する。その際、2値化された画像にノイズ成分が多数含まれる場合があるため、2値化された画像の面積や形状によりドットの判定を行うフィルタ処理を組み合わせる必要がある。
ドット配列生成部24は、検出したドットの位置を参照して、ドット配列を生成する。即ち、2次元の配列上で、例えば、ドットがある位置に「1」を、ドットがない位置に「0」を記憶することにより、画像として検出したドットをデジタルデータに置き換える。そして、この2次元の配列をドット配列として出力する。
尚、本実施の形態において、このドット配列生成部24は、ドット配列の全要素と例えば「1」が記録されている要素との比に基づいて、符号化の際に使用したmCn方式におけるm及びnを決定する。
ブロック検出部25は、ドット配列上で、符号ブロック内の単位符号パターンに対応するブロックを検出する。即ち、単位符号パターンと同じ大きさをもつ矩形のブロック区切りをドット配列上で適宜動かし、ブロック内のドット数が均等になる位置を正しいブロック区切り位置とし、各ブロック内のパターン値を格納した符号配列を生成する。
尚、本実施の形態において、このブロック検出部25は、ブロック内のドット数が均等になる場合のブロックの大きさ及びブロック内のドット数に基づいて、符号化の際に使用したmCn方式におけるm及びnを決定する。
同期符号検出部26は、ドット配列から検出された各単位符号パターンの種類を参照して、同期符号を検出する。単位符号パターンは、正方形をなしている場合、90度単位で回転している可能性がある。そこで、検出された同期符号が4種類の同期パターンのいずれに対応しているかによって、その向きを検出して補正する。また、単位符号パターンは、長方形をなしている場合、180度単位で回転している可能性がある。そこで、検出された同期符号が2種類の同期パターンのいずれに対応しているかによって、その向きを検出して補正する。
識別情報取得部27は、同期符号検出部26で検出された同期符号に基づいて符号配列から識別情報を取得する。この識別情報取得部27は、識別符号検出部27aと、識別符号復号部27bとを含んでいる。
このうち、識別符号検出部27aは、角度が補正された符号配列から、同期符号の位置を基準にして識別符号を検出する。
また、識別符号復号部27bは、図15で説明したRS符号の符号化処理で用いたパラメータ(ブロック数等)と同じパラメータを用いて識別符号を復号し、識別情報を出力する。
位置情報取得部28は、同期符号検出部26で検出された同期符号に基づいて符号配列から位置情報を取得する。この位置情報取得部28は、位置符号検出部28aと、位置符号復号部28bとを含んでいる。
このうち、位置符号検出部28aは、角度が補正された符号配列から、同期符号の位置を基準にして位置符号を検出する。
また、位置符号復号部28bは、位置符号検出部28aにより検出された位置符号からM系列の部分系列を取り出し、画像生成に使用したM系列におけるこの部分系列の位置を参照し、この位置を同期符号によるオフセットで補正した値を位置情報として出力する。尚、このとき、オフセットで補正するのは、位置符号の間に同期符号が配置されているためである。
尚、本実施の形態では、情報を表すパターン画像の読取りを制御するパターン画像が属するパターン画像群を特定し、そのパターン画像群に対応付けられた規則に応じて情報を取得する情報取得手段の一例として、同期符号検出部26、識別情報取得部27、及び、位置情報取得部28を設けている。
尚、これらの機能は、ソフトウェアとハードウェア資源とが協働することにより実現される。具体的には、画像処理装置20のCPU91(図32参照)が、ノイズ除去部22、ドット画像検出部23、ドット配列生成部24、ブロック検出部25、同期符号検出部26、識別符号検出部27a、識別符号復号部27b、位置符号検出部28a、位置符号復号部28bを実現するプログラムを、例えば、磁気ディスク装置93(図32参照)からメインメモリ92(図32参照)に読み込んで実行することにより、実現される。また、磁気ディスク装置93(図32参照)に記憶されるプログラムやデータは、CD等の記録媒体からロードしてもよいし、インターネット等の通信手段を介してダウンロードしてもよい。
次に、本実施の形態の画像処理時における動作について説明する。
本実施の形態では、符号化に用いたmCn方式におけるm及びnの値が不明であっても、符号化された画像を読み取る際にm及びnの値を特定する。このようなm及びnの値を特定する場合の類型としては、第一に、mの値は分かっているがnの値が分からない場合においてnの値を特定する場合がある。また、第二に、nの値は分かっているがmの値が分からない場合においてmの値を特定する場合がある。そして、第三に、m及びnのいずれの値も分からない場合において両方の値を特定する場合がある。
そこで、以下では、全ての場合に応用可能なように、m及びnのいずれの値も分からないことを前提として、符号化方式を判定する動作を説明する。
この場合の符号化方式の判定方法には、ドット密度による判定方法と、ブロック区切りを用いた判定方法とがある。
そこで、まず、ドット密度による判定方法について説明する。
このドット密度による判定は、図17のドット配列生成部24によるドット配列の生成後の処理として行われる。即ち、処理の前提として、例えば、ドットがある位置に「1」、ドットがない位置に「0」を記憶したドット配列が生成されている。
また、この処理を行うに当たっては、図18に示すようなドット密度表が、ドット配列生成部24が参照可能なメモリに記憶されているものとする。
このドット密度表は、mCn方式で符号画像を形成した場合におけるドット密度を、mの値とnの値に対応するセル内に格納したものである。例えば、9C2方式を用いた場合のドット密度は「0.222」であり、9C3方式を用いた場合のドット密度は「0.333」であることを示している。以下では、このドット密度表において、上からG番目の行に格納されたmをm(G)と表記する。mについては、2つの整数の積であることが少なくとも必要であるため、G行目において必ずしもm=Gとなっていないからである。一方、nについては、1≦n<mを満たす全ての整数が考えられるため、左からH列目においてn=Hとなっている。また、G行H列のセルに格納されたドット密度をDTBL(G,H)と表記し、このドット密度表におけるmの最大値をmmaxと表記する。尚、本実施の形態では、m箇所から選択したn箇所に単位画像を形成した場合の単位画像の密度をm及びnの値に関連付けた密度情報の一例として、図18のドット密度表を採用している。
そして、ドット配列生成部24は、入力された画像におけるドット密度と、図13のドット密度表におけるドット密度とを比較し、mとnの値を推定する。
以下、このときのドット配列生成部24の動作を具体的に説明する。
図19は、ドット配列生成部24による符号化方式の判定動作を示したフローチャートである。尚、ドット配列生成部24は、最も近接した2つのドット間の傾きに基づいて入力画像の傾き角度を検出し、その傾きを有しかつ格子間隔が最も近接したドット間隔と等しくなる格子を重ね合わせることで、ドット配列を生成する処理を行うが、この処理についてはフローチャートから除外してある。
ドット配列生成部24は、まず、ドット配列における全要素数ADと、ドット配列においてドットがあることを示す例えば「1」が格納されている要素数NDとを数える。そして、ND/ADを計算することにより、画像全体に占めるドットの比率を算出する。そして、この比率を入力画像のドット密度としてDinに代入する(ステップ201)。
また、ドット配列生成部24は、ドット密度表の各セルを識別するためのカウンタG、Hに「1」を代入し、mCn方式におけるmとnの組み合わせの候補数をカウントするカウンタZに「0」を代入する(ステップ202)。
次に、ドット配列生成部24は、ドット密度表のG行H列のセルを参照し、そのセル内にあるドット密度DTBL(G,H)をDregに代入する(ステップ203)。そして、ステップ201で求めたDinと、ステップ204で求めたDregとの差が所定の閾値TDより小さいかどうかを判定する(ステップ204)。
ここで、DinとDregとの差が閾値TDよりも小さい場合、このときのm(G)とHの組み合わせが求めるべきmとnの組み合わせの候補であると考えられる。そこで、まず、Zに「1」を加算する。また、mの候補を格納する変数ms(Z)にm(G)を代入し、nの候補を格納する変数ns(Z)にHを代入する。更に、mとnの組み合わせの候補の数を格納する変数ZmaxにZを代入する(ステップ205)。そして、処理をステップ206へ進める。
一方、DinとDregとの差が閾値TDよりも小さくない場合は、何も処理を行わずにステップ206へ進む。
その後、ドット配列生成部24は、H=m(G)−1であるかどうかを判定する(ステップ206)。mCn方式にはn<mという条件があるので、G行目、つまり、m(G)について走査している場合、H<m(G)を満たすセルにしかドット密度の値が格納されていないからである。
ここで、H=m(G)−1でない場合には、Hに「1」を加算して(ステップ207)、ステップ203〜205の処理をH=m(G)−1となるまで繰り返し行う。また、H=m(G)−1となると、次に、m(G)=mmax−1であるかどうかを判定する(ステップ208)。m(G)=mmax−1でない場合には、Hに「1」を代入し、Gに「1」を加算して(ステップ209)、ステップ203〜207の処理をm(G)=mmax−1となるまで繰り返し行う。また、m(G)=mmax−1となると、ドット密度表の全てのセルを参照したことになるので、それまでに記録した結果を出力する。即ち、mとnの組み合わせの候補の数Zmaxと、その候補の数だけのmとnの値ms(Z),ns(Z)(Z=1,2,…,Zmax)を出力する(ステップ210)。
次に、ブロック区切りを用いた判定方法について説明する。
このブロック区切りによる判定は、図17のブロック検出部25によるブロックの検出と共に行われる。
以下、このときのブロック検出部25の動作を具体的に説明する。
図20は、ブロック検出部25による符号化方式の判定動作を示したフローチャートである。尚、ここでは、単位符号パターンにおけるm個のドットが横mx個×縦my個配置されているものとする。
ブロック検出部25は、まず、ドット配列生成部24が生成したドット配列に、mx×myの大きさのブロック区切りを重ね合わせる(ステップ221)。そして、カウンタI、Jに「0」を代入し、変数MinVにHVを代入する(ステップ222)。
ここで、I、Jは、ブロック区切りの初期位置からの移動量をカウントするものである。画像の1ラインごとにブロック区切りを移動させ、そのとき移動させたライン数をカウンタI、Jでカウントする。尚、データ上に重ね合わせるブロック区切り位置は、任意の位置でよい。読み込み位置がずれても、識別情報は繰り返し複製されているので、補間することで識別情報が取得されるからである。また、ブロック区切りの中には、X位置情報とY位置情報を表すブロックが必ず含まれている。
また、MinVは、ブロック内で検出されるドット数のブロック間での分散の最小値を格納するものであり、HVは、分散に対して十分に大きな値を意味している。
次に、ブロック検出部25は、ブロック区切りをX方向にI、Y方向にJ移動させる(ステップ223)。初期状態においてI、Jは「0」であるので、ブロック区切りは移動しない。そして、ブロック区切りの各ブロックに含まれるドット数をカウントして、全ブロック間でのドット数の分散をVar(I,J)に代入し、全ブロックにおけるドット数の平均をAve(I,J)に代入する(ステップ224)。
また、ブロック検出部25は、Var(I,J)とMinVとを比較する(ステップ225)。MinVの初期値はHVなので、最初の比較では、Var(I,J)はMinVよりも小さくなる。
ここで、Var(I,J)がMinVよりも小さい場合、MinVにVar(I,J)の値を代入する。また、ブロック区切りのX方向の変位を表す変数FXにIの値を代入し、ブロック区切りのY方向の変位を表す変数FYにJの値を代入する。更に、Ave(I,J)を四捨五入して整数にした値をnに代入する(ステップ226)。そして、ステップ227へ進む。
一方、Var(I,J)がMinVよりも小さくない場合、何も処理を行わずにステップ227へ進む。
その後、ブロック検出部25は、I=mx−1であるかどうかを判定する(ステップ227)。
ここで、I=mx−1でない場合には、Iに「1」を加算する(ステップ228)。そして、ステップ223、224の処理を繰り返し行い、Var(I,J)とMinVとを比較していく(ステップ225)。Var(I,J)が前回までのVar(I,J)の最小値であるMinVよりも小さいと、MinVにVar(I,J)を代入し、そのときのIの値をFX、Jの値をFYとし、Ave(I,J)を四捨五入した整数値をnとする(ステップ226)。また、Var(I,J)がMinVよりも小さくない場合には、I=mx−1であるかどうかを判定する(ステップ227)。
一方、I=mx−1となると、次にJ=my−1であるかどうかを判定する(ステップ229)。J=my−1でない場合には、Iに「0」を代入し、Jに「1」を加算する(ステップ230)。このような手順を繰り返し行い、(I,J)が(0,0)から(mx−1,my−1)までで、Var(I,J)が最小のものを検出する。
I=mx−1、J=my−1までの処理が終了すると、ブロック検出部25は、保存しているMinVと閾値TVとを比較する(ステップ231)。閾値TVは、各ブロック内のドット数の全ブロック間での分散が大きくなり過ぎるのを阻止するための閾値である。
ここで、MinVが閾値TVよりも小さい場合、ブロック区切りをFX、FYの位置に固定し、その位置で各ブロックの単位符号パターンを検出して、対応するパターン値に変換する。パターン値は、各ブロックを識別する変数X、Yと共にP(X,Y)としてメモリに記憶される。尚、検出した単位符号パターンを対応するパターン値に変換できない場合は、パターン値の代わりに「−1」を格納する(ステップ232)。
一方、MinVが閾値TVよりも小さくない場合は、画像のノイズが大きく復号は不可能と判定し、復号不能を出力する(ステップ233)。
次いで、本実施の形態における符号化方式の判定について、具体例を用いて説明する。
図21は、m及びnの値が分かっている場合の例である。本実施の形態では、m及びnの少なくとも一方の値が分かっていないことが前提であるが、図19の処理により一定以上の確度でmとnの組み合わせが1つに定まった場合には、このような処理を行うことがある。ここでは、m=9、n=2であることが分かっているものとする。
この場合、まず、ブロック検出部25は、ドット配列生成部24からドット配列を取得する。ここで取得するドット配列のサイズは予め設定されているが、画像の任意に選択された領域に対応しているので、ブロック区切りの位置は分からない。そこで、初めに、ドット配列の端を基準にブロック分割を行う。この例では、m=9なので、3ドット×3ドットの大きさのブロック区切りを重ねる。次に、各ブロック内のドットを数える。この例では、n=2なので、各ブロック内に2ドットずつ存在する場合のブロック区切りの位置が正しい区切り位置であるが、この位置ではドット数がばらついており、正しくないことが分かる。そこで、ブロック区切りをずらしてブロック内のドット数を数える。即ち、右方向への開始位置、1ドット分移動した位置、2ドット分移動した位置について同様の動作を行う。また、これらの位置のそれぞれに対し、下方向への開始位置、1ドット移動した位置、2ドット移動した位置についても同様の動作を行う。その結果、右方向に1ドット移動し、下方向に2ドット移動した位置において、全てのブロック内のドット数が「2」となり、ドット数の分散が「0」となる。従って、この位置を正しい区切り位置とする。
尚、このように、図19の処理でmとnの組み合わせが一定の確度で1つに定まったような場合には、図20のステップ224で、ブロック内のドット数がnであるブロックの数を変数IB(I,J)に代入し、ステップ225〜230で、IB(I,J)の最大値をMaxBNに代入し、ステップ231で、MaxBNが閾値TBよりも大きいかどうかを判定するようにしてもよい。
図22は、mの値は分かっているがnの値は分かっていない場合の例である。ここでは、m=9であることが分かっているものとする。そのため、正方形のブロック区切りを用いている。即ち、mx=3、my=3として図20の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。その結果、右方向に1ドット移動し、下方向に2ドット移動した位置において、全てのブロック内のドット数が「3」となり、ドット数の分散が「0」となる。従って、この位置を正しい区切り位置とする。
ところが、m及びnのいずれの値も共に不明な場合も考えられる。
この場合は、まず、図19の処理を行う。即ち、入力されたドット配列の全体の要素数と、実際に配置されているドット数の比を計算する。そして、この比に近いドット密度に対応するmとnの組み合わせを、図18のドット密度表から特定する。
このとき、mとnの組み合わせが異なっても、ドット密度が近い値になることがある。
一例として、9C2方式を用いた場合のドット密度と、12C3方式を用いた場合のドット密度とは近い値であり、閾値によっては、これらの符号化方式が求める符号化方式の候補となることが考えられる。
例えば、9C2方式で符号化したとする。
この場合、図21に示したように、mx=3、my=3として図20の処理を行うことにより、正しいブロック区切りが見つかる。
しかしながら、例えば、mx=4、my=3として図20の処理を行うと、正しいブロック区切りが得られない。図23に、このときの状態を示している。
また、9C3方式を用いた場合のドット密度と、12C4方式を用いた場合のドット密度とは同じ値であり、実際のドット密度がこのいずれであるかをこの処理で特定することはできない。
例えば、9C3方式で符号化したとする。
この場合、図22に示したように、mx=3、my=3として図20の処理を行うことにより、正しいブロック区切りが見つかる。
しかしながら、例えば、mx=4、my=3として図20の処理を行うと、正しいブロック区切りが得られない。図24に、このときの状態を示している。
一方、12C4方式で符号化したとする。
図25では、mx=4、my=3として図20の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。その結果、右方向に1ドット移動し、下方向に2ドット移動した位置において、全てのブロック内のドット数が「4」となり、ドット数の分散が「0」となる。従って、この位置を正しい区切り位置とする。
図26は、入力された画像の向きが90度回転している場合の例である。図の例では、入力された画像におけるブロックが縦4ドット×横3ドットである場合に、mx=4、my=3として図20の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。ところが、この場合に、全てのブロック内のドット数が同じになることはない。そこで、ドット配列を90度回転して検出処理を行うことになる。
図27では、mx=3、my=3として図20の処理を行い、ブロック内のドット数のブロック間での分散が最小になるブロック区切りを探している。ところが、この場合、全てのブロック内のドット数が同じになることはない。
次に、このようにして決定されたm、nを用いて、ブロック検出部25が生成した符号配列から情報を取得する際の動作について説明する。尚、本実施の形態において、画像処理装置20は、画像生成時に参照したのと同じ対応情報を図示しないメモリである対応情報記憶部に記憶しているものとする。つまり、同期パターンの組と、その組に属する同期パターンを使用した場合における情報パターンの配置に関する規則との対応が必要に応じて参照されるようになっている。
まず、情報を取得するために必要な同期符号の検出の動作について説明する。
図28は、このときの同期符号検出部26の動作を示したフローチャートである。尚、以下では、符号ブロックに含まれるX方向のブロック数の最大値、Y方向のブロック数の最大値をBmaxと表記する。
同期符号検出部26は、まず、K、Lに「0」を代入する(ステップ241)。尚、KはX方向のブロック数を示すカウンタであり、LはY方向のブロック数を示すカウンタである。
次に、P(K,L)に同期パターンに対応する符号が格納されているかどうかを判定する(ステップ242)。例えば、図11に示したパターンを用いる場合であれば、同期パターン群Q1〜Q5のいずれかに属する同期パターンのパターン値が格納されているかどうかを判定する。
ここで、P(K,L)に同期パターンに対応する符号が格納されていないと判定されれば、K=Bmax−1であるかどうかを判定する(ステップ243)。
ここで、K=Bmax−1でない場合には、Kに「1」を加算して(ステップ244)、ステップ242の処理をK=Bmax−1となるまで繰り返し行う。また、K=Bmax−1となると、L=Bmax−1であるかどうかを判定する(ステップ245)。L=Bmax−1でない場合には、Kに「0」を代入し、Lに「1」を加算して(ステップ246)、ステップ242〜244の処理をL=Bmax−1となるまで繰り返し行う。また、L=Bmax−1となると、処理対象の範囲内に同期パターンが見つからなかったことを意味するので、復号不能を出力する(ステップ247)。
また、ステップ242でP(K,L)に同期パターンに対応する符号が格納されていると判定されれば、同期符号検出部26は、以下の処理を行う。
即ち、まず、Bmax×Bmaxの符号配列を回転し、SyncX、SyncY、ShiftX、ShiftYを求める(ステップ248)。
ここで、SyncXとは、Bmax×Bmaxの符号配列内で、同期パターンが配置された位置のX座標である。また、SyncYとは、Bmax×Bmaxの符号配列内で、同期パターンが配置された位置のY座標である。尚、Bmax×Bmaxの符号配列内での座標は、左上端のブロックを基準とする。つまり、同期パターンが最左端の列にある場合、SyncX=0であり、同期パターンが最右端の列にある場合、SyncX=Bmax−1であり、SyncXは、0,1,2,・・・Bmax−1のいずれかの値を取る。また、同期パターンが最上端の行にある場合、SyncY=0であり、同期パターンが最下端の行にある場合、SyncY=Bmax−1であり、SyncYは、0,1,2,・・・Bmax−1のいずれかの値を取る。
そして、ShiftXは、X方向のブロック区切りの移動量であり、ShiftYは、Y方向のブロック区切りの移動量である。
この処理は、図9(a)の9C2方式における同期パターンを例にとれば次のような処理になる。
即ち、パターン値32の同期パターンが検出された場合は、符号配列を回転せずに、SyncXにKを、SyncYにLを、ShiftXにFXを、ShiftYにFYをそれぞれ代入する。
また、パターン値33の同期パターンが検出された場合は、符号配列を左に90度回転し、SyncXにLを、SyncYにBmax−1−Kを、ShiftXにFYを、ShiftYに2−FXをそれぞれ代入する。
更に、パターン値34の同期パターンが検出された場合は、符号配列を左に180度回転し、SyncXにBmax−1−Kを、SyncYにBmax−1−Lを、ShiftXに2−FXを、ShiftYに2−FYをそれぞれ代入する。
更にまた、パターン値35の同期パターンが検出された場合は、符号配列を左に270度回転し、SyncXにBmax−1−Lを、SyncYにKを、ShiftXに2−FYを、ShiftYにFXをそれぞれ代入する。
また、図9(b)の12C2方式における同期パターンを例にとれば次のような処理になる。
即ち、パターン値64の同期パターンが検出された場合は、符号配列を回転せずに、SyncXにKを、SyncYにLを、ShiftXにFXを、ShiftYにFYをそれぞれ代入する。
また、パターン値65の同期パターンが検出された場合は、符号配列を左に180度回転し、SyncXにBmax−1−Kを、SyncYにBmax−1−Lを、ShiftXに3−FXを、ShiftYに2−FYをそれぞれ代入する。
次に、同期符号検出部26は、検出された同期パターンが属する組を特定する(ステップ249)。図11を例にとれば、同期パターン群Q1〜Q5のいずれであるかを判定する。
そして、対応情報においてこの特定された同期パターンの組に対応付けられた符号ブロックのサイズBx、Byを特定する(ステップ250)。図13の例で、同期パターン群Q1、Q2が、それぞれ、(b)、(c)のレイアウトに対応付けられているとする。この場合、ステップ249で同期パターン群Q1に属すると判定されれば、Bx=6、By=6となる。また、ステップ249で同期パターン群Q2に属すると判定されれば、Bx=4、By=4となる。また、図14の例で、同期パターン群Q1、Q2が、それぞれ、(c)、(d)のレイアウトに対応付けられているとする。この場合、ステップ249で同期パターン群Q1に属すると判定されれば、Bx=4、By=5となる。ステップ249で同期パターン群Q2に属すると判定されれば、Bx=5、By=6となる。
次いで、同期符号検出部26は、符号ブロック内の各ブロックに配置される情報の種類C(S,T)を特定する(ステップ251)。但し、S=0,1,…,Bx−1,T=0,1,…,By−1である。図13の例で、同期パターン群Q1、Q2が、それぞれ、(b)、(e)のレイアウトに対応付けられているとする。この場合、ステップ249で同期パターン群Q1に属すると判定されれば、C(0,0)=「同期」、C(S,0)=「X位置」(但し、S=1,2,…,5)、C(0,T)=「Y位置」(但し、T=1,2,…,5)、C(S,T)=「識別」(但し、S=1,2,…,5、T=1,2,…,5)となる。また、ステップ249で同期パターン群Q2に属すると判定されれば、C(0,0)=「同期」、C(S,0)=「識別」(但し、S=1,2,…,5)、C(0,T)=「識別」(但し、T=1,2,…,5)、C(S,T)=「識別」(但し、S=1,2,…,5、T=1,2,…,5)となる。
最後に、同期符号検出部26は、配分No.を特定し、その配分No.に対応する分割数Dを求める(ステップ252)。例えば、図10のようなパターンの配分方法が定められているとする。この場合、図19又は図20にて9C2方式又は12C2方式であると判定されれば、パラメータ記憶部に記憶されたパラメータを参照して、配分No.が「1」、「2」、「3」のいずれであるかを判定する。例えば、9C2方式において配分No.が「2」であると判定されれば、分割数Dは「2」となる。また、図19又は図20にて9C3方式、12C3方式、12C4方式のいずれかであると判定されれば、パラメータ記憶部に記憶されたパラメータを参照して、配分No.が「1」、「2」のいずれであるかを判定する。例えば、9C3方式において配分No.が「2」であると判定されれば、分割数Dは「2」となる。
次に、識別符号を検出して識別情報を取得する際の動作について説明する。また、本実施の形態では、識別符号及び位置符号に重畳して埋め込んだ付加符号をこの動作において検出するので、これも併せて説明する。
図29は、このときの識別符号検出部27aの動作を示したフローチャートである。
識別符号検出部27aは、まず、Bx×Byの符号ブロックにおける各ブロックを識別するためのカウンタS、Tに「0」を代入し、識別情報を示すブロックの中でエラーと判定されたブロック数をカウントするカウンタENに「0」を代入する(ステップ261)。ここで、Sは、X方向のブロック数を示すカウンタであり、Tは、Y方向のブロック数を示すカウンタである。
また、識別符号検出部27aは、S、Tで特定されるブロックに同期符号があるかどうかを判定する(ステップ262)。尚、ここでは、同期符号が配置された行及び列から処理を開始する。つまり、X座標が(SyncX+S)(modBx)、Y座標が(SyncY+T)(modBy)であるブロックに同期符号があるかどうかを判定している。具体的には、C((SyncX+S)(modBx),(SyncY+T)(modBy))が「同期」であるかどうかを判定する。
ここで、このブロックに同期符号が配置されていると判定された場合、識別情報を取り出す対象でなく、かつ、付加情報を埋め込んだ対象でもないため、そのままステップ269へ進む。
一方、このブロックに同期符号が配置されていないと判定された場合、少なくとも付加符号が埋め込まれている可能性があるため、ブロック検出部25にて生成された符号配列から該当するパターン値を取り出す。
ここでは、P((SyncX+S)(modBx),(SyncY+T)(modBy))に格納されたパターン値を取り出し、これをPS(S,T)に代入する(ステップ263)。
次に、識別符号検出部27aは、PS(S,T)に格納されたパターン値が「0」より小さいかどうかを判定する(ステップ264)。
図20のステップ232において、検出した単位符号パターンから対応するパターン値を得ることができない場合には、「−1」を記憶している。そこで、メモリから読み出したPS(S,T)のパターン値を「0」と比較することで、正常にパターン判定された単位符号パターンであるかどうかを判定している。
ここで、パターン値が「0」よりも小さい場合には、エラーと判定されたブロック数をカウントするカウンタENに「1」を加算する(ステップ265)。
一方、パターン値が「0」よりも小さくない場合は、PS(S,T)に格納されたパターン値の情報パターンが属するグループを特定し、このグループに対応付けられた値をA(S,T)に格納する(ステップ266)。そして、このブロックに識別符号が配置されているかどうかを判定する(ステップ267)。具体的には、C((SyncX+S)(modBx),(SyncY+T)(modBy))が「識別」であるかどうかを判定する。その結果、識別符号が配置されていれば、PS(S,T)に格納された値を、識別符号を格納するためのID(S,T)に代入し(ステップ268)、ステップ269へ進む。識別符号が配置されていなければ、位置符号が配置されているため、ID(S,T)への代入処理は行わずにステップ269へ進む。
次に、識別符号検出部27aは、S=Bx−1であるかどうかを判定する(ステップ269)。
ここで、S=Bx−1でない場合には、Sに「1」を加算して(ステップ270)、ステップ262〜268の処理をS=Bx−1となるまで繰り返し行う。また、S=Bx−1となると、次に、T=By−1であるかどうかを判定する(ステップ271)。T=By−1でない場合には、Sに「0」を代入し、Tに「1」を加算して(ステップ272)、ステップ262〜270の処理をT=By−1となるまで繰り返し行う。また、T=By−1となると、エラー数をカウントするカウンタENの値が閾値TNよりも大きくなっているかどうかを判定する(ステップ273)。ここで、閾値TNは、1つの符号ブロック当たりの許容されるエラー数を示している。閾値TNは、符号ブロックのレイアウトを考慮せずに一律の値を設定しておいてもよいし、符号ブロック内の識別符号が配置されるブロックの数に一定の比率を乗じたものを採用してもよい。
ここで、カウンタENの値が閾値TNよりも小さい場合には、識別符号復号部27bが、ID(S,T)に格納された識別符号を復号して、識別情報を取得する(ステップ274)。また、A(S,T)に格納された付加符号を復号して、付加情報を取得する(ステップ275)。
一方、カウンタENの値が閾値TNよりも大きい場合には、エラーの発生頻度が高く、正常な復号ができないと判定し、識別情報及び付加情報としてN/A(not applicable)を出力する(ステップ276)。
次に、位置符号を検出して位置情報を取得する際の動作について説明する。尚、位置情報については、X位置情報及びY位置情報をM系列を使用して符号化する関係から、X位置符号及びY位置符号は、直線状に配置し、かつ、同期符号の位置で交差するレイアウトを採用することが望ましい。そこで、以下では、同期符号と同じ行にX位置符号が配置されていることを前提に説明する。
図30は、このときの位置符号検出部28aの動作を示したフローチャートである。
位置符号検出部28aは、まず、X方向のブロック数をカウントするカウンタUに「0」を代入し、位置情報を示すブロックの中でエラーと判定されたブロック数をカウントするカウンタEMに「0」を代入する(ステップ281)。
また、位置符号検出部28aは、Uで特定されるブロックにX位置符号があるかどうかを判定する(ステップ282)。具体的には、C(U,SyncY)が「X位置」であるかどうかを判定する。
ここで、このブロックに位置符号が配置されていないと判定された場合、そのままステップ286へ進む。
一方、このブロックに位置符号が配置されていると判定された場合、ブロック検出部25にて生成された符号配列から該当するパターン値を取り出す。
ここでは、P(U,SyncY)に格納されたパターン値を取り出し、これをXA(U)に代入する(ステップ283)。
次に、位置符号検出部28aは、XA(U)に格納されたパターン値が「0」より小さいかどうかを判定する(ステップ284)。
図20のステップ232において、検出した単位符号パターンから対応するパターン値を得ることができない場合には、「−1」を記憶している。そこで、メモリから読み出したXA(U)のパターン値を「0」と比較することで、正常にパターン判定された単位符号パターンであるかどうかを判定している。
ここで、パターン値が「0」よりも小さくない場合には、そのままステップ286へ進む。
一方、パターン値が「0」よりも小さい場合には、エラーと判定されたブロック数をカウントするカウンタEMに「1」を加算して(ステップ285)、ステップ286へ進む。
次に、位置符号検出部28aは、U=Bx−1であるかどうかを判定する(ステップ286)。
ここで、U=Bx−1でない場合には、Uに「1」を加算して(ステップ287)、ステップ282〜285の処理をU=Bx−1となるまで繰り返し行う。また、U=Bx−1となると、エラー数をカウントするカウンタEMの値が閾値TMよりも大きくなっているかどうかを判定する(ステップ288)。ここで、閾値TMは、1つの符号ブロック当たりの許容されるエラー数を示している。閾値TMは、符号ブロックのレイアウトを考慮せずに一律の値を設定しておいてもよいし、符号ブロック内の位置符号が配置されるブロックの数に一定の比率を乗じたものを採用してもよい。
ここで、カウンタEMの値が閾値TMよりも小さい場合には、XA(U)とShiftXとからX位置情報を取得する(ステップ289)。尚、この場合、XA(SyncX)にはパターン値が格納されていないため、これを取り除き、残りのXA(U)を連結する必要がある。
一方、カウンタEMの値が閾値TMよりも大きい場合には、エラーの発生頻度が高く、正常な復号ができないと判定し、位置情報としてN/A(not applicable)を出力する(ステップ290)。
尚、Y位置符号を検出してY位置情報を取得する動作もこれと同様であるので、詳細な説明は省略する。
ところで、本実施の形態の画像処理においては、m及びnの値が不明であることを前提とし、m及びnの値を決定してから、mCn方式で符号化された情報を取得するようにした。しかしながら、m及びnの値が決まっている状態で同様の方法により情報を取得するようにしてもよい。
次に、このような画像処理装置20を適用可能な電子ペン60について説明する。
図31は、電子ペン60の機構を示した図である。
図示するように、電子ペン60は、ペン全体の動作を制御する制御回路61を備える。また、制御回路61は、入力画像から検出した符号画像を処理する画像処理部61aと、そこでの処理結果から識別情報及び位置情報を抽出するデータ処理部61bとを含む。
そして、制御回路61には、電子ペン60による筆記動作をペンチップ69に加わる圧力によって検出する圧力センサ62が接続されている。また、媒体上に赤外光を照射する赤外LED63と、画像を入力する赤外CMOS64も接続されている。更に、識別情報及び位置情報を記憶するための情報メモリ65と、外部装置と通信するための通信回路66と、ペンを駆動するためのバッテリ67と、ペンの識別情報(ペンID)を記憶するペンIDメモリ68も接続されている。
尚、図17に示した画像読取部21は、例えば、図31の赤外CMOS64にて実現される。また、図17に示したノイズ除去部22、ドット画像検出部23、ドット配列生成部24は、例えば、図31の画像処理部61aにて実現される。更に、図17に示したブロック検出部25、同期符号検出部26、識別情報取得部27、位置情報取得部28は、例えば、図31のデータ処理部61bにて実現される。
また、画像生成装置10は、例えば、サーバコンピュータ、クライアントコンピュータ、プリンタ等の画像形成装置のコンピュータ部分で実現される。一方、画像処理装置20は、電子ペン60だけでなく、例えば、スキャナ等の画像読取装置のコンピュータ部分でも実現される。そこで、画像生成装置10及び画像処理装置20を一般的なコンピュータ90で実現するものとし、コンピュータ90のハードウェア構成について説明する。
図32は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
9Cn方式における単位符号パターンの例を示した図である。 4Cn方式における単位符号パターンの例を示した図である。 16Cn方式における単位符号パターンの例を示した図である。 9Cn方式における単位符号パターンの他の例を示した図である。 9Cn方式における単位符号パターンの他の例を示した図である。 16Cn方式における単位符号パターンの他の例を示した図である。 6Cn方式における単位符号パターンの例を示した図である。 12Cn方式における単位符号パターンの例を示した図である。 12Cn方式における単位符号パターンの例を示した図である。 6Cn方式における単位符号パターンの他の例を示した図である。 12Cn方式における単位符号パターンの他の例を示した図である。 12Cn方式における単位符号パターンの他の例を示した図である。 同期パターンの例を示した図である。 情報パターンと同期パターンの配分のバリエーションを示した図である。 情報パターンと同期パターンの配分の具体例を示した図である。 符号ブロックのレイアウトの例を示した図である。 符号ブロックのレイアウトの別の例を示した図である。 符号ブロックのレイアウトの別の例を示した図である。 本実施の形態の画像生成装置の機能ブロック図である。 本実施の形態のブロック合成部の動作を示したフローチャートである。 本実施の形態の画像処理装置の機能ブロック図である。 本実施の形態で参照するドット密度表を示した図である。 ドット密度による符号化方式の判定動作を示したフローチャートである。 ブロック区切りを用いた符号化方式の判定動作を示したフローチャートである。 9C2符号を9C2方式で復号する際のブロック区切りを示した図である。 9C3符号を9Cn方式で復号する際のブロック区切りを示した図である。 9C2符号を12Cn方式で復号する際のブロック区切りを示した図である。 9C3符号を12Cn方式で復号する際のブロック区切りを示した図である。 12C4符号を12Cn方式で復号する際のブロック区切りを示した図である。 12C4符号を12Cn方式で復号する際のブロック区切りを示した図である。 12C4符号を9Cn方式で復号する際のブロック区切りを示した図である。 本実施の形態の同期符号検出部の動作を示したフローチャートである。 本実施の形態の識別情報取得部の動作を示したフローチャートである。 本実施の形態の位置情報取得部の動作を示したフローチャートである。 本実施の形態を適用可能な電子ペンの機構を示した図である。 本実施の形態を適用可能なコンピュータのハードウェア構成図である。
符号の説明
10…画像生成装置、11…識別符号生成部、12…位置符号生成部、13…付加符号生成部、14…ブロック合成部、15…パターン画像記憶部、16…符号画像生成部、20…画像処理装置、21…画像読取部、22…ノイズ除去部、23…ドット画像検出部、24…ドット配列生成部、25…ブロック検出部、26…同期符号検出部、27…識別情報取得部、28…位置情報取得部

Claims (11)

  1. 記録媒体上の複数の区画の各々に埋め込む情報を取得する取得手段と、
    m(m≧4)箇所から選択したn(2≦n<m)箇所に単位画像を配置してなるmCn個のパターン画像のうち、前記情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを、前記複数の区画の各々に配置した画像を生成する生成手段と
    を備えたことを特徴とする画像生成装置。
  2. 前記mの値は、平方数であり、
    前記第2のパターン画像は、前記mCn個のパターン画像のうち、前記区画の回転を検出するための4q個のパターン画像から選択されたものであり、
    前記第1のパターン画像は、前記mCn個のパターン画像のうち、前記4q個のパターン画像を除く2個のパターン画像から選択されたものであることを特徴とする請求項1記載の画像生成装置。(但し、p,qは、2+4q≦mCnを満たす自然数である。)
  3. 前記mの値は、異なる2つの整数の積であり、
    前記第2のパターン画像は、前記mCn個のパターン画像のうち、前記区画の回転を検出するための2q個のパターン画像から選択されたものであり、
    前記第1のパターン画像は、前記mCn個のパターン画像のうち、前記2q個のパターン画像を除く2個のパターン画像から選択されたものであることを特徴とする請求項1記載の画像生成装置。(但し、p,qは、2+2q≦mCnを満たす自然数である。)
  4. 前記第2のパターン画像は、複数のパターン画像群のいずれかに属し、
    前記複数のパターン画像群の各々は、前記第1のパターン画像の配置に関する規則に対応付けられており、
    前記生成手段は、特定の規則に従って前記第1のパターン画像を配置し、当該特定の規則に対応付けられた前記パターン画像群に属する前記第2のパターン画像を配置した前記画像を生成することを特徴とする請求項1記載の画像生成装置。
  5. 情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを含む画像が形成された記録媒体から、当該画像を取得する画像取得手段と、
    前記画像取得手段により取得された前記画像に含まれる前記第2のパターン画像に基づいて、当該画像に含まれる前記第1のパターン画像が表す前記情報を取得する情報取得手段とを備え、
    前記第2のパターン画像は、複数のパターン画像群のいずれかに属し、
    前記複数のパターン画像群の各々は、前記第1のパターン画像の配置に関する規則に対応付けられており、
    前記情報取得手段は、前記第2のパターン画像が属する前記パターン画像群を特定し、当該パターン画像群に対応付けられた前記規則に応じて、前記情報を取得することを特徴とする画像処理装置。
  6. 前記画像は、前記記録媒体上の複数の区画の各々に、m(m≧4)箇所から選択したn(2≦n<m)箇所に単位画像を配置してなるmCn個のパターン画像の中から選択された前記第1のパターン画像と前記第2のパターン画像とを配置してなることを特徴とする請求項5記載の画像処理装置。
  7. 前記規則は、前記区画の大きさ、又は、前記区画の各位置に配置される情報の種類に関する規則であることを特徴とする請求項5記載の画像処理装置。
  8. 前記規則は、前記第1のパターン画像を複数のパターン画像群から選択する方法に関する規則であることを特徴とする請求項5記載の画像処理装置。
  9. 前記画像は、赤外領域に吸収波長を持つ不可視の画像形成材料を用いて形成され、
    前記画像取得手段は、前記記録媒体に赤外光を照射することにより前記画像を取得することを特徴とする請求項5記載の画像処理装置。
  10. コンピュータに、
    記録媒体上の複数の区画の各々に埋め込む情報を取得する機能と、
    m(m≧4)箇所から選択したn(2≦n<m)箇所に単位画像を配置してなるmCn個のパターン画像のうち、前記情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを、前記複数の区画の各々に配置した画像を生成する機能と
    を実現させるためのプログラム。
  11. コンピュータに、
    情報を表す第1のパターン画像と、当該第1のパターン画像からの当該情報の取得を制御する第2のパターン画像とを含む画像が形成された記録媒体から、当該画像を取得する機能と、
    取得された前記画像に含まれる前記第2のパターン画像に基づいて、当該画像に含まれる前記第1のパターン画像が表す前記情報を取得する機能とを実現させ、
    前記第2のパターン画像は、複数のパターン画像群のいずれかに属し、
    前記複数のパターン画像群の各々は、前記第1のパターン画像の配置に関する規則に対応付けられており、
    前記情報を取得する機能では、前記第2のパターン画像が属する前記パターン画像群を特定し、当該パターン画像群に対応付けられた前記規則に応じて、前記情報を取得することを特徴とするプログラム。
JP2006295009A 2006-10-30 2006-10-30 画像生成装置、画像処理装置、及びプログラム Pending JP2008113258A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006295009A JP2008113258A (ja) 2006-10-30 2006-10-30 画像生成装置、画像処理装置、及びプログラム
US11/785,330 US8019181B2 (en) 2006-10-30 2007-04-17 Image generation apparatus, image processing apparatus, computer readable medium and computer data signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006295009A JP2008113258A (ja) 2006-10-30 2006-10-30 画像生成装置、画像処理装置、及びプログラム

Publications (1)

Publication Number Publication Date
JP2008113258A true JP2008113258A (ja) 2008-05-15

Family

ID=39330248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006295009A Pending JP2008113258A (ja) 2006-10-30 2006-10-30 画像生成装置、画像処理装置、及びプログラム

Country Status (2)

Country Link
US (1) US8019181B2 (ja)
JP (1) JP2008113258A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4556705B2 (ja) * 2005-02-28 2010-10-06 富士ゼロックス株式会社 2次元座標同定装置、画像形成装置及び2次元座標同定方法
JP5136302B2 (ja) 2008-03-27 2013-02-06 株式会社デンソーウェーブ 二次元コード、二次元コード生成方法、二次元コードを表示させるコンピュータ読み取り可能なプログラム、二次元コードを利用した認証方法、及び二次元コードを利用した情報提供方法
JP5272986B2 (ja) * 2009-09-14 2013-08-28 富士ゼロックス株式会社 画像処理装置及びプログラム
CN107122768A (zh) * 2017-05-31 2017-09-01 吉林大学 一种三维笔式识别预处理方法
KR20220165865A (ko) * 2021-06-08 2022-12-16 삼성디스플레이 주식회사 표시 장치 및 이를 포함하는 터치 입력 시스템
KR20230174330A (ko) * 2022-06-17 2023-12-28 삼성디스플레이 주식회사 표시 장치 및 이를 포함하는 입력 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092438A (ja) * 2003-09-16 2005-04-07 Casio Comput Co Ltd 平面状記録媒体及び座標読み取り方法
JP2006254299A (ja) * 2005-03-14 2006-09-21 Fuji Xerox Co Ltd 画像生成装置若しくは画像読取装置、方法、プログラム及び記憶媒体

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
US5548407A (en) * 1992-05-22 1996-08-20 Albrecht von Kienlin Process for electronic processing of multi-colored continuous-tone images
KR100225112B1 (ko) 1992-09-28 1999-10-15 기시모토 마사도시 도트 코드 및 정보를 기록/재생하기 위한 도트 코드 및 정보의 기록/재생 시스템(dot code and information recording/reproducing system for recording/reproducing the same)
JP2833975B2 (ja) 1992-09-28 1998-12-09 オリンパス光学工業株式会社 ドットコード
US5726435A (en) * 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP3448120B2 (ja) * 1994-12-27 2003-09-16 シャープ株式会社 デジタル情報記録担体
EP0780790A3 (en) 1995-12-21 2003-06-25 Xerox Corporation Tiled embedded data blocks
US5915042A (en) * 1996-03-28 1999-06-22 Oki Data Corporation Coding and decoding methods and apparatus for compressing and expanding image data
US6432518B1 (en) 1998-12-28 2002-08-13 Ricoh Company, Ltd. Erasable recording material capable of inputting additional information written thereon and information recording system and information recording method using the recording material
JP4037026B2 (ja) 1999-02-03 2008-01-23 株式会社リコー 座標入力装置、情報処理システムおよび媒体
US6532301B1 (en) * 1999-06-18 2003-03-11 Microsoft Corporation Object recognition with occurrence histograms
SE517445C2 (sv) 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
US6857571B2 (en) * 2000-06-30 2005-02-22 Silverbrook Research Pty Ltd Method for surface printing
JP4214440B2 (ja) * 2000-10-19 2009-01-28 ソニー株式会社 データ処理装置およびデータ処理方法、並びに記録媒体
JP4112812B2 (ja) * 2001-03-27 2008-07-02 株式会社東芝 パターン評価方法、パターン評価装置およびコンピュータ読み取り可能な記録媒体
US7116840B2 (en) 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
JP3981658B2 (ja) * 2003-09-30 2007-09-26 松下電器産業株式会社 画像処理方法および画像処理装置
US7263224B2 (en) 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
JP2006085679A (ja) 2004-08-16 2006-03-30 Ricoh Co Ltd 2次元コードパターン、2次元コード作成方法、2次元コード作成装置及び印刷媒体
JP4241751B2 (ja) * 2006-03-30 2009-03-18 村田機械株式会社 スキャナ制御装置およびスキャナ装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092438A (ja) * 2003-09-16 2005-04-07 Casio Comput Co Ltd 平面状記録媒体及び座標読み取り方法
JP2006254299A (ja) * 2005-03-14 2006-09-21 Fuji Xerox Co Ltd 画像生成装置若しくは画像読取装置、方法、プログラム及び記憶媒体

Also Published As

Publication number Publication date
US20080101702A1 (en) 2008-05-01
US8019181B2 (en) 2011-09-13

Similar Documents

Publication Publication Date Title
JP4207049B2 (ja) 同定機能付き印刷物、画像生成装置、画像処理装置及びその方法
JP2008113258A (ja) 画像生成装置、画像処理装置、及びプログラム
JP5971098B2 (ja) 情報処理装置及び情報処理プログラム
JP4967823B2 (ja) 位置検出装置及びプログラム
JP5929505B2 (ja) 情報処理装置及び情報処理プログラム
US8687919B2 (en) Image processing apparatus, computer readable medium, and image processing method
US8353461B2 (en) Image processing apparatus, identification apparatus, electronic writing instrument, method for determining bit sequence and computer readable medium
JP5028955B2 (ja) 画像処理装置及びプログラム
JP5720182B2 (ja) 画像処理装置及び画像処理プログラム
JP4915211B2 (ja) 画像生成装置、印刷媒体、及びプログラム
JP2008113251A (ja) 画像生成装置、画像処理装置、及びプログラム
JP4973316B2 (ja) 画像処理装置及びプログラム
US10891704B2 (en) M-ary cyclic coding
JP4765894B2 (ja) 画像生成装置、情報読み取り装置および記録媒体
JP5125547B2 (ja) 画像生成装置、画像処理装置、プログラム、及び印刷媒体
JP4973317B2 (ja) 画像処理装置及びプログラム
JP5098441B2 (ja) 画像処理装置及びプログラム
JP4368373B2 (ja) デジタル情報坦体
JP2008112314A (ja) 画像生成装置及びプログラム
JP7109398B2 (ja) 画像表示媒体、画像処理装置、画像処理方法、及びプログラム
JP5125548B2 (ja) 画像処理装置及びプログラム
JP2008301120A (ja) 画像処理装置、画像生成装置、及びプログラム
JP5987726B2 (ja) 情報処理装置及び情報処理プログラム
JP2009181341A (ja) 位置検出装置及びプログラム
JP2008301128A (ja) 画像処理装置、画像生成装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111227