JP2000148904A - 2次元コ―ド認識処理方法、2次元コ―ド認識処理装置、および2次元コ―ド認識処理プログラム格納媒体 - Google Patents

2次元コ―ド認識処理方法、2次元コ―ド認識処理装置、および2次元コ―ド認識処理プログラム格納媒体

Info

Publication number
JP2000148904A
JP2000148904A JP11245194A JP24519499A JP2000148904A JP 2000148904 A JP2000148904 A JP 2000148904A JP 11245194 A JP11245194 A JP 11245194A JP 24519499 A JP24519499 A JP 24519499A JP 2000148904 A JP2000148904 A JP 2000148904A
Authority
JP
Japan
Prior art keywords
code
dimensional code
data
recognition processing
code data
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.)
Granted
Application number
JP11245194A
Other languages
English (en)
Other versions
JP3786167B2 (ja
Inventor
Shinji Nakajima
信二 中嶋
Keigo Ihara
圭吾 井原
Jiyunichi Rekimoto
純一 暦本
Takahiko Sueyoshi
隆彦 末吉
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP24519499A priority Critical patent/JP3786167B2/ja
Publication of JP2000148904A publication Critical patent/JP2000148904A/ja
Application granted granted Critical
Publication of JP3786167B2 publication Critical patent/JP3786167B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】 複数の2次元コードの組み合わせからなる拡
張されたコードデータを認識できるようにする。 【解決手段】 ステップS81において、2次元コード
が認識されると、ステップS82において、連続フラグ
ビットが1であるか否かが判定される。この連続フラグ
ビットは、複数の2次元コードを認識させることによ
り、連続させて複数の処理を行わせたい時に、それらの
2次元コードが1とされるフラグであり、そのフラグが
1である場合は、ステップS83において、既に認識さ
れている2次元コードのコードデータと連結され、拡張
されたコードデータが新たに生成される。これにより、
複数の2次元コードを用いることで、例えば、パーソナ
ルコンピュータに、複雑な処理を実行させることが可能
となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次元コード認識
処理方法、2次元コード認識処理装置、および2次元コ
ード認識処理プログラム格納媒体に関し、特に、撮像さ
れた複数の2次元コードの組み合わせからなる拡張され
たコードデータを効率よくかつ正確に認識することがで
きるようにした2次元コード認識処理方法、2次元コー
ド認識処理装置、および2次元コード認識処理プログラ
ム格納媒体に関する。
【0002】
【従来の技術】従来から、物品の種類や状態などを示す
英数文字をバーコード化し、例えば、物品に貼付してお
き、その貼付されたバーコードを読み取って、物品の種
類や状態などの情報を取得するバーコードシステムが、
多くの産業分野に普及している。
【0003】この種のバーコードにおいて、特に1次元
バーコードと呼ばれるものの一例を示せば、図23の通
りである。この図において、1次元バーコード500
は、太さの異なるバー(黒色の棒状部分)と、スペース
(空白部分)の組み合わせからなるコード部501と、
このコード部501にコード化されているコードを示す
ID(識別番号)部502とから構成されている。そして、
ID部502には、コード部501にコード化されている
英数文字が可読情報として表示されている。このような
1次元バーコード500が、バーコードスキャナと呼ば
れる光学的認識装置によって読み取られるようになって
いる。
【0004】
【発明が解決しようとする課題】ところで、上述した1
次元バーコード500を読み取る1つの方法として、CC
Dビデオカメラにより読み取る方法が挙げられるが、例
えば、コード化される情報量の増大に伴って、バーの配
列が長くなると、CCDビデオカメラによる1次元バー
コード500の読み取りが困難になる。
【0005】そこで、コード化される情報が多くなった
場合においても、ビデオカメラによる読み取りを可能に
するために、1次元バーコード500のバーに代えて、
図24に示すような複数の黒色の方形セルが所定の配列
規則に従って2次元配置されたコード部601と、コー
ド部601にコード化されているコードを示すID部60
2とから構成される2次元コード600が種々提案され
ている。
【0006】これによれば、情報が2次元的にコード化
されることより、より多くの情報量をコード化すること
ができ、1次元バーコード500に比べ、より多くの情
報がコード化されていても、ビデオカメラによる読み取
りが可能となる。
【0007】しかしながら、2次元コード600は、ビ
デオカメラによって撮像された画像データから2次元コ
ード600を認識する際に、ゴミ、汚れ、その他の2次
元コード600以外の画像との識別が困難となり、正確
にコードデータを認識することができないという課題が
あった。
【0008】また、従来は、単一の2次元コード600
に割り当てられたコードデータのみが利用可能であり、
利用可能な情報量に制限があったため、応用範囲も限ら
れていた。
【0009】本発明はこのような状況に鑑みてなされた
ものであり、複数の2次元コードの組み合わせからなる
拡張されたコードデータを効率よくかつ正確に認識する
ことができるようにするものである。
【0010】
【課題を解決するための手段】請求項1に記載の2次元
コード認識処理方法は、外部から取り込んだ画像情報か
ら、2次元コードに割り当てられたコードデータを認識
する認識処理ステップと、認識処理ステップによって、
時間を隔てて順次複数のコードデータが認識された場
合、もしくは、同一画像情報から複数のコードデータが
認識された場合、これら複数のコードデータを連結し
て、拡張されたコードデータを生成する認識処理ステッ
プとを含むことを特徴とする。
【0011】請求項7に記載の2次元コード認識処理装
置は、外部から取り込んだ画像情報から、2次元コード
に割り当てられたコードデータを認識する認識処理手段
と、認識処理手段によって、時間を隔てて順次複数のコ
ードデータが認識された場合、もしくは、同一画像情報
から複数のコードデータが認識された場合、これら複数
のコードデータを連結して、拡張されたコードデータを
生成する連結処理手段とを備えることを特徴とする。
【0012】請求項8に記載の2次元コード認識処理プ
ログラム媒体は、外部から取り込んだ画像情報から、2
次元コードに割り当てられたコードデータを認識する認
識処理ステップと、認識処理ステップによって、時間を
隔てて順次複数のコードデータが認識された場合、もし
くは、同一画像情報から複数のコードデータが認識され
た場合、これら複数のコードデータを連結して、拡張さ
れたコードデータを生成する連結処理ステップとを含む
ことを特徴とする。
【0013】請求項1に記載の2次元コード認識処理方
法、請求項7に記載の2次元コード認識処理装置、およ
び請求項8に記載の2次元コード認識処理プログラム格
納媒体においては、外部から取り込まれた画像情報か
ら、2次元コードに割り当てられたコードデータが認識
され、時間を隔てて順次複数のコードデータが認識され
た場合、もしくは、同一画像情報から複数のコードデー
タが認識された場合、これら複数のコードデータが連結
されて、拡張されたコードデータが生成される。
【0014】
【発明の実施の形態】以下に本発明の実施の形態を説明
する。
【0015】図1乃至図6は、本発明を適用した携帯型
パーソナルコンピュータの構成例を表している。このパ
ーソナルコンピュータ1は、ミニノート型のパーソナル
コンピュータとされ、基本的に、本体2と、本体2に対
して開閉自在とされている表示部3により構成されてい
る。図1は、表示部3を本体2に対して開いた状態を示
す外観斜視図、図2は、図1の平面図、図3は、表示部
3を本体2に対して閉塞した状態を示す左側側面図、図
4は、表示部3を本体2に対して180度開いた状態を
示す右側側面図、図5は、図3の正面図、図6は、図4
の底面図である。
【0016】本体2には、各種の文字や記号などを入力
するとき操作されるキーボード4、マウスカーソルを移
動させるときなどに操作されるスティック式ポインティ
ングデバイス5が、その上面に設けられている。また、
本体2の上面には、音を出力するスピーカ8と、表示部
3に設けられているCCDビデオカメラ23で撮像すると
き操作されるシャッタボタン10がさらに設けられてい
る。
【0017】表示部3の上端部には、ツメ13が設けら
れており、図3に示すように、表示部3を本体2に対し
て閉塞した状態において、ツメ13に対向する位置にお
ける本体2には、ツメ13が嵌合する孔部6が設けられ
ている。本体2の前面には、スライドレバー7が前面に
平行に移動可能に設けられており、スライドレバー7は
孔部6に嵌合したツメ13と係合してロックし、またロ
ック解除することができるようになっている。ロックを
解除することにより、表示部3を本体2に対して回動す
ることができる。ツメ13の隣りには、マイクロホン2
4が取り付けられている。このマイクロホン24は、図
6にも示すように、背面からの音も収音できるようにな
されている。
【0018】本体2の正面にはまた、プログラマブルパ
ワーキー(PPK)9が設けられている。本体2の右側面
には、図4に示すように、排気孔11が設けられてお
り、本体2の前面下部には、図5に示すように、吸気孔
14が設けられている。さらに、排気孔11の右側に
は、PCMCIA(Personal Computer Memory Card Internat
ional Association)カード(PCカード)を挿入する
ためのスロット12が設けられている。
【0019】表示部3の正面には、画像を表示するLCD
(Liquid Crystal Display)21が設けられており、そ
の上端部には、撮像部22が、表示部3に対して回動自
在に設けられている。すなわち、この撮像部22は、LC
D21と同一の方向と、その逆の方向(背面の方向)と
の間の180度の範囲の任意の位置に回動することがで
きるようになされている。撮像部22には、CCDビデオ
カメラ23が取り付けられている。
【0020】表示部3の下側の本体側には、電源ランプ
PL、電池ランプBL、メッセージランプML、その他のLED
よりなるランプが設けられている。なお、図3に示す符
号40は、本体2の左側面に設けられた電源スイッチで
あり、図5に示す符号25は、CCDビデオカメラ23の
フォーカスを調整する調整リングである。さらに、図6
に示す符号26は、本体2内に増設メモリを取り付ける
ための開口部を被覆する蓋であり、符号41は、蓋26
のロックツメを外すためのピンを挿入する小孔である。
【0021】図7は、パーソナルコンピュータ1の内部
の構成例を表している。内部バス51には、CPU(Centr
al Processing Unit)52、必要に応じて挿入されるPC
カード53、RAM(Random Access Memory)54、およ
びグラフィックチップ81が接続されている。この内部
バス51は、外部バス55に接続されており、外部バス
55には、ハードディスクドライブ(HDD)56、I/O
(入出力)コントローラ57、キーボードコントローラ
58、スティック式ポインティングデバイスコントロー
ラ59、サウンドチップ60、LCDコントローラ83、
モデム50等が接続されている。
【0022】CPU52は、各機能を統括するコントロー
ラであり、PCカード53は、オプションの機能を付加す
るとき適宜装着される。
【0023】グラフィックチップ81には、CCDビデオ
カメラ23で取り込んだ画像データが、処理部82で処
理された後、入力されるようになされている。グラフィ
ックチップ81は、処理部82を介してCCDビデオカメ
ラ23より入力されたビデオデータを、内蔵するVRAM8
1Aに記憶し、適宜、これを読み出して、LCDコントロ
ーラ83に出力する。LCDコントローラ83は、グラフ
ィックチップ81より供給された画像データをLCD21
に出力し、表示させる。バックライト84は、LCD21
を後方から照明するようになされている。
【0024】RAM54の中には、起動が完了した時点に
おいて、電子メールプログラム(アプリケーションプロ
グラム)54A、オートパイロットプログラム(アプリ
ケーションプログラム)54B、そしてOS(オペレーテ
ィングシステム)54CがHDD56から転送され、記憶
される。
【0025】電子メールプログラム54Aは、電話回線
のような通信回線等からネットワーク経由で通信文を授
受するプログラムである。電子メールプログラム54A
は、特定機能としての着信メール取得機能を有してい
る。この着信メール取得機能は、メールサーバ93に対
してそのメールボックス93A内に自分(利用者)宛の
メールが着信しているかどうかを確認して、自分宛のメ
ールがあれば取得する処理を実行する。
【0026】オートパイロットプログラム54Bは、予
め設定された複数の処理(またはプログラム)等を、予
め設定された順序で順次起動して、処理するプログラム
である。
【0027】OS(オペレーティングシステム)54C
は、Windows95やWindows98(商標)に代表される、コン
ピュータの基本的な動作を制御するものである。
【0028】一方、外部バス55側のハードディスクド
ライブ(HDD)56には、電子メールプログラム56
A、オートパイロットプログラム56B、OS(基本プロ
グラムソフトウェア)56C、および2次元コード認識
プログラム56Dが記憶されている。
【0029】2次元コード認識プログラムは、グラフィ
ックチップ81のVRAM81Aに記憶される画像データか
ら、2次元コードのロゴマーク部201のロゴマークセ
ル部301およびコード部202を検出し、そしてコー
ド部202のコードデータを認識することで、コード化
された所定の情報を読み取るプログラムである。
【0030】I/Oコントローラ57は、マイクロコント
ローラ61を有し、このマイクロコントローラ61には
I/Oインタフェース62が設けられている。このマイク
ロコントローラ61はI/Oインタフェース62、CPU6
3、RAM64、ROM69が相互に接続されて構成されてい
る。このRAM64は、キー入力ステイタスレジスタ6
5、LED(発光ダイオード)制御レジスタ66、設定時
刻レジスタ67、レジスタ68を有している。設定時刻
レジスタ67は、ユーザが予め設定した時刻(起動条
件)になると起動シーケンス制御部76の動作を開始さ
せる際に利用される。レジスタ68は、予め設定された
操作キーの組み合わせ(起動条件)と、起動すべきアプ
リケーションプログラムの対応を記憶するもので、その
記憶された操作キーの組み合わせがユーザにより入力さ
れると、その記憶されたアプリケーションプログラム
(例えば電子メール)が起動されることになる。
【0031】キー入力ステイタスレジスタ65は、ワン
タッチ操作用のプログラマブルパワーキー(PPK)9が
押されると、操作キーフラグが格納されるようになって
いる。LED制御レジスタ66は、レジスタ68に記憶さ
れたアプリケーションプログラム(電子メール)の立上
げ状態を表示するメッセージランプMLの点灯を制御する
ものである。設定時刻レジスタ67は、所定の時刻を任
意に設定することができるものである。
【0032】なお、このマイクロコントローラ61には
バックアップ用のバッテリ74が接続されており、各レ
ジスタ65,66,67の値は、本体2の電源がオフと
されている状態においても保持されるようになってい
る。
【0033】マイクロコントローラ61内のROM69の
中には、ウェイクアッププログラム70、キー入力監視
プログラム71、LED制御プログラム72が予め格納さ
れている。このROM69は、例えばEEPROM(electricall
y erasable and programmable read only memory)で構
成されている。このEEPROMはフラッシュメモリとも呼ば
れている。さらにマイクロコントローラ61には、常時
現在時刻をカウントするRTC(Real-Time Clock)75が
接続されている。
【0034】ROM69の中のウェイクアッププログラム
70は、RTC75から供給される現在時刻データに基づ
いて、設定時刻レジスタ67に予め設定された時刻にな
ったかどうかをチェックして、設定された時刻になる
と、所定の処理(またはプログラム)等の起動をするプ
ログラムである。キー入力監視プログラム71は、PPK
9が利用者により押されたかどうかを常時監視するプロ
グラムである。LED制御プログラム72は、メッセージ
ランプMLの点灯を制御するプログラムである。
【0035】ROM69には、さらにBIOS(Basic Input/O
utput System)73が書き込まれている。このBIOSと
は、基本入出力システムのことをいい、OSやアプリケー
ションソフトウェアと周辺機器(ディスプレイ、キーボ
ード、ハードディスクドライブ等)の間でのデータの受
け渡し(入出力)を制御するソフトウェアプログラムで
ある。
【0036】外部バス55に接続されているキーボード
コントローラ58は、キーボード4からの入力をコント
ロールする。スティック式ポインティングデバイスコン
トローラ59はスティック式ポインティングデバイス5
の入力を制御する。
【0037】サウンドチップ60は、マイクロホン24
からの入力を取り込み、あるいは内蔵スピーカ8に対し
て音声信号を供給する。
【0038】モデム50は、公衆電話回線90、インタ
ーネットサービスプロバイダ91を介して、インターネ
ット等の通信ネットワーク92やメールサーバ93等に
接続することができる。
【0039】電源スイッチ40は、電源をオンまたはオ
フするとき操作される。半押しスイッチ85は、シャッ
タボタン10が半押し状態にされたときオンされ、全押
しスイッチ86は、シャッタボタン10が全押し状態に
されたときオンされる。反転スイッチ87は、撮像部2
2が180度回転されたとき(CCDビデオカメラ23がL
CD21の反対側を撮像する方向に回転されたとき)、オ
ンされるようになされている。
【0040】図8は、本発明を適用したパーソナルコン
ピュータ1の使用例を表している。オブジェクト100
は、例えば、名刺状のカードで、2次元コード101が
貼付(印刷を含む)されている。
【0041】2次元コード101は、図9に示すよう
に、複数の正方形状のセル(黒色の部分)が所定の配列
規則に従って2次元的に配置されており、このセルの配
列パターンにより、所定の英数文字、例えば、この例の
場合、数字200がコード化されている。
【0042】以下に、2次元コード101の詳細を説明
する。2次元コード101は、ロゴマーク部201とコ
ード部202から構成されており、これらロゴマーク部
201とコード部202の全体は、1個の正方形状のセ
ルの矩形領域を1ブロックと表現すると、7ブロック分
の長さのX軸方向の辺と、9.5ブロック分の長さのY
軸方向の辺で形成される領域(以下、このような領域を
7×9.5ブロック領域と記述する。他の場合において
も同様である)内に配置されている。
【0043】ロゴマーク部201は、図10に示すよう
に、ロゴマークセル部301およびノンセル部302か
ら構成されている。そして、7×1.5ブロック領域の
長方形状のセルであるロゴマークセル部301には、ロ
ゴマーク、文字、または数字など、2次元コードに関連
する白抜きの可読文字情報が印刷により表示されてい
る。ここで、例えば、ロゴマークとしては、2次元コー
ド101のコード体系に付された「CyberCod
e」など、2次元コード101が何を意味するコードな
のかを、人間が判読可能なマークとして、白抜き文字で
表示される。
【0044】また、ロゴマークに限らず、2次元コード
101のコード体系を開発した本出願人の会社名を表示
したり、2次元コード101のコード体系に関連する情
報資源の格納場所を示すURL(Uniform Resource Loc
ator)などを表示するようにしても構わない。なお、UR
Lとは、インターネット上に分散しているファイルなど
の情報資源の格納場所を一意に指定するための表記方法
である。
【0045】以上のように、長方形状のロゴマークセル
部301に、その2次元コード101が何を示すコード
なのかをロゴマーク等で表示することにより、そのロゴ
マーク等に関する情報が掲載されているインターネット
上のホームページなどを参照することで、その2次元コ
ード101に関する情報を取得し、理解することができ
る。例えば、本願出願時点において、本出願人が提供し
ている下記のURLでアクセス可能なホームページには、
以下のような説明文が掲載されている。http://www.son
y.co.jp/sd/ProductsPark/Consumer/PCOM/PCG-C1CAT/cy
bercode.html「「サイバーコード」は、ソニー独自の2
次元コードで、約1,677万通り(24ビット)のパターンが
存在します。このうち約100万通り(20ビット)を、任意
のプログラム起動用として自由に登録することが可能。
残りのコード分は、将来のサービス拡張用として予約さ
れています。「サイバーコード」は、それが貼られたも
のから、対応するコンピューター上の情報を引き出すた
めのインデックスの役割をし、CyberCode Finderのファ
インダーを通して、プログラムが起動されることによ
り、あたかも「サイバーコード」が貼られたものから、
対応する情報がコンピューター上に飛び出してくるとい
う新しいインターフェースを提供します。」次に、図1
0に示すように、ロゴマークセル部301の、コード部
202側の7×1ブロック領域には、セルが存在しない
ノンセル部302が存在する。なお、ロゴマークセル部
301の長軸(図9のX軸方向の軸)を辺A、および短
軸(図9のY軸方向の軸)を辺Bとする。
【0046】コード部202には、図11に示すよう
に、ロゴマークセル部301を下方向に位置させたと
き、ロゴマークセル部301の左端から7ブロック分上
方向に位置する左上コーナーセル、およびロゴマークセ
ル部301の右端から7ブロック分上方向に位置する右
上コーナーセルが存在する。また、ロゴマークセル部3
01の左端から1ブロック分上方向に位置する左下コー
ナーセル、およびロゴマークセル部301の右端から1
ブロック分上方向に位置する右下コーナーセルが存在す
る。なお、左上コーナーセル、右上コーナーセル、左下
コーナーセル、および右下コーナーセルを特に区別する
必要がない場合、これらをまとめてコーナーセルと称す
る。
【0047】コーナーセルの周囲の隣接する3ブロック
分の領域には、セルが存在しない。つまり、ロゴマーク
セル部301に対して、上述したような位置に存在し、
周り3ブロック領域にセルが存在しないようなセルはコ
ーナーセルとされる。
【0048】コード部202は、実際は、1ブロックを
1ビットとすると、49ビット(7ブロック×7ブロッ
ク=49ブロック)分の情報をコード化することができ
るが、上述したように、コーナーセル(1ブロック)お
よびコーナーセルの周り3ブロックは、データを構成し
ない。すなわち、合計16ブロックは、データを構成し
ない。また、残り33ブロック(33ビット)中、9ブ
ロック(9ビット)は、コードデータが、正しいコード
データであることを確かめるためのチェックデータを構
成する。従って、コード部202には、24ビット分の
情報がコード化されている。
【0049】図12は、上述した2次元コード101の
具体例を表している。図12(A)の2次元コード10
1のコード部202には、識別番号200、201、2
02、203、1500、1501、1502、そして
1503がコード化されたコードパターンが印刷されて
いる。また、ロゴマークセル部301の下方の、ID部2
03には、コード化された識別番号に対応する数字が印
刷されている。
【0050】また、図12(B)に示す具体例では、2
次元コード101のロゴマークセル部301に、ロゴマ
ークが白抜き文字で印刷されている。また、図12
(C)に示す具体例では、2次元コード101のID部2
03の識別番号に対応する数字が省略されている。さら
に、図12(D)に示す具体例では、ロゴマークセル部
301に識別番号に対応する数字が白抜き文字で印刷さ
れており、ID部203にロゴマークが黒文字で印刷され
ている。これら図12(A)乃至図12(D)に表され
ている2次元コード101のコード部202は、全て同
一の仕様により作成されている。
【0051】ここで、上述したロゴマークセル部301
は、所定の縦横比の矩形状の領域によって構成され、後
述するように、複数の黒色画素が連結してなる黒色画素
連結領域を含んで構成されている。さらに、ロゴマーク
セル部301内には、2次元コード101に関連する白
抜きの可読情報を含んで構成されている。そして、2次
元コード1101の認識処理を開始する初期段階で、予
め規定された所定の縦横比の矩形状のロゴマークセル部
301を検出することで、このロゴマークセル部301
を基準として、所定の探索範囲内に存在するその他のセ
ルの検出処理へと認識処理を進めることが可能となる。
したがって、上述したロゴマークセル部301は、単
に、2次元コード101の意味合いを可読なロゴマーク
という形態で表示するという目的のためだけに設けてい
るのではなく、2次元コード101の認識処理を進める
上での基準を示す機能も兼ね備えている。
【0052】このように、ロゴマークセル部301に
は、基準を示す機能に加えて、図12(B)乃至図12
(D)に示すように、ロゴマークや文字などを表示する
機能を付与しているので、最小限の占有面積で、認識処
理の基準に必要な情報と、可読情報とを同時に提示する
ことが可能となっている。
【0053】図8に戻り、パーソナルコンピュータ1
は、例えば、オブジェクト100と2次元コード101
を、CCDビデオカメラ23により撮像することがで
き、また、その結果得られた2次元コード101のコー
ドデータを認識するようになされている。
【0054】次に、2次元コード認識処理の処理手順
を、図13のフローチャートを参照して説明する。
【0055】2次元コード101がCCDビデオカメラ
23により撮像され、その結果得られた1フレーム分の
画像データが、処理部82により処理され、グラフィッ
クチップ81のVRAM81Aに記憶されている状態におい
て、HDD56に記憶されている2次元コード認識プロ
グラム56Dが起動されると、ステップS1において、
CPU52は、所定の輝度値を示す閾値の設定をカウント
するカウンタiの値に1を初期設定する。この例の場
合、図14に示すように、閾値が、5段階に設定されて
いる。設定番号1に示される閾値Aの値が、最も大きい
値に設定され、設定番号5に示される閾値Eに向かっ
て、段階的に値が小さくなるように設定されている。
【0056】ステップS2において、CPU52は、カウ
ンタiの値に対応する設定番号の閾値に基づいて、VRAM
81Aに記憶されている画像データに対して2値化処理
を行う。ここで、閾値より大きい輝度を保持する画素の
画素値は、”0”に符号化され、表示上、その画素は白
色とされる。以下においては、このように、画素値が”
0”に符号化された画素を、白色画素と称する。
【0057】一方、閾値以下の輝度値を保持する画素の
画素値は、”1”に符号化され、表示上、その画素は黒
色とされる。以下においては、このように、画素値が”
1”に符号化された画素を、黒色画素と称する。
【0058】次に、ステップS3において、CPU52
は、図15に示すように、黒色画素が連結する領域を1
つの領域として、左上から右下に向かって番号を設定
(ラベリング)する。
【0059】ステップS4において、CPU52は、ステ
ップS3でラベリングした黒色画素連結領域の総数Mを
求め、求めた黒色画素連結領域の総数Mが257個以上
であるか否かを判定し、総数Mが257個以上であると
判定した場合、すなわち、現在、VRAM81Aに記憶され
ている画像フレームが、以降の処理を実行するのに適さ
ない画像であると判定した場合、ステップS5に進む。
ここで、以降の処理を実行するのに適さない画像とは、
いわゆるディザ状の画像と呼ばれる砂粒のような点を多
量に含む画像であり、このようなディザ状の画像に対し
て無理に認識処理を進めようとすると、演算処理に要す
るCPUの負荷が大となってしまう。そこで、このような
ディザ状の画像の場合は、そのまま認識処理を進めず
に、ステップS5へ進むようにしてある。
【0060】ステップS5において、CPU52は、カウ
ンタiの値が、閾値の設定数N(=5)と等しい(i=
5)か否かを判定し、i=5ではないと判定した場合、
ステップS6において、カウンタiの値を1だけ増加し
た後、ステップS2に戻る。ステップS2において、CP
U52は、1つだけ増加されたカウンタiの値に対応す
る設定番号の閾値に基づいて、VRAM81Aに記憶されて
いる画像データに対して、再度、2値化処理を実行す
る。
【0061】上述したように、設定番号1で示される閾
値Aは、最も値が大きい閾値であり、すなわち、この最
も大きい値が2値化処理の閾値とされると、画像データ
の多くの画素の輝度が、閾値Aよりも相対的に小さい値
となり、その結果多くの画素が黒色画素と認識され、こ
れにより、黒色画素連結領域の総数Mも多くなる。そこ
で、ステップS5で、カウンタiの値が1つ増加され、
1段階小さい値の閾値が、次の2値化処理の閾値とされ
ると、黒色画素として認識される画素が少なくなる。
【0062】このように、最初に、より大きい閾値で、
大きい輝度値を基準として2値化処理を行うことより、
フレーム全体が比較的明るい画像に適する2値化処理を
実行することができ、さらに、閾値を段階的に小さく
し、より小さい輝度値を基準として2値化処理を行うこ
とにより、フレーム全体が比較的暗い画像に適する2値
化処理を実行することができる。このように、閾値を5
段階に分け、この閾値を段階的に変更することによっ
て、画像フレーム全体に明るさの変動があった場合であ
っても、常に精度の高い2値化データを生成することが
できるようになっている。
【0063】ステップS5において、CPU52は、i=
5であると判定した場合、すなわち、閾値A乃至Eのい
ずれの閾値によっても、適当な総数Mの黒色画素連結領
域が生成されない場合、この1フレーム分の画素データ
には、2次元コード101が存在しないものと判定した
場合、処理が終了される。
【0064】ステップS4において、CPU52は、黒色
画素連結領域の総数Mが257個より少ないと判定した
場合、ステップS7に進む。
【0065】ステップS7において、CPU52は、以前
に実行された2次元コード認識処理により認識された2
次元コード101のLCD21の表示上の位置、例えば、
ロゴマークセル部301の中央点が、RAM54などに記
憶されているか否かを判定し、それが記憶されている場
合、ステップS8に進み、記憶されている点をロゴマー
クセル部検出処理の開始点に設定する。ステップS7
で、2次元コード101の位置が記憶されていないと判
定した場合、ステップS9に進み、CPU52は、320
×240画素のLCD21の表示上の中心点(例えば、X
軸方向に160番目であり、Y軸方向に120番目の画
素)を開始点に設定する。このようにすることより、ロ
ゴマークセル部301を効率的に検出することができ
る。
【0066】次に、ステップS10において、ロゴマー
クセル部検出処理が実行される。ステップS10におけ
るロゴマークセル部検出処理の詳細を、図16のフロー
チャートを参照して説明する。
【0067】はじめに、ステップS21において、CPU
52は、黒色画素連結領域の総数Mをカウントするカウ
ンタjの値を1に初期設定し、次に、ステップS22に
おいて、図13のステップS8およびステップS9で設
定された開始点から、LCD21の画面上を左回りの渦巻
の軌跡に沿って、黒色画素連結領域を探索し、始めに検
出した黒色画素連結領域をロゴマークセル部候補領域と
して選択する。
【0068】次に、ステップS23において、CPU52
は、ステップS22で選択したロゴマークセル部候補領
域の、図10に示したようなロゴマークセル部301の辺
Aおよび辺Bに対応する辺ATおよび辺BTを決定する。
辺ATは、図17に示すように、黒色画素連結領域がLCD
21の画像上のX軸上に投影されて形成される線(X軸
投影線)と、Y軸上に投影されて形成される線(Y軸投
影線)のうち、長い方の線とする。辺BTは、他方の短
い方の線とする。
【0069】次に、ステップS24において、CPU52
は、短軸に対応する辺BTが20画素より少ない画素で
構成されているか否かを判定する。例えば、短軸(辺
B)が20画素より少ない画素で構成されている黒色画
素連結領域がロゴマークセル部301であるとすると、
図9に示したように、1ブロックの一辺の長さは、辺B
の長さとの比が1対1.5であるため、さらに少ない数
の画素から構成されるようになり、この場合、最小セル
(1×1ブロック領域のセル)が小さくなり、LCD21
に適切に表示されなくなる。このことより、ステップS
24において、辺BTが20画素より少ない画素で構成
されていると判定された場合、今回ステップS22で選
択された黒色画素連結領域は、ロゴマークセル部301
ではないとされ、ステップS25に進み、CPU52は、
カウンタjの値が、黒色画素連結領域の総数Mと等しい
(j=M)か否かを判定し、j=Mではないと判定した
場合、ステップS26に進み、カウンタjの値を1だけ
増加した後、ステップS22に戻る。そして、CPU52
は、次の黒色画素連結領域を、次のロゴマークセル部候
補領域として、同様の処理を行う。
【0070】ステップS24において、ステップS22
で選択されたロゴマークセル部候補領域の辺BTが20
画素と等しいか、またはそれより多い画素で構成されて
いると判定された場合、ステップS27に進み、CPU5
2は、ロゴマークセル部候補領域の辺ATが300画素
より多い画素で構成されているか否かを判定する。例え
ば、長軸(辺A)が300画素より多い画素で構成され
ている黒色画素連結領域がロゴマークセル部301であ
るとすると、図9に示したように、辺Aの長さが7に対
して1の割合で求められる1ブロックの一辺の長さが大
きくなり、図11に示したように、ロゴマークセル部3
01から、7ブロック分離れて位置する左上コーナーセ
ルおよび右上コーナーセルが、LCD21上に表示されな
くなる。このことより、ステップS27において、辺A
Tが300画素より多い画素で構成されていると判定さ
れた場合、今回ステップS22で選択された黒色画素連
結領域は、ロゴマークセル部301ではないとされ、ス
テップS25に進み、それ以降の処理が行われる。
【0071】ステップS27において、ステップS22
で選択されたロゴマークセル部候補領域の辺ATが30
0画素より多い画素で構成されていない(300画素以
下の画素で構成されている)と判定された場合、ステッ
プS28に進み、CPU52は、ロゴマークセル部候補領
域の黒色画素の総数が、20画素以上かつ1500画素
未満であるか否かを判定し、20画素以上かつ1500
画素未満であると判断した場合、ステップS29に進
む。
【0072】一方、ステップS28において、ロゴマー
クセル部候補領域の黒色画素の総数が20画素未満、ま
たは1500画素以上であると判定された場合、ステッ
プS25に進む。なお、黒色画素の総数が、20画素未
満の場合、ステップS24において辺BTが20画素よ
り少ない画素で構成された場合と同様の問題が発生し、
また、1500画素以上である場合、ステップS27に
おいて辺ATが300画素より多い画素で構成された場
合と同様の問題が発生し、いずれの場合も、ロゴマーク
セル部301である可能性が小さくなる。
【0073】次に、ステップS29において、CPU52
は、ステップS22で選択したロゴマークセル部候補領
域の方形らしさ(fitness)を判定し、方形であ
ると判定した場合、ステップS30に進む。この例の場
合、式(1)に基づいて算出されるfitnessが、
0.2以上である場合、ロゴマークセル部候補領域は方
形であると判定される。
【0074】
【数1】
【0075】式(1)の定数aは、式(2)に基づい
て、定数cは、式(3)に基づいて、そして定数b/2
は、式(4)に基づいて求められる、いわゆる、モーメ
ント特徴のうちの2次元モーメントである。
【0076】
【数2】
【0077】
【数3】
【0078】
【数4】
【0079】式(2)乃至式(4)のf(i,j)は、
LCD21の表示上の画素のX座標iと、Y座標jにより
特定される画素が黒色の場合、1となり、また、特定さ
れる画素が白色の場合、0となる関数である。
【0080】ステップS30において、CPU52は、ス
テップS29で方形とされたロゴマークセル部候補領域
の長軸と短軸の比を、式(5)に基づいて算出し、算出
結果が2.0以上かつ25以下であるか否かを判定す
る。
【0081】
【数5】
【0082】算出結果が2.0以上かつ25以下である
と判定された場合、ステップS31に進み、CPU52
は、ステップS22で選択したロゴマークセル部候補領
域をロゴマークセル部301として設定(仮定)し、例
えば、ロゴマークセル部候補領域とされた黒色画素連結
領域の番号を、RAM54に記憶させる。このようにし
て、ロゴマークセル部301は検出され、処理は終了さ
れる。
【0083】ステップS28において、黒色画素の総数
が20画素未満、または1500画素以上であると判定
された場合、ステップS29において、ロゴマークセル
部候補領域が方形ではないと判定された場合、またはス
テップS30において、辺ATと辺BTの比が2.0未満
または25より大きいと判定された場合、今回ステップ
S22で選択されたロゴマークセル部候補領域は、ロゴ
マークセル部301ではないとされ、ステップS25に
進み、次に検出された黒色画素連結領域が次のロゴマー
クセル部候補領域とされ、以降の処理が行われる。
【0084】ステップS25において、カウンタjの値
が黒色画素連結領域の総数Mと等しい(j=M)と判定
された場合、ステップS31でロゴマークセル部301
が設定されず、処理は終了される。すなわち、今回2次
元コード認識処理の対象とされた画像データ(1フレー
ム)には、ロゴマークセル部301が存在しないものと
される。
【0085】以上のようにして、ロゴマークセル部検出
処理が完了したとき、次に、図13のステップS11に
進む。
【0086】ステップS11において、ステップS10
でロゴマークセル部301が検出されたか否かが判定さ
れ、検出されたと判定された場合、ステップS12に進
み、コード部検出処理が実行される。ステップS12に
おけるコード部検出処理の詳細を、図18のフローチャ
ートを参照して説明する。
【0087】はじめに、ステップS41において、CPU
52は、図13のステップS3で検出した黒色画素連結
領域の総数Mをカウントするカウンタjの値を1に初期
設定し、ステップS42において、その値に対応する番
号の黒色画素連結領域を検出し、それを左上コーナーセ
ル候補領域として選択する。
【0088】次に、ステップS43において、CPU52
は、ステップS42で選択した左上コーナーセル候補領
域の、図17に示したようにして決定した辺ATおよび
辺BTの長さの比が3倍以下であるか否かを判定し、そ
の比が3倍以下であると判定した場合、ステップS44
に進む。
【0089】ステップS44において、CPU52は、ス
テップS42で選択した左上コーナーセル候補領域が、
図13のステップS10で検出したロゴマークセル部3
01に対して予め設定された探索範囲内に存在するか否
かを判定し、探索範囲内に存在すると判定した場合、ス
テップS45に進み、それを左上コーナーセルとして設
定(仮定)する。
【0090】ステップS43において、辺ATの長さに
対する辺BTの長さの比が3倍より大きいと判定された
場合、または、ステップS44において、探索範囲内に
存在しないと判定された場合、ステップS42で選択さ
れた黒色画素連結領域は、左上コーナーセルではないと
判定され、ステップS46に進み、カウンタjの値が黒
色画素連結領域の総数Mに等しい(j=M)か否かが判
定され、j=Mではないと判定された場合、ステップS
47に進み、カウンタjの値が1だけ増加され、ステッ
プS42に戻る。そして、次の番号の黒色画素連結領域
が、次の左上コーナーセル候補領域とされ、同様の処理
が行われる。
【0091】ステップS45において、左上コーナーセ
ルが設定されると、ステップS48に進み、CPU52
は、黒色画素連結領域の番号をカウントする他のカウン
タkに2を初期設定し、次に、ステップS49におい
て、カウンタkの値に対応する番号の黒色画素連結領域
を検出し、それを右上コーナーセル候補領域として選択
する。
【0092】次に、ステップS50において、CPU52
は、ステップS45で設定した左上コーナーセルの画素
数(面積)と、ステップS49で選択した右上コーナー
セル候補領域の画素数(面積)の比を算出し、その比
(面積比)が6倍以下であるか否かを判定し、6倍以下
であると判定した場合、ステップS51に進む。
【0093】ステップS51において、CPU52は、ス
テップS45で設定した左上コーナーセルの面積(画素
数)(S1)、ステップS49で選択した右上コーナー
セル候補領域の面積(画素数)(S2)、およびその左
上コーナーセルの中心点とその右上コーナーセル候補領
域の中心点との距離(D)を算出し、式(6)および式
(7)が成立するか否かを判定する。
【0094】(S1/D2)<=900 ・・・(6) (S2/D2)<=900 ・・・(7) ステップS51において、式(6)および式(7)が成
立すると判定された場合、ステップS52に進み、CPU
52は、ステップS49で選択した右上コーナーセル候
補領域を右上コーナーセルとして設定(仮定)する。
【0095】ステップS52において、右上コーナーセ
ルが設定(仮定)されると、ステップS55において、
CPU52は、ステップS45で設定した左上コーナーセ
ル、ステップS52で設定した右上コーナーセル、およ
び図13のステップS10で設定されたロゴマークセル
部301により形成される領域を、LCD21の画面上の
X軸方向に7ブロック分の長さ、そしてY軸方向に9.
5ブロック分の領域になるようにアフィン変換する。な
お、1ブロックの一辺の長さは、ステップS10で設定
されたロゴマークセル部301の辺ATまたは辺BTに基
づいて算出される。
【0096】次に、ステップS56において、CPU52
は、ステップS55で変換した画像から、図13のステ
ップS10で設定したロゴマークセル部分301とそれ
に対応して存在するノンセル部302に相当する領域
(7×2.5ブロック領域)を削除し、その結果得られ
た7×7ブロック領域の範囲に、黒色画素連結領域をセ
ルとしてマッピングし、コードマップを生成する。
【0097】ステップS57において、CPU52は、ス
テップS56で生成したコードマップのセルのうち、4
角のセルを検出し、その周りの3ブロック領域が、白色
画素とされているか否かを判定し、白色画素とされてい
ると判定した場合、ステップS58に進み、ステップS
56で生成したコードマップを2次元コード101のコ
ード部202と設定(仮定)する。このようにして、コ
ード部202が検出されると、処理は終了される。
【0098】ステップS50において、面積比が6倍よ
り大きいと判定された場合、ステップS51において、
式(6)および式(7)が成立しないと判定された場
合、またはステップS57において、4角のセルの周り
の3ブロック領域が白色画素ではないと判定された場
合、ステップS53に進み、カウンタkの値が黒色画素
連結領域の総数Mに等しい(k=M)か否かが判定さ
れ、k=Mではないと判定された場合、ステップS54
に進み、カウンタkの値が1だけ増加され、ステップS
49に戻る。そして次の番号の黒色画素連結領域が、次
の右上コーナーセル候補領域とされ、同様の処理が行わ
れる。
【0099】ステップS53において、カウンタkの値
が黒色画素連結領域の総数Mと等しいと判定された場
合、ステップS46に戻り、ステップS46の処理にお
いて、j=Mでないと判定された場合、ステップS47
に進み、カウンタjの値が1だけ増加され、ステップS
42に戻り、次の番号の黒色画素連結領域が、次の左上
コーナーセル候補領域として選択され、それ以降の処理
が行われる。
【0100】ステップS46において、j=Mと判定さ
れた場合、今回2次元コード認識処理の対象となってい
る画像には、2次元コード101が存在しないものとさ
れ、処理は終了される。
【0101】以上のようにして、コード部検出処理が完
了すると、図13のステップS13に進む。ステップS
13において、ステップS12でコード部202が検出
されたか否かが判定され、検出されたと判定された場
合、ステップS14に進み、コードデータ検証処理が実
行される。ステップS14のコードデータ検証処理の詳
細を、図19のフローチャートを参照して説明する。
【0102】はじめに、ステップS61において、CPU
52は、後述するステップS63およびステップS65
で算出される基準値を、1ビット右方向にシフトする回
数をカウントするカウンタpの値を1に初期設定する。
【0103】次に、ステップS62において、CPU52
は、図13のステップS12で検出されたコード部20
2のコードマップから、コードデータおよびチェックデ
ータの値を算出する。
【0104】ステップS63において、CPU52は、ス
テップS62で算出したコードデータの値(ビットスト
リーム)と、0xFFFFFFとの排他的論理和演算を
行い、その結果得られた値(ビットストリーム)を基準
値(基準ビットストリーム)とする。ステップS64に
おいて、CPU52は、基準ビットストリームのLSB(Least
Significant Bit)に”1”が立っているか否かを判定
し、”1”が立っていないと判定した場合、ステップS
65に進む。
【0105】ステップS65において、CPU52は、ス
テップS63で算出した基準値(基準ビットストリー
ム)と、0x8408との排他的論理和演算を行い、そ
の結果得られた値(ビットストリーム)を新たな基準値
(基準ビットストリーム)とし、ステップS66に進
む。
【0106】ステップS64において、CPU52は、ス
テップS63で算出した基準値(基準ビットストリー
ム)のLSBに”1”が立っていると判定した場合、ス
テップS65の処理をスキップし、ステップS66に進
む。
【0107】ステップS66において、CPU52は、ス
テップS63またはステップS65において算出した基
準値(基準ビットストリーム)を1ビットだけ右にシフ
トさせ、ステップS67に進み、カウンタpの値が、2
4(予め決められたシフトの回数)に等しい(p=2
4)か否かを判定し、p=24ではないと判定した場
合、ステップS68に進み、カウンタpの値を1だけ増
加した後、ステップS64に戻る。以下、同様の処理
が、ステップS67においてp=24であると判定され
るまで、繰り返し実行させる。
【0108】ステップS67において、CPU52は、p
=24であると判定した場合、ステップS69に進み、
ステップS64乃至S68の処理により算出されたビッ
トストリームと、0x1FFFとの論理積演算を行う。
次に、ステップ70において、CPU52は、ステップS
69における論理積演算より得られ値が、ステップS6
2で算出したチェックデータの値と等しいか否かを判定
し、等しいと判定した場合、図13のステップS13で
検出されたコード部202は、2次元コード101とし
て適正なパターンであるとし、ステップS71におい
て、2次元コード101のコード部202を確定する。
その後、処理は終了される。
【0109】ステップS70において、ステップS69
で算出された値と、ステップS62で算出されたチェッ
クデータの値とが等しくないと判定された場合、ステッ
プS71の処理がスキップされ、処理は終了される。
【0110】以上のようにして、コードデータ検証処理
が完了されると、図13のステップS15に進み、図1
9のステップS71でコード部202が確定されたか否
かが判定され、確定されていると判定された場合、ステ
ップS16に進み、CPU52は、図19のステップS6
2で算出したコードデータの値、すなわち、2次元コー
ド101の値を、例えば、RAM54に記憶させ、保持す
る。その後、処理は終了される。
【0111】ステップS11において、ロゴマークセル
部301が検出されていないと判定された場合、ステッ
プS13において、コード部202が検出されていない
と判定された場合、またはステップS15において、コ
ード部202が確定されていないと判定された場合、今
回2次元コード認識処理の対象とされた画像データに
は、2次元コード101が存在しないものとされ、処理
は終了される。
【0112】このように、例えば、ロゴマークなどの2
次元コード101の属性等を表示するロゴマークセル部
301を認識処理の基準として利用し、コード部202
を検出するようにしたので、2次元コード101の占有
面積を最小限に抑えることができる。すなわち、ロゴマ
ークセル部301には、基準を示す機能に加えて、ロゴ
マークや文字などを表示する機能を付与しているので、
最小限の占有面積で、認識処理の基準に必要な情報と、
可読情報とを同時に提示することが可能である。
【0113】図20は、複数の2次元コードを読み込ま
せ、それぞれ読み込まれた2次元コードに対応する処理
を連続して行わせる場合を説明するフローチャートであ
る。この実施の形態では、ユーザが複数の2次元コード
を、1個づつ、時間を隔てて、パーソナルコンピュータ
1に認識させることにより行われる。まず、ステップS
81において、CPU52は、上述した処理により、2次
元コードが認識されたか否かを判定する。2次元コード
が認識されたと判定されるまで、ステップS81の処理
が繰り返され、2次元コードが認識されたと判定された
場合、ステップS82に進む。
【0114】ステップS82において、連続フラグビッ
トが“1”であるか否かが判定される。この連続フラグ
ビットは、2次元コードのコード部202の24ビット
のうち、任意の1ビットが割り当てられており、このフ
ラグが立っている(“1”にされている)と、その2次
元コードは、既に認識された2次元コード、またはこれ
から認識される2次元コードと連続したデータを構成す
ることを示し、逆に、このフラグが立っていない
(“0”にされている)と、その2次元コードは、1個
だけの単一の2次元コード(そのデータだけで、処理を
行うコード)である、または連続する2次元コードの最
後の2次元コードであることを示している。
【0115】ステップS82において、認識された2次
元コードの連続フラグが“1”になっていると判定され
た場合、ステップS83に進み、前回までに認識されて
いる2次元コードのコードデータに、今回、新たに認識
された2次元コードの23ビットのコードデータを連結
する。連結が終了されたら、ステップS81に戻り、次
の2次元コードに対して同様の処理が繰り返される。
【0116】一方、ステップS82において、認識され
た2次元コードの連続フラグが“1”ではないと判定さ
れた場合、換言すれば、“0”であると判定された場
合、ステップS84に進む。ステップS84において、
認識された2次元コードの連続ビットを含む24ビット
の値が、全て“0”であるか否かが判定される。24ビ
ットの値、全てが“0”ではないと判定された場合、ス
テップS85に進み、ステップS83での処理と同様の
処理が行われる。ステップS83またはステップS85
の処理が繰り返されることにより、23ビット、46ビ
ット、69ビット、...というふうに、所望のビット
数を用意することが可能なので、複雑な処理をさせるた
めに、コードデータが多く必要な場合にも、この2次元
コードを用いることができる。
【0117】ステップS85による処理が終了された
ら、ステップS86に進み、連結されたコードデータが
現在のビット値として確定され、RAM54に記憶され
る。このように、連続フラグが0であるが、残り23ビ
ットの値が0だけではない場合、連続する(連結され
る)2次元コードの最後の2次元コードであることを示
し、ステップS86において、その連結されたデータが
RAM54に記憶され、ステップS87において、その記
憶されたデータに対応する処理が行われる。
【0118】一方、ステップS84において、認識され
た2次元コードの24ビットの値、全てが“0”である
と判定された場合、ステップS88に進む。ステップS
88において、いま認識された2次元コードの前に認識
され、RAM54に連結されるコードデータとして記憶さ
れているコードデータが存在するか否かが判定される。
連結されるコードデータとして記憶されているコードデ
ータは存在しないと判定された場合、ステップS89に
進み、認識された2次元コードのコードデータそのも
の、すなわち、23ビット全てが0であるデータが、RA
M54に記憶され、ステップS87に進み、このコード
データに対応する処理が実行される。
【0119】ステップS88において、連結されるコー
ドデータとして記憶されているコードデータが存在する
と判定された場合、ステップS90に進み、その記憶さ
れているコードデータ全てがクリアされる。すなわち、
24ビット全てが0に設定されている2次元コードは、
それ自体単独で用いられた場合は、割り当てられている
処理を行い、連続して認識される2次元コードの内の一
つとしてとして用いられた場合は、この2次元コードが
認識される以前において記憶されたコードデータを全て
クリア(破棄)する処理を行う為に用いられる。
【0120】このようにしておくことで、誤った2次元
コードを認識させてしまった場合に、それまでのコード
データをキャンセルさせ、始めからやり直すことを可能
としている。
【0121】図21は、上述した処理と同様に、複数の
2次元コードを読み込み、読み込んだ2次元コード、そ
れぞれに対応する処理を連続して行わせる場合を説明す
るフローチャートである。この実施の形態においては、
図22に示すように、オブジェクト100上に、4個の
2次元コードラベル101−1乃至101−4が貼り付
けられたものが用いられる。このように、複数の2次元
コード101−1乃至101−4が貼り付けられたオブ
ジェクト100が、CCDビデオカメラ23により撮像さ
れた場合、パーソナルコンピュータ1は、図21のフロ
ーチャートの処理を行うことにより、同一画像情報から
順次2次元コードラベル101−1乃至101−4を認
識していく。
【0122】すなわち、ステップS101乃至S116
の処理により、2次元コードラベル101−1が認識さ
れる。このステップS101乃至S116の処理は、図
13のステップS1乃至S16の処理と同様の処理なの
で、その説明は省略する。2次元コードラベル101−
1がステップS101乃至S106の処理により、認識
されたら、ステップS117において、ロゴマーク(2
次元コードラベル101)かどうか検出していない領域
があるか否かが判定される。
【0123】この場合、2次元コードラベル101−2
乃至101−4が、まだ検出されていないので、ステッ
プS101に戻り、それ以降の処理が繰り返される。ス
テップS101乃至S117の処理が繰り返されること
により、ロゴマークかどうか検出していない領域が存在
しなくなった場合、ステップS118に進み、認識され
た2次元コードラベル101の個数、それぞれの2次元
コードラベル101に割り当てられたコードデータ、お
よび配置情報がRAM54に記憶される。
【0124】この場合、2次元コードラベル101の個
数は4個であり、それぞれのコードデータと配置情報
は、例えば、2次元コードラベル101−1が“0x1111
11”で左上、2次元コードラベル101−2が“0x2222
22”で右上、2次元コードラベル101−3が“0x3333
33”で左下、2次元コードラベル101−4が“0x4444
44”で右下として記憶される。
【0125】このように4個の2次元コードラベル10
1−1乃至101−4が認識された場合、左上から右下
の順に、それらの配置情報に基づいて、優先順位が第1
位乃至第4位と決定され、優先順位の高い方(第4位)が
上位ビットとして設定される。すなわち、図22で示し
た例では、2次元コードラベル101−1が第1位、2
次元コードラベル101−2が第2位、2次元コードラ
ベル101−3が第3位、2次元コードラベル101−
4が第4位となるので、新たに拡張されたコードデータ
としてのビット配列は、“0x44444433333322222211111
1”となる。そして、同一画像情報上の4個の2次元コ
ードラベル101−1乃至101−4の画像から、これ
ら複数の2次元コードコードラベル101−1乃至10
1−4に各々対応したコードデータが順次認識され、こ
れら複数のコードデータが連結されて、新たに拡張され
たコードデータ(ビット配列)が生成され、このように
して得られたコードデータに対応する処理が、パーソナ
ルコンピュータ1によって実行される。
【0126】このように、図20のフローチャートで示
したように時間的に、または図21のフローチャートで
示したように空間的に、複数の2次元コードを認識させ
ることにより、例えば、1つめの2次元コードでアプリ
ケーションを起動させ、2つめの2次元コードで引用フ
ァイルやオプション等を設定させ、3つめ以降の2次元
コードでその他の処理を引き続いて処理させるなどがで
きるようになる。
【0127】なお、上述した一連の処理を実行するプロ
グラムをコンピュータにインストールし、コンピュータ
によって実行可能な状態とするために用いられるプログ
ラム格納媒体としては、例えば、フロッピーディスク、
CD-ROM、DVDなどのパッケージメディアのみならず、プ
ログラムが一時的もしくは永続的に格納される半導体メ
モリや磁気ディスクなどで実現してもよい。さらには、
上述したプログラムをインストールする手段としては、
ローカルエリアネットワークやインターネット、デジタ
ル衛星放送などの有線および無線通信媒体、およびこれ
らの通信媒体を介して提供されるプログラムを転送もし
くは受信するルーターやモデム等の各種通信インターフ
ェイス等を利用することができる。
【0128】
【発明の効果】以上説明したように、請求項1に記載の
2次元コード認識処理方法、請求項7に記載の2次元コ
ード認識処理装置、および請求項8に記載の2次元コー
ド認識処理プログラム格納媒体においては、外部から取
り込まれた画像情報から、2次元コードに割り当てられ
たコードデータが認識され、時間を隔てて順次複数のコ
ードデータが認識された場合、もしくは、同一画像情報
から複数のコードデータが認識された場合、これら複数
のコードデータが連結されて、拡張されたコードデータ
が生成されるので、複数の2次元コードを用いて、複雑
な処理を行わせることが可能となる。
【図面の簡単な説明】
【図1】本発明を適用した携帯型パーソナルコンピュー
タの構成例の表示部を本体に対して開いた状態を示す外
観斜視図である。
【図2】図1の平面図である。
【図3】図1の表示部を本体に対して閉塞した状態を示
す左側側面図である。
【図4】図1の表示部を本体に対して180度開いた状
態を示す右側側面図である。
【図5】図3の正面図である。
【図6】図4の底面図である。
【図7】図1の電気回路の構成例を示すブロック図であ
る。
【図8】パーソナルコンピュータ1の使用例を表してい
る。
【図9】2次元コードの仕様について説明する図であ
る。
【図10】2次元コードの仕様について説明する他の図
である。
【図11】2次元コードの仕様について説明する他の図
である。
【図12】2次元コードの例を示す図である。
【図13】2次元コード認識処理を説明するフローチャ
ートである。
【図14】閾値の設定を説明する図である。
【図15】黒色画素連結領域のラベリングを説明する図
である。
【図16】ロゴマークセル部検出処理を説明するフロー
チャートである。
【図17】辺ATおよび辺BTの求め方を説明する図であ
る。
【図18】コード部検出処理を説明する図である。
【図19】コードパターン検証処理を説明するフローチ
ャートである。
【図20】複数の2次元コードを認識するときの処理を
説明するフローチャートである。
【図21】複数の2次元コードを認識するときの他の処
理を説明するフローチャートである。
【図22】複数の2次元コードが配置されたオブジェク
トを説明する図である。
【図23】従来の1次元バーコードの例を示す図であ
る。
【図24】従来の2次元コードの例を示す図である。
【符号の説明】
1 パーソナルコンピュータ, 3 表示部, 21
LCD, 23 CCDビデオカメラ, 52 CPU, 56
HDD, 81 グラフィックチップ, 83LCDコント
ローラ, 100 オブジェクト, 101 2次元コ
ード
───────────────────────────────────────────────────── フロントページの続き (72)発明者 暦本 純一 東京都品川区東五反田3丁目14番13号 株 式会社ソニーコンピュータサイエンス研究 所内 (72)発明者 末吉 隆彦 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数の方形セルが所定の配列規則に従っ
    て2次元配置された2次元コードを認識する2次元コー
    ド認識処理方法において、 外部から取り込んだ画像情報から、前記2次元コードに
    割り当てられたコードデータを認識する認識処理ステッ
    プと、 前記認識処理ステップによって、時間を隔てて順次複数
    のコードデータが認識された場合、もしくは、同一画像
    情報から複数のコードデータが認識された場合、これら
    複数のコードデータを連結して、拡張されたコードデー
    タを生成する連結処理ステップとを含むことを特徴とす
    る2次元コード認識処理方法。
  2. 【請求項2】 前記連結処理ステップは、 前記認識処理ステップによって認識された複数のコード
    データが、互いに関連するコードデータであるか否かを
    判断する第1のステップと、 前記判断処理ステップで、複数のコードデータが互いに
    関連するコードデータであると判断された場合、これら
    複数のコードデータを連結する第2のステップとを含む
    ことを特徴とする請求項1に記載の2次元コード認識処
    理方法。
  3. 【請求項3】 前記認識処理ステップは、外部から取り
    込んだ画像情報から、前記2次元コードに割り当てられ
    たコードデータと、前記2次元コードの配置情報を認識
    し、 前記連結処理ステップは、前記認識処理ステップによっ
    て認識された配置情報に基づいて、複数のコードデータ
    の優先順位を決定し、決定した優先順位に基づいて複数
    のコードデータを連結することを特徴とする請求項1に
    記載の2次元コード認識処理方法。
  4. 【請求項4】 前記認識処理ステップは、 外部から取り込んだ画像情報から、所定の閾値に基づい
    て2値化データを生成する2値化処理ステップと、 前記2値化処理ステップで生成された前記2値化データ
    に基づいて、前記2次元コードを認識する上で基準とな
    る基準セルを検出する基準セル検出処理ステップと、 前記2値化処理ステップで生成された前記2値化データ
    に基づいて、前記基準セル検出処理ステップで検出され
    た前記基準セルを基準として、所定の探索範囲内に存在
    するコーナーセルを検出するコーナーセル検出処理ステ
    ップと、 前記2値化処理ステップで生成された前記2値化データ
    に基づいて、前記基準セルと前記コーナーセルとによっ
    て囲まれるコード部の領域内に存在する前記2次元コー
    ドに割り当てられたコードデータを検出するコードデー
    タ検出処理ステップとを含むことを特徴とする請求項1
    に記載の2次元コード認識処理方法。
  5. 【請求項5】 前記基準セルは、所定の縦横比の矩形状
    の黒色画素連結領域内に前記2次元コードに関連する白
    抜きの可読情報を含んで構成され、 前記基準セル検出処理ステップは、前記可読情報を含む
    所定の縦横比の矩形状の前記基準セルを検出することを
    特徴とする請求項4に記載の2次元コード認識処理方
    法。
  6. 【請求項6】 前記可読情報は、前記2次元コードのコ
    ード体系に付されたロゴマークであることを特徴とする
    請求項5に記載の2次元コード認識処理方法。
  7. 【請求項7】 複数の方形セルが所定の配列規則に従っ
    て2次元配置された2次元コードを認識する2次元コー
    ド認識処理装置において、 外部から取り込んだ画像情報から、前記2次元コードに
    割り当てられたコードデータを認識する認識処理手段
    と、 前記認識処理手段によって、時間を隔てて順次複数のコ
    ードデータが認識された場合、もしくは、同一画像情報
    から複数のコードデータが認識された場合、これら複数
    のコードデータを連結して、拡張されたコードデータを
    生成する連結処理手段とを含むことを特徴とする2次元
    コード認識処理装置。
  8. 【請求項8】 複数の方形セルが所定の配列規則に従っ
    て2次元配置された2次元コードを認識する2次元コー
    ド認識処理プログラム格納媒体において、 外部から取り込んだ画像情報から、前記2次元コードに
    割り当てられたコードデータを認識する認識処理ステッ
    プと、 前記認識処理ステップによって、時間を隔てて順次複数
    のコードデータが認識された場合、もしくは、同一画像
    情報から複数のコードデータが認識された場合、これら
    複数のコードデータを連結して、拡張されたコードデー
    タを生成する連結処理ステップとを含むことを特徴とす
    る2次元コード認識処理プログラムをコンピュータに実
    行させる2次元コード認識処理プログラム格納媒体。
JP24519499A 1998-08-31 1999-08-31 2次元コード認識処理方法、2次元コード認識処理装置、および2次元コード認識処理プログラム格納媒体 Expired - Fee Related JP3786167B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24519499A JP3786167B2 (ja) 1998-08-31 1999-08-31 2次元コード認識処理方法、2次元コード認識処理装置、および2次元コード認識処理プログラム格納媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP24585798 1998-08-31
JP10-245857 1998-08-31
JP24519499A JP3786167B2 (ja) 1998-08-31 1999-08-31 2次元コード認識処理方法、2次元コード認識処理装置、および2次元コード認識処理プログラム格納媒体

Publications (2)

Publication Number Publication Date
JP2000148904A true JP2000148904A (ja) 2000-05-30
JP3786167B2 JP3786167B2 (ja) 2006-06-14

Family

ID=26537097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24519499A Expired - Fee Related JP3786167B2 (ja) 1998-08-31 1999-08-31 2次元コード認識処理方法、2次元コード認識処理装置、および2次元コード認識処理プログラム格納媒体

Country Status (1)

Country Link
JP (1) JP3786167B2 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469066B2 (en) 2003-04-08 2008-12-23 Nippon Telegraph And Telephone Corporation Information coding apparatus, information decoding apparatus, and method and program for the same
CN100462997C (zh) * 2005-12-06 2009-02-18 索尼株式会社 信息处理设备和方法
US7841013B2 (en) 2006-02-07 2010-11-23 Murata Kikai Kabushiki Kaisha Image forming device, computer program, and data file
US8254683B2 (en) 2005-03-18 2012-08-28 Fujitsu Limited Code image processing method
US8384770B2 (en) 2010-06-02 2013-02-26 Nintendo Co., Ltd. Image display system, image display apparatus, and image display method
JP2013148981A (ja) * 2012-01-17 2013-08-01 Denso Wave Inc 二次元コード読み取り装置
US8512152B2 (en) 2010-06-11 2013-08-20 Nintendo Co., Ltd. Hand-held game apparatus and housing part of the same
US8633947B2 (en) 2010-06-02 2014-01-21 Nintendo Co., Ltd. Computer-readable storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method
US8780183B2 (en) 2010-06-11 2014-07-15 Nintendo Co., Ltd. Computer-readable storage medium, image display apparatus, image display system, and image display method
US8854356B2 (en) 2010-09-28 2014-10-07 Nintendo Co., Ltd. Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method
US8894486B2 (en) 2010-01-14 2014-11-25 Nintendo Co., Ltd. Handheld information processing apparatus and handheld game apparatus
US9128293B2 (en) 2010-01-14 2015-09-08 Nintendo Co., Ltd. Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
JP2015181024A (ja) * 2015-05-14 2015-10-15 オムロン株式会社 作業管理システムおよび作業管理方法
US9278281B2 (en) 2010-09-27 2016-03-08 Nintendo Co., Ltd. Computer-readable storage medium, information processing apparatus, information processing system, and information processing method
US9953376B2 (en) 2013-04-18 2018-04-24 Omron Corporation Work management system and work management method
US10506218B2 (en) 2010-03-12 2019-12-10 Nintendo Co., Ltd. Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
CN111178109A (zh) * 2019-11-28 2020-05-19 北京爱创科技股份有限公司 一种包装关联关系的检验装置、方法及包装箱

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469066B2 (en) 2003-04-08 2008-12-23 Nippon Telegraph And Telephone Corporation Information coding apparatus, information decoding apparatus, and method and program for the same
US8254683B2 (en) 2005-03-18 2012-08-28 Fujitsu Limited Code image processing method
CN100462997C (zh) * 2005-12-06 2009-02-18 索尼株式会社 信息处理设备和方法
US7841013B2 (en) 2006-02-07 2010-11-23 Murata Kikai Kabushiki Kaisha Image forming device, computer program, and data file
US8894486B2 (en) 2010-01-14 2014-11-25 Nintendo Co., Ltd. Handheld information processing apparatus and handheld game apparatus
US9128293B2 (en) 2010-01-14 2015-09-08 Nintendo Co., Ltd. Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
US10506218B2 (en) 2010-03-12 2019-12-10 Nintendo Co., Ltd. Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
US10764565B2 (en) 2010-03-12 2020-09-01 Nintendo Co., Ltd. Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
US8384770B2 (en) 2010-06-02 2013-02-26 Nintendo Co., Ltd. Image display system, image display apparatus, and image display method
US8633947B2 (en) 2010-06-02 2014-01-21 Nintendo Co., Ltd. Computer-readable storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method
US9282319B2 (en) 2010-06-02 2016-03-08 Nintendo Co., Ltd. Image display system, image display apparatus, and image display method
US8780183B2 (en) 2010-06-11 2014-07-15 Nintendo Co., Ltd. Computer-readable storage medium, image display apparatus, image display system, and image display method
US8512152B2 (en) 2010-06-11 2013-08-20 Nintendo Co., Ltd. Hand-held game apparatus and housing part of the same
US10015473B2 (en) 2010-06-11 2018-07-03 Nintendo Co., Ltd. Computer-readable storage medium, image display apparatus, image display system, and image display method
US9278281B2 (en) 2010-09-27 2016-03-08 Nintendo Co., Ltd. Computer-readable storage medium, information processing apparatus, information processing system, and information processing method
US8854356B2 (en) 2010-09-28 2014-10-07 Nintendo Co., Ltd. Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method
JP2013148981A (ja) * 2012-01-17 2013-08-01 Denso Wave Inc 二次元コード読み取り装置
US9959578B2 (en) 2013-04-18 2018-05-01 Omron Corporation Work management system and work management method
US9953375B2 (en) 2013-04-18 2018-04-24 Omron Corporation Work management system and work management method
US9953374B2 (en) 2013-04-18 2018-04-24 Omron Corporation Work management system and work management method
US10019764B2 (en) 2013-04-18 2018-07-10 Omron Corporation Work management system and work management method
US9953376B2 (en) 2013-04-18 2018-04-24 Omron Corporation Work management system and work management method
JP2015181024A (ja) * 2015-05-14 2015-10-15 オムロン株式会社 作業管理システムおよび作業管理方法
CN111178109A (zh) * 2019-11-28 2020-05-19 北京爱创科技股份有限公司 一种包装关联关系的检验装置、方法及包装箱

Also Published As

Publication number Publication date
JP3786167B2 (ja) 2006-06-14

Similar Documents

Publication Publication Date Title
KR100769836B1 (ko) 2차원 코드 인식 처리 방법, 2차원 코드 인식 처리 장치, 및 저장 매체
JP3794463B2 (ja) 多次元コード認識処理方法、多次元コード認識処理装置、および多次元コード認識処理プログラム
JP2000148904A (ja) 2次元コ―ド認識処理方法、2次元コ―ド認識処理装置、および2次元コ―ド認識処理プログラム格納媒体
EP0984385B1 (en) Two-dimensional code recognition processing
US7111787B2 (en) Multimode image capturing and decoding optical reader
JP4674644B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム媒体
US6942151B2 (en) Optical reader having decoding and image capturing functionality
JP3786166B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
CN100517368C (zh) 位置编码的文档图像分析和标签
KR101860569B1 (ko) 문자 및 바코드를 동시에 인식하는 문자 및 바코드 인식 장치 및 그 제어 방법
CN102034073B (zh) 条形码辨识方法及条形码辨识装置
CN100353370C (zh) 对条形码图像解码的方法和系统
EP1300779A2 (en) Form recognition system, form recognition method, program and storage medium
JP2007034625A (ja) 情報表示装置
JP4337597B2 (ja) コードシンボル読取装置、および、プログラム
JP4352287B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム媒体
JP2000148797A (ja) 画像処理装置、画像処理方法、および画像処理プログラム格納媒体
KR20020058161A (ko) 코드화된 패턴 및 이의 코드 추출 방법
JP2007299098A (ja) Qrコード読取装置
KR100784200B1 (ko) 이미지에 따른 코드 정보를 내장한 코드의 판독 방법 및장치
JP5314521B2 (ja) 画像処理システム及び画像処理方法
JP2000047967A (ja) 情報処理装置および方法、情報処理システム、並びに提供媒体
JP2001060251A (ja) 画像処理装置、画像処理方法、及び記録媒体
JP2001092925A (ja) 撮影装置用入力装置、撮影装置及び撮影システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050812

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: 20060301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060314

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

Free format text: PAYMENT UNTIL: 20100331

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100331

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120331

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130331

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees