Nothing Special   »   [go: up one dir, main page]

JP3568374B2 - Dot code and information reproduction system - Google Patents

Dot code and information reproduction system Download PDF

Info

Publication number
JP3568374B2
JP3568374B2 JP25582597A JP25582597A JP3568374B2 JP 3568374 B2 JP3568374 B2 JP 3568374B2 JP 25582597 A JP25582597 A JP 25582597A JP 25582597 A JP25582597 A JP 25582597A JP 3568374 B2 JP3568374 B2 JP 3568374B2
Authority
JP
Japan
Prior art keywords
data
address
marker
code
dot
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.)
Expired - Fee Related
Application number
JP25582597A
Other languages
Japanese (ja)
Other versions
JPH10187908A (en
Inventor
達夫 長崎
弘善 藤森
紳造 松井
健 森
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.)
Olympus Corp
Original Assignee
Olympus Corp
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 Olympus Corp filed Critical Olympus Corp
Priority to JP25582597A priority Critical patent/JP3568374B2/en
Publication of JPH10187908A publication Critical patent/JPH10187908A/en
Application granted granted Critical
Publication of JP3568374B2 publication Critical patent/JP3568374B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、音声,音楽等のオーディオ情報、カメラ,ビデオ等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等を含めた所謂マルチメディア情報を記録及び/又は再生するに適した、紙や各種樹脂フィルム、金属等のシート状媒体に光学的に読み取り可能に記録されるドットコード、並びに、そのようなドットコードを読み取って元の情報を再生する情報再生システムに関する。
【0002】
【従来の技術】
従来より、音声や音楽等を記録する媒体として、磁気テープや光ディスク等、種々のものが知られている。
【0003】
しかしこれらの媒体は、大量に複製を作ったとしても単価はある程度高価なものとなり、またその保管にも多大な場所を必要としていた。
【0004】
さらには、音声を記録した媒体を、遠隔地にいる別の者に渡す必要ができた場合には、郵送するにしても、また直に持っていくにしても、手間と時間がかかるという問題もあった。
【0005】
そこで、ファクシミリ伝送が可能で、また大量の複製が安価に可能な画像情報の形で音声情報を紙に記録することが考えられている。例えば、特開昭60−244145号公報に開示されているように、若干の音声を光学的なコードとすることにより、音声情報を画像情報に変換して、ファクシミリで送れるようにしたものが提案されている。
【0006】
【発明が解決しようとする課題】
しかし、上記公報に開示された装置では、ファクシミリ装置に、この光学的に読み取り可能に記録された音声を読み取るためのセンサを持たせ、そのセンサ出力に応じて音声を再生するようにしている。従って、ファクシミリ伝送されてきた光学的に読み取り可能な音声情報は、そのファクシミリ装置の設置されている場所で聞くしかなく、別の場所にファクシミリ出力用紙を移して音を再生するといった使用法は想定されていなかった。
【0007】
そのため、音声情報の記録容量を多くすると、他のファクシミリ送受信に影響を及ぼす恐れがあり、また音声記録されている内容自体が難しい場合には、多量の音声を再生しているうちに最初の方を忘れてしまうといったことも有り得る。さらには、記録密度及び圧縮方法により記録容量が限定され、僅か数秒程度の音声しか送信できないものであった。従って、やはり多量の音声情報を送るためには、磁気テープや光ディスクなどに頼らざるを得なかった。
【0008】
また、短時間の音声情報であっても、その再生装置自体がファクシミリ装置に内蔵されているため、その音声情報のくり返しの再生などにも不便なものであった。
【0009】
また、オーディオ情報以外の、カメラ,ビデオ等から得られる映像情報、及びパーソナルコンピュータ,ワードプロセッサ等から得られるディジタルコードデータ、等をも含めた所謂マルチメディア情報全体に関し、安価且つ大容量の記録再生システムはまだ実現されていない。
【0010】
本発明は、上記の点に鑑みてなされたもので、オーディオ情報、映像情報、及びディジタルコードデータ等を含めたマルチメディア情報を、安価且つ大容量記録でき、且つ繰り返し再生できるドットコード及び情報再生システムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成するために、本発明によるドットコードは、光学的に読み取り可能なドットコードであって、
前記ドットコードは、
データの内容に応じて二次元に配列された複数のドットでなるデータドットパターンと、
前記データドットパターンには有り得ないパターンからなり、当該ドットコードを認識するための複数のマーカと、
を少なくとも具備し、
前記複数の各マーカは、黒部分と白部分とから構成されると共に、それぞれ互いに離間して二次元に配置され、当該マーカの白部分によって決まる黒部分の重心を、前記データドットパターンからデータをサンプルするサンプル点を求めるための点としたことを特徴とする。
また、本発明による情報再生システムは、
光学的に読み取り可能なドットコードであって、再生されるべき情報に係るデータの内容に応じて二次元に配列された複数のドットでなるデータドットパターンと、前記データドットパターンには有り得ないパターンからなり、当該ドットコードを認識するための複数のマーカとを少なくとも具備し、前記複数の各マーカは、黒部分と白部分とから構成されると共に、それぞれ互いに離間して二次元に配置され、当該マーカの白部分によって決まる黒部分の重心を、前記データドットパターンからデータをサンプルするサンプル点を求めるための点としたドットコードが記録された記録媒体から、前記ドットコードを光学的に読み取る読取手段と、
前記読取手段で読み取ったドットコードから前記マーカを検出し、当該ドットコードに含まれる前記データドットパターンからデータをサンプルして元の情報を復元する復元手段と、
前記復元手段により復元された情報を出力する出力手段と、
を具備することを特徴とする。
【0012】
即ち、本発明のドットコード及び情報再生システムによれば、少なくとも、データの内容に応じて二次元に配列された複数のドットでなるデータドットパターンと、前記データドットパターンには有り得ないパターンからなり、当該ドットコードを認識するための複数のマーカとからドットコードを構成したものであり、特に、それら複数の各マーカを、黒部分と白部分とから構成して、それぞれ互いに離間して二次元に配置し、当該各マーカの各白部分によって決まる各黒部分の重心を、データをサンプルするサンプル点を求めるための点としている。
【0013】
従って、マルチメディア情報に係るデータをデータドットパターンとして光学的に読み取り可能に記録媒体に記録した場合に、ドットコードの中からマーカを容易に認識でき、マーカ対によってブロック内のデータドットパターンの各ドットの配列位置を二次元的に特定することが可能となるので、データドットパターンの各ドットを非常に微細な大きさで記録することができ、よって、安価且つ大容量記録できるようになる。また、このようなドットコードは、繰り返し再生できる。
【0014】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を説明するが、まず、マルチメディア情報の内、音声,音楽等のオーディオ情報に関連する実施の形態について説明する。
【0015】
図1は、本発明の第1の実施の形態において、音声や音楽などのオーディオ情報を光学的に読み取り可能なディジタル信号として紙に記録するためのオーディオ情報記録装置のブロック構成図である。
【0016】
マイクロフォンやオーディオ出力機器などの音声入力器12により入力されるオーディオ信号は、プリアンプ14にて増幅(マイクロフォン音声の場合はAGCをかける)後、A/D変換器16でディジタルに変換される。このディジタル化されたオーディオ信号は、圧縮回路18にてデータ圧縮が施された後、誤り訂正符号付加回路20にて誤り訂正符号が付加される。
【0017】
その後、メモリ回路22にてインタリーブが施される。このインタリーブは、データの配列を前もってある規則に従って2次元的に分散させるもので、これにより、再生装置にてデータを元の配列に戻したときに、紙のバースト状の汚れや傷、つまり、エラーそのものが分散され、エラー訂正及びデータの補間がし易くなる。このインタリーブは、メモリ22Aに記憶されたデータをインタリーブ回路22Bにより適宜読み出し出力することにより行われる。
【0018】
このメモリ回路22の出力データは、次に、データ付加回路24によって、詳細は後述するような所定の記録フォーマットに従って、ブロック毎に、マーカ、ブロックの2次元的なアドレスを示すxアドレス及びyアドレス、及び誤り判定符号が付加された後、変調回路26で記録のための変調を受ける。そして、上記オーディオ情報の出力データと一緒に記録される画像データ等のデータが合成回路27により重畳された後、プリンタシステム又は印刷用製版システム28にて、印刷のための処置がなされる。
【0019】
これにより、例えば、図2の(A)に示すような書式で記録媒体としての紙30に記録される。即ち、画像32や文字34と一緒に、ディジタル信号化された音のデータが記録データ36として印刷される。ここで、記録データ36は、複数のブロック38から構成されており、各ブロック38は、マーカ38A,誤り訂正用符号38B,オーディオデータ38C,xアドレスデータ38D,yアドレスデータ38E,及び誤り判定符号38Fから構成されている。
【0020】
なお、マーカ38Aは同期信号としても機能するもので、DATのように、通常は記録変調で出てこないようなパターンを用いている。また、誤り訂正用符号38Bは、オーディオデータ38Cの誤り訂正に用いられるものである。オーディオデータ38Cは、上記マイクロフォン又はオーディオ出力機器などの音声入力器12から入力されたオーディオ信号に対応するものである。x及びyアドレスデータ38D,38Eは、当該ブロック38の位置を表すデータであり、誤り判定符号38Fは、これらx,yアドレスの誤り判定に用いられる。
【0021】
このようなフォーマットの記録データ36は、「1」,「0」のデータを、例えばバーコードと同様に、「1」を黒ドット有り、「0」を黒ドット無しというようにして、プリンタシステム又は印刷用製版システム28によって印刷記録される。以下、このような記録データをドットコードと称する。
【0022】
図2の(B)は、同図の(A)に示したような紙30に記録された音のデータをペン型の情報再生装置40で読出している場面を示している。同図のようなペン型情報再生装置40で、ドットコード36の上をなぞることにより、ドットコード36を検出し、音に変換してイヤホン等の音声出力器42で聞くことができる。
【0023】
図3は、本発明の第1の実施の形態に於ける情報再生装置40のブロック構成図である。本実施の形態の情報再生装置は、ヘッドホンやイヤホン等の音声出力器42以外の部分を携帯可能なペン型の1つの筐体(図示せず)内に収納するものとする。もちろん、筐体内にスピーカを内蔵するものとしても良い。
【0024】
検出部44は、基本的に、テレビジョンカメラ等の撮像部と同様の機能を有している。即ち、光源44Aにて、被写体である紙面上のドットコード36を照明し、反射光を、レンズ等の結像系44B及び空間フィルタ44Cを介して、半導体エリアセンサ等でなる撮像部44Dで画像として検出し、プリアンプ44Eにて増幅して出力する。
【0025】
ここで、エリアセンサの画素ピッチは、標本化定理により、撮像面上のドットコード36のドットピッチの以下に設定されている。さらに、撮像面上に設置された空間フィルタ44Cも、この定理に基づいて、撮像面上のモアレ現象(エリアジング)を防ぐために挿入されている。また、エリアセンサの画素数は、図4の(A)に示すように検出部44を手動走査する際の手振れを考慮して、一度に読取可能と規定された所定のドットコード36の縦方向の幅よりも多めに設定してある。即ち、図4の(A)及び(B)は、検出部44を矢印方向に手動走査させた時のある周期ごとの撮像エリアの移動状態を示しているもので、特に、(A)はドットコード36の縦方向の幅が撮像エリア内に納まる場合(手振れも考慮してある)の手動走査の状態を示し、(B)はドットコード36の量が多く、縦方向の幅が一回の撮像エリアに納まらない場合を示している。後者の場合は、ドットコード36の手動走査を開始する位置に、それを示すための手動走査用マーク36Aが印刷されている。よって、この手動走査用マーク36Aに沿って、手動走査を複数回行うことより、多量のドットコード36を検出することが可能となる。
【0026】
上記のようにして検出部44により検出された画像信号は、次に、走査変換及びレンズ歪み補正部46に入力される。この走査変換及びレンズ歪み補正部46では、入力画像信号は、先ず、A/D変換器46Aでディジタル信号に変換され、フレームメモリ46B内に蓄えられる。このフレームメモリ46Bは、8ビットの階調を持っている。
【0027】
また、マーカ検出回路46Cは、フレームメモリ46Bに記憶された画像情報を、図4の(C)に示すようにスキャンして、マーカ38Aを検出する。θ検出回路46Dは、このマーカ検出回路46Cで検出した各マーカ38Aが撮像面上のどのアドレス値に対応しているのかを検出して、そのアドレス値からドットコードの配列方向に対する撮像面の傾きθを演算する。なお、上記マーカ検出回路46Cは、図4の(C)に示すような方向のみのスキャンでは、同図(D)に示すように、同図(C)の場合とほぼ90°回転してドットコード36の撮像が行われた場合に傾きθが正しく求められない恐れがある。即ち、ブロック38の短手方向にスキャンした場合にはθが正しく求められない恐れがあるため、マーカ検出回路46Cは、同図(D)に示すように直行した方向のスキャンも行い、これら直行する2方向のスキャンで得られた結果の内の正しい方を選択するようにしている。
【0028】
一方、レンズ収差情報メモリ46Eには、レンズの歪み補正を行うための、上記検出部44の結像系44Bに用いられているレンズの予め測定された収差情報を記憶している。アドレス制御回路46Fは、次にフレームメモリ46B内に蓄えられたデータを読出す際には、上記θ検出回路46Dで演算された傾きθの値とレンズ収差情報メモリ46Eに記憶されているレンズ収差情報とに従った読み出しアドレスをフレームメモリ46Bに与え、補間回路46Gにてデータ補間を行いながらデータの配列方向への走査変換を行う。
【0029】
図5の(A)は、この補間回路46Gにて行われるデータ補間の原理を示している。基本的には、データを補間する位置Qの周囲の画素を使用して、コンボルーションフィルタ,LPFにて補間データの作成を行う。この走査変換後の画素ピッチ及び走査線ピッチは、撮像時と同様に標本化定理に基づいてドットコードのドットピッチの以下に設定されている。
【0030】
補間すべき位置Qの周囲4個の画素を使用した簡単なデータ補間の場合には、Q=(D6 ×F6 )+(D7 ×F7 )+(D10×F10)+(D11×F11)、また周囲16個の画素を使用した比較的精度の良いデータ補間の場合には、Q=(D1 ×F1 )+(D2 ×F2 )+…+(D16×F16)の演算により補間データが作成される。ここで、Dn は画素nのデータ振幅値、Fn は画素nまでの距離に従って決定される補間用コンボリューションフィルタ(LPF)の係数である。
【0031】
以上のようにして走査変換を受けてフレームメモリ46Bから読出されたドットコード36の画像は、次に、ラッチ48A及びコンパレータ48Bで構成された二値化回路48にて二値化される。この二値化を行う際の閾値は、閾値判定回路50にて、画面毎もしくは画面内のブロック毎のヒストグラムの値などを利用して決定される。即ち、ドットコード36上の染みや紙30の歪み、内蔵クロックの精度などに応じて、閾値を決定する。この閾値判定回路50としては、例えば本出願人による特願平4−131051号に開示のニューラルネットワークを利用した回路を使用するのが好ましい。
【0032】
またこれと並行して、フレームメモリ46Bから読出されたドットコード36の画像は、PLL回路52に入力され、再生データと同期したクロックパルスCKを発生する。このクロックパルスCKは、走査変換後の二値化や復調、及び後述するデータ列調整部56内の誤り判定回路56A,x,yアドレス検出回路56Bやメモリ部56Cなどの基準クロックとして使用される。
【0033】
二値化されたデータは、復調回路54にて復調され、データ列調整部56内の誤り判定回路56Aと、x,yアドレス検出回路56Bに入力される。誤り判定回路56Aは、ブロック38内の誤り判定符号38Fを用いてx,yアドレスデータ38D,38Eに誤りが無いかどうかの判定を行う。誤りが無い場合は、上記復調回路からの復調データをx,yアドレス検出回路56Bで検出したアドレスに従って、オーディオデータ列調整用のメモリ部56Cに記録する。誤りがある場合は、そのブロック38のオーディオデータ38Cはオーディオデータ列調整用のメモリ部56Cには記録されない。
【0034】
このデータ列調整部56の目的は、上記走査変換及びレンズ歪み補正部46における走査変換の精度(基準クロックの精度及び撮像素子のS/Nに左右される)や紙の歪み等により、データの配列方向と走査変換後の走査方向に生じた僅かなずれを補正することにある。これを、図6によって説明する。同図中、ドットコードD1,D2,D3はブロックごとのデータを示している。走査変換後の走査線1,2,3,…のピッチは、前述したように標本化定理に基づいてデータのドットピッチ以下に設定されていれば良いが、図6に於いては、完全を期してドットピッチの1/2に設定してある。故にドットコードD1は図からも明らかなように、走査変換後の走査線3にて誤りなく検出される。そして、D2は走査変換後の走査線2にて誤りなく検出され、D3も同様に、走査変換後の走査線1にて誤りなく検出される。
【0035】
そして、それぞれのブロック38内のx,yアドレス38D,38Eに従って、データ列調整用のメモリ部56Cに格納される。
【0036】
次に、図4の(A),(B)に示したように検出部44を手動で走査することにより、紙30の上の音声ドットコード36を洩れなくデータ列調整用のメモリ部56Cに格納することができる。
【0037】
このようなデータ列調整部56にてデータ列が調整された音声ドットコードは、次に、上記PLL回路52とは別の基準クロック発生回路53により発生した基準クロックCK’に従い、データ列調整用のメモリ部56Cから読出される。そして、この時にデ・インタリーブ回路58によりデ・インタリーブがかけられ、正式なデータ列に変換される。次に、ブロック38内の誤り訂正用符号38Bを用いた誤り訂正が誤り訂正回路60にて行われる。そして、復号回路62で圧縮されたデータの復号が行われ、さらにデータ補間回路64にて誤り訂正不能なオーディオデータの補間が行われる。その後、D/A変換回路66にてアナログのオーディオ信号に変換され、増幅器68にて増幅されて、音声出力器(イヤホン,ヘッドホン,スピーカ,等)42にて音に変換される。
【0038】
以上のようにして、音声や音楽などのオーディオ情報を紙に記録できるようにし、また再生機を小型の携帯型の装置としたことにより、プリントアウトしたものやそれをファクシミリ伝送したもの、あるいは印刷製版により本の形式で印刷されたものを、何処でも、また何回でも聞くことができるようになる。
【0039】
なお、上記データ列調整部56内のデータ列調整用のメモリ部56Cは、半導体メモリに限らず、フロッピー(登録商標)ディスク,光ディスク,光磁気ディスク,等の他の記憶媒体を利用することが可能である。
【0040】
上記のようにオーディオ情報を記録したものの応用例としては、種々のものが考えられる。例えば、一般用として、語学教材、楽譜、通信教育等の各種テキスト、商品仕様、修理等のマニュアル、外国語等の辞書、百科事典、絵本等の書籍、商品カタログ、旅行案内、ダイレクトメールや案内状、新聞、雑誌、チラシ、アルバム、祝電、葉書、等が考えられる。また、業務用としては、FAX(ボイス&ファックス)業務指示書、議事録、電子黒板、OHP、身分証明書(声紋)、名刺、電話用メモ、付箋紙、上質紙をロール状にしたサプライ商品(消耗品)、等といったものが考えられる。ここで、消耗品とは、図5の(B)に示すように、そのロール状にした紙30Aの裏面に、両面テープや、付箋紙の様な簡単に剥がれるのりが設けられており、表面にドットコード36を記録して、必用な分だけ切り離して、種々のものに貼れるようにしたものである(以下、これをリールシールと称する)。また、同図の(C)に示すように、紙30Aの幅を広くして複数段のドットコード36が記録できるようにすると共に、検出部44の手動走査のガイドラインとしての手動走査用マーク36Bを縦横に印刷しておいても良い。このマーク36Bは、同時に、ドットコード36の記録位置の目安としても利用できる。即ち、プリンタシステム28にセンサを設けておき、そのセンサで上記マーク36Bを読み取って、プリントアウトする頭出しをするようにすれば、ドットコード36はこのマーク36Bで囲まれた領域内に必ず印刷できるので、手動走査もこのマーク36Bに沿って行うことにより確実に記録されたオーディオ情報を再生できる。むろん、ドットコード36を印刷する時にマーク36Bも印刷しても良い。
【0041】
なお、オーディオ情報の記録時間は、200dpiの一般的なファクシミリの場合、例えば用紙の一辺に沿って1インチ×7インチ(2.54cm×17.78cm)のエリアにデータを記録した場合、データの総数は280kbitになる。これからマーカ、アドレス信号、誤り訂正符号、誤り判定符号(但し、この場合の誤り判定符号は上記x,yアドレス38D,38Eに加えてオーディオデータ38Cも誤り判定対象としている)の分(30%)を差し引くと、196kbitになる。従って、音声を7kbit/s(移動体通信のビットレート)に圧縮した時の記録時間は、28秒となる。A4サイズ両面ファクシミリ用紙の裏面全体に記録する時は、7インチ×10インチ(17.78cm×25.4cm)のエリアが取れるので、4.7分の音声記録が可能である。
【0042】
また、400dpiのG4ファクシミリの場合には、上記と同様に計算した結果、7インチ×10インチのエリアに、18.8分の音声記録が可能である。
【0043】
1500dpiの高級印刷の場合、5mm×30mmのエリアに印刷した場合、上記と同様に計算した結果、52.3秒の音声記録が可能である。また、10mm×75mmのテープ状エリアに印刷した場合には、ミュージックも可能な高音質(圧縮して30kbit/s)の音声信号で計算した場合、1分の音声記録が可能である。
【0044】
図7は、本発明の第2の実施の形態の構成を示す図である。本第2の実施の形態は、撮像素子として、メモリ及びランダムアクセス可能なCMDのようなxyアドレス型撮像部を使用する例であり、再生装置の検出部44並びに走査変換及びレンズ歪み補正回路46のみが、上記第1の実施の形態と異なっている。即ち、検出部及び走査変換部70は、xyアドレス型撮像部70Aにメモリされた撮像データを上記第1の実施の形態と同様にマーカ検出して、読出すときに補間する回りのデータ4つをデコーダ用アドレス発生部70B及びx,yデコーダ70C,70Dにより順番に読出して補間部72に入力する。補間部72では、入力データに対して、係数発生回路70Eより係数を順次読出して掛け算器70Fにより掛け算し、さらには加算器70G,サンプルアンドホールド回路70H,スイッチ70Iでなるアナログの累積加算回路にて累積加算し、サンプルアンドホールド回路70Jにてサンプルアンドホールドを行って、走査変換されたドットコードを上記二値化回路48,閾値判定回路50,及びPLL回路52に供給する。
【0045】
このような構成とすることにより、上記第1の実施の形態と同様の機能を果たすことができると共に、フレームメモリ46を不要とすることができ、コストの低減並びに小型化が実現できる。さらには、xyアドレス型撮像部70A、アドレス発生部70B、デコーダ70C,70D、補間部72を一つの基板に作り込んでIC化することにより、さらに小型化が図れる。
【0046】
図8は、本発明の第3の実施の形態の構成を示す図である。本実施の形態は、絵や文字の印刷された紙30の上に、正反射(全反射)し易い透明塗料(インク)74によりドットコード36を記録したものである。そして、検出部44内に、光源44Aと結像系44Bの間に偏光フィルタ44F,44Gを設け、これら偏光フィルタ44F,44Gの偏光面を合わせておくことにより、内部(紙30の表面)からの反射光や、コードに従って透明塗料74の抜けている穴74Aの開いているところからの反射光は偏光方向がばらばらになって偏光フィルタ44Gで1/2がカットされることとなり、さらに通常の反射光と全反射光とではもともと光量差が大きいので、透明塗料74で記録されたドットコードのコントラストが強調されて撮像されることとなる。
【0047】
さらには、紙30を表面が正反射し易いように鏡面仕上げ等の表面処理し、透明塗料74を、上記表面処理した面の屈折率より高い屈折率の素材で、且つ1/4λ程度の(入射角による光路長の変化を考慮して、透明塗料内の光路長で1/4となるような)厚みの膜としておけば、反射増幅コートの効果で、斜めに当った光が、より一層増幅されて表面反射(正反射)し易い。
【0048】
この場合、例えばドットコードの形成は、微細なケミカルエッチング等にて行い、ドットに対応した穴の部分を粗面化して反射率を低下させるものとする。
【0049】
このように透明塗料74によりドットコード36を記録するようにすると、文字や絵の上にも記録できるので、文字や絵と併用する場合、上記第1の実施の形態に比べて記録容量を増大することができる。
【0050】
また、透明塗料の代わりに、透明の蛍光塗料を用いても良いし、カラーにして多重化するようにしても良い。このカラーにする場合には、通常のカラーインクを使用することもできるし、透明のインクに色素を混ぜてカラーにすることも可能である。
【0051】
ここで、例として、透明インクを揮発性液とバインダー(例えば、フェノール樹脂ワニス、アマニ油ワニス、アルキッド樹脂がある)からなるインクとし、色素を顔料とすることができる。
【0052】
次に、オーディオ情報記録装置を応用した携帯型ボイスレコーダを説明する。図9の(A)及び(B)はその外観図である。この携帯型ボイスレコーダは、本体76と、本体側及び音声入力部側着脱部材(面ファスナー、マジックテープ(登録商標)等)78A,78Bにより本体76に対し着脱自在な音声入力部80とからなる。また、本体76表面には、記録開始ボタン82と印字シートの排出部84が設けられている。なお、本体76と音声入力部80とはケーブル86により結ばれている。もちろん、無線や赤外線などにより音声入力部80から本体76に信号を送信するようにしても良い。
【0053】
図10は、このような携帯型ボイスレコーダのブロック構成図である。マイクロホン88から入力された音声は、プリアンプ90で増幅後、A/D変換器92でディジタルに変換されて、圧縮処理部(ADPCM)94に供給される。圧縮処理を施されたデータは、エラー訂正符号付加部96にてエラー訂正符号が付加され、その結果がインターリーブ部98に供給され、それぞれのデータが記憶されて、その後、インターリーブ処理が行われる。こうしてインターリーブされたデータは、さらに、アドレスデータ付加部100により、ブロックのアドレス,アドレス用のエラー判定符号(CRC等)を付加し、その結果が変調回路102に入力される。この変調回路102では、例えば8−10変調というような8ビットのデータを10ビットの別のビット数のものに変換する。その後、マーカ付加部104にて、上記変調回路102で対応付けた256通りのデータ列には無いデータ列を使ってマーカを生成して付加する。
【0054】
こうしてマーカを付加されたデータは、簡易プリンタシステム106に送られて、図11の(A)及び(B)に示すようにリールシール108に印刷され、印字シート排出部84から排出される。この場合、簡易プリンタシステム106はタイマ110によって計時された日付・時刻をリールシール108に印字する。
【0055】
なお、上記の各部は、記録開始ボタン82の操作に応じて制御部112により制御される。また、上記各部の内、マイクロホン88からどこまでを音声入力部80内に構成するかは特に限定されるものではなく、例えば、ここでは、音声入力部80にはマイクロホン88,プリアンプ90,A/D変換器92を内蔵するものとする。
【0056】
図12は、このような構成の携帯型ボイスレコーダの動作フローチャートである。即ち、本体76に設けられた記録開始ボタン82が押下されると(ステップS12)、その押下されている間(ステップS14)、音声入力からリールシール108へのドットコード114印字処理迄の処理が行われる(ステップS16)。そして、記録開始ボタン82の押下が止められると、予め決められた一定時間内に再び記録開始ボタン82が押下されたかどうかを判断し(ステップS18)、押下されたと判断した場合には上記ステップS14に戻って上記の処理を繰り返す。しかし、一定時間以内に記録開始ボタン82が押下されなかった場合には、タイマ110より現在の日時及び時刻を参照して(ステップS20)、リールシール108を余白部分116をフィードしながら、その参照した日時,時刻を印字する(ステップS22)。
【0057】
このような携帯型ボイスレコーダでは、図9の(A)に示すように本体76と音声入力部80とを接続した状態では、ユーザは本体76を手で持って音声入力部80を口元に近づけて音声をドットコード114としてリールシール108に記録する。また、図9の(B)に示すように本体76と音声入力部80とを分離し、音声入力部80を着脱部材78Bを利用して電話の送受話器の受話器側に取り付けることにより、電話の内容をメモする代わりに直接相手側の用件をドットコード114としてリールシール108に記録することができる。しかもこの場合、図11の(A)及び(B)に示すように、リールシール108には、日時・時刻が印字されるだけでなく、余白部分116が形成されるため、受信人名をメモしたり、だれ宛のものであるか等といったコメントを書込むことができる。
【0058】
なお、音声入力部80としては、上記のように着脱部材により本体に着脱される構成以外にも、種々の態様が考えられる。例えば、図11の(C)及び(D)に示すように、イヤホン型のものとすることができる。このようなイヤホン型の音声入力部80とした場合、同図の(D)に示すように音声入力部80を本体76の音声入力部格納部118から引出し、ユーザの耳に挿入することにより、電話の送受話器の受話器側から聞こえる相手の声を聞きながら、それをドットコードの形で記録できるようになる。
【0059】
また、上記説明では、記録開始ボタン82を押し続けている間だけドットコード印字を行うものとしたが、本体76に別に記録終了ボタンを設け、記録開始ボタン82が一回押されてから記録終了ボタンが押されるまでの間、ドットコード印字を行うようにするようにしても良い。
【0060】
記録機には、図3で示したような再生機能を組み込んで、記録再生機としても良い。またその時は、イヤホン型音声入力部80は、イヤホンの機能も併せ持たせても良い。
【0061】
以上の実施の形態に於いては、記録される情報として、音声,音楽等のオーディオ情報を例に挙げて説明したが、以下に、オーディオ情報に限らず、カメラ,ビデオ等から得られる映像情報、及びパーソナルコンピュータ(以下、パソコンと称す),ワードプロセッサ(以下、ワープロと称す)等から得られるテキストデータ等のディジタルコードデータ、等を含めた、所謂マルチメディア情報を取り扱う実施の形態について説明する。
【0062】
図13は、そのようなマルチメディア情報を記録するためのマルチメディア情報記録装置のブロック構成図である。
【0063】
マルチメディア情報の内、オーディオ情報については、図1の場合と同様に、マイクロホンやオーディオ出力機器120から入力され、プリアンプ122で増幅後、A/D変換器124でディジタルに変換されて、圧縮処理部126に供給される。
【0064】
圧縮処理部126では、入力ディジタルオーディオ信号は、スイッチ128により、ADPCM回路のような音声圧縮回路130と音声合成コード化回路132とに選択的に供給されるようになっている。音声圧縮回路130は、入力ディジタルオーディオ情報を適応型の差動PCMすることによりデータ圧縮を施す。音声合成コード化回路132は、入力ディジタルオーディオ情報に対して、1つ音声を認識をした後、コードに変換する。これは、上記ADPCMが音声情報という形でそれを符号化しデータ量を減らしていく即ち生のまま処理をしていくのに対して、一旦別の合成のコードに変えてしまうことで相対的にデータ量を減らすものである。上記スイッチ128の切り換えについては、例えば、ユーザの方で目的に応じて、例えば、手動で切り換えるようになっている。あるいは、例えばオーディオ出力機器からの情報のように高音質のものについては音声圧縮回路130を通し、例えばマイクロホンからの人の話声やコメントというようなものについては音声合成コード化回路132を通すというように予め決めておけば、入力されたオーディオ情報がどちらのものであるのかをスイッチの前段で認識をして自動的に切り換えるという構成にすることも可能である。
【0065】
また、もう既にディジタルコードデータとして形成されているパソコン、ワープロ、CAD、電子手帳や通信等からくる各種データは、インタフェース(以下、I/Fと称す)134を介して、まずデータ形態判別回路136に入力される。このデータ形態判別回路136は、基本的に、後段の圧縮処理部126で圧縮が可能かどうかを判断するもので、データが既に何等かの圧縮処理が行われており、後段の圧縮処理部126での効果が得られない情報については、圧縮処理部126をバイパスさせて圧縮処理部126の後段にダイレクトに渡し、また、入力データが非圧縮データの場合には、それを圧縮処理部126に送る。
【0066】
上記データ形態判別部136にて非圧縮のコードデータであると判断されたデータは、圧縮処理部126に入力され、ハフマン,算術符号,ジブレンペル等の圧縮回路138にてコードデータを最適に圧縮する圧縮処理が行われる。なお、この圧縮回路138は、上記音声合成コード化回路132の出力に対する圧縮処理も行うようになっている。
【0067】
なお、上記音声合成コード化回路132は、音声以外に文字情報を認識して音声合成コード化しても良い。
【0068】
また、カメラやビデオ出力機器等140の画像情報は、プリアンプ142による増幅及びA/D変換器144でのA/D変換後、圧縮処理部126に供給される。
【0069】
圧縮処理部126では、像域判定及び分離回路146にて、入力された画像情報が手書き文字やグラフ等の二値画像なのか、それとも自然画像等の多値画像なのかを判別する。この像域判定及び分離回路146は、例えば、本出願人による特願平5−163635号に示されているようなニューラルネットを利用した判別像域分離の手法を用いて、二値画像データと多値画像データを分離する。そして、二値画像データは、二値圧縮としてJBIG等で一般的なMR/MH/MMR等の二値圧縮処理回路148で圧縮され、多値画像データについては、例えばDPCMあるいはJPEG等の静止画像の圧縮機能を使って多値圧縮処理回路150で圧縮される。
【0070】
以上のようにしてそれぞれ圧縮処理を施されたデータは、適宜データ合成処理部152で合成される。
【0071】
なお、必ずしもそれぞれの情報入力及び圧縮処理の系統を並列的に全て備えている必要はなく、目的に応じて、一つあるいは複数の系統を適宜組み合わせて構成するようにしても良い。従って、上記データ合成処理部152は必ずしも必要なものではなくて、データ系統が1種類しかないものについては、これを省略し、直接次段のエラー訂正符号付加部154へ入力する構成とすることができる。
【0072】
エラー訂正符号付加部154では、エラー訂正符号が付加され、データメモリ部156に入力される。データメモリ部156では、それぞれのデータが記憶されて、その後、インターリーブ処理が行われる。これは、実際にドットコードとして記録され、そしてそれを再生される際に、少しでもエラーを減らす、例えば、ノイズ等によるブロックエラーというものを少しでもなくして訂正能力を高めるために、連続するデータ列を適宜離れた位置に分散させていく処理である。即ち、バーストエラーをビットエラーの単位に危険度を下げるという作業を行う。
【0073】
こうしてインターリーブされたデータに対して、さらに、アドレスデータ付加部158により、ブロックのアドレス,アドレス用のエラー判定符号(CRC等)を付加し、その結果が変調回路160に入力される。変調回路160では、例えば8−10変調である。
【0074】
なお、上記実施の形態に於いては、インターリーブをかけた後に、エラー訂正のための符号を付加するようにしても良いことは勿論である。
【0075】
その後、マーカ付加部162にて、上記変調回路160で対応付けた256通りのデータ列には無いデータ列を使ってマーカを生成して付加する。このようにマーカを変調の後に付加することで、マーカまでもが変調されてしまって、逆にマーカとして認識しにくくなるということを解消する効果がある。
【0076】
こうしてマーカ付加されたデータは、合成及び編集処理部164に送られて、この生成されたデータ以外の、記録紙に記録される、例えば、画像やタイトルや文字等と合成され、あるいはレイアウト等の編集をされ、またプリンタへの出力の形態や印刷製版対応のデータフォーマットに変換されて、次のプリンタシステムや印刷用製版システム166に送られる。そして、このプリンタシステムや印刷用製版システム166で、最終的に、シート,テープ,及び印刷物等に印刷される。
【0077】
なお、合成及び編集処理部164に於ける編集処理は、紙面情報とドットコードのレイアウト、コードのドットサイズを印刷機,プリンタ等の分解能に合せる、ワード単位,内容の区切り等でコード長を適宜区切り段変えを行う即ち一列を次のラインに移す段換えを行う、等の編集作業を含む。
【0078】
こうして印刷された印刷物は、例えば、FAX168により送信される。むろん、合成及び編集処理部164で生成されたデータを印刷する代わりに、直接FAX送信するものとしても良い。
【0079】
ここで、図14を参照して、本実施の形態に於けるドットコード170の概念を説明する。本実施の形態のドットコード170のデータフォーマットでは、1つのブロック172は、マーカ174、ブロックアドレス176、及びアドレスのエラー検出,エラー訂正データ178と、実際のデータが入るデータエリア180とから成っている。即ち、上記図2の(A)を参照して説明した実施の形態では、1つのブロックが、ライン方向の一次元的に構成されていたものが、本実施の形態では、二次元的に展開された形で形成されている。そして、このブロック172が縦,横、二次元的に配列され、それが集まってドットコード170という形で形成される。
【0080】
次に、マルチメディア情報の再生装置の構成を、図15のブロック図を参照して説明する。この情報再生装置は、ドットコード170が印刷されている記録媒体としてのシート182からドットコードを読み取るための検出部184、検出部184から供給される画像データをドットコードとして認識しノーマライズを行う走査変換部186、多値データを二値にする二値化処理部188、復調部190、データ列を調整する調整部192、再生時の読取りエラー,データエラーを訂正するデータエラー訂正部194、データをそれぞれの属性に合わせて分離するデータ分離部196、それぞれの属性に応じたデータ圧縮処理に対する伸長処理部、表示部あるいは再生部、あるいは他の入力機器から成る。
【0081】
検出部184に於いては、光源198にてシート182上のドットコード170を照明し、反射光をレンズ等の結像光学系200及びモアレ等の除去等のための空間フィルタ202を介して、光の情報を電気信号に変換する例えばCCD,CMD等の撮像部204で画像信号として検出し、プリアンプ206にて増幅して出力する。これらの光源198,結像光学系200,空間フィルタ202,撮像部204,及びプリアンプ206は、外光に対する外乱を防ぐための外光遮光部208内に構成される。そして、上記プリアンプ206で増幅された画像信号は、A/D変換部210にてディジタル情報に変換されて、次段の走査変換部186に供給される。
【0082】
なお、上記撮像部204は、撮像部制御部212により制御される。例えば、撮像部204としてインターライン転送方式のCCDを使用する場合には、撮像部制御部212は、撮像部204の制御信号として、垂直同期のためのVブランク信号、情報電荷をリセットするための撮像素子リセットパルス信号、二次元に配列された電荷転送蓄積部に蓄積された電荷を複数の垂直シフトレジスタへ送るための電荷転送ゲートパルス信号、水平方向に電荷を転送し外部に出力する水平シフトレジスタの転送クロック信号である水平電荷転送CLK信号、上記複数の垂直シフトレジスタ電荷を垂直方向に転送して上記水平シフトレジスタに送るための垂直電荷転送パルス信号、等を出力する。これらの信号のタイミングは、図16に示される。
【0083】
そして、撮像部制御部212は、このタイミングに合せながら光源198の発光のタイミングをとるための発光セルコントロールパルスを光源に与える。
【0084】
基本的に、図16のタイミングチャートは、1フィールド分の概念図である。画像データは、この1フィールドのVブランクからVブランクまでの間に読み出される。光源198は連続点灯するのではなくてパルス点灯を行い、フィールド単位に同期させながら、後続のパルス点灯を行うものとしている。この場合、パルス点灯させる上でのクロックノイズが信号出力に入らないように、Vブランキング期間中、即ち画像電荷を出力していない間に露光するようなタイミングにコントロールされる。即ち、発光セルコントロールパルスは、瞬間的に発生する非常に細いディジタルのクロックパルスであり、光源に大きな電力を与えるものであるため、それによるノイズがアナログの画像信号に入らないようにすることが必要であり、そのための処置として、Vブランキング期間中に光源をパルス点灯させるようにしている。こうすることによって、S/Nの向上が図られる。また、パルス点灯させるということは、発光時間を短くすることであり、よって手動操作の振れと移動によるぼけの影響をなくすという大きな効果がある。これによって、高速にスキャンすることが可能になる。
【0085】
また、再生装置が傾いたりして、外光遮光部208があるにも拘らずなんらかの原因で外光等の外乱が入った場合にも、S/N劣化を最低限に抑えるために、Vブランキング期間に光源198を発光させる直前に一度、撮像素子リセットパルスを出力して画像の信号をリセットし、その直後に発光を行い、その後すぐに、読出しを行っていくようにしている。
【0086】
ここで、図15に戻り、走査変換部186を説明する。この走査変換部186は、検出部184から供給される画像データをドットコードとして認識し、ノーマライズを行う部分である。その手法として、まず検出部184からの画像データを画像メモリ214に格納し、そこから一度読出してマーカ検出部216に送る。このマーカ検出部216では、各ブロック毎のマーカを検出する。そして、データ配列方向検出部218は、そのマーカを使って、回転あるいは傾き、データの配列方向を検出する。アドレス制御部220は、その結果をもとに上記画像メモリ214からそれを補正するように画像データを読出して補間回路222に供給する。なおこの時に、検出部184の結像光学系200に於けるレンズの収差の歪みを補正用のメモリ224からレンズ収差情報を読出して、レンズの補正も併せ行う。そして、補間回路222は、画像データに補間処理を施して、本来のドットコードのパターンという形に変換していく。
【0087】
補間回路222の出力は、二値化処理部188に与えられる。基本的には、ドットコード170は図14からも分かるように、白と黒のパターン、即ち二値情報であるので、この二値化処理部188で二値化する。その時に、閾値判定回路226により、外乱の影響、信号振幅等の影響を考慮した閾値の判定を行いながら適応的に二値化が行われる。
【0088】
そして、記録時に図13で説明したような変調が行われているので、復調部190でそれをまず復調した後、データ列調整部192にデータが入力される。
【0089】
このデータ列調整部192では、まずブロックアドレス検出部228により前述した二次元ブロックのブロックアドレスを検出し、その後、ブロックアドレスの誤り検出,訂正部230によりブロックアドレスのエラー検出及び訂正を行った後、アドレス制御部232に於いてそのブロック単位でデータをデータメモリ部234に格納していく。このようにブロックアドレスの単位で格納することで、途中抜けた場合、あるいは途中から入った場合でも、無駄なくデータを格納していくことができる。
【0090】
その後、データメモリ部234から読出されたデータに対してデータエラー訂正部194にてエラーの訂正が行われる。このエラー訂正部194の出力は二つに分岐されて、一方はI/F236を介して、ディジタルデータのままパソコンやワープロ,電子手帳,等に送られていく。他方は、データ分離部196に供給され、そこで、画像、手書き文字やグラフ、文字や線画、音(そのままの音の場合と音声合成をされたものとの2種類)に分けられる。
【0091】
画像は、自然画像に相当するもので、多値画像である。これは、伸長処理部238により、圧縮した時のJPEGに対応した伸長処理が施され、さらにデータ補間回路240にてエラー訂正不能なデータの補間が行われる。
【0092】
また、手書き文字やグラフ等の二値画像情報については、伸長処理部242にて、圧縮で行われたMR/MH/MMR等に対する伸長処理が行われ、さらにデータ補間回路244にてエラー訂正不能なデータの補間が行われる。
【0093】
文字や線画については、PDL(ページ記述言語)処理部246を介して表示用の別のパターンに変換される。なおこの場合、線画,文字についても、コード化された後にコード用の圧縮処理が施されているものについては、それに対応する伸長処理部248で伸長(ハフマンやジブレンペル等)処理を行ってから、PDL処理部246に供給されるようになっている。
【0094】
上記データ補間回路240,244及びPDL処理部246の出力は、合成又は切り換え回路250により、合成あるいはセレクトを行って、D/A変換部252でアナログ信号に変換後、CRT(テレビモニタ)やFMD(フェイスマウンテッドディスプレイ)等の表示装置254にて表示される。なお、上記FMDとは、顔面装着用の眼鏡型モニタ(ハンデーモニタ)であり、例えばバーチャルリアリティー等の用途や、小さな場所で大きな画面で構成されたものを見るときに効果がある。
【0095】
また、音声情報については、伸長処理部256にてADPCMに対する伸長処理が行われ、さらにデータ補間回路258にてエラー訂正不能なデータの補間が行われる。あるいは、音声合成の場合には、音声合成部260にて、その音声合成のコードをもらって実際にコードから音声を合成して出力する。なおこの場合、コードそのものが圧縮されている時には、上記文字,線画と同様に、伸長処理部262にてハフマンもしくはジブレンペル等の伸長処理を行ってから音声合成を行う。
【0096】
さらに、図17に示すように、文字情報については文章認識部271で文章認識した後、音声合成部260にて音声情報として出力しても良い。
【0097】
また、伸長処理部262は、同248と兼用することは可能であり、その場合、伸長処理するデータの属性に応じてそのデータはスイッチSW1,SW2,SW3にて適宜切換えられて、PDL処理部246、或は音声合成部260に入力される。
【0098】
データ補間回路258及び音声合成部260の出力は、合成又は切り換え回路264により、合成あるいはセレクトを行って、D/A変換部266でアナログ信号に変換後、スピーカやヘッドホン、その他それに準ずる音声出力装置268に出力される。
【0099】
また、文字や線画等については、データ分離部196からページプリンタやプロッタ等270に直接出力されて、文字等はワープロ文字として紙に印刷され、あるいは、線画等は図面等としてプロッタ出力されることもできる。
【0100】
もちろん、画像についても、CRTやFMDだけではなく、ビデオプリンタ等でプリントすることも可能であるし、その画像を写真に撮ることも可能である。
【0101】
次に、上記データ列調整部192を説明する。ここでは、前述したオーディオ情報の再生装置(図3参照)にも適用するために、ドットコードは図18の(A)に示すようにそれぞれ参照番号272で示すブロックアドレス272Aとそのエラー訂正データ272Bを最初のラインに設けたブロックが二次元に配列されると共に、同図の(B)のようなライン状のマーカ274が縦方向に並び、また、各ブロックの各ライン毎に参照番号276で示すラインアドレス276Aとエラー検出データ276Bが配されているものとして説明する。
【0102】
本実施の形態では、図6を参照して説明した走査方法に比べて、図18の(C)に示すように、各ライン毎にピッチを2倍に細かくし、さらにマーカの中心を検出後、マーカの中心線間をドット数の2倍の数で等分割する。即ち、同図の(D)に示すように、まず、1回目の走査では、ドット278に対して、細かく縦,横1/2つまり1/4のものを取り込む。その場合のピッチは、ドット278と同じ間隔で取っていくもので、従って、1ドットおきにデータを取っていくこととなる。こうして、CRCエラー検出データ276Bのところまでのデータ、例えば、1ブロックが64ドットとすると、1ドットおきに64ドット取り込む。
【0103】
そして、まず後ろのほうのラインアドレス276Aと、そのラインアドレスに対するCRCのエラー検出データ276Bとを使って、実際にラインアドレスが読めたかどうかを確認する。このラインアドレスが読めている場合には、その前のデータドットそのものも正しく読めていると判定する。もし間違っていると判断された場合には、1ドット例えば右へずらして、2回目の走査を行う(同図の(D)に於ける黒丸)。これを64ドット分全部取り込んで、同様にして実際にラインアドレスが読めたか確認する。間違っている場合には、1回目のドットから1ドット下へずらして3回目の走査、それでも間違っている場合には1ドット右へずらして4回目の走査を行う。
【0104】
このように、1ラインの走査を4回繰り返せば、この中で最低1回は正しく読めると思われるので、正しく読めていると判定されたときには、そのデータをデータメモリ部234へ書き込む。
【0105】
この場合、取り込んだラインのラインアドレスが例えば「0」(スタートアドレス)、即ち一番最初と認識されたときには、その前のデータをブロックアドレス272Aとエラー訂正データ272Bであると判別する。なお、エラー訂正データ272Bは、ブロックアドレスのエラー検出の例えばCRC、あるいは目的によってこれにエラー訂正まで加え、ブロックアドレスのリードソロモンのエラー訂正とすることも可能である。そして、最初のアドレスライン0を認識したときに、まずブロックアドレス272Aを読んでいき、当該ブロックが何番目のブロックかということをこのアドレスデータから判定する。それに対して、次ラインからは実際のデータが入っているので、それらを読み取り、当該ブロックに対応したデータメモリ部234のブロックにデータを書き込んでいく。
【0106】
なお、上記説明では、1ラインを走査しているときにエラーなしとなった場合には、次のラインの走査に飛ぶものととしたが、1ライン当たり必ず4回走査を繰り返すようにしても良い。その時には、複数回エラーなしと判定されるが、データメモリ部234には、同じアドレスのところに同じデータが書かれていくだけであるので、何等問題はない。処理を簡単にしようとするときには、4回走査を繰り返す。また、速度を優先するときには、前者の走査法を採用する。
【0107】
以上のデータ列調整部192の動作を実現するための、ブロックアドレス検出部228及びブロックアドレスの誤り検出,訂正部230の実際の構成を図19を参照して説明する。
【0108】
復調部190は、二値化された補間データがシフトレジスタ190A上で10ビット入ってくるとそれをルックアップテーブル(LUT)190Bにより8ビットに変換する。
【0109】
データ列調整部192に於いては、この復調されたデータが、書込みアドレス制御部280の制御により一旦バッファメモリ(64ドット分全部入る)282に蓄えられる。そして、データ読み出しアドレス制御部284によって、その内のラインアドレス情報とアドレス用のCRC情報だけが読み出されて、ラインアドレスエラー検出回路286によってエラー検出が行われる。このエラー検出の結果を示す判定信号が、真、即ちエラーなしとなったときには、データ読み出しアドレス制御部284は、バッファメモリ282からラインアドレス情報の前の情報、つまり実際のデータ情報を読み出す。
【0110】
一方、スタートアドレス検出回路288は、ラインアドレスエラー検出回路286でエラー検出が行われたラインアドレスが、スタートアドレスかどうかを確認する。スタートアドレスを検出すると、スタートアドレス検出回路288は、ブロックアドレス検出回路290に当該ラインがブロックアドレスを持っているラインであることを情報として伝え、これに応じてブロックアドレス検出回路290は、バッファメモリ282から読み出されたデータからブロックアドレスを検出し、エラー検出回路292にてエラー検出及び訂正を行う。そして、その結果が、ブロックアドレスとして、データメモリ部234のアドレス制御部232へラッチされる。
【0111】
なお、ラインアドレスに対しては正確な読み出し位置を求めるためにエラー検出のみの付加となるが、ブロックアドレスについては、アドレス情報として用いるので、エラー訂正用コードを付加する。
【0112】
それ以降の次ラインからは逐次データラインになるので、データメモリ部234へデータとして書き込まれていく。その時に、処理によっては必要に応じてラインアドレスも一緒に出力する。あるいは、内部にカウンタがあれば、ラインアドレスは内部で自動的にカウントアップするという方法を採ることもできる。
【0113】
そして、次のスタートアドレス「0」を検出したところで次のブロックと認識して、同様のことの繰り返しをブロック全部に対して行う。
【0114】
一方、ラインアドレスエラー検出回路286から出力される判定信号は、画像メモリ214のアドレス制御部220へも供給されるようになっている。これは、上記ライン当たり4回の走査に於いて、時間的に短縮するために、データが真となったところで次のラインに飛ぶという場合に必要な信号である。
【0115】
上記の例で、ラインアドレスエラー検出回路286は、真となるまでの間は4回分同じアドレス情報を使って補間データに対するアドレス検出を行う。そして、データが真となったときには、新しい次のラインの次のドットのデータラインのところに一旦アドレスを飛ばして補間データを作成後、またその中の4点づつ読出してくるという形になる。従って、そのような制御のために、画像メモリ214のアドレス制御部220に判定信号を渡して、それによって、同じアドレスを4回発生させて補間する、補間の順番を変えながら読んでくる、あるいは次のラインにアドレスを書き換えてそのライン上のデータを出してきて補間しながら4回出してくる、という処理を行わせる。
【0116】
また、特に図示はしていないが、データメモリ部234のアドレス制御部232では、データメモリ部234へマッピングを行うが、さらに読み出す際に、このアドレス制御部232でデ・インターリーブの制御も行う。これもやはり、ルックアップテーブル等を使って、例えばドットごとのアドレスが発生した時に、そのブロックとライン、そしてそのドットアドレスを組み合わせたデータから、ROM等を使ってルックアップテーブルで実際に出てくるメモリデータ列となるように変換を行う。それがデ・インターリーブ(デ・シャッフリング)という作業で、その処理が行われて初めて、本来のデータ列という形でデータが読み出されるということになる。もちろん、このデ・インターリーブは、データメモリ部234からの読出し時に行っても良いし、書き込み時に、一旦そういう変換を行ってそういう順番でバラまいてデータを書き込んでいく(マッピングする)というようにしても良い。
【0117】
また、この例では、マーカ274がライン状になっているが、図14に示したような丸でも良いし、あるいは四角のマーカでも良い。一旦マーカが検出されれば、あとは、ブロック内をライン上で読んでいくという構成になるので、必ずしもマーカはライン状である必要はない。例えば、図20の(A)乃至(C)に示すように、丸、四角、長方形というマーカ294,296,298が考えられる。
【0118】
なお、印刷されたコードが部分的なにじみやズレがなく、ほぼ精密なものである場合は、(概中心=正確な中心)といえるので、後述する正確な中心検出を省略し、後述する概中心検出処理のみで処理することができる。ただしこの場合には、配列方向を検出するために、マーカ部分に配列方向検出用のドット294A,296A,298Aを設ける。
【0119】
図20の(D)は、マルチメディア情報の再生装置の他の態様を示している。これは、検出部184のA/D変換部210を走査変換部186に移し、またデータ列調整部192のブロックアドレス検出部228及びブロックアドレスの誤り検出,訂正部230の機能を走査変換部186内で行うようにしたものであり、データエラー訂正部194以降は、図15の構成と同じであるため図では省略してある。
【0120】
即ち、図20の(D)に於いて、一番大きく図15に示した構成と違うところは、走査変換部186及びデータ列調整部192である。この実施の形態では、データ列調整部192の機能を、走査変換部186内のマーカ検出部216からアドレス制御部220のところまでで同時に行うものとしている。つまり、マーカ検出部216でマーカを検出し、データ配列方向検出部218にてデータ配列方向、即ち、傾き、回転及び方向を検出する。そして、ブロックアドレス検出,誤り判定,正確な中心検出部300にて、ブロックアドレスを検出して、その誤り判定を行い、誤っているか誤っていないかで正しい中心、つまり真の中心を検出する。この場合、その真の中心を検出するに当たってブロックアドレスを検出しているので、次のマーカとブロックアドレスの補間部302にてマーカとブロックアドレスの補間を行った後、そのブロックアドレスの情報をデータメモリ部234のアドレス制御部232にも与えるようにしている。
【0121】
また、図15の構成と同様に、ブロックアドレスの補間処理のデータをもとにしてアドレス制御部220にてアドレス制御を行い、画像メモリ214に対してアドレス及び書き込み、出力の制御を行う。
【0122】
それ以外は、図15の実施の形態と機能的には変わらない。
【0123】
なお、上記図15及び図20の(D)では、検出部184に於いてA/D変換部210で例えば8ビットの多値ディジタルデータに変換して、以後処理を行っているが、A/D変換部210の代わりに、二値化処理部(コンパレータ)188及び閾値判定回路226をA/D変換部210の所に配置し、以後の処理を全て二値データで行っても良い。
【0124】
この場合、補間回路222は、図5の(A)で示したような、アドレス制御部220から得られた補間アドレス座標の回りの画素データを用いて4点或は16点補間の所謂補間処理ではなく、補間アドレス座標に一番近い(近傍)の画素データをデータとして採用することができる。
【0125】
A/D変換する代わりに、二値化して処理を行うことにより、例えば8ビットの場合に比べると1/8の信号線数、並びにデータ量となる。従って、画像メモリ214及びデータメモリ部234の各メモリ容量も1/8になり、各部の処理も単純になる等、回路規模の大幅な縮小、処理量の大幅な減少、処理時間の大幅な短縮というメリットが生じ、装置の小型化、ローコスト化、スピードアップに寄与する。
【0126】
なお、アドレス制御部220のアドレス出力は、図15及び図20の(D)の場合は、補間回路222への画像データ出力時には、補間アドレス座標の回りの例えば4点の画素アドレスとなり、補間回路222に対しては図示しない信号線により各画素アドレスに対する重み付け係数を算出するための距離情報となる。あるいは、各画素アドレスと補間アドレス座標データとを送り、補間回路222で各画素アドレスとの距離を求めて重み付け係数を求めるようにしても良い。
【0127】
また、上記のように二値データでの処理時には、アドレス制御部220は、補間アドレス座標の近傍の画素アドレスを出力する。従って、この場合、画像メモリ214からのデータ出力は、直接復調部190に入力されることになる。
【0128】
ここで、図14の概念図に示したドットコードの具体例を図21の(A)乃至(D)を参照して説明する。
【0129】
ブロック304は、図14の概念図にもあるように、二次元に配列されており、それぞれブロックアドレス306が付加されている。そのブロックアドレス306は、Xアドレス、Yアドレスに対応したアドレスがついている。例えば、図21の(A)に於いて一番左上のブロックを(Xアドレス,Yアドレス)=(1,1)とする。それに対してその右のブロックのブロックアドレスは(2,1)、以下同様にして、右にいくにつれXアドレスをインクリメントしたものが、下にいくにつれてYアドレスがインクリメントしたものが付加されるという形で、全ブロック304にブロックアドレス306が付加される。
【0130】
ここで、最下段のマーカと最右段のマーカについては、ダミーのマーカ308とする。つまり、あるマーカ310に対するブロック304は、それを含む4つのマーカ310で囲まれるその右斜め下のデータであり、最下段及び最右段のマーカは下から2段目及び右から2段目のマーカに対するブロックを定義するために配置された補助的なマーカ、即ちダミーなマーカ308である。
【0131】
次に、そのブロック304の中身を説明する。図21の(B)に示すように、当該ブロック304のマーカ310に対し下のマーカとの間に、ブロックアドレス306とそのブロックアドレスのエラー検出コード312が付加される。また、当該マーカ310と右のマーカとの間に同様にブロックアドレス306とそのエラー検出コード312が付加される。図14の概念図では、ブロックの左上にマーカがあり、ブロックアドレスを右下に配置して示したが、本実施の形態では、ブロックアドレス306を左側と上側に配置し、マーカ310をその左上角に配置した形としている。なお、ブロックアドレス306は、1ブロック内に2ヵ所に記録した例を示してあるが、これは1ヵ所でも構わない。しかし、2ヵ所に記録することによって、一方のブロックアドレスにノイズがのってエラーを起こした場合にでも、他方のアドレスを検出することによって確実に検出することができるので、2ヵ所に記録する方が好ましい。
【0132】
前述した、あるマーカに対するブロックのデータの位置と、そのブロックアドレスの位置と、それによって決まるコード上のダミーマーカの位置等は前例に限ったものではない。
【0133】
次に、マーカ310のパターン例を説明する。図20の(C)に示すように、本実施の形態では、マーカ310として、直径が7ドット分の円形の黒のパターン310Aを採用している。そして、その黒丸310Aの回りの部分310Bを白として、マーカの黒い部分を判別し易くしている。また、図21の(C)に於ける参照番号310Cは、説明のための補助線である。
【0134】
白部分310Bの範囲は、記録密度を上げるにはなるべく小さくしたいが、マーカ検出処理を簡単且つ高速に行うためには、大きく取りたいという要求がある。そこで、回転が45°の時の黒のパターン310Aが十分判別できるための範囲310Cが部分310B内に入るように設定している。
【0135】
なお、図15及び図20の(D)に於ける結像光学系200の像倍率は、図21の(D)に示すように、データエリア314のデータドット316の大きさを、以後説明する条件に於いては、1.5画素に結像するものとする。ここでの画素は、撮像部204の撮像素子の1画素を意味する。即ち、シート182上に記録された1ドット、例えば30から40μmのドットを、通常7μmとか10μmの大きさである撮像素子上の画素の1.5画素分に、結像系レンズを通して結像するものとする。標本化定理に於いては、画素ピッチはドットピッチ以下にすれば良いが、ここでは安全を見て、以後1.5画素としている。なお、前述のA/D変換の代わりに二値化した場合の例については、更に安全を見て2画素としている。
【0136】
上記のようなな二次元ブロック分割方式を採用することにより、以下のような利点がある。即ち、
1ドット毎のドットピッチが、撮像素子の解像度以下であれば、データドットサイズが異なってもコード(単位データブロックの集合)の読取りが可能となる;
コードに対し、撮像部204が傾いても読取りが可能となる;
シートの局所的な伸び縮みがあっても再生できるし、回転しても読取りが可能である;
総データ量に応じて単位ブロックを二次元的に自由に展開が可能になっており、その結果、コードサイズを自由に換えることができる;
ブロックアドレスがそれぞれ付加されているので、コードの途中から読み始めても再生が可能になる;
ブロック単位であれば、紙面の他の情報、例えば文字や絵,グラフ等に合わせてコードの形状を自由にレイアウトでき、図21の(A)では長方形のドットコードが示されているが、例えば、鍵型にしたり、あるいはもう少し変形させるようなことも可能である;
バーコードに於けるような所定のスタートコード,ストップコードが不要であり、またクロックコードも不要である。
【0137】
また、これらの特徴を生かして、手振れがあっても再生ができる。従って、ハンディ再生装置への対応が非常にし易くなっている。
【0138】
即ち、詳細は後述するが、再生装置側で、隣接する4つのマーカを検出して、マーカ間をドット数分だけ等分割することでノーマライズを行なっているため、拡大,縮小,変形等に強く、また、手振れ等に強いという利点がある。
【0139】
なお、データエリア314に於けるドット316については、例えば、1ドットが数十μmの大きさである。これは、アプリケーション,用途によっては数μmレベルまで可能であるが、一般的には、40μmとか20μm、あるいは80μmとする。データエリア314は、例えば、64×64ドットの大きさである。これらは、上記等分割による誤差が吸収できる範囲まで自由に拡大あるいは縮小することが可能である。また、上記マーカ310は、同期信号としての機能だけではなく、さらにポジション指標としての機能も併せ持つ。このマーカ310は、変調されたデータにない大きさ、本実施の形態の場合は、丸形状で、データエリア314のドットに対して例えば7ドット以上とか、7×7ドット位の直径を持つ円形黒マーカ310Aとしている。
【0140】
ここで、再生時の傾きや回転等について説明しておく。
【0141】
上記撮像部204の傾きというのは、当該再生装置がドットコードの印刷されているシート182に対して本来は垂直に相対しなければならないところが、ユーザが再生装置を斜めに持つことにより、シート182に対して斜めになってしまった状態を指す。また、回転とは、シート182上に書かれたドットコードに対して、撮像エリア(図4の(A)参照)が平行になっていない状態を指す。
【0142】
上記傾きが生じた場合、撮像部204により得られる画像は、垂直に相対した場合の画像に比べて縮小されてしまう。例えば、30度の傾きが生じた場合には、見掛上の投影された像というものは86.5%に縮小されてしまう。つまり、例えばブロック304を正方形とした場合に30度垂直方向に対して水平方向に傾くと、縦方向は1:1でも、水平部分が0.865倍になってしまい、得られるブロックの像は長方形となってしまう。このように傾きがあると、本来の内部同期のクロックを持っている場合であれば、その等間隔クロックで各部が動作するため、結果として得られるデータが本来のデータと一致しなくなることがある。
【0143】
また、回転については、あくまでも水平、垂直というイメージでとらえていると、本当のデータは斜め上に上がって、あるいは斜め下に下がってきてしまうので、本当の情報が取れていないことになってしまう。さらには、傾きと回転の複合状態が生じた場合には、正方形ブロックの撮像結果が菱形になってしまい、水平と垂直のデータ配列が直交するという条件も満たさなくなってしまう。
【0144】
以下、これらの問題を解決するためのマーカ検出部216について説明する。マーカ検出部216は、図22に示すように、マーカをコードの中から抜き出して判定するマーカ判定部318と、そのマーカの存在するエリアを検出するマーカエリア検出部320と、その概中心を検出する概中心検出部322から成っている。
【0145】
マーカ判定部318は、7以上13以下の連続黒画素を探し、その連続黒画素が連続に7行続く場合を円形黒マーカ310Aとして認識するもので、図23に示すように、まず画像メモリ214から読出した画像データを二値化し、画素毎に黒白を識別する(ステップS32)。そして、画像メモリ214上でX軸方向に連続する黒画素を検出する(ステップS34)。即ち、連続する黒が7画素以上、13画素以下の連続する黒画素を検出する。次に、その連続した最初の黒画素と最後の画素の真ん中の画素からY軸方向に1画素ずらした点が黒であるかをチェックする(ステップS36)。そして、それがY軸方向に連続7回続いたならば(ステップS38)、それを円形黒マーカ310Aとして判定する(ステップS40)。また、上記ステップS34で検出されなく、又は上記ステップS36で黒画素でなかった場合、マーカと判定しない(ステップS42)。
【0146】
即ち、マーカを画像メモリ上をチェックしていき、例えば黒画素が7個続いたラインがあったとする。すると、その最初の黒画素と最後の黒画素の真ん中からY軸方向に対して1画素ずらした点が黒かどうかをチェックし、黒であったなったならば、それを真ん中とする左右の画素が連続7画素から13画素が黒であるかというのをチェックし、同様にして1画素ずつY軸方向にずらしながら見ていき、最終的にそれがY軸方向に7回続いたならば、それを円形黒マーカ310Aとして判定する。
【0147】
なお、X軸,Y軸方向に連続黒をチェックする際の最小値である7というのは、マーカ310の黒部分(円形黒マーカ310A)と変調されているデータとを区別し判別するためのもので、紙の縮みや傾きによっての縮小があってもデータエリア314部分と円形黒マーカ310Aとを区別できるように設定した下限値である。また、最大値の13は、紙の伸びやインキの滲み等を考慮して設定した上限値である。これにより、マーカより大きなゴミやキズ等のノイズをマーカと誤検出しないようにしている。
【0148】
また、マーカパターン30Aを円形にしたことで、回転を考慮する必要性が無いので、上記下限値と上限値の差を最小限にすることができ、マーカの誤検出を少なくすることができる。
【0149】
マーカエリア検出部320は、マーカ判定部318で判定された円形黒マーカ310Aの範囲が、傾きや画像の像倍率の変化等によって多少の伸び縮み、変形等されるので、その黒い範囲がどの領域に入っているかを検出するためのものである。
【0150】
このマーカエリア検出部320では、図24に示すように、まず、マーカ判定部318で判定された円形黒マーカ310Aの仮中心画素を検出する(ステップS52)。即ち、マーカ判定部318で判定された範囲の中心の近傍にある一つの画素を仮中心画素とする。
【0151】
そして、その仮中心画素から上方向(Y軸上のマイナス方向)に黒であることをチェックし、白となったら左右の数画素をチェックし、黒であるなら上方向を上記同様チェックし、黒が存在しないYアドレスまでチェックし、そのYアドレスをYmin用レジスタ(図25の(A)参照)にセットする(ステップS54)。同様に、仮中心画素から下方向(Y軸上のプラス方向)に黒であることをチェックし、白となったら左右の数画素をチェックし、黒であるなら下方向を上記同様チェックし、黒が存在しないYアドレスまでチェックし、そのYアドレスをYmaxレジスタにセットする(ステップS56)。
【0152】
次に、仮中心画素から今度は左方向(X軸上のマイナス方向)に黒であることをチェックし、白となったら上下の数画素を黒であることをチェックし、黒であるなら左方向を上記同様チェックし、黒が存在しないXアドレスまでチェックし、そのXアドレスをXminレジスタにセットする(ステップS58)。同様に、仮中心画素から右方向(X軸上のプラス方向)に黒であることをチェックし、白となったら上下の数画素をチェックし、黒であるなら右方向を上記同様チェックし、黒が存在しないXアドレスまでチェックし、そのXアドレスをXmaxレジスタにセットする(ステップS60)。
【0153】
こうして求まったXmin、Xmax、Ymin、Ymaxレジスタの値より、図25の(B)のテーブルに示すようにマーカエリア324を選択する(ステップS62)。即ち、円形黒マーカ310Aを含む真四角の範囲ではなく、端を取り除いた同図の(A)に於ける斜線のハッチングで示したエリアをマーカエリア324とする。マーカエリア324は、四角でも構わないが、実際にはマーカ310の白部分310Bの回りにはデータがあり、そのデータが空間フィルタの影響等によって白部分310Bの内部に黒いデータ部分の情報等が入って、概中心を計算するためのこのマーカエリア324に入ってしまうということが考えられる。それをできるだけ避けるために、マーカエリア324をなるべく小さく必要な範囲にすることが望ましく、この場合、円形黒マーカ310Aと同じ形状でつまり丸で、円形黒マーカ310Aより大きい丸いエリアを設定できれば良いが、本実施の形態では円形黒マーカ310Aは直径7ドットで構成されている小さな円であるため、同図に示すようなマーカエリア324となる。
【0154】
概中心検出部322は、このようにしてマーカエリア検出部320で検出されたマーカエリア内のマーカの黒丸の概中心を見つけるためのものである。一般に、印刷等に於いては、インクの膨らみによりドットが目的の大きさよりも広がってしまったり(これをドットゲインと言う)、小さくなってしまう(これをドットリダクションと言う)現象がある。また、周辺にインクがにじんで広がったり、インクが片側に染みていくような場合が想定される。概中心検出部322は、そのようなドットゲイン,ドットリダクション、またはインクの染みに対応するために、円形黒マーカ310Aの画像に於ける中心、所謂重心を求めて、それを概中心とする処理を行う。ここでは、上記中心を1画素ピッチより小さい精度で求めるための処理である。
【0155】
まず、画像上のこのマーカエリア324に対して、画像メモリ214のX軸方向とY軸方向の2通りに分けて、それぞれのX軸上の中心線とY軸上の中心線を捜すことによって、最終的な中心つまり概中心を求める。図25の(C)及び(D)は、同図の(A)に於ける各画素、縦方向,横方向の各画素を累積した値を示す図である。重心は、全体の累積値の半分のところ、つまり上下左右の累積値がイコールになる部分である。
【0156】
まず、同図の(C)の場合に於いて、例えば、同図にハッチングを付して表した部分の各累積のそれぞれ加算の結果Sxlは全体の面積Sの1/2をまだ満たしておらず、次のSxcの部分をそれに加算すると1/2の面積を超えてしまうという場合には、その列Sxcに概中心を含む中心線Xが含まれていると判断できる。つまり、概中心のXアドレスは、左側(Xmin方向)より各列(Xk)の累積値を累積していき、X’+1の列を累積した時点で全体の累積値の1/2を越えた時、X’の列とX’+1の列の間に概中心がある。X’までの累積値に加算して全体の面積Sの1/2になるようにX’+1の列を左右に分割すると、その分割線上には概中心を含む。
【0157】
そこで、1/2の面積からX列まで累積した部分を除いた部分、即ち(1/2)S−Sxlと、真ん中の列の累積値Sxcとの比が、Δx(概中心=X’+Δx)となる。
【0158】
これを、図26の(A)のフローチャートを参照して説明する。
【0159】
まず、正規化を行う(ステップS72)。即ち、マーカエリア324の各データに対して周辺を加算しても累積には影響がないように、白データ部分を0とし、黒データを仮に1として、画像メモリ214上のデータを多値データの階調を持ったデータとして正規化する。これは、空間フィルタ等によって周辺がぼけた状態になるので、その状態を適確に認識して正確に適確に重心検出をするためのものである。次に、各列Xk(k=min,min+1,…,max)の累積値Skを求めておき(ステップS74)、重心計算サブルーチンをコールする(ステップS76)。
【0160】
重心計算サブルーチンでは、同図の(B)に示すように、全体の面積Sを求め、その1/2をShと、またSlを0とおき(ステップS92)、i=minつまり一番左の列から設定して(ステップS94)、Sl’=Sl+Siを計算することにより求める(ステップS96)。初めはSl=0であるので、ここはSiそのものとなり、Sl’=Sminとなる。次に、そのSl’をShつまり全体の面積の1/2の大きさと比較し(ステップS98)、Sl’がShを越えない時には、iをインクリメントし(ステップS100)、Sl’をSlに設定して(ステップS102)、上記ステップS96から繰り返すことにより、次の列を累積していく。そして、累積結果が全体の面積の半分を超えた時点で、S/2からSlを引いてSiで割ることによりΔxが求められ(ステップS104)、iつまりX’にΔxを足したものをCとして(ステップS106)、上位のルーチンに戻る。
【0161】
上位のルーチンでは、Cの値を概中心のX座標とする(ステップS78)。
【0162】
以下、ステップS80乃至S84で各行方向に於いて同様の処理を行い、Y座標を求め、X,Yをマーカの概中心とする(ステップS86)。
【0163】
このような処理を実現するための構成は、図27に示すようになる。
【0164】
正規化回路326は、白データを0、黒データを1として正規化する。この正規化回路326の出力は、累積部328で全体の面積Sを算出するよう累積され、1/2掛け算部330にて1/2にされて、ラッチ回路332にラッチされる。
【0165】
一方、正規化回路326の出力は、X軸方向のブロックに関しては遅延回路334,336で遅延され、累積部338で上記の左からの順に各列が累積され、また累積部340で各列単位での累積が行われる。結果出力時には、中心の列Sxcの部分を出力する。
【0166】
比較器342はラッチ回路332にラッチされた1/2の面積と累積部338で累積された各列の累積値とを比較する。ラッチ344は判定をするタイミングとその前までの列の累積を記憶するためのものである。Xアドレス算出部346は、比較器342により1/2の面積を越えたと判定された時に、ラッチ回路332にラッチされている1/2の面積と、ラッチ344にラッチされているSxlと、累積部340からの累積値Sxcと、アドレス制御部220から遅延回路348を介して供給される上記X’に相当するアドレスとから、最終的なマーカ概中心のXアドレスを算出する。
【0167】
同様にして、遅延回路350,352、累積部354,356、比較器358、ラッチ360、Yアドレス算出部362を用いて、マーカ概中心のYアドレスを算出する。なお、この場合の遅延回路350,352は、ラインメモリによって構成される。
【0168】
ここでの遅延回路334,336,350,352は、S/2,Sxl,Sxc,Syl,Sycの各出力タイミングをXアドレス算出部346,Yアドレス算出部362の必要なタイミングに調整するための回路である。
【0169】
次に、データ配列方向検出部218について説明するが、説明の都合上、先にドットコードの各ブロック304の詳しい配置を説明しておく。ドットコードのブロック304は、図21の(B)に示したような配置となっているが、さらに詳細には、図28の(A)に示すようになっている。即ち、ブロックアドレス306は上位アドレスコード306Aと下位アドレスコード306Bとに分けられ、エラー検出コード312も上位アドレスCRCコード312Aと下位アドレスCRCコード312Bとに分けられている。そして、マーカ310横に下位アドレスコード306Bが配置され、さらにその横に上位アドレスコード306Aが下位アドレスコード306Bよりも大きな大きさで配置されている。その次に、上位アドレスコード306Aと同じ大きさで上位のアドレスに対するCRCコード312Aが、さらにその次に下位アドレスコード306Bと同じ大きさで下位アドレスのCRCコード312Bが付加されている。
【0170】
マーカ310の下方にも、下のマーカに向けて上記の順序でブロックアドレスとエラー検出データが配置されている。
【0171】
ここで、上位アドレスコード306Aと上位アドレスCRCコード312Aを合わせてstep1のコード、下位アドレスコード306Bと下位アドレスCRCコード312Bを合わせてstep2のコードと称するものとする。
【0172】
また、下位アドレスコード306Bを分解すると、マーカ310の右側に於いては、下位アドレスデータを示すための各ドットのデータの上下(マーカ310下側の場合は左右)両方にそのデータに対して反転されるコードが記載されている。さらには、その上下のデータエリア314と区別するためのデータ余白部364が設けられている。なお、このデータ余白部364はなくてもかまわない。また、反転コードは、下位アドレスのみでなく、上位アドレスコードにも付加される。ここで、データをわかりやすくするために、ドットを丸で示したが、実際に白丸は印刷するドットの無いことを示す。つまり、白丸を印刷することではない。以下、図面に表されている白丸は、同様のことを示す。
【0173】
なおここで、上位アドレスと下位アドレスとは、例えば全部のアドレスが12ビットで構成されていたとすると、その内の初めの4ビットを上位アドレスに当て、次の8ビットを下位アドレスに当てるというようなものである。データ長的には適宜装置に合わせて変えることができる。基本的には、全部のブロックアドレスに対して、初めから何番目までを上位アドレスにするか、そこからラストまでを下位アドレスにするかといったすみ分けになっている。
【0174】
上記のように横と縦にアドレスコードを設けることにより1方向のアドレスコードでアドレス検出不可能であっても、もう一方のアドレスコードで検出できるという利点がある。
【0175】
別のドットコードの配置について、図29の(A)を用いて説明する。同図は、図28の(A)の縦方向のアドレスコードを省いたものである。アドレスコードが1方向のみになったので、データエリアの増加と処理の高速化が図れる。アドレスコードが1方向となったことで、アドレスコードが検出できなければそのブロックのアドレスは不明となるが、後述するようなアドレス補間の処理で捕えることができる。
【0176】
また、図29の(A)では、横方向のマーカ間のみにブロックアドレスコードがあるとしたが、縦方向のみにブロックアドレスコードがあるドットコードにしても良い。
【0177】
あるいは、図28の(B)に示すように、下位アドレスコード306Bの間に上位のアドレスコード306A、下位アドレスCRCコード312Bの間に上位アドレスCRCコード312Aが付加される配置であっても構わない。
【0178】
以下、図28の(A)のドットコードをもとに処理の説明を行う。図29の(A)のドットコードに特有の処理の場合のみ、補足説明を加える。
【0179】
図30及び図31は、図20の(D)のデータ配列方向検出部218のブロック構成図及びその動作を示すフローチャートである。
【0180】
データ配列方向検出部218は、上記マーカ検出部216の概中心検出部322よりマーカの概中心のデータをもらい、隣接マーカ選定部366にて隣接マーカの選定を行う。即ち、既に上記概中心検出部322の処理によって一画面上で各マーカの中心のアドレスがマッピングされており、それに対して今処理しようとする代表マーカつまり注目するマーカを設定し(ステップS112)、その代表マーカに対してどのマーカの概中心が一番近いかについて検出するための隣接マーカ選定を行う(ステップS114)。
【0181】
隣接マーカの選定処理は、図32の(A)に示すように、代表マーカと隣接マーカの距離dを算出し、d≦dmaxの範囲内の隣接マーカを指定する(ステップS142)。但しこの場合、dmaxは、データブロック長辺の長さ+α(αは紙の伸縮等によって決定する)である。そして、指定された隣接マーカの中から距離dの短い順に概中心アドレスをstep1サンプルアドレス発生回路368に送る(ステップS144)。例えば、図32の(B)に於いては、代表マーカからは距離D2にある概中心アドレスが一番近く、次に距離D1とD4、そしてD3とD5の概中心アドレスという順番になるので、まず一番近い距離D2にある概中心アドレスを送る。そして、距離dが同じ場合は、距離算出開始アドレスから時計回り方向にマーカを探し、現れた順に方向検出を行う(ステップS146)。即ち、D1,D4,D3,D5の距離に有る概中心アドレスを順にstep1サンプルアドレス発生回路368に送って、後述する方向検出を行う。
【0182】
即ち、step1サンプルアドレス発生回路368は、代表マーカ及び選定された隣接マーカの概中心を中心にstep1サンプルアドレスを発生し(ステップS116)、このstep1サンプルアドレス間を結ぶ走査線を発生して(ステップS118)、走査線上を等分割した点で画像メモリ214のデータをサンプルするよう読み出しアドレスを発生する(ステップS120)。アドレス制御部220は、このサンプル点のアドレスを読み出しアドレスとして画像メモリ214に与え、データを読出す。
【0183】
なお、前記では、サンプル点のデータを近似して出力する(画像メモリより)如く述べたが、図5の(A)に示すように、サンプル点が画像のメモリのデータ間にあると判断した時に、周囲の4画素のデータから補間して求めても良い。
【0184】
これにより読み出されたデータつまり上位アドレスコードが誤り検出回路370で誤り検出された後、上位ブロックアドレス算出及び中心算出回路372に与えられる。上位ブロックアドレス算出及び中心算出回路372は、誤り検出回路370での誤り検出の結果、誤りがあれば次の隣接マーカ選定処理を行わせるため、また、2方向のマーカが検出された場合にはもはや隣接マーカを検知する必要がないので隣接マーカ選定処理を終了させるために、アドレス算出結果を隣接マーカ選定部366に送る。
【0185】
なお、図29の(A)のドットコードを使用した場合には、1方向の上位アドレスコードを検出したらマーカ選定処理を終了する。
【0186】
そして、このアドレス算出結果によりアドレスエラーがあることが示される場合には(ステップS122)、全サンプル点の走査が終了したかどうかを判定し(ステップS124)、まだであれば上記ステップS118へ進み、全サンプル点走査が終了していれば未検索隣接マーカの有無を確かめ(ステップS126)、有れば上記ステップS114に進み、無ければ、全マーカについて同様の処理を行う。全マーカについて処理を終了した後に、マーカ,アドレス補間処理へと進む(ステップS128)。
【0187】
なお、誤り検出回路370は、テレビジョン学会誌Vol.44,No.11,P.1549〜P.1555の「符号理論手解き」等に開示されているような巡回符号に基づいた誤り検出等の一般的なものを使用しても良い。
【0188】
一方、上記ステップS122でアドレスエラーがない場合には、全サンプル点の走査が終了したかどうかを判定し(ステップS130)、まだであれば上記ステップS118へ進み、全サンプル点走査が終了していれば上位アドレスを確定し(ステップS132)、step1中心アドレスを算出して(ステップS134)、決定する(ステップS136)。
【0189】
即ち、代表マーカより最至近距離のマーカ(図32の(B)では概中心アドレスが距離D2にある)より方向を検出する。検出方法は、方向検出用にデータドットより大きいドットコード(step1コード)に記録されるアドレスが認識できるかによってどの方向に周辺のマーカがあるか判別する。step1コードは、上位のブロックアドレスとそのCRCコードが記録されており、コードを走査した時に誤りが無ければ認識されたとする。
【0190】
方向が検出されると、データブロックの傾きが予測可能となる。step1コードは、方向性が有り、代表マーカから周辺のマーカに向かって走査した時のみブロックアドレスが正常に認識される。よって、認識エラーが生じない場合は、常に2方向のブロックアドレスコードが検出される。2方向のブロックアドレスコードが検出されるまで処理を行う。また、2方向の位置関係よりデータ配列が推測できる(図32の(C)参照)。
【0191】
なお、図29の(A)のドットコードの場合は、1方向のみアドレスコードが検出される。その際、データエリアは検出できたラインと走査方向よりデータエリアを認識することができる(図29の(B)参照)。
【0192】
実際の動作に於いては、代表マーカから最も短い距離である距離D2から方向検出を行い、アドレスが認識されなければ、時計回りにサーチを行うので、次に近い距離D1にて同様の動作を繰り返す。検出は、時計回りに行うとすると、距離D4,D3,D5と検出は続く。2方向検出されるまで処理を行う。
【0193】
なお、図29の(A)の場合は、1方向検出されるまで処理を行う。
【0194】
1方向検出できれば、他方向が予測できる場合もある。例えば、D4,D5が順方向とし、D2の存在がなく、D4からサーチを始めたとすると、D4にてアドレスが確認されると、D3,D5のいずれかにアドレスを認識できることが予測される。
【0195】
上記のような方向検出処理を、図33の(A)を参照して、さらに詳細に説明する。
【0196】
マーカ検出部216の概中心検出部322で検出された代表マーカの概中心を、同図上方左側のドットA5と規定し、それから1.5ドット(これは処理によって適宜変更可能)離れた8つのサンプル点A1〜A4,A6〜A9をstep1サンプルアドレス発生回路368で発生する。同様に、方向検出しようとするマーカ例えば距離D2の概中心(同図上方右側のドットB5)を中心に、サンプルアドレスを発生させる。
【0197】
ここで、1.5ドット間隔にした理由を述べる。
【0198】
先程、マーカ概中心を求める処理の際、中心との差異が1ドット以内になるごとく記述したが、それはインクのにじみ等の不具合が発生しないと仮定した場合である。インクのにじみ等を考慮し、検出範囲を±1.5ドットとした。
【0199】
アドレス制御部220は、両マーカのアドレス間に対してある一定のラインを引く。最初はドットA1とB1に走査線を引く。そして、上位アドレスがサンプルできるような形で、サンプルクロックを設けて、画像メモリ214のデータサンプルを行う。
【0200】
図28の(A)に示したように、上位アドレスコード306Aに対しては、その次にCRCコード312Aが付加されているので、そのデータサンプルによって正しく読めた場合には、上位アドレスに対して誤り検出回路370での誤り検出結果が問題ないという形で検出され、正しく読めなかった場合には、誤りがあるというように判定される。
【0201】
そして、以下同様に、ドットA1とB2、A1とB3、A1とB4というように順次走査線を引いていき、それごとに、エラー検出があっているかどうかチェックを行う。トータルで、代表マーカ側に9個のポジションがあり、検出マーカ側に9個のポジションがあるので、81通りの処理を行うことになる。
【0202】
81通りの処理全部についてエラーになったときには、そちらの方向に方向コードがない、つまり検出側マーカが配列以外のマーカ(誤検出されたマーカ)であると判別する。
【0203】
例えば、図33の(A)では、ドットA1とB7について引いた走査線(点線で示す)に於ける各サンプル点でデータをとると、同図に破線の丸で示したサンプル点はデータより外れているので、誤検出となる。特に、前述したように、アドレスデータドットの上下側に反転コードを設けているので、必ずエラーになる。
【0204】
一方、ドットA5とB5を繋いだ場合は、きちんとデータがとれているので、検出エラーはなく、よってこちらの方向にコードがあるというように認識される。
【0205】
なお、エラー検出を起こし易くするために上下に反転コードを設けるものとしたが、これは必ずしも上下に設ける必要はなく、例えばアドレスデータドット上下は白のコードを記載し、アドレスデータドットを後半数ドット分だけ黒のデータが続くような形式とすることができる。このようにすると、必ず検出マーカ側の端の方が黒のデータになり、その外側が白の余白になるので、データエラーが正しく検出できるようになる。また、反転コードにした場合も、反転コード部全域に設ける必要はなく、両側の一部に設けても良い(図28の(C))。
【0206】
ここで、ドットの大きさについて説明しておく。図33の(B)に示すように、上位アドレスコード306Aの各ドットの大きさをnドット、step1コードの幅をmドットとすると、m及びnの関係は、step1サンプルアドレスの内側端に於いて、中心に対して2ドットの幅を設けて対角線を引き、上位アドレスコード306Aをどれだけ設けるかによって決まる幅mを長辺とし且つ上記対角線をその対角線とする長方形の高さがnとなる。即ち、mが決まればnが必然的に決まる。step1サンプルアドレス内側端の間を全部このアドレスコードとしたとしても2ドットまでしかないので、nドットというのは、2ドットまでの幅となる。また、1ドットの横幅については決めないが、データを認識しやすい横幅が好ましい。
【0207】
なお、上記2ドットというのは、例えばドットA5とB5を結んだ走査線ではヒットするが、ドットA6とB4を結んだ線及びA2とB8を結んだ線ではヒットしないという範囲を得ることができるように規定している。それよりも大きくすると、例えば、ドットA5とB5でヒットする場合、A2とB8を引いたところでもヒットしてしまうということが起こり、中心として検出されることが広がってしまう。この値も、装置に合わせて変更可能である。
【0208】
また、図33の(A)の例では、ドットA5とB5についてヒットしているが、同じくドットA4と例えばB4の結んだ線でもヒットしてしまったという場合には、次の中心検出のstep2という段階で、ドットA4とA5の中心を起点にして、それを中心に同じく探索を行うといったような処理を行っていくこととなる。
【0209】
また、別の方法も考えられる。図34を用いて説明する。ここで、A4とA5、片側もB4とB5がヒットした場合、同図に示すサンプルアドレス(A41〜A45,A51〜A55,B41〜B45,B51〜B55)を次のstep2のサンプルアドレスとしても良い。この場合、step2に於けるサンプルアドレス点が9個から10個に増すために処理数も81から100(走査線数)に増えてしまう。しかし、A4とA5の中点を導き出す処理及び、予め決められたサンプル点を使用しているために、中点を中心に9点のstep2のサンプルアドレスを発生させる処理が無くなる。総合的にみて、処理は軽減すると思われる。
【0210】
さらに、A4とA5の間にstep2の正確な中心があると仮定して、A42〜A44,A52〜A54とB42〜B44,B52〜B54を結ぶ走査線にてアドレス検出処理を行うとすると、処理数は81から36(6×6)と少なくなるという考え方もできる。
【0211】
上記処理にて、step1での大まかな中心が求まる。
【0212】
以上説明したように、CRCを検出することによって、そちらの方向にデータブロックがきちんと配列されているかどうかの検出を行う。図32の(B)に於いては、当然、距離D2にあるマーカは誤検出されたマーカになるので、そちらの方向にデータの方向を見ていたときには、上位アドレスのコードがないわけであるから、結局81通り検知したところでそちらの方向に誤りが全部生じることになり、方向がないと判定されることになる。
【0213】
こうしてD2がないと判定されたとき、次に近い距離はD1とD4になるが、今注目していたマーカに対して時計回りに回るので、次に距離D1について処理を行う。前述したようにデータ配列的には左から右及び上から下の向きにしか判定が可能になってこないため、この場合、代表マーカから距離D1のマーカに向けた方向で処理を行うことになり、逆方向から、つまりCRCコードから先に読み、次にアドレスコードを読むことになるので、これは当然の結果、誤りと判定される。従って、距離D1については、方向がないと判定される。
【0214】
次に、距離D4について判定する。D4については、代表マーカから距離D4に沿って読んで行った時に、アドレスコード、CRCコードという順番で読み込まれるので、D4については方向性があるという判断がくだされる。即ち、エラーは生じない。
【0215】
次に、判定すべるきものが、等距離となる距離D3とD5になる。それに対して、時計回りなので、まず距離D3から処理を行うことになる。このD3ついても、上記のようにCRCコードが先に読み出すことになるので、方向性がないと検知される。そして、最終的には、距離D5を読んで、こちらのほうに方向があるというふうに判断する。
【0216】
結果的に、距離D4とD5が読み込まれるので、図32の(C)に斜線ハッチングで示す部分に、距離D4,D5の部分に記載されているブロックアドレスに対するデータが書かれていることを認識することができる。最終的には1つの代表マーカに対して2方向検出されれば、そちらのブロックの方向が検出できるので、2方向が検出できるまで処理を行うことになる。
【0217】
図29の(A)のドットコードの場合には、1方向のみ検出される。(図29の(B)に於いてD5となる)1方向検出されるまで、処理を行うことになる。
【0218】
なお、上記5つの方向の全てに対して処理を行ってエラーとなった場合、対角線方向のマーカに対して上記方向検出処理を行うこととなるが、この場合、処理数の増大を防ぐために、ある範囲外のものは処理を行わないようにし、得られなかったアドレス情報等は、マーカ,ブロックアドレス補間処理により必要な情報を得るようにする。
【0219】
また、前述したように、ブロックアドレスについては変調をかけないようにしているが、変調をかけた場合には、当然、ブロックアドレスコードを認識した後に復調という処理が必要になる。
【0220】
なお、上記説明では、上位アドレスの誤り検出を使って方向性があるかどうか判断するものとしたが、例えば、上位アドレスCRCコードの代わりに、「11100001」のような方向性のあるパターンを使い、パターンマッチング的に「11100001」が検出されたときに、そちら方向に方向性があるマーカがあるということを認識するような手法を採用することもできる。
【0221】
上記方向検出に於いて、全マーカとも時計回りに隣接マーカを捜す必要がなく、次のブロックは、その方向に上位アドレスコードを認識するための動作を行うようにしても良い。その方が、処理数が軽減する。また、上位アドレスの検出に異常が生じた場合にも、周辺の方向検出により得られた方向にコードがあると認識しても良い。
【0222】
次に、ブロックアドレス検出,誤りの判定,正確な中心検出部300を、図35の(A)のブロック図及び図36のフローチャートを参照して説明する。
【0223】
上記データ配列方向検出部218の上位ブロックアドレス算出及び中心算出回路372は、上位アドレスが検出できたときに、その上位ブロックアドレスを次のブロックアドレス検出,誤りの判定,正確な中心検出部300のブロックアドレス算出及び中心算出回路374に送る。また、上位アドレス検出時の大まかな中心が分かってくるので、この中心アドレスをstep2サンプルアドレス発生回路376に導く(ステップS152)。
【0224】
step2サンプルアドレス発生回路376は、この大まかな中心のサンプルアドレスを発生させる(ステップS154)。即ち、図35の(B)に示すように、先ほど求めた大まかな中心(方向検出の中心)に対して、上記同様に8点、外にサンプルアドレスを置く。そして、方向性が見つかったマーカに対して8点また同じように設けて、同様に走査線を引いて(ステップS156)、下位のアドレスが検出できるか、検出できないかといった処理を行う。この場合、サンプルアドレスを作るデータ間隔は、本実施の形態では0.5ドットおきに規定しているが、装置の仕様によって適宜変更可能である。
【0225】
そして、アドレス制御部220は、発生されたサンプルアドレスに基づいて画像メモリ214からデータを読み出し、このサンプル点に従ったデータを誤り検出回路378に導き出す(ステップS158)。方向検出時同様(図5の(A)に示すように)、サンプル点が画像メモリのデータ間にある時には、メモリ上の1データを代表する方式ではなく、周囲のデータから補間して導いても良い。誤り判定でエラーになった場合には(ステップS160)、全サンプル点の走査が終了したかどうかを判定し(ステップS162)、まだであれば上記ステップS156へ進み、全サンプル点走査が終了していれば、全てのブロックについてアドレスが検出された後に、マーカ,ブロックアドレス補間処理へと進む(ステップS164)。
【0226】
一方、上記ステップS160でアドレスエラーがない場合には、全サンプル点の走査が終了したかどうかを判定し(ステップS166)、まだであれば上記ステップS156へ進み、全サンプル点走査が終了していれば下位アドレスを確定し(ステップS168)、正確な中心(step2中心)を決定する(ステップS170)。
【0227】
即ち、誤り検出回路378で誤り検出を行い、誤り判定でエラーになった場合には、次の処理に行く。ブロックアドレス算出及び中心算出回路374には、アドレス制御部220から中心検出時スタート及びエンドアドレス、つまりどの点とどの点を今結んでいるかという信号が与えられており、その点での誤り判定の可否を判断する。ブロックアドレス算出及び中心算出回路374は、誤り検出がない場合には、導き出された下位のアドレスを、上位ブロックアドレス算出及び中心算出回路372から送られてきた上位のアドレスと組み合わせて、ブロックアドレスとして、次のマーカとアドレスの補間部302に導き出す。同様に、中心のアドレスも、マーカとブロックアドレスの補間部302に導き出す。
【0228】
なお、図35の(B)に於いて、0.5ドットに設定したのは、0.5ドットの範囲でサンプル点を検出することによって、この処理で最終的に求まった中心(方向検出の中心)と真の中心との差が、1/4ドット範囲におさまるからである。1/4ドット範囲におさまれば、上記処理で形成されたサンプル点をとれば、データエリアのところのデータをきちんと再生できる。
【0229】
また、step2コードのドットは、一番最小が1ドットなので、それより小さいデータ配置はデータとしての意味が成さないことになるので、1ドットで形成している。
【0230】
なお、step1コードの場合と同様に、アドレスデータドットの上下に反転コードを設けても良いし、終りのほうの数ドットに黒のデータを設け、回りを余白部とするようにしても良い。また、アドレスコードとデータコードを区別するためのデータ余白部364は、データエリア314と区別する領域が、例えば黒で重なったとしても、マーカと間違える確率が非常に少ないので、このデータ余白部364を設けないで、反転層から直接データエリア314に入るようにしても良い。
【0231】
また、図35の(B)に示すように、結果的に下位アドレス、上位アドレスといった形で全データ長のほぼ1/2データ長で、さらに、同じ大きさでCRCコードを付加している。その理由は、このアドレス長に関して全部にノイズがのってしまったとか、インクがついてしまったとか、そういった状態のバーストエラーに対しても検出可能なように、このデータ長に設定してある。このデータ長の割合も、適宜変更可能である。
【0232】
以上のような木探索処理、つまり大まかな中心を求めて、さらに細かな中心を求めるような検出方法によって、データエリア314のデータをサンプルするための正確な中心と、ブロックアドレスが認識されたことになる。即ち、木探索という処理を行うことによって、最初から細かいピッチでサンプルを行うよりも、大幅に処理が軽減され、処理量と処理時間が軽減される。また、ブロックアドレスを方向の検出並び正確な中心検出に使うことによって、全データ量の冗長度を少なくすることが可能になる。
【0233】
次に、図37の(A)を参照して、マーカとアドレスの補間部302について説明する。今、同図に於いて、ブロックB2についてのマーカが検出されない、またはアドレスが検出されなかったというエラーに対して、回りの黒のマーカ部分は検出されていたとする。
【0234】
この場合、まずブロックB1のマーカとブロックB3のマーカの求まった中心を結ぶ線を引き、またブロックA2のマーカとブロックC2のマーカの求まった中心を結ぶ線を引いて、その交点を予測中心とする。そして、その予測中心点からさらにブロックC2のマーカ及びブロックB3のマーカに向けてアドレスの検出や処理を行うことができる。また、アドレス検出を行わなくても、配列が分かっているので、ブロックB1の下にブロックB2が存在する場合には、回りのアドレスからブロックB2のアドレスは設定されるので、あえて検出しなくても推定することができる。即ち、回りの処理から今注目している予測できなかったブロックのアドレスとマーカ中心を検出することができる。
【0235】
マーカとブロックアドレスの補間部302は、正常に読み込まれたアドレスデータや中心位置と補間したアドレス、予測中心の情報を合わせてアドレス制御部に導いている。
【0236】
なお、画像メモリ214に同図に示すように取り込まれ、走査方向が矢印方向である場合には、大体左上の方を最初の代表マーカとして、それについてから処理を行う。順次、縦方向について中心検出を行い、最初の縦方向の検出を行うことで8つ(ブロックA1〜A4のマーカ及びブロックB1〜B4のマーカ)の中心が求まることになる。そして、次の縦列の中心検出を行うときには、ブロックB1〜B4のマーカの中心は既に分かっているので、それらに対して処理は行わず、それらの中心を対象にして、ブロックC1〜C4のマーカの大まかな中心、step1の中心、step2の中心を求めていく。従って、前述したように81通りの走査線は必要なく、1度中心が求まってしまえば後段の9点についてサンプルようするに処理を行えば良いので、9通りの処理、さらに細かいので9通りの処理、すなわち18通りの処理で中心が求まることとなる。このように、最初だけ処理が多いが、その後の処理は軽減するといったメリットがある。
【0237】
図29の(A)のドットコードの場合には、まず始めに、左上のA1を代表マーカとしてA1,B1,C1と横方向に方向検出処理を行う。処理は、A1とB1のマーカ中心が求まると、C1の中心検出処理は、9通りの処理で良い。A1の下のブロックがA2であると判断するには、アドレスコードが無いために、以下に述べるように処理を行う。
【0238】
即ち、A1マーカとB1マーカの長さからブロックの大きさを判断し、予測したブロックの大きさから適当な位置にあるマーカから検出をはじめても良いし、A1のすぐ下にあるマーカをまずは代表マーカとして処理を行うようにしても良い。そして、検出されたブロックアドレスにて横方向のブロックアドレスが一致したブロックをA2とすれば良い。2段の方向検出(図ではA1の段とA2の段)が終了すれば、縦方向(A3のマーカを選定する処理)の処理に於いて方向が予測できるので、その方向にあるマーカのみ検出処理を行うようにすれば良い。誤検出されたマーカがある場合でも、除いて処理を行うことが可能となる。
【0239】
次に、図37の(B)のブロック構成図を参照して、図20の(A)のアドレス制御部220について説明する。
【0240】
まず、アドレス制御部220に於いては、画像メモリ214にA/D変換部210からのデータを書き込むときにアドレスを発生させる書き込みアドレス発生部380によって発生されたアドレスで、画像メモリ214にはA/D変換部210のデータがストアされる。
【0241】
そして、前述したように、マーカ検出部216、データ配列方向検出部218、ブロックアドレス検出,誤りの判定,正確な中心検出部300、マーカとアドレスの補間部302のそれぞれに於いてアドレスを発生する必要があり、そのためのアドレス発生部382〜388が構成されている。なおこの場合、マーカ検出用アドレス発生部382、データ配列方向検出用アドレス発生部384、ブロックアドレス検出,誤りの判定,正確な中心検出用アドレス発生部386に於いては、対応するマーカ検出部216(内部のマーカ判定部318、マーカエリア検出部320、概中心検出部322)、データ配列方向検出部218、ブロックアドレス検出,誤りの判定,正確な中心検出部300と情報のやりとりをしてアドレスを発生させる。また、補間処理用アドレス発生部388は、ブロックの回りの4つのマーカが存在するブロックにつき、各マーカの正確な中心を画像メモリ上に対応させたアドレス(以下、マーカアドレスとする)とデータ数よりそのブロック内を等分した補間アドレス座標データ及びその周辺の画素データのメモリ読み出しアドレスを発生させる。
【0242】
選択回路390は、これらアドレス発生部382〜388をそれぞれのタイミングに於いて選択し、レンズの収差歪み補正回路392に供給する。そして、レンズの収差歪み補正回路392は、レンズの収差歪み用メモリ224からのレンズの収差の歪み情報を受けて、選択的に供給されたアドレスを変換(補正)し、選択回路394を介して画像メモリ214に読み出しアドレスとして与える。
【0243】
次に、マーカ検出部216の中のマーカ判定部318の別の実施の形態を、図38の(A)乃至(C)を参照して、説明する。
【0244】
前述の実施の形態では、ドットコードのサイズを決めた場合に、その1ドットが撮像部204の撮像素子1.5画素分になるように結像光学系200によって結像し、マーカ判定部318に於いて、二次元的に連続する黒画素を見付けて、マーカとして判定するようにしていた。これに対し、本実施の形態は、ドットサイズの違うコード、例えば、ドットサイズが20μmのコード、40μmのコード、80μmのコードがあった場合に、結像光学系200での像倍率を変えずにそれぞれのコードを再生できるようにするものである。
【0245】
即ち、各種アプリケーションに於いて、紙質やシートの性質、インク、印刷のレベルが異なり、そのため各アプリケーションに応じたドットサイズのコードを使うこととなる。例えば、非常に記録密度を上げることが可能な場合には20μmを使い、シートの質が悪い非常にラフなローコストなシートを使ったアプリケーションによっては80μmを使うという状況が考えられる。そのような状況に於いて、そのサイズを判断して、このコードを正しく再生したいという目的がある。
【0246】
即ち、同図の(B)に示すように円形のドットサイズ20μmのマーカ、ドットサイズ40μmのマーカ、そしてドットサイズ80μmのマーカがあり、本実施の形態の適用された再生装置は、例えば、20μmのコードを効率良く再生するための装置、つまり1回の撮像でより多くの情報をデコードできる結像系の倍率を持った装置であるとする。そして、この20μmのドットに対して1.5倍の像倍率で撮像される装置に於いて、40μm、80μmの各コードも結像系を像倍率を変えずに再生することができるようにすることが目的である。ただし、同図の(B)で示したマーカの大きさは、各ドットサイズの7倍の直径とした。
【0247】
そのため、同図の(A)に示すように、まず、選択したい最大のドットサイズのコードを初期設定とする(ステップS182)。例えば、80μm、40μm、20μmのコードが存在し、それを全て再生したい場合には、最大のサイズである80μmとする。これは、ユーザによるキー入力で設定するようにしても良いし、80μm、40μm、20μmの3種類のものがあると決めて、そのサイズにだけ対応できるという場合には、装置自体でその一番大きなサイズの80μmとして設定するようにしても良い。
【0248】
そして、同図の(B)中のマーカ判定式での判定をして仮中心を求める(ステップS184)。
【0249】
即ち、各ドットサイズの7ドット分をマーカとしてコードが作られているとすると、その時に、画像としては、結像光学系が1.5倍の像倍率を持つため、20μmのコードの場合は直径が10.5ドット分、40μmのコードの場合は21ドット分、80μmのコードの場合は42ドット分になる。そこで、7画素以上12画素以下、黒画素が二次元的に連続すれば20μmのコードのマーカとして判定し、14画素以上24画素以下のものは40μmのコードのマーカと判定し、29画素以上47画素以下のものは80μmのコードのマーカと判定する。
【0250】
この画素の値は、次式により算出される。
【0251】
r=s×d×m
int(r×0.7)≦R≦int(r×1.1+1)
但し、
r :マーカの直径相当画素数(=7)
s :ドットサイズ(20μm,40μm,80μm)
m :結像系像倍率(=1.5)
d :マーカの直径のドット数
R :二値画像でのマーカの直径画素数
0.7:傾き、ドットリジェクション等による縮小率
1.1:ドットゲイン等による拡大率
である。
【0252】
そして、まず上記ステップS182で80μmのコードのマーカと初期設定されているので、このステップS184では、上記マーカ判定式で80μmのコードのマーカかどうかをチェックし、その大きさのマーカ(80μmのドットで構成されたマーカ)があると判定したものに関して、仮中心を求める。
【0253】
次に、そのマーカの数をチェックして、それが4個以上あることをチェックする(ステップS186)。これは、1つのブロックが4個のマーカで囲まれて構成されているという意味から、1つ以上のブロックがあるかどうかという判定を行っていることになる。
【0254】
そして、そのマーカが同図の(C)に示すような隣接マーカと所定の位置関係にあるか、つまり整列が成されているかどうかを確認する(ステップS188)。即ち、注目マーカAの近傍に有るマーカBと、注目マーカAに対してそれらマーカA,Bを結ぶ方向と垂直な方向で距離D離れた位置の近傍に有るマーカC、それにマーカBを基準にマーカAからCの方向と同じ方向で距離D離れた位置の近傍に有るマーカDを検出する。それらが存在すれば、例えばこの場合80μmのコードであると判定する。
【0255】
また、上記ステップS186に於いて、80μmのコードのマーカが4個以上なかったならば、あるいは上記ステップS188に於いて、整列されていないと判断された場合には、これは80μmのコードではないと判断され、1つ小さなコード、この場合40μmに設定し直してから(ステップS190)、上記ステップS184に戻って、もう1回マーカの判定を行う。
【0256】
もし、一番小さなサイズの判定に於いても判定できなかった場合には、コードでない場合か、またはコードであっても再生不可能ということで、処理を終える。この場合、アラームを出すなどの警告を発する処理に進むことが好ましい。
【0257】
次に、マーカ判定部318に於ける別の実施の形態を説明する。即ち、マーカパターンと変調されたデータを一般的な画像処理であるダイレーションにより判定する方法を説明する。ここで、ダイレーションの処理は、白画素の近傍黒画素を白画素に変換する処理とする。詳しくは、例えば注目画素の3画素周辺の画素(注目画素を中心とした7×7画素のエリア)をチェック(白黒判定)し、1画素でも白画素があれば、その注目画素を白画素に変換する処理を画像上全画素について行う。
【0258】
まず、画像メモリのデータに対して二値化処理を行う。
【0259】
次に、上記ダイレーション処理により、コード画像のデータ部分のみを全て白画素に変換し、且つマーカのパターン部は当初の大きさよりダイレーションした画素数分だけ小さくなった画像に変換される。
【0260】
次に、その画像上の白画素から黒画素への変化点の画像メモリ上アドレスとその画素からの黒画素の連続数を計数し、その情報より各マーカ毎にその情報を分類し、上記仮中心アドレスとマーカ存在範囲を検出する。その後、概中心検出処理を行う。
【0261】
これにより、高速にマーカの判定且つマーカ存在範囲を検出することができる。
【0262】
また、マーカに対して前述したドットゲインやドットリダクションのようにマーカ中心に対して均等な変形が生じたコードの場合は、上記マーカ判定で求めた仮中心アドレスをそのまま概中心とすることもできる。
【0263】
図38の(A)のステップS184の処理を上記処理としても良い。
【0264】
前述したA/D変換部をコンパレータによる二値化で行う場合は、上記マーカ判定処理に於いて、二値化処理を省くことができる。
【0265】
次に、図15や図20の(D)に示す再生装置の検出部184に適用可能な光源一体型イメージセンサを説明する。図39はその構成を示す図で、例えば、受光セル396の横に、例えばLEDやエレクトロルミネッセンス素子等の化合物半導体により発光セル398をオンチップで形成する。受光セル396と発光セル398の間には、ウエハ上で実際にカッターを入れて溝を作り、そこに非透過のもの、例えばメタルを埋め込んだアイソレーション(遮光)部400が設けられている。このアイソレーション部400によって、発光セル398から出た光が直接受光セル396に入るという不具合をなくすことが可能となる。
【0266】
このような構成に於いては、発光セル398は、図16のタイミングチャート示すような発光セルコントロールパルス信号に従って発光を制御される。受光セル396は、図示しない電荷転送ゲートに電荷転送ゲートパルス信号を印加することで、蓄積された電荷を隣接する垂直電荷転送レジスタ402に送る。垂直電荷転送レジスタ402は、垂直電荷転送パルスにて1ラインずつ蓄積電荷を水平電荷転送レジスタ404に送る。水平電荷転送レジスタ404は、水平転送クロック信号により蓄積電荷を1画素ずつバッファアンプ406を介して出力する。
【0267】
次に、前述した再生装置の回路の中で、復調回路の前段までをアナログ回路で実施し、なおかつ1チップで構成した場合の実施の形態について、図40を参照して説明する。本実施の形態では、撮像部として、例えば特開昭61−4376号公報に開示されているようなCMDに代表されるXYアドレス式撮像部408を用いることによって、メモリを不要とし、そのため回路系が少なくて済むので、1チップで構成することが可能となる。このXYアドレス式撮像部408をアドレススキャンするためにXデコーダ410及びYデコーダ412が用意されている。
【0268】
通常のXYアドレス式の撮像部では、CCDと違って、1ライン読出した後に、このラインをリセットをかけて次のラインを読み出す、つまりあるラインを読んでいる間に、他のラインが露光期間に入るといった読み出し法をとるのが一般的である。しかし、そのような読み出し法では、撮像時間中に外光が入ってしまった時に、余分なところを露光してしまうというデメリットがあるので、本実施の形態では、XYアドレス式にしながらも、なおかつ、素子シャッタと併用して、外光が入ってきた時つまり露光すべき時だけ露光して、それ以外のところは露光しないという動作をさせる。
【0269】
撮像素子走査アドレス発生及び素子シャッタ制御部414は、このようにXYアドレス式に素子シャッタ的な動作を設けるための素子シャッタパルスを発生し、全画素リセットするためのリセットパルスを発生する。
【0270】
Xデコーダ410、Yデコーダ412というのは、この撮像素子走査アドレス発生及び素子シャッタ制御部414からのXアドレス及びYアドレスに対して、何れか一つの素子をオンにさせる回路である。通常は、シフトレジスタ等で構成されるが、本実施の形態では、撮像素子走査アドレス発生及び素子シャッタ制御部414からの信号によって何れか一つの素子をオンできるというタイプのセレクタになっている。
【0271】
本実施の形態に於けるリセットパルスというのは、図16のタイミングチャートの撮像素子リセットパルスに相当するもので、撮像素子を露光の前段でリセットし、このリセット期間中、リセットパルスをハイにすることによって、スイッチ416を切り換え、負電源418のほうに全ての電荷を引き込む。
【0272】
素子シャッタパルスは、図16中に破線の波形で示すように、リセットパルス終了後から露光終了後までの間ゲートをかけられるような形で発生される。
【0273】
読み出しは、通常のパルスと同じように、各素子を順次オンしていって、信号電荷を、リセット時選択スイッチ416を介して、電流電圧変換アンプ420で増幅後、マーカ検出部422に供給する。マーカ検出部422は、前述したものと同様のものであり、マーカ検出したデータはレジスタ424に記憶される。θ検出部426は、レジスタ424の内容をもとに、前述したような方向検出部のように傾きを求める。例えば、図20の(D)に示した回路では、θ検出部426というのはデータ配列方向検出部218にあたり、次のデータ間隔制御部428ならびに撮像素子走査アドレス発生及び素子シャッタ制御部414がアドレス制御部220に相当する。
【0274】
そして、データ間隔制御部428の制御により係数発生部430から発生された補間のための係数は、乗算回路432にて読み出された電荷に掛けられ、加算回路434にて全て加算される。即ち、該加算回路434の出力は、サンプルアンドホールド(S&H)回路436でサンプルアンドホールドされ、スイッチ438を介して該加算回路434に戻される。この動作は、方向、走査線が確定した後に、データをサンプルする際、図5の(A)に示すようなデータ補間をするために行う。図5の(A)に於いては、Qのデータを得るためにD6,D7,D10,D11に係数をかけて補間している。こうして補間された値がさらにS&H回路440でサンプルアンドホールドされて、このサンプルアンドホールドされた値に対して、コンパレータ442及び閾値判定回路444で二値化が行われる。
【0275】
XYアドレス式撮像部408の各撮像素子(画素)についてさらに詳細に説明する。各画素は、図41の(A)に示すように、2個のCMD素子で構成されており、素子シャッタ用パルスが第1のCMD素子446に入り、素子シャッタ用に蓄積されるコンデンサ448のところに電荷を蓄積する。その後、第2のCMD素子450をYデコーダ412より読出し用のパルスを駆動してラインを選択し、水平選択スイッチ452から画素毎の電荷を読み出す。
【0276】
露光時には、素子シャッタパルスにより第1のCMD素子446を素子シャッタ動作させて、素子シャッタ用コンデンサ448に電荷を蓄積する。こうして電荷を蓄積すると、遮光され、Yデコーダ412より読み出し用パルスを加えてラインを選択し、水平選択スイッチ452によって第2のCMD素子450をオンさせて1画素ずつ読み出す。
【0277】
電荷をリセットするときには、撮像素子走査アドレス発生及び素子シャッタ制御部414から出力されるリセットパルスにて、水平選択スイッチ454を全てオンし、リセット時選択スイッチ416を負電源418側にする。CMD素子450のソースが負電圧になるため、素子シャッタ用コンデンサ448とCMD素子446のゲートに蓄積された電荷が負電源に移動しリセットされる。
【0278】
上記動作以外に、素子シャッタ用パルスと読み出し用パルスの電圧を同時にもう少し高い電圧を印加してもリセットできる。
【0279】
なお、通常の撮像素子の場合、暗電流というのが問題になるが、本実施の形態の場合には、図16に示す素子シャッタパルスがハイの期間だけにしか露光しておらず、電荷をすぐ読出してしまうといったような状態であるので、暗電流が蓄積する時間は実際には非常に短く、よって、S/N比的には他の撮像素子の動作に比べると有利なものである。露光は、この短い露光期間でも十分な光量が与えられるので、信号のレベルはそのままで、なおかつ暗電流に対するS/Nレベルというのは少なくなってくるので、本実施の形態を応用することによって、後段の電流電圧変換アンプ420の出力度合いのゲインについてはかなり大きなものを設定することができまる。
【0280】
本実施の形態では、以上のような素子シャッタ動作を行う画素構成としたが、特開昭61−4376号公報に開示されるような素子シャッタ動作が可能なCMD素子を利用することも可能である。
【0281】
次に、図42を参照して、上記のようなXYアドレス式撮像部408を利用した回路を、三次元IC的に構築した実施の形態を説明する。なお、本実施の形態は、オーディオ情報の再生装置の場合である。
【0282】
これは、シート182の紙面に対してCMD408とXデコーダ410、Yデコーダ412がある撮像部層454と、その撮像部層454に対して積層されて形成されたデータを検出する検出部層456と、その検出部層456に対して積層されて形成された出力処理層458でなる。出力処理層458は、復調部190、エラー訂正部194、伸長処理部256、データ補間回路258、D/A変換部及び出力バッファ266等を含み、デコードしたオーディオ情報をイヤホン等の音声出力装置268で音として再生する。
【0283】
もちろん、この出力処理層458は、前述したように、画像情報を含めたマルチメディア情報を再生するように構成することも可能である。
【0284】
このように三次元ICにすることによって、1つのチップで音の出力までの処理ができるので、非常に回路規模が小さくなり、またコストダウンにもつながる。
【0285】
次に、ペン型のマルチメディア情報再生装置の各種構成例を説明する。
【0286】
例えば、ペン型情報再生装置には、ドットコードを取り込むタイミングを指示するためのスイッチを設けることができる。
【0287】
図41の(B)はその一例を示す図で、このペン型情報再生装置は、図15或は図20の(D)に示したような再生装置に於ける光源198,結像光学系200,空間フィルタ202,撮像部204,プリアンプ206,及び撮像部制御部212を含む検出部184がその先端に設けられ、走査変換部186,二値化処理部188,復調部190,データエラー訂正部194,伸長処理部256,及びデータ補間回路258,等を、画像処理部460、データ処理部462、データ出力部464として内蔵している。そして、音声出力装置268としてのイヤホンを持っている。なお、この図では、オーディオ情報の出力装置しか示していないが、画像や文字,線画等の処理部を内蔵する場合には、それに応じた出力装置を接続可能なことはもちろんである(以下のペン型情報再生装置の説明に於いても同じ)。
【0288】
そして、このペン型情報再生装置の側面には、タッチセンサ466が設けられている。このタッチセンサ466としては、例えば、圧電スイッチ、マイクロスイッチ、圧電ゴム等が利用可能であり、スイッチの厚さは小型のもので0.6mm以下のものが知られている。撮像部制御部212としてのコントロール部は、このタッチセンサ466の指による押下に応じて、前述したようなドットコードの取り込みを開始する。そして、このタッチセンサ466から指が離されたところで取り込みを終了する。即ち、このタッチセンサ466を使ってドットコードの取り込みの開始,終了を制御する。
【0289】
なお、同図中の参照番号468は、ペン型情報再生装置内の各部の動作電源としてのバッテリである。
【0290】
また、タッチセンサ466は指で押される形式だけでなく、図43に示すように、ペン型情報再生装置の先端部にそれを張り付けた構成としても、同様の機能を果たすことができる。
【0291】
即ち、ユーザがシート182に印刷されたドットコードを手動走査するために、このペン型情報再生装置をシート182の上に置くと、タッチセンサ466がオンするので、コントロール部212は、それを認識してドットコードの読み取りを開始する。
【0292】
この場合、走査時にペン型情報再生装置の先端部がシート面に接して移動するので、この例に於いては、タッチセンサ466の先端部つまりシート面に接する面は滑らかな樹脂等をコーティングして、手動走査(移動)時に滑らかな動きをするように構成されるのが好ましい。
【0293】
また、ペン型情報再生装置の検出部に、正反射を除去する機構をさらに設けても良い。
【0294】
図44の(A)はその構成を示す図で、光源(LED等の光源)198の前面つまり照射する側に、第1の偏光フィルタ(偏光フィルタ1)470が配置され、次に結像光学系(レンズ)200の前面に、第2の偏光フィルタ(偏光フィルタ2)472が配置される。
【0295】
例えば、第1の偏光フィルタ470は、同図の(B)に示すように、偏光フィルタフィルム474をドーナッツ状に切り抜くことで形成され、第2の偏光フィルタ472の方は、別の偏光フィルタフィルム476を用いることもできるし、例えば同図の(C)に示すように、偏光フィルタフィルム474の第1の偏光フィルタ470を切り抜いた内側の部分を利用することができる。
【0296】
そして、こうして形成された第1及び第2の偏光フィルタ470,472は、第1の偏光フィルタ470のパターン面(偏光方向)に対して、第2の偏光フィルタ472のパターン面(偏光面)が直交する形で配列される。
【0297】
この結果、照明光源198から出たランダムな光は、第1の偏光フィルタ470で偏波面が制限され、例えばP波が照射される。そして、正反射成分はそのまま偏波面が保存されてP波としてシート面から返ってくるが、第2の偏光フィルタ472は偏波面が第1の偏光フィルタ470とは直交しているので、この正反射成分はこの第2の偏光フィルタ472で遮断される。一方、第1の偏光フィルタ470から出てきた光が実際のドットつまりシート面上にあたって紙面の輝度情報として戻ってきたものについては、偏波面がランダムになる。従って、このように一旦紙面上に入って白黒情報、あるいは色情報として戻ってきた信号は、P成分とS成分の両方を持っている。そのうち、P成分については同様に第2の偏光フィルタ472にてカットされることとなるが、それと直交するS成分については、この第2の偏光フィルタ472を通過して、実際にレンズ200を介して撮像部204に結像される。即ち、正反射成分の除去された反射光が撮像部204に導かれることとなる。
【0298】
なお、この場合、空間フィルタ202の前面には、1/4λ板1230が配置され、一旦直線偏光で入射されて来る像光を円偏光に変えて、空間フィルタ202に入力される。これは、空間フィルタが通常水晶の複屈折を利用しているため、直線偏光された光では、その効果が得られないからである。なお、この例では、1/4λ板1230は、空間フィルタ202の前面に配置されているが、これに限定されるものではなく、第2の偏光フィルタ472と空間フィルタ202との間の任意の設置し易い場所に配置すれば良い。
【0299】
このように正反射成分を除去するための構成としては、さらに図45に示すようなものが考えられる。これは、第1の偏光フィルタ470を上記光源198近傍に配する代わりに、例えば、表面ミラーコート478の施された透明樹脂の光導波材480を使って、光源198からの光を非常にシート面に近い状態のところまで導いてシート(ドットコード)を照明するようにし、その光導波材480の光出射部に配したものである。この場合は、第1の偏光フィルタ470は、第2の偏光フィルタ472に直交する光が透過するように配置される。
【0300】
ちなみに、ここで透明樹脂光導波材480を使うと、光源198と外形を極力細くすることができるというメリットと、入射角が浅くなるので正反射成分を減らすことができるというメリットがある。
【0301】
ただし、インクの盛り上がり、シート紙面の盛り上がり等により、まだ正反射成分が残るため、それをさらに効率良く無くすすために、偏光フィルタが設けられている。
【0302】
さらに、上記第2の偏光フィルタ472の代わりに、液晶シャッタやPLZTシャッタ等の電気光学素子シャッタ1220を設けても良い。この電気光学素子シャッタ1220は、図44の(D)に示すように、偏光フィルタとしての偏光子1221、液晶やPLZT等の電気光学素子1222、及び偏光フィルタとしての検光子1223からなる。この場合、該シャッタ1220の偏光子(偏光フィルタ)1221の配光方向を上記第2の偏光フィルタ472と同じ方向になるように、該シャッタ1220を配置することで、正反射除去効果が得られる。
【0303】
さらに、シャッタ機能により、IT−CCD等のフィールド読み出し対応のイメージセンサで、フレーム読み出しが可能となる、或は、CMD等のXYアドレス方式のイメージセンサでも全画素同時露光が実現できるというメリットがある。
【0304】
次に、光源198部分を効率化し、装置のスリム化を図った例を説明する。
【0305】
図46の(A)はその構成を示す図で、上記図45の(A)の例と同様に、表面にミラーコート478を有するアクリル透明樹脂光導波材480を備える。このアクリル透明樹脂光導波材480は、図46の(B)に示すように、円錐台の形状に形成され、その上部(広がっている方の端部)にはネジ部482が設けられて、ペン型情報再生装置の筐体484に螺合して取り付けられるようになっている。また、このネジ部482近傍の内側部分には、表面ミラーコート478は施されておらず、その部分486に、光源198が設けられている。即ち、光源198は、細く切られたフレキシブル基板488上にLEDを装着し、これをリング状に構成したLEDアレイとして提供され、これが上記表面ミラーコートの無い部分486に接着して取り付けられている。そして、同図の(C)に示すように、アクリル透明樹脂光導波材480の下部(先端部)がカッティングされ、表面ミラーコート478の施されていない部分490が形成されている。従って、上記光源198からの光は、上記ミラーコート無し部486より透明樹脂光導波材480内に入り、表面ミラーコート478により反射されて光導波材480内を通って、先端部の表面ミラーコート無し部490より外に出て、シート上のドットコードに照射される。
【0306】
なお、アクリル透明樹脂光導波材480の先端部としては、同図の(D)に示すように、真っ直ぐ伸ばしたままとし、外側の部分にのみ表面ミラーコート478を施すような、より製作の容易な形状としても良い。この場合、先端を丸くして滑りやすくするとさらに好ましい。
【0307】
次に、光源一体型イメージセンサを使った場合のペン型情報再生装置の例を説明する(図47参照)。
【0308】
即ち、本実施の形態では、先に図39を用いて説明したような光源一体型イメージセンサ492が用いられ、その露光面上に、結像系としてのロッドレンズ(例えばセルホックレンズや凸レンズ等)494とガラス薄板496が配置形成される。ここで、ガラス薄板496は、実際の接触面に対しての保護ガラスの役目を持つと共に、照明をなるべくフラットな形にするためにある程度の距離をもたせるという役目を持つ。
【0309】
このように、光源一体型イメージセンサ492を用いることにより、ペン型情報再生装置の形状を小さくすることが可能となり、また、長さ方向においても短くすることが可能となる。
【0310】
次に、カラー多重化したドットコードに対応するためのペン型情報再生装置を説明する。
【0311】
図48の(A)はその構成を示す図で、先の図41の(B)に示したようなタッチセンサ466と図44の(A)に示したような第1及び第2の偏光フィルタ470,472を有している。さらに、本実施の形態のペン型情報再生装置は、図48の(B)に示すようなそれぞれ別の色でなる複数のドットコードを合成することによりカラー多重化したカラー多重ドットコードを読むために、コントロール部212により制御されるカラー液晶498をレンズ200の瞳面上に配置している。
【0312】
ここで、コントロール部212でのカラー液晶498の制御法を説明するために、まず、カラー多重ドットコードの使用例から説明する。
【0313】
例えば、同図の(C)に示すように、A4シート500上にカラー多重ドットコード502が配置され、それに対応させて「Good Morning」という文字が書かれており、また所定位置、例えば右下に、インデックス504とインデックスコード506が配置さているものを考える。そして、カラー多重ドットコード502をこのペン型情報再生装置で再生した場合に、日本語で「おはようございます」と発音出力させるか、英語で「グッドモーニング」と発音させるか、又はドイツ語で「グーテンモルゲン」と発音させるかを選択するため、同図の(D)に示すようにその選択肢を示すインデックス504に対応させて配置されたインデックスコード506をスキャンさせて認識させ、例えば日本語という選択をした後、カラー多重ドットコード502をスキャンすると、「おはようございます」というような発声が発せられるようにするということを目的として、以後の説明を行う。
【0314】
まず、同図の(B)に示すように、日本語で発音するためのドットコードを生成し、それをコード1として、赤(R)に割り当てる。同様に、コード2として英語で発音させるドットコードを作成し、緑(G)に割り当て、コード3としてドイツ語で発音されるドットコードを作成し、青(B)に割り当てる。これを、各情報の重なった部分の色は各色の加色法の色よりなる色として、カラー多重ドットコード502をシート500上に記録する。この場合、色の重ならない部分は黒のドットとして記録する。即ち、前述したようにドットコードはマーカとデータドットからなるが、マーカは黒で、データドットは加色法によって別な色に記録されるということである。このようにカラー多重ドットコード502で記録するということはつまり、記録密度を上げていることになる。
【0315】
なお、RGBの3種類の色に限らず、異なる複数の情報をそれぞれ異なる狭帯域の波長の色に割り当てれば良く、従って、さらに別の狭帯域の波長の色を用いて、4種類、5種類といったより多くの情報を多重化することが可能である。その場合のカラーインキとしては、従来のシアン、イエロー、マゼンタ等のインキ以外に、色素(狭帯域波長のみの光を反射するインキ)を混合させたものが考えられる。
【0316】
また、インデックスコード506は、使用者が認識、選択できるように文字または絵等で示したインデックス504のアンダーライン部分に配置されるもので、その印刷は、どの色が選択されていても読み込めるように、黒によって印刷される。
【0317】
カラー液晶498は、RGBの光透過モザイクフィルタを液晶の画素に合わせて貼ることにより構成され、カラー多重ドットコード502の各色の情報を分離するためのものである。即ち、インデックスコード506のスキャンにより選択された情報の色に対応する画素のみを透過状態にするよう、コントロール部212により制御される。また、液晶はモザイク状でなくても、光路を面分割するように構成しても良い。その際、各色の分割面積比を画素の感度に反比例させた方が、色毎の感度が一様になり好ましい。即ち、Bの感度が低い場合は面積を他の色よりも大きくすることになる。また、カラー液晶は光源側に入れても良い。
【0318】
次に、インデックスコード506を読んで色を選択して所望の言語で発生させるための動作を、図49の(A)のフローチャートを参照して説明する。
【0319】
まず、コントロール部212は、初期設定により仮に緑が選択され(ステップS202)、タッチセンサ466が押されると(ステップS204)、色選択に合わせてカラー液晶498の液晶透過部分を制御する(ステップS206)。例えば、初期状態では緑が選択されているので、緑のフィルタが付いているドットだけを透過性にする。次に、コントロール部212により光源198を制御し、画像処理部460によってドットコードを読み込む(ステップS208)。そして、データ処理部462でコードをデコードして(ステップS210)、全部コードが終了したか即ち全部読み終わったかを認識し(ステップS212)、読み終わったならば、それを報知するための音を発する(ステップS214)。次に、コントロール部212は、デコード結果により読み込んだのがインデックスコード506であったのか、音情報(カラー多重ドットコード502)であったのかを判定し(ステップS216)、インデックスコード506であれば、そのインデックスコード506で示される色を選択して(ステップS218)、上記ステップS204に戻る。また、音情報であったならば、データ出力部464により音声出力装置268から音を再生させる(ステップS220)。
【0320】
そして、上記ステップS220での音再生の後、さらに、音を所定の回数繰り返し発生させるか否かの判断が行われ(ステップS222)、予めその回数がリピートスイッチ467でプリセットされていれば、その所定回数がリピート再生されることになる。
【0321】
この繰り返し回数は、勿論1回でも良く、適宜各種スイッチ等で設定し得るもので、この他に、インデックスコード506又はドットコード502に、予めその回数を記録しておくことによっても可能である。
【0322】
ここでのリピート再生に当っては、図15や図20の(D)に於けるデータメモリ部234からの読み出しを繰り返し行うことで可能となる。
【0323】
なお、撮像部204には、白黒のものと、一般的にカラーモザイクフィルタを撮像素子部に装着したカラー撮像素子とがある。上記の例は白黒の撮像部を用いたものであったが、カラー撮像素子を使用して、画像処理部460に於いて色を分離することによって色に分けて再生することができ、そのような場合には、カラー液晶498を不要とすることができる。
【0324】
図49の(B)は、カラー撮像素子を使用した場合に於ける画像処理部460の画像メモリ部の構成を示す図である。即ち、カラー撮像素子から入ってきた信号を色分離回路508によってそれぞれの色に分離してメモリ510A,510B,510Cに記憶し、それをマルチプレクサ(MPX)512で選択して、以降の処理を行うようにする。
【0325】
また、正反射防止の目的のための第1及び第2の偏光フィルタ470,472の内、第2の偏光フィルタ472については、カラー液晶498の偏光子部分でも同様の偏光フィルタが使われているので、それと兼用することが可能である。従って、カラー液晶498の方の偏光フィルタと組合わせることで、この第2の偏光フィルタ472は省略することができる。但しその時は、このカラー液晶の水平面に於ける角度は、この第2の偏光フィルタ472に相当する方向と同配列、つまり同方向の成分をカットするように回転していなければならない。
【0326】
また、図50の(A)に示すように、上記カラー液晶498を取り除き、光源198として、白色光源ではなく、同図の(B)に示すようなLED等によるRGBの光源を用いても、カラー多重ドットコード502を読み取ることができる。即ち、RGB、先ほどの3色で分ける場合は、RGBの光源198の内、赤に相当する上記コード1を読む時には赤に相当するLEDだけを点灯させ、コード2であれば緑のLEDだけ、コード3であれば青のLEDだけを点灯させて、再生するようにすれば良い。
【0327】
また、RGBのLEDを用いる代わりに、白色光源として各部分にカラーフィルタを付加して各色の光源にすることも考えられる。
【0328】
このように、光源198にRGB別々の色の光源を使用し、インデックスコード506で選択された色の光源を点灯制御することで、図48の(A)の構成と同様の効果を得ることができる。さらには、複数の狭帯域の波長の光を発する光源を各々持つことで、カラー液晶やその制御回路を持つ必要がなくなり、ローコストで小型化することができる。特に、LEDは狭帯域、例えば、ある波長の±27nmの波長ぐらいを持ったものがあるので、そういったものを使えば、より狭帯域の再生ができる。
【0329】
次に、ステルス型ドットコードのペン型情報再生装置につき説明する。
【0330】
図51の(A)はステルス型のドットコードとしての赤外発光塗料ドットコード514が印刷されたタイトル付ドットデータシール516を示している。このドットデータシール516は、例えば、印刷機あるいはプリンタに於いて、普通のカラーなり白黒の印刷の印字で例えばタイトルを印字し、その下のところに今度は不可視の塗料を使ってドットコードを印刷したものである。もちろん、このドットデータシール516は、ドットコード514が不可視つまり透明印刷となるので、同図の(B)に示すように、可視情報のタイトルの上に、ドットコード514を透明のインクを使って重ねて印刷するようにしても良いものである。この印刷については、例えば、インクジェットプリンタ等であればシアン、マゼンタ、イエロー及びブラックの4つのインクにさらに第5のインクとして赤外発光塗料のインクを付け、それを重ねてプリントするということにより実現できる。
【0331】
なお、図51の(A)は、ステルス型のドットコードの余白にタイトルを印刷した例であるが、むろん、該タイトル付ドットデータシールには、可視光のドットコードを印刷し、その余白にタイトルを印刷しても良い。
【0332】
このようなステルス型のドットコードとしての赤外発光塗料ドットコード514を再生するペン型情報再生装置としては、例えば、同図の(C)に示すように、ドットコード514が赤外発光塗料で印刷されているので、光源198として赤外発光素子518を用い、撮像部204の前に赤外帯域バンドパス光学フィルタ520を配した構成となる。
【0333】
即ち、赤外発光素子518より赤外領域の光を赤外発光塗料ドットコード514に照射すると、赤外領域、つまりある狭波帯域の波長で光が反射してくる。その反射の強度を撮像部204で検出するため、赤外帯域バンドパス光学フィルタ520を通して可視光情報と切り分けて、反射光を導くようにしている。
【0334】
なお、赤外発光塗料ドットコード514を印刷するために用いられる塗料の発光帯域も数種類用意できるので、例えば、バンドパス光学フィルタ520の特性を少しずつ変えながら撮像することで、この透明印刷もまた多重化が可能となっている。
【0335】
【発明の効果】
以上詳述したように、本発明によれば、オーディオ情報、映像情報、及びディジタルコードデータ等を含めたマルチメディア情報を、安価且つ大容量記録でき、且つ繰り返し再生できるドットコード及び情報再生システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態におけるドットコード化されたオーディオ情報の記録装置のブロック構成図である。
【図2】(A)はドットコードの記録フォーマットを示す図であり、(B)は第1の実施の形態における再生装置の使用状況を示す図である。
【図3】第1の実施の形態における再生装置のブロック構成図である。
【図4】(A)及び(B)はそれぞれ手動走査の説明図であり、(C)及び(D)はそれぞれ走査変換の説明図である。
【図5】(A)は走査変換に伴うデータ補間を説明するための図であり、(B)及び(C)はそれぞれ記録媒体の例を示す図である。
【図6】データ列調整の説明図である。
【図7】第2の実施の形態における再生装置の構成を示す図である。
【図8】第3の実施の形態における再生装置の構成を示す図である。
【図9】(A)及び(B)はそれぞれ携帯型ボイスレコーダの外観斜視図である。
【図10】携帯型ボイスレコーダの回路構成図である。
【図11】(A)及び(B)は記録媒体への印字例を示す図であり、(C)及び(D)は携帯型ボイスレコーダの別の例の外観斜視図である。
【図12】図10のボイスレコーダに於けるドットコード印字処理のフローチャートである。
【図13】マルチメディア情報記録装置のブロック構成図である。
【図14】ドットコードの概念図である。
【図15】マルチメディア情報再生装置のブロック構成図である。
【図16】図15のマルチメディア情報再生装置に於ける光源発光タイミングチャートである。
【図17】マルチメディア情報再生装置の他の構成例を示す図である。
【図18】(A)は図15のマルチメディア情報再生装置に於けるデータ列調整部を説明するための図3の再生装置にも適用するドットコードを示す図、(B)は(A)のドットコードのライン状マーカを示す図、(C)走査方法を説明するための図、(D)は撮像素子のスキャンピッチを説明するための図である。
【図19】データ列調整部の実際の構成を示す図である。
【図20】(A)乃至(C)は配列方向検出用ドットを有するマーカを示す図であり、(D)はマルチメディア情報再生装置の更に別の構成例を示す図である。
【図21】(A)はブロックアドレスの説明図、(B)はブロックの構成を示す図、(C)はマーカのパターン例を示す図であり、(D)は結像系の倍率を説明するための図である。
【図22】マルチメディア情報再生装置に於けるマーカ検出部のブロック構成図である。
【図23】図22中のマーカ判定部の処理フローチャートである。
【図24】図22中のマーカエリア検出部の処理フローチャートである。
【図25】(A)はマーカエリアを示す図、(B)は検出されたマーカエリアを記憶するテーブルの記憶フォーマットを示す図であり、(C)及び(D)は、同図の(A)に於ける各画素を累積した値を示す図である。
【図26】(A)は図22中の概中心検出部の処理フローチャートであり、(B)は(A)中の重心計算サブルーチンのフローチャートである。
【図27】概中心検出部のブロック構成図である。
【図28】(A)はドットコードのデータブロックの実際の構成を示す図、(B)は他の構成を示す図であり、(C)はデータ反転ドットの他の配置を説明するための図である。
【図29】(A)はドットコードのデータブロックの実際の構成の別の例を示す図、(B)は隣接マーカ選定を説明するための図である。
【図30】マルチメディア情報再生装置に於けるデータ配列方向検出部のブロック構成図である。
【図31】データ配列方向検出部の動作フローチャートである。
【図32】(A)は図31中の隣接マーカ選定サブルーチンのフローチャートであり、(B)及び(C)はそれぞれ隣接マーカ選定を説明するための図である。
【図33】(A)は方向検出の説明図であり、(B)は(A)中のmとnの関係を説明するための図である。
【図34】方向検出の別の方法の説明図である。
【図35】(A)及び(B)はそれぞれマルチメディア情報再生装置に於けるブロックアドレス検出,誤りの判定,正確な中心検出部のブロック構成図及び説明図である。
【図36】ブロックアドレス検出,誤りの判定,正確な中心検出部の動作フローチャートである。
【図37】(A)はマルチメディア情報再生装置に於けるマーカとアドレスの補間部の動作を説明するための図であり、(B)はマルチメディア情報再生装置に於けるアドレス制御部のブロック構成図である。
【図38】(A)はマーカ判定部の他の処理方法を説明するための図、(B)はマーカ判定式を説明するための図、(C)はマーカ整列検出を説明するための図である。
【図39】光源一体型イメージセンサの構成を示す図である。
【図40】XYアドレス式撮像部を用いた1チップICのブロック構成図である。
【図41】(A)はXYアドレス式撮像部の画素の回路構成図であり、(B)はドットコード取り込み制御用のスイッチを持ったペン型情報再生装置の構成を示す図である。
【図42】XYアドレス式撮像部を利用した三次元ICのブロック構成図である。
【図43】ドットコード取り込み制御用のスイッチを持ったペン型情報再生装置の別の構成を示す図である。
【図44】(A)は正反射除去対応のペン型情報再生装置の構成を示す図、(B)は第1及び第2の偏光フィルタの構成を説明するための図、(C)は第2の偏光フィルタの別の構成例を示す図であり、(D)は電気光学素子シャッタの構成を示す図である。
【図45】正反射除去対応のペン型情報再生装置の別の構成を示す図である。
【図46】(A)は光源に透明樹脂光導波材を用いたペン型情報再生装置の構成を示す図、(B)は光導波材と再生装置筐体との接続部分の拡大図であり、(C)及び(D)はそれぞれ光導波材先端部の構成を示す図である。
【図47】光源一体型のイメージセンサを用いたペン型情報再生装置の構成を示す図である。
【図48】(A)はカラー多重対応のペン型情報再生装置の構成を示す図、(B)はカラー多重コードを説明するための図、(C)はカラー多重コードの使用例を説明するための図であり、(D)はインデックスコードを示す図である。
【図49】(A)はカラー多重対応ペン型情報再生装置の動作フローチャートであり、(B)はカラー撮像素子を使用した場合の画像メモリ部の構成を示す図である。
【図50】(A)はカラー多重対応のペン型情報再生装置の別の構成を示す図であり、(B)は光源の構成を示す図である。
【図51】(A)はステルス型のドットコードの記されたドットデータシールを示す図、(B)はステルス型ドットコード対応のペン型情報再生装置の構成を示す図であり、(C)はステルス型のドットコードが別な態様に記されたドットデータシールを示す図である。
【符号の説明】
36,170 ドットコード
36A,36B 手動走査用マーク
38,172,304 ブロック
38A,174,274,310 マーカ
38B 誤り訂正用符号
38C オーディオデータ
38D xアドレスデータ
38E yアドレスデータ
38F 誤り判定符号
176,272A,306 ブロックアドレス
178 アドレスのエラー検出,エラー訂正データ
180,314 データエリア
272B ブロックアドレスのエラー訂正データ
276A ラインアドレス
276B エラー検出データ
278,316 ドット
294A,296A,298A 配列方向検出用のドット
306A 上位アドレスコード
306B 下位アドレスコード
308 ダミーマーカ
310A 円形黒マーカ
310B マーカの白部分
312 エラー検出コード
312A 上位アドレスCRCコード
312B 下位アドレスCRCコード
364 データ余白部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention records and / or reproduces so-called multimedia information including audio information such as voice and music, video information obtained from a camera, video, and the like, and digital code data obtained from a personal computer, a word processor, and the like. Dot code that is optically readable and recorded on sheet media such as paper, various resin films, and metalAnd an information reproducing system that reads such dot codes and reproduces the original informationAbout.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, various media such as a magnetic tape and an optical disk have been known as media for recording voice, music, and the like.
[0003]
However, even if these media are made in large quantities, the unit price is somewhat expensive, and a large space is required for storage.
[0004]
Furthermore, if it is necessary to hand over the recorded media to another person at a remote location, it takes time and effort to mail it or take it directly. There was also.
[0005]
Therefore, it has been considered to record audio information on paper in the form of image information that can be transmitted by facsimile and that can be copied in large quantities at low cost. For example, as disclosed in Japanese Patent Application Laid-Open No. Sho 60-244145, a proposal has been made such that audio information is converted into image information by sending a small amount of audio into an optical code and can be transmitted by facsimile. Have been.
[0006]
[Problems to be solved by the invention]
However, in the apparatus disclosed in the above publication, the facsimile apparatus has a sensor for reading the optically readable recorded voice, and reproduces the voice according to the sensor output. Therefore, it is assumed that the optically readable audio information transmitted by facsimile can only be heard at the place where the facsimile device is installed, and that the facsimile output paper is moved to another place to reproduce the sound. Had not been.
[0007]
Therefore, if the recording capacity of audio information is increased, it may affect other facsimile transmission / reception. If the content of audio recording itself is difficult, the first It is possible that you forget. Furthermore, the recording capacity is limited by the recording density and the compression method, and only a few seconds of audio can be transmitted. Therefore, in order to transmit a large amount of audio information, a magnetic tape or an optical disk must be used.
[0008]
Further, even for short-time audio information, the reproduction apparatus itself is built in the facsimile apparatus, so that it is inconvenient for the repeated reproduction of the audio information.
[0009]
A low-cost and large-capacity recording / reproducing system for so-called multimedia information including video information obtained from a camera, video, and the like, and digital code data obtained from a personal computer, a word processor, etc., other than audio information. Has not yet been realized.
[0010]
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and is a dot code capable of recording multimedia information including audio information, video information, digital code data, and the like at a low cost, in a large capacity, and repeatedly reproducing.And information reproduction systemThe purpose is to provide.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, the dot code according to the present invention is an optically readable dot code,
The dot code is
A data dot pattern consisting of a plurality of dots arranged two-dimensionally according to the content of the data,
A plurality of markers for recognizing the dot code, comprising a pattern that cannot be included in the data dot pattern;
At least
Each of the plurality of markers includes a black portion and a white portion,Separated from each other in two dimensionsThe center of gravity of a black portion that is arranged and determined by a white portion of the marker is a point for obtaining a sample point for sampling data from the data dot pattern.
In addition, the information reproducing system according to the present invention,
An optically readable dot code, a data dot pattern consisting of a plurality of dots two-dimensionally arranged in accordance with the content of data relating to information to be reproduced, and a pattern which cannot be included in the data dot pattern Comprising at least a plurality of markers for recognizing the dot code, wherein each of the plurality of markers is constituted of a black portion and a white portion, and is arranged two-dimensionally apart from each other, Optically reading the dot code from a recording medium on which a dot code is recorded in which a center of gravity of a black portion determined by a white portion of the marker is a point for obtaining a sample point for sampling data from the data dot pattern. Means,
Restoring means for detecting the marker from the dot code read by the reading means, sampling data from the data dot pattern included in the dot code and restoring original information,
Output means for outputting information restored by the restoration means,
It is characterized by having.
[0012]
That is, the dot code of the present inventionAnd information reproduction systemAccording to the above, at least a data dot pattern consisting of a plurality of dots two-dimensionally arranged according to the content of data, and a plurality of patterns for recognizing the dot code, comprising a pattern that cannot be included in the data dot pattern. A dot code is composed of markers and, in particular, each of the plurality of markers is composed of a black portion and a white portion., Separated from each other in two dimensionsThe marker is arranged, and the center of gravity of each black portion determined by each white portion of each marker is set as a point for obtaining a sample point for sampling data.
[0013]
Therefore, when the data relating to the multimedia information is recorded on the recording medium as a data dot pattern so as to be optically readable, the marker can be easily recognized from the dot code, and each of the data dot patterns in the block can be recognized by the marker pair. Since the arrangement position of the dots can be specified two-dimensionally, each dot of the data dot pattern can be recorded with a very fine size, so that low-cost and large-capacity recording can be performed. Such a dot code can be reproduced repeatedly.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. First, embodiments of multimedia information related to audio information such as voice and music will be described.
[0015]
FIG. 1 is a block diagram of an audio information recording apparatus for recording audio information such as voice and music on a paper as an optically readable digital signal in the first embodiment of the present invention.
[0016]
An audio signal input from an audio input device 12 such as a microphone or an audio output device is amplified by a preamplifier 14 (in the case of microphone audio, AGC is applied), and then converted into a digital signal by an A / D converter 16. The digitized audio signal is subjected to data compression in a compression circuit 18 and then an error correction code addition circuit 20 adds an error correction code.
[0017]
After that, the memory circuit 22 performs interleaving. This interleaving is to two-dimensionally disperse an array of data according to a predetermined rule. When the data is returned to the original array by the reproducing apparatus, bursty stains and scratches on the paper, that is, The errors themselves are dispersed, so that error correction and data interpolation become easier. This interleaving is performed by appropriately reading and outputting the data stored in the memory 22A by the interleaving circuit 22B.
[0018]
The output data of the memory circuit 22 is then converted by a data adding circuit 24 into a marker, an x-address and a y-address indicating a two-dimensional address of the block for each block in accordance with a predetermined recording format which will be described in detail later. , And an error determination code, the data is modulated by the modulation circuit 26 for recording. Then, after data such as image data recorded together with the output data of the audio information is superimposed by the synthesizing circuit 27, the printer system or the printing plate-making system 28 performs a process for printing.
[0019]
Thereby, for example, it is recorded on the paper 30 as a recording medium in a format as shown in FIG. That is, the digital signalized sound data is printed as the recording data 36 together with the image 32 and the character 34. Here, the recording data 36 is composed of a plurality of blocks 38. Each block 38 includes a marker 38A, an error correction code 38B, audio data 38C, x address data 38D, y address data 38E, and an error determination code 38. 38F.
[0020]
Note that the marker 38A also functions as a synchronization signal, and uses a pattern such as DAT that does not normally appear in recording modulation. The error correction code 38B is used for error correction of the audio data 38C. The audio data 38C corresponds to an audio signal input from the audio input device 12 such as the microphone or the audio output device. The x and y address data 38D and 38E are data indicating the position of the block 38, and the error determination code 38F is used for error determination of these x and y addresses.
[0021]
The recording data 36 in such a format is obtained by changing the data of “1” and “0” to “1” with black dots and “0” with no black dots, for example, like a bar code. Alternatively, print recording is performed by the printing plate making system 28. Hereinafter, such recording data is referred to as a dot code.
[0022]
FIG. 2B shows a scene in which sound data recorded on the paper 30 as shown in FIG. 2A is read out by the pen-type information reproducing device 40. By tracing over the dot code 36 with the pen-type information reproducing device 40 as shown in FIG. 3, the dot code 36 can be detected, converted into sound, and heard by the audio output device 42 such as an earphone.
[0023]
FIG. 3 is a block diagram of the information reproducing apparatus 40 according to the first embodiment of the present invention. In the information reproducing apparatus according to the present embodiment, parts other than the audio output device 42 such as headphones and earphones are housed in one portable pen-shaped housing (not shown). Of course, a speaker may be built in the housing.
[0024]
The detection unit 44 basically has the same function as an imaging unit such as a television camera. That is, the light source 44A illuminates the dot code 36 on the paper surface, which is a subject, and reflects the reflected light through an imaging system 44B such as a lens and a spatial filter 44C by an imaging unit 44D including a semiconductor area sensor or the like. , And the signal is amplified and output by the preamplifier 44E.
[0025]
Here, the pixel pitch of the area sensor is set to be equal to or smaller than the dot pitch of the dot code 36 on the imaging surface according to the sampling theorem. Furthermore, a spatial filter 44C installed on the imaging surface is also inserted based on this theorem in order to prevent the moire phenomenon (aliasing) on the imaging surface. In addition, as shown in FIG. 4A, the number of pixels of the area sensor is determined by taking into account camera shake during manual scanning of the detection unit 44, and in the vertical direction of a predetermined dot code 36 that is specified to be readable at a time. It is set to be larger than the width of. That is, FIGS. 4A and 4B show the movement state of the image pickup area in a certain cycle when the detection unit 44 is manually scanned in the direction of the arrow. In particular, FIG. The state of manual scanning when the vertical width of the code 36 falls within the image pickup area (considering camera shake) is shown. (B) shows a case where the amount of the dot code 36 is large and the vertical width is one. The case where it does not fit in the imaging area is shown. In the latter case, a mark 36A for manual scanning is printed at a position where manual scanning of the dot code 36 is started. Therefore, a large number of dot codes 36 can be detected by performing manual scanning a plurality of times along the manual scanning mark 36A.
[0026]
The image signal detected by the detection unit 44 as described above is then input to the scan conversion and lens distortion correction unit 46. In the scan conversion and lens distortion correction section 46, an input image signal is first converted into a digital signal by an A / D converter 46A and stored in a frame memory 46B. This frame memory 46B has 8-bit gradation.
[0027]
Further, the marker detection circuit 46C scans the image information stored in the frame memory 46B as shown in FIG. 4C to detect the marker 38A. The detection circuit 46D detects which marker 38A detected by the marker detection circuit 46C corresponds to which address value on the imaging surface, and, based on the address value, the inclination of the imaging surface with respect to the arrangement direction of the dot code. Calculate θ. Note that the marker detection circuit 46C rotates by approximately 90 ° in the scan in only the direction as shown in FIG. 4C as shown in FIG. When the imaging of the code 36 is performed, the inclination θ may not be correctly obtained. That is, when scanning is performed in the short direction of the block 38, there is a possibility that θ may not be obtained correctly. Therefore, the marker detection circuit 46C also performs the scanning in the orthogonal direction as shown in FIG. The correct one of the results obtained by the two-way scanning is selected.
[0028]
On the other hand, the lens aberration information memory 46E stores previously measured aberration information of the lens used in the imaging system 44B of the detection unit 44 for correcting lens distortion. The next time the address control circuit 46F reads out the data stored in the frame memory 46B, the value of the inclination θ calculated by the θ detection circuit 46D and the lens aberration stored in the lens aberration information memory 46E are used. A read address in accordance with the information is given to the frame memory 46B, and scan conversion is performed in the data arrangement direction while performing data interpolation by the interpolation circuit 46G.
[0029]
FIG. 5A shows the principle of data interpolation performed by the interpolation circuit 46G. Basically, the interpolation data is created by the convolution filter and the LPF using the pixels around the position Q at which the data is interpolated. The pixel pitch and the scan line pitch after the scan conversion are set to be equal to or smaller than the dot pitch of the dot code based on the sampling theorem, as in the case of imaging.
[0030]
In the case of simple data interpolation using four pixels around the position Q to be interpolated, Q = (D6 × F6) + (D7 × F7) + (D10 × F10) + (D11 × F11) In the case of relatively accurate data interpolation using 16 surrounding pixels, interpolation data is created by the calculation of Q = (D1 × F1) + (D2 × F2) +... + (D16 × F16). . Here, Dn is a data amplitude value of the pixel n, and Fn is a coefficient of an interpolation convolution filter (LPF) determined according to a distance to the pixel n.
[0031]
The image of the dot code 36 read from the frame memory 46B after being subjected to the scan conversion as described above is binarized by the binarization circuit 48 including the latch 48A and the comparator 48B. The threshold value at the time of performing this binarization is determined by the threshold value determination circuit 50 using the value of the histogram for each screen or for each block in the screen. That is, the threshold is determined according to the stain on the dot code 36, the distortion of the paper 30, the accuracy of the built-in clock, and the like. As the threshold value judgment circuit 50, for example, it is preferable to use a circuit using a neural network disclosed in Japanese Patent Application No. Hei 4-131051 by the present applicant.
[0032]
At the same time, the image of the dot code 36 read from the frame memory 46B is input to the PLL circuit 52, and generates a clock pulse CK synchronized with the reproduced data. The clock pulse CK is used as a reference clock for binarization and demodulation after scan conversion, and for an error determination circuit 56A, x, y address detection circuit 56B and a memory unit 56C in the data string adjustment unit 56, which will be described later. .
[0033]
The binarized data is demodulated by a demodulation circuit 54 and input to an error determination circuit 56A and an x, y address detection circuit 56B in the data string adjustment unit 56. The error determination circuit 56A uses the error determination code 38F in the block 38 to determine whether or not the x and y address data 38D and 38E have an error. If there is no error, the demodulated data from the demodulation circuit is recorded in the audio data string adjustment memory unit 56C according to the address detected by the x, y address detection circuit 56B. If there is an error, the audio data 38C of the block 38 is not recorded in the audio data string adjustment memory unit 56C.
[0034]
The purpose of the data string adjusting unit 56 is to adjust the accuracy of the scan conversion in the scan conversion and lens distortion correction unit 46 (which depends on the accuracy of the reference clock and the S / N of the image sensor) and the distortion of the data. An object of the present invention is to correct a slight shift generated in the arrangement direction and the scan direction after scan conversion. This will be described with reference to FIG. In the figure, dot codes D1, D2, and D3 indicate data for each block. The pitch of the scanning lines 1, 2, 3,... After the scan conversion may be set to be equal to or less than the data dot pitch based on the sampling theorem as described above, but in FIG. It is set to の of the dot pitch for the sake of convenience. Therefore, as apparent from the figure, the dot code D1 is detected without error on the scan line 3 after the scan conversion. D2 is detected without error on the scan line 2 after the scan conversion, and D3 is similarly detected without error on the scan line 1 after the scan conversion.
[0035]
Then, in accordance with the x and y addresses 38D and 38E in the respective blocks 38, the data is stored in the data string adjusting memory 56C.
[0036]
Next, as shown in FIGS. 4A and 4B, by manually scanning the detection unit 44, the voice dot code 36 on the paper 30 can be completely stored in the data row adjustment memory unit 56C. Can be stored.
[0037]
The audio dot code whose data string has been adjusted by the data string adjusting unit 56 is then used for adjusting the data string in accordance with a reference clock CK ′ generated by a reference clock generating circuit 53 different from the PLL circuit 52. From the memory section 56C. Then, at this time, the data is de-interleaved by the de-interleave circuit 58 and converted into a formal data string. Next, error correction using the error correction code 38B in the block 38 is performed by the error correction circuit 60. Then, the decoding circuit 62 decodes the compressed data, and the data interpolation circuit 64 interpolates the error-correctable audio data. After that, the signal is converted into an analog audio signal by the D / A conversion circuit 66, amplified by the amplifier 68, and converted into sound by the audio output device (earphone, headphone, speaker, etc.) 42.
[0038]
As described above, audio information such as voice and music can be recorded on paper, and the reproduction device is a small portable device, so that it can be printed out, transmitted by facsimile, or printed. Prepress makes it possible to hear what is printed in book form anywhere and any number of times.
[0039]
The memory section 56C for adjusting the data string in the data string adjusting section 56 is not limited to a semiconductor memory, but may be a floppy disk.(Registered trademark)Other storage media, such as disks, optical disks, magneto-optical disks, etc., can be used.
[0040]
There are various applications of the audio information recorded as described above. For example, for general use, language teaching materials, music scores, various texts such as distance learning, product specifications, manuals for repairs, dictionaries in foreign languages, encyclopedias, books such as picture books, product catalogs, travel guides, direct mail and guidance Letters, newspapers, magazines, flyers, albums, congratulations, postcards, etc. are possible. For business use, FAX (voice and fax) business instructions, minutes, electronic blackboard, OHP, identification card (voiceprint), business cards, telephone memos, sticky papers, high quality paper rolled supply products (Consumables), and the like. Here, as shown in FIG. 5 (B), the consumables are provided with an easily peelable paste such as a double-sided tape or a sticky note on the back surface of the rolled paper 30A. The dot code 36 is recorded on the recording medium, and it is cut off as much as necessary and can be attached to various objects (hereinafter, this is referred to as a reel seal). Further, as shown in FIG. 3C, the width of the paper 30A is widened so that a plurality of levels of dot codes 36 can be recorded, and a manual scanning mark 36B as a guideline for manual scanning of the detection unit 44 is provided. May be printed vertically and horizontally. The mark 36B can also be used at the same time as a guide for the recording position of the dot code 36. That is, if a sensor is provided in the printer system 28, and the mark 36B is read by the sensor and a cue for printing is performed, the dot code 36 is always printed in the area surrounded by the mark 36B. Therefore, the recorded audio information can be surely reproduced by performing the manual scanning along the mark 36B. Of course, when printing the dot code 36, the mark 36B may also be printed.
[0041]
The recording time of the audio information is 200 fps in the case of a general facsimile, for example, when data is recorded in an area of 1 inch × 7 inch (2.54 cm × 17.78 cm) along one side of the paper, The total number is 280 kbit. From now on, the marker, the address signal, the error correction code, and the error determination code (however, the error determination code in this case also includes the audio data 38C in addition to the x and y addresses 38D and 38E) (30%) Is subtracted, it becomes 196 kbit. Therefore, the recording time when audio is compressed to 7 kbit / s (bit rate of mobile communication) is 28 seconds. When recording on the entire back surface of A4-size double-sided facsimile paper, an area of 7 inches × 10 inches (17.78 cm × 25.4 cm) can be taken, so that 4.7 minutes of voice recording is possible.
[0042]
Also, in the case of a G4 facsimile of 400 dpi, as a result of calculation in the same manner as described above, it is possible to record 18.8 minutes of audio in an area of 7 inches × 10 inches.
[0043]
In the case of high-quality printing at 1500 dpi, when printing is performed in an area of 5 mm × 30 mm, as a result of calculation in the same manner as above, voice recording for 52.3 seconds is possible. Also, when printing is performed on a tape-shaped area of 10 mm × 75 mm, a minute of sound recording is possible when calculated with a sound signal of high sound quality (compressed 30 kbit / s) capable of music.
[0044]
FIG. 7 is a diagram showing the configuration of the second exemplary embodiment of the present invention. The second embodiment is an example in which a memory and an xy address type imaging unit such as a CMD which can be randomly accessed are used as an imaging device, and a detection unit 44 of a reproducing apparatus and a scan conversion and lens distortion correction circuit 46 are used. Only the third embodiment differs from the first embodiment. That is, the detection unit and the scan conversion unit 70 detect the marker of the image data stored in the xy address type imaging unit 70A in the same manner as in the first embodiment, and interpolate four data when reading the data. Are sequentially read out by the decoder address generator 70B and the x, y decoders 70C, 70D and input to the interpolator 72. The interpolation unit 72 sequentially reads out coefficients from the coefficient generation circuit 70E and multiplies the input data by the multiplier 70F. The sample and hold is performed by the sample and hold circuit 70J, and the scan-converted dot code is supplied to the binarization circuit 48, the threshold value determination circuit 50, and the PLL circuit 52.
[0045]
With such a configuration, the same function as that of the first embodiment can be performed, and the frame memory 46 can be omitted, so that cost reduction and size reduction can be realized. Further, the xy address type imaging section 70A, the address generation section 70B, the decoders 70C and 70D, and the interpolation section 72 are formed on a single substrate to form an IC, so that the size can be further reduced.
[0046]
FIG. 8 is a diagram showing a configuration of the third exemplary embodiment of the present invention. In the present embodiment, the dot code 36 is recorded on the paper 30 on which pictures and characters are printed by using a transparent paint (ink) 74 that is easily specularly reflected (total reflection). Then, in the detection unit 44, polarizing filters 44F and 44G are provided between the light source 44A and the imaging system 44B, and the polarization planes of the polarizing filters 44F and 44G are matched, so that the inside (from the surface of the paper 30) can be seen. And the reflected light from the place where the hole 74A through which the transparent paint 74 is cut out according to the code, the polarization directions are disjointed, and a half of the reflected light is cut by the polarizing filter 44G. Since the difference in the amount of light between the reflected light and the totally reflected light is originally large, the contrast of the dot code recorded with the transparent paint 74 is enhanced and the image is taken.
[0047]
Further, the paper 30 is subjected to a surface treatment such as a mirror finish so that the surface is easily specularly reflected, and the transparent paint 74 is made of a material having a refractive index higher than the refractive index of the surface-treated surface, and about 1 / 4λ ( By taking into account the change in the optical path length due to the incident angle, the thickness of the film can be reduced to 1/4 of the optical path length in the transparent paint). It is amplified and easily reflected on the surface (specular reflection).
[0048]
In this case, for example, the formation of the dot code is performed by fine chemical etching or the like, and the portion of the hole corresponding to the dot is roughened to reduce the reflectance.
[0049]
When the dot code 36 is recorded with the transparent paint 74 in this manner, it can be recorded on a character or a picture. Therefore, when used in combination with a character or a picture, the recording capacity is increased as compared with the first embodiment. can do.
[0050]
Further, instead of the transparent paint, a transparent fluorescent paint may be used, or a color may be multiplexed. In the case of this color, a normal color ink can be used, or a color can be obtained by mixing a dye with a transparent ink.
[0051]
Here, as an example, the transparent ink may be an ink composed of a volatile liquid and a binder (for example, phenol resin varnish, linseed oil varnish, and alkyd resin), and the pigment may be a pigment.
[0052]
Next, a portable voice recorder to which the audio information recording device is applied will be described. FIGS. 9A and 9B are external views. This portable voice recorder includes a main body 76, a main body side and a detachable member on the voice input section side (surface fastener, magic tape).(Registered trademark)Etc.) and an audio input unit 80 that is detachable from the main body 76 by 78A and 78B. A recording start button 82 and a print sheet discharge unit 84 are provided on the surface of the main body 76. Note that the main body 76 and the audio input unit 80 are connected by a cable 86. Of course, a signal may be transmitted from the voice input unit 80 to the main unit 76 by wireless or infrared rays.
[0053]
FIG. 10 is a block diagram of such a portable voice recorder. The sound input from the microphone 88 is amplified by a preamplifier 90, converted to digital by an A / D converter 92, and supplied to a compression processing unit (ADPCM) 94. The data subjected to the compression processing is added with an error correction code by an error correction code addition section 96, and the result is supplied to an interleave section 98, where each data is stored, and thereafter, an interleave processing is performed. The interleaved data is further added with the address of the block and an error determination code (CRC or the like) for the block by the address data adding unit 100, and the result is input to the modulation circuit 102. The modulation circuit 102 converts 8-bit data, such as 8-10 modulation, into another 10-bit data. After that, the marker adding section 104 generates and adds a marker using a data string that is not included in the 256 data strings associated with the modulation circuit 102.
[0054]
The data to which the marker has been added in this manner is sent to the simple printer system 106, printed on the reel seal 108 as shown in FIGS. 11A and 11B, and discharged from the print sheet discharge section 84. In this case, the simple printer system 106 prints the date and time measured by the timer 110 on the reel sticker 108.
[0055]
The above-described units are controlled by the control unit 112 in accordance with the operation of the recording start button 82. In addition, there is no particular limitation on which part of the above components from the microphone 88 is configured in the audio input unit 80. For example, the microphone 88, the preamplifier 90, the A / D It is assumed that a converter 92 is built-in.
[0056]
FIG. 12 is an operation flowchart of the portable voice recorder having such a configuration. That is, when the recording start button 82 provided on the main body 76 is pressed down (step S12), while the button is pressed down (step S14), processing from voice input to printing of the dot code 114 on the reel seal 108 is performed. This is performed (step S16). When the pressing of the recording start button 82 is stopped, it is determined whether or not the recording start button 82 is pressed again within a predetermined period of time (step S18). And the above processing is repeated. However, if the recording start button 82 has not been pressed within a certain time, the current date and time are referred to by the timer 110 (step S20), and the reel seal 108 is fed while feeding the blank portion 116 while referring to the current date and time. The printed date and time are printed (step S22).
[0057]
In such a portable voice recorder, when the main body 76 and the voice input unit 80 are connected as shown in FIG. 9A, the user holds the main body 76 by hand and brings the voice input unit 80 close to the lips. The voice is recorded on the reel sticker 108 as a dot code 114. Also, as shown in FIG. 9B, the main body 76 and the voice input unit 80 are separated, and the voice input unit 80 is attached to the receiver side of the telephone handset using the detachable member 78B, so that the telephone can be used. Instead of writing down the content, the other party's business can be directly recorded on the reel sticker 108 as the dot code 114. Moreover, in this case, as shown in FIGS. 11A and 11B, not only is the date and time printed on the reel seal 108, but also a blank portion 116 is formed. And write comments such as to whom.
[0058]
Note that the voice input unit 80 may have various modes other than the configuration in which the voice input unit 80 is attached to and detached from the main body by the detachable member as described above. For example, as shown in FIGS. 11C and 11D, an earphone type can be used. In the case of such an earphone type voice input unit 80, the voice input unit 80 is pulled out from the voice input unit storage unit 118 of the main body 76 and inserted into the user's ear as shown in FIG. While listening to the other party's voice heard from the handset side of the telephone handset, it can be recorded in the form of a dot code.
[0059]
In the above description, the dot code printing is performed only while the recording start button 82 is kept pressed. However, a separate recording end button is provided on the main body 76, and the recording end button is pressed once the recording start button 82 is pressed. Until the button is pressed, dot code printing may be performed.
[0060]
The recording apparatus may incorporate a reproducing function as shown in FIG. 3 to be used as a recording / reproducing apparatus. At that time, the earphone type voice input unit 80 may also have an earphone function.
[0061]
In the above embodiment, the information to be recorded is described by taking audio information such as voice and music as an example. However, not only audio information but also video information obtained from a camera, video, etc. An embodiment for handling so-called multimedia information including digital code data such as text data obtained from a personal computer (hereinafter referred to as a personal computer), a word processor (hereinafter referred to as a word processor), and the like will be described.
[0062]
FIG. 13 is a block diagram of a multimedia information recording apparatus for recording such multimedia information.
[0063]
As in the case of FIG. 1, audio information is input from a microphone or an audio output device 120, amplified by a preamplifier 122, converted to digital by an A / D converter 124, and compressed. It is supplied to the unit 126.
[0064]
In the compression processing unit 126, the input digital audio signal is selectively supplied to a voice compression circuit 130 such as an ADPCM circuit and a voice synthesis coding circuit 132 by a switch 128. The audio compression circuit 130 performs data compression by performing adaptive differential PCM on the input digital audio information. The voice synthesis coding circuit 132 recognizes one voice of the input digital audio information and then converts it into a code. This is because the ADPCM encodes it in the form of audio information and reduces the amount of data, that is, processes it as it is, but once changes it to another synthesized code, it is relatively possible. It reduces the amount of data. Regarding the switching of the switch 128, for example, the user manually switches according to the purpose, for example. Alternatively, for example, information of high sound quality such as information from an audio output device is passed through a voice compression circuit 130, and information such as a human voice or comment from a microphone is passed through a voice synthesis coding circuit 132. If determined in advance as described above, it is also possible to adopt a configuration in which the input audio information is recognized at the preceding stage of the switch and automatically switched.
[0065]
Various data coming from a personal computer, a word processor, a CAD, an electronic organizer, a communication, etc., already formed as digital code data, are first transmitted via an interface (hereinafter referred to as I / F) 134 to a data form discriminating circuit 136. Is input to The data form determination circuit 136 basically determines whether or not compression can be performed by the compression processing unit 126 at the subsequent stage. The data has already undergone some compression processing. The information for which the effect of the above is not obtained is passed directly to the subsequent stage of the compression processing unit 126, bypassing the compression processing unit 126. If the input data is uncompressed data, it is sent to the compression processing unit 126. send.
[0066]
The data determined to be uncompressed code data by the data form discriminating unit 136 is input to the compression processing unit 126, and the code data is optimally compressed by a compression circuit 138 such as a Huffman, arithmetic code, or Jibrempel. A compression process is performed. The compression circuit 138 also performs a compression process on the output of the speech synthesis coding circuit 132.
[0067]
Note that the speech synthesis coding circuit 132 may recognize and convert character information other than speech into speech synthesis code.
[0068]
The image information of the camera or the video output device 140 is supplied to the compression processing unit 126 after being amplified by the preamplifier 142 and A / D converted by the A / D converter 144.
[0069]
In the compression processing unit 126, the image area determination and separation circuit 146 determines whether the input image information is a binary image such as a handwritten character or a graph or a multivalued image such as a natural image. This image area determination and separation circuit 146 uses, for example, a method of discriminating image area separation using a neural network as disclosed in Japanese Patent Application No. 5-163635 filed by the present applicant, to generate binary image data. Separate multi-valued image data. The binary image data is compressed as binary compression by a general binary compression processing circuit 148 such as MR / MH / MMR using JBIG or the like. For multi-value image data, a static image such as DPCM or JPEG is used. Is compressed by the multi-level compression processing circuit 150 using the compression function.
[0070]
The data that has been subjected to the compression processing as described above are combined by the data combining processing unit 152 as appropriate.
[0071]
Note that it is not always necessary to provide all the information input and compression processing systems in parallel, and one or a plurality of systems may be appropriately combined according to the purpose. Therefore, the data synthesizing unit 152 is not always necessary, and if there is only one type of data system, the data synthesizing unit 152 is omitted, and the data is directly input to the error correction code adding unit 154 in the next stage. Can be.
[0072]
The error correction code adding section 154 adds an error correction code and inputs the code to the data memory section 156. In the data memory unit 156, each data is stored, and thereafter, an interleave process is performed. This means that when data is actually recorded as a dot code and it is reproduced, it is possible to reduce errors a little, for example, to reduce the number of block errors due to noise etc. This is a process of distributing the columns at appropriately distant positions. That is, an operation of reducing the risk of a burst error in units of bit errors is performed.
[0073]
To the interleaved data, an address data adding unit 158 adds a block address and an error determination code (CRC or the like) for the address, and the result is input to the modulation circuit 160. The modulation circuit 160 performs, for example, 8-10 modulation.
[0074]
In the above-described embodiment, a code for error correction may be added after interleaving.
[0075]
Thereafter, the marker adding unit 162 generates and adds a marker using a data string that is not included in the 256 data strings associated with the modulation circuit 160. By adding the marker after the modulation in this way, there is an effect of solving the problem that even the marker is modulated, which makes it difficult to recognize the marker.
[0076]
The data with the marker added thereto is sent to the synthesizing and editing processing unit 164, and is recorded on a recording paper other than the generated data. For example, the data is synthesized with an image, a title, a character, or the like. The data is edited, converted to a printer output format or a data format compatible with printing prepress, and sent to the next printer system or printing prepress system 166. Then, the image is finally printed on a sheet, a tape, a printed material, and the like by the printer system and the printing plate making system 166.
[0077]
Note that the editing process in the synthesis and editing processing unit 164 may be performed by appropriately setting the code length in word units, content breaks, and the like, by adjusting the layout of the page information and the dot code, the dot size of the code to the resolution of a printing machine, a printer, or the like. This includes editing operations such as performing a step change of a break, that is, a step change in which one row is moved to the next line.
[0078]
The printed matter printed in this way is transmitted by, for example, FAX 168. Of course, instead of printing the data generated by the combining and editing processing unit 164, the data may be directly transmitted by fax.
[0079]
Here, the concept of the dot code 170 in the present embodiment will be described with reference to FIG. In the data format of the dot code 170 according to the present embodiment, one block 172 includes a marker 174, a block address 176, address error detection / error correction data 178, and a data area 180 in which actual data is entered. I have. That is, in the embodiment described with reference to FIG. 2A, one block is one-dimensionally configured in the line direction, but in the present embodiment, two blocks are two-dimensionally developed. It is formed in a shaped form. The blocks 172 are vertically, horizontally, and two-dimensionally arranged, and are collected to form a dot code 170.
[0080]
Next, the configuration of a multimedia information reproducing apparatus will be described with reference to the block diagram of FIG. The information reproducing apparatus detects a dot code from a sheet 182 as a recording medium on which the dot code 170 is printed, and performs a scan for recognizing the image data supplied from the detector 184 as a dot code and normalizing the image data. A conversion section 186, a binarization processing section 188 for converting multi-valued data into binary, a demodulation section 190, an adjustment section 192 for adjusting a data string, a data error correction section 194 for correcting a read error and a data error during reproduction, and a data The data separation unit 196 separates the data according to each attribute, a decompression processing unit for data compression processing according to each attribute, a display unit or a reproduction unit, or another input device.
[0081]
In the detection unit 184, the dot code 170 on the sheet 182 is illuminated by the light source 198, and the reflected light is transmitted through the imaging optical system 200 such as a lens and the spatial filter 202 for removing moire and the like. The light information is detected as an image signal by an imaging unit 204 such as a CCD or CMD that converts the light information into an electric signal, and is amplified by a preamplifier 206 and output. The light source 198, the imaging optical system 200, the spatial filter 202, the imaging unit 204, and the preamplifier 206 are configured in an external light shielding unit 208 for preventing disturbance to external light. Then, the image signal amplified by the preamplifier 206 is converted into digital information by the A / D converter 210 and supplied to the scan converter 186 at the next stage.
[0082]
The imaging unit 204 is controlled by the imaging unit control unit 212. For example, when an interline transfer type CCD is used as the imaging unit 204, the imaging unit control unit 212 uses the V blank signal for vertical synchronization and the information charge for resetting information charges as control signals of the imaging unit 204. Image sensor reset pulse signal, charge transfer gate pulse signal for sending charges accumulated in two-dimensionally arranged charge transfer accumulation units to a plurality of vertical shift registers, horizontal shift for transferring charges in the horizontal direction and outputting them outside A horizontal charge transfer CLK signal which is a transfer clock signal of the register, a vertical charge transfer pulse signal for transferring the plurality of vertical shift register charges in the vertical direction and sending the charges to the horizontal shift register are output. The timing of these signals is shown in FIG.
[0083]
Then, the imaging unit control unit 212 supplies the light source with a light emitting cell control pulse for setting the light emission timing of the light source 198 in accordance with this timing.
[0084]
Basically, the timing chart of FIG. 16 is a conceptual diagram for one field. The image data is read between the V blank of this one field and the V blank. The light source 198 performs pulse lighting instead of continuous lighting, and performs subsequent pulse lighting while synchronizing in units of fields. In this case, the timing is controlled such that exposure is performed during the V blanking period, that is, while no image charges are being output, so that clock noise during pulse lighting does not enter the signal output. That is, since the light emitting cell control pulse is a very thin digital clock pulse generated instantaneously and gives a large power to the light source, it is necessary to prevent noise caused by the light from entering the analog image signal. It is necessary, and as a measure for this, the light source is pulsed during the V blanking period. By doing so, the S / N is improved. In addition, turning on the pulse means shortening the light emission time, and thus has a great effect of eliminating the influence of blurring due to the shake and movement of the manual operation. Thus, high-speed scanning can be performed.
[0085]
Further, even when the reproducing apparatus is tilted and disturbance such as external light enters for some reason in spite of the presence of the external light shielding section 208, the V-block is set to minimize the S / N deterioration. Immediately before the light source 198 emits light during the ranking period, an image sensor reset pulse is output once to reset the image signal, light emission is performed immediately after that, and reading is performed immediately thereafter.
[0086]
Here, returning to FIG. 15, the scan conversion unit 186 will be described. The scan conversion unit 186 is a unit that recognizes image data supplied from the detection unit 184 as a dot code and performs normalization. As a method for this, first, the image data from the detection unit 184 is stored in the image memory 214, read out therefrom once, and sent to the marker detection unit 216. The marker detector 216 detects a marker for each block. Then, the data array direction detection unit 218 detects the rotation or tilt and the data array direction using the marker. The address control unit 220 reads out the image data from the image memory 214 based on the result so as to correct the image data and supplies it to the interpolation circuit 222. At this time, lens aberration information is read from the memory 224 for correcting distortion of the lens in the imaging optical system 200 of the detection unit 184, and the lens is also corrected. Then, the interpolation circuit 222 performs an interpolation process on the image data to convert the image data into an original dot code pattern.
[0087]
The output of the interpolation circuit 222 is provided to a binarization processing unit 188. Basically, as can be seen from FIG. 14, the dot code 170 is a pattern of white and black, that is, binary information, and is therefore binarized by the binarization processing unit 188. At this time, binarization is adaptively performed by the threshold determination circuit 226 while determining the threshold in consideration of the influence of disturbance, the influence of signal amplitude, and the like.
[0088]
Then, since the modulation described with reference to FIG. 13 is performed at the time of recording, the demodulation unit 190 first demodulates the data, and then inputs the data to the data string adjustment unit 192.
[0089]
In the data string adjusting unit 192, first, the block address of the above-described two-dimensional block is detected by the block address detecting unit 228, and thereafter, the block address error is detected and corrected by the block address error detecting and correcting unit 230. , The address control unit 232 stores the data in the data memory unit 234 in block units. By storing data in units of block addresses in this way, data can be stored without waste even when data is lost or entered halfway.
[0090]
After that, the data read from the data memory unit 234 is subjected to error correction by the data error correction unit 194. The output of the error correction unit 194 is branched into two, one of which is sent to a personal computer, a word processor, an electronic notebook, etc. as digital data via the I / F 236. The other is supplied to the data separation unit 196, where it is divided into images, handwritten characters and graphs, characters and line drawings, and sounds (two types, that is, a sound as it is and a voice synthesized).
[0091]
The image is equivalent to a natural image and is a multi-valued image. This is performed by the decompression processing section 238 to perform decompression processing corresponding to JPEG at the time of compression, and further, the data interpolation circuit 240 interpolates data that cannot be corrected.
[0092]
For binary image information such as handwritten characters and graphs, the decompression processing unit 242 performs decompression processing on MR / MH / MMR and the like performed by compression, and the data interpolation circuit 244 cannot correct errors. The interpolation of the data is performed.
[0093]
Characters and line drawings are converted to another display pattern via a PDL (page description language) processing unit 246. Note that, in this case, if the line drawing and the character are subjected to the code compression processing after being coded, the decompression processing unit 248 performs the corresponding decompression (Huffman, Jibrempel, etc.) processing, and then The data is supplied to the PDL processing unit 246.
[0094]
The outputs of the data interpolation circuits 240 and 244 and the PDL processing unit 246 are combined or selected by a combining or switching circuit 250, converted into analog signals by a D / A converter 252, and then converted to a CRT (television monitor) or FMD. (A face mounted display) or the like. Note that the FMD is a spectacle-type monitor (handy monitor) for wearing on the face, and is effective when, for example, virtual reality is used or when a large screen is viewed in a small place.
[0095]
For audio information, a decompression process is performed on the ADPCM by the decompression processing unit 256, and a data interpolation circuit 258 interpolates data that cannot be corrected. Alternatively, in the case of speech synthesis, the speech synthesis unit 260 receives the speech synthesis code and actually synthesizes the speech from the code and outputs the synthesized speech. In this case, when the code itself is compressed, as in the case of the characters and line drawings, the decompression processing unit 262 performs decompression processing such as Huffman or Jibrempel, and then performs speech synthesis.
[0096]
Further, as shown in FIG. 17, the text information may be recognized by the text recognition unit 271 and then output as voice information by the voice synthesis unit 260.
[0097]
The decompression processing unit 262 can also be used as the decompression processing unit 248. In this case, the data is appropriately switched by the switches SW1, SW2, and SW3 according to the attribute of the data to be decompressed, and the PDL processing unit 246 or the speech synthesis unit 260.
[0098]
The outputs of the data interpolation circuit 258 and the voice synthesis unit 260 are synthesized or selected by a synthesis or switching circuit 264, converted into an analog signal by a D / A conversion unit 266, and then output to a speaker, headphones, or other similar audio output device. 268.
[0099]
In addition, characters and line drawings are output directly from the data separation unit 196 to the page printer and plotter 270, and characters and the like are printed on paper as word processing characters, or line drawings and the like are output as plotters and the like. You can also.
[0100]
Of course, the image can be printed not only by the CRT or FMD but also by a video printer or the like, and the image can be photographed.
[0101]
Next, the data string adjusting unit 192 will be described. Here, in order to apply to the above-described audio information reproducing apparatus (see FIG. 3), as shown in FIG. 18A, the dot code is a block address 272A indicated by reference numeral 272 and its error correction data 272B. Are arranged two-dimensionally, linear markers 274 as shown in FIG. 3B are arranged in the vertical direction, and reference numerals 276 are assigned to each line of each block. Description will be made assuming that the indicated line address 276A and error detection data 276B are arranged.
[0102]
In this embodiment, as shown in FIG. 18C, the pitch is doubled for each line as compared to the scanning method described with reference to FIG. 6, and after the center of the marker is detected. , The center line between the markers is equally divided by twice the number of dots. That is, as shown in (D) of the figure, first, in the first scan, a vertical and horizontal half, that is, a quarter of the dot 278 is captured. In this case, the pitch is taken at the same interval as the dots 278, and therefore data is taken every other dot. In this manner, data up to the CRC error detection data 276B, for example, if one block has 64 dots, 64 dots are taken in every other dot.
[0103]
Then, first, it is confirmed whether or not the line address can be actually read by using the latter line address 276A and the CRC error detection data 276B for the line address. If this line address is readable, it is determined that the preceding data dot itself is also correctly readable. If it is determined to be wrong, the second scan is performed by shifting one dot to the right, for example, to the right (the black circle in (D) of the figure). This is taken in for all 64 dots, and it is similarly confirmed whether the line address has been actually read. If incorrect, the third scan is performed by shifting one dot down from the first dot, and if still incorrect, the fourth scan is performed by shifting one dot to the right.
[0104]
In this manner, if the scanning of one line is repeated four times, it is considered that at least one of these can be correctly read. If it is determined that the data has been read correctly, the data is written to the data memory unit 234.
[0105]
In this case, if the line address of the fetched line is, for example, "0" (start address), that is, the line address is recognized as the first, the preceding data is determined to be the block address 272A and the error correction data 272B. Note that the error correction data 272B can be used for error detection of a block address such as CRC, or error correction of Reed-Solomon of a block address in addition to error correction depending on the purpose. Then, when the first address line 0 is recognized, the block address 272A is read first, and it is determined from this address data which block the block is in. On the other hand, since the actual data is entered from the next line, the data is read, and the data is written to the block of the data memory unit 234 corresponding to the block.
[0106]
In the above description, if there is no error while scanning one line, the scanning is skipped to the scanning of the next line. However, the scanning may be repeated four times for each line. good. At that time, it is determined that there is no error a plurality of times, but there is no problem since the same data is simply written at the same address in the data memory unit 234. To simplify the processing, the scanning is repeated four times. When priority is given to speed, the former scanning method is adopted.
[0107]
The actual configuration of the block address detection section 228 and the block address error detection and correction section 230 for realizing the operation of the data string adjustment section 192 will be described with reference to FIG.
[0108]
When 10 bits of the binary interpolation data are input into the shift register 190A, the demodulation unit 190 converts the binary data into 8 bits using a look-up table (LUT) 190B.
[0109]
In the data string adjusting section 192, the demodulated data is temporarily stored in a buffer memory (all 64 dots are contained) 282 under the control of the write address control section 280. Then, only the line address information and the CRC information for the address are read out by the data read address control unit 284, and the line address error detection circuit 286 detects an error. When the determination signal indicating the result of the error detection is true, that is, when there is no error, the data read address control unit 284 reads the information before the line address information from the buffer memory 282, that is, the actual data information.
[0110]
On the other hand, the start address detection circuit 288 checks whether or not the line address for which the error has been detected by the line address error detection circuit 286 is the start address. When the start address is detected, the start address detection circuit 288 informs the block address detection circuit 290 that the line is a line having a block address as information. A block address is detected from the data read from 282, and an error detection circuit 292 performs error detection and correction. Then, the result is latched by the address control unit 232 of the data memory unit 234 as a block address.
[0111]
Note that only error detection is added to the line address in order to obtain an accurate read position, but an error correction code is added to the block address because it is used as address information.
[0112]
Since the subsequent lines are successive data lines, they are written into the data memory unit 234 as data. At that time, depending on the processing, a line address is output together if necessary. Alternatively, if there is an internal counter, the line address can be automatically counted up internally.
[0113]
When the next start address "0" is detected, the block is recognized as the next block, and the same operation is repeated for all the blocks.
[0114]
On the other hand, the determination signal output from the line address error detection circuit 286 is also supplied to the address control unit 220 of the image memory 214. This is a signal necessary for skipping to the next line when the data becomes true in order to shorten the time in the four scans per line.
[0115]
In the above example, the line address error detection circuit 286 performs the address detection on the interpolation data using the same address information for four times until it becomes true. Then, when the data becomes true, the address is skipped once to the data line of the next dot of the new next line, interpolation data is created, and then four points in the interpolation data are read out. Therefore, for such control, a determination signal is passed to the address control unit 220 of the image memory 214, whereby the same address is generated four times to interpolate, read in a different order of interpolation, or A process is performed in which the address is rewritten on the next line, the data on that line is output, and the data is output four times while interpolating.
[0116]
Although not specifically shown, the address control unit 232 of the data memory unit 234 performs mapping to the data memory unit 234, and when reading further, the address control unit 232 also controls de-interleaving. Again, for example, when an address for each dot is generated using a look-up table or the like, the block, line, and data obtained by combining the dot addresses are actually output from the look-up table using a ROM or the like. The conversion is performed so as to form a memory data string. This is the work of de-interleaving (de-shuffling), and the data is read out in the form of the original data sequence only after the processing is performed. Of course, this de-interleaving may be performed at the time of reading from the data memory unit 234, or at the time of writing, such conversion may be performed once and data may be written in a random order (mapping). Is also good.
[0117]
Further, in this example, the marker 274 has a line shape, but may be a circle as shown in FIG. 14 or a square marker. Once a marker is detected, the rest of the block is read on a line, so that the marker need not necessarily be line-shaped. For example, as shown in FIGS. 20A to 20C, markers 294, 296, and 298 of a circle, a square, and a rectangle can be considered.
[0118]
If the printed code is substantially accurate without any partial bleeding or misalignment, it can be said that (approximate center = accurate center). The processing can be performed only by the center detection processing. However, in this case, dots 294A, 296A, and 298A for detecting the arrangement direction are provided in the marker portion in order to detect the arrangement direction.
[0119]
FIG. 20D shows another aspect of the multimedia information reproducing apparatus. This means that the A / D conversion section 210 of the detection section 184 is moved to the scan conversion section 186, and the functions of the block address detection section 228 and the block address error detection / correction section 230 of the data string adjustment section 192 are changed to the scan conversion section 186. Since the configuration after the data error correction section 194 is the same as that of FIG. 15, it is omitted in the figure.
[0120]
That is, in FIG. 20 (D), the biggest difference from the configuration shown in FIG. 15 is the scan conversion unit 186 and the data string adjustment unit 192. In this embodiment, the function of the data string adjustment unit 192 is performed simultaneously from the marker detection unit 216 to the address control unit 220 in the scan conversion unit 186. That is, the marker is detected by the marker detecting unit 216, and the data array direction, that is, the inclination, rotation, and direction are detected by the data array direction detecting unit 218. Then, the block address detection, error determination, and accurate center detection unit 300 detects the block address, performs the error determination, and detects the correct center, that is, the true center depending on whether the block is erroneous or not. In this case, since the block address is detected when the true center is detected, the marker and block address are interpolated by the next marker and block address interpolation unit 302, and the information of the block address is transferred to the data. It is also provided to the address control unit 232 of the memory unit 234.
[0121]
As in the configuration of FIG. 15, the address control unit 220 performs address control based on the data of the block address interpolation processing, and controls the address, writing, and output to the image memory 214.
[0122]
Other than that, the function is not different from the embodiment of FIG.
[0123]
In FIG. 15 and FIG. 20 (D), the detection unit 184 converts the data into, for example, 8-bit multi-valued digital data by the A / D conversion unit 210, and thereafter performs the processing. Instead of the D conversion unit 210, a binarization processing unit (comparator) 188 and a threshold value determination circuit 226 may be arranged at the A / D conversion unit 210, and all subsequent processing may be performed using binary data.
[0124]
In this case, the interpolation circuit 222 performs a so-called interpolation process of four-point or sixteen-point interpolation using pixel data around the interpolation address coordinates obtained from the address control unit 220 as shown in FIG. Instead, the pixel data closest (near) to the interpolation address coordinates can be adopted as data.
[0125]
By performing binarization and processing instead of A / D conversion, the number of signal lines and the data amount are reduced to 1/8 of the case of 8 bits, for example. Therefore, the memory capacity of each of the image memory 214 and the data memory unit 234 is also reduced to 1/8, and the processing of each unit is simplified. For example, the circuit scale is significantly reduced, the processing amount is significantly reduced, and the processing time is significantly reduced. This contributes to downsizing, low cost, and speedup of the apparatus.
[0126]
In the case of (D) in FIGS. 15 and 20, when the image data is output to the interpolation circuit 222, the address output of the address control unit 220 becomes, for example, four pixel addresses around the interpolation address coordinates. The signal 222 is distance information for calculating a weighting coefficient for each pixel address by a signal line (not shown). Alternatively, each pixel address and the interpolation address coordinate data may be sent, and the interpolation circuit 222 may calculate the distance from each pixel address to calculate the weighting coefficient.
[0127]
Further, at the time of processing with binary data as described above, the address control unit 220 outputs a pixel address near the interpolation address coordinates. Therefore, in this case, the data output from the image memory 214 is directly input to the demodulation unit 190.
[0128]
Here, specific examples of the dot code shown in the conceptual diagram of FIG. 14 will be described with reference to FIGS.
[0129]
The blocks 304 are two-dimensionally arranged as shown in the conceptual diagram of FIG. 14, and have a block address 306 added thereto. The block address 306 has addresses corresponding to the X address and the Y address. For example, the upper left block in FIG. 21A is (X address, Y address) = (1, 1). On the other hand, the block address of the block on the right side is (2, 1). In the same manner, the block address incremented toward the right and the one incremented from the Y address toward the right are added. Thus, the block address 306 is added to all the blocks 304.
[0130]
Here, the lowermost marker and the rightmost marker are dummy markers 308. That is, the block 304 corresponding to a certain marker 310 is the data obliquely lower right of the four markers 310 including the marker, and the lowermost and rightmost markers are the second lowermost and the second lowermost rightmost markers. An auxiliary marker that is arranged to define a block for the marker, that is, a dummy marker 308.
[0131]
Next, the contents of the block 304 will be described. As shown in FIG. 21B, a block address 306 and an error detection code 312 of the block address are added between the marker 310 of the block 304 and a marker below. Similarly, a block address 306 and its error detection code 312 are added between the marker 310 and the right marker. In the conceptual diagram of FIG. 14, the marker is located at the upper left of the block, and the block address is located at the lower right. However, in the present embodiment, the block address 306 is located at the left and upper sides, and the marker 310 is located at the upper left. The shape is arranged at the corner. Although the block address 306 is shown as an example where it is recorded at two places in one block, it may be at one place. However, by recording at two locations, even if an error occurs due to noise on one block address, it can be reliably detected by detecting the other address. Is more preferred.
[0132]
The position of the data of the block with respect to a certain marker, the position of the block address, the position of the dummy marker on the code determined by the position, and the like are not limited to the above example.
[0133]
Next, a pattern example of the marker 310 will be described. As shown in FIG. 20C, in the present embodiment, a circular black pattern 310A having a diameter of 7 dots is used as the marker 310. Then, a portion 310B around the black circle 310A is set to white, so that a black portion of the marker can be easily distinguished. Reference numeral 310C in FIG. 21C is an auxiliary line for explanation.
[0134]
The range of the white portion 310B is desired to be as small as possible to increase the recording density, but is required to be large in order to perform marker detection processing easily and at high speed. Therefore, the range 310C for sufficiently identifying the black pattern 310A when the rotation is 45 ° is set to be within the portion 310B.
[0135]
As for the image magnification of the imaging optical system 200 in FIGS. 15 and 20D, as shown in FIG. 21D, the size of the data dot 316 in the data area 314 will be described below. Under the conditions, it is assumed that an image is formed on 1.5 pixels. The pixel here means one pixel of the imaging element of the imaging unit 204. That is, one dot recorded on the sheet 182, for example, a dot of 30 to 40 μm, is imaged through an imaging lens on 1.5 pixels of an image pickup element which is usually 7 μm or 10 μm in size. Shall be. In the sampling theorem, the pixel pitch may be smaller than the dot pitch, but here, 1.5 pixels are set here after considering safety. In the case of binarization instead of the above-mentioned A / D conversion, two pixels are used for further safety.
[0136]
Adopting the two-dimensional block division method as described above has the following advantages. That is,
If the dot pitch of each dot is equal to or less than the resolution of the image sensor, a code (a set of unit data blocks) can be read even if the data dot size is different;
Reading is possible even when the imaging unit 204 is inclined with respect to the code;
It can be read even if the sheet is locally stretched, and can be read even if it rotates.
The unit block can be freely expanded two-dimensionally according to the total data amount, so that the code size can be freely changed;
Since each block address is added, it is possible to reproduce even if reading is started from the middle of the code;
If it is a block unit, the code shape can be freely laid out according to other information on the paper surface, for example, characters, pictures, graphs, and the like. A rectangular dot code is shown in FIG. Can be key-shaped or slightly modified;
There is no need for a predetermined start code and stop code as in a bar code, and no clock code is required.
[0137]
Also, by utilizing these characteristics, reproduction can be performed even if there is camera shake. Accordingly, it is very easy to handle a handy playback device.
[0138]
That is, although the details will be described later, normalization is performed by detecting four adjacent markers on the reproduction device side and equally dividing the number of dots by the number of dots, so that the reproduction device is resistant to enlargement, reduction, deformation, and the like. In addition, there is an advantage that it is strong against camera shake and the like.
[0139]
As for the dots 316 in the data area 314, for example, one dot has a size of several tens of μm. Although this can be up to several μm depending on the application, it is generally 40 μm, 20 μm, or 80 μm. The data area 314 has a size of, for example, 64 × 64 dots. These can be freely expanded or reduced to a range in which the error due to the above-mentioned equal division can be absorbed. Further, the marker 310 has not only a function as a synchronization signal but also a function as a position index. The marker 310 has a size that is not included in the modulated data. In the present embodiment, the marker 310 has a round shape and a circle having a diameter of, for example, 7 dots or more or 7 × 7 dots with respect to the dots in the data area 314. The black marker 310A is used.
[0140]
Here, the inclination, rotation, and the like during reproduction will be described.
[0141]
The inclination of the image pickup unit 204 means that the playback apparatus should be vertically opposed to the sheet 182 on which the dot code is printed, but the user has the playback apparatus obliquely. Refers to a state that has become oblique to. Further, the rotation refers to a state in which the imaging area (see FIG. 4A) is not parallel to the dot code written on the sheet 182.
[0142]
When the above-described tilt occurs, the image obtained by the imaging unit 204 is reduced as compared with the image when the images are vertically opposed. For example, if a 30-degree tilt occurs, the apparent projected image will be reduced to 86.5%. In other words, for example, if the block 304 is a square and is inclined 30 degrees in the horizontal direction with respect to the vertical direction, the horizontal portion is 0.865 times even if the vertical direction is 1: 1. It becomes a rectangle. If there is such a slope, if there is an original internal synchronization clock, each unit operates with the equally-spaced clock, so that the resulting data may not match the original data. .
[0143]
In addition, if the image of rotation is taken as horizontal or vertical, the real data goes up diagonally or goes down diagonally, so that real information cannot be obtained. . Furthermore, when a combined state of tilt and rotation occurs, the imaging result of the square block becomes a rhombus, and the condition that the horizontal and vertical data arrays are orthogonal is not satisfied.
[0144]
Hereinafter, the marker detection unit 216 for solving these problems will be described. As shown in FIG. 22, the marker detecting section 216 detects a marker by extracting the marker from the code, a marker area detecting section 320 for detecting the area where the marker is present, and detecting the approximate center thereof. Approximate center detection unit 322 shown in FIG.
[0145]
The marker determining unit 318 searches for seven or more and thirteen or less continuous black pixels, and recognizes a case where the continuous black pixels continue for seven consecutive lines as a circular black marker 310A. As shown in FIG. Is binarized, and black and white are identified for each pixel (step S32). Then, black pixels continuous in the X-axis direction are detected on the image memory 214 (step S34). That is, continuous black pixels having 7 or more and 13 or less continuous black are detected. Next, it is checked whether or not a point shifted by one pixel in the Y-axis direction from the center pixel of the first and last black pixels is black (step S36). Then, if this continues seven times in the Y-axis direction (step S38), it is determined as the circular black marker 310A (step S40). If it is not detected in step S34 or if it is not a black pixel in step S36, it is not determined to be a marker (step S42).
[0146]
That is, it is assumed that the marker is checked on the image memory, and there is a line in which, for example, seven black pixels continue. Then, it is checked whether the point shifted by one pixel in the Y-axis direction from the center of the first black pixel and the last black pixel is black, and if black, the left and right Check if 13 pixels are black from 13 consecutive pixels, and look in the same manner while shifting one pixel at a time in the Y-axis direction. If it lasts seven times in the Y-axis direction, Is determined as the circular black marker 310A.
[0147]
Note that the minimum value of 7 when checking continuous black in the X-axis and Y-axis directions is to distinguish and discriminate the black portion (circular black marker 310A) of the marker 310 from the modulated data. This is a lower limit value set so that the data area 314 and the circular black marker 310A can be distinguished from each other even if there is a reduction due to paper shrinkage or inclination. The maximum value 13 is an upper limit value set in consideration of elongation of paper, bleeding of ink, and the like. This prevents noise such as dust and scratches larger than the marker from being erroneously detected as the marker.
[0148]
In addition, since the marker pattern 30A is circular, there is no need to consider rotation, so the difference between the lower limit and the upper limit can be minimized, and erroneous marker detection can be reduced.
[0149]
The marker area detecting section 320 slightly expands and contracts or deforms the range of the circular black marker 310A determined by the marker determining section 318 due to a change in inclination, a change in image magnification of an image, and the like. It is for detecting whether or not it is in
[0150]
As shown in FIG. 24, the marker area detection unit 320 first detects a temporary center pixel of the circular black marker 310A determined by the marker determination unit 318 (step S52). That is, one pixel near the center of the range determined by the marker determination unit 318 is set as a temporary central pixel.
[0151]
Then, it is checked from the temporary center pixel that the pixel is black in the upward direction (negative direction on the Y axis). If the pixel becomes white, the left and right pixels are checked. If the pixel is black, the upward direction is checked in the same manner as above. It checks up to the Y address where no black exists, and sets the Y address in the Ymin register (see FIG. 25A) (step S54). Similarly, it is checked that the pixel is black in the downward direction (plus direction on the Y axis) from the temporary center pixel. If white, the left and right pixels are checked. If black, the downward direction is checked in the same manner as above. It checks up to the Y address where black does not exist, and sets the Y address in the Ymax register (step S56).
[0152]
Next, it is checked from the temporary center pixel that the pixel is black in the left direction (negative direction on the X axis). If it is white, it is checked that several upper and lower pixels are black. The direction is checked in the same manner as described above, up to the X address where no black exists, and the X address is set in the Xmin register (step S58). Similarly, check that the pixel is black in the right direction (plus direction on the X axis) from the temporary center pixel. If white, check several upper and lower pixels. If black, check the right direction as above. It checks up to the X address where no black exists, and sets the X address in the Xmax register (step S60).
[0153]
A marker area 324 is selected from the values of the Xmin, Xmax, Ymin, and Ymax registers thus obtained as shown in the table of FIG. 25B (step S62). In other words, the marker area 324 is not the square area including the circular black marker 310A but the hatched area in FIG. The marker area 324 may be a square, but there is actually data around the white portion 310B of the marker 310, and the data is stored inside the white portion 310B due to the influence of the spatial filter or the like. It is conceivable that the user enters the marker area 324 for calculating the approximate center. In order to avoid this as much as possible, it is desirable to make the marker area 324 as small and necessary as possible. In this case, it is only necessary to set a circular area having the same shape as the circular black marker 310A, that is, a circle and larger than the circular black marker 310A. In the present embodiment, since the circular black marker 310A is a small circle composed of 7 dots in diameter, it becomes a marker area 324 as shown in FIG.
[0154]
The approximate center detection unit 322 is for finding the approximate center of the black circle of the marker in the marker area detected by the marker area detection unit 320 in this way. In general, in printing or the like, there is a phenomenon that a dot becomes wider than a target size due to swelling of ink (this is called dot gain) or becomes smaller (this is called dot reduction). Further, it is assumed that the ink spreads around the periphery or the ink permeates to one side. The approximate center detecting unit 322 obtains the center of the image of the circular black marker 310A, that is, the so-called center of gravity, and processes the approximate center thereof in order to cope with such dot gain, dot reduction, or ink stain. I do. Here, the processing is for obtaining the center with an accuracy smaller than one pixel pitch.
[0155]
First, for this marker area 324 on the image, the image memory 214 is divided into two directions, that is, the X axis direction and the Y axis direction, and the center line on the X axis and the center line on the Y axis are searched for. Find the final center, or approximate center. FIGS. 25C and 25D are diagrams showing accumulated values of each pixel and each pixel in the vertical and horizontal directions in FIG. 25A. The center of gravity is a half of the total cumulative value, that is, a portion where the upper, lower, left, and right cumulative values are equal.
[0156]
First, in the case of (C) in the figure, for example, if the addition result Sxl of each accumulation of the portion shown by hatching in the figure still satisfies 1/2 of the entire area S. However, if adding the next Sxc portion to it adds more than half the area, it can be determined that the column Sxc includes the center line X including the approximate center. In other words, the X address at the approximate center accumulates the accumulated value of each column (Xk) from the left side (Xmin direction), and exceeds 1/2 of the total accumulated value when the column of X '+ 1 is accumulated. At that time, there is a general center between the row of X 'and the row of X' + 1. When the column of X '+ 1 is divided into right and left so as to be added to the accumulated value up to X' and to be 1/2 of the total area S, the division line includes the approximate center.
[0157]
Therefore, the ratio of the portion excluding the portion accumulated from the area of 1/2 to the X-th column, that is, (1/2) S-Sxl, and the accumulated value Sxc of the middle column is Δx (approximate center = X ′ + Δx ).
[0158]
This will be described with reference to the flowchart of FIG.
[0159]
First, normalization is performed (step S72). That is, the white data portion is set to 0, the black data is set to 1 and the data in the image memory 214 is set to the multi-valued data so that adding the periphery to each data of the marker area 324 does not affect the accumulation. Is normalized as data having a gradation of. This is for the purpose of accurately recognizing the state because the periphery becomes blurred due to a spatial filter or the like and accurately and accurately detecting the center of gravity. Next, the accumulated value Sk of each column Xk (k = min, min + 1,..., Max) is obtained (step S74), and the barycenter calculation subroutine is called (step S76).
[0160]
In the center-of-gravity calculation subroutine, as shown in (B) of the figure, the entire area S is obtained, 1/2 is set to Sh, and Sl is set to 0 (step S92). It is set from the column (step S94), and is obtained by calculating Sl '= Sl + Si (step S96). Initially, Sl = 0, so here is Si itself, and Sl ′ = Smin. Next, Sl 'is compared with Sh, that is, the size of one half of the entire area (step S98). If Sl' does not exceed Sh, i is incremented (step S100), and Sl 'is set to Sl. Then (step S102), the next column is accumulated by repeating from step S96. Then, when the cumulative result exceeds half of the total area, Δx is obtained by subtracting Sl from S / 2 and dividing by Si (step S104). (Step S106), and returns to the upper routine.
[0161]
In the upper routine, the value of C is set as the X coordinate of the approximate center (step S78).
[0162]
Hereinafter, the same processing is performed in each row direction in steps S80 to S84, the Y coordinate is obtained, and X and Y are set as the approximate centers of the markers (step S86).
[0163]
The configuration for realizing such a process is as shown in FIG.
[0164]
The normalization circuit 326 normalizes white data as 0 and black data as 1. The output of the normalizing circuit 326 is accumulated so that the total area S is calculated by the accumulating unit 328, halved by the 掛 け multiplying unit 330, and latched by the latch circuit 332.
[0165]
On the other hand, the output of the normalization circuit 326 is delayed by the delay circuits 334 and 336 for the block in the X-axis direction, the respective columns are accumulated by the accumulator 338 in the order from the left, and the accumulator 340 outputs each column unit. Is accumulated. At the time of outputting the result, the central column Sxc is output.
[0166]
The comparator 342 compares the half area latched by the latch circuit 332 with the accumulated value of each column accumulated by the accumulation unit 338. The latch 344 stores the timing of the determination and the accumulation of the column up to that time. When the comparator 342 determines that the area has exceeded the area of 2, the X address calculation unit 346 calculates the accumulated area of 1 / of the area latched by the latch circuit 332 and Sxl latched by the latch 344. The final X address of the approximate center of the marker is calculated from the accumulated value Sxc from the unit 340 and the address corresponding to X ′ supplied from the address control unit 220 via the delay circuit 348.
[0167]
Similarly, using the delay circuits 350 and 352, the accumulators 354 and 356, the comparator 358, the latch 360, and the Y address calculator 362, the Y address at the approximate center of the marker is calculated. Note that the delay circuits 350 and 352 in this case are constituted by line memories.
[0168]
Here, the delay circuits 334, 336, 350, and 352 adjust the respective output timings of S / 2, Sxl, Sxc, Syl, and Syc to timings required by the X address calculation unit 346 and the Y address calculation unit 362. Circuit.
[0169]
Next, the data array direction detection unit 218 will be described. For convenience of description, the detailed arrangement of each block 304 of the dot code will be described first. The dot code blocks 304 are arranged as shown in FIG. 21B, and more specifically, as shown in FIG. 28A. That is, the block address 306 is divided into an upper address code 306A and a lower address code 306B, and the error detection code 312 is also divided into an upper address CRC code 312A and a lower address CRC code 312B. The lower address code 306B is arranged beside the marker 310, and the upper address code 306A is arranged beside the marker 310 with a size larger than the lower address code 306B. Next, a CRC code 312A for the upper address having the same size as the upper address code 306A is added, and further a CRC code 312B for the lower address having the same size as the lower address code 306B is added.
[0170]
The block address and the error detection data are also arranged below the marker 310 in the above order toward the lower marker.
[0171]
Here, the upper address code 306A and the upper address CRC code 312A are collectively called a step 1 code, and the lower address code 306B and the lower address CRC code 312B are collectively called a step 2 code.
[0172]
Also, when the lower address code 306B is decomposed, on the right side of the marker 310, the data is inverted both above and below (left and right in the case of the lower side of the marker 310) the data of each dot for indicating the lower address data. The code to be used is described. Further, a data blank portion 364 is provided for distinguishing the data from the upper and lower data areas 314. Note that the data margin portion 364 may be omitted. The inversion code is added not only to the lower address but also to the upper address code. Here, dots are indicated by circles for easy understanding of the data, but actually white circles indicate that there are no dots to be printed. That is, it is not to print a white circle. Hereinafter, white circles shown in the drawings indicate the same.
[0173]
Here, assuming that the upper address and the lower address are, for example, if all addresses are composed of 12 bits, the first 4 bits are assigned to the upper address and the next 8 bits are assigned to the lower address. It is something. The data length can be appropriately changed according to the device. Basically, for all the block addresses, there is a distinction as to how many of the block addresses from the beginning are to be the upper addresses and from there to the lower addresses are to be the lower addresses.
[0174]
By providing the address codes in the horizontal and vertical directions as described above, there is an advantage that even if an address cannot be detected with a one-way address code, it can be detected with the other address code.
[0175]
Another dot code arrangement will be described with reference to FIG. This figure omits the vertical address code of FIG. 28 (A). Since the address code is only in one direction, the data area can be increased and the processing speed can be increased. If the address code is unidirectional and the address code cannot be detected, the address of the block is unknown, but can be captured by the address interpolation processing described later.
[0176]
In FIG. 29A, the block address code exists only between the markers in the horizontal direction, but a dot code having the block address code only in the vertical direction may be used.
[0177]
Alternatively, as shown in FIG. 28B, the upper address code 306A may be added between the lower address codes 306B, and the upper address CRC code 312A may be added between the lower address CRC codes 312B. .
[0178]
Hereinafter, the processing will be described based on the dot code of FIG. Only in the case of the process specific to the dot code in FIG.
[0179]
FIGS. 30 and 31 are a block diagram of the data array direction detection unit 218 shown in FIG. 20D and a flowchart showing the operation thereof.
[0180]
The data array direction detecting unit 218 receives data of the approximate center of the marker from the approximate center detecting unit 322 of the marker detecting unit 216, and the adjacent marker selecting unit 366 selects an adjacent marker. That is, the center address of each marker has been mapped on one screen by the processing of the approximate center detection unit 322, and a representative marker to be processed now, that is, a marker of interest is set for it (step S112). An adjacent marker is selected to detect which marker has the approximate center closest to the representative marker (step S114).
[0181]
In the adjacent marker selection process, as shown in FIG. 32A, the distance d between the representative marker and the adjacent marker is calculated, and the adjacent marker within the range of d ≦ dmax is specified (step S142). However, in this case, dmax is the length of the long side of the data block + α (α is determined by the expansion and contraction of the paper, etc.). Then, the approximate center address is sent to the step 1 sample address generation circuit 368 in the order of shorter distance d from the designated adjacent markers (step S144). For example, in FIG. 32B, the approximate center address at the distance D2 is closest to the representative marker, then the approximate center addresses of the distances D1 and D4, and the approximate center addresses of D3 and D5. First, the approximate center address at the closest distance D2 is sent. If the distances d are the same, a marker is searched clockwise from the distance calculation start address, and direction detection is performed in the order in which the markers appear (step S146). That is, the approximate center addresses located at the distances of D1, D4, D3, and D5 are sequentially sent to the step 1 sample address generation circuit 368, and the direction detection described later is performed.
[0182]
That is, the step 1 sample address generation circuit 368 generates a step 1 sample address centered on the approximate center of the representative marker and the selected adjacent marker (step S116), and generates a scanning line connecting the step 1 sample addresses (step S116). In step S118, a read address is generated so as to sample the data in the image memory 214 at the equally divided points on the scanning line (step S120). The address control unit 220 supplies the address of the sample point to the image memory 214 as a read address to read data.
[0183]
In the above description, the data of the sample point is approximated and output (from the image memory). However, as shown in FIG. 5A, it is determined that the sample point is between the data of the image memory. Sometimes, it may be obtained by interpolating from the data of the surrounding four pixels.
[0184]
As a result, after the read data, that is, the upper address code is detected by the error detection circuit 370 as an error, it is supplied to the upper block address calculation and center calculation circuit 372. The upper block address calculation and center calculation circuit 372 causes the next adjacent marker selection process to be performed if there is an error as a result of the error detection in the error detection circuit 370, and if a marker in two directions is detected, Since it is no longer necessary to detect the adjacent marker, the address calculation result is sent to the adjacent marker selection unit 366 to end the adjacent marker selection processing.
[0185]
When the dot code shown in FIG. 29A is used, the marker selection process is terminated when the upper address code in one direction is detected.
[0186]
If the result of the address calculation indicates that there is an address error (step S122), it is determined whether scanning of all sample points has been completed (step S124). If not, the process proceeds to step S118. If the scanning of all sample points has been completed, the presence or absence of an unsearched adjacent marker is checked (step S126). If there is, the process proceeds to step S114, and if not, the same processing is performed for all markers. After finishing the processing for all the markers, the process proceeds to the marker / address interpolation processing (step S128).
[0187]
The error detection circuit 370 is described in the Journal of the Institute of Television Engineers of Japan, Vol. 44, no. 11, p. 1549-P. A general method such as error detection based on a cyclic code as disclosed in 1555 “Code Theory” may be used.
[0188]
On the other hand, if there is no address error in step S122, it is determined whether scanning of all sample points has been completed (step S130). If not, the process proceeds to step S118, and scanning of all sample points has been completed. If so, the upper address is determined (step S132), and the center address of step 1 is calculated (step S134) and determined (step S136).
[0189]
That is, the direction is detected from the marker closest to the representative marker (in FIG. 32B, the approximate center address is at the distance D2). The detection method determines in which direction there is a surrounding marker depending on whether an address recorded in a dot code (step 1 code) larger than the data dot for direction detection can be recognized. In the step 1 code, the upper block address and its CRC code are recorded, and it is assumed that if the code is scanned, if there is no error, it is recognized.
[0190]
When the direction is detected, the inclination of the data block can be predicted. The step 1 code has directionality, and the block address is normally recognized only when scanning is performed from the representative marker to the surrounding markers. Therefore, when a recognition error does not occur, a block address code in two directions is always detected. Processing is performed until a two-way block address code is detected. Further, the data arrangement can be estimated from the positional relationship in two directions (see FIG. 32C).
[0191]
In the case of the dot code of FIG. 29A, an address code is detected only in one direction. At this time, the data area can be recognized from the detected line and the scanning direction (see FIG. 29B).
[0192]
In the actual operation, the direction is detected from the distance D2 which is the shortest distance from the representative marker, and if the address is not recognized, the search is performed clockwise. Therefore, the same operation is performed at the next closest distance D1. repeat. Assuming that the detection is performed clockwise, the detection continues with distances D4, D3, and D5. Processing is performed until two directions are detected.
[0193]
In the case of FIG. 29A, processing is performed until one direction is detected.
[0194]
If one direction can be detected, the other direction can be predicted in some cases. For example, if D4 and D5 are in the forward direction, and if D2 does not exist and the search is started from D4, if the address is confirmed at D4, it is predicted that the address can be recognized by either D3 or D5.
[0195]
The direction detection processing as described above will be described in more detail with reference to FIG.
[0196]
The approximate center of the representative marker detected by the approximate center detection unit 322 of the marker detection unit 216 is defined as a dot A5 on the upper left side of the figure, and eight dots separated by 1.5 dots (this can be appropriately changed by processing). Sample points A1 to A4 and A6 to A9 are generated by a step1 sample address generation circuit 368. Similarly, a sample address is generated around a marker whose direction is to be detected, for example, about the approximate center of the distance D2 (dot B5 on the upper right side in the figure).
[0197]
Here, the reason why the 1.5 dot interval is used will be described.
[0198]
In the processing for obtaining the approximate center of the marker, the difference is described so that the difference from the center is within one dot. However, it is assumed that no problem such as ink bleeding occurs. The detection range was set to ± 1.5 dots in consideration of ink bleeding and the like.
[0199]
The address control unit 220 draws a certain line between the addresses of both markers. First, a scanning line is drawn on the dots A1 and B1. Then, a sample clock is provided so that the upper address can be sampled, and data sampling of the image memory 214 is performed.
[0200]
As shown in FIG. 28A, since the CRC code 312A is added to the upper address code 306A, if the data sample is correctly read, the upper address code 306A is added to the upper address code 306A. The error detection result in the error detection circuit 370 is detected in a form that there is no problem, and if it cannot be read correctly, it is determined that there is an error.
[0201]
In the same manner, similarly, scanning lines are sequentially drawn in the order of dots A1 and B2, A1 and B3, A1 and B4, and each time it is checked whether an error has been detected. In total, there are nine positions on the representative marker side and nine positions on the detection marker side, so that 81 kinds of processing are performed.
[0202]
If an error occurs in all of the 81 processes, it is determined that there is no direction code in that direction, that is, the detection-side marker is a marker other than the array (a marker that has been erroneously detected).
[0203]
For example, in (A) of FIG. 33, when data is taken at each sample point on a scanning line (shown by a dotted line) drawn for dots A1 and B7, the sample points indicated by a broken circle in FIG. Since it is off, an erroneous detection is made. In particular, as described above, since an inverted code is provided on the upper and lower sides of the address data dot, an error always occurs.
[0204]
On the other hand, when the dots A5 and B5 are connected, since the data is properly collected, there is no detection error, and it is recognized that a code exists in this direction.
[0205]
In order to facilitate error detection, inverted codes are provided at the top and bottom. However, it is not always necessary to provide the inverted codes at the top and bottom. The format may be such that black data continues for the number of dots. In this case, the data on the end on the detection marker side always becomes black data, and the outside of the data becomes a white margin, so that a data error can be correctly detected. Also, when the inverted code is used, it is not necessary to provide the inverted code in the entire area of the inverted code portion, and it may be provided in a part of both sides (FIG. 28C).
[0206]
Here, the size of the dot will be described. As shown in FIG. 33B, assuming that the size of each dot of the upper address code 306A is n dots and the width of the step 1 code is m dots, the relationship between m and n is that at the inner end of the step 1 sample address. Then, a diagonal line is drawn by providing a width of 2 dots with respect to the center, and the width m determined by how much the upper address code 306A is provided has a long side, and the height of a rectangle having the diagonal line as its diagonal line is n. . That is, once m is determined, n is necessarily determined. Even if the entire area between the inner edges of the sample address of step 1 is this address code, there are only up to two dots, so n dots have a width of up to two dots. Although the width of one dot is not determined, a width that allows easy recognition of data is preferable.
[0207]
Note that the above-mentioned two dots can be obtained in such a range that, for example, a hit occurs in a scanning line connecting dots A5 and B5, but no hit occurs in a line connecting dots A6 and B4 and a line connecting A2 and B8. It is stipulated as follows. If it is larger than that, for example, in the case of hitting with dots A5 and B5, a hit may occur even when A2 and B8 are subtracted, and the detection as a center is spread. This value can also be changed according to the device.
[0208]
In the example of FIG. 33A, the hits are made for dots A5 and B5. However, in the case where a hit is also made to a line connecting dot A4 and, for example, B4, the next center detection step 2 is executed. At this stage, processing such as starting from the center of the dots A4 and A5 and performing the same search around the center is performed.
[0209]
Other methods are also conceivable. This will be described with reference to FIG. Here, when A4 and A5 are hit and B4 and B5 are hit on one side, the sample addresses (A41 to A45, A51 to A55, B41 to B45, B51 to B55) shown in FIG. . In this case, since the number of sample address points in step 2 increases from 9 to 10, the number of processes also increases from 81 to 100 (the number of scanning lines). However, the process of deriving the midpoint of A4 and A5 and the process of generating nine step2 sample addresses centering on the midpoint are eliminated because a predetermined sample point is used. Overall, processing is likely to be reduced.
[0210]
Further, assuming that there is an accurate center of step 2 between A4 and A5, assuming that address detection processing is performed on a scanning line connecting A42 to A44, A52 to A54 and B42 to B44, B52 to B54, It is possible to think that the number is reduced from 81 to 36 (6 × 6).
[0211]
In the above processing, a rough center in step 1 is obtained.
[0212]
As described above, by detecting the CRC, it is detected whether the data blocks are properly arranged in that direction. In FIG. 32B, the marker located at the distance D2 is a marker that is erroneously detected. Therefore, when the direction of the data is viewed in that direction, there is no code of the upper address. Thus, after all 81 detections have been made, all errors will occur in that direction, and it will be determined that there is no direction.
[0213]
When it is determined that there is no D2 in this way, the next closest distances are D1 and D4, but since the marker turns clockwise with respect to the marker of interest, processing is performed on the distance D1 next. As described above, since it is possible to determine only from left to right and from top to bottom in terms of data arrangement, in this case, processing is performed in the direction from the representative marker to the marker at distance D1. , That is, the CRC code is read first, and then the address code is read, so that this is naturally determined to be an error. Therefore, it is determined that there is no direction for the distance D1.
[0214]
Next, the distance D4 is determined. When D4 is read along the distance D4 from the representative marker, the address code and the CRC code are read in this order, so that it is determined that D4 has directionality. That is, no error occurs.
[0215]
Next, the objects to be determined are distances D3 and D5 that are equidistant. On the other hand, since the rotation is clockwise, the processing is first performed from the distance D3. As for D3, the CRC code is read first as described above, so that it is detected that there is no directivity. Then, finally, the distance D5 is read, and it is determined that there is a direction here.
[0216]
As a result, since the distances D4 and D5 are read, it is recognized that data corresponding to the block addresses described in the distances D4 and D5 are written in the hatched portions in FIG. can do. Eventually, if two directions are detected for one representative marker, the direction of that block can be detected. Therefore, processing is performed until two directions can be detected.
[0217]
In the case of the dot code of FIG. 29A, only one direction is detected. Processing is performed until one direction is detected (D5 in FIG. 29B).
[0218]
If an error occurs when processing is performed for all of the five directions, the direction detection processing is performed for a diagonal marker. In this case, in order to prevent an increase in the number of processing, The processing outside of a certain range is not performed, and necessary information such as address information that cannot be obtained is obtained by marker and block address interpolation processing.
[0219]
Further, as described above, the block address is not modulated. However, when the modulation is performed, a process of demodulating after recognizing the block address code is required.
[0220]
In the above description, whether or not there is directionality is determined using error detection of the upper address. However, for example, a directional pattern such as "11100001" is used instead of the upper address CRC code. Alternatively, when "11100001" is detected by pattern matching, a method of recognizing that there is a marker having a direction in that direction may be adopted.
[0221]
In the direction detection, it is not necessary to search for an adjacent marker clockwise for all markers, and the next block may perform an operation for recognizing an upper address code in that direction. That reduces the number of processes. Further, even when an abnormality occurs in the detection of the upper address, it may be recognized that there is a code in the direction obtained by detecting the peripheral direction.
[0222]
Next, the block address detection, error determination, and accurate center detection unit 300 will be described with reference to the block diagram of FIG. 35A and the flowchart of FIG.
[0223]
The upper block address calculation and center calculation circuit 372 of the data array direction detector 218 detects the upper block address when the upper address is detected. It is sent to the block address calculation and center calculation circuit 374. Further, since the approximate center at the time of detecting the upper address is known, the central address is led to the step 2 sample address generating circuit 376 (step S152).
[0224]
The step 2 sample address generation circuit 376 generates this approximate center sample address (step S154). That is, as shown in FIG. 35 (B), the sample addresses are placed at eight points outside the rough center (the center of the direction detection) obtained earlier, similarly to the above. Then, eight points are similarly provided for the markers for which the directionality has been found, and a scanning line is similarly drawn (step S156) to perform processing such as whether or not a lower address can be detected. In this case, the data interval for forming the sample address is defined every 0.5 dots in the present embodiment, but can be appropriately changed according to the specifications of the apparatus.
[0225]
Then, the address control unit 220 reads data from the image memory 214 based on the generated sample address, and derives data according to this sample point to the error detection circuit 378 (step S158). Similarly to the direction detection (as shown in FIG. 5A), when the sample point is between the data in the image memory, it is not a method representing one data in the memory but is derived by interpolation from surrounding data. Is also good. If an error has occurred in the error determination (step S160), it is determined whether or not scanning of all sample points has been completed (step S162). If not, the process proceeds to step S156, and scanning of all sample points has been completed. If so, the process proceeds to marker / block address interpolation processing after addresses have been detected for all blocks (step S164).
[0226]
On the other hand, if there is no address error in step S160, it is determined whether scanning of all sample points has been completed (step S166). If not, the process proceeds to step S156, and scanning of all sample points has been completed. If so, the lower address is determined (step S168), and the accurate center (step 2 center) is determined (step S170).
[0227]
That is, error detection is performed by the error detection circuit 378, and if an error occurs in the error determination, the process proceeds to the next process. The block address calculation and center calculation circuit 374 is supplied with a start and end address at the time of center detection from the address control unit 220, that is, a signal indicating which point is connected to which point. Determine whether or not it is possible. When there is no error detection, the block address calculation and center calculation circuit 374 combines the derived lower address with the upper address sent from the upper block address calculation and center calculation circuit 372 to generate a block address. To the next marker and address interpolation unit 302. Similarly, the center address is derived to the marker and block address interpolation unit 302.
[0228]
In FIG. 35B, the reason why the dot is set to 0.5 dot is that the sample point is detected within the range of 0.5 dot, and the center (direction detection direction) finally obtained in this processing is obtained. This is because the difference between the center and the true center falls within the 1/4 dot range. If the sampling point formed by the above processing is within the 1/4 dot range, the data in the data area can be properly reproduced.
[0229]
Further, since the smallest dot of the step 2 code is one dot, a data arrangement smaller than that is meaningless as data, so it is formed by one dot.
[0230]
As in the case of the step 1 code, inverted codes may be provided above and below the address data dots, or black data may be provided in the last few dots, and the surrounding area may be a margin. The data margin portion 364 for distinguishing the address code from the data code has a very small probability of being mistaken for a marker even if the region for distinguishing from the data area 314 is overlapped with, for example, black. , The data area 314 may be directly entered from the inversion layer.
[0231]
As shown in FIG. 35 (B), as a result, a CRC code is added in the form of a lower address, an upper address, which is almost half the data length of the entire data length, and further, the same size. The reason is that the data length is set to this data length so as to be able to detect even if a noise has been put on the entire address length or ink has come on, and a burst error in such a state can be detected. The ratio of the data length can also be changed as appropriate.
[0232]
By the above-described tree search processing, that is, a detection method of obtaining a rough center and obtaining a finer center, the accurate center for sampling data in the data area 314 and the block address have been recognized. become. That is, by performing a process called a tree search, the process is significantly reduced, and the amount of processing and the processing time are reduced as compared with the case where sampling is performed at a fine pitch from the beginning. Further, by using the block address for the direction detection and the accurate center detection, the redundancy of the entire data amount can be reduced.
[0233]
Next, the marker and address interpolation unit 302 will be described with reference to FIG. Now, it is assumed that the surrounding black marker portion has been detected in response to the error that the marker for the block B2 has not been detected or the address has not been detected.
[0234]
In this case, first, a line connecting the marker of the block B1 and the determined center of the block B3 is drawn, and a line connecting the marker of the block A2 and the determined center of the block C2 is drawn. I do. Then, address detection and processing can be performed further from the prediction center point toward the marker of block C2 and the marker of block B3. Further, even if address detection is not performed, since the arrangement is known, if the block B2 exists below the block B1, the address of the block B2 is set from the surrounding addresses, so that no detection is required. Can also be estimated. That is, it is possible to detect the address of the block and the center of the marker, which could not be predicted, which are currently focused on from the surrounding processing.
[0235]
The marker and block address interpolation unit 302 guides the address data that has been normally read, the center position, the interpolated address, and the information of the predicted center to the address control unit.
[0236]
If the scanning direction is the direction of the arrow as shown in the figure, the processing is performed with the upper left corner as the first representative marker. The center is sequentially detected in the vertical direction, and the center of eight (the markers in blocks A1 to A4 and the markers in blocks B1 to B4) is obtained by performing the first vertical detection. When the center of the next column is detected, the centers of the markers in blocks B1 to B4 are already known, so that the processing is not performed on the centers of the markers in blocks C1 to C4. , The center of step1, and the center of step2. Therefore, as described above, 81 scanning lines are not required, and once the center is obtained, the processing may be performed so as to sample the subsequent nine points. Therefore, nine processings are performed. That is, the center is obtained by 18 kinds of processing. Thus, there is an advantage that the processing is performed only at the beginning, but the processing after that is reduced.
[0237]
In the case of the dot code of FIG. 29A, first, a direction detection process is performed in the horizontal direction with A1, B1, and C1 using A1 at the upper left as a representative marker. In the processing, when the marker centers of A1 and B1 are obtained, the center detection processing of C1 may be performed in nine types of processing. In order to determine that the block below A1 is A2, since there is no address code, processing is performed as described below.
[0238]
That is, the size of the block may be determined from the lengths of the A1 marker and the B1 marker, and detection may be started from a marker located at an appropriate position based on the predicted block size, or the marker immediately below A1 may be represented first. The processing may be performed as a marker. Then, a block whose horizontal block address matches the detected block address may be set to A2. When the two-stage direction detection (A1 stage and A2 stage in the figure) is completed, the direction can be predicted in the vertical direction (the process of selecting the A3 marker), so that only the marker in that direction is detected. What is necessary is just to perform a process. Even if there is an erroneously detected marker, the processing can be performed excluding it.
[0239]
Next, the address control unit 220 of FIG. 20A will be described with reference to the block diagram of FIG.
[0240]
First, in the address control unit 220, the address generated by the write address generation unit 380 that generates an address when writing data from the A / D conversion unit 210 to the image memory 214 is stored in the image memory 214. The data of the / D conversion unit 210 is stored.
[0241]
As described above, an address is generated in each of the marker detecting section 216, the data array direction detecting section 218, the block address detection, the error determination, the accurate center detecting section 300, and the marker and address interpolating section 302. The address generators 382 to 388 are required for this purpose. In this case, in the marker generation address generation unit 382, the data generation direction detection address generation unit 384, the block address detection, the error determination, and the accurate center detection address generation unit 386, the corresponding marker detection unit 216 is used. (Internal marker determination section 318, marker area detection section 320, approximate center detection section 322), data array direction detection section 218, block address detection, error determination, accurate information exchange with center detection section 300 and address. Generate. Further, for a block in which four markers around the block are present, the interpolation processing address generation unit 388 calculates an address (hereinafter, referred to as a marker address) in which the exact center of each marker is associated with the image memory and the number of data. Further, a memory read address of the interpolation address coordinate data obtained by equally dividing the inside of the block and pixel data in the vicinity thereof is generated.
[0242]
The selection circuit 390 selects these address generation units 382 to 388 at the respective timings and supplies them to the lens aberration distortion correction circuit 392. The lens aberration distortion correction circuit 392 receives the lens aberration distortion information from the lens aberration distortion memory 224, converts (corrects) the selectively supplied address, and passes through the selection circuit 394. It is given to the image memory 214 as a read address.
[0243]
Next, another embodiment of the marker determination unit 318 in the marker detection unit 216 will be described with reference to FIGS.
[0244]
In the above-described embodiment, when the size of the dot code is determined, an image is formed by the imaging optical system 200 such that one dot corresponds to 1.5 pixels of the image sensor of the image capturing unit 204, and the marker determination unit 318 In the above, two-dimensionally continuous black pixels are found and determined as markers. On the other hand, in the present embodiment, when there are codes having different dot sizes, for example, a code having a dot size of 20 μm, a code having a dot size of 40 μm, and a code having a dot size of 80 μm, the image magnification in the imaging optical system 200 is not changed. This allows the reproduction of each code.
[0245]
That is, in various applications, the paper quality, sheet properties, ink, and printing level are different, and therefore, a dot size code corresponding to each application is used. For example, it is conceivable that 20 μm is used when the recording density can be extremely increased, and 80 μm is used depending on an application using a very rough low-cost sheet with poor sheet quality. In such a situation, the purpose is to judge the size and reproduce this code correctly.
[0246]
That is, as shown in FIG. 2B, there are a marker having a circular dot size of 20 μm, a marker having a dot size of 40 μm, and a marker having a dot size of 80 μm. The reproducing apparatus to which the present embodiment is applied is, for example, 20 μm. It is assumed that the apparatus is an apparatus for reproducing the code efficiently, that is, an apparatus having a magnification of an imaging system capable of decoding more information by one imaging. Then, in an apparatus in which the image of 20 μm is picked up at 1.5 times the image magnification, each of the 40 μm and 80 μm codes can be reproduced in the imaging system without changing the image magnification. That is the purpose. However, the size of the marker shown in (B) of the figure is seven times the diameter of each dot size.
[0247]
Therefore, as shown in FIG. 18A, first, the code of the maximum dot size to be selected is initialized (step S182). For example, if there are 80 μm, 40 μm, and 20 μm codes, and all of them are to be reproduced, the maximum size is set to 80 μm. This may be set by a key input by the user, or if it is determined that there are three types, that is, 80 μm, 40 μm, and 20 μm, and if it is possible to cope only with that size, the device itself will be the best. It may be set as a large size of 80 μm.
[0248]
Then, the temporary center is determined by performing the determination using the marker determination formula in FIG. 17B (step S184).
[0249]
That is, assuming that a code is created using markers for each dot size of 7 dots, at that time, as an image, the imaging optical system has an image magnification of 1.5 times. A code having a diameter of 10.5 dots and a code of 40 μm has a size of 21 dots, and a code of 80 μm has a size of 42 dots. Therefore, if 7 to 12 pixels and black pixels are two-dimensionally continuous, it is determined as a 20 μm code marker, 14 to 24 pixels is determined as a 40 μm code marker, and 29 to 47 pixels. Those below the pixel are determined as markers with a code of 80 μm.
[0250]
The value of this pixel is calculated by the following equation.
[0251]
r = s × d × m
int (r × 0.7) ≦ R ≦ int (r × 1.1 + 1)
However,
r: the number of pixels equivalent to the diameter of the marker (= 7)
s: dot size (20 μm, 40 μm, 80 μm)
m: imaging system image magnification (= 1.5)
d: number of dots of marker diameter
R: number of pixels of the diameter of the marker in the binary image
0.7: Reduction ratio due to inclination, dot rejection, etc.
1.1: Enlargement ratio due to dot gain etc.
It is.
[0252]
Since the marker of 80 μm is initially set in step S182, it is checked in step S184 whether the marker is a marker of 80 μm by the above-described marker determination formula, and the size of the marker (80 μm dot) is checked. The temporary center is determined for a marker determined to have a marker composed of
[0253]
Next, the number of the markers is checked, and it is checked that there are four or more markers (step S186). This means that a determination is made as to whether there is one or more blocks since one block is surrounded by four markers.
[0254]
Then, it is checked whether or not the marker has a predetermined positional relationship with the adjacent marker as shown in (C) of the figure, that is, whether or not the marker is aligned (step S188). That is, a marker B near the marker A of interest, a marker C near a position D away from the marker A in the direction perpendicular to the direction connecting the markers A and B, and the marker B A marker D located near a position separated by a distance D in the same direction as the direction from the markers A to C is detected. If they exist, for example, it is determined that the code is 80 μm in this case.
[0255]
If there are no four or more 80 μm markers in step S186, or if it is determined in step S188 that they are not aligned, this is not an 80 μm code. Thus, the code is set to one smaller code, in this case, 40 μm (step S190), and the process returns to step S184 to perform another marker determination.
[0256]
If the smallest size cannot be determined even if the smallest size is determined, the process is terminated because the code is not a code or the code cannot be reproduced. In this case, it is preferable to proceed to a process of issuing a warning such as issuing an alarm.
[0257]
Next, another embodiment of the marker determination unit 318 will be described. That is, a method of determining a marker pattern and modulated data by dilation, which is general image processing, will be described. Here, the dilation process is a process of converting a black pixel near a white pixel into a white pixel. Specifically, for example, pixels around three pixels around the pixel of interest (a 7 × 7 pixel area centered on the pixel of interest) are checked (black and white determination), and if at least one pixel is a white pixel, the pixel of interest is converted to a white pixel. The conversion process is performed for all pixels on the image.
[0258]
First, binarization processing is performed on the data in the image memory.
[0259]
Next, by the above-mentioned dilation processing, only the data portion of the code image is entirely converted into white pixels, and the pattern portion of the marker is converted into an image smaller than the original size by the number of pixels that have been dilated.
[0260]
Next, the address in the image memory of the transition point from a white pixel to a black pixel on the image and the number of continuous black pixels from the pixel are counted, and the information is classified for each marker based on the information, and The center address and the marker existence range are detected. Then, the approximate center detection processing is performed.
[0261]
This makes it possible to quickly determine the marker and detect the marker existence range at a high speed.
[0262]
In the case of a code in which the marker is uniformly deformed with respect to the center of the marker, such as the dot gain and dot reduction described above, the temporary center address obtained in the marker determination can be used as the approximate center. .
[0263]
The processing of step S184 in FIG. 38A may be the above processing.
[0264]
When the above-described A / D conversion unit is performed by binarization using a comparator, the binarization processing can be omitted in the marker determination processing.
[0265]
Next, a light source-integrated image sensor applicable to the detection unit 184 of the playback device shown in FIGS. 15 and 20D will be described. FIG. 39 is a diagram showing the structure. For example, a light emitting cell 398 is formed on a chip next to the light receiving cell 396 by using a compound semiconductor such as an LED or an electroluminescent element. Between the light receiving cell 396 and the light emitting cell 398, there is provided an isolation (light shielding) portion 400 in which a cutter is actually formed on the wafer to form a groove, and a non-transmissive material such as a metal is embedded therein. With this isolation section 400, it is possible to eliminate the problem that light emitted from the light emitting cell 398 directly enters the light receiving cell 396.
[0266]
In such a configuration, light emission of the light emitting cell 398 is controlled according to a light emitting cell control pulse signal as shown in the timing chart of FIG. The light receiving cell 396 sends the accumulated charge to the adjacent vertical charge transfer register 402 by applying a charge transfer gate pulse signal to a charge transfer gate (not shown). The vertical charge transfer register 402 sends the accumulated charge to the horizontal charge transfer register 404 line by line with a vertical charge transfer pulse. The horizontal charge transfer register 404 outputs the stored charges one pixel at a time via the buffer amplifier 406 according to the horizontal transfer clock signal.
[0267]
Next, with reference to FIG. 40, a description will be given of an embodiment in which, of the circuits of the reproducing apparatus described above, up to the stage preceding the demodulation circuit is implemented by an analog circuit and is configured by one chip. In this embodiment, an XY address type imaging unit 408 represented by CMD as disclosed in, for example, Japanese Patent Application Laid-Open No. 61-4376 is used as an imaging unit, thereby eliminating the need for a memory. , It is possible to make up one chip. An X-decoder 410 and a Y-decoder 412 are provided for address-scanning the XY-address type imaging unit 408.
[0268]
In an ordinary XY address type imaging unit, unlike a CCD, after reading one line, this line is reset to read the next line. That is, while a certain line is being read, another line is exposed during the exposure period. It is common to adopt a readout method such as entering into. However, such a reading method has a disadvantage that when extraneous light enters during the imaging time, an extra portion is exposed. Therefore, in this embodiment, the XY address method is used, and In combination with the element shutter, an operation is performed such that exposure is performed only when external light enters, that is, when exposure is to be performed, and the other portions are not exposed.
[0269]
The imaging element scanning address generation and element shutter control section 414 generates an element shutter pulse for providing an element shutter operation in an XY address manner, and generates a reset pulse for resetting all pixels.
[0270]
The X-decoder 410 and the Y-decoder 412 are circuits for turning on one of the elements in response to the generation of the image-capturing-element scanning address and the X address and the Y address from the element shutter control unit 414. Normally, the selector is constituted by a shift register or the like. In this embodiment, however, the selector is a type in which any one of the elements can be turned on by a signal from the image sensor scanning address generation and the element shutter control unit 414.
[0271]
The reset pulse in the present embodiment is equivalent to the image sensor reset pulse in the timing chart of FIG. 16, and resets the image sensor before the exposure and sets the reset pulse high during this reset period. This causes the switch 416 to switch, drawing all of the charge toward the negative power supply 418.
[0272]
The element shutter pulse is generated in such a manner that the gate can be applied from the end of the reset pulse to the end of the exposure as shown by a broken line in FIG.
[0273]
For reading, as in the case of a normal pulse, each element is sequentially turned on, and the signal charge is amplified by the current / voltage conversion amplifier 420 via the reset selection switch 416 and then supplied to the marker detection unit 422. . The marker detection unit 422 is the same as that described above, and the data detected by the marker is stored in the register 424. The θ detection unit 426 calculates the inclination based on the contents of the register 424 as in the direction detection unit described above. For example, in the circuit shown in FIG. 20D, the θ detection unit 426 corresponds to the data array direction detection unit 218, and the next data interval control unit 428 and the imaging element scan address generation and element shutter control unit 414 operate at the address. It corresponds to the control unit 220.
[0274]
Then, the coefficient for interpolation generated by the coefficient generator 430 under the control of the data interval controller 428 is multiplied by the charge read by the multiplier 432, and all are added by the adder 434. That is, the output of the addition circuit 434 is sampled and held by a sample and hold (S & H) circuit 436 and returned to the addition circuit 434 via the switch 438. This operation is performed to perform data interpolation as shown in FIG. 5A when sampling data after the direction and the scanning line are determined. In FIG. 5A, interpolation is performed by multiplying D6, D7, D10, and D11 by coefficients in order to obtain Q data. The interpolated value is sampled and held by the S & H circuit 440, and the sampled and held value is binarized by the comparator 442 and the threshold value determination circuit 444.
[0275]
Each imaging element (pixel) of the XY address type imaging unit 408 will be described in more detail. Each pixel is composed of two CMD elements, as shown in FIG. 41A, and the element shutter pulse enters the first CMD element 446, and the capacitor 448 is stored for the element shutter. Where the charge accumulates. After that, the second CMD element 450 drives a read pulse from the Y decoder 412 to select a line, and reads the electric charge for each pixel from the horizontal selection switch 452.
[0276]
At the time of exposure, the first CMD element 446 is operated as an element shutter by an element shutter pulse, and charges are stored in the element shutter capacitor 448. When the electric charge is accumulated in this way, light is shielded, a read pulse is applied from the Y decoder 412 to select a line, and the second CMD element 450 is turned on by the horizontal selection switch 452 to read out one pixel at a time.
[0277]
When resetting the charge, the horizontal selection switches 454 are all turned on by a reset pulse output from the image sensor scanning address generation and element shutter control unit 414, and the reset selection switch 416 is set to the negative power supply 418 side. Since the source of the CMD element 450 has a negative voltage, the charges accumulated in the element shutter capacitor 448 and the gate of the CMD element 446 move to the negative power source and are reset.
[0278]
In addition to the above operation, the reset can be performed by simultaneously applying a slightly higher voltage to the element shutter pulse and the read pulse.
[0279]
In the case of a normal imaging device, dark current is a problem, but in the case of the present embodiment, the device shutter pulse shown in FIG. Since the reading is performed immediately, the time during which the dark current accumulates is actually very short. Therefore, the S / N ratio is more advantageous than the operation of other imaging devices. In the exposure, a sufficient amount of light is given even in this short exposure period, so that the signal level remains unchanged and the S / N level with respect to the dark current decreases, so by applying this embodiment, As for the gain of the output degree of the current-voltage conversion amplifier 420 at the subsequent stage, a considerably large gain can be set.
[0280]
In the present embodiment, the pixel configuration for performing the above-described element shutter operation is described. However, a CMD element capable of performing the element shutter operation as disclosed in JP-A-61-4376 may be used. is there.
[0281]
Next, an embodiment in which a circuit using the XY address type imaging unit 408 as described above is constructed as a three-dimensional IC will be described with reference to FIG. Note that the present embodiment is directed to a case of an audio information reproducing apparatus.
[0282]
This is because the CMD 408, the X-decoder 410, and the Y-decoder 412 have an imaging unit layer 454 on the sheet surface of the sheet 182 and a detection unit layer 456 that detects data formed by being stacked on the imaging unit layer 454. , And an output processing layer 458 formed by being stacked on the detection section layer 456. The output processing layer 458 includes a demodulation section 190, an error correction section 194, a decompression processing section 256, a data interpolation circuit 258, a D / A conversion section, an output buffer 266, and the like, and outputs decoded audio information to an audio output device 268 such as an earphone. To play as sound.
[0283]
Of course, as described above, the output processing layer 458 can be configured to reproduce multimedia information including image information.
[0284]
By using a three-dimensional IC in this manner, processing up to sound output can be performed with one chip, so that the circuit scale is extremely reduced and the cost is reduced.
[0285]
Next, various configuration examples of the pen-type multimedia information reproducing apparatus will be described.
[0286]
For example, a pen-type information reproducing apparatus can be provided with a switch for instructing a timing for taking in a dot code.
[0287]
FIG. 41 (B) shows an example of this. The pen-type information reproducing apparatus is a light source 198 and an image forming optical system 200 in the reproducing apparatus shown in FIG. 15 or FIG. 20 (D). , A spatial filter 202, an imaging unit 204, a preamplifier 206, and a detection unit 184 including an imaging unit control unit 212 are provided at the tip thereof, and a scanning conversion unit 186, a binarization processing unit 188, a demodulation unit 190, a data error correction unit 194, a decompression processing unit 256, a data interpolation circuit 258, and the like are incorporated as an image processing unit 460, a data processing unit 462, and a data output unit 464. And it has an earphone as the audio output device 268. Although only an audio information output device is shown in this figure, it is needless to say that an output device can be connected when a processing unit for an image, a character, a line drawing, or the like is built in. The same applies to the description of the pen-type information reproducing device).
[0288]
A touch sensor 466 is provided on a side surface of the pen-type information reproducing device. As the touch sensor 466, for example, a piezoelectric switch, a micro switch, a piezoelectric rubber, or the like can be used, and a switch having a small thickness of 0.6 mm or less is known. The control unit serving as the imaging unit control unit 212 starts capturing the dot code as described above in response to the touch of the touch sensor 466 by a finger. Then, when the finger is released from the touch sensor 466, the capturing ends. That is, the start and end of the dot code capture are controlled using the touch sensor 466.
[0289]
Reference numeral 468 in the figure is a battery as an operating power supply for each unit in the pen-type information reproducing apparatus.
[0290]
The touch sensor 466 can perform the same function not only in the form of being pressed by a finger but also in a configuration in which it is attached to the tip of a pen-type information reproducing device as shown in FIG.
[0291]
That is, when the user places the pen-type information reproducing apparatus on the sheet 182 in order to manually scan the dot code printed on the sheet 182, the touch sensor 466 is turned on, and the control unit 212 recognizes it. To start reading the dot code.
[0292]
In this case, the tip of the pen-type information reproducing apparatus moves while contacting the sheet surface during scanning. In this example, the tip of the touch sensor 466, that is, the surface contacting the sheet surface is coated with a smooth resin or the like. In addition, it is preferable that a smooth movement be performed during manual scanning (moving).
[0293]
Further, a mechanism for removing specular reflection may be further provided in the detection unit of the pen-type information reproducing device.
[0294]
FIG. 44A shows the configuration, in which a first polarizing filter (polarizing filter 1) 470 is arranged on the front surface of a light source (a light source such as an LED) 198, that is, on the side to be irradiated. A second polarizing filter (polarizing filter 2) 472 is arranged on the front surface of the system (lens) 200.
[0295]
For example, the first polarizing filter 470 is formed by cutting out a polarizing filter film 474 into a donut shape as shown in (B) of the same figure, and the second polarizing filter 472 is formed of another polarizing filter film. 476 can be used, or, for example, an inner portion of the polarizing filter film 474 cut out of the first polarizing filter 470 can be used as shown in FIG.
[0296]
The first and second polarization filters 470 and 472 thus formed have a pattern surface (polarization surface) of the second polarization filter 472 with respect to a pattern surface (polarization direction) of the first polarization filter 470. They are arranged orthogonally.
[0297]
As a result, the plane of polarization of the random light emitted from the illumination light source 198 is limited by the first polarizing filter 470, and, for example, a P-wave is irradiated. Then, the specular reflection component is returned as a P-wave from the sheet surface while the polarization plane is preserved as it is. However, since the polarization plane of the second polarization filter 472 is orthogonal to the first polarization filter 470, The reflection component is blocked by the second polarization filter 472. On the other hand, when light emitted from the first polarization filter 470 returns to actual dots, that is, light that has returned on the sheet surface as luminance information on the paper surface, the plane of polarization is random. Therefore, the signal once entering the paper and returning as black and white information or color information has both the P component and the S component. Among them, the P component is similarly cut by the second polarizing filter 472, but the S component orthogonal thereto is passed through the second polarizing filter 472 and actually passed through the lens 200. To form an image on the imaging unit 204. That is, the reflected light from which the specular reflection component has been removed is guided to the imaging unit 204.
[0298]
In this case, a 4λ plate 1230 is arranged on the front surface of the spatial filter 202, and converts the image light, which is once input as linearly polarized light, into circularly polarized light and inputs the circularly polarized light to the spatial filter 202. This is because the effect of the linearly polarized light cannot be obtained because the spatial filter normally uses birefringence of quartz. In this example, the λλ plate 1230 is arranged on the front surface of the spatial filter 202, but is not limited to this, and may be an arbitrary one between the second polarizing filter 472 and the spatial filter 202. What is necessary is just to arrange in the place which is easy to install.
[0299]
As a configuration for removing the specular reflection component as described above, a configuration as shown in FIG. 45 can be further considered. This is because, instead of disposing the first polarizing filter 470 in the vicinity of the light source 198, for example, the light from the light source 198 is extremely sheeted using a transparent resin optical waveguide material 480 provided with a surface mirror coat 478. The light guide 480 illuminates the sheet (dot code) by guiding the sheet (dot code) to a position close to the surface, and is arranged at the light emitting portion of the optical waveguide member 480. In this case, the first polarization filter 470 is arranged so that light orthogonal to the second polarization filter 472 is transmitted.
[0300]
Incidentally, the use of the transparent resin optical waveguide material 480 has the advantage that the outer shape of the light source 198 can be made as thin as possible, and the advantage that the specular reflection component can be reduced because the incident angle becomes shallow.
[0301]
However, since the specular reflection component still remains due to the swelling of the ink, the swelling of the sheet paper, and the like, a polarizing filter is provided in order to eliminate this more efficiently.
[0302]
Further, instead of the second polarizing filter 472, an electro-optical element shutter 1220 such as a liquid crystal shutter or a PLZT shutter may be provided. The electro-optical element shutter 1220 includes, as shown in FIG. 44D, a polarizer 1221 as a polarizing filter, an electro-optical element 1222 such as liquid crystal or PLZT, and an analyzer 1223 as a polarizing filter. In this case, by arranging the shutter 1220 so that the light distribution direction of the polarizer (polarizing filter) 1221 of the shutter 1220 is the same as that of the second polarizing filter 472, a regular reflection removing effect can be obtained. .
[0303]
Further, the shutter function enables frame reading with an image sensor such as an IT-CCD that supports field reading, or has the advantage that all pixels can be simultaneously exposed even with an XY address type image sensor such as CMD. .
[0304]
Next, an example in which the light source 198 is made more efficient and the device is made slimmer will be described.
[0305]
FIG. 46 (A) is a view showing the structure, and is provided with an acrylic transparent resin optical waveguide material 480 having a mirror coat 478 on the surface, similarly to the example of FIG. 45 (A). As shown in FIG. 46B, the acrylic transparent resin optical waveguide material 480 is formed in a truncated cone shape, and a screw portion 482 is provided on an upper portion (a wider end portion) thereof. It is adapted to be screwed and attached to the housing 484 of the pen-type information reproducing device. Further, a surface mirror coat 478 is not applied to an inner portion near the screw portion 482, and a light source 198 is provided at the portion 486. That is, the light source 198 is provided as an LED array in which LEDs are mounted on a thinly cut flexible substrate 488 and formed into a ring shape, and this is adhered and attached to the portion 486 without the surface mirror coat. . Then, as shown in (C) of the same figure, the lower portion (tip portion) of the acrylic transparent resin optical waveguide material 480 is cut to form a portion 490 where the surface mirror coat 478 is not applied. Therefore, the light from the light source 198 enters the transparent resin optical waveguide material 480 from the non-mirror coat portion 486, is reflected by the surface mirror coat 478, passes through the optical waveguide material 480, and passes through the surface mirror coat at the tip. The light exits from the non-portion portion 490 and is irradiated on the dot code on the sheet.
[0306]
In addition, as shown in (D) of the figure, the front end of the acrylic transparent resin optical waveguide material 480 is straightened, and the surface mirror coat 478 is applied only to the outer portion, thereby facilitating the manufacture. It may be a simple shape. In this case, it is more preferable that the tip is rounded to make it slippery.
[0307]
Next, an example of a pen-type information reproducing apparatus using a light source-integrated image sensor will be described (see FIG. 47).
[0308]
That is, in the present embodiment, the light source integrated type image sensor 492 described above with reference to FIG. 39 is used, and a rod lens (for example, a cell hoc lens, a convex lens, 494) and a thin glass plate 496 are arranged and formed. Here, the thin glass plate 496 has a role of a protective glass for the actual contact surface and a role of giving a certain distance to make the illumination as flat as possible.
[0309]
As described above, by using the light source-integrated image sensor 492, it is possible to reduce the size of the pen-type information reproducing apparatus, and also to shorten the pen-type information reproducing apparatus in the length direction.
[0310]
Next, a pen-type information reproducing apparatus for handling color multiplexed dot codes will be described.
[0311]
FIG. 48A is a diagram showing the configuration, in which the touch sensor 466 as shown in FIG. 41B and the first and second polarizing filters as shown in FIG. 470,472. Further, the pen-type information reproducing apparatus of the present embodiment reads a color multiplexed dot code which is color multiplexed by combining a plurality of dot codes of different colors as shown in FIG. In addition, a color liquid crystal 498 controlled by the control unit 212 is arranged on the pupil plane of the lens 200.
[0312]
Here, in order to explain a method of controlling the color liquid crystal 498 in the control unit 212, an example of using a color multiplex dot code will be described first.
[0313]
For example, as shown in (C) of the figure, a color multiplex dot code 502 is arranged on an A4 sheet 500, and the character "Good Morning" is written in correspondence with the color multiplex dot code 502. First, consider a case where an index 504 and an index code 506 are arranged. Then, when the color multiplex dot code 502 is reproduced by this pen-type information reproducing device, the pronunciation of "Good morning" in Japanese, the pronunciation of "Good morning" in English, or the pronunciation of "Good morning" in German, or In order to select whether or not to pronounce "Guten morgen", as shown in (D) of the figure, an index code 506 arranged corresponding to an index 504 indicating the option is scanned and recognized, and for example, Japanese is selected. After that, when the color multiple dot code 502 is scanned, the following description will be given for the purpose of producing an utterance such as “Good morning”.
[0314]
First, as shown in (B) of the figure, a dot code for generating a sound in Japanese is generated, and is assigned as code 1 to red (R). Similarly, a dot code to be pronounced in English is created as code 2 and assigned to green (G), and a dot code to be pronounced in German is created as code 3 and assigned to blue (B). The color multiplex dot code 502 is recorded on the sheet 500 as the color of the overlapping portion of each information is a color formed by the color addition method of each color. In this case, portions where colors do not overlap are recorded as black dots. That is, as described above, the dot code is composed of the marker and the data dot, but the marker is black, and the data dot is recorded in another color by the additive method. Recording with the color multiplex dot code 502 in this manner means that the recording density is increased.
[0315]
It should be noted that not only the three colors of RGB but also a plurality of different pieces of information may be assigned to colors of different narrow-band wavelengths. More information, such as types, can be multiplexed. In this case, the color ink may be a mixture of a dye (an ink that reflects light having only a narrow band wavelength) in addition to the conventional inks such as cyan, yellow, and magenta.
[0316]
The index code 506 is arranged in the underlined portion of the index 504 shown by characters or pictures so that the user can recognize and select the index code 506. The print can be read regardless of which color is selected. Is printed in black.
[0317]
The color liquid crystal 498 is formed by attaching an RGB light transmission mosaic filter in accordance with liquid crystal pixels, and separates information of each color of the color multiplex dot code 502. That is, the control unit 212 controls so that only the pixels corresponding to the color of the information selected by the scan of the index code 506 are in the transmission state. Further, the liquid crystal may not be in a mosaic shape, and may be configured to divide an optical path into planes. At this time, it is preferable to make the divided area ratio of each color inversely proportional to the sensitivity of the pixel because the sensitivity for each color becomes uniform. That is, when the sensitivity of B is low, the area is made larger than other colors. The color liquid crystal may be provided on the light source side.
[0318]
Next, an operation for reading the index code 506, selecting a color, and generating a color in a desired language will be described with reference to the flowchart in FIG.
[0319]
First, the control unit 212 controls the liquid crystal transmission portion of the color liquid crystal 498 in accordance with the color selection when the touch sensor 466 is pressed (step S204) if green is temporarily selected by the initial setting (step S202) (step S206). ). For example, since green is selected in the initial state, only dots with a green filter are made transparent. Next, the light source 198 is controlled by the control unit 212, and the dot code is read by the image processing unit 460 (step S208). Then, the code is decoded by the data processing unit 462 (step S210), and it is recognized whether or not all the codes have been completed, that is, whether all the codes have been read (step S212). Emit (step S214). Next, the control unit 212 determines whether the read result is the index code 506 or the sound information (color multiplex dot code 502) based on the decoded result (step S216). Then, the color indicated by the index code 506 is selected (step S218), and the process returns to step S204. If it is sound information, the sound is reproduced from the sound output device 268 by the data output unit 464 (step S220).
[0320]
Then, after the sound is reproduced in step S220, it is further determined whether or not the sound is repeatedly generated a predetermined number of times (step S222). If the number of times is preset by the repeat switch 467, the The predetermined number of times is repeated.
[0321]
Of course, the number of repetitions may be one, and may be appropriately set by various switches. Alternatively, the number of repetitions may be recorded in the index code 506 or the dot code 502 in advance.
[0322]
In this case, the repeat reproduction can be performed by repeatedly reading the data from the data memory unit 234 in FIG. 15 or (D) of FIG.
[0323]
The imaging unit 204 includes a monochrome image sensor and a color image sensor in which a color mosaic filter is generally mounted on the image sensor unit. Although the above example uses a black-and-white image pickup unit, it is possible to use a color image pickup device and separate the colors in the image processing unit 460 to reproduce the image in different colors. In such a case, the color liquid crystal 498 can be dispensed with.
[0324]
FIG. 49B is a diagram illustrating a configuration of an image memory unit of the image processing unit 460 when a color image sensor is used. That is, a signal input from the color image sensor is separated into respective colors by a color separation circuit 508 and stored in the memories 510A, 510B, and 510C, and is selected by the multiplexer (MPX) 512 to perform the subsequent processing. To do.
[0325]
Further, of the first and second polarizing filters 470 and 472 for the purpose of preventing regular reflection, the same polarizing filter is used in the polarizer portion of the color liquid crystal 498 for the second polarizing filter 472. Therefore, it is possible to use it also. Therefore, by combining with the polarization filter for the color liquid crystal 498, the second polarization filter 472 can be omitted. However, at this time, the angle of the color liquid crystal on the horizontal plane must be the same as the direction corresponding to the second polarizing filter 472, that is, must be rotated so as to cut components in the same direction.
[0326]
Also, as shown in FIG. 50A, the color liquid crystal 498 is removed, and instead of using a white light source as the light source 198, an RGB light source such as an LED as shown in FIG. The color multiplex dot code 502 can be read. That is, in the case of separating RGB and the above three colors, among the RGB light sources 198, when reading the code 1 corresponding to red, only the LED corresponding to red is turned on. In the case of code 3, only the blue LED may be turned on to reproduce.
[0327]
Instead of using the RGB LEDs, a color filter may be added to each part as a white light source to provide a light source of each color.
[0328]
In this way, by using light sources of different colors R, G, and B as the light source 198 and controlling lighting of the light source of the color selected by the index code 506, the same effect as the configuration of FIG. it can. Furthermore, by having a plurality of light sources that emit light of a plurality of narrow-band wavelengths, it is not necessary to have a color liquid crystal and a control circuit therefor, and the size can be reduced at low cost. In particular, some LEDs have a narrow band, for example, a wavelength of about ± 27 nm of a certain wavelength. If such an LED is used, a narrower band can be reproduced.
[0329]
Next, a stealth type dot code pen type information reproducing apparatus will be described.
[0330]
FIG. 51A shows a dot data sticker 516 with a title on which an infrared-emitting paint dot code 514 as a stealth-type dot code is printed. The dot data sticker 516 prints, for example, a title in a printing machine or a printer using normal color or black and white printing, and prints a dot code below this using an invisible paint. It was done. Of course, in the dot data seal 516, since the dot code 514 is invisible, that is, transparent printing, the dot code 514 is formed on the title of the visible information by using transparent ink as shown in FIG. Printing may be performed in an overlapping manner. For example, in the case of an inkjet printer or the like, this printing is realized by applying an infrared light-emitting paint ink as a fifth ink to four inks of cyan, magenta, yellow, and black, and printing the ink. it can.
[0331]
FIG. 51A shows an example in which a title is printed in the margin of a stealth-type dot code. Needless to say, a visible-light dot code is printed on the title-attached dot data sticker, and the title is printed in the margin. The title may be printed.
[0332]
As a pen-type information reproducing apparatus that reproduces the infrared-light-emitting paint dot code 514 as such a stealth-type dot code, for example, as shown in FIG. Since it is printed, an infrared light emitting element 518 is used as the light source 198, and an infrared bandpass optical filter 520 is arranged in front of the imaging unit 204.
[0333]
That is, when the infrared light emitting element 518 irradiates the infrared light paint dot code 514 with light in the infrared region, the light is reflected in the infrared region, that is, at a wavelength in a certain narrow wave band. In order for the intensity of the reflection to be detected by the imaging unit 204, the reflected light is guided through the infrared band-pass optical filter 520 and separated from visible light information.
[0334]
In addition, since several kinds of emission bands of the paint used for printing the infrared emission paint dot code 514 can be prepared, for example, by taking an image while changing the characteristics of the bandpass optical filter 520 little by little, this transparent printing can also be performed. Multiplexing is possible.
[0335]
【The invention's effect】
As described above in detail, according to the present invention, a dot code that can record multimedia information including audio information, video information, digital code data, and the like inexpensively, in large capacity, and can be repeatedly reproducedAnd information reproduction systemCan be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram of a recording device for recording dot-coded audio information according to a first embodiment of the present invention.
FIG. 2A is a diagram illustrating a recording format of a dot code, and FIG. 2B is a diagram illustrating a use situation of a reproducing apparatus according to the first embodiment.
FIG. 3 is a block diagram of a reproducing apparatus according to the first embodiment.
FIGS. 4A and 4B are explanatory diagrams of manual scanning, and FIGS. 4C and 4D are explanatory diagrams of scan conversion, respectively.
5A is a diagram for explaining data interpolation accompanying scan conversion, and FIGS. 5B and 5C are diagrams each showing an example of a recording medium. FIG.
FIG. 6 is an explanatory diagram of data string adjustment.
FIG. 7 is a diagram illustrating a configuration of a playback device according to a second embodiment.
FIG. 8 is a diagram illustrating a configuration of a playback device according to a third embodiment.
FIGS. 9A and 9B are external perspective views of a portable voice recorder, respectively.
FIG. 10 is a circuit configuration diagram of the portable voice recorder.
FIGS. 11A and 11B are diagrams showing examples of printing on a recording medium, and FIGS. 11C and 11D are external perspective views of another example of a portable voice recorder.
12 is a flowchart of a dot code printing process in the voice recorder of FIG.
FIG. 13 is a block diagram of a multimedia information recording device.
FIG. 14 is a conceptual diagram of a dot code.
FIG. 15 is a block diagram of a multimedia information reproducing apparatus.
16 is a light source emission timing chart in the multimedia information reproducing apparatus of FIG.
FIG. 17 is a diagram illustrating another configuration example of the multimedia information reproducing apparatus.
18A is a diagram illustrating a dot code applied to the reproducing device of FIG. 3 for explaining a data string adjusting unit in the multimedia information reproducing device of FIG. 15, and FIG. 18B is a diagram of FIG. FIG. 3C is a diagram illustrating a dot code linear marker, FIG. 3C is a diagram illustrating a scanning method, and FIG. 3D is a diagram illustrating a scan pitch of an image sensor.
FIG. 19 is a diagram illustrating an actual configuration of a data string adjusting unit.
FIGS. 20A to 20C are diagrams illustrating markers having arrangement direction detection dots, and FIG. 20D is a diagram illustrating still another configuration example of the multimedia information reproducing apparatus.
21A is a diagram illustrating a block address, FIG. 21B is a diagram illustrating a block configuration, FIG. 21C is a diagram illustrating a marker pattern example, and FIG. 21D is a diagram illustrating a magnification of an imaging system. FIG.
FIG. 22 is a block diagram of a marker detecting unit in the multimedia information reproducing apparatus.
FIG. 23 is a processing flowchart of a marker determination unit in FIG. 22;
FIG. 24 is a processing flowchart of a marker area detection unit in FIG. 22;
FIG. 25A is a diagram showing a marker area, FIG. 25B is a diagram showing a storage format of a table for storing a detected marker area, and FIGS. 25C and 25D are diagrams of FIG. FIG. 9 is a diagram showing the accumulated value of each pixel in FIG.
26A is a processing flowchart of the approximate center detecting unit in FIG. 22, and FIG. 26B is a flowchart of a gravity center calculation subroutine in FIG.
FIG. 27 is a block diagram of the approximate center detection unit.
28A is a diagram showing an actual configuration of a dot code data block, FIG. 28B is a diagram showing another configuration, and FIG. 28C is a diagram for explaining another arrangement of data inversion dots. FIG.
29A is a diagram showing another example of the actual configuration of a dot code data block, and FIG. 29B is a diagram for explaining selection of an adjacent marker.
FIG. 30 is a block diagram of a data array direction detecting unit in the multimedia information reproducing apparatus.
FIG. 31 is an operation flowchart of a data array direction detection unit.
32 (A) is a flowchart of an adjacent marker selection subroutine in FIG. 31, and (B) and (C) are diagrams for explaining adjacent marker selection, respectively.
FIG. 33A is an explanatory diagram of direction detection, and FIG. 33B is a diagram for explaining the relationship between m and n in FIG.
FIG. 34 is an explanatory diagram of another method of direction detection.
FIGS. 35A and 35B are a block configuration diagram and an explanatory diagram of a block address detection, error determination, and accurate center detection unit in the multimedia information reproducing apparatus, respectively.
FIG. 36 is an operation flowchart of a block address detection, error determination, and accurate center detection unit.
FIG. 37A is a diagram for explaining the operation of a marker and address interpolating unit in the multimedia information reproducing apparatus, and FIG. 37B is a block diagram of an address control unit in the multimedia information reproducing apparatus. It is a block diagram.
38A is a diagram for explaining another processing method of the marker judgment unit, FIG. 38B is a diagram for explaining a marker judgment formula, and FIG. 38C is a diagram for explaining marker alignment detection; It is.
FIG. 39 is a diagram showing a configuration of a light source integrated type image sensor.
FIG. 40 is a block diagram of a one-chip IC using an XY address type imaging unit.
41A is a circuit configuration diagram of a pixel of an XY address type imaging unit, and FIG. 41B is a diagram illustrating a configuration of a pen-type information reproducing apparatus having a dot code capture control switch.
FIG. 42 is a block diagram of a three-dimensional IC using an XY address type imaging unit.
FIG. 43 is a diagram illustrating another configuration of a pen-type information reproducing device having a switch for controlling dot code capture.
44A is a diagram illustrating a configuration of a pen-type information reproducing apparatus capable of removing regular reflection, FIG. 44B is a diagram illustrating a configuration of first and second polarizing filters, and FIG. FIG. 9 is a diagram illustrating another configuration example of the second polarization filter, and FIG. 9D is a diagram illustrating the configuration of the electro-optical element shutter.
FIG. 45 is a diagram showing another configuration of a pen-type information reproducing apparatus capable of removing regular reflection.
46A is a diagram showing a configuration of a pen-type information reproducing device using a transparent resin optical waveguide material as a light source, and FIG. 46B is an enlarged view of a connection portion between the optical waveguide material and a reproducing device housing; , (C) and (D) are diagrams showing the configuration of the tip portion of the optical waveguide material, respectively.
FIG. 47 is a diagram showing a configuration of a pen-type information reproducing apparatus using an image sensor integrated with a light source.
48A is a diagram showing a configuration of a pen-type information reproducing apparatus compatible with color multiplexing, FIG. 48B is a diagram for explaining a color multiplexing code, and FIG. (D) is a diagram showing an index code.
FIG. 49A is an operation flowchart of a color multiplexing compatible pen-type information reproducing apparatus, and FIG. 49B is a diagram showing a configuration of an image memory unit when a color imaging element is used.
50A is a diagram illustrating another configuration of a pen-type information reproducing apparatus that supports color multiplexing, and FIG. 50B is a diagram illustrating the configuration of a light source.
FIG. 51 (A) is a diagram showing a dot data sticker on which a stealth type dot code is written, FIG. 51 (B) is a diagram showing a configuration of a pen type information reproducing apparatus corresponding to a stealth type dot code, and FIG. 51 (C). FIG. 4 is a diagram showing a dot data seal in which a stealth type dot code is written in another mode.
[Explanation of symbols]
36,170 dot code
36A, 36B Mark for manual scanning
38,172,304 blocks
38A, 174, 274, 310 marker
38B error correction code
38C audio data
38D x address data
38E address data
38F error judgment code
176, 272A, 306 block address
178 Address error detection and error correction data
180,314 data area
272B Error correction data of block address
276A line address
276B Error detection data
278,316 dots
294A, 296A, 298A Dot for array direction detection
306A Upper address code
306B Lower address code
308 Dummy marker
310A circular black marker
310B White part of marker
312 Error detection code
312A Upper address CRC code
312B Lower address CRC code
364 data margin

Claims (4)

光学的に読み取り可能なドットコードであって、
前記ドットコードは、
データの内容に応じて二次元に配列された複数のドットでなるデータドットパターンと、
前記データドットパターンには有り得ないパターンからなり、当該ドットコードを認識するための複数のマーカと、
を少なくとも具備し、
前記複数の各マーカは、黒部分と白部分とから構成されると共に、それぞれ互いに離間して二次元に配置され、当該マーカの白部分によって決まる黒部分の重心を、前記データドットパターンからデータをサンプルするサンプル点を求めるための点としたことを特徴とするドットコード。
An optically readable dot code,
The dot code is
A data dot pattern consisting of a plurality of dots arranged two-dimensionally according to the content of the data,
A plurality of markers for recognizing the dot code, comprising a pattern that cannot be included in the data dot pattern;
At least
Each of the plurality of markers is composed of a black portion and a white portion, and is arranged two-dimensionally at a distance from each other. A dot code which is a point for obtaining a sample point to be sampled.
前記ドットコードは、前記データドットパターンと前記マーカとを少なくとも具備したブロックを複数個二次元に配置して構成され、
前記ブロック単位毎に前記データドットパターンからデータをサンプルするように構成されたことを特徴とする請求項1に記載のドットコード。
The dot code is configured by two-dimensionally arranging a plurality of blocks including at least the data dot pattern and the marker,
The dot code according to claim 1, wherein data is sampled from the data dot pattern for each block unit.
光学的に読み取り可能なドットコードであって、再生されるべき情報に係るデータの内容に応じて二次元に配列された複数のドットでなるデータドットパターンと、前記データドットパターンには有り得ないパターンからなり、当該ドットコードを認識するための複数のマーカとを少なくとも具備し、前記複数の各マーカは、黒部分と白部分とから構成されると共に、それぞれ互いに離間して二次元に配置され、当該マーカの白部分によって決まる黒部分の重心を、前記データドットパターンからデータをサンプルするサンプル点を求めるための点としたドットコードが記録された記録媒体から、前記ドットコードを光学的に読み取る読取手段と、
前記読取手段で読み取ったドットコードから前記マーカを検出し、当該ドットコードに含まれる前記データドットパターンからデータをサンプルして元の情報を復元する復元手段と、
前記復元手段により復元された情報を出力する出力手段と、
を具備することを特徴とする情報再生システム。
An optically readable dot code, a data dot pattern consisting of a plurality of dots two-dimensionally arranged in accordance with the content of data relating to information to be reproduced, and a pattern which cannot be included in the data dot pattern Comprising at least a plurality of markers for recognizing the dot code, wherein each of the plurality of markers is constituted of a black portion and a white portion, and is arranged two-dimensionally apart from each other, Optically reading the dot code from a recording medium on which a dot code is recorded in which a center of gravity of a black portion determined by a white portion of the marker is a point for obtaining a sample point for sampling data from the data dot pattern. Means,
Restoring means for detecting the marker from the dot code read by the reading means, sampling data from the data dot pattern included in the dot code, and restoring original information,
Output means for outputting information restored by the restoration means,
An information reproducing system, comprising:
前記ドットコードは、前記データドットパターンと前記マーカとを少なくとも具備したブロックを複数個二次元に配置して構成され、
前記復元手段は、前記ブロック単位毎に前記データドットパターンからデータをサンプルするように構成されたことを特徴とする請求項3に記載の情報再生システム。
The dot code is configured by two-dimensionally arranging a plurality of blocks including at least the data dot pattern and the marker,
4. The information reproducing system according to claim 3, wherein the restoration unit is configured to sample data from the data dot pattern for each block unit.
JP25582597A 1992-09-28 1997-09-19 Dot code and information reproduction system Expired - Fee Related JP3568374B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25582597A JP3568374B2 (en) 1992-09-28 1997-09-19 Dot code and information reproduction system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP25826292 1992-09-28
JP4-258262 1992-09-28
JP25582597A JP3568374B2 (en) 1992-09-28 1997-09-19 Dot code and information reproduction system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP5260464A Division JP2833975B2 (en) 1992-09-28 1993-09-27 Dot code

