以下、添付図面を参照して、情報処理装置及びプログラムの実施形態を詳細に説明する。本実施形態では、係る情報処理装置及びプログラムの一実施形態として、スーパーマーケット等の店舗に設けられたチェックアウトシステムの商品読取装置への適用例を示す。
図1は、チェックアウトシステム1の一例の外観斜視図である。図1に示すように、チェックアウトシステム1は、物品の商品識別情報の読み取りを行う商品読取装置101と、商品識別情報が読み取られた商品を客の買上商品として登録して一取引区切りで精算処理を行うPOS端末11とを備える。なお、以下において、商品識別情報は、コード読取情報又は候補商品を示す情報(候補商品情報)であるものとする。コード読取情報は、物品の商品コードの読取処理により得られる商品コードや商品コードに基づく識別情報である。また、候補商品情報は、後述するオブジェクト認識処理により得られる候補商品の識別ID等の識別情報である。
図1の例において、POS端末11は、レジ台41上にドロワ21に載置した状態で設けられる。POS端末11は、上面に、操作用の押下キーが配列されたキーボード22を有する。また、POS端末11は、キーボード22の上方に、ユーザ(一例として以下ではキャッシャとする)が入力等に使用する第1の表示デバイス23と、客が確認に使用する第2の表示デバイス24を有する。第1の表示デバイス23は、液晶等の表示パネル23aを有し、表示パネル23aにタッチパネル26が積層されたタッチ入力式のものである。第2の表示デバイス24は液晶等の表示パネル24aを有する。第2の表示デバイス24は、POS端末11の上部に回転可能に立設されている。ドロワ21は、内部に紙幣や硬貨などを収納し、POS端末11からの制御により内部を開放する。
レジ台41の隣には、レジ台41と共にL字を形成するサッカー台151を設けている。サッカー台151は、上面に、買物カゴ153などを載置するための荷受面152が形成されている。本例では、買物カゴ153として、第1の買物カゴ153aと第2の買物カゴ153bとを示している。第1の買物カゴ153aは、客が持ち込んだ買物カゴである。つまり第1の買物カゴ153aは、商品識別情報が読み取られる前の物品(例えば物品G)の入った買い物カゴである。第2の買物カゴ153bは、商品読取装置101により商品識別情報の読み取りを終えた物品(例えば第1の買物カゴ153aの物品G)を収納するための買物カゴである。キャッシャは、第1の買物カゴ153aから読取前の例えば物品Gを手に取り、商品読取装置101に物品Gの商品識別情報を読み取らせた後、物品Gを第2の買物カゴ153bに移し替える。
商品読取装置101はサッカー台151の荷受面152の中央部に立設され、POS端末11と有線又は無線によりデータ送受信可能に接続された情報処理装置である。商品読取装置101は、ハウジング102の正面に読取窓103が露出されるように配置された読取ユニット110(図2参照)を有する。読取窓103は透明なガラス板等により構成されている。ハウジング102の上部には、表示・操作ユニット104を設けている。表示・操作ユニット104は主にキャッシャが入力に使用するための液晶等の第3の表示デバイス106を有する。第3の表示デバイス106の画面には、タッチパネル105を積層し、画面のタッチ入力を可能にしている。また、第3の表示デバイス106の右隣にキーボード107を設け、キャッシャによるキーボード入力も可能にしている。また、主に客が確認に使用するための第4の表示デバイス109を表示・操作ユニット104の背面側に向けて設けている。
読取ユニット110は、読取窓103の奥に、手や、物品や、固定の構造物といった物体を撮像するための撮像部164(図2参照)を備える。キャッシャは、第1の買物カゴ153aから読取前の例えば物品Gを手に取り、物品Gを第2の買物カゴ153bに移す際に、読取窓103に物品Gを翳して商品を読み取らせる。撮像部164は、読取窓103に翳された物品Gを撮像してフレーム画像を生成する。読取ユニット110は、そのフレーム画像を基に、物品Gを検知する。更に、読取ユニット110は、そのフレーム画像を対象に、物品Gに付されたバーコードやQRコード(登録商標)等のコードシンボルを読み取るコード読取処理や、後述する一般物体認識方式によるオブジェクト認識処理を行う。そして、読取ユニット110は、何れか一方の処理結果から、商品を確定させる。読取ユニット110は、商品を確定させると、確定した商品(商品コードに対応する商品又は候補商品)の商品情報を表示・操作ユニット104に出力する。その後、読取ユニット110は、確定した商品を買上商品として商品登録させるために、その商品の商品識別情報をPOS端末11に通知する。
表示・操作ユニット104は、例えば商品を選択するための商品キーや個数などを入力するためのテンキーなどが配列されたプリセット画面を第3の表示デバイス106に入力可能に表示する。また、読取ユニット110において撮像された物品の商品がコード読取処理又はオブジェクト認識処理の結果に基づいて確定されたとする。その場合、表示・操作ユニット104は、その確定された商品の商品情報を第3の表示デバイス106に表示する。
POS端末11では、商品読取装置101から通知される商品識別情報に基づき、商品識別情報に対応する商品の商品分類、商品名、単価、割引等の商品情報を、登録ファイル(不図示)に登録し、一取引分の登録商品の精算処理を行って売上登録する。
図2は、POS端末11及び商品読取装置101のハードウェア構成を示すブロック図である。POS端末11は、CPU(Central Processing Unit)61、ROM(Read Only Memory)62、RAM(Random Access Memory)63、第1の表示デバイス23、タッチパネル26、第2の表示デバイス24、キーボード22、HDD64、ドロワ21、プリンタ66、通信インターフェース25、接続インターフェース65などを有する。CPU61と、ROM62と、RAM63はバスにより接続されている。また、第1の表示デバイス23、タッチパネル26、第2の表示デバイス24、キーボード22、HDD64、ドロワ21、プリンタ66、通信インターフェース25、接続インターフェース65は、いずれも各種の入出力回路(いずれも図示せず)を介して上記バスに接続されている。
CPU61は、POS端末11の全体の制御を司る中央演算処理装置である。ROM62は固定プログラムなどを格納する不揮発性メモリである。RAM63は、CPU61が作業エリアなどとして使用する揮発性メモリである。
HDD64には、各種プログラムや各種ファイルが記憶されている。各種プログラムは商品販売データ処理用の登録/精算処理のプログラムPRなどである。各種ファイルは、ストアコンピュータSCから配信されて格納されたPLUファイルF1などである。
PLUファイルF1には、店舗に陳列して販売する各物品の商品情報と商品の特徴量とが関連付けて設定されている。商品情報は、商品コード等の商品識別情報や、「野菜」等の商品分類や、「人参」等の商品名や、その他、単価や割引などの情報である。特徴量は、物品のサンプル画像からオブジェクト認識処理と同じ所定のアルゴリズムで事前に抽出した物品の特徴を示す特徴量である。
通信インターフェース25は、ストアコンピュータSCとデータ通信を行うためのネットワークカード等である。ストアコンピュータSCは、店舗のバックヤード等に設置されたものである。ストアコンピュータSCのHDD(図示せず)には、POS端末11に配信されるPLUファイルF1が格納されている。
接続インターフェース65は、商品読取装置101との間の通信を可能にするインターフェースである。通信は、有線又は無線により行う。プリンタ66は、取引内容をレシート等に印字し、そのレシートを排出する印字装置である。
商品読取装置101は、CPU161、ROM162、RAM163、撮像部164、音声出力部165、タイマー166、接続インターフェース175、接続インターフェース176、タッチパネル105、第3の表示デバイス106、キーボード107、第4の表示デバイス109などを有する。CPU161と、ROM162と、RAM163はバスにより接続されている。また、撮像部164、音声出力部165、タイマー166、接続インターフェース175は、いずれも各種の入出力回路(いずれも図示せず)を介して上記バスに接続されている。また、接続インターフェース175と接続インターフェース176とは、有線又は無線により通信が可能に接続されている。タッチパネル105、第3の表示デバイス106、キーボード107、第4の表示デバイス109は、いずれも各種の入出力回路(いずれも図示せず)を介して接続インターフェース176に接続されている。
CPU161は、商品読取装置101の全体の制御を司る中央演算処理装置である。ROM162は制御プログラムなどを格納する不揮発性メモリである。制御プログラムには、コード読取処理やオブジェクト認識処理を同時に開始させたり、オブジェクト認識処理により得られる結果の出力を保留したりするプログラムなども含まれる。RAM163は、CPU161が作業エリアなどとして使用する揮発性メモリである。RAM163の記憶領域の一部は、後の動作フローで説明する「商品検知フラグ」と「オブジェクト認識フラグ」のそれぞれの状態フラグを設定するための領域として使用する。
撮像部164は、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)などの撮像素子を有するカラーイメージセンサである。撮像部164は、CPU161からの撮像オン信号により撮像を開始し、読取窓103を介して入射する光(物体の反射光)を所定のフレームレート(例えば30fpsなど)で電気信号に変換し、フレーム画像を順次出力する。
音声出力部165は、予め設定された読取音(“ピッ”)や警告音や音声等を再生するための再生回路やスピーカ等を有する。音声出力部165は、CPU161からの制御信号により読取音や警告音や音声等を再生して読取状態等を音で報知する。
タイマー166は、CPU161の制御信号により計時を開始し、設定時間(本例では後述する優先期間の終了を示す時間)になるとCPU161に優先期間の終了を示す信号を出力する。
更に、CPU161には接続インターフェース175が接続されている。接続インターフェース175は、POS端末11の接続インターフェース65と通信接続し、商品読取装置101とPOS端末11との間のデータ送受信を可能にする。また、接続インターフェース175は、接続インターフェース176と通信接続し、表示・操作ユニット104との間でデータ送受信を行う。
接続インターフェース175は、POS端末11や商品読取装置101の表示・操作ユニット104との間の通信を可能にするインターフェースである。接続インターフェース176は、POS端末11や商品読取装置101の読取ユニット110との間の通信を可能にするインターフェースである。
次に、POS端末11及び商品読取装置101の機能ブロックの構成について説明する。
図3は、POS端末11及び商品読取装置101のそれぞれの機能ブロックの構成の一例を示す図である。商品読取装置101では、CPU161がROM162の格納プログラムを適宜実行して、画像取込部51、商品検知部52、コード読取部53、オブジェクト認識部54、読取制御部55、表示制御部56、入力受付部57、確定部58などの機能部を実現する。POS端末11では、CPU61がROM62やHDD64の格納プログラムを適宜実行して、売上登録部611などの機能部を実現する。
画像取込部51は、撮像部164に撮像オン信号を出力して撮像部164に撮像動作を開始させる。画像取込部51は、撮像動作開始後に撮像部164から出力されるフレーム画像を取り込み、RAM163に順次保存する。
商品検知部52は、画像取込部51によりRAM163にフレーム画像が保存されると、連続する複数のフレーム画像に基づいて物品が読取窓103に翳されたことを検知する。具体的に、商品検知部52は、撮像部164からフレーム画像が出力されると、その出力されたフレーム画像をRAM163から読み出し、直近に読み出したフレーム画像との輝度を比較する。商品検知部52は、その輝度の比較において、輝度階調に差分があった場合に手や物品等の何等かの写り込みがあるフレーム画像と判断する。更に、商品検知部52は、写り込みのあるフレーム画像と連続するフレーム画像を2値化して物品の輪郭線を抽出する。そして、商品検知部52は、連続するフレーム画像の輪郭線の位置に変化があったときに、その輪郭線内の画像を読取窓103に翳された物品を示す物品画像として特定する。こうして、商品検知部52は、物品が読取窓103に翳されたことを検知する。
なお、物品画像を特定する方法は上記に限らず、他の方法を用いても良い。例えば、フレーム画像内の物品の輪郭線ではなく、肌色領域の有無により特定するようにしても良い。肌色領域が有る場合、キャッシャの手の写り込みがあることが予想される。従って、そのフレーム画像において輪郭線を抽出し、手の形状を示す輪郭線の、手で物品を把持する位置の輪郭線内の画像を、物品画像として特定する。
コード読取部53は、物品に付されているバーコードや二次元コード(例えばQRコード(登録商標))等のコードシンボルを読み取るためのコード読取処理(読取処理)を行って、コード化されている商品コードを出力する。具体的に、コード読取部53は、RAM163から物品画像を含むフレーム画像を読み出し、そのフレーム画像にコードシンボルのデコード処理を実行する。コード読取部53は、そのデコード処理により所定形式の商品コードを得ると、当該商品コードを例えばPLUファイルF1に照会する。そして、コード読取部53は、同じ商品コードが存在する場合に、コード読取情報として当該商品コードを読取制御部55に出力する。
オブジェクト認識部54は、フレーム画像内の物品画像を対象にオブジェクト認識処理(抽出処理の一例)を施し、物品の候補商品(候補商品を示す候補商品情報)を抽出して出力する。具体的に、オブジェクト認識部54は、RAM163から物品画像を含むフレーム画像を読み出し、物品画像から物品の色合いや表面の凹凸等の表面状態を物品の特徴量として読み取る。そして、オブジェクト認識部54は、読み取った特徴量をPLUファイルF1に登録されている各商品の特徴量と照合し、類似度の高い候補商品(候補商品情報)を抽出する。その後、オブジェクト認識部54は、抽出した候補商品(候補商品情報)を読取制御部55に出力する。
本実施形態では、オブジェクト認識部54は、抽出した候補商品(候補商品情報)の内、類似度が閾値以上で且つ最も高い候補商品(候補商品情報)を読取制御部55に出力する。抽出した候補商品(候補商品情報)の全ての類似度が閾値未満の場合、オブジェクト認識部54は、オブジェクト認識ができなかったものとし、読取制御部55への出力を行わない。この場合、オブジェクト認識部54は、引き続き取り込まれたフレーム画像をRAM163から読み出し、その物品画像に対してオブジェクト認識処理を施す。
類似度は、例えばPLUファイルF1内の各商品の特徴量を100%=「類似度:1.0」とした場合に、物品画像の特徴量がどの程度類似しているかを示すものである。類似度の結果は、絶対評価で算出しても良いし、相対評価で算出しても良い。
例えば類似度を絶対評価で算出するとする。その場合、物品画像の特徴量と、PLUファイルF1の各登録商品の特徴量とを1対1で比較し、この比較の結果算出される類似度をそのまま採用する。ここで類似度95%を閾値にしたとする。その場合、オブジェクト認識部54は、類似度95%以上の登録商品があったときにその内の類似度の最も高い商品を読取制御部55に出力する。一方、オブジェクト認識部54は、全ての登録商品が類似度95%未満であった場合には、読取制御部55への出力を行わない。つまり、オブジェクト認識ができなかったものとし、続いて取り込まれたフレーム画像を対象に商品の類似度を算出し直す。
また、類似度を相対評価で算出するとする。その場合、PLUファイルF1の各登録商品との類似度の総和が1.0(100%)となるよう算出する。例えばPLUファイルF1に5つの登録商品(第1の商品、第2の商品、第3の商品、第4の商品、第5の商品)の特徴量が登録されているものとする。その場合の類似度は、例えば第1の商品に対する類似度「0.6」、第2の商品に対する類似度「0.1」、第3の商品に対する類似度「0.1」、第4の商品に対する類似度「0.1」、第5の商品に対する類似度「0.1」等とし、類似度の総和が常に1.0になるようにする。ここで類似度0.5を閾値にしたとする。その場合、オブジェクト認識部54は、類似度0.5以上の登録商品があったときに、その登録商品を読取制御部55に出力する。一方、オブジェクト認識部54は、全ての登録商品が類似度0.5未満であった場合には、読取制御部55への出力を行わない。つまり、オブジェクト認識ができなかったものとし、続いて取り込まれたフレーム画像を対象に商品の類似度を算出し直す。
なお、画像中に含まれる物体を認識するオブジェクト認識は、一般物体認識(generic object recognition)とも呼ばれている。一般物体認識の各種認識技術については、下記の文献のように解説されたものがあるため、詳しくはそちらを参照されたい。
柳井 啓司,“一般物体認識の現状と今後”,情報処理学会論文誌,Vol.48,No.SIG16 [平成22年8月10日検索],インターネット<URL: http://mm.cs.uec.ac.jp/IPSJ-TCVIM-Yanai.pdf >
Jamie Shottonら,“Semantic Texton Forests for Image Categorization and Segmentation”,[平成22年8月10日検索],インターネット<URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.3036&rep=rep1&type=pdf >
読取制御部55は、コード読取処理とオブジェクト認識処理とを同時に開始させる。そして、読取制御部55は、開始から所定時間までの期間(優先期間)にオブジェクト認識処理の結果が得られた場合、その結果の出力を一時保留し、コード読取処理によって読み取られた商品コードを確定部58に優先的に出力する。また、読取制御部55は、優先期間内にコード読取処理により商品コードが得られなかった場合は、優先期間内に得られたオブジェクト認識処理の結果を優先期間が終了した際に確定部58に出力する。また、読取制御部55は、優先期間内にオブジェクト認識処理の結果も得られなかった場合は、優先期間の終了後に、コード読取処理及びオブジェクト認識処理により先に得られた方の情報を確定部58に出力する。
ここで、優先期間の設定方法の一例について説明する。先ず、バーコードの付された物品のコード読取処理を1点毎に試行し、1点毎に、バーコードの読み取りが完了するまでの経過時間を求める。そして、試行した物品の内の、所定数の物品又は全ての物品に適合する、バーコードの読み取りが完了するまでの経過時間(又はその直近の時間)を、読取制御部55が優先期間の終了を検出するためのタイマー166に設定する。具体的に数値で示すと、撮像部164の撮像スピードが30fpsであるとすると、300msec〜500msec程度の値を設定する。この設定値は予めROM162等に記憶させておき、タイマー166の起動時などにその設定値が設定されるようにする。上記の例では、300msec〜500msec内の任意の値をROM162等に設定する。なお、優先期間の終了を検出するための情報としてフレーム数をROM162等に記憶させ、読取制御部55がフレーム数に基づいて優先期間の終了を検出できるように変形しても良い。例えば優先期間を「500msec」とした場合には500msec相当のフレーム数を記憶させる。
読取制御部55は、開始から所定時間の経過をタイマー166の出力によりモニタし、所定時間が経過すると、優先期間の終了と判断する。
表示制御部56は、各種画面を第3の表示デバイス106に表示させる。表示制御部56は、各種画面として、例えば商品を選択するための商品キーや個数などを入力するためのテンキーなどが配列されたプリセット画面を表示させる。また、表示制御部56は、オブジェクト認識部54の結果を示す画面や、コード読取部53やオブジェクト認識部54の結果に基づいて確定された商品の情報を示す画面などを表示させる。
入力受付部57は、タッチパネル105またはキーボード107を介しての各種入力操作を受付ける。例えば第3の表示デバイス106に入力画面が表示されている場合に、タッチパネル105のタッチ操作やキーボード107の押下操作を、入力画面上の対応する操作子の操作情報等として受け付ける。
確定部58は、読取制御部55が出力する商品コードや候補商品情報の商品を買上商品として確定し、その商品の商品識別情報をPOS端末11の売上登録部611に通知する。売上登録部611への通知は、確定部58が接続インターフェース175に売上登録部611への通知を指示することにより行う。これにより、接続インターフェース175から接続インターフェース65に商品識別情報が送信され、その商品識別情報が売上登録部611に通知される。なお、商品識別情報は、POS端末11で商品を一意に識別することのできる情報であれば良い。商品識別情報として、例えば、商品コードや、商品名などを利用することができる。
売上登録部611は、確定部58から送信された商品識別情報を受信し、商品識別情報が示す商品を買上商品として登録する。そして、売上登録部611は、例えばタッチパネル26などからの締めの入力操作に基づき、それまでに登録した一取引分の商品の精算処理を行って、登録商品を売り上げる。
次に、チェックアウトシステム1の動作について説明する。
図4は、チェックアウトシステム1の商品登録及び精算処理の一取引分の処理の一例を示すフロー図である。以下、図4に示すフロー図を例にチェックアウトシステム1の動作について説明する。
先ず、POS端末11が商品読取装置101に対して商品読取処理の開始を指示する(S1)。例えば、キャッシャがキーボード22やタッチパネル26の所定キーを操作し、商品登録処理の開始を宣言する。POS端末11は、その宣言により、商品読取装置101に対して商品読取処理の開始を指示するための読取開始信号を送信する。また、POS端末11は、商品読取装置101から商品読取処理等の結果として通知される商品識別情報を売上登録部611で待ち受ける。売上登録部611は、CPU61がROM62やHDD64などに格納された売上登録に係るプログラムを実行して実現する。
商品読取装置101は、ステップS1において商品読取装置101から送信された読取開始信号を受信すると、所定の商品読取処理を行う(S2)。具体的に、商品読取装置101は、撮像部164(図2参照)の撮像を開始し、読取窓103を含む撮像範囲のフレーム画像を取り込む。更に、商品読取装置101は、フレーム画像から読取窓103に翳された物品を検知するとコード読取処理とオブジェクト認識処理とを同時に走らせる。商品読取装置101は、優先期間内にオブジェクト認識処理の結果を得ると、その結果を一時保留する。そして、商品読取装置101は、優先期間内にコード読取処理の結果が得られない場合に、優先期間内に得たオブジェクト認識処理の結果を優先期間の終了後に買上商品として確定する。なお、この一連の商品読取処理については、その処理の一例として示すフロー図(図5)を用いて後に改めて説明する。
ステップS2の処理後、商品読取装置101は、ステップS2で確定させた商品の商品識別情報をPOS端末11の売上登録部611に通知する(S3−1)。
ここで、商品読取装置101は、上記一連の商品読取処理に並行して、キャッシャによる商品キーからの商品識別情報の入力も受け付ける。具体的に、表示制御部56がプリセット画面を第3の表示デバイス106に表示し、入力受付部57がキャッシャによるタッチパネル105やキーボード107からの商品キーの操作入力を受け付ける。キャッシャが商品キーを操作した場合に、商品読取装置101は当該商品キーに対応する商品識別情報をPOS端末11の売上登録部611に通知する。
続いて、POS端末11は、商品読取装置101から商品識別情報の通知を受信し、その商品を買上商品として登録処理する(S4−1)。具体的には、売上登録部611が上記通知を受信する。そして、売上登録部611は、通知された商品識別情報に対応する各種商品情報(価格や割引等)をPLUファイルF1から抽出する。更に、売上登録部611は抽出した情報一式を買上商品として登録ファイル(不図示)等に登録する。
買上商品を全て読み取るまで、ステップS3−NとステップS4−Nを繰り返す。ただし、N=2、3、・・・を示す整数とする。
続いて、POS端末11は、商品読取装置101から商品読取処理の終了を示す読取終了信号を受信し(S5)、登録した一取引分の商品の精算処理を行う(S6)。例えばキャッシャが商品読取装置101のタッチパネル105やキーボード107の締めキーを押下する。すると、商品読取装置101から読取終了信号が送信され、この信号をPOS端末11が受信する(S5)。POS端末11は、その読取終了信号の受信により、登録ファイルの一取引分の商品を抽出し、合計金額やつり銭額を算出するなどの精算処理を行う(S6)。
次に、図4のステップS2、ステップS3に示す一連の商品読取処理の具体例を示す。一連の商品読取処理は、CPU161がROM162の格納プログラムを実行し、画像取込部51、商品検知部52、コード読取部53、オブジェクト認識部54、読取制御部55、入力受付部57、確定部58を実現することにより行われる。
図5は、一連の商品読取処理の具体例のフロー図である。以下では、上記各部が実現されているものとして説明する。また、本例では、読取制御部55がRAM163に「商品検知フラグ」と「オブジェクト認識フラグ」のフラグ領域を確保し、フラグの設定に応じて処理を制御する例を示す。
先ず、読取制御部55が、RAM163の「商品検知フラグ」及び「オブジェクト認識フラグ」にデフォルト値の「0」を設定する(S21、S22)。
続いて、画像取込部51が撮像部164に撮像オン信号を出力して撮像部164からフレーム画像を取り込み、商品検知部52がそのフレーム画像を対象に物品の画像を含むフレーム画像を仕分ける(S23)。この仕分処理として、商品検知部52は、例えば画像取込部51が一つ前に取り込んだフレーム画像から輝度階調の差を求める。輝度階調の差がある場合、各フレーム画像に物品の画像が含まれている可能性がある。従って、その場合、商品検知部52は、各フレーム画像から更に物体の輪郭線を抽出し、それぞれの物体の輪郭線の位置を比較する。この比較により輪郭線の位置に変化があるものは、物品を示す輪郭線である可能性が高い。その場合に、商品検知部52は、画像取込部51が取り込んだフレーム画像を読取対象のフレーム画像として仕分ける。
続いて、商品検知部52が、物品が読取窓103に翳されているかをフレーム画像から判定する(S24)。ここで、商品検知部52は、ステップS23の仕分処理により読取対象のフレーム画像を得た場合に、物品が読取窓103に翳されていると判定する(ステップS24:Yes判定)。一方、商品検知部52は、ステップS23で読取対象のフレーム画像が得られなかった場合に、物品が読取窓103に翳されていないと判定する(ステップS24:No判定)。
ステップS24がYes判定であったとする。すると、続いて、読取制御部55が、RAM163の「商品検知フラグ」の値を読み取って「1」に設定されているかを判定する(S25)。1巡目は、商品検知フラグが「0」であるため、ステップS25はNo判定となる。2巡目以後は、1巡目のステップS28で「商品検知フラグ」が「1」に設定されるため、ステップS33で「商品検知フラグ」が「0」に戻されるまでの間、ステップS25はYes判定となる。
ステップS25がNo判定であったとする。すると、続いて読取制御部55は、コード読取部53とオブジェクト認識部54に起動を指示し、コード読取処理とオブジェクト認識処理とを同時に開始させる(S26)。これにより、コード読取部53とオブジェクト認識部54は、ステップS23で読取対象として仕分けられたフレーム画像を対象に、同時スタートでコード読取処理とオブジェクト認識処理を実行し、それぞれの処理を並列に処理する。
更に読取制御部55は優先期間の終了のタイミングを検出するためのタイマー166をスタートさせる(S27)。具体的に、読取制御部55は優先期間を示す情報(例えば500msec等)がセットされたタイマー166に開始信号を出力して優先期間のカウントを開始させる。
そして、読取制御部55はRAM163の「商品検知フラグ」の設定を「1」に変更し(S28)、ステップS29の処理に移行する。
なお、ステップS25がYes判定であった場合は、上述したステップS26〜S28の処理をとばして、次のステップS29の処理に移行する。
続いて、読取制御部55は、コード読取部53により商品コードが読み取られたかを判定する(S29)。読取制御部55は、コード読取部53からコード読取処理の結果が返ると、コード読取部53により商品コードが読み取られたと判定する(ステップS29:Yes判定)。また、コード読取部53からコード読取処理の結果が返らないと、コード読取部53により商品コードが読み取られていないと判定する(ステップS29:No判定)。No判定となる場合は、コード読取部53によるコード読取処理がまだ試行中の場合などである。例えば物品に付されたバーコードがフレーム画像に含まれていないため、コード読取部53がその商品コードをまだ読み取れない場合である。また、物品にバーコードが付されていないため、コード読取処理自体が不可能な場合である。
ステップS29がYes判定であったとする。すると、続いて確定部58が、読み取られた商品コードに対応する商品識別情報をPOS端末11(売上登録部611)に通知する(S30)。具体的には、読取制御部55はコード読取部53から商品コードが返ると、その商品コードを確定部58に出力する。確定部58はその商品コード又はそれに対応する他の商品識別情報を売上登録部611に通知する。
ステップS30の通知後、読取制御部55は、コード読取処理及びオブジェクト認識処理を初期化する(S31)。例えば、読取制御部55はコード読取部53やオブジェクト認識部54に指示し、コード読取処理及びオブジェクト認識処理を処理の開始前の状態に初期化させる。また、読取制御部55は、RAM163に保存されているフレーム画像や、ステップS36で表示に使用される候補商品の表示情報や、ステップS37でRAM163に保存される候補商品(候補商品情報)等をクリアする。ステップS36、S37の処理については後述する。更に、読取制御部55は、ステップS27でスタートさせたタイマー166を停止し、初期状態にリセットする(S32)。また、読取制御部55は、RAM163の「商品検知フラグ」及び「オブジェクト認識フラグ」の設定をデフォルト値「0」に戻す(S33)。そして、ステップS33の処理が終わると、ステップS23の処理に移行する。一方、ステップS29がNo判定であった場合、読取制御部55は次に示す処理を行う。
先ず、読取制御部55は、オブジェクト認識部54から結果が得られたか判定する(S34)。例えば、オブジェクト認識部54から読取制御部55に、類似度が所定の閾値を超える最上位の候補商品情報が返るとする。その場合、読取制御部55は、オブジェクト認識部54から結果が得られたと判定する(ステップS34:Yes判定)。一方、オブジェクト認識部54からオブジェクト認識処理の結果が何も返らない場合、読取制御部55は、オブジェクト認識部54から結果が得られていないと判定する(S34:No判定)。ここでNo判定となる場合は、オブジェクト認識部54によるオブジェクト認識処理がまだ試行中の場合などである。例えば読取対象のフレーム画像の数が不足しているなどの理由で、オブジェクト認識処理が行えない場合である。また、物品の向きが悪いために類似度が所定の閾値を超えるものが得られない場合などである。
ステップS34がYes判定の場合、読取制御部55は、RAM163の「オブジェクト認識フラグ」の値を読み取り、「オブジェクト認識フラグ」が「1」に設定されているかを判定する(S35)。初回は、「オブジェクト認識フラグ」が「0」であるため、ステップS35はNo判定となる。
ここでステップS35がNo判定であったとする。すると、読取制御部55は、オブジェクト認識部54から返った候補商品情報の画像や商品情報等を第3の表示デバイス106に表示させる(S36)。更に、読取制御部55は、オブジェクト認識部54から返った候補商品情報の、確定部58への出力、つまり買上商品としての確定を、一時保留する制御を行う(S37)。具体的に、読取制御部55は、オブジェクト認識部54から返った候補商品情報をRAM163に保存しておく。そして、読取制御部55は、優先期間が終了するまでの間、つまりタイマー166がタイムアップを示す信号を出力するまでの間、確定部58への候補商品情報の出力を保留する。そして、読取制御部55は、RAM163のオブジェクト認識フラグの設定を「0」から「1」に変更し(S38)、ステップS39の処理に移行する。なお、ステップS36の表示情報やステップS37の保留情報は、ステップS31の処理でRAM163からクリアするものとする。
一方、ステップS35がYes判定の場合、ステップS36〜ステップS38をとばしてステップS39の処理に移行する。
続いて、読取制御部55は、優先期間が終了したかを判定する(S39)。本例では、読取制御部55は、タイマー166の出力を読み取り、タイマー166からタイムアップを示す信号が出力されている場合に優先期間が終了したと判定する(ステップS39:Yes判定)。タイマー166からタイムアップを示す信号が出力されていない場合は、読取制御部55は、優先期間内であると判定する(ステップS39:No判定)。ステップS39がNo判定の場合、ステップS23の処理に戻る。
一方、ステップS39がYes判定の場合、読取制御部55はオブジェクト認識処理により得られた候補商品情報を確定部58に出力し、その商品識別情報を売上登録部611に通知させる(S40)。例えば、読取制御部55は、一時的に確定部58への出力を保留した候補商品情報をRAM163から読み出し、それを確定部58に対して出力する。また、優先期間内に候補商品情報が得られなかった場合の優先期間後の処理においては、読取制御部55は、直近のステップS34の時点で得られた候補商品情報を確定部58に対して出力する。確定部58は、読取制御部55から出力された候補商品情報の商品を買上商品として自動確定し、その候補商品の商品識別情報を売上登録部611に通知する。そして、ステップS31の処理に移行する。
なお、ステップS34がNo判定の場合、読取制御部55は、ステップS39と同様に、優先期間が終了したかを判定する(S41)。更にステップS41がNo判定の場合、読取制御部55は、商品キーが押下されたか否かを判定する(S42)。ここで商品キーが押下されている場合は(ステップS42:Yes判定)、確定部58が商品キーに対応する商品識別情報を売上登録部611に通知する(S43)。ステップS43の処理後は、ステップS31に移行する。一方、商品キーが押下されていない場合は(ステップS42:No判定)、ステップS23の処理に移行する。
また、ステップS41がYes判定の場合は、読取制御部55は、ステップS35と同様に、RAM163の「オブジェクト認識フラグ」の値を読み取り、「オブジェクト認識フラグ」が「1」に設定されているかを判定する(S44)。ステップS26のオブジェクト認識処理の開始後にステップS34で1度でもYes判定になれば、「オブジェクト認識フラグ」は「1」になる。従って、そのような場合は、ステップS44がYes判定となり、ステップS40の処理に移行する。つまり、読取制御部55は一時的に確定部58への出力を保留した候補商品情報を確定部58に出力し、その商品識別情報を売上登録部611に通知させる。一方、ステップS34で1度もYes判定にならなかった場合は、「オブジェクト認識フラグ」は「0」のままとなる。その場合は、ステップS44はNo判定となって、ステップS42の処理に移行する。
また、ステップS24がNo判定の場合、読取制御部55は、タイマー166が起動中であるかを判定する(S45)。タイマー166が起動中である場合(ステップS45:Yes判定)、ステップS41の処理に移行する。タイマー166が停止している場合(ステップS45:No判定)、ステップS23の処理に移行する。
以上の処理において、優先期間内にコード読取部53から商品コードが得られると、ステップS29がYes判定となり、ステップS30が実行される。これにより、商品読取装置101はPOS端末11に商品コードに基づく商品識別情報を送信する。
また、優先期間内にコード読取部53よりも前にオブジェクト認識部54から結果が得られるとする。その場合、ステップS34がYes判定となって、ステップS37で一時的にその結果の出力を保留する。その後、優先期間内にコード読取部53から商品コードが得られると、ステップS29がYes判定となり、ステップS30が実行される。つまり、商品読取装置101がPOS端末11に商品コードに基づく商品識別情報を送信する。その場合、ステップS37で一時的に出力が保留された結果はステップS31において破棄される。
また、優先期間内にコード読取部53から商品コードが得られなかったとする。その場合、優先期間内にオブジェクト認識部54から結果が得られていれば、優先期間の終了後に行われる最初のステップS39又はステップS41の判定処理がYes判定となり、ステップS40が実行される。つまり、商品読取装置101はPOS端末11にステップS37で一時的に出力が保留された上記結果の商品識別情報を送信する。
また、優先期間内にコード読取部53からもオブジェクト認識部54からも結果が得られなかったとする。その場合、優先期間の終了後に行われる最初のステップS44の判定でNo判定となる。そして、ステップS42(No判定)、ステップS23、S24(Yes判定又はNo判定)、S25(Yes判定)、S29(No判定)、S34(No判定)、S41(Yes判定)、S44(No判定)のループ処理を、ステップS29、ステップS34、又はステップS42の何れかの判定結果がYes判定になるまで繰り返す。
以上のように、本実施形態では、情報処理装置としての商品読取装置101は、撮像手段としての撮像部164、取込手段としての画像取込部51、検知手段としての商品検知部52、第1の抽出手段としてのコード読取部53、第2の抽出手段としてのオブジェクト認識部54、指示手段及び通知制御手段としての読取制御部55並びに確定部58を備える。
この構成により、商品読取装置101は、コード読取処理とオブジェクト認識処理を同時に開始させる。そして、優先期間内は、オブジェクト認識処理の結果がコード読取処理の結果よりも先に得られたとしても、そのオブジェクト認識処理の結果を保留し、後から得られるコード読取処理の結果を物品を示す商品識別情報として適用する。優先期間内にコード読取処理の結果が得られない場合には、優先期間内に得られ、保留したオブジェクト認識処理の結果を、物品を示す商品識別情報として適用する。
これにより、コード読取処理の試行後、その間に結果が得られていれば直ちにオブジェクト認識処理の結果を取得できる。また、その間に結果が得られていなくても、既にオブジェクト認識処理は開始されているため、コード読取処理の試行後の早い段階でオブジェクト認識処理の結果を取得できる。従って、一物品当たりのオブジェクト認識処理の結果の取得時間を短縮することが可能になる。
(変形例)
実施形態では、オブジェクト認識部54が、抽出した候補商品(候補商品情報)の内、類似度が閾値以上で且つ最も高い候補商品(候補商品情報)を読取制御部55に出力し、その商品を確定部58が買上商品として自動確定する態様のものについて示した。ここでは、オブジェクト認識部54が、抽出した候補商品(候補商品情報)の上位グループを読取制御部55に出力し、確定部58がそのグループから一つの候補商品(候補商品情報)をキャッシャの入力に応じて確定させる変形例を示す。以下では、実施形態と重複する説明は適宜省略し、変形例の主な特徴について説明する。
変形例のチェックアウトシステムにおいて、オブジェクト認識部54(図3参照)は、オブジェクト認識処理により候補商品(候補商品情報)を抽出すると、その内の上位グループ(例えば上位6点の候補商品情報など)を読取制御部55(図3参照)に出力する。
読取制御部55は、上位グループの候補商品情報を取得すると、キャッシャが選択する一つの候補商品(候補商品情報)を入力受付部57(図3参照)から取得するまで、確定部58(図3参照)への候補商品情報の出力を保留する。従って、この間、読取制御部55は、上位グループの候補商品情報をRAM163に記憶させておく。また、読取制御部55は、上位グループの候補商品情報を取得すると、表示制御部56(図3参照)に上位グループの候補商品の表示を指示する。また、読取制御部55は、入力受付部57から、キャッシャにより選択された一つの候補商品を示す情報を取得すると、その情報に対応するRAM163の候補商品情報を確定部58に出力する。
表示制御部56は、読取制御部55から上位グループの候補商品の表示が指示されると、上位グループの候補商品の表示情報を生成して第3の表示デバイス106(図2参照)に出力する。
入力受付部57は、第3の表示デバイス106に上位グループの候補商品が表示されると、それらの内の一つの候補商品のキャッシャによる選択入力を受け付ける。
確定部58は、キャッシャにより一つの候補商品が選択された場合、その商品を買上商品として確定する。
次に、変形例の商品読取装置の読取制御フローについて説明する。
図6は、変形例の商品読取装置の読取制御フロー図である。図6は、実施形態の商品読取装置101の読取制御フロー図(図5参照)に候補商品の表示処理や判定処理などを追加したものである。以下では、図5と異なる部分について説明する。
先ず、ステップS36からの処理を示す。ステップS36において、読取制御部55は、オブジェクト認識部54から返った上位グループの候補商品(候補商品情報)の選択画面を第3の表示デバイス106に表示させる。具体的に、読取制御部55は表示制御部56に上位グループの候補商品の選択画面の表示を指示する。そして、表示制御部56が上位グループの候補商品の選択キーを含む表示画面情報を生成して第3の表示デバイス106にその表示画面情報を出力する。これにより、上位グループの候補商品の選択画面を第3の表示デバイス106に表示させる。更に、ステップS37において、読取制御部55は、オブジェクト認識部54から返った上位グループの候補商品情報をRAMに一時的に保存しておき、確定部58への出力を保留する。ステップS38では、読取制御部55は、RAM163のオブジェクト認識フラグの設定を「0」から「1」に変更する。
続いて、読取制御部55は、上位グループの候補商品の中から一つの候補商品が選択されたかを判定する(S50)。具体的に、第3の表示デバイス106に表示されている上位グループの候補商品から、キャッシャが対応する選択キーをタッチするなどして一つの候補商品を選択するとする。すると、その選択キーの入力を入力受付部57が受け付ける。読取制御部55は、入力受付部57から入力情報を取得し、その入力情報に、RAMに記憶した上位グループの候補商品情報の内の何れか一つの候補商品情報が含まれているかを、互いに対比させるなどして、上記判定を行う。
ここで、キャッシャが一つの候補商品を選択したとする(ステップS50:Yes判定)。その場合は、ステップS40に移行し、読取制御部55は、オブジェクト認識処理により得られた候補商品情報を確定部58に出力する。ただし、確定部58に出力する候補商品情報は、キャッシャにより選択された一つの候補商品情報のみとする。
一方、キャッシャが候補商品を選択していない場合(ステップS50:No判定)、読取制御部55は、ステップS39の優先期間の終了を判定する処理を行う。優先期間内の場合(ステップS39:No判定)、ステップS23の処理に移行する。優先期間を終了している場合(ステップS39:Yes判定)、読取制御部55は、その旨を示す情報を第3の表示デバイス106の選択画面に表示させる(S51)。具体的に、読取制御部55は表示制御部56に対し、選択キーの入力をキャッシャに促す画面の表示を指示する。そして、表示制御部56が、上記選択画面に選択キーの入力を促す情報を設定してなる画面の表示画面情報を生成して第3の表示デバイス106にその表示画面情報を出力する。選択キーの入力を促す情報は、例えば、「選択キーを押下してください」などのメッセージや、選択キー又は背景画面等の所定色への変更や、画面の点滅など、キャッシャが視覚的に判断できるものを適宜設定して良い。
ステップS51の処理が終わると、ステップS50の処理に移行し、再び、上位グループの候補商品の中から一つの候補商品が選択されたかを判定する。ステップS50(No判定)、S39(Yes判定)、S51、S50の順のループ処理は、キャッシャが一つの候補商品を選択し、ステップS50でYes判定となるまで繰り返す。
次に、ステップS34(No判定)からの処理を示す。ステップS34において、読取制御部55がオブジェクト認識部54から結果が得られていないと判定した(ステップS34:No判定)とする。すると、読取制御部55は、ステップS50と同様に、上位グループの候補商品の中から一つの候補商品が選択されたかを判定する(S52)。ステップS26のオブジェクト認識処理の開始後にステップS34で1度でもYes判定になれば、第3の表示デバイス106に上位グループの候補商品が表示されている。従って、キャッシャが対応する選択キーをタッチすれば、ステップS52がYes判定となる。一方、ステップS34で1度もYes判定になっていない場合は、第3の表示デバイス106に上位グループの候補商品が表示されないため、ステップS52はNo判定となる。
ステップS52がYes判定の場合、ステップS40に移行し、読取制御部55は、オブジェクト認識処理により得られた候補商品情報を確定部58に出力する。ただし、確定部58に出力する候補商品情報は、キャッシャにより選択された一つの候補商品情報のみとする。
ステップS52がNo判定の場合、読取制御部55は、ステップS41の優先期間の終了を判定する処理を行う。優先期間内の場合(ステップS41:No判定)、ステップS42の処理に移行する。優先期間を終了している場合(ステップS41:Yes判定)、読取制御部55は、RAM163の「オブジェクト認識フラグ」の値を読み取り、「オブジェクト認識フラグ」が「1」に設定されているかを判定する(S44)。
ここで、ステップS44がYes判定であったとする。その場合、読取制御部55は、ステップS51と同様にして、キャッシャに選択キーの入力を促す情報を第3の表示デバイス106の選択画面に表示させる(S53)。ステップS53の処理が終わると、ステップS52の処理に移行し、読取制御部55は、再び、上位グループの候補商品の中から一つの候補商品が選択されたかを判定する。その後、ステップS52(No判定)、S41(Yes判定)、S44(Yes判定)、S53、S52の順のループ処理は、キャッシャが一つの候補商品を選択し、ステップS52でYes判定となるまで繰り返す。一方、ステップS44がNo判定の場合は、ステップS42の処理に移行する。
なお、ステップS45(Yes判定)の場合においても、ステップS52の判定処理を行って、上述した手順の処理を行う。
なお、変形例では、優先期間が終了すると、オブジェクト認識処理により抽出された上位の候補商品の、表示画面の選択キーにおける選択を促す情報を、表示画面に視覚的に表示させる例を示した。しかし、これに限らず、警報音や音声などにより、選択を促しても良い。例えば、優先期間が終了すると、所定の警報音(例えば“ピー”など)や、“候補商品を選択キーから選択してください”などの音声を、音声出力部165において再生させても良い。
以上のように、変形例では、オブジェクト認識部54から結果が返ると、読取制御部55は、上位グループの候補商品の選択キーを画面に表示させる。キャッシャは、キャベツなどの物品を読取窓103に翳した場合には、予めバーコードが付されていない物品であることが分かっている。従って、そのような場合は、優先期間内であっても、キャッシャが選択キーを選択することにより、上位の候補商品の内の一つの候補商品に物品を確定させることができる。また、優先期間の終了後は、選択キーの入力をキャッシャに促す画面に切り替わる。このため、キャッシャは、優先期間が終了したことを視覚的に判断し、速やかに選択キーを入力することができる。
このように、変形例では、オブジェクト認識処理により得られた候補商品から物品を確定させる処理を優先期間内に済ませることもできる。
また、コード読取処理とオブジェクト認識処理に限らず、その他の読取処理を適用しても良い。
また、実施形態及び変形例においては、商品検知部52を検知手段として設け、商品検知部52がフレーム画像から物品画像を検知することにより、読取窓103に物品が翳されたことを検知するようにした。しかし、その他の検知手段により、読取窓103に物品が翳されたことを検知するようにしても良い。例えば物品が読取窓103に翳されたことを赤外線センサにより検知するようにしても良い。
また、優先期間として示す300msec〜500msec程度の値は、一例であり、キャッシャの処理能力や、装置のスペックや、オブジェクト認識処理のスピードなどに応じて、適宜、設定を調節しても良い。例えば、バーコードの読取が速いキャッシャの場合には、優先期間を更に短くしても良い。また、バーコードの読取が遅いキャッシャの場合には、優先期間を更に長くしても良い。
また、優先期間を変更するための変更手段を設けても良い。例えば、変更手段として、優先期間を設定するための設定画面を設け、呼び出しの信号により、表示画面に設定画面を表示させる。表示されている設定画面においてキャッシャなどにより優先期間が設定されると、その設定情報を当該プログラムの優先期間に反映する。
本実施形態及び変形例においては、係る情報処理装置及びプログラムを、精算や商品登録を行うPOS端末と商品識別情報を読み取る読取装置とが別体のチェックアウトシステムに適用した場合の例を示したが、この限りではない。係る情報処理装置及びプログラムを、精算、商品登録、商品識別情報の読み取りを一体装置で行う例えばセルフPOSなどに適用しても良い。
ここで、セルフPOSの構成例を示す。
図7は、セルフPOS200の構成を示す外観斜視図である。
図8は、セルフPOS200のハードウェア構成を示すブロック図である。
なお、以下では、図1および図2に示される同様の構成については同一の符号を付して示し、その重複する説明を省略する。
図7及び図8に示すように、セルフPOS200の本体202は、タッチパネル105が表面に配設された第3の表示デバイス106や、商品画像を読み取るための読取ユニット110などを備える。第3の表示デバイス106は、実施形態に示すプリセット画面や候補商品の選択画面の他に、精算画面などを表示する。また、本体202は、右側に未精算の商品の入った買物カゴ153a(図1参照)を置くための商品載置台203を備え、左側に精算済みの商品を置くための商品載置台204を備える。商品載置台204は、精算済みの商品を入れるための袋を掛ける袋掛けフック205や、精算済みの商品を袋に入れる前に一時的に置いておくための一時置き台206を備える。商品載置台203、204は、計量器207、208をそれぞれ兼ね備え、精算前後で商品の重量が同じであることを確認するための機能を有する。更に、本体202は、前面に釣り銭器201などを備える。
セルフPOS200は、CPU161がROM162の格納プログラムを適宜実行して、図3に示す画像取込部51、商品検知部52、コード読取部53、オブジェクト認識部54、読取制御部55、表示制御部56、入力受付部57、確定部58などの機能部を実現する。また、CPU61がROM62やHDD64の格納プログラムを適宜実行して、図3に示す売上登録部611などの機能部を実現する。タッチパネル105から商品登録処理の開始を宣言する入力があると、その入力信号が接続インターフェース176と接続インターフェース65を介してCPU61に入力される。CPU61はその入力信号に基づき、接続インターフェース65と接続インターフェース175を介して読取開始信号を読取ユニット110へ出力する。セルフPOS200のその他の動作は、図4〜図6で説明したものと略同様に説明できる。ここでの動作の説明は繰り返しになるため省略する。
なお、ROM62やHDD64に所定のプログラムを格納し、CPU61が売上登録部611の他に、画像取込部51、商品検知部52、コード読取部53、オブジェクト認識部54、読取制御部55、表示制御部56、入力受付部57、確定部58などの機能部の一部又は全てを実現するようにしても良い。CPU61が読取制御部55を実現する場合、確定部58を省略し、読取制御部55が売上登録部611に商品コードや候補商品の商品識別情報を直接出力して、商品登録させる。
本実施形態及び変形例の情報処理装置で使用する各種プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供し、情報処理装置のHDDやフラッシュROMなどに読み込ませて実行してもよい。
また、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
以上の実施形態及び変形例において、情報処理装置及びプログラムについての構成を説明したが、この実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。