(57)【要約】【課題】二次元コードやバーコードなどの平面コードの大きさが平面コードごとに異なる場合や、平面コードの位置がカメラの光軸上にない場合や、平面コードがカメラに対して正対していない場合などであっても、平面コードまでの距離を正確に算出する。【解決手段】平面コードは、３つ以上の特徴点を有し、特徴点間の距離を含む情報を表わす。撮影部２１は、平面コードを撮影する。復号部２２は、撮影部２１が撮影した平面コードによって表わされる情報を復号する。距離算出部２３は、撮影部２１が撮影した画像上における特徴点の位置と、復号部２２が復号した情報に含まれる特徴点間の距離とに基づいて、撮影部２１と平面コードとの間の距離を算出する。【選択図】図４
2013231623.tif 000002
【特許請求の範囲】
【請求項１】
撮影部と、復号部と、距離算出部とを有し、
上記撮影部は、３つ以上の特徴点を有する平面コードであって上記特徴点間の距離を含む情報を表わす平面コードを撮影し、
上記復号部は、上記撮影部が撮影した平面コードによって表わされる情報を復号し、
上記距離算出部は、上記撮影部が撮影した画像上における上記特徴点の位置と、上記復号部が復号した情報に含まれる上記特徴点間の距離とに基づいて、上記撮影部と上記平面コードとの間の距離を算出する
ことを特徴とする距離測定装置。
【請求項２】
上記距離算出部は、上記撮影部が撮影した画像上における上記特徴点の位置に基づいて、上記平面コードを投影した投影平面上における上記特徴点の座標を算出し、算出した座標と、上記特徴点の実際の位置関係と、上記特徴点間の距離とに基づいて、上記撮影部と上記平面コードとの間の距離を算出する
ことを特徴とする請求項１に記載の距離測定装置。
【請求項３】
上記平面コードによって表わされる情報は、上記平面コードが付された場所に関する情報を含み、
請求項１または請求項２に記載の距離測定装置と、音声出力部とを有し、
上記音声出力部は、上記距離算出部が算出した距離に基づいて、上記復号部が復号した情報に含まれる上記場所に関する情報を音声化して出力する
ことを特徴とする視覚障害者支援装置。
【請求項４】
上記音声出力部は、上記距離算出部が算出した距離を音声化して出力することを特徴とする請求項３に記載の視覚障害者支援装置。
【請求項５】
上記音声出力部は、上記撮影部が撮影した平面コードが複数ある場合に、上記距離算出部が算出した距離が近い平面コードによって表わされる情報を音声化して出力することを特徴とする請求項３または請求項４に記載の視覚障害者支援装置。
【請求項６】
上記平面コードによって表わされる情報は、言語と、上記平面コードが付された場所に関する情報を上記言語で表わした情報とを含み、
上記視覚障害者支援装置は、更に、言語記憶部を有し、
上記言語記憶部は、上記視覚障害者支援装置を使用する使用者が理解する言語を記憶し、
上記音声出力部は、上記撮影部が撮影した平面コードによって表わされる言語が、上記言語記憶部が記憶した言語と一致する場合に、上記平面コードによって表わされる情報を音声化して出力する
ことを特徴とする請求項３乃至請求項５のいずれかに記載の視覚障害者支援装置。
【請求項７】
上記言語記憶部は、上記言語を複数記憶し、更に、上記言語の優先順位を記憶し、
上記音声出力部は、上記撮影部が撮影した平面コードが複数ある場合に、上記言語記憶部が記憶した優先順位に基づいて、上記言語の優先順位が高い平面コードによって表わされる情報を音声化して出力する
ことを特徴とする請求項６に記載の視覚障害者支援装置。
【請求項８】
上記平面コードによって表わされる情報は、上記平面コードが付された位置に関する情報を含み、
請求項１または請求項２に記載の距離測定装置と、位置算出部とを有し、
上記位置算出部は、上記平面コードが付された位置と、上記距離算出部が算出した距離とに基づいて、上記撮影部が存在する位置を算出する
ことを特徴とする測位装置。
【請求項９】
請求項８に記載の測位装置と、音声出力部とを有し、
上記音声出力部は、上記位置算出部が算出した位置を音声化して出力することを特徴とする視覚障害者支援装置。
【請求項１０】
コンピュータが実行することにより、上記コンピュータを請求項１または請求項２に記載の距離測定装置あるいは請求項３乃至請求項７及び請求項９のいずれかに記載の視覚障害者支援装置あるいは請求項８に記載の測位装置として機能させることを特徴とするコンピュータプログラム。
【請求項１１】
撮影部と、復号部と、算出部とを有する距離測定装置が、３つ以上の特徴点を有する平面コードであって上記特徴点間の距離を含む情報を表わす平面コードと上記撮影部との間の距離を測定する距離測定方法において、
上記撮影部が、上記平面コードを撮影し、
上記復号部が、上記撮影部が撮影した平面コードによって表わされる情報を復号し、
上記距離算出部が、上記撮影部が撮影した画像上における上記特徴点の位置と、上記復号部が復号した情報に含まれる上記特徴点間の距離とに基づいて、上記撮影部と上記平面コードとの間の距離を算出する
ことを特徴とする距離測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、二次元コードなどを撮影して、距離を測定する距離測定装置、及び、その距離測定装置を使った視覚障害者支援装置に関する。
【背景技術】
【０００２】
特許文献１には、サイズが既知であるバーコードを移動体に貼り付け、それをカメラで撮影することにより、バーコードまでの距離などを算出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１０７３５９号公報
【特許文献２】特開２００６−１７８２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術は、バーコードのサイズが既知であることが前提となっている。しかし、バーコードが付される場所やその他の要因により、バーコードの大きさは異なる場合がある。
また、特許文献１には、バーコードがカメラの光軸上になり、カメラの光軸とバーコードのバーコード面が垂直である場合についての説明が記載されている。それ以外の場合でも、バーコードがカメラの光軸となす角度を算出可能であると記載されているが、「最小二乗法による近似で回転行列Ｒを算出することができる」としか記載されていない。
この発明は、例えば、二次元コードやバーコードなどの平面コードの大きさが、平面コードごとに異なる場合、平面コードの位置がカメラの光軸上にない場合、平面コードがカメラに対して正対していない場合などであっても、平面コードまでの距離を正確に算出することを目的とする。
【課題を解決するための手段】
【０００５】
この発明にかかる距離測定装置は、撮影部と、復号部と、算出部とを有し、
上記撮影部は、３つ以上の特徴点を有する平面コードであって上記特徴点間の距離を含む情報を表わす平面コードを撮影し、
上記復号部は、上記撮影部が撮影した平面コードによって表わされる情報を復号し、
上記距離算出部は、上記撮影部が撮影した画像上における上記特徴点の位置と、上記復号部が復号した情報に含まれる上記特徴点間の距離とに基づいて、上記撮影部と上記平面コードとの間の距離を算出することを特徴とする。
【発明の効果】
【０００６】
この発明にかかる距離測定装置によれば、平面コードによって表わされる情報を復号部が復号し、復号した情報に含まれる特徴点間の距離に基づいて距離算出部が撮影部と平面コードとの間の距離を算出するので、平面コードの大きさが平面コードごとに異なる場合であっても、平面コードまでの距離を正確に算出することができる。
【図面の簡単な説明】
【０００７】
【図１】実施の形態１における視覚障害者支援装置１０の外観の一例を示す図。
【図２】実施の形態１における視覚障害者支援装置１０の使用イメージを示す図。
【図３】実施の形態１における視覚障害者支援装置１０のハードウェア資源の一例を示す図。
【図４】実施の形態１における視覚障害者支援装置１０の機能ブロックの一例を示す図。
【図５】実施の形態１におけ距離算出処理Ｓ３０の流れの一例を示す図。
【図６】実施の形態１における距離算出部２３が用いる座標系の一例を示す図。
【図７】実施の形態１における平面コード９９の一例を示す図。
【図８】実施の形態１における平面コード９９の別の例を示す図。
【図９】実施の形態１における平面コード９９の別の例を示す図。
【図１０】実施の形態２における読上判定処理Ｓ４０の流れの一例を示す図。
【図１１】実施の形態４における視覚障害者支援装置１０の機能ブロックの一例を示す図。
【図１２】実施の形態５における視覚障害者支援装置１０の機能ブロックの一例を示す図。
【図１３】実施の形態６における平面コード９９の縦方向ベクトルｖ及び横方向ベクトルｕの一例を示す図。
【図１４】実施の形態７における視覚障害者支援装置１０の機能ブロックの一例を示す図。
【発明を実施するための形態】
【０００８】
実施の形態１．
実施の形態１について、図１〜図９を用いて説明する。
【０００９】
図１は、この実施の形態における視覚障害者支援装置１０の外観の一例を示す図である。
【００１０】
視覚障害者支援装置１０（距離測定装置）は、使用者が身に着けて使用する。視覚障害者支援装置１０は、特に、使用者の頭部に装着する形状であることが望ましい。例えば、視覚障害者支援装置１０は、眼鏡形状である。あるいは、視覚障害者支援装置１０は、帽子形状や、ヘッドセット形状などであってもよい。
視覚障害者支援装置１０は、例えば、カメラ１１と、骨伝導スピーカ１２とを有する。
カメラ１１は、使用者の頭部が向いている方向を撮影する。
骨伝導スピーカ１２は、使用者の骨格を直接振動させることにより、使用者に聞こえる音声を出力する。視覚障害者支援装置１０は、骨伝導スピーカ１２の代わりに、通常のイヤホンなどを備える構成であってもよい。しかし、骨伝導スピーカ１２のほうが、使用者が他の音を聞くのを妨げないので、望ましい。
【００１１】
図２は、この実施の形態における視覚障害者支援装置１０の使用イメージを示す図である。
【００１２】
街には、通行人などに対して様々な情報を提示する案内板９７がある。案内板９７には、「○○駅」「きっぷうりば」「改札口」「トイレ」などの文字情報９８が描かれている。
全盲あるいは弱視など視覚に障害がある使用者９６には、これらの文字情報９８から情報を得ることが困難である。そこで、案内板９７に、平面コード９９をつける。平面コード９９は、所定の形状を有する模様が平面に描かれたものである。平面コード９９の形状には、例えば、正方形、長方形、三角形、その他の多角形や、円などがある。平面コード９９の模様は、テキストを符号化したものであり、平面コード９９を撮影した画像を復号することにより、符号化されたテキストを読み取ることができる。平面コード９９には、例えば、ＱＲコード（登録商標）などの二次元コードがある。また、一次元のバーコードなども、符号化とは関係のない高さ方向に一定の幅を有する長方形形状であるから、平面コード９９の一種である。
平面コード９９に符号化されているテキストは、例えば、以下のような情報を含む。
・その平面コード９９が設置されている場所に関する情報。以下、これを「場所情報」と呼ぶ。例えば、その案内板９７に描かれた文字情報９８など。
・平面コード９９にある特徴点の間の距離に関する情報。以下、これを「サイズ情報」と呼ぶ。特徴点とは、例えば、平面コード９９が多角形形状である場合の頂点や、「目玉」などの特徴的なパターンを持つ部分のことである。特徴点の間の距離には、例えば、平面コード９９が正方形形状である場合の一辺の長さや対角線の長さ、平面コード９９が長方形形状である場合の長辺及び短辺の長さ、平面コード９９が円形状である場合の直径や半径などがある。
【００１３】
使用者９６が視覚障害者支援装置１０を装着した状態で、案内板９７に遭遇すると、カメラ１１が平面コード９９を撮影する。
視覚障害者支援装置１０は、カメラ１１が撮影した平面コード９９を復号して、符号化されたテキストを取得する。視覚障害者支援装置１０は、取得したテキストから得た情報に基づいて、音声を生成し、骨伝導スピーカ１２から出力する。
使用者９６は、骨伝導スピーカ１２が出力した音声を聞くことにより、どこに何があるのかを容易に把握することができる。
【００１４】
図３は、この実施の形態における視覚障害者支援装置１０のハードウェア資源の一例を示す図である。
【００１５】
視覚障害者支援装置１０は、例えば、制御装置９１と、入力装置９２と、出力装置９３と、記憶装置９４と、演算装置９５とを有するコンピュータである。
記憶装置９４は、制御装置９１が実行するコンピュータプログラムや、演算装置９５が演算するデータなどを記憶する。記憶装置９４は、例えば、揮発性メモリや不揮発性メモリなどである。記憶装置９４は、着脱可能な記憶媒体にデータなどを記憶する構成であってもよい。
制御装置９１は、記憶装置９４が記憶したコンピュータプログラムを実行することにより、視覚障害者支援装置１０全体を制御して、以下に説明する機能ブロックを実現する。
演算装置９５は、制御装置９１による制御にしたがって、演算をする。演算装置９５は、例えば、記憶装置９４が記憶したデータに演算を施し、演算した結果のデータを記憶装置９４に再び記憶させる。
入力装置９２は、制御装置９１による制御にしたがって、視覚障害者支援装置１０の外部から情報を入力してデータに変換する。入力装置９２が変換したデータは、例えば、記憶装置９４が記憶し、あるいは、演算装置９５が演算する。図１で説明したカメラ１１は、入力装置９２の一例である。視覚障害者支援装置１０は、カメラ１１以外に、例えばマイクなど、他の入力装置９２を有する構成であってもよい。
出力装置９３は、制御装置９１による制御にしたがって、視覚障害者支援装置１０の外部へ情報を出力する。図１で説明した骨伝導スピーカ１２は、出力装置９３の一例である。視覚障害者支援装置１０は、骨伝導スピーカ１２以外に、他の出力装置９３を有する構成であってもよい。
【００１６】
図４は、この実施の形態における視覚障害者支援装置１０の機能ブロックの一例を示す図である。
【００１７】
視覚障害者支援装置１０は、例えば、撮影部２１と、復号部２２と、距離算出部２３と、音声出力部２４とを有する。
【００１８】
撮影部２１は、カメラ１１を用いて、撮影をする。撮影部２１は、例えば、１秒間に数回〜数十回程度の割合で、静止画像を撮影する。
復号部２２は、撮影部２１が撮影した静止画像のなかに平面コード９９が写っている場合、演算装置９５を用いて、平面コード９９を復号して、符号化されているテキストを取得する。
距離算出部２３は、演算装置９５を用いて、撮影部２１が撮影した静止画像のなかに映っている平面コード９９の位置と、復号部２２が復号したテキストに含まれるサイズ情報とに基づいて、平面コード９９までの距離を算出する。
【００１９】
音声出力部２４は、演算装置９５を用いて、復号部２２が復号したテキストに含まれる場所情報と、距離算出部２３が算出した距離とに基づいて、利用者に情報を伝達するテキストを生成する。音声出力部２４が生成するテキストは、例えば、「○○駅まで××メートル」のように、場所及びそこまでの距離を表わす。音声出力部２４は、生成したテキストを音声化し、骨伝導スピーカ１２を用いて出力する。
あるいは、音声出力部２４は、撮影部２１が撮影した静止画像のなかに平面コード９９が写っている位置に基づいて平面コード９９が見えている方向を判定し、判定した方向を含むテキストを生成する構成であってもよい。例えば、音声出力部２４は、撮影部２１が撮影した静止画像の横方向を３分割し、どの領域に平面コード９９が写っているかを判定する。音声出力部２４は、一番左の領域に平面コード９９が写っている場合「斜め左方向」、真ん中の領域に平面コード９９が写っている場合「正面方向」、一番右の領域に平面コード９９が写っている場合「斜め右方向」という表現を含むテキストを生成する。
【００２０】
なお、音声出力部２４は、平面コード９９が見えている方向をもっと細分化して表現するテキストを生成する構成であってもよい。例えば、「斜め右方向」を「１時方向」と「２時方向」とに分け、「斜め左方向」を「１１時方向」と「１０時方向」とに分けることにより、音声出力部２４は、平面コード９９が見えている方向を５つに分けて表現する。
【００２１】
また、平面コード９９に符号化されているテキストが方向通知情報を含む構成であってもよい。方向通知情報は、例えば、平面コード９９が見えている方向を音声出力部２４が生成するテキストに含めるか否かや、平面コード９９が見えている方向をどの程度細分化して表現するかなど表わす。音声出力部２４は、復号部２２が復号したテキストに含まれる方向通知情報に基づいて、平面コード９９が見えている方向を含む、あるいは含まない、テキストを生成する。
【００２２】
次に、距離算出部２３による距離算出の詳細について説明する。
【００２３】
カメラ１１は、必ずしも平面コード９９を正面から撮影するとは限らない。このため、距離算出部２３は、例えば以下のようにして、平面コード９９までの距離を算出する。
【００２４】
図５は、この実施の形態におけ距離算出処理Ｓ３０の流れの一例を示す図である。
【００２５】
距離算出処理Ｓ３０において、距離算出部２３は、平面コード９９までの距離を算出する。距離算出処理Ｓ３０は、例えば、特徴点抽出工程Ｓ３１と、歪み補正工程Ｓ３２と、距離算出工程Ｓ３３とを有する。
【００２６】
特徴点抽出工程Ｓ３１において、距離算出部２３は、カメラ１１が撮影した画像から、平面コード９９の特徴点を抽出する。距離算出部２３は、カメラ１１が撮影した画像上における特徴点の位置（例えば、画像のピクセル（画素）を単位として、画像の横方向及び縦方向における画像の中心から特徴点までの距離）を算出する。
歪み補正工程Ｓ３２において、距離算出部２３は、カメラ１１のレンズ歪みを補正して、特徴点抽出工程Ｓ３１で抽出した特徴点の位置を変換する。距離算出部２３は、例えばカメラ１１の撮影方向に対して垂直な投影平面上における特徴点の位置を算出する。
距離算出工程Ｓ３３において、距離算出部２３は、歪み補正工程Ｓ３２で算出した特徴点の位置と、サイズ情報とに基づいて、平面コード９９までの距離を算出する。
【００２７】
図６は、この実施の形態における距離算出部２３が用いる座標系の一例を示す図である。
【００２８】
三次元直交座標系（ｘ，ｙ，ｚ）は、カメラ１１が撮影した平面コード９９などの実際の位置を表わす座標系である。原点は、カメラ１１である。ｚ軸は、カメラ１１の撮影方向と平行である。ｘ軸は、カメラ１１が撮影した画像の横方向と平行である。ｙ軸は、カメラ１１が撮影した画像の縦方向と平行である。
投影平面Ｓは、カメラ１１が撮影した平面コード９９などを投影する平面である。投影平面Ｓは、ｚ軸に対して垂直であり、カメラ１１の前方１メートルに位置する。
二次元直交座標系（Ｘ，Ｙ）は、カメラ１１が撮影した平面コード９９などの投影平面Ｓ上の位置を表わす座標系である。原点は、投影平面Ｓとｚ軸との交点である。Ｘ軸は、カメラ１１が撮影した画像の横方向と平行である。Ｙ軸は、カメラ１１が撮影した画像の縦方向と平行である。すなわち、Ｘ軸とｘ軸とは平行であり、Ｙ軸とｙ軸とは平行である。
ある点の座標（ｘ，ｙ，ｚ）と、その点の投影平面上における投影点の座標（Ｘ，Ｙ）との間には、Ｘ＝ｘ／ｚ、Ｙ＝ｙ／ｚという関係が成り立つ。
【００２９】
平面コード９９までの距離を算出する具体的な方式は、平面コード９９の形状や特徴点の数などによって異なるので、場合を分けて説明する。
【００３０】
図７は、この実施の形態における平面コード９９の一例を示す図である。
【００３１】
この例において、平面コード９９は、正方形形状である。平面コード９９には、サイズ情報として、一辺の長さｅを表わす数字（例えばメートル単位）が符号化されている。なお、平面コード９９は正方形形状なので、対角線の長さは、√２ｅである。平面コード９９には、サイズ情報として、対角線の長さ√２ｅを表わす数字が符号化されている構成であってもよい。
【００３２】
正方形を平面に透視投影すると、四角形になる。距離算出部２３は、平面コード９９の投影画像の４つの頂点Ａ，Ｂ，Ｃ，Ｄを抽出する。距離算出部２３は、投影平面上における４つの頂点Ａ，Ｂ，Ｃ，Ｄそれぞれの座標（ＸＡ，ＹＡ），（ＸＢ，ＹＢ），（ＸＣ，ＹＣ），（ＸＤ，ＹＤ）を算出する。距離算出部２３は、２つの対角線ＡＣ，ＢＤの交点Ｏの座標（Ｘ０，Ｙ０）を算出する。距離算出部２３は、投影平面上における４つの頂点Ａ，Ｂ，Ｃ，Ｄそれぞれと交点Ｏとの間の長さａ，ｂ，ｃ，ｄを算出する。
【００３３】
平面コード９９の４つの頂点の実際の座標を、それぞれ、（ｘＡ，ｙＡ，ｚＡ）、（ｘＢ，ｙＢ，ｚＢ）、（ｘＣ，ｙＣ，ｚＣ）、（ｘＤ，ｙＤ，ｚＤ）とし、平面コード９９の中心点の実際の座標を、（ｘ０，ｙ０，ｚ０）とする。
平面コード９９の中心点は、対角線の中点だから、
【数１１】
2013231623.tif 000003
ｘＡ＝ＸＡ・ｚＡ、ｙＡ＝ＹＡ・ｚＡ、ｘＣ＝ＸＣ・ｚＣ、ｙＣ＝ＹＣ・ｚＣを代入して、ｚＡ，ｚＣについて解くと、
【数１２】
2013231623.tif 000004
平面コード９９の対角線の長さは、√２・ｅだから、
【数１３】
2013231623.tif 000005
よって、
【数１４】
2013231623.tif 000006
同様に、
【数１５】
2013231623.tif 000007
【００３４】
距離算出部２３は、復号部２２が復号したテキストから平面コード９９の一辺の長さｅを取得する。距離算出部２３は、長さａ，ｃ，ｅと座標ＸＡ，ＹＡ，ＸＣ，ＹＣとを使って、数１４の右辺の値を計算することにより、ｚ０を算出する。あるいは、距離算出部２３は、長さｂ，ｄ，ｅと座標ＸＢ，ＹＢ，ＸＤ，ＹＤとを使って、数１５の右辺の値を計算することにより、ｚ０を算出する構成であってもよい。
距離算出部２３は、算出したｚ０と、投影平面Ｓ上における交点Ｏの座標（Ｘ０，Ｙ０）とに基づいて、カメラ１１から平面コード９９の中心点までの距離Ｌを算出する。例えば、距離算出部２３は、Ｘ０の二乗とＹ０の二乗と１（カメラ１１から投影平面までの距離の二乗）との和（Ｘ０２＋Ｙ０２＋１）を算出する。距離算出部２３は、算出した和（Ｘ０２＋Ｙ０２＋１）の平方根√（Ｘ０２＋Ｙ０２＋１）を算出する。距離算出部２３は、算出した平方根√（Ｘ０２＋Ｙ０２＋１）と、ｚ０との積√（Ｘ０２＋Ｙ０２＋１）・ｚ０を算出して、距離Ｌとする。なお、距離算出部２３は、距離ｚ０を距離Ｌとみなす構成であってもよい。
【００３５】
なお、測定誤差等の影響があるため、数１４を使って計算したｚ０と数１５を使って計算したｚ０とは一致しない場合がある。距離算出部２３は、数１４及び数１５の両方を使ってｚ０を算出し、算出した２つのｚ０を平均して、誤差の影響を小さくする構成であってもよい。あるいは、距離算出部２３は、ａ＋ｃがｂ＋ｄより大きい場合は数１４を使ってｚ０を計算し、ｂ＋ｄがａ＋ｃより大きい場合は数１５を使ってｚ０を計算する構成であってもよい。投影平面上における距離が離れているほうが、誤差の影響が小さくなるからである。
【００３６】
図８は、この実施の形態における平面コード９９の別の例を示す図である。
【００３７】
この例において、平面コード９９は、円形状である。平面コード９９は、中心点に特徴的なパターンを有する。平面コード９９には、サイズ情報として、直径ｄを表わす数字が符号化されている。なお、平面コード９９には、サイズ情報として、半径ｄ／２を表わす数字が符号化されている構成であってもよい。
【００３８】
円を平面に透視投影すると、円または楕円になる。距離算出部２３は、平面コード９９の投影画像のパターンから、中心点Ｏを抽出する。距離算出部２３は、投影平面上における中心点Ｏの座標を算出する。距離算出部２３は、投影平面上において、中心点Ｏを通る直線と、平面コード９９の投影画像の外周との２つの交点Ａ，Ｃの座標を算出する。直線の選び方は、任意でよい。例えば、平面コード９９の投影画像である楕円の長径と平行な直線であってもよいし、Ｘ軸あるいはＹ軸と平行な直線であってもよい。楕円の長径と平行な直線を使う方式は、誤差の影響を小さくすることができる。また、Ｘ軸あるいはＹ軸と平行な直線を使う方式は、計算量を減らすことができる。
距離算出部２３は、投影平面上における線分ＯＡの長さａと、線分ＯＣの長さｃとを算出する。
【００３９】
投影平面上における線分ＡＣは、平面コード９９の直径を投影したものである。したがって、投影平面上における点Ａに投影された平面コード９９の外周上の点と、投影平面上における点Ｃに投影された平面コード９９の外周上の点との間の距離はｄである。また、平面コード９９の中心点は、その２点の中点である。
したがって、
【数１６】
2013231623.tif 000008
【００４０】
距離算出部２３は、復号部２２が復号したテキストから平面コード９９の直径ｄを取得する。距離算出部２３は、長さａ，ｃ，ｄと座標ＸＡ，ＹＡ，ＸＣ，ＹＣとを使って、数１６の右辺の値を計算することにより、ｚ０を算出する。
距離算出部２３は、算出したｚ０と、投影平面Ｓ上における中心点Ｏの座標（Ｘ０，Ｙ０）とに基づいて、カメラ１１から平面コード９９の中心点Ｏまでの距離Ｌを算出する。例えば、距離算出部２３は、Ｘ０の二乗とＹ０の二乗と１（カメラ１１から投影平面までの距離の二乗）との和（Ｘ０２＋Ｙ０２＋１）を算出する。距離算出部２３は、算出した和（Ｘ０２＋Ｙ０２＋１）の平方根√（Ｘ０２＋Ｙ０２＋１）を算出する。距離算出部２３は、算出した平方根√（Ｘ０２＋Ｙ０２＋１）と、ｚ０との積√（Ｘ０２＋Ｙ０２＋１）・ｚ０を算出して、距離Ｌとする。なお、距離算出部２３は、距離ｚ０を距離Ｌとみなす構成であってもよい。
【００４１】
なお、測定誤差の影響を減らすため、距離算出部２３は、投影平面上における平面コード９９の外周を近似する楕円を算出し、算出した楕円と直線との交点を算出して、点Ａ，Ｃとする構成であってもよい。
【００４２】
図９は、この実施の形態における平面コード９９の別の例を示す図である。
【００４３】
この例において、平面コード９９は、図７の例と同じく、正方形形状である。平面コード９９は、３つの特徴的なパターンを有する。３つの特徴的なパターンの中心点は、三角形を形成している。平面コード９９には、サイズ情報として、三角形の３辺の長さａ，ｂ，ｃを表わす数字が符号化されている。なお、三角形が正三角形である場合や、直角二等辺三角形である場合、平面コード９９には、サイズ情報として、三角形のいずれか一辺の長さを表わす数字が符号化されている構成であってもよい。
【００４４】
三角形を平面に透視投影すると、三角形になる。距離算出部２３は、平面コード９９の投影画像のパターンから、３つの特徴点Ａ，Ｂ，Ｃを抽出する。距離算出部２３は、投影平面上における３つの特徴点Ａ，Ｂ，Ｃそれぞれの座標（ＸＡ，ＹＡ）、（ＸＢ，ＹＢ）、（ＸＣ，ＹＣ）を算出する。
平面コード９９の３つの特徴点の実際の座標を、それぞれ、（ｘＡ，ｙＡ，ｚＡ）、（ｘＢ，ｙＢ，ｚＢ）、（ｘＣ，ｙＣ，ｚＣ）とする。
各辺の長さが、それぞれ、ａ，ｂ，ｃだから、
【数１７】
2013231623.tif 000009
詳細な説明は省略するが、これを解くことにより、３つの未知数ｚＡ，ｚＢ，ｚＣの算出式が得られる。
距離算出部２３は、その算出式を計算することにより、ｚＡ，ｚＢ，ｚＣを算出する。距離算出部２３は、算出したｚＡ，ｚＢ，ｚＣに基づいて、平面コード９９の中心点Ｏのｚ座標ｚ０を算出する。例えば、距離算出部２３は、ｚＡ，ｚＢ，ｚＣの平均を算出して、ｚ０とする。
【００４５】
以上説明した視覚障害者支援装置１０は、距離測定装置を有する。
距離測定装置は、撮影部（２１）と、復号部（２２）と、距離算出部（２３）とを有する。
上記撮影部は、３つ以上の特徴点を有する平面コードであって上記特徴点間の距離を含む情報を表わす平面コード（９９）を撮影する。
上記復号部は、上記撮影部が撮影した平面コードによって表わされる情報を復号する。
上記距離算出部は、上記撮影部が撮影した画像上における上記特徴点の位置と、上記復号部が復号した情報に含まれる上記特徴点間の距離とに基づいて、上記撮影部と上記平面コードとの間の距離を算出する。
【００４６】
平面コードによって表わされる情報に特徴点間の距離が含まれ、復号部が復号した情報に含まれる特徴点間の距離に基づいて、撮影部と平面コードとの間の距離を距離算出部が算出するので、平面コードによって大きさが異なる場合でも、平面コードまでの距離を正しく算出することができる。
【００４７】
上記距離算出部（２３）は、上記撮影部（２１）が撮影した画像上における上記特徴点の位置に基づいて、上記平面コード（９９）を投影した投影平面（Ｓ）上における上記特徴点の座標を算出し、算出した座標と、上記特徴点の実際の位置関係と、上記特徴点間の距離とに基づいて、上記撮影部と上記平面コードとの間の距離を算出する。
【００４８】
投影平面上における特徴点の座標と、特徴点の実際の位置関係とに基づいて、撮影部と平面コードとの間の距離を距離算出部が算出するので、平面コードを正面以外から撮影した場合であっても、平面コードまでの距離を正しく算出することができる。
【００４９】
上記距離算出部（２３）は、一直線上に等間隔に並んだ３つの特徴点について、上記投影平面（Ｓ）上における上記特徴点の座標及び特徴点間の長さを算出し、算出した長さと、上記特徴点間の実際の距離とに基づいて、次の式により、上記３つの特徴点のうち中央の特徴点までの距離を算出する。
【数１８】
2013231623.tif 000010
ただし、ａは、端に位置する特徴点Ａと、中央に位置する特徴点Ｏとの間の上記投影平面上における長さ、ｃは、上記特徴点Ａとは反対側の端に位置する特徴点Ｃと、上記特徴点Ｏとの間の上記投影平面上における長さ、ｄは、上記特徴点Ａ及び上記特徴点Ｃと上記特徴点Ｏとの間の実際の距離、（ＸＡ，ＹＡ）は、上記特徴点Ａの上記投影平面上における座標、（ＸＣ，ＹＣ）は、上記特徴点Ｃの上記投影平面上における座標である。
【００５０】
上記平面コード（９９）によって表わされる情報は、上記平面コードが付された場所に関する情報（場所情報）を含む。
視覚障害者支援装置１０は、距離測定装置と、音声出力部（２４）とを有する。
上記音声出力部は、上記距離算出部が算出した距離に基づいて、上記復号部が復号した情報に含まれる上記場所に関する情報を音声化して出力する。
【００５１】
距離算出部が算出した距離に基づいて、復号部が復号した情報に含まれる平面コードが付された場所に関する情報を音声出力部が音声化して出力するので、視覚障害者が、周囲の状況を知ることができ、視覚障害者の移動やその他の行動を支援することができる。
【００５２】
上記音声出力部（２４）は、上記距離算出部が算出した距離を音声化して出力する。
【００５３】
距離算出部が算出した距離を音声出力部が音声化して出力するので、視覚障害者が、平面コードが付された場所までの距離を容易に知ることができ、視覚障害者の移動やその他の行動を支援することができる。
【００５４】
なお、平面コード９９において情報が符号化される符号化方式は、コンピュータが復号可能なものであればよい。例えば、光学式文字読取装置（ＯＣＲ）用文字やその他の文字を用いて情報を符号化しておき、復号部２２が、光学文字認識により情報を取得する構成であってもよい。
また、復号部２２が光学文字認識機能を備えている場合、復号部２２が、案内板９７に描かれた文字情報９８を読み取り、音声出力部２４が音声化して出力する構成であってもよい。その場合、平面コード９９に符号化されている情報は、場所情報を含まない構成であってもよい。
【００５５】
また、平面コード９９のなかには、サイズ情報を含まないものがあってもよい。
サイズ情報を含まない平面コード９９をカメラ１１が撮影した場合、距離算出部２３は、その平面コード９９までの距離を算出しない。音声出力部２４は、復号部２２が復号したテキストに含まれる場所情報に基づいて、利用者に情報を伝達するテキストを生成する。
【００５６】
実施の形態２．
実施の形態２について、図１０を用いて説明する。
なお、実施の形態１と共通する部分については、同一の符号を付し、説明を省略する。
【００５７】
この実施の形態では、カメラ１１が撮影した画像に複数の平面コード９９が写っている場合について説明する。
【００５８】
この実施の形態における視覚障害者支援装置１０の外観、ハードウェア資源及び機能ブロックは、実施の形態１と同様なので、異なる点のみを説明する。
【００５９】
復号部２２は、撮影部２１が撮影した静止画像のなかに複数の平面コード９９が写っている場合、演算装置９５を用いて、それぞれの平面コード９９を復号して、符号化されているテキストを取得する。
距離算出部２３は、演算装置９５を用いて、撮影部２１が撮影した静止画像のなかに映っているそれぞれの平面コード９９について、平面コード９９の位置と、復号部２２が復号したテキストに含まれるサイズ情報とに基づいて、平面コード９９までの距離を算出する。
音声出力部２４は、演算装置９５を用いて、距離算出部２３が算出した距離に基づいて、どの平面コード９９を読み上げるかを決定する。音声出力部２４は、カメラ１１からの距離が近い平面コード９９を優先させる。音声出力部２４は、決定した平面コード９９について、復号部２２が復号したテキストに含まれる場所情報と距離算出部２３が算出した距離とに基づいて、演算装置９５を用いてテキストを生成し、生成したテキストを音声化して、骨伝導スピーカ１２を用いて出力する。
【００６０】
図１０は、この実施の形態における読上判定処理Ｓ４０の流れの一例を示す図である。
【００６１】
読上判定処理Ｓ４０において、音声出力部２４は、読み上げる平面コード９９を判定する。読上判定処理Ｓ４０は、例えば、コード選択工程Ｓ４１と、コード同定工程Ｓ４２と、優先度算出工程Ｓ４３と、最大判定工程Ｓ４４とを有する。
【００６２】
コード選択工程Ｓ４１において、音声出力部２４は、復号部２２が復号した平面コード９９のなかから、未処理の平面コード９９を選択する。
すべての平面コード９９が処理済であり、未処理の平面コード９９がない場合、音声出力部２４は、最大判定工程Ｓ４４へ処理を進める。
まだ処理していない平面コード９９がある場合、音声出力部２４は、そのなかから平面コード９９を一つ選択し、コード同定工程Ｓ４２へ処理を進める。
【００６３】
コード同定工程Ｓ４２において、音声出力部２４は、コード選択工程Ｓ４１で選択した平面コード９９と、記憶している平面コード９９とを同定する。音声出力部２４が記憶している平面コード９９は、前回の読上判定処理Ｓ４０で読み上げないと判定された平面コード９９である。同定は、平面コード９９に符号化されているテキストに基づく。すなわち、同じテキストが復号化されている平面コード９９が符号化されている場合、音声出力部２４は、それを同じ平面コード９９とみなす。読み上げられる情報が同じだからである。
コード選択工程Ｓ４１で選択した平面コード９９が新たにカメラ１１の視界に入ってきた平面コード９９である場合や、前回読み上げられた平面コード９９である場合は、記憶している平面コード９９のなかに、その平面コード９９と同定されるものがない。音声出力部２４は、その平面コード９９が新しい平面コード９９であると判定する。
【００６４】
優先度算出工程Ｓ４３において、音声出力部２４は、コード選択工程Ｓ４１で選択した平面コード９９の優先度を算出する。優先度は、平面コード９９までの距離が近いほど大きくなる。例えば、音声出力部２４は、距離算出部２３が算出した距離の逆数を算出して優先度とする。
また、コード同定工程Ｓ４２で同定された平面コード９９がある場合、音声出力部２４は、優先度を累積する。音声出力部２４は、その平面コード９９について記憶している累積優先度と、算出した優先度とを合計して、その平面コード９９の優先度とする。これにより、カメラ１１の視界内に長く存在している平面コード９９は、カメラ１１からの距離が遠くても優先度が累積して大きくなる。
音声出力部２４は、記憶装置９４を用いて、その平面コード９９を記憶し、その平面コード９９について算出した優先度を累積優先度として記憶する。
音声出力部２４は、コード選択工程Ｓ４１に処理を戻し、次の平面コード９９を選択する。
【００６５】
最大判定工程Ｓ４４において、音声出力部２４は、記憶している平面コード９９のなかから、優先度が最も大きい平面コード９９を選択して、その平面コード９９を読み上げると判定する。
音声出力部２４は、読み上げると判定した平面コード９９に基づいたテキストを生成して音声化したのち、記憶している平面コード９９のなかから、その平面コード９９を削除する。
【００６６】
読み上げる平面コード９９をこのように決定することにより、カメラ１１からの距離が近い平面コード９９ほど読み上げられる機会が多くなる。また、カメラ１１からの距離が遠い平面コード９９であっても、カメラ１１の視界内に長く存在していれば優先度が累積して大きくなる。平面コード９９の優先度は、読み上げられるとリセットされるので、カメラ１１からの距離が遠い平面コード９９にも、読み上げられる機会が与えられる。
【００６７】
なお、優先度が高い平面コード９９が読み上げられたことにより、その時点ではカメラ１１が撮影した静止画像に写っていない平面コード９９よりも累積優先度が高い平面コード９９が存在しなくなる場合がある。その場合、音声出力部２４は、例えば、その平面コード９９を最後に撮影した時刻からの経過時間が所定の閾値より小さい場合に、その平面コード９９を読み上げ、経過時間が閾値より大きい場合は、その平面コード９９を読み上げずに削除する構成であってもよい。また、音声出力部２４は、その平面コード９９が写っていた静止画像上における平面コード９９の位置から、その平面コード９９が現在存在する位置を推測する。音声出力部２４は、推測した位置を含むテキストを生成し、音声化して出力する。例えば、その平面コード９９を最後に撮影した静止画像においてその平面コード９９が右端の近傍に位置していた場合、その平面コード９９は右方向に見切れたと考えられるので、音声出力部２４は、その平面コード９９が現在は右方向に存在すると推測し、「右方向」という表現を含むテキストを生成する。逆に、その平面コード９９を最後に撮影した静止画像においてその平面コード９９が左端の近傍に位置していた場合、その平面コード９９は左方向に見切れたと考えられるので、音声出力部２４は、その平面コード９９が現在は左方向に存在すると推測し、「左方向」という表現を含むテキストを生成する。
【００６８】
なお、読み上げる平面コード９９を決定する方式は、例えば、次のようなものであってもよい。
・近い順にすべての平面コード９９を読み上げる。
・近い順に、所定の数の平面コード９９を読み上げる。
・一番近い平面コード９９だけを読み上げる。
【００６９】
以上説明した視覚障害者支援装置１０において、
上記音声出力部（２４）は、上記撮影部（２１）が撮影した平面コード（９９）が複数ある場合に、上記距離算出部（２３）が算出した距離が近い平面コードによって表わされる情報を音声化して出力する。
【００７０】
距離算出部が算出した距離が近い平面コードによって表わされる情報を音声出力部が音声化して出力するので、視覚障害者に近い場所についての情報を知らせることができる。音声による情報伝達は、一定の時間内に伝達できる情報量が限られるので、重要な情報を優先して知らせることが必要である。視覚障害者に近い場所についての情報は、遠い場所についての情報よりも重要であることが多いので、視覚障害者に近い場所についての情報を知らせることにより、重要な情報を知らせることができる。
【００７１】
上記音声出力部（２４）は、上記撮影部（２１）が撮影した平面コード（９９）が複数ある場合に、上記距離算出部（２３）が算出した距離に基づいて、上記平面コードの優先度を算出し、算出した優先度を累積した累積優先度が高い順に、上記平面コードによって表わされる情報を音声化して出力する。
【００７２】
累積優先度が高い順に平面コードによって表わされる情報を音声出力部が音声化して出力するので、遠い場所に付された平面コードであっても、撮影部が撮影した回数が多ければ、音声出力部が音声化して出力する。これにより、重要な情報を知らせることができる。
【００７３】
なお、サイズ情報を含まない平面コード９９など距離算出部２３が距離を算出しない平面コード９９について、音声出力部２４は、その平面コード９９が所定の距離にあるものと仮定して、優先度を算出する構成であってもよい。あるいは、音声出力部２４は、カメラ１１が撮影した静止画像上においてその平面コード９９が占める視野角に基づいて、優先度を算出する構成であってもよい。
【００７４】
実施の形態３．
実施の形態３について、説明する。
なお、実施の形態１または実施の形態２と共通する部分については、同一の符号を付し、説明を省略する。
【００７５】
この実施の形態では、平面コード９９までの距離だけでなく、平面コード９９の向きも考慮して、読み上げる平面コード９９を決定する方式について説明する。
【００７６】
この実施の形態における視覚障害者支援装置１０の外観、ハードウェア資源及び機能ブロックは、実施の形態１及び実施の形態２と同様なので、異なる点のみを説明する。
【００７７】
距離算出部２３は、演算装置９５を用いて、平面コード９９までの距離だけでなく、平面コード９９の傾きを算出する。平面コード９９の傾きとは、例えば、カメラ１１に対して正対する方向と、平面コード９９の法線方向との間の角度θである。例えば、距離算出部２３は、カメラ１１を基準とした平面コード９９の位置ベクトルと平面コード９９の法線ベクトルとの間の内積を算出する。距離算出部２３は、算出した内積に基づいて、傾きθの余弦ｃｏｓθを算出する。
【００７８】
音声出力部２４は、演算装置９５を用いて、距離算出部２３が算出した平面コード９９までの距離と、平面コード９９の傾きとに基づいて、読み上げる平面コード９９を決定する。音声出力部２４は、平面コード９９の傾きθが小さい平面コード９９を優先させて読み上げる。
例えば、実施の形態２で説明した読上判定処理Ｓ４０の優先度算出工程Ｓ４３において、音声出力部２４は、傾きθの余弦ｃｏｓθを平面コード９９までの距離で割った商を算出して、優先度とする。
【００７９】
読み上げる平面コード９９をこのように決定することにより、カメラ１１に対して正対している平面コード９９のほうが、カメラ１１に対して傾いている（すなわち、カメラ１１とは異なる方向を向いている）平面コード９９よりも、読み上げられる機会が多くなる。
【００８０】
なお、読み上げる平面コード９９を決定する方式は、例えば、次のようなものであってもよい。
・原則として、近い順。ただし、距離の差が所定の閾値以下である場合は、カメラ１１に対して正対しているほうを優先する。
・原則として、カメラ１１に対して正対している順。カメラ１１に対する角度の差が所定の閾値以下である場合は、近い順。
・原則として、近い順。ただし、カメラ１１に対する角度が所定の閾値以上である平面コード９９は、読み上げの対象から除外する。例えば、２つの道が交差する地点に案内表示を設け、ある道から近づいてくる人のために「××直進」というテキストを含む平面コード９９を、別の道から近づいてくる人のために「××左折」というテキストを含む平面コード９９を、それぞれの道に正対する向きに付す場合がある。２つの道が交差している角度が９０度以上であれば、別の道から近づいてくる人のための平面コード９９は見えない。しかし、２つの道が交差している角度が９０度未満である場合、別の道から近づいてくる人のための平面コード９９が見える場合がある。復号部２２がそれを復号できたとしても、そのテキストを読み上げるのは適切ではない。カメラ１１に対する角度が大きい平面コード９９を読み上げの対象から除外することにより、不適切なテキストが読み上げられるのを防ぐ。その場合、平面コード９９に符号化されているテキストが、傾き判断情報を含む構成であってもよい。傾き判断情報は、その平面コード９９を読み上げの対象から除外する傾きの閾値を表わす。音声出力部２４は、その平面コード９９のカメラ１１に対する角度が、傾き判断情報によって表わされる閾値以上である場合に、その平面コード９９を読み上げの対象から除外する。
【００８１】
次に、傾き算出の詳細について説明する。
【００８２】
例えば、実施の形態１で図７を用いて説明した例の場合、距離算出部２３は、算出したｚ０に基づいて、カメラ１１を基準とした三次元直交座標系における平面コード９９の４つの頂点の座標を算出する。
距離算出部２３は、算出した４つの頂点の座標に基づいて、２つの対角線ベクトルを算出する。距離算出部２３は、算出した２つの対角線ベクトルの外積を算出して、平面コード９９が付された平面の法線ベクトルとする。距離算出部２３は、算出した法線ベクトルの長さを１に正規化する。距離算出部２３は、正規化した法線ベクトルと、カメラ１１の光軸方向を表わすベクトル（０，０，１）との内積を算出する。距離算出部２３は、算出した内積の絶対値を算出して、傾きθの余弦ｃｏｓθとする。
【００８３】
なお、距離算出部２３は、２つの対角線ベクトルを算出するのではなく、隣接する２辺のベクトルを算出する構成であってもよいし、辺ベクトルと対角線ベクトルを算出する構成であってもよい。いずれのベクトルも、平面コード９９が付された平面内のベクトルであるから、平行でない２つのベクトルの外積をとれば、平面コード９９が付された平面の法線ベクトルを算出することができる。
【００８４】
平面コード９９の構成が異なる場合も同様に、距離算出部２３は、平面コード９９が付された平面内の平行でない２つのベクトルを算出し、算出した２つのベクトルの外積をとることにより、平面コード９９が付された平面の法線ベクトルを算出することができる。
【００８５】
以上説明した距離測定装置は、更に、座標算出部（距離算出部２３）と、法線算出部（距離算出部２３）とを有する。
上記座標算出部は、上記撮影部（２１）が撮影した画像上における上記平面コード（９９）の位置と、上記距離算出部（２３）が算出した上記撮影部と上記平面コードとの間の距離とに基づいて、３つ以上の特徴点の上記撮影部を基準とした実際の座標を算出する。
上記法線算出部は、上記座標算出部が算出した座標に基づいて、上記平面コードが付された平面内における平行でない２つのベクトルを算出し、算出した２つのベクトルの外積を算出して、上記平面の法線ベクトルとする。
【００８６】
これにより、撮影部の位置に対する平面コードの向きがわかるので、例えば、撮影部のほうに向いている平面コードを優先して音声化するなどの処理をすることができる。
【００８７】
実施の形態４．
実施の形態４について、図１１を用いて説明する。
なお、実施の形態１〜実施の形態３と共通する部分については、同一の符号を付し、説明を省略する。
【００８８】
この実施の形態では、音声案内を多言語化した構成について説明する。
【００８９】
平面コード９９に符号化されているテキストは、実施の形態１で説明した情報に加えて、更に、以下の情報を含む。
・場所情報の言語に関する情報。以下、これを「言語情報」と呼ぶ。
例えば、言語情報が「日本語」の場合、場所情報は「○○駅」、言語情報が「英語」の場合、場所情報は「○○  Ｓｔａｔｉｏｎ」など、場所情報は、対応する言語情報によって表わされる言語によって、その場所に関する情報を表わしたものである。
一つの平面コード９９に、場所情報と言語情報との組が複数含まれる構成であってもよい。あるいは、一つの平面コード９９には、場所情報と言語情報とが一つ含まれ、一枚の案内板９７に、言語情報が異なる複数の平面コード９９を付す構成であってもよい。
【００９０】
図１１は、この実施の形態における視覚障害者支援装置１０の機能ブロックの一例を示す図である。
【００９１】
視覚障害者支援装置１０は、実施の形態１で説明した機能ブロックに加えて、更に、言語記憶部２５を有する。
言語記憶部２５は、記憶装置９４を用いて、視覚障害者支援装置１０の使用者が理解できる言語を、あらかじめ記憶している。視覚障害者支援装置１０の使用者が理解できる言語が複数ある場合、言語記憶部２５は、視覚障害者支援装置１０の使用者が理解できる言語のリストを記憶する構成であってもよい。また、言語記憶部２５は、視覚障害者支援装置１０の使用者が理解できる複数の言語の優先順位を記憶する構成であってもよい。
【００９２】
音声出力部２４は、復号部２２が復号した平面コード９９のなかから、言語情報によって表わされる言語が、言語記憶部２５が記憶した言語と一致するものを抽出する。言語記憶部２５が言語のリストを記憶している場合は、音声出力部２４は、言語情報によって表わされる言語が、言語記憶部２５が記憶した言語のリストに含まれるものを抽出する。一つの平面コード９９に場所情報と言語情報との組が複数含まれている場合は、音声出力部２４は、それぞれの場所情報と言語情報との組を一つの平面コード９９とみなして、平面コード９９の抽出をする。
音声出力部２４は、抽出した平面コード９９について、演算装置９５を用いて、復号部２２が復号したテキストに含まれる場所情報と、距離算出部２３が算出した距離とに基づいて音声を生成する。音声出力部２４は、場所情報の部分だけでなく、その場所までの距離などの部分もその言語を使った音声を生成する。音声出力部２４は、骨伝導スピーカ１２を用いて、生成した音声を出力する。
【００９３】
なお、抽出した平面コード９９が複数ある場合、音声出力部２４は、実施の形態２や実施の形態３で説明した方式により、読み上げる平面コード９９を決定する構成であってもよい。
【００９４】
また、言語記憶部２５が言語のリストと、言語の優先順位とを記憶している場合、音声出力部２４は、優先順位が高い言語で表わされた場所情報を優先して読み上げる。
例えば、音声出力部２４は、復号部２２が復号した平面コード９９のなかから、言語情報によって表わされる言語が、言語記憶部２５が記憶した言語のリストのなかで最も優先順位が高い言語と一致するものを抽出する。抽出された平面コード９９がない場合、音声出力部２４は、復号部２２が復号した平面コード９９のなかから、言語情報によって表わされる言語が、言語記憶部２５が記憶した言語のリストのなかで二番目に優先順位が高い言語と一致するものを抽出する。音声出力部２４は、平面コード９９が抽出されるか、言語記憶部２５が記憶した言語のリストの最後に達するかするまで、これを繰り返す。
あるいは、実施の形態２で説明した読上判定処理Ｓ４０の優先度算出工程Ｓ４３において、音声出力部２４は、平面コード９９までの距離の逆数を、言語の優先順位で割った商を算出して、優先度とする。
なお、最も優先順位が高い言語以外の言語で表わされた場所情報を読み上げる場合、それ以外の部分（「〜まで」のような固定部分、距離情報の部分、平面コード９９が見える方向の部分など）について、音声出力部２４は、最も優先順位が高い言語を使った音声を生成する構成であってもよいし、場所情報と同じ言語を使った音声を生成する構成であってもよい。
【００９５】
復号部２２が復号した平面コード９９のなかに、言語情報によって表わされる言語に、言語記憶部２５が記憶した言語のリストに含まれるものがない場合、音声出力部２４は、平面コード９９を読み上げない。
なお、音声出力部２４は、言語情報によって表わされる言語が、言語記憶部２５が記憶した言語のリストに含まれない平面コード９９を読み上げる構成であってもよい。その場合、それ以外の部分については、音声出力部２４は、使用者が理解できる言語を使った音声を生成する。
【００９６】
読み上げる平面コード９９をこのように決定することにより、いろいろな言語で表現された場所情報を平面コード９９に符号化しておけば、そのなかから、使用者が理解できる言語を選択して、読み上げることができる。
【００９７】
また、音声出力部２４は、複数の平面コード９９が付されている位置が近く、言語情報によって表わされる言語が異なる場合、そのうちのいずれか１つだけを読み上げる構成であってもよい。その場合、その複数の平面コード９９は、同じ内容を異なる言語で表現した場所情報を含むと考えられるからである。例えば、近い位置に付された３つの平面コード９９の言語情報が、それぞれ「日本語」「英語」「中国語」であり、言語記憶部２５が記憶した言語のリストに「日本語」と「英語」とが含まれる場合でも、音声出力部２４は、「日本語」の平面コード９９と「英語」の平面コード９９とのうちいずれか一方だけを読み上げる。
例えば、音声出力部２４は、読み上げた平面コード９９を基準として、その平面コード９９に近い位置に付されている平面コード９９を判定する。音声出力部２４は、例えば、距離算出部２３が算出した距離の差が所定の閾値以下であり、かつ、カメラ１１が撮影した静止画像上に写っている平面コード９９の位置の差（画像上の距離）が所定の閾値以下である場合に、２つの平面コード９９が付されている位置が近いと判定する。音声出力部２４は、読み上げた平面コード９９と近い位置に付されていると判定した平面コード９９のなかから、読み上げた平面コード９９の言語情報と異なる言語情報を含む平面コード９９を抽出する。音声出力部２４は、抽出した平面コード９９を、読み上げの対象から除外する。
【００９８】
なお、平面コード９９に符号化されているテキストは、更に、以下の情報を含む構成であってもよい。
・同じ内容を異なる言語で表現した場所情報を含む複数の平面コード９９をグループ化するための情報。以下、これを「グループ情報」と呼ぶ。
グループ情報は、例えば、そのグループを別のグループと区別するための識別番号である。識別番号が同じ平面コード９９は、同じグループに属し、同じ内容を異なる言語で表現した場所情報を含む。識別番号は、カメラ１１が同時に撮影する可能性がある範囲内でグループごとに固有であればよい。まったく異なるタイミングで撮影された平面コード９９の識別番号が同じであっても、同じグループとはみなさない。
音声出力部２４は、グループ情報に基づいて、読み上げた平面コード９９と同じグループに属する平面コード９９を判定する。音声出力部２４は、読み上げた平面コード９９と同じグループに属すると判定した平面コード９９を、読み上げの対象から除外する。
平面コード９９が付された位置ではなく、グループ情報に基づいて、同じ内容を異なる言語で表現した場所情報を含む平面コード９９を判定するので、判定に必要な計算量が少なくて済む。また、同じ内容を異なる言語で表現した場所情報を含む平面コード９９を必ずしも近くに付さなくてよいので、平面コード９９を付す位置の自由度が増す。
【００９９】
上記平面コード（９９）によって表わされる情報は、言語と、上記平面コードが付された場所に関する情報を上記言語で表わした情報とを含む。
上記視覚障害者支援装置（１０）は、更に、言語記憶部（２５）を有する。
上記言語記憶部は、上記視覚障害者支援装置を使用する使用者が理解する言語を記憶する。
上記音声出力部（２４）は、上記撮影部（２１）が撮影した平面コードによって表わされる言語が、上記言語記憶部が記憶した言語と一致する場合に、上記平面コードによって表わされる情報を音声化して出力する。
【０１００】
これにより、上記平面コードが付された場所に関する情報を様々な言語で表現した平面コードのなかから、使用者が理解できる言語によって表現された情報を選択して音声化することができる。
【０１０１】
上記言語記憶部（２５）は、上記言語を複数記憶し、更に、上記言語の優先順位を記憶する。
上記音声出力部（２４）は、上記撮影部（２１）が撮影した平面コード（９９）が複数ある場合に、上記言語記憶部が記憶した優先順位に基づいて、上記言語の優先順位が高い平面コードによって表わされる情報を音声化して出力する。
【０１０２】
優先順位が高い平面コードによって表わされる情報を音声出力部が音声化して出力するので、使用者が理解できる言語が複数ある場合に、優先順位にしたがって、情報を音声化する言語を選択することができる。
【０１０３】
実施の形態５．
実施の形態５について、図１２を用いて説明する。
なお、実施の形態１〜実施の形態４と共通する部分については、同一の符号を付し、説明を省略する。
【０１０４】
この実施の形態では、視覚障害者支援装置１０自身の現在位置を算出する構成について説明する。
【０１０５】
平面コード９９に符号化されているテキストは、実施の形態１で説明した情報に加えて、更に、以下の情報を含む。
・平面コード９９が付された位置の座標に関する情報。以下、これを「座標情報」と呼ぶ。
座標情報は、例えば、ＷＧＳ８４などの世界測地系やその他の測地系で表わされた緯度、経度、高さなどである。あるいは、座標情報は、平面コード９９が付された位置を含む建築物や地域などに特化したローカルな座標系で表わされた座標であってもよい。また、座標情報は、測地系や座標系を識別するための情報を含む構成であってもよい。
【０１０６】
図１２は、この実施の形態における視覚障害者支援装置１０の機能ブロックの一例を示す図である。
【０１０７】
視覚障害者支援装置１０（測位装置）は、実施の形態１で説明した機能ブロックに加えて、更に、位置算出部２６を有する。
【０１０８】
位置算出部２６は、演算装置９５を用いて、復号部２２が復号したテキストに含まれる座標情報と、距離算出部２３が算出した平面コード９９までの距離とに基づいて、カメラ１１の位置を算出する。
【０１０９】
例えば、座標情報の座標系が三次元直交座標系である場合、次の式が成り立つ。
【数１９】
2013231623.tif 000011
ただし、（ｒ’０，ｓ’０，ｔ’０）は、座標情報の座標系におけるカメラ１１の座標を表わす。（ｒｉ，ｓｉ，ｔｉ）は、座標情報の座標系におけるｉ番目の平面コード９９の中心点の座標を表わす。ｉは、１以上ｎ以下の整数である。ｎは、カメラ１１が撮影した静止画像に写っていて、入力装置９２が復号した平面コード９９の数である。Ｌｉは、カメラ１１からｉ番目の平面コード９９までの距離を表わす。
【０１１０】
例えば、ｎ＝３の場合、位置算出部２６は、連立方程式を解くことにより、座標情報の座標系におけるカメラ１１の座標（ｒ’０，ｓ’０，ｔ’０）を算出する。
また、ｎ＞３の場合、位置算出部２６は、例えば、次の式によって表わされる誤差δｉの二乗の合計Σ［（δｉ）２］が最小になる（ｒ’０，ｓ’０，ｔ’０）を算出して、カメラ１１の座標とする。
【数２０】
2013231623.tif 000012
【０１１１】
音声出力部２４は、演算装置９５を用いて、復号部２２が復号したテキストに含まれる場所情報と、距離算出部２３が算出した距離と、位置算出部２６が算出したカメラ１１の位置とに基づいて、利用者に情報を伝達するテキストを生成する。音声出力部２４は、生成したテキストを音声化し、骨伝導スピーカ１２を用いて出力する。
例えば、音声出力部２４は、カメラ１１が撮影したそれぞれの平面コード９９について、復号部２２が復号したテキストを、記憶装置９４を用いて記憶しておく。音声出力部２４は、記憶しているテキストに含まれる座標情報によって表わされる平面コード９９の位置と、位置算出部２６が算出したカメラ１１の位置とが近い場合に、その平面コード９９をカメラ１１が撮影しなくても、記憶しているテキストに基づいて、利用者に情報を伝達するテキストを生成する。
ここで、平面コード９９の位置とカメラ１１の位置とが近いとは、例えば、カメラ１１が平面コード９９のある方向を向いていれば、復号部２２が平面コード９９を復号できる大きさに平面コード９９を撮影できる距離にあることをいう。この距離は、平面コード９９の大きさによって変わる。例えば、音声出力部２４は、記憶しているテキストに含まれるサイズ情報に基づいて、閾値となる距離を算出する。音声出力部２４は、平面コード９９とカメラ１１との距離が、算出した閾値より小さい場合に、平面コード９９の位置とカメラ１１の位置とが近いと判定する。
【０１１２】
以上説明した視覚障害者支援装置１０は、測位装置を有する。
上記平面コード（９９）によって表わされる情報は、上記平面コードが付された位置に関する情報を含む。
測位装置は、距離測定装置と、位置算出部（２６）とを有する。
上記位置算出部は、上記平面コードが付された位置と、上記距離算出部（２３）が算出した距離とに基づいて、上記撮影部（２１）が存在する位置を算出する。
【０１１３】
距離算出部が算出した距離に基づいて、位置算出部が撮影部の位置を算出するので、例えば、測位衛星の電波が届かない屋内などであっても、自身の位置を知ることができる。
【０１１４】
実施の形態６．
実施の形態６について、図１３を用いて説明する。
なお、実施の形態１〜実施の形態５と共通する部分については、同一の符号を付し、説明を省略する。
【０１１５】
この実施の形態では、視覚障害者支援装置１０自身の位置を算出する別の例について説明する。
【０１１６】
平面コード９９に符号化されているテキストは、実施の形態５で説明した情報に加えて、更に、以下の情報を含む。
・平面コード９９の向きに関する情報。以下、これを「向き情報」と呼ぶ。
向き情報は、平面コード９９が付された平面の向きと、その平面内における平面コード９９の向きとを表わす。向き情報は、例えば、平面コード９９の縦方向ベクトル及び横方向ベクトルである。
【０１１７】
図１３は、この実施の形態における平面コード９９の縦方向ベクトルｖ及び横方向ベクトルｕの一例を示す図である。
縦方向ベクトルｖは、平面コード９９を正面から見たときの縦方向を、座標情報と同じ座標系におけるベクトルとして表わしたものである。
横方向ベクトルｕは、平面コード９９を正面から見たときの横方向を、座標情報と同じ座標系におけるベクトルとして表わしたものである。
なお、縦方向ベクトルｖ及び横方向ベクトルｕは、長さを１に正規化したものであるほうが、視覚障害者支援装置１０の計算量が減るので好ましいが、必ずしも正規化したものでなくてもよい。
【０１１８】
縦方向ベクトルｖと横方向ベクトルｕとは、平面コード９９が付された平面を張る。縦方向ベクトルｖと横方向ベクトルｕとの外積は、平面コード９９が付された平面の法線ベクトルである。
【０１１９】
縦方向ベクトルと横方向ベクトルと法線ベクトルとは、このうちの２つがわかれば、残りの１つを算出できる。このため、向き情報は、縦方向ベクトルと横方向ベクトルとの組ではなく、法線ベクトルと縦方向ベクトルとの組であってもよいし、法線ベクトルと横方向ベクトルとの組であってもよい。
【０１２０】
距離算出部２３は、平面コード９９までの距離だけでなく、カメラ１１を基準とした三次元直交座標系（ｘ，ｙ，ｚ）における平面コード９９の中心点の座標と、平面コード９９の縦方向ベクトル及び横方向ベクトルとを算出する。
【０１２１】
例えば、実施の形態１で図７を用いて説明した例の場合、距離算出部２３は、算出したｚ０に基づいて、カメラ１１を基準とした三次元直交座標系における平面コード９９の４つの頂点の座標を算出する。
距離算出部２３は、算出した４つの頂点の座標に基づいて、隣接する２つの辺のベクトルを算出して、縦方向ベクトル及び横方向ベクトルとする。
【０１２２】
位置算出部２６は、距離算出部２３が算出した平面コード９９の中心点の座標及び縦方向ベクトル及び横方向ベクトルに基づいて、平面コード９９を基準とした三次元直交座標系（ｘ’，ｙ’，ｚ’）におけるカメラ１１の座標を算出する。三次元直交座標系（ｘ’，ｙ’，ｚ’）は、平面コード９９の中心点を原点とする。三次元直交座標系（ｘ’，ｙ’，ｚ’）のｘ’軸は、平面コード９９の横方向ベクトルと平行である。三次元直交座標系（ｘ’，ｙ’，ｚ’）のｙ’軸は、平面コード９９の縦方向ベクトルと平行である。三次元直交座標系（ｘ’，ｙ’，ｚ’）のｚ’軸は、平面コード９９が付された平面に対して垂直である。
例えば、位置算出部２６は、距離算出部２３が算出した縦方向ベクトルの長さを１に正規化したベクトル（ｖｘ，ｖｙ，ｖｚ）を算出する。位置算出部２６は、距離算出部２３が算出した横方向ベクトルの長さを１に正規化したベクトル（ｕｘ，ｕｙ，ｕｚ）を算出する。距離算出部２３は、算出した２つのベクトルと、距離算出部２３が算出した平面コード９９の中心点の座標（ｘ０，ｙ０，ｚ０）とを使って、次の式の右辺の値を計算することにより、平面コード９９を基準とした三次元直交座標系（ｘ’，ｙ’，ｚ’）におけるカメラ１１の座標（ｘ’０，ｙ’０，ｚ’０）を算出する。
【数２１】
2013231623.tif 000013
ただし、上付きの−１は、逆行列を表わす。
【０１２３】
位置算出部２６は、復号部２２が復号したテキストに含まれる平面コード９９の座標情報と向き情報とに基づいて、平面コード９９を基準とした三次元直交座標系（ｘ’，ｙ’，ｚ’）におけるカメラ１１の座標（ｘ’０，ｙ’０，ｚ’０）を、座標情報と同じ座標系における座標に変換する。
例えば、座標情報の座標系が三次元直交座標系である場合、位置算出部２６は、座標情報の座標系における平面コード９９の座標（ｒ０，ｓ０，ｔ０）と、平面コード９９の縦方向ベクトルを長さ１に正規化したベクトル（ｖｒ，ｖｓ，ｖｔ）と、平面コード９９の横方向ベクトルを長さ１に正規化したベクトル（ｕｒ，ｕｓ，ｕｔ）と、平面コード９９を基準とした三次元直交座標系（ｘ’，ｙ’，ｚ’）におけるカメラ１１の座標（ｘ’０，ｙ’０，ｚ’０）を使って、次の式の右辺の値を計算することにより、座標情報の座標系におけるカメラ１１の座標（ｒ’０，ｓ’０，ｔ’０）を算出する。
【数２２】
2013231623.tif 000014
【０１２４】
上記測位装置は、更に、座標算出部（距離算出部２３）と、方向算出部（距離算出部２３）とを有する。
上記座標算出部は、上記撮影部（２１）が撮影した画像上における上記平面コード（９９）の位置と、上記距離算出部（２３）が算出した上記撮影部と上記平面コードとの間の距離とに基づいて、３つ以上の特徴点の上記撮影部を基準とした実際の座標を算出する。
上記方向算出部は、上記座標算出部が算出した座標に基づいて、上記平面コードが付された平面内における平行でない２つのベクトルを算出する。
上記位置算出部は、上記座標算出部が算出した座標と、上記方向算出部が算出した２つのベクトルとに基づいて、上記平面コードを基準とした撮影部の座標を算出し、上記平面コードが付された位置と、算出した座標とに基づいて、上記撮影部の位置を算出する。
【０１２５】
上記平面コードが付された平面内における平行でない２つのベクトルに基づいて、平面コードを基準とした撮影部の座標を算出するので、平面コードが１つしか撮影できない場合でも、撮影部の位置を算出することができる。
【０１２６】
実施の形態７．
実施の形態７について、図１４を用いて説明する。
なお、実施の形態１〜実施の形態６と共通する部分については、同一の符号を付し、説明を省略する。
【０１２７】
この実施の形態では、視覚障害者支援装置１０自身の速度を算出する構成について説明する。
【０１２８】
図１４は、この実施の形態における視覚障害者支援装置１０の機能ブロックの一例を示す図である。
【０１２９】
視覚障害者支援装置１０は、実施の形態１で説明した機能ブロックに加えて、更に、速度算出部２７を有する。
【０１３０】
距離算出部２３は、平面コード９９までの距離だけでなく、カメラ１１を基準とした三次元直交座標系（ｘ，ｙ，ｚ）における平面コード９９の中心点の座標を算出する。
【０１３１】
速度算出部２７は、演算装置９５を用いて、距離算出部２３が算出したカメラ１１を基準とした三次元直交座標系における平面コード９９の中心点の座標に基づいて、カメラ１１の速度を算出する。
例えば、速度算出部２７は、記憶装置９４を用いて、距離算出部２３が算出した平面コード９９の中心点の座標と、その平面コード９９が写っている静止画像をカメラ１１が撮影した時刻とを記憶しておく。
カメラ１１が新しい静止画像を撮影し、距離算出部２３がその静止画像に写っている平面コード９９の中心点の座標を算出すると、速度算出部２７は、演算装置９５を用いて、記憶している平面コード９９と、距離算出部２３が新たに距離を算出した平面コード９９とを同定する。速度算出部２７は、同定した平面コード９９の中心点の座標の差を算出し、中心点の座標の単位時間当たりの変化量を算出する。カメラ１１の向きが変わっていないと仮定すると、平面コード９９の中心点の位置の単位時間当たりの変化量は、カメラ１１自身の速度と等しい。速度算出部２７は、算出した変化量をカメラ１１の速度とする。
【０１３２】
音声出力部２４は、演算装置９５を用いて、復号部２２が復号したテキストに含まれる場所情報と、距離算出部２３が算出した距離と、速度算出部２７が算出したカメラ１１の速度とに基づいて、利用者に情報を伝達するテキストを生成する。音声出力部２４は、生成したテキストを音声化し、骨伝導スピーカ１２を用いて出力する。
例えば、音声出力部２４は、速度算出部２７が算出したカメラ１１の速度から、使用者９６が向かっている方向と、平面コード９９がある方向との差を算出し、使用者９６が向かっている方向に近い方向にある平面コード９９を優先して読み上げる。
【０１３３】
なお、速度算出部２７は、更に、算出した速度の単位時間当たりの変化量を算出して、カメラ１１の加速度とする構成であってもよい。
【０１３４】
上記距離測定装置は、更に、速度算出部（２７）を有する。
上記速度算出部は、上記距離算出部が算出した距離に基づいて、上記撮影部の速度を算出する。
【０１３５】
上記距離測定装置は、更に、加速度算出部（速度算出部２７）を有する。
上記加速度算出部は、上記速度算出部が算出した速度に基づいて、上記撮影部の加速度を算出する。
【０１３６】
実施の形態８．
実施の形態８について、説明する。
なお、実施の形態１〜実施の形態７と共通する部分については、同一の符号を付し、説明を省略する。
【０１３７】
この実施の形態では、視覚障害者支援装置１０自身の速度を算出する別の例について説明する。
【０１３８】
この実施の形態における視覚障害者支援装置１０の機能ブロックは、実施の形態７と同様なので、図１４を参照して説明をする。
【０１３９】
距離算出部２３は、平面コード９９までの距離だけでなく、カメラ１１を基準とした三次元直交座標系（ｘ，ｙ，ｚ）における平面コード９９の中心点の座標と、平面コード９９の縦方向ベクトル及び横方向ベクトルとを算出する。
【０１４０】
速度算出部２７は、実施の形態６で説明した位置算出部２６と同様、距離算出部２３が算出した平面コード９９の中心点の座標及び縦方向ベクトル及び横方向ベクトルに基づいて、平面コード９９を基準とした三次元直交座標系（ｘ’，ｙ’，ｚ’）におけるカメラ１１の座標を算出する。
速度算出部２７は、算出した平面コード９９を基準とした三次元直交座標系におけるカメラ１１の座標に基づいて、カメラ１１の速度を算出する。
【０１４１】
これにより、静止画像を撮影したカメラ１１の向きが変化した場合でも、視覚障害者支援装置１０の速度を算出することができる。
【０１４２】
上記距離測定装置は、更に、座標算出部（距離算出部２３）と、方向算出部（距離算出部２３）とを有する。
上記座標算出部は、上記撮影部（２１）が撮影した画像上における上記平面コード（９９）の位置と、上記距離算出部（２３）が算出した上記撮影部と上記平面コードとの間の距離とに基づいて、３つ以上の特徴点の上記撮影部を基準とした実際の座標を算出する。
上記方向算出部は、上記座標算出部が算出した座標に基づいて、上記平面コードが付された平面内における平行でない２つのベクトルを算出する。
上記速度算出部は、上記座標算出部が算出した座標と、上記方向算出部が算出した２つのベクトルとに基づいて、上記平面コードを基準とした撮影部の座標を算出し、算出した座標とに基づいて、上記撮影部の速度を算出する。
【０１４３】
以上、各実施の形態で説明した構成は、一例であり、他の構成であってもよい。例えば、異なる実施の形態で説明した構成を組み合わせた構成であってもよいし、本質的でない部分の構成を、他の構成で置き換えた構成であってもよい。
【符号の説明】
【０１４４】
１０  視覚障害者支援装置、１１  カメラ、１２  骨伝導スピーカ、２１  撮影部、２２  復号部、２３  距離算出部、２４  音声出力部、２５  言語記憶部、２６  位置算出部、２７  速度算出部、９１  制御装置、９２  入力装置、９３  出力装置、９４  記憶装置、９５  演算装置、９６  使用者、９７  案内板、９８  文字情報、９９  平面コード、Ｓ３０  距離算出処理、Ｓ３１  特徴点抽出工程、Ｓ３２  歪み補正工程、Ｓ３３  距離算出工程、Ｓ４０  読上判定処理、Ｓ４１  コード選択工程、Ｓ４２  コード同定工程、Ｓ４３  優先度算出工程、Ｓ４４  最大判定工程。
【図１】
2013231623.tif 000015
【図２】
2013231623.tif 000016
【図３】
2013231623.tif 000017
【図４】
2013231623.tif 000018
【図５】
2013231623.tif 000019
【図６】
2013231623.tif 000020
【図７】
2013231623.tif 000021
【図８】
2013231623.tif 000022
【図９】
2013231623.tif 000023
【図１０】
2013231623.tif 000024
【図１１】
2013231623.tif 000025
【図１２】
2013231623.tif 000026
【図１３】
2013231623.tif 000027
【図１４】
2013231623.tif 000028