Publications (2)

Publication Number Publication Date
JPH10187908A JPH10187908A (en) 1998-07-21
JP3568374B2 true JP3568374B2 (en) 2004-09-22

Family

ID=26542428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25582597A Expired - Fee Related JP3568374B2 (en) 1992-09-28 1997-09-19 Dot code and information reproduction system

Country Status (1)

Country Link
JP (1) JP3568374B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1612710B1 (en) 2003-04-07 2015-11-11 Vodafone Group PLC Information processing method
CN100511271C (en) * 2006-11-16 2009-07-08 深圳市天朗时代科技有限公司 Two-dimensional decoding method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4896029A (en) * 1988-04-08 1990-01-23 United Parcel Service Of America, Inc. Polygonal information encoding article, process and system
JPH03100972U (en) * 1989-11-02 1991-10-22
ATE174142T1 (en) * 1991-07-19 1998-12-15 Frederic Rentsch METHOD FOR REPRESENTING BINARY DATA
JPH0567226A (en) * 1991-09-09 1993-03-19 Mitsubishi Electric Corp Optical read method and sheet
JP2833975B2 (en) * 1992-09-28 1998-12-09 オリンパス光学工業株式会社 Dot code
JP2938338B2 (en) * 1994-03-14 1999-08-23 株式会社デンソー Two-dimensional code

