(58)【調査した分野】(Int.Cl.,DB名)
記憶部に記憶された地図データを、取得した画像データ内における所定地物の存在領域を推定する領域推定機能を有するコンピュータに参照させる参照機能を実現させる制御プログラムであって、
前記地図データは、前記所定地物の位置情報を含む所定地物に関する情報、片側複数車線における各車線毎の任意又は所定間隔ごとに設定された車線上の複数の所定点の位置に関する情報および前記所定地物に関する情報と前記所定点の位置に関する情報との対応関係を規定する情報であり、
前記画像データは、移動体の前方の情報であり、
前記参照機能は、前記コンピュータに前記地図データを参照させる機能を含む制御プログラム。
【発明を実施するための形態】
【0018】
A.第1実施形態:
A1.装置構成:
図1は、本発明の一実施形態としての位置特定装置の概略構成を示すブロック図である。
図1に示す位置特定装置100は、図示しない車両に搭載されて車両の位置を特定する。車両では、位置特定装置100により特定された位置に基づき、例えば、操舵や出力の自動制御を行なったり、運転者に警報を報知したり、経路探索や経路案内を行なったりすることができる。なお、上述の車両とは、トラック、タクシー、バス、バイク、自転車など、道路上を走行可能な任意の車両を意味する。
【0019】
図1に示すように、位置特定装置100は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)130と、ハードディスク140と、画像入力インターフェイス(I/F)部150と、GPS入力インターフェイス(I/F)部160と、を備えている。これらの各構成要素は、内部バス190に接続されている。
【0020】
CPU110は、ROM130に記憶されている制御プログラムを実行することにより、画像データ取得部111、測位結果取得部112、領域推定部113、および位置特定部114として機能する。
【0021】
画像データ取得部111は、撮像カメラ200により得られた撮像画像の画像データを取得してハードディスク140に記憶させる。本実施形態において、撮像カメラ200は、CCD(Charge Coupled Device)を有するデジタルビデオカメラであり、所定画素数の映像データ(画像データ)を取得する。また、本実施形態において、撮像カメラ200は、撮像範囲が車両前方となるように、車両に搭載されている。
【0022】
測位結果取得部112は、GPS(Global Positioning System)測位部300による測位結果である現在位置に関する情報(緯度、経度および高度)を取得する。GPS測位部300は、全地球測位システム(GPS)衛星から出力される信号に基づき、現在位置を算出する公知の装置であるため、その詳細な説明を省略する。なお、本実施形態において、車両の位置は、車両内におけるGPS測位部300の位置として特定される。なお、本実施形態では、上述した撮像カメラ200およびGPS測位部300の車両内における設置位置は固定されており、変更されないものとする。
【0023】
領域推定部113は、後述する車両位置特定処理において、撮像画像内における対象地物の存在領域を推定する。対象地物および存在領域の詳細については、後述する。
【0024】
ハードディスク140は、第1ベクトル情報格納部141、第2ベクトル情報格納部142、および地物情報格納部143を備えている。第1ベクトル情報格納部141は、後述する各所定点ごとに設定された第1ベクトルを示す情報を、ベクトルテーブルとして予め格納している。
【0025】
図2は、第1実施形態における第1ベクトルを示す説明図である。本実施形態では、車両が走行する各車線ごとに、所定間隔ごとにベクトル情報が設定されている地点(以下、「所定点」と呼ぶ)が設定されている。具体的には、
図2に示すように、中央線60と縁石70との間に位置する車線50の中心線55上に、中心線55に沿った所定の間隔ごとに所定点が設定されている。なお、
図2では、図示の便宜上、3つの所定点p1,p2,p3のみを表している。車線50の外側近傍には、車線50を走行する車両から視認可能に標識10が設置されている。標識10は、円形の平面視形状を有している。標識10の形状および模様並びに設置位置は、変更される可能性が低い。このため、標識10は、車両の位置を特定する際にランドマークとして利用される。なお、標識10に加えて、標識10とは異なる他の標識や電柱や道路標示なども、車両の位置を特定する際にランドマークとして利用される。本実施形態では、各所定点に対して、上述のような車両の位置を特定する際にランドマークとして利用される地物(以下、「対象地物」と呼ぶ)が予め設定されている。
【0026】
本実施形態では、各所定点ごとに、第1ベクトルVpsとして、所定点からランドマークへのベクトルが設定されている。具体的には、例えば、所定点p1に対しては、所定点p1から標識10へのベクトルである第1ベクトルVps1が設定されている。同様に、所定点p2に対しては所定点p2から標識10へのベクトルである第1ベクトルVps2が、所定点p3に対しては所定点p3から標識10へのベクトルである第1ベクトルVps3が、それぞれ設定されている。なお、各第1ベクトルの終点の位置は、本実施形態では、標識10の代表面の中心点に設定されている。上述の「標識10の代表面」とは、標識としてのマークが記載されており、目印としての機能を果たし得る面を意味する。
【0027】
図3は、
図1に示す第1ベクトル情報格納部141に格納されているベクトルテーブルの設定内容の一例を示す説明図である。ベクトルテーブルは、「所定点識別子」フィールドと、「位置情報」フィールドと、「第1ベクトル」フィールドと、「対象地物識別子」フィールドとを備えている。所定点識別子フィールドには、各所定点の識別子が設定される。位置情報フィールドには、各所定点の位置情報(緯度、経度および高度)が設定される。第1ベクトルフィールドには、各所定点に設定されている第1ベクトルを示す情報が設定される。対象地物識別子フィールドには、対象地物の識別子が設定される。
図3の例では、
図2に示す3つの所定点p1〜p3について設定されている3つのレコードが表されている。具体的には、最上段のレコードは、所定点p1のレコードに相当する。
図3では、所定点p1の識別子として「p1」が、所定点p1の位置情報として「X1,Y1,Z1」が、所定点p1の第1ベクトル(すなわち、所定点p1から標識10への第1ベクトルVps1)として「dx1,dy1,dz1」が、所定点p1の対象地物(すなわち、標識10)の識別子として「L1」が、それぞれ設定されている。同様に、所定点p2のレコードとして
図3の上から2段目のレコードが、所定点p3のレコードとして
図3の上から3段目のレコードが、それぞれ設定されている。ベクトルテーブルの各設定内容は、予め管理者により設定されている。対象地物として設定される地物は、当該所定点の近傍に車両が位置する際に、撮像カメラ200により得られる撮像画像に写り得る地物として、管理者により設定されている。なお、
図3において、各フィールドの値は、模式的な値として表されている。
【0028】
図1に示す第2ベクトル情報格納部142には、第2ベクトルを示す情報が格納されている。本実施形態において、第2ベクトルとは、測位部300から撮像カメラ200へのベクトルを意味する。
【0029】
図1に示す地物情報格納部143には、道路近傍に設置されている標識や路面標示といった地物に関する情報(以下、「地物情報」)が、地物テーブルとして格納されている。
【0030】
図4は、
図1に示す地物情報格納部143に格納されている地物テーブルの設定内容の一例を示す説明図である。地物テーブルは、「地物識別子」フィールドと、「位置情報」フィールドと、「外形」フィールドと、「大きさ」フィールドと、「ポリゴン識別子」フィールドとを備えている。地物識別子フィールドには、各地物の識別子が設定される。位置情報フィールドには、各地物の位置情報(緯度、経度および高度)が設定される。外形フィールドには、各地物の代表面の外観形状が設定される。大きさフィールドには、各地物の代表面の大きさを示す情報が設定される。ポリゴン識別子フィールドには、各地物を示すポリゴンの識別子が設定される。ハードディスク140には、各地物のポリゴンデータが格納されており、上述のポリゴン識別子と対応付けられている。
図4の例では、地物テーブルには2つのレコードが登録されている。地物識別子が「L1」のレコードは、標識10に関するレコードであり、標識10の位置情報として、「Xl1,Yl1,Zl1」が、標識10の外形として「円形」が、標識10の大きさとして「R(半径)=300mm」が、標識10のポリゴン識別子として「PG1」が、それぞれ設定されている。地物識別子が「L2」のレコードは、正方形の標識(例えば、車線の行き先を示す標識)に関するレコードであり、位置情報として「Xl2,Yl2,Zl2」が、外形として「正方形」が、大きさとして「900mm×900mm」が、ポリゴン識別子として「PG2」が、それぞれ設定されている。
【0031】
ここで、測位部300による測位結果には誤差が含まれているため、測位部300の即位結果のみでは車両の現在位置を正確に特定できない可能性がある。そこで、第1実施形態の位置特定装置100は、後述する車両位置特定処理を実行することにより、車両の現在位置を正確に特定する。
【0032】
図1に示す画像入力インターフェイス部150は、撮像カメラ200と接続するためのインターフェイスを有し、撮像カメラ200により得られた画像データを内部バス190を介してCPU110に送る。GPS入力インターフェイス部160は、測位部300と接続するためのインターフェイスを有し、GPS測位部300による測位結果を示す情報を、内部バス190を介してCPU110に送る。
【0033】
本実施形態において、所定点の位置は、請求項における所定点関連位置に相当する。また、第1ベクトル情報格納部141は
請求項における第1のベクトル情報記憶
部に、撮像カメラ200により得られる画像データは請求項における
移動体の前方の画像データに、GPS測位部300は請求項における位置センサーに、測位結果取得部112は請求項における位置情報取得部に、撮像カメラ200におけるCCDは請求項における受信部に、地物情報格納部143は請求項における形状情報記憶部に、それぞれ相当する。
【0034】
A2.車両位置特定処理:
図5は、第1実施形態における車両位置特定処理の手順を示すフローチャートである。位置特定装置100では、電源がオンの後、車両位置特定処理が繰り返し実行される。先ず、画像データ取得部111は、撮像カメラ200を制御して静止画像を撮像し、その画像データを取得する(ステップS105)。
【0035】
測位結果取得部112は、撮像時のGPS測位部300による測位結果を、画像データが取得された際の推定される車両の現在位置を示す情報(以下、「推定位置情報」と呼ぶ)として取得する(ステップS110)。上述したように、GPSによる測位には誤差が含まれるため、本実施形態では、GPS測位部300の測位結果を、推定される車両の現在位置として扱う。
【0036】
領域推定部113は、ステップS110で得られた推定位置情報を用いて、GPS測位部300から各所定点へのベクトル(以下、「第3ベクトルVgp」と呼ぶ)を算出する(ステップS115)。
【0037】
図6は、第1実施形態における第3ベクトルVgpを示す説明図である。
図6では、車線50上を走行する車両500と標識10とを側方から見た図を表している。
図6では、GPS測位部300から各所定点への第3ベクトルVgpのうち、GPS測位部300から所定点p1への第3ベクトルVgpのみを代表して表している。また、
図6では、第3ベクトルVgpに加えて、上述した第1ベクトルVps(所定点p1から標識10へのベクトル)および第2ベクトルVgc(GPS測位部300から撮像カメラ200へのベクトル)も描かれている。また、
図6では、第1ないし第3ベクトルに加えて、後述する第4ベクトルVcsおよび第5ベクトルVgsも描かれている。第4,5ベクトルの詳細については後述する。
【0038】
各所定点の位置情報については、
図3に示すベクトルテーブルに記憶されており、GPS測位部300の位置(
画像データが得られた際の推定される位置)は、ステップS110で得られているので、ステップS115では、
各所定点の位置および推定される位置に基づき第3ベクトルVgpが算出される。本実施形態では、ステップS115では、ステップS110で得られた推定位置情報の示す位置を中心として所定範囲(例えば、半径50mの円形領域)内に存在する所定点のみを対象として、第3ベクトルVgpが算出される。なお、推定位置情報の示す位置に最も近い所定点(以下、「最近傍点」と呼ぶ)のみを対象として第3ベクトルVgpを算出してもよい。すなわち、ステップS115では、GPS測位部300から推定位置情報の示す位置の近傍の所定点への第3ベクトルVgpを算出してもよい。
【0039】
図5に示すように、領域推定部113は、第1ないし第3ベクトルを利用して、撮像カメラ200から標識10へのベクトル(上述の第4ベクトルVcs)を算出する(ステップS120)。具体的には、
図6に示す第3ベクトルVgpと第1ベクトルVpsとを足し合わせた後、第2ベクトルVgcを差し引くことにより、第4ベクトルVcsを算出する。上述のように、推定位置情報の示す位置を中心として所定範囲内の所定点を対象として第3ベクトルVgpが算出されるために、かかる第3ベクトルVgpに基づき複数の第4ベクトルVcsが算出され得る。そこで、ステップS120では、これら複数の第4ベクトルVcsの平均のベクトルを求め、得られたベクトルを、第4ベクトルVcsとしてステップS125以降において用いる。
【0040】
図5に示すように、領域推定部113は、ステップS120で算出された第4ベクトルVcsに基づき撮像画像内における対象地物が存在する領域(以下、単に「存在領域」と呼ぶ)を推定する(ステップS125)。本実施形態では、ステップS125において、撮像画像内における右側半分の領域と左側半分の領域とのうちのいずれかの領域を、存在領域として推定する。上述の存在領域は、請求項における所定地物存在領域に相当する。
【0041】
図7は、ステップS125において推定される存在領域の一例を示す説明図である。
図7では、説明の便宜上、ステップS105で取得された画像F1内に第4ベクトルVcsを示している。
図7に示すように、第4ベクトルVcsは、画像F1の中心Cpから標識10に向かうベクトルとして示されている。上述のステップS125において、領域推定部113は、車両の進行方向と垂直な面、すなわち中心線55と垂直な面への第4ベクトルVcsの射影ベクトルを求め、かかる射影ベクトルが車両の進行方向に向かって右側に向かうベクトルであるか、左側に向かうベクトルであるかを特定する。そして、領域推定部113は、射影ベクトルが右側に向かうベクトルであると特定すると、撮像画像の右半分の領域を存在領域と推定し、射影ベクトルが左側に向かうベクトルであると特定すると、撮像画像の左半分の領域を存在領域と推定する。
図7の例では、第4ベクトルVcsの射影ベクトルは車両の進行方向に向かって左側に向かうベクトルであると特定され、画像F1の左側半分の領域Ar1が、存在領域と推定される。
【0042】
図5に示すように、位置特定部114は、撮像画像のうち、ステップS125で推定された存在領域内において対象地物の候補となる地物(以下、「候補地物」と呼ぶ)の抽出を行なう(ステップS130)。例えば、予め対象地物となり得る地物の輪郭パターンを登録しておき、ステップS130では、画像内においてエッジ抽出等により輪郭抽出を行い、かかる輪郭と登録しておいた輪郭パターンとを比較して、候補地物を抽出してもよい。
【0043】
位置特定部114は、ステップ
S130で抽出された各候補地物について、各所定点に関連付けられている対象地物のポリゴンとパターンマッチングを行い、撮像画像に写っている対象地物を特定する(ステップS135)。
【0044】
位置特定部114は、車両(GPS測位部300)からステップS135において特定された対象地物へのベクトル(上述の第5ベクトルVgs)を算出する(ステップS140)。上述したように、
図4に示す地物テーブルには各地物の位置情報が登録されているので、位置特定部114は、かかる位置情報とステップS110で取得された推定位置情報とを用いて第5ベクトルVgsを求めることができる。
【0045】
位置特定部114は、ベクトルテーブルを参照して、ステップS140で算出された第5ベクトルVgsと各第1ベクトルVpsとを比較して、第5ベクトルVgsに最も近似する第1ベクトルVpsを特定すると共に、特定された第1ベクトルVpsに対応付けられている所定点を特定する(ステップS145)。
【0046】
位置特定部114は、ステップS145で特定された所定点の位置を、車両の位置として特定する(ステップS150)。
【0047】
以上説明した第1実施形態の位置特定装置100では、撮像画像内における対象地物の存在領域を推定し、かかる存在領域のみを候補地物の抽出処理の対象領域としている。したがって、撮像画像のすべての領域を対象として候補地物の抽出処理を実行する構成に比べて、CPU110の処理負荷を低減でき、車両位置の特定に要する時間を短縮できる。また、撮像カメラ200から標識10へのベクトル(第4ベクトルVcs)を算出し、かかるベクトルに基づき存在領域を推定するので、撮像画像内における標識10が写っている領域を精度良く推定することができる。
【0048】
また、各所定点の位置情報を記憶すると共に各所定点に第1ベクトルVpsを示す情報を対応付けて記憶しているので、この第1ベクトルVpsを利用して第4ベクトルVcsを精度良く算出することができる。
【0049】
また、対象地物の位置情報を記憶しているので、対象地物を特定した際に車両(GPS測位部300)から標識10へのベクトル(第5ベクトルVgs)を特定できる。加えて、車両の現在位置により近い所定点に対応付けられている第1ベクトルVpsは、特定された第5ベクトルVgsにより近似する。このため、第5ベクトルVgsに最も近似する第1ベクトルVpsに対応付けられている所定点を車両の位置として特定することにより、車両の位置を精度良く特定できる。
【0050】
B.第2実施形態:
図8は、第2実施形態における位置特定装置の概略構成を示すブロック図である。第2実施形態の位置特定装置100aは、ハードディスク140が、第1ベクトル情報格納部141に代えて第4ベクトル情報格納部144を有する点において、
図1に示す第1実施形態の位置特定装置100と異なる。第2実施形態の位置特定装置100aにおけるその他の構成要素は、第1実施形態の位置特定装置100と同じであるので、同じ構成要素には同一の符号を付し、その詳細な説明を省略する。
【0051】
第4ベクトル情報格納部144は、各所定点ごとに設定された第4ベクトルVcsを示す情報を、ベクトルテーブルとして予め格納している。
【0052】
図9は、第2実施形態におけるベクトルテーブルの設定内容の一例を示す説明図である。第2実施形態のベクトルテーブルは、第1ベクトルフィールドに代えて、第4ベクトルフィールドを有する点において、
図3に示す第1実施形態のベクトルテーブルと異なる。第2実施形態のベクトルテーブルにおける他の構成は、第1実施形態のベクトルテーブルと同じであるので、詳細な説明を省略する。
図9に示すように、第2実施形態のベクトルテーブルでは、各所定点に対して第4ベクトルを示す情報が設定されている。本実施形態では、車両(GPS測位部300)が各所定点の鉛直上方に位置する際の撮像カメラ200から対象地物へのベクトルが、第4ベクトルVcsとしてベクトルテーブルに設定されている。この第4ベクトルVcsは、予め管理者によりベクトルテーブルに設定されている。
【0053】
図10は、第2実施形態における車両位置特定処理の手順を示すフローチャートである。第2実施形態の車両位置特定処理は、ステップS115およびS120に代えてステップS116およびS121を実行する点と、ステップS145に代えてステップS145aを実行する点とにおいて、
図5に示す第1実施形態の車両位置特定処理と異なる。第2実施形態の車両位置特定処理における他の手順は、第1実施形態の車両位置特定処理と同じであるので、同じ手順には同一の符号を付し、その詳細な説明を省略する。
【0054】
図10に示すように、ステップS110が実行されて推定位置情報が取得されると、領域推定部113は、最近傍点を特定する(ステップS116)。領域推定部113は、ステップS116で特定された最近傍点に対応付けられている第4ベクトルVcsを、第4ベクトル情報格納部144に格納されているベクトルテーブルを参照して特定する(ステップS121)。車両の現在位置として推定される位置に最も近傍の所定点に対応付けられている第4ベクトルVcsは、車両の現在位置において撮像カメラ200から対象地物へのベクトルに近似する。
【0055】
ステップS121の実行後、上述したステップS125〜S140が実行される。ステップS140の実行後、位置特定部114は、ステップS140で算出された第5ベクトルVgsと各所定点の第4ベクトルVcsとを比較して、第5ベクトルVgsに最も近似する第4ベクトルVcsを特定すると共に、特定された第4ベクトルVcsに対応付けられている所定点を特定する(ステップS145a)。その後、上述したステップS150が実行される。
【0056】
以上説明した第2実施形態の位置特定装置100aは、第1実施形態の位置特定装置100と同様な効果を有する。加えて、車両の現在位置として推定される位置に最も近傍の所定点に対応付けられている第4ベクトルVcsを特定し、かかる第4ベクトルVcsに基づき存在領域を推定する。車両の現在位置として推定される位置に最も近傍の所定点に対応付けられている第4ベクトルVcsは、車両の現在位置において撮像カメラ200から対象地物へのベクトルに近似するので、存在領域を精度良く推定できる。また、予め第4ベクトルVcsをベクトルテーブルに登録しておき、かかるテーブルから第4ベクトルVcsを選択して特定するので、第4ベクトルVcsの特定に要する処理負荷を軽減できる。このため、車両位置の特定に要する時間をより短縮できる。
【0057】
なお、第2実施形態において第4ベクトルVcsは、請求項における第1のベクトルに相当する。
【0058】
C.第3実施形態:
図11および
図12は、第3実施形態における車両位置特定処理の手順を示すフローチャートである。第3実施形態の位置特定装置の構成は、
図1に示す第1実施形態の位置特定装置100の構成と同じであるので、同じ構成要素には同一の符号を付し、その詳細な説明を省略する。第3実施形態の車両位置特定処理は、ステップS111,S112およびS113を追加実行する点において、
図5に示す第1実施形態の車両位置特定処理と異なる。第3実施形態の車両位置特定処理における他の手順は、第1実施形態の車両位置特定処理と同じであるので、同じ手順には同一の符号を付し、その詳細な説明を省略する。
【0059】
第3実施形態の車両位置特定処理では、所定条件の下、存在領域として推定する領域を画像内において変位(シフト)させる。以下、その具体的な内容について、
図11および
図12に即して説明する。
【0060】
図11に示すように、ステップS110が実行されて推定位置情報が取得されると、領域推定部113は、最近傍点を特定する(ステップS111)。なお、このステップS111は、上述した第2実施形態のステップS116と同じである。
【0061】
領域推定部113は、ベクトルテーブルを参照して、ステップS111で特定された最近傍点に対応付けられている対象地物を特定し、かかる対象地物が、前回車両の位置として特定された所定点に対応付けられている対象地物と同じであるか否かを判定する(ステップS112)。
【0062】
最近傍点に対応付けられている対象地物が、前回車両の位置として特定された所定点に対応付けられている対象地物と同じであると判定されると(ステップS112:YES)、領域推定部113は、前回推定された存在領域よりも撮像画像の周縁寄りにシフトした領域を、今回の存在領域として推定する(ステップS113)。このとき、領域推定部113は、前回推定された存在領域が、撮像画像内において左側半分の領域内に位置する場合、撮像画像の左側の周縁寄りに所定量だけシフトした領域を、今回の存在領域として推定する。これに対して、領域推定部113は、前回推定された存在領域が、撮像画像内において右側半分の領域内に位置する場合、撮像画像の右側の周縁寄りに所定量だけシフトした領域を、今回の存在領域として推定する。
【0063】
図13は、ステップS113の処理の一例を示す説明図である。
図13(A)は、前回車両位置特定処理が実行された際に取得された画像F1を示し、
図13(B)は、今回車両位置特定処理が実行された際に取得された画像F11を示す。
図13(A)は、
図7に示す画像F1と同じである。但し、
図13(A)では、存在領域Ar1の中心点Ac1を追加して示している。
図13(B)では、
図13(A)と同様に、画像F11内に第4ベクトルVcsを示している。
【0064】
図13(A)に示すように、前回の車両位置特定処理では、存在領域
Ar1として、画像F1の左側半分の領域が特定されている。したがって、今回の車両位置特定処理においてステップS113が実行されると、
図13(B)に示すように、画像F11内においてより左側の周縁に寄った領域Ar11が、存在領域として特定される。上述の「左側の周縁寄り」とは、本実施形態では、領域の中心点が、左側の周縁に向かってシフトしていることを意味する。具体的には、
図13(B)に示す存在領域Ar11の中心点Ac2は、
図13(A)に示す存在領域Ar1の中心点Ac1に対して、ΔAだけ左側の周縁に向かってシフトしている。なお、存在領域の中心点の縦方向の位置は変化していない。本実施形態では、存在領域の左端は画像の左端と一致している。このため、存在領域の中心点が左側にシフトした場合であっても存在領域の左端はシフトしないので、
図13(B)に示す存在領域Ar11は、
図13(A)に示す存在領域Ar1に比べて小さい。
【0065】
図13に示すように、車線50の左側に配置されている標識10は、車両が進行するにしたがって撮像カメラ200から見てより左側にシフトしていく。このため、撮像画像内の標識10の位置も、時間的により後に取得された画像においてより左側に位置することになる。したがって、同じ対象地物を抽出する場合、時間的により後に取得された画像においてより周縁部にシフトした領域を存在領域として推定することができる。本実施形態では、存在領域のシフト量ΔAは、予め車速に応じた所定量としてROM130に記憶されている。具体的には、例えば、現在の車速がより高いほどより大きなシフト量が、シフト量ΔAとして設定されている。
【0066】
図12に示すように、上述したステップS113の実行後、上述したステップS130以降の処理が実行される。
【0067】
上述のステップS112において、最近傍点に対応付けられている対象地物が、前回車両の位置として特定された所定点に対応付けられている対象地物と同じではないと判定されると(ステップS112:NO)、
図12に示すように、上述したステップS115以降の処理が実行される。したがって、この場合、第3ベクトルVgpおよび第4ベクトルVcsが算出され、第4ベクトルVcsに基づき存在領域が推定される。最近傍点に対応付けられている対象地物が、前回車両の位置として特定された所定点に対応付けられている対象地物と同じではない場合、今回の車両位置特定処理における対象地物は、前回の対象地物と異なる可能性が高い。したがって、上述のように、時間的により後に取得された画像においてより周縁部にシフトした領域を存在領域として推定することができない。このため、第1実施形態と同様に、改めて第4ベクトルVcsを算出して、第4ベクトルVcsに基づき存在領域を推定するようにしている。
【0068】
以上説明した第3実施形態の位置特定装置100は、第1実施形態の位置特定装置100と同様な効果を有する。加えて、今回の車両位置特定処理における対象地物が、前回の対象地物と同じであると推定される場合には、前回に比べて画像の周縁寄りにシフトさせた領域を存在領域として推定するので、存在領域をより精度良く推定できる。また、周縁寄りにシフトさせることにより、存在領域を狭めることができるので、候補地物の抽出処理を実行する際のCPU110の処理負荷をより軽減できる。このため、車両位置の特定に要する時間をより短縮できる。
【0069】
D.第4実施形態:
図14は、第4実施形態におけるベクトルテーブルの設定内容の一例を示す説明図である。第4実施形態の位置特定装置の構成は、ベクトルテーブルの設定内容において、第1実施形態の位置特定装置100と異なる。第4実施形態の位置特定装置における他の構成は、第1実施形態の位置特定装置100の構成と同じであるので、同じ構成要素には同一の符号を付し、その詳細な説明を省略する。
【0070】
図14に示すように、第4実施形態のベクトルテーブルは、「角度」フィールドが追加されている点において、
図3に示す第1実施形態のベクトルテーブルと異なる。他の構成(フィールド)は、第1実施形態のベクトルテーブルと同じであるので、その詳細な説明を省略する。なお、
図14のベクトルテーブルでは、上述した所定点p1〜p3とは異なる4つの所定点p5,p6,p7,p8についてのレコードがそれぞれ設定されている。本実施形態において、角度フィールドは、第1ベクトルと対象地物の代表面の法線との間の角度を意味する。
【0071】
図15は、ベクトルテーブルにおける角度フィールドの設定内容の一例を示す説明図である。
図15の例では、車線51上の中心線56上に4つの所定点p5〜p8が設定されている。これら4つの所定点p5〜p8については、対象地物として、標識11が設定されている。なお、
図14に示す対象地物識別子「L11」は、標識11の識別子である。
図15に示すように、4つの所定点p5〜p8には、それぞれ第1ベクトルVps5〜Vps8が設定されている。
【0072】
図15において、破線の吹き出し内に示すように、各所定点p5〜p8には、標識11の代表面Srの法線ベクトルPLと、第1ベクトルVps5〜Vps8との間の角度(以下、「対象地物角度」と呼ぶ)が設定されている。なお、本実施形態において、「法線ベクトルPLと第1ベクトルVpsとの間の角度」とは、これら2つのベクトルをそれぞれX−Y平面と、X−Z平面と、Y−Z平面との3つの面にそれぞれ射影したベクトルを求め、各面において2つの射影ベクトル間の角度を求めた場合に得られる2つの角度のうち、より小さい側の角度を意味する。本実施形態においてX−Y平面とは、標識11の設置位置における水平面を意味し、X−Z平面とは、X−Y平面に垂直且つ中心線56と平行な面を意味し、Y−Z平面とは、X−Y平面に垂直且つ中心線56と直交する平面を意味する。なお、
図15では、各所定点p5〜p8について、法線ベクトルPLと第1ベクトルVpsとの間の角度のうち、X−Y平面への射影ベクトル間の角度を代表して表している。
【0073】
図14および
図15に示すように、所定点p5については、法線ベクトルPLと第1ベクトルVps5との間の角度θx5が対象地物角度の一部として設定されている。同様に、所定点p6については法線ベクトルPLと第1ベクトルVps6との間の角度θx6が、所定点p7については法線ベクトルPLと第1ベクトルVps7との間の角度θx7が、所定点p8については法線ベクトルPLと第1ベクトルVps8との間の角度θx8が、それぞれ対象地物角度の一部として設定されている。
【0074】
図15に示すように、対象地物角度のうち、X−Y平面への射影ベクトル間の角度は、標識11により近い所定点ほどより大きな値が設定されることになる。
図15の例では、所定点p8は、中心線56に沿って標識11の側方に位置しており、対象地物角度は90度である。このように、対象地物角度は、所定点ごとに異なるため、撮像画像内における対象地物の代表面の外観形状は、所定点ごとに異なる。
【0075】
図16は、第4実施形態における車両位置特定処理の手順を示すフローチャートである。第4実施形態の車両位置特定処理は、ステップS131を追加して実行する点と、ステップS135に代えてステップS135aを実行する点において、
図5に示す第1実施形態の車両位置特定処理と異なる。第4実施形態の車両位置特定処理における他の手順は、第1実施形態の車両位置特定処理と同じであるので、同じ手順には同一の符号を付し、その詳細な説明を省略する。
【0076】
ステップS130が実行されて候補地物が抽出されると、位置特定部114は、抽出された各候補地物の外形を、最近傍点に対応付けられている対象地物角度に基づき補正する(ステップS131)。具体的には、位置特定部114は、先ず最近傍点を特定すると共に、ベクトルテーブルを参照して最近傍点に対応付けられている対象地物角度を特定する。次に、位置特定部114は、特定された対象地物角度を用いて候補地物の代表面が画像内において正面を向くように(標識11の法線ベクトルPLと第1ベクトルVpsとが平行となるように)画像処理を行って候補地物の外形を補正(変形)する。なお、画像処理の具体的な手法については、公知の任意の手法を採用し得る。
【0077】
位置特定部114は、補正後の各候補地物について、各所定点に関連付けられている対象地物とパターンマッチングを行い、撮像画像に写っている対象地物を特定する(ステップS135a)。ステップS135aの実行後、上述したステップS140〜S150が実行される。
【0078】
以上説明した第4実施形態の位置特定装置100は、第1実施形態の位置特定装置100と同様な効果を有する。加えて、予め各所定点に対象地物角度を設定しておき、最近傍点に対応付けられている対象地物角度に基づき候補地物を補正(変形)するので、対象地物に対する車両の相対的な位置が車線51の中心線56上のどのような位置であっても、候補地物を対象としてパターンマッチングを行なう際に精度良く対象地物を特定できる。
【0079】
E.第5実施形態:
E1.装置構成:
図17は、第5実施形態における位置特定装置の概略構成を示すブロック図である。第5実施形態の位置特定装置100bは、レーザスキャナ入力インターフェイス(I/F)部170を有する点と、ハードディスク140が第2ベクトル情報格納部142に代えて第6ベクトル情報格納部145を有する点とにおいて、
図1に示す第1実施形態の位置特定装置100と異なる。第5実施形態の位置特定装置100bにおけるその他の構成要素は、第1実施形態の位置特定装置100と同じであるので、同じ構成要素には同一の符号を付し、その詳細な説明を省略する。
【0080】
レーザスキャナ
入力インターフェイス部170は、レーザスキャナ400と接続するためのインターフェイスを有し、レーザスキャナ400と接続されている。また、レーザスキャナ
入力インターフェイス部170は内部バス190に接続されており、レーザスキャナ400による測定結果を内部バス190を介してCPU110に送る。レーザスキャナ400は、レーザパルスを照射してその反射波を受信することで、レーザスキャナ400の位置を基準とした対象物までの距離、水平角度、および垂直角度を計測する。
【0081】
図18は、第5実施形態における第6ベクトルを示す説明図である。
図17に示す第6ベクトル情報格納部145には、予め第6ベクトルが格納されている。
図18に示すように、第6ベクトルVpcは、GPS測位部300が所定点の鉛直上方に位置した場合の所定点から撮像カメラ200へのベクトルに相当する。
図18では、GPS測位部300が所定点p1の鉛直上方に位置した場合の第6ベクトルVpcを示している。但し、この第6ベクトルVpcは、車両の位置にかかわらず一定となるベクトルである。すなわち、GPS測位部300が他の所定点の鉛直上方に位置する場合であっても、その所定点から撮像カメラ200へのベクトルは、
図18に示す第6ベクトルVpcと同じである。また、GPS測位部300が所定点とは異なる任意の位置の鉛直上方に位置する場合であっても、その位置から撮像カメラ200へのベクトルは、
図18に示す第6ベクトルVpcと同じである。このような第6ベクトルVpcは、予め計測により求めることができる。
【0082】
E2.車両位置特定処理:
図19は、第5実施形態における車両位置特定処理の手順を示すフローチャートである。位置特定装置100bでは、電源がオンの後、車両位置特定処理が繰り返し実行される。先ず、画像データ取得部111は、画像データを取得する(ステップS205)。このステップS205は、各実施形態のステップS105と同じであるので、詳細な説明を省略する。
【0083】
領域推定部113は、撮像時のGPS測位部300による測位結果に基づき、車両の推定される現在位置の周辺の所定点を特定する(ステップS210)。GPS測位部300は、複数のGPS衛星からそれぞれ信号を受け、各信号に基づきそれぞれ現在位置が含まれると推定される領域を特定する。そしてこれら複数の特定された領域が重なる領域内に存在する所定点を、ステップS210において推定される現在位置の周辺の所定点として特定する。なお、推定される現在位置の周辺の所定点の特定方法は、上述した方法に限定されず、例えば、以下のような方法も採用可能である。すなわち、GPS測位部300による測位によって得られた位置を中心として所定領域(例えば、所定半径の円形領域)内に存在する所定点を、推定される現在位置の周辺の所定点として特定する方法を採用してもよい。以降では、ステップS210において
図2に示す上述の3つの所定点p1,p2,p3が特定されたものとして説明する。
【0084】
領域推定部113は、ステップS210で特定された各所定点ごとに、第1ベクトルVpsが撮像画像内に写ったと仮定した場合の撮像画像内における第1ベクトルVpsの終点を特定し、かかる終点の位置を中心とした所定範囲を、存在領域の候補となる領域(以下、「候補存在領域」と呼ぶ)として特定する(ステップS215)。本実施形態では、画像内における第1ベクトルVpsの終点の位置を中心として、所定数の画素を一辺とする正方形の領域を候補存在領域として特定する。また、かかる領域の一辺の大きさは、所定点と対象地物との距離(第1ベクトルVpsの大きさ)に応じて設定されている。具体的には、対象地物との距離がより小さい所定点に対応する候補存在領域の一辺の大きさはより大きく設定されている。同一の対象地物の撮像画像内における大きさは、車両が対象地物からより遠くに離れているほどより小さいので、上述の構成とすることで、時間の経過と共に適切な大きさの領域を候補存在領域として特定できる。ステップS215が実行された後、領域推定部113は、ステップS215で得られた各所定点についての候補存在領域をすべて合わせた領域を、存在領域として特定する(ステップS220)。
【0085】
図20は、第5実施形態における存在領域を示す説明図である。
図20の画像F1は、存在領域Ar1に代えて、存在領域Ar20を有する点において、
図7に示す画像F1と異なり、他の構成は、
図7の画像F1と同じである。
【0086】
図20では、存在領域Ar20は、太い実線で囲まれた領域として表わされている。この存在領域Ar20は、候補存在領域Ar11と、候補存在領域Ar12と、候補存在領域Ar13とを合わせた領域である。候補存在領域Ar11は、所定点p1についての候補存在領域である。すなわち、候補存在領域Ar11は、車両の現在位置が所定点p1である場合に、撮像画像において対象地物(標識10)が存在するであろうと推定される領域である。同様に、候補存在領域Ar12は所定点p2についての、また、候補存在領域Ar13は所定点p3についての、それぞれ候補存在領域である。3つの所定点p1,p2,p3のうち、所定点p1が対象地物である標識10から最も遠く、所定点p2が標識10から2番目に遠く、所定点p3が標識10に最も近い。したがって、
図20に示すように、候補存在領域Ar11が最も小さく、候補存在領域Ar12が2番目に小さく、候補存在領域Ar13が最も大きい。
【0087】
図19に示すように、ステップS220の実行後、ステップS225およびS230が実行される。これら2つのステップは、上述した各実施形態のステップS130およびS135と同じであるので、詳細な説明を省略する。
【0088】
ステップS230により対象地物が特定されると、位置特定部114は、撮像画像内における撮像カメラ200から対象地物までのベクトルを特定する(ステップS235)。
図20の例では、撮像カメラ200から対象地物までのベクトルとはすなわち画像F1の中心Cpから対象地物の中心点へのベクトルVfが、ステップS235において特定される。
【0089】
位置特定部114は、レーザスキャナ
入力インターフェイス部170を介してレーザスキャナ400を制御して、レーザスキャナ400から対象地物までの距離、水平角度、および垂直角度を特定する。ここで、本実施形態では、レーザスキャナ400は撮像カメラ200の近傍に配置されている。したがって、レーザスキャナ400から対象地物までの距離、水平角度、および垂直角度は、撮像カメラ200から対象地物までの距離、水平角度、および垂直角度とみなすことができる。つまり、位置特定部114は、撮像カメラ200から対象地物までの距離、水平角度、および垂直角度を特定する(ステップS240)。
【0090】
位置特定部114は、ステップS235で特定されたベクトル(例えばベクトルVf)と、ステップS240で特定された距離、水平角度、および垂直角度に基づき、現実の(画像F1上ではない)撮像カメラ200から対象地物へのベクトル(第4ベクトルVcs)を特定する(ステップS245)。位置特定部114は、第6ベクトル情報格納部145に格納されている第6ベクトルVpcを読み出し、ステップS245で特定された第4ベクトルVcsに対して第6ベクトルVpcを足し合わせて現在位置から対象地物へのベクトルを求める(ステップS250)。位置特定部114は、ステップS250で得られたベクトルと、対象地物の座標とから、車両の現在位置を特定する(ステップS255)。
【0091】
図21は、ステップS250およびS255の処理内容を模式的に示す説明図である。上述のように、ステップS245では、
図21に示す第4ベクトルVcsが特定されている。したがって、かかる第4ベクトルVcsに対して第6ベクトルVpcを加えることにより、車両の現在位置ppから対象地物である標識10へのベクトル(ベクトルVt)が求められる。そして、このベクトルVtと標識10の座標とが分かるので、現在位置ppの座標を特定することができる。
【0092】
以上説明した第5実施形態の位置特定装置100bは、第1実施形態の位置特定装置100と同様の効果を有する。以上の各実施形態からも理解できるように、位置特定装置に第2ベクトルVgcを予め格納しておくことは必須ではなく、本実施形態のように、或る地点(GPS測位部300の鉛直下方の地点)から撮像カメラ200へのベクトルであるベクトルVpcを予め格納しておいてもよい。
【0093】
E3.第5実施形態の変形例:
上述した第5実施形態の車両位置特定処理の手順を以下のように変更してもよい。すなわち、ステップS205〜S230が実行された後、特定された対象地物の撮像画像上の位置(対象地物の中心点の位置)が、いずれの候補存在領域内に存在するかを特定する。そして、対象地物が存在する候補存在領域に対応付けられている所定点の位置を、車両の現在位置として特定する。例えば、
図20の例では、標識10は、候補存在領域Ar12内に存在するため、車両の現在位置として所定点p2の位置が特定されることとなる。候補存在領域は、当該候補存在領域に対応する所定点に車両が位置する場合に、撮像画像内に対象地物が映し出される可能性のある領域として設定されている。したがって、当該候補存在領域に対象地物が存在することは、車両が当該候補存在領域に対応付けられている所定点、またはその近傍に位置していることを示す。それゆえ、上述の変形例によっても、車両の現在位置を精度よく特定できる。加えて、処理が簡素になることから、車両位置特定処理全体の処理負荷を軽減でき、車両の現在位置の特定に要する時間を短縮できる。
【0094】
F.変形例:
F1.変形例1:
第2実施形態
および第5実施形態を除く他の実施形態では、車両位置特定処理のステップS145において、第5ベクトルVgsに最も近似する第1ベクトルVpsを特定していたが、本発明はこれに限定されるものではない。例えば、各所定点ごとに第5ベクトルVgsから第3ベクトルVgpを差引くことで得られるベクトル(Vgs−Vgp)を特定し、当該所定点に設定されている第1ベクトルVpsと特定されたベクトルとを比較して、これら2つのベクトルの差が最も小さい所定点を特定してもよい。第5ベクトルVgsから第3ベクトルVgpを差引くことで得られるベクトル(Vgs−Vgp)は、第1ベクトルVpsにより近似する。したがって、このようなベクトルに最も近似する第1ベクトルVpsが設定されている所定点を特定することにより、実際の車両の位置により近い位置の所定点を特定でき、車両の位置をより精度良く特定できる。
【0095】
同様に、第2実施形態では、車両位置特定処理のステップS145aにおいて、第5ベクトルVgsに最も近似する第4ベクトルVcsを特定していたが、本発明はこれに限定されるものではない。例えば、第5ベクトルVgsから第2ベクトルVgcを差引くことで得られるベクトル(Vgs−Vgc)を特定し、各所定点ごとに当該所定点に設定されている第4ベクトルVcsと特定されたベクトルとを比較して、これら2つのベクトルの差が最も小さい所定点を特定してもよい。第5ベクトルVgsから第2ベクトルVgcを差引くことで得られるベクトル(Vgs−Vgc)は、第4ベクトルVcsにより近似する。したがって、このようなベクトルに最も近似する第4ベクトルVcsが設定されている所定点を特定することにより、実際の車両の位置により近い位置の所定点を特定でき、車両の位置をより精度良く特定できる。
【0096】
F2.変形例2:
第2実施形態
および第5実施形態を除く他の実施形態では、ステップS145で特定された所定点を、車両の位置として特定していた。また、第2実施形態では、ステップS145aで特定される所定点を、車両の位置として特定していた。しかしながら、本発明はこれらに限定されるものではない。ステップS105において画像データを取得してからステップS150で車両位置を特定するまでの間に、車両が移動していると、ステップS150で特定された位置は、ステップS150が実際に実行される際の実際の車両位置からずれている。そこで、ステップS105が開始されてからステップS150が完了するまでに要する時間を計測しておき、かかる時間と車両の速度とに基づき、ステップS105が開始されてからステップS150が完了するまでの間の車両の移動距離を求め、かかる移動距離に基づきステップS145またはS145aで特定された所定点の位置を車両の進行方向に補正した位置を特定し、かかる位置を車両の位置として特定してもよい。このような構成により、現在の車両位置をより精度良く特定できる。
【0097】
F3.変形例3:
第3実施形態および第5実施形態を除く他の実施形態では、存在領域は、画像内の右側半分または左側半分の領域として推定されていたが、本発明はこれに限定されるものではない。例えば、画像を上下および左右の合計4つに分割した場合のいずれかの領域として存在領域を推定してもよい。例えば、
図7の例では、中心線55と垂直な面への第4ベクトルVcsの射影ベクトルを求めた後、かかる射影ベクトルが左右のいずれの方向に向かうベクトルであるかを特定すると共に、上下のいずれの方向に向かうベクトルであるかを特定することにより、4つの領域のいずれかを存在領域として推定することができる。
【0098】
また、存在領域の形状は、矩形に限らず円形や三角形など任意の形状としてもよい。また、対象地物が路面標示ではなく標識や電柱といった道路の外側に配置される地物であれば、撮像画像内において明らかに道路であると推定される領域を除いて存在領域を推定してもよい。道路であると推定される領域は、例えば、白線および縁石をパターンマッチング等により検出してこれらで挟まれた領域(すなわち車線)として推定できる。
【0099】
F4.変形例4:
第2実施形態において、ベクトルテーブルに設定されている第4ベクトルVcsは、車両(GPS測位部300)が各所定点の鉛直上方に位置する際の撮像カメラ200から対象地物へのベクトルであったが、本発明はこれに限定されるものではない。例えば、各所定点の鉛直上方から車両の進行方向またはその反対方向に沿って所定距離だけオフセットした点に車両(GPS測位部300)が位置する際の撮像カメラ200から対象地物へのベクトルを、第4ベクトルVcsとしてベクトルテーブルに設定してもよい。
【0100】
F5.変形例5:
各実施形態において、所定点は、中心線55,56上に設定されていたが、中心線55,56に代えて、車線50,51に沿った任意の位置に設定されていてもよい。また、所定点は、中心線55,56に沿って所定間隔で設定されていたが、任意の間隔で設定されてもよい。
【0101】
F6.変形例6:
各実施形態では、ハードディスク140に予め格納されている第2ベクトルVgcは、1種類であったが、1種類に限らず任意の種類のベクトルを、第2ベクトルVgcとして格納してもよい。例えば、位置特定装置100が複数種類の車両に用いられる場合、各種類の車両ごとに、測位部300の設置位置および撮像カメラ200の設置位置は異なり得る。そこで、予め車種ごとに第2ベクトルVgcをハードディスク140に格納しておき、車両位置特定処理の実行前に又は実行中において車種を特定し、車種に応じた第2ベクトルVgcを用いる構成としてもよい。このような構成により、車両内における測位部300および撮像カメラ200の実際の配置に即したベクトルを、第2ベクトルVgcとして用いることができるので、車両の位置をより高い精度で特定できる。
【0102】
F7.変形例7:
各実施形態において、第1ないし第4ベクトルの各ベクトルの起点および終点を入れ替えてもよい。例えば、第1実施形態において、第1ベクトルVpsとして、対象地物を起点として各所定点を終点とするベクトルを採用してもよい。また、第2実施形態において、第4ベクトルVcsとして、対象地物を起点とし、車両(GPS測位部300)が各所定点の鉛直上方に位置する際の撮像カメラ200の位置を終点とするベクトルを採用してもよい。
【0103】
F8.変形例8:
第4実施形態では、
図16のステップS131において対象地物角度に基づく形状の補正対象は、候補地物であったが、候補地物に代えてまたは候補地物に加えて、各所定点に関連付けられている対象地物のポリゴンの外形を、補正対象としてもよい。
【0104】
F9.変形例9:
第4実施形態では、各所定点に対応付けられて設定されている角度(対象地物角度)は、法線ベクトルPLと第1ベクトルVpsとの間の角度であったが、かかる角度に代えて、対象地物の代表面Srと第1ベクトルVpsとの間の角度であってもよい。このような角度は、例えば、以下のように特定できる。すなわち、先ずX−Y平面、X−Z平面およびY−Z平面への代表面Srおよび第1ベクトルVpsの射影を求め、次に各平面における代表面Srの射影と第1ベクトルVpsの射影との間の角度のうち、最も小さい角度を求め、かかる角度を代表面Srと第1ベクトルVpsとの間の角度としてもよい。すなわち、一般には、所定地物の代表面と前記第1のベクトルとの間の角度に関連する任意の角度を、本発明の位置特定装置における関連角度として採用してもよい。
【0105】
F10.変形例10:
各実施形態の位置特定装置100,100aの構成は、あくまで一例であり、種々変形可能である。例えば、第1ベクトル情報格納部141、第2ベクトル情報格納部142、地物情報格納部143等は、いずれもハードディスク140に記憶されていたが、ハードディスク140に代えてROM130に記憶されてもよい。また、撮像カメラ200および測位部300は、位置特定装置100とは別体であったが、撮像カメラ200および測位部300のうちの少なくとも一方を位置特定装置100と一体に構成してもよい。また、撮像カメラ200は、撮像範囲が車両前方となるように配置されていたが、これに代えて、撮像範囲が車両後方となるように配置してもよい。また、各実施形態において説明した対象地物は車線50
,51の外側に配置されている標識10,11であったが、これに代えて、路面標示であってもよい。また、GPS測位部300に代えて、欧州が開発予定のGalileoシステムを用いてもよい。また、各実施形態では、車両位置特定処理において用いられる画像データは、撮像カメラ200により得られたデータであったが、本発明はこれに限定されるものではない。例えば、車両からミリ波帯の電波やレーザーを照射し、その反射波により表される画像データを用いてもよい。
【0106】
F11.変形例11:
上記実施形態において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータプログラム)は、コンピュータ読み取り可能な記録媒体に格納された形で提供することができる。この発明において、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスクやCD−ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピュータ内の内部記憶装置や、ハードディスク等のコンピュータに固定されている外部記憶装置も含んでいる。すなわち、「コンピュータ読み取り可能な記録媒体」とは、データを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
【0107】
本発明は、上述の実施形態や変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。