特許文献1に示される方式は、屋内や地下空間をも運用環境とすることができ、携帯端末の使用者の歩行による移動にも対応可能であり、運用環境の景観も害することなく、携帯端末に一般的に内蔵されている音声入力機能等を利用して、場所を特定する情報を取得することができるという利点を有する。
このうち、歩行による移動に対応できる処理の高速性は、搬送波を変調して情報を載せた音波信号ではなく、一つ又は複数の互いに異なる周波数の正弦波を単純に重畳した音波信号を用い、重畳された中に所定の周波数が有るか無いかでビット値を表現することにより、実現されている。かかる方式では、変調された搬送波の全体が受信されるのを待って復調処理を行う時間が不要となり、高速フーリエ変換等による正弦波の周波数の検出だけで、同時に複数ビットの値が取得でき、即座に情報を復元できるためである。
このように、同じ音波信号が出力され続けているところで、どのようなタイミングで音波信号を受信しても、受信したそのときに、同時に複数ビットの値が取得できるという特性を有する方式であるが、利用できる周波数域が、人間に聴こえ難く且つ一般の携帯端末で入力可能な範囲に限定されており、複数のビットに対応させる複数の周波数の各々の間隔も、検出精度との関係で狭くできる限度が存在するため、伝送できるビット数(情報量)に限りがある。
しかし、多数の音波信号出力装置を用い、多数の場所を固有に識別したい場合、音波信号により伝送できる情報量(固有に識別可能な数)を多くしたいという要望が生じてくる。
本発明は、音波信号により携帯端末へ、場所に関連する情報を伝達するためのシステムにおいて、携帯端末の使用者の歩行による移動に対応できる処理の高速性を維持しつつ、伝送可能な情報量を増加させることを目的とする。
本発明の原理に従う一例に係る音声信号出力装置は、一つ又は複数の異なる周波数の正弦波から成る音波信号を出力する手段を備え、前記音波信号は、可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数が所定数のビットに対応し、各ビットの値が対応する周波数の正弦波の出力の有無により表されるものであり、前記音波信号を用いて伝達すべき情報は、前記音波信号出力装置が設置された場所との関連付けが可能な情報であり、前記情報は、複数の部分情報に分割されて、各々の部分情報が、前記音波信号の所定数のビットの少なくとも一部により表される。前記音波信号出力装置は、所定時間毎に、出力する音波信号を切り替える手段を備え、前記情報を構成する順番に従って、前記部分情報が表された音波信号を、循環させながら出力する。
この構成によれば、一つの時点の音波信号だけでは、最大でも上記所定数のビット分の情報量しか伝送できないところ、伝達すべき情報を複数に分割して、複数の時点の音波信号を利用することが可能になるため、伝送可能な情報量を増加させることが可能になる。
このような音波信号を入力する側の携帯端末が、どのようなタイミングで音波信号を受信しても、同時に複数ビットの値を取得することを何回か繰り返すことによって、情報を復元できるようにするため、例えば、以下のような構成を付加するとよい。
第1の構成では、前記音波信号の所定数のビットの一部が、前記部分情報を表し、残りの一部が、当該部分情報が前記情報のどの部分を構成するかを示す情報を表すようにする。これにより、音波信号を入力した携帯端末は、その音波信号により受信した部分情報が復元されるべき情報のどの部分に相当するものであるかを、その音波信号自体から、求めることが可能になる。
第2の構成では、ある時点で出力される前記音波信号は、その所定数のビットの少なくとも一部が前記情報の開始を示す情報を表すものであり、次に切り替わりながら出力される複数の前記音波信号の各々は、その所定数のビットの少なくとも一部が前記部分情報を表すものであり、その後に切り替わって出力される前記音波信号は、その所定数のビットの少なくとも一部が前記情報の終了を示す情報を表すものであるようにする。
第3の構成では、ある時点で出力される前記音波信号は、その所定数のビットの少なくとも一部が、次に出力されるべき前記音波信号の表す前記部分情報が前記情報のどの部分を構成するかを示す情報を表すものであり、次に切り替わって出力される前記音波信号は、その所定数のビットの少なくとも一部が、当該部分情報を表すものであるようにする。
上記のいずれの構成においても、前記音波信号の所定数のビットの残りの一部が、当該所定数のビットの誤りを検出するための符号となっているようにしてもよい。さらに、この符号で、誤り訂正を可能とすれば、所定数のビットの各値として正しい値が得られる可能性を高くできる。本構成では、ある部分情報についての所定数のビットが正しく受信できなかった場合、同じ部分情報を含む音波信号が再び出力されるのは、他の部分情報を含む音波信号が順番に出力された後になるから、誤り訂正により、そこまで待たなければならない可能性を低くできることになる。
本発明の原理に従う一例に係る音波信号管理装置は、複数の音波信号出力装置の各々により出力されるべき音波信号を管理するものであり、各々の音波信号出力装置に対し、前記音波信号を用いて伝達すべき情報として、当該音波信号出力装置が設置された場所との関連付けが可能な情報を割り当てる手段と、可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数を所定数のビットに対応させ、各ビットの値を対応する周波数の正弦波の出力の有無により表す、一つ又は複数の異なる周波数の正弦波から成る音波信号が、所定時間継続して出力されるように、音波信号のデータを生成する手段と、前記情報を、複数の部分情報に分割し、各々の部分情報を、前記所定数のビットの少なくとも一部が表すように、前記音波信号のデータを生成させ、前記情報を構成する順番に従って、各々の部分情報についての前記音波信号のデータを繋ぎ合わせる手段と、繋ぎ合わされた前記音波信号のデータを、前記情報が割り当てられた音波信号出力装置へ渡す手段と、を備える。
上記の音波信号管理装置は、各音波信号出力装置に、繋ぎ合わされた前記音波信号のデータを繰り返し再生させることにより、所定時間毎に出力される音波信号が切り替えられ、前記情報を構成する順番に従って、前記部分情報が表された音波信号が、循環しながら出力されるようにすることができる。
本発明の原理に従う一例に係る携帯端末装置は、一つ又は複数の異なる周波数の正弦波から成る音波信号を入力する手段を備え、前記音波信号は、可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数が所定数のビットに対応し、各ビットの値が対応する周波数の正弦波の出力の有無により表されるものであり、前記音波信号を用いて伝達される情報は、前記音波信号を出力する装置が設置された場所との関連付けが可能な情報であり、前記情報は、複数の部分情報に分割されて、各々の部分情報が、前記音波信号の所定数のビットの少なくとも一部により表される。前記携帯端末装置は、所定時間毎に、入力した前記音波信号を構成する一つ又は複数の正弦波の周波数を検出して、前記所定数のビットの各値を求める手段と、前記所定数のビットの各値に基づいて得られる前記部分情報を蓄積し、蓄積された複数の前記部分情報を順番に従って組み立てて、前記情報を復元する手段と、を備える。
この構成によれば、正弦波の周波数を検出した携帯端末装置は、例えば、所定数の周波数の並びのうち、検出された周波数については値を1とし、検出されなかった周波数については値を0として、ビット列に置き換えることにより、音波信号に含まれていた部分情報を得ることができ、この処理を複数の部分情報について行うことにより、高速に、情報を復元することができる。
上記の携帯端末装置は、前記所定数のビットのうち一部のビットの各値から、前記部分情報を得るとともに、前記所定数のビットのうち残りの一部のビットの各値から、当該部分情報が前記情報のどの部分を構成するかを示す情報を得て、前記情報を復元するものであってもよい。これは、上述した第1の構成に対応するものである。
携帯端末装置において、前記情報を復元する手段を、前記情報を復元した後、前記所定数のビットの各値に基づいて得られる前記部分情報を新たに蓄積し、新たに蓄積された複数の前記部分情報から前記情報を復元するという処理を、繰り返すものとし、所定回数続けて同一の情報が前記情報として得られた場合に、前記情報が誤りなく取得されたと判定する手段を、さらに備えるようにしてもよい。
これにより、携帯端末装置において復元された情報が、音波信号により伝達されるべき情報であるという信頼性を、向上させることが可能になる。本構成では、伝達されるべき情報の全体が同時に受信されるのではなく、複数の部分情報に時分割されて受信されるから、自由空間を経由して届く音波信号に誤りが生じる機会が増えたり、複数の部分情報のうちの一部がある音波信号出力装置から、残りが別の音波信号出力装置から受信されたりして、正しく情報が復元できない可能性が増加するが、そのような問題を解消することが可能になる。
部分情報についての所定数のビットを正しく取得できる可能性を高めるには、携帯端末において、前記所定数のビットのうち一部のビットの各値を、誤り検出のための符号として、当該所定数のビットの各値の誤りを検出し、訂正可能であれば訂正する手段を、さらに備えるようにするとよい。
前記音波信号を出力する装置からの音波信号が、所定時間毎に切り替えられて出力されるものであるとして、前記携帯端末装置が前記周波数の検出を行う時間間隔は、前記音波信号を出力する装置が前記音波信号の切り替えを行う時間間隔の1/2以下に設定されたものとしてもよい。
これにより、本構成では、音波信号出力装置からの音波信号の出力タイミングと、携帯端末装置における音波信号の入力タイミングとが、同期しておらず、携帯端末装置において一つの音波信号を入力すべき期間の途中で、出力される音波信号が切り替わってしまう可能性があるところ、各々の入力が行われる期間の長さを、出力が切り替わる期間の長さの1/2以下(あるいは1/3以下)とすることにより、音波信号が途中で切り替わって受信結果がエラーとなる期間は、2回のうち1回以下(あるいは3回のうち1回以下)となるから、一つの音波信号が出力されている期間内で少なくとも1回は、正しい音波信号が入力されることになる。
上記のように、受信結果がエラーとなる期間と正しい受信結果が得られる期間とが周期的に入れ替わることに対応できるよう、携帯端末装置において、前記所定数のビットの各値に基づいて得られる前記部分情報を蓄積する手段を、当該部分情報が前記情報のどの部分を構成するかを区別して蓄積するものとし、前記所定数のビットの各値に基づいて得られる前記部分情報と、同一の部分を構成する部分情報が既に蓄積されている場合には、いずれか一方を選択して、前記情報の復元に用いるようにしてもよい。
本発明の原理に従う一例に係る音波通信システムは、一つ又は複数の異なる周波数の正弦波から成る音波信号を出力する手段を備え、各々の音波信号が届く範囲が異なるように互いに離れて設置された、複数の音波信号出力装置を用いて、携帯端末へ情報を伝達する。前記音波信号は、可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数が所定数のビットに対応し、各ビットの値が対応する周波数の正弦波の出力の有無により表されるものであり、前記携帯端末へ伝達すべき情報は、各々の前記音波信号出力装置が設置された場所との関連付けが可能な情報であり、前記情報は、複数の部分情報に分割されて、各々の部分情報が、前記音波信号の所定数のビットの少なくとも一部により表される。前記音波信号出力装置は、第一の所定時間毎に、出力する音波信号を切り替える手段を備え、前記情報を構成する順番に従って、前記部分情報が表された音波信号を、循環させながら出力するものであり、前記携帯端末は、第二の所定時間毎に、入力した前記音波信号を構成する一つ又は複数の正弦波の周波数を検出して、前記所定数のビットの各値を求める処理を行い、前記所定数のビットの各値に基づいて得られる前記部分情報が複数蓄積されると、前記順番に従って組み立てて、前記情報を復元するものである。
前記第一の所定時間は、前記携帯端末において、前記音波信号を入力して前記部分情報を得る処理を、前記情報を構成する前記部分情報の個数分行うのに要する時間が、前記携帯端末が、所望の最小距離だけ場所を移動するのに要する時間よりも、小さくなるように定めてもよい。これにより、携帯端末の使用者の歩行による移動に対応できる処理の高速性を、確実に保つことが可能になる。
前記携帯端末が、前記情報を復元した後、新たな前記所定数のビットの各値に基づいて得られる前記部分情報から前記情報を復元するという処理を、繰り返すものであり、所定回数続けて同一の情報が前記情報として得られた場合に、前記情報が誤りなく取得されたと判定するものである場合は、前記第一の所定時間は、前記携帯端末において、前記音波信号を入力して前記部分情報を得る処理を、前記情報を構成する前記部分情報の個数分行うことを、前記所定回数分繰り返すのに要する時間が、前記携帯端末が、所望の最小距離だけ場所を移動するのに要する時間よりも、小さくなるように定めてもよい。これにより、復元された情報の信頼性を高めつつ、携帯端末の使用者の歩行による移動に対応することが可能になる。
上述したように、前記第一の所定時間が前記第二の所定時間の2倍以上になるよう、前記第一及び第二の所定時間を定めてもよい。
そして、前記第二の所定時間は、前記可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数が、いずれも所望の精度で検出可能なように定めてもよい。
上記の音波通信システムは、前記携帯端末からの前記情報に基づく問い合わせに応答して、前記情報と関連付けられた場所に特有のサービス情報(例えば、位置情報及び/又はコンテンツ情報等)を提供するサーバ装置を、さらに備えてもよい。
上述した音波信号出力装置に係る全ての発明は、音波信号管理装置の発明としても、携帯端末装置の発明としても、音波通信システムの発明としても、成立するものであり、上述した携帯端末装置に係る全ての発明は、音波通信システムの発明としても、成立するものであり、上述した音波通信システムに係る全ての発明は、音波信号出力装置の発明としても、音波信号管理装置の発明としても、携帯端末装置の発明としても、成立するものである。また、上述した装置及びシステムに係る発明は、方法の発明としても、プログラム(又はそのプログラムを記録した記録媒体)の発明としても、成立するものである。
例えば、本発明の原理に従う一例に係るコンピュータ用プログラムは、コンピュータにインストールされて、複数の音波信号出力装置の各々により出力されるべき音波信号を管理する音波信号管理装置として、前記コンピュータを動作させる。前記プログラムは、各々の音波信号出力装置に対し、前記音波信号を用いて伝達すべき情報として、当該音波信号出力装置が設置された場所との関連付けが可能な情報を割り当てるための処理を行うプログラムコードと、可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数を所定数のビットに対応させ、各ビットの値を対応する周波数の正弦波の出力の有無により表す、一つ又は複数の異なる周波数の正弦波から成る音波信号が、所定時間継続して出力されるように、音波信号のデータを生成するための処理を行うプログラムコードと、前記情報を、複数の部分情報に分割し、各々の部分情報を、前記所定数のビットの少なくとも一部が表すように、前記音波信号のデータを生成させ、前記情報を構成する順番に従って、各々の部分情報についての前記音波信号のデータを繋ぎ合わせるための処理を行うプログラムコードと、繋ぎ合わされた前記音波信号のデータを、前記情報が割り当てられた音波信号出力装置へ渡すための処理を行うプログラムコードと、を備える。
別の例として、本発明の原理に従う一例に係る携帯端末装置用プログラムは、一つ又は複数の異なる周波数の正弦波から成る音波信号を入力する手段を備える携帯端末装置にインストールされる。前記音波信号は、可聴周波数の上限域を利用する周波数域に含まれる所定数の周波数が所定数のビットに対応し、各ビットの値が対応する周波数の正弦波の出力の有無により表されるものであり、前記音波信号を用いて伝達される情報は、前記音波信号を出力する装置が設置された場所との関連付けが可能な情報であり、前記情報は、複数の部分情報に分割されて、各々の部分情報が、前記音波信号の所定数のビットの少なくとも一部により表される。前記プログラムは、所定時間毎に、入力した前記音波信号を構成する一つ又は複数の正弦波の周波数を検出して、前記所定数のビットの各値を求めるための処理を行うプログラムコードと、前記所定数のビットの各値に基づいて得られる前記部分情報を蓄積し、蓄積された複数の前記部分情報を順番に従って組み立てて、前記情報を復元するための処理を行うプログラムコードと、を備える。
以上のとおり、本発明によれば、音波信号により携帯端末へ、場所に関連する情報を伝達するためのシステムにおいて、携帯端末の使用者の歩行による移動に対応できる処理の高速性を維持しつつ、伝送可能な情報量を増加させることが可能になる。しかも、所定時間毎に切り替わる音波信号は、自然界や他のシステムから発せられる可能性が少ないため、携帯端末において、伝達されていない情報を誤って取得してしまう可能性が低減されるという効果も奏される。
以下、本発明の実施の形態に係る音波通信システムについて、例示のために、図面を用いて説明する。
本例に係る音波通信システムは、概略、次のような技術である。所定の空間(例えば、ビル、店舗等)の各所に設置されたID発信機から、人間の耳には聞こえにくい高音域の音声信号(以下、人間にとっての意味で、非可聴音波と呼ぶことがあるが、マイクロフォンで入力可能という意味からは、可聴周波数の上限域の音波信号である)を発信し続ける。
この所定の空間内を、携帯端末を持った人間が歩き回る間に、携帯端末が、それぞれの場所で発信されている音波信号を、端末に内蔵されているマイクロフォンによって受信し、当該信号に含まれる位置IDを取得する。
携帯端末は、取得した位置IDを用いて、ネットワーク経由でサーバへ問い合わせたり、端末内にキャッシュされている情報を検索したりすることにより、その場所の位置情報や、その場所に関連付けられたコンテンツ(いずれも、その場所に来てID発信機から音波信号を受信した携帯端末に対して、システム側が提供したい情報であり、以下、位置情報等と呼ぶことがある)を、受け取ることができる。
人間が、時速4.8kmで歩行する場合、1m移動する時間は、750ミリ秒であり、この時間内に、音波信号を受信して位置IDを得る処理を終わらせることができれば、2歩以内での位置ID取得を実現することができる。そうすると、人間が、立ち止まらずに相当なスピードで歩行し続けていても、多数のID発信機を高密度に配置した空間であれば、移動した場所を十分に細かく検出することが可能になるし、ある場所に来た携帯端末に積極的に何かを通知したい場合等は、ID発信機の音波が届く範囲に入った時間が短くても情報を受け取らせることが可能になる。
音波信号は、例えば、15kHz〜22kHz台の可聴周波数の上限域(超音波音ともいう)を使用する。この音域の音声は、一般の人間には聞き取ることができない音域であり、周囲に気づかれることなく信号を出すことができる。聞き取れてしまう可能性を減らすためには、使用する音域の下限を17kHz台とする方が、より好ましい。また、この周波数帯を使用することで、超音波用の専用機器ではなく、通常市販されるスピーカ等でID発信機を構成し、通常市販されるスマートフォン等で携帯端末を構成することができる。より広範な機器を利用可能とするためには、使用する音域の上限を20kHz台とする方が、より好ましい。
本技術を適用したシステムは、例えば、図1に示すように、屋内又は屋外の自由空間100内の各所に設置され、非可聴音波による位置IDを発信するID発信機10−n(nは1〜N)を備える。この自由空間100内で、各々が携帯端末(例えばスマートフォンやタブレット等の音声を利用できる携帯型情報機器)20−iを持った複数のユーザが、歩き回ることができる。本技術を適用した携帯端末20−iは、ID発信機が発する音波信号が届く範囲に入ると、音波信号を受信して、そこに含まれている位置IDを抽出する機能を有する。
本技術を適用したシステムは、さらに、携帯端末20−iへ、位置IDに対応する位置情報を提供する位置サーバ400、及び/又は、位置IDに対応するコンテンツを提供するコンテンツサーバ500を備えてもよい。また、ID発信機10−nが発信する位置IDを管理するID管理サーバ450を備えてもよい。携帯端末20−iと位置サーバ400及びコンテンツサーバ500との間は、インターネット300等のネットワーク設備(無線LANや携帯電話網等)を経由して通信が行われる。
本例では、位置IDとして、32ビット以上のグローバルユニークなアドレス空間を使用する。位置IDの生成と管理は、ID管理サーバ450が一元的に行っており、重複して生成されたり使用されたりしないようにしている。位置IDの生成は、未使用の空間から連続して1個ずつ作成される場合、任意に指定した未使用のIDが1個ずつ作成される場合、範囲を指定してまとめて作成される場合、任意に指定した作成済みIDが再作成される場合がある。
ID管理サーバ450は、また、生成した位置IDを音波信号に変換し、音波信号ファイルを生成する機能も有する。音波信号ファイルは、音声ファイル形式として出力される。複数ファイルを生成した場合は、zipファイルにアーカイブされる。生成された音波信号ファイルは、システム管理者が、SDカードやUSBメモリにコピーして、各ID発信機10−nの内蔵メモリへ読み込ませる。もしくは、各ID発信機10−nとID管理サーバ450との間が、ネットワーク経由で通信可能であれば、ID管理サーバ450が、各ID発信機10−nへ音声信号ファイルを送信するようにしてもよい。
ID管理サーバ450には、ID管理データベースが含まれており、そのテーブルには、例えば、図2に示すように、発行済み位置ID、音波信号ファイル名、ID発信機の管理番号、使用状況を示すフラグがある。発行済み位置IDの欄には、連続した位置IDが並ぶように、生成した位置IDを登録する。ある位置IDの音波信号ファイルを生成した場合は、その位置IDに対応する音波信号ファイル名を登録する。また、ある発行済み位置IDを使用するID発信機がある場合は、その位置IDに対応するID発信機の管理番号を登録し、使用中フラグを1にする。未使用の位置IDの使用中フラグは0とすることにより、位置IDの在庫確認ができるようにしている。
なお、位置IDが使用中ということが、その位置IDに対応して、位置サーバ400による位置情報、及び/又は、コンテンツサーバ500によるコンテンツ情報の提供が可能になっていることを意味するように、ID管理サーバ450と、位置サーバ400及び/又はコンテンツサーバ500とを、ネットワーク等で接続し、連携するように構成してもよい。
32ビット空間を持つ位置IDは、16進法で8ビットごとに“-”(ダッシュ)で区切って表記すると、例えば、01-01-01-01、01-02-03-04、aa-bb-cc-dd等のようになる。以下には、この位置IDを、非可聴音波信号に変換する手順を説明する。
位置IDを“-”で区切った一つを、オクテットと呼ぶ。本例における位置IDでは、第1オクテットから第4オクテットまで、4つのオクテットが存在する。例えば、位置IDが「01-01-01-01」であった場合、第1オクテットは「01」(10進数で1)、第2オクテットは「01」(同)、第3オクテットは「01」(同)、第4オクテットは「01」(同)である。
音波信号は、この第1〜第4オクテットの情報を時系列に繋いで、一定時間循環させる。その際、図3に示すように、第1オクテットは第1タイムスロット(順序(1))に、第2オクテットは第2タイムスロット(順序(2))に、第3オクテットは第3タイムスロット(順序(3))に、第4オクテットは第4タイムスロット(順序(4))に、入れる。
本例における各タイムスロット(TS)は、少なくとも15ビット分の長さを持つ。タイムスロットには、各オクテット情報を示す8ビットにタイムスロットの順序(TS番号)を示す2ビットを加える。第1タイムスロットのTS番号は「00」、第2タイムスロットのTS番号は「01」、第3タイムスロットのTS番号は「10」、第4タイムスロットのTS番号は「11」となる。
本例における各タイムスロット(TS)は、さらに、上記のオクテット情報のビット列にタイムスロット順序の2ビットを加えた10ビットのデータのハミングコードを計算し、その5ビットを追加し、合計15ビットのデータを、タイムスロットに入れる。
ここで追加される5ビットは、音波信号が自由空間を伝播するために、信号の欠損等が頻繁に起こり得ることを考慮したものであり、エラー検出と訂正に使用される。本例では、このエラー検出及び訂正に、エラー検出訂正符号方式を使用しており、2ビットエラー検出、1ビットエラー訂正を採用している。
なお、図3は一つの例であって、音波信号のビット数は、15ビットでなくてもよいし、TS番号のビット数も、2ビットに限定されるものではなく、分割された位置ID(ID要素、上記の例ではオクテット)のビット数も、8ビットに限定されるものではなく、エラー検出訂正符号(冗長コード、上記の例ではハミング符号)のビット数も、5ビットでなくても(あるいはエラー検出又は訂正を行わなくても)構わない。
続いて、タイムスロットのビット列15ビット分を音波信号に変換する。それぞれのビットに対応する音波周波数をあらかじめ決定しておき、図4に示すようなテーブルに従って、ビット列を音波に変換する。図4の例では、18kHz〜20kHzの周波数を用いており、kビット目(k=1〜15)が、1であれば、[20000−(k−1)×100]Hzの音波を発生し、0であれば、当該周波数の音波を発生しない。よって、15ビットのうちm個のビットが1であれば、m個の異なる周波数の音波(正弦波)が同時に、音波信号として出力されることになる。
本実施形態における音波信号は、搬送波を変調することによってビット列の情報を載せるのではなく、周波数の異なる15個の正弦波を15ビットに対応させて、各正弦波の有無によりビット列の情報を表すものである。音波信号を受信する側は、高速フーリエ変換(FFT)の結果、当該周波数の成分を取得できた場合は、そのビットを1として認識し、周波数成分が取得できなかった場合は、そのビットを0として認識して、ビット列の情報を復元する。本方式では、変復調を行わず、同時に全ビットの情報を受信することができるため、高速に信号を取得し、解析を行うことが可能になる。
音波信号を構成する各正弦波の周波数の間隔は、例えば、50Hz〜200Hz程度とすることができる(図4の例では、100Hzとしている)。可聴周波数の上限域の幅が限られていることから、周波数の間隔を狭くすれば、より多くのビット数の情報を含めることができることになるが、一方で、周波数の間隔を狭くすると、FFTによる解析の際の干渉を排除するために、サンプリング点数を多くする必要があり、タイムスロットの時間を長くする(あるいは、FFTの実装が複雑になるが、サンプリング周波数を高くする)必要が生じる。これらの要素を比較考量の上、各々のシステムの特性に適した周波数の間隔を定めればよい。
本例では、一つのタイムスロットの時間を50ミリ秒以内の所定時間として、各々のタイムスロットの音波信号(本例では、4つの音波信号)を生成する。つまり、上述した各周波数の正弦波を、タイムスロット時間の間、出力し続ける。その後、第1タイムスロットから第4タイムスロットまで、順番通りに音波信号を繋ぎ合わせ、200ミリ秒以内の所定時間の間継続する音波信号を作成する。この音波信号をフレームと呼ぶ。
つまり、本方式では、フレームの時間を200ミリ秒とすると、そのうち、0〜50ミリ秒の間は、位置IDの最初の1/4のビット列の情報を含む音波信号が出力され続け、50〜100ミリ秒の間は、位置IDの2番目の1/4のビット列の情報を含む音波信号が出力され続け、100〜150ミリ秒の間は、位置IDの3番目の1/4のビット列の情報を含む音波信号が出力され続け、150〜200ミリ秒の間は、位置IDの最後の1/4のビット列の情報を含む音波信号が出力され続けることになる。
図5に示すように、フレームを任意の回数で(図5の例では、3回)リピートさせて、音波信号ファイルを作成する。音波信号ファイルは、有限回数のフレームの信号を記録するが、ID発信機10−nでは、記録された音波信号を再生し終わると、初めに戻って再生を続けることにより、同一の周期的変化を有する音波信号を出力し続けるため、音波信号ファイルは、一つのフレームの信号を記録するだけでもよい。
ID管理サーバ450は、複数の位置IDを、それぞれの音波信号ファイルに変換する際は、作成された信号ファイルを自動でアーカイブすることを選択できるようにする。このとき作成される音波信号ファイルは、WAV、AIFF、MP3などのファイルフォーマットである。
また、音波信号ファイルの生成に当たり、ファイルに含める信号を2チャンネルで構成して、一方のチャンネルには、位置IDを示す音波信号を記録し、他のチャンネルには、特定の周波数(可聴周波数の上限域以外の周波数でもよい)の正弦波(再生状況信号)を記録することができる。
位置IDの情報は、ID発信機が10−nが、音波信号ファイルから音波信号を再生して、スピーカ等から出力することにより、上述したように非可聴音波に含められて、自由空間を通じて発信される。音波信号ファイルに含められる信号が1チャンネルの場合には、位置IDを示す音波信号のみが記録される。
音波信号ファイルに含められる信号が2チャンネルの場合には、ID発信機が10−nが、位置IDを示す音波信号を再生するのと同時に、同じファイルに入っている再生状況信号をも再生するため、この再生状況信号が実際に再生されていることを検出して、当該ID発信機が音波発信中であることを、LED等の表示装置で示すことが可能になる。音波は目に見えず、人間の耳には聴こえないため、音波発信中であることを視覚で確認できると、運用管理上、便利である。
なお、本例では、再生状況信号がID発信機の内部で再生されていることをもって、位置IDを示す音波信号がID発信機の外部へ出力されているものとして表示を行うが、より正確に再生状況を知らせるには、可聴周波数の上限域の範囲内であるが位置IDのビットを表すのには使われない周波数の正弦波を、再生状況信号として記録しておき、再生状況信号もスピーカから出力して、これをマイクロフォンで入力することにより、当該ID発信機が音波発信中であるか否かを検出するようにしてもよい。
あるいは、単に音波発信中というだけでなく、正常に音波発信中であるか否かを表示装置で示すためには、自由空間へ発信された音波信号をマイクロフォンで入力し、上述したエラー検出符号を利用して音波信号の解析を行うという処理を、継続して行い、エラーが検出された場合(又はエラーが検出され且つ訂正できなかった場合)に、異常を示すLEDランプを点灯させる等の表示をしてもよい。
再生状況ないし音波発信状況を、再生状況信号ないし音波信号をマイクロフォンで入力して検出する例では、そのマイクロフォンは、音波信号を発信するID発信機自身が備えていてもよいし、システム管理者等の携帯端末が備えていて、検出結果を表示装置へ送るようにしてもよい。表示装置も、各ID発信機が自身の状況を表示するために備えていてもよいし、複数のID発信機の管理をまとめて行うセンタ(又はID管理サーバ450)が備えていてもよい。
図6は、ID発信機10−nの内部構成の一例を示す。図6のID発信機10−nは、ネットワークに接続することなく、独立して音波信号を発信することが可能であり、電源を外部から供給するための電源部110と、電源のオン/オフ、音波信号の再生、停止、音量の増減等の操作を行うための操作入力部120と、赤外線リモコンの操作を受光するための赤外線受光部130と、音波信号の再生、停止、音量の増減等を制御するための制御部140と、SDカード等の外部記憶装置150からデータ(音波信号ファイル)を読み込んで記憶するためのデータ記憶部160と、データ記憶部160に記憶されたデータから音波信号を再生し、増幅するための再生部170と、再生部170で再生された音波を、指定された音量でスピーカから出力するための音声出力部180とを備える。
ID発信機10−nは、さらに、再生される音波信号ファイルが2チャンネルあり、再生中の一方のチャンネルに特定の単一周波数の音波が記録されていることを検出している間は、表示部190のLEDを点灯させるようにしてもよい。これによって、非可聴音の再生状態を、より実態に即して表示させることができる。
図7は、携帯端末20−iの内部構成のうち、位置IDの取得に関する機能構成の一例を示す。例えば、携帯端末としてスマートフォンを用いる場合、音波信号を処理して位置IDを取得する機能と、位置IDに対応する情報をサーバ等から受け取る機能とを組み込んだアプリケーションプログラムを、スマートフォンにダウンロードさせることにより、携帯端末に、本システムを利用するための構成を備えさせることが可能である。
携帯端末20−iは、音声入力部210と、周波数成分抽出部220と、エラー検出・訂正部230と、時分割復元部240と、位置ID候補抽出部250と、位置ID推定部260とを備える。
音声入力部210では、マイクロフォンにより入力した音波を、例えば、44.1kHzのサンプリング周波数を用いて、デジタルサンプリングによって符号化する処理を行う。
周波数成分抽出部220では、音波信号を高速フーリエ変換にかけて、周波数成分を抽出し、抽出した周波数成分を周波数変換テーブル270(図4)に基づいて、ビット列に置き換える(存在する周波数成分に対応付けられたビットの値は1とし、存在しない周波数成分に対応付けられたビットの値は0とする)。これにより、ある時点でのビット列(15ビット)が取得される。
エラー検出・訂正部230は、周波数成分抽出部220により取得されたビット列のうち、下位5ビットをハミング符号(誤り訂正・検出符号)として、上位10ビット分から計算したハミング符号と照合し、ビットのエラー検出を行う。例えば、2ビットまでのエラー検出と、1ビットのエラー訂正を行う。
時分割復元部240は、エラー検出・訂正部230において、エラーが検出されなかったか、エラーが訂正できた場合には、ビット列を確定する。そして、確定されたビット列のうち、上位1〜2ビット目のビット列(2ビット)を、タイムスロット順序(TS番号)として決定し、上位3〜10ビット目のビット列(8ビット)をオクテット情報として、位置ID候補抽出部250へ渡す。このとき、2進数のビット列を、16進表記に変換しておく。これにより、この時点で取得されたビット列に含まれるオクテット情報が、位置IDのどの部分を構成するものなのかが、取得された同じビット列に含まれるTS番号により、特定されることになる。
位置ID候補抽出部250は、1次キャッシュ280に、時分割復元部240から渡されたビット列を保持(登録する)。時分割復元部240からは、ビット列が確定できた都度、1タイムスロット分のオクテット情報とTS番号が渡されるが、第1〜第4タイムスロットのうち途中や最後のタイムスロットが最初に渡されるかもしれないし、音波信号が全く受信されなかったり、エラーが訂正できなかったりして、間のタイムスロットが抜けて次のタイムスロットが渡されるかもしれない。
そこで、位置ID候補抽出部250は、図8に示すように、1次キャッシュ280に、1フレーム分の4つのオクテット情報を、渡された順ではなく、タイムスロット順に、登録するようにする。例えば、最初に第4タイムスロットが渡されたら、1次キャッシュ280の4番目の領域に第4オクテット情報を登録し、次に第2タイムスロットが渡されたら、1次キャッシュ280の2番目の領域に第2オクテット情報を登録する(図8(b))。
ID発信機は、第1〜第4タイムスロットの音波信号を繰り返し発信し続けているので、携帯端末が同じ場所に留まっていれば、いずれは、第3タイムスロットのビット列が正常に受信できて、1次キャッシュ280の3番目の領域に第3オクテット情報が登録され、同様に、いつかは、第1タイムスロットのビット列が正常に受信できて、1次キャッシュ280の1番目の領域に第1オクテット情報が登録される。時分割復元部240から渡されたオクテット情報を、1次キャッシュ280の何番目の領域に登録すべきかが、同時に時分割復元部240から渡されたTS番号により、特定される。
1次キャッシュ280において、4つのタイムスロット(TS番号が示す順序(1)〜(4))の全てにオクテット情報が保持された場合(位置IDが「01-01-01-01」の例では、オクテット情報がすべて0x01となり、図8(a)のようになる)は、それらを文字列に変換し、順序どおりに“-"区切りでつなげたものを、位置ID候補として2次キャッシュ290へ登録する。同時に、1次キャッシュ280の内容は消去して、次に時分割復元部240から渡されたオクテット情報から、新たに4つのタイムスロットのオクテット情報を登録できるようにし、次の位置ID候補が得られるようにする。
幾つかのタイムスロットのオクテット情報が未登録の場合(図8(b))は、当該情報が全て登録されるまで待つが、その間に、携帯端末が、あるID発信機の範囲内の場所から別のID発信機の範囲内の場所へ移動した場合、第2及び第4オクテット情報はある位置IDのものであり、第1及び第3オクテット情報は別のIDのものであることによって、復元された位置ID候補が、誤った位置IDとなる可能性がある。
2次キャッシュ290は、そのために設けられたものであり、位置IDとして、複数回続けて同一の位置ID候補が得られたときのみ、それを正しい位置IDであると決定するようにする。つまり、携帯端末の移動にともなって、移動前後のオクテット情報が混在し、誤った位置ID候補が復元された場合は、移動後のオクテット情報のみから成る次の位置ID候補が、前の位置ID候補とは異なる値になるということを、利用する。
位置IDを決定するのに同一の位置ID候補が続けて得られるべき回数を多く設定すれば、決定された位置IDが正しいものである可能性は大きくなるが、多過ぎると、位置IDが決定できる前に、携帯端末を持った人間が、別の位置IDが割り当てられている場所へ移動してしまう可能性が高くなる。
本例では、1タイムスロットが50ミリ秒、1フレームが200ミリ秒であり、1つの位置ID候補が得られるのに、最低200ミリ秒かかるのに対し、人間の歩行速度は、1m移動するのに概ね750ミリ秒である。よって、3回続けて同一の位置ID候補が得られたら、位置IDとして決定する(位置IDを取得するのに、最低600ミリ秒かかる)ようにすると、移動前後のオクテット情報が混在して、1回は誤った位置ID候補が得られたとしても、計4回(800ミリ秒)で位置IDが取得できることになるから、概ね1m移動する間に、正しい位置IDを取得することができる。
このように、3回(もしくは2回)続けて同一の位置ID候補が得られることを条件にする場合、図9に示すように、2次キャッシュ290に、3つ(もしくは2つ)の領域を設けて、位置ID候補を保持するようにする。
そして、位置ID推定部260は、2次キャッシュ290に設けられた複数個の領域が埋まった際、全て同一の位置ID候補が存在する場合(図9(a))には、それが正しい位置IDであると決定する。2次キャッシュ290の位置ID候補が異なる場合(図9(b)の場合は、領域(3)の位置ID候補が、他の領域(1)(2)の位置ID候補と異なる)は、FIFO(先入れ先出し)の原則に従って、最先に保持された領域を開放し、次に1次キャッシュ280から渡される位置ID候補を、最後尾に保持できるようにしておく。これを、2次キャッシュ290の全ての領域が、同一の位置ID候補となるまで、繰り返す。
携帯端末は、決定した位置IDに基づいて、インターネット300を通じて位置サーバ400へ問い合わせを行うことで、位置IDに関連した位置情報(緯度、経度、高さ、所在地、エリア、エリアにおけるX座標、エリアにおけるY座標、エリアにおけるZ座標等)を取得することができる。このために位置サーバ400が有するデータベースは、例えば、図10に示すような項目を含んでいる。
携帯端末は、また、位置IDに基づいて、インターネット300を通じてコンテンツサーバ500へ問い合わせを行うことで、位置IDに関連したコンテンツ(画像、動画、音声、文章、URIなど)を取得させることができる。このためにコンテンツサーバ500が有するデータベースは、例えば、図11に示すような項目を含んでいる。
図12に、音波信号による位置IDの送受信に関する全体の流れを示しておく。
図13は、ID発信機から発信される音波信号と、受信側で設けられるフレームキャッシュとが、時間の経過につれてどのように推移していくかを示している。ID発信機は、同一の位置IDを送信し続けるため、各々のフレームで送信される音波信号は、全て同一である。この一つの位置IDが、分割されて、複数(図13の例では、4つ)のタイムスロットで、伝達される。つまり、ID発信機は、位置IDを、時分割し、音波信号に含めて、発信する。
よって、第1〜第4タイムスロットのそれぞれの音波信号は、互いに異なるものであり得るが、最初のフレームの第1タイムスロットの音波信号はそれ以降のフレームの第1タイムスロットの音波信号と同じであり、最初のフレームの第2タイムスロットの音波信号はそれ以降のフレームの第2タイムスロットの音波信号と同じであり、最初のフレームの第3タイムスロットの音波信号はそれ以降のフレームの第3タイムスロットの音波信号と同じであり、最初のフレームの第4タイムスロットの音波信号はそれ以降のフレームの第4タイムスロットの音波信号と同じである。
一般に、電気通信における時分割伝達方式は、双方向通信を前提としており、送信側と受信側で時間を同期させ、情報を時間順(タイムスロット順)に取得させるが、ID発信機から出力された音波を、携帯端末が自由空間経由で入力する本実施形態では、片方向通信であるために、時間の同期や再送信要求をすることができない。特に、本方式のように複数のビットを同時に送信するパラレル通信では、従来は、送信側と受信側においてハンドシェイクを行うことにより、データ転送のタイミングを図っているが、片方向通信では、そのような制御は不可能である。
そうすると、図13のような音波信号が発信されていても、受信側の携帯端末では、例えば、第1フレームの第4タイムスロット、第2フレームの第2、第3、第4タイムスロット、第3フレームの第1タイムスロットの音波信号は入力されたものの、その間に発信されたタイムスロットの音波信号は入力されない(もしくは、入力された信号がエラーであることが判明する)ということが、起こり得る。
ここで、図13に示すように、各タイムスロットの音波信号が、TS番号をビット列の一部に含んでいることにより、受信側の携帯端末は、第4→第2→第3→(次の第4は、再度の受信であるため、無視するか先のものを置き換えるかする)→第1の順に、タイムスロットの音波信号を受信したことを認識することができ、受信順ではなく、タイムスロットの順に、オクテット情報を並べ直すことができる。
また、本実施形態では、携帯端末が各ID発信機の間を歩き回るため、途中から、図13のような音波信号で伝達される位置ID自体が変わることがあり、しかも、受信側の携帯端末では、場所を移動したために取得されるべき位置IDが変化したのか、自由空間を伝播する音波信号の劣化が何らかの要因で大きくなったために受信される音波信号が変化したのか、区別することもできない。
そこで、図13に示すように、受信側の携帯端末に、正しい位置IDが取得できたか否かを判定するためのフレームキャッシュを設けている。上述したように、3回続けて同一の位置IDが求められたら、その位置IDを正しいものと判定する場合は、フレーム3個分のキャッシュが設けられることになる。
図13では、各フレームキャッシュが、第1タイムスロットから開始されているが、携帯端末が受信を開始したタイミングによっては、他のタイムスロットから開始されることもあり得る。また、受信できなかったタイムスロットがある場合には、フレーム3個分のキャッシュが埋まるまでに、12個より多いタイムスロット分の時間が経過することもあり得る。なお、受信できなかったタイムスロットが多くて、4つのタイムスロットの音波信号が全て受信される前に所定時間以上が経過した場合は、以前に受信したタイムスロットの情報が移動等により無効になっている可能性が高いものとして、当該タイムスロットの情報を廃棄し、フレームキャッシュの開始時点を更新するようにしてもよい。
図14には、時分割(図14の例では、4分割)で1つの位置IDを送る音波信号のタイムスロットと、受信側のFFT処理が行われる時間間隔を示すFFTスロットとの、時間的な関係の一例を示す。タイムスロット#1からタイムスロット#4までが、時分割された4つの音波信号であり、これらを合わせて1つの位置IDを送る音波信号となる。タイムスロット#1の間は、同一の音波信号が送られ、タイムスロット#2に入ると、タイムスロット#1とは別の音波信号に切り替わる。4分割の場合には、タイムスロット#4の音波信号の後に、タイムスロット#1の音波信号が続き、繰り返し、位置IDを送る音波信号が流れることになる。
送信側のID発信機からは、このような音波信号が流されているが、受信側の携帯端末は、ID発信機と時刻同期されていないので、音波信号を受信したときに、タイムスロットの境界を認識することができない。よって、図14に示すように、受信側のFFTスロットは、タイムスロット#1とタイムスロット#2の両方にまたがる場合がある。このような場合のFFTスロットでは、タイムスロット#1とタイムスロット#2の両方の周波数成分を検出してしまうため、正確なビット列を復元することができない。
そこで、受信側の携帯端末では、送信側のタイムスロット#1の半分以下の時間を、FFTスロットの時間として設定する。FFTスロットの時間は、例えば、携帯端末にアプリケーションプログラムをインストールして、図7に示す機能構成を備えさせる際に、周波数成分抽出部220が用いるサンプリング点数を指定することにより、設定することができる。これにより、FFTスロットの2つに1つ(図4中、「FFTスロット」の文字を強調して示した時間帯)は、同一の音波信号を受信して、正確なビット列を復元することができる。
このような携帯端末が、時分割された位置IDを復元するために行う具体的な処理のフローを、図15を用いて説明する。まず、携帯端末は、音波信号をマイクロフォンから入力し、FFTスロット1つ分の音波信号を受信したときに、FFTにより受信周波数の分析を行い、ビット列を復元する(S310)。そして、このビット列の誤り訂正符号を計算し(S320)、誤りが検出され且つ誤りが訂正できなかった場合には、次の音波信号が受信されるのを待つ。
誤り検出されなかった場合には、そのビット列に含まれるTS番号に対応する1次キャッシュ領域に、当該ビット列に含まれるオクテット情報の値を保存する(S340)。誤りが検出されたが誤りが訂正できた場合には、そのビット列に含まれるTS番号に対応する1次キャッシュ領域に、何も保存されていなければ(S330No)、当該ビット列に含まれるオクテット情報の値を保存する。対応する1次キャッシュ領域にオクテット情報の値が保存されている場合には(S330Yes)、そのTS番号について、誤りなしのビット列を既に受信できているため、誤り訂正したビット列は保存せずに、次の音波信号が受信されるのを待つ。
このようにして、全てのタイムスロット(例えば、4分割の場合には4スロット分)について、オクテット情報の値が保存されると(S350)、1つの位置IDを含む音波信号が受信されたものとして確定し、その位置IDの情報(オクテットの情報を繋ぎ合わせたもの)を、位置ID候補として、2次キャッシュに登録し、アプリケーション(位置ID推定部260等)に知らせる。また、1次キャッシュに保存していた全タイムスロットの値をクリアし(S360)、次の音波信号が受信されるのを待つ。
以上詳述したように、同一の音波信号を流し続けるのに比べて、循環するタイムスロットにより時分割した音波信号を流す本方式では、音波信号に含める位置IDのビット数を、タイムスロットの数の分だけ多くすることができ、利用可能な位置IDの数を増加させることが可能になる。
しかも、同一の音波信号を流し続ける場合は、本システム以外のシステムや自然界から発せられている音波を入力して、誤った位置IDを取得してしまう可能性があるのに対し、本方式のように周期的変化を有する音波信号を用いる場合は、同様の音波が管理対象外で存在する可能性が低いため、位置IDを誤認識することが減り、精度が向上するという効果もある。
但し、受信側の携帯端末がどのようなタイミングで受信しようがそのまま位置IDを取得することができることが、同一の音波信号を流し続ける利点であったところ、時分割した音波信号を循環させる本方式の場合は、受信側の携帯端末がどのようなタイミングで受信しても正しい位置IDが取得されるようにするために、種々の工夫が必要となる。
工夫の第一点は、各々のタイムスロットで流される同一の音波信号の中に、位置IDの一部であるオクテット情報のビット列に加えて、そのオクテット情報が位置IDのどこの一部であるかを示す情報(上述した例では、循環するタイムスロットのTS番号)のビット列をも含ませることである。
工夫の第二点は、携帯端末において、時分割された音波信号を受信して位置IDを復元するという処理を繰り返し、位置IDの信頼性を高めるために、複数回連続して同じ位置IDが得られた場合にだけ、正しい位置IDが取得されたと判定することである。
工夫の第三点は、タイムスロットの時間の設定に関する。本例では、タイムスロットの時間は、40〜50ミリ秒に設定している。
タイムスロットとして設定可能な時間の上限は、例えば、人間の歩行速度での移動を捕捉するためには、概ね750ミリ秒以内に正しい位置IDを取得する必要があることから、タイムスロットの時間をTミリ秒とし、位置IDのビット数に基づく必要なタイムスロット数をY個とし、正しい位置IDと判定するために受信側で同一IDが連続して得られるべき回数をZ回とすると、T×Y×Z≦750となるように、定められる。
タイムスロットとして設定可能な時間の下限は、例えば、ID発信機のスピーカ(発音体)の反応速度と、受信側の入力や標本化(サンプリング)の精度を考慮して、定められる。また、図14に示した構成では、タイムスロットの時間は、FFTスロットの時間の2倍以上になるように、定められる。このFFTスロットの時間は、例えば、FFTのサンプリング周波数が一定(可聴周波数の上限域を分析するのに適した周波数)であるとすれば、音波信号でビット列を表現するために選択されている各周波数の間隔を検出するために必要なFFTのサンプリング点数に基づいて、定められる。
なお、上述した工夫の第一点について、タイムスロットの順番まで示されなくても、同じフレームに属するタイムスロットか否かが示されれば足りるとすれば、別の方式を用いて、本実施形態を構成することも可能である。その方式を、図16に示す。
図16の方式では、開始を示す「start」ビットに相当する音波信号を送出し、40ビットの位置IDを4つに分割した10ビット分のデータとそのエラー検出・訂正用のハミング符号(5ビット)とを合わせた15ビットを含む音波信号を一つのタイムスロットとして、4タイムスロット分を逐次送出し、最後に終了を示す「stop」ビットに相当する音波信号を送信する。この方式では、開始と終了のタイムスロットが増加する分、フレームの時間長が増加するが、位置IDのビット数も増加させることができる。
図16の方式で、1タイムスロットを50ミリ秒以内とすると、一つの位置IDの全体を送信するまでに6タイムスロット必要となることから、一つのフレームの時間が300ミリ秒以内となる。2つのフレームで認識した位置IDが同一である場合に正しい位置IDであると判定させるとすれば、フレームキャッシュの時間は、上述した例と同様に、600ミリ秒以内となり、位置IDを取得するまでに人間の歩行により移動する距離(最少誤差)は、約0.78mであるので、1m以内での位置ID取得が可能である。
また、上述した工夫の第一点について、人間の歩行速度での移動への追従性が少々低下しても足りるとすれば、さらに別の方式を用いて、本実施形態を構成することも可能であり。その方式を、図17に示す。
図17の方式では、開始を示す「同期信号1」に相当する音波信号を送出し、40ビットの位置IDを4つに分割した8ビット分のデータ(第1ビット列)とそのエラー検出・訂正用のハミング符号(5ビット)とを合わせた15ビットを含む音波信号を一つのタイムスロットとして送出し、次のタイムスロットで「同期信号2」に相当する音波信号を送出し、さらに次のタイムスロットで第2ビット列を含む15ビットの音波信号を送出する。これを繰り返し、「同期信号4」に続けて第4ビット列を含む15ビットを送出する。
図17の方式で、1タイムスロットを50ミリ秒以内とすると、一つの位置IDの全体を送信するまでに8タイムスロット必要となることから、一つのフレームの時間が、400ミリ秒以内となる。2つのフレームで認識した位置IDが同一である場合に正しい位置IDであると判定させるとすれば、フレームキャッシュの時間は、800ミリ秒以内となり、位置IDを取得するまでに人間の歩行により移動する距離(最少誤差)は、約1.06mであるので、概ね1mでの位置ID取得が可能である。
以上、本発明の実施形態について説明したが、上述の実施形態を本発明の範囲内で当業者が種々に変形、応用して実施できることは勿論である。