Also Published As

Publication number Publication date
JPH10187908A (en) 1998-07-21

Similar Documents

Publication Publication Date Title
JP4323551B2 (en) Two-dimensional code reader
JP2833975B2 (en) Dot code
JP3455079B2 (en) Dot code
JP3893398B2 (en) Printing device
JPH10187907A (en) Dot code
JP3181866B2 (en) Information reproduction system
JP4024819B2 (en) Two-dimensional code reading apparatus and two-dimensional code reading method
JP3908250B2 (en) Playback device
JP3568374B2 (en) Dot code and information reproduction system
JP3841821B2 (en) Two-dimensional code reading apparatus and two-dimensional code reading method
JP3984266B2 (en) Printing apparatus, printing method, two-dimensional code generation apparatus, and two-dimensional code generation method
JP3455080B2 (en) Dot code
JP3564051B2 (en) Information reproducing apparatus and information reproducing method
JP3390160B2 (en) Information playback device
JP3393045B2 (en) Information recording system and information recording method
JP3639591B2 (en) Playback device
JP4116013B2 (en) 2D code
JP3847769B2 (en) Reader capable of optically reading a two-dimensional code
JP3965192B2 (en) Playback apparatus and playback method
JPH10187873A (en) Information processor
JPH10187909A (en) Dot code
JPH11328303A (en) Information reproducing device
JP2002099882A (en) Information recording system and information recording method
JP3639589B2 (en) Playback device
JP3923066B2 (en) Recording device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040615

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees