以下、図面を参照し、まず本発明の前提となる基礎事項を説明する。
本発明の実施形態における交通情報の生成方法では、図39(b)のように、対象道路に沿って所定の等距離間隔に位置付けた交通情報を、一定距離(即ち、一定の標本化点数)のブロックに分割し、符号化する。そして、受信側には、交通情報の分割区間を明示した対象道路の道路位置データと、交通情報とを送信する。受信側は、交通情報を復号化し、対象道路の交通情報を再生する。
この場合、小ブロックに含まれるサンプル数(データ量)が、交通情報の符号化及び復号化の際に纏めて扱うサンプル数(データ量)となるため、プログラムの負担は軽くなり、また、交通情報の符号化及び復号化に使用するワークメモリは、メモリサイズが小さくても足りることになる。
また、交通情報の活用の目的によって、交通情報に要求される再現精度は変化するのが通常である。例えば、信号制御の効果を測定するに際しては、車両の停止・発進の詳細な状況が必要とされるため、要求される交通情報の再現精度は高くなる。一方、渋滞・旅行時間の収集に際しては、粗い移動軌跡であっても、所定時間経過における車両の走行距離がわかれば、渋滞の有無等を把握することができる。従って、要求される交通情報の再現精度は低いものであっても良い。
ところが、対象道路区間の距離が長いと、その中に、詳しい交通情報が必要な渋滞区間と、詳しい情報が不要な閑散区間とを含む可能性が高くなるが、一つの対象道路区間内で、情報の詳細度(圧縮率)を変えることは難しく、そのため、必要性に応じた詳しさの情報を提供することが困難である。しかしながら、上述の様に、対象道路に沿って等間隔に位置付けた交通情報を、一定距離(即ち、一定の標本化点数)のブロックに分割した場合、ブロックごとに上述のような必要性に応じて(要求再現精度に応じて)、圧縮率を変更することができる。従って、データの取り扱いを柔軟にすることができ、かつ、データ量を減らすことも可能となる。
図1は、この交通情報の生成方法を模式的に示している。図1(a)は、交通情報の対象道路を示し、図1(b)は、プローブカーが単位時間ごとに測定した走行速度(交通情報データ)を、縦軸に速度、横軸に対象道路の基点からの距離を取ったグラフで表している。このグラフは、標本化点間隔の違いは有るにしても、図39(b)の形態で表した交通情報をグラフ化したものに他ならない。この交通情報データとしての速度情報は、プローブカーからセンタに送られた交通情報と見ても良いし、センタが、プローブカーから収集して、カーナビゲーション装置等に提供する交通情報と見ても良い。また、交通情報データは、いわゆる時間の要素に関連した時間情報より構成される。この時間情報は各標本化点における時刻や、標本化点間の経過時間、単位距離当り経過時間等も含まれる。また、上述した車両の速度、各標本化点の移動距離も含まれる。
図1(a)は、所定の対象道路を、特許文献2の方法にてリサンプルし(標本化)、標本化点(リサンプル点)を所定のリサンプル区間長を有する直線(リンク)で結んだ状態を示す概念図(道路リサンプル図)を示す。「リサンプル」とは、隣接する座標点からの距離が一定となるように新たな座標点を設定することをいう。
また、図1(b)のグラフ中で、実線は、速度の測定データを表し、一点鎖線は、測定データを低い圧縮率で圧縮した速度情報を表し、細かい点線は、測定データを中程度の圧縮率で圧縮した速度情報を表し、また、粗い点線は、測定データを高い圧縮率で圧縮した速度情報を表している。
図1(b)のグラフからわかるように、たとえ高い圧縮率で圧縮した速度情報でも、渋滞情報の概略を判定することは可能である。図1(b)では、高い圧縮率で圧縮した速度情報に対応する粗い点線からでも、距離2500m付近から距離3700m付近までが渋滞が発生しているということを把握することができる。距離2500m付近から距離3700m付近までにおいては、全般的に速度が小さいからである。すなわち、再現精度の低い交通情報によっても、渋滞情報を得ることは可能である。
交通情報は、ここでは1000mの単位で分割している。交通情報のブロックの境界位置を示すブロックマーカを対象道路上に設定し、このブロックマーカ位置が分かるように対象道路の道路位置データが生成される(「ブロックマーカの設定」)。図1(a)では、この道路位置データを得るためのノードを、対象道路の曲率が大きい、カーブのきつい区間に、距離L1の間隔で設定し、曲率が小さい、カーブの緩やかな区間に、距離L2(>L1)の間隔で設定し、ブロックマーカ位置をノードに追加している。なお、ブロックマーカ位置をノードに変える代わりに、ブロックマーカの隣接ノードの識別情報と、そのノードまでの距離の情報とを保持するようにしても良い。
ブロック単位に分割した交通情報は、ブロック単位で直交変換された後、符号化される(「直交変換符号化処理」)。このとき、符号化データの圧縮率はブロック単位で設定する(「ブロック毎の圧縮率設定」)。
また、ブロック単位で符号化した交通情報は、それを復号化して各ブロックの情報を繋げたとき、ブロックの境界で不整合(ブロックノイズ)が発生する可能性がある。それを回避するため、ブロックノイズを軽減する処理をあらかじめ施す(「ブロックノイズ軽減処理」)。ブロック単位で符号化した交通情報は、対象道路の道路位置データとともに提供する。
これらの情報を受信した受信側は、道路位置データから対象道路を特定し、ブロック単位で復号化した交通情報を対象道路上に位置付ける。このとき、ブロックマーカ間の距離情報を利用して、対象道路の長さ方向の位置ずれを補正する(「距離ずれの補正処理」)。
図2は、この方法で生成した交通情報を提供する情報送信装置10と、提供された交通情報を活用する情報活用装置40との構成をブロック図で示している。情報送信装置10は、プローブ情報を送信するプローブカー車載機であり、あるいは、編集した交通情報を提供する交通情報センタである。また、情報活用装置40は、プローブ情報を収集するプローブ情報収集センタであり、あるいは、交通情報の提供を受けるカーナビゲーション装置等である。
情報送信装置10は、道路に沿って等間隔に位置付けられた計測情報や交通情報が入力する交通情報・計測情報入力部11と、入力した情報からブロック単位の交通情報を生成する交通情報ブロック化部14と、交通情報のブロック毎の圧縮率を設定するブロック毎圧縮率決定部16と、ブロックノイズ軽減処理を行うブロックノイズ軽減処理部17と、ブロック単位の交通情報に直交変換符号化処理を行う直交変換符号化処理部19と、デジタル地図のデータベース(A)12と、入力した情報からプローブカーの走行軌跡や交通情報の対象道路の道路位置データを生成する位置データ抽出部13と、道路位置データにブロックマーカを追加するブロック位置マーカ追加部15と、道路位置データを可変長符号化する可変長符号化処理部18と、ブロック単位で符号化した交通情報と道路位置データとを送信するデータ送信部20と、この交通情報及び道路位置データを蓄積し、外部メディアを通じて提供するデータ蓄積部21とを備えている。交通情報・計測情報入力部11は、標本化データを受信する受信部として機能し、交通情報ブロック化部14は、交通情報データを抽出する抽出部としても機能する。
一方、情報活用装置40は、情報送信装置10から送られたデータを受信するデータ受信部41と、可変長符号化された道路位置データを復号化する位置符号化データ復号部42と、道路位置データを復元する位置データ復元部43と、デジタル地図のデータベース(B)45と、道路位置データで表された道路をデジタル地図データベース(B)45のデジタル地図上で特定する位置特定部44と、ブロックマーカの位置を特定するブロック化位置特定部46と、距離ずれの補正処理に用いる補正係数を算出するブロック毎補正係数算出部47と、直交変換符号化されたブロック単位の交通情報を復号化する交通情報符号化データ復号部48と、復号化した交通情報のブロックノイズ軽減処理を行うブロックノイズ軽減処理部49と、ブロック内の標本化点の位置などを補正するブロック毎単位距離補正部50と、対象道路に交通情報を重ね合わせる交通情報重畳部51と、交通情報を活用する情報活用部52とを備えている。
情報送信装置10は、符号化データを生成するという観点からはエンコーダを構成し、情報活用装置40は、符号化データを復元するという観点からはデコーダを構成する。
次に、この情報送信装置10で行われる交通情報の生成方法ついて詳しく説明する。
<ブロックマーカの設定>
情報送信装置10がプローブカー車載機である場合は、交通情報・計測情報入力部11から、図3(a)に示すように、標本化点(ノード)の座標、標本化点で計測された計測時刻、標本化点間の距離及び速度などの計測情報が入力する。交通情報ブロック化部14は、この入力情報からブロック単位の交通情報(速度情報;交通情報データ)を生成し、位置データ抽出部13は、この入力情報から標本化点の座標を選択して走行軌跡の道路位置データを生成し、ブロック位置マーカ追加部15は、この道路位置データにブロックマーカの情報を追加する。
このブロックマーカの設定処理は、図4に示す手順で行われる。ブロックマーカの付与単位として、あらかじめ、固定的な距離(あるいは、一定の標本化点数)を設定する。あるいは、この距離は、符号化のワークメモリとして使用可能な空きメモリ量に応じて、動的に決めても良い。
計測は、プローブ情報収集センタにプローブ情報を送信する時期が来るまで単位時間ごとに(あるいは、一定距離間隔で)繰り返され、計測データがバッファに蓄積される(ステップ1)。プローブ情報の送信時期が到来すると(ステップ2)、交通情報ブロック化部14は、ブロックマーカの付与単位を決定し(ステップ3)、交通情報・計測情報入力部11から入力する計測情報に、その付与単位でブロックマーカを設定し、図3(b)に示すブロックマーカ情報を生成する(ステップ4)。
ブロックマーカの付与単位として、あらかじめ固定的な距離(または標本化点数)が決めてあるときは、入力する計測情報のノード間距離データの累積値(または標本化点数)がブロックマーカ付与単位の距離(または標本化点数)に達する毎に、そのノード番号をブロックマーカ情報に書き込む。また、ブロックマーカ付与単位の距離を空きメモリ量に応じて動的に決める場合は、現在の空きメモリ量を計測し、その値からブロックマーカ付与単位の距離(または標本化点数)を決定する。
交通情報ブロック化部14は、また、ブロックマーカを設定した計測情報から、計測時刻や標本化点間の距離及び速度等の計測データを抽出(交通情報データの抽出)し、ブロック単位の計測情報を生成する(ステップ5)。交通情報ブロック化部14は、生成したブロックマーカ情報をブロック位置マーカ追加部15に送り、ブロック位置マーカ追加部15は、ブロックマーカ情報に基づいて、位置データ抽出部13が生成した走行軌跡の道路位置データにブロックマーカの位置情報を追加する(ステップ6)。
また、情報送信装置10が交通情報を提供するセンタである場合は、交通情報・計測情報入力部11から、図5(a)に示すように、多数の道路の交通情報として、標本化点(ノード)の座標、標本化点間の距離及び標本化点に位置付けられた交通情報が入力する。交通情報ブロック化部14は、この入力情報からブロック単位の交通情報を生成し、位置データ抽出部13は、この入力情報から標本化点の座標を選択して交通情報の対象道路の道路位置データを生成し、ブロック位置マーカ追加部15は、この道路位置データにブロックマーカの情報を追加する。
このブロックマーカの設定処理は、図6に示す手順で行われる。ブロックマーカの付与単位として、あらかじめ、固定的な距離(あるいは、一定の標本化点数)を設定する。あるいは、対話型のシステムでは、この距離を、相手装置の要望に応じて動的に決めても良い。
位置データ及び交通情報(図5(a))が、識別番号1のものから順に、交通情報・計測情報入力部11を通じて入力すると(ステップ10、ステップ11)、交通情報ブロック化部14は、ブロックマーカの付与単位を決定し(ステップ12)、入力した情報に対して、その付与単位でブロックマーカを設定し、図5(b)に示すブロックマーカ情報を生成する(ステップ13)。
ブロックマーカの付与単位として、あらかじめ固定的な距離(または標本化点数)が決めてあるときは、入力する計測情報のノード間距離データの累積値(または標本化点数)がブロックマーカ付与単位の距離(または標本化点数)に達する毎に、そのノード番号をブロックマーカ情報に書き込む。また、対話型システムの場合は、相手装置から申請された距離(または標本化点数)毎にブロックマーカを設定する。
交通情報ブロック化部14は、また、ブロックマーカを設定した入力情報から、標本化点に位置付けられた各交通情報(交通情報データ)をブロック単位で抽出して、ブロック単位の交通情報を生成する(ステップ14)。交通情報ブロック化部14は、生成したブロックマーカ情報をブロック位置マーカ追加部15に送り、ブロック位置マーカ追加部15は、ブロックマーカ情報に基づいて、位置データ抽出部13が生成した交通情報の対象道路の道路位置データにブロックマーカの位置情報を追加する(ステップ15)。こうした処理を全ての位置データに、ブロックマーカの設定が終了するまで繰り返す(ステップ16、ステップ17)。交通情報ブロック化部14は、交通状況に対応する標本化データの配列を複数のブロックに分割するブロック分割部(交通情報ブロック化部)を構成する。
<ブロック毎の圧縮率設定>
ブロック毎圧縮率決定部16は、交通情報ブロック化部14が生成した交通情報のブロックの圧縮率を、次のように設定する。
(1)情報送信装置10が交通情報提供センタまたはプローブカー車載機である場合、ブロック間で速度変化が大きいときは、詳細な情報が必要であるため、圧縮率を小さく設定する。具体的には、各ブロックの平均速度を算出し、隣接するブロックとの平均速度の差によって圧縮率を変える。
(2)情報送信装置10が交通情報提供センタである場合、事故・工事・規制等の発生イベントがあるときは、詳細な情報が必要であるため、圧縮率を小さく設定する。具体的には、各ブロックにおける事故・工事・規制等の発生イベントの有無を判定し、発生イベントの交通流への影響度(規制車線数等)によって圧縮率を変える。
(3)情報送信装置10がプローブカー車載機である場合、急ブレーキが踏まれたときに圧縮率を小さくする等、計測イベントの発生の有無によって圧縮率を変更する。具体的には、各ブロックにあらかじめ指定したイベントが発生しているか否かを判定し、発生イベントの内容によって圧縮率を変える。
(4)情報送信装置10がプローブカー車載機である場合、計測時点からの時間経過が長い程、計測情報の情報鮮度は低下しているため、圧縮率を高く設定する。具体的には、各ブロックの最終(または最初の)計測地点の時間を算出し、経過時間によって圧縮率を変える。
(5)情報送信装置10がプローブカー車載機である場合、情報収集センタから指定された位置周辺の圧縮率を変える。具体的には、各ブロックに情報収集センタから指定された箇所が存在するか否かを判定し、存在する場合は、そのブロックの圧縮率を指定された圧縮率に変更する。
<直交変換符号化処理>
次に、ブロックノイズ軽減処理の前に、直交変換符号化処理部19で行われる直交変換符号化処理について説明する。
ここでは、直交変換として、離散ウェーブレット変換(DWT;Discrete Wavelet Transform)を用いる場合について説明する。
このDWTは再帰的に低域を分割するフィルタ回路によって実現でき、また、逆変換(IDWT; Inverse Discrete Wavelet Transform)は、分割時と逆の合成を繰り返すフィルタ回路によって実現できる。DWTには、様々なフィルタ構成が存在し得るが、以下では、DWTの2×2フィルタ(2つの入力から1つのウェーブレット係数と一つのスケーリング係数とを生成するフィルタ)を用いた例について説明する。
図7(a)はDWTのフィルタ回路を示している。このDWT回路は、低域通過フィルタ181と、高域通過フィルタ182と、信号を1/2に間引く間引き回路183とを備えた複数の回路191、192,193のカスケード接続により構成されている。回路191に入力した信号の高域成分は、高域通過フィルタ182を通過した後、間引き回路183で1/2に間引かれて出力され、低域成分は、低域通過フィルタ181を通過した後、間引き回路183で1/2に間引かれて次の回路192に入力する。図8(a)には、各回路191、192、193の具体的構成を示している。図中の「Round」は、丸め処理を表す。
この回路191に2個のデータを入力すると、1個の高域成分のデータ(これをウェーブレット係数と言う)と1個の低域成分のデータ(これをスケーリング係数と言う)とに変換される。このスケーリング係数は、入力データの平滑化(平均化)した情報を示しており、また、ウェーブレット係数は、スケーリング係数から元データを復元するための差分情報を示している。
また、回路191に22個のデータが入力すると、2個のウェーブレット係数と2個のスケーリング係数とが生成され、この2個のスケーリング係数が、回路192に入力すると、同様に、1個のウェーブレット係数と1個のスケーリング係数とが生成される。回路191で生成されるウェーブレット係数及びスケーリング係数を、それぞれ、1次ウェーブレット係数、1次スケーリング係数と言い、回路192で生成されるウェーブレット係数及びスケーリング係数を、それぞれ、2次ウェーブレット係数、2次スケーリング係数と言う。
同様に、回路191に23個のデータが入力すると、4個の1次ウェーブレット係数と4個の1次スケーリング係数とが生成され、この4個の1次スケーリング係数が、回路192に入力すると、2個の2次ウェーブレット係数と2個の2次スケーリング係数とが生成され、この2個の2次スケーリング係数が回路193に入力すると、1個の3次スケーリング係数と1個の3次ウェーブレット係数とが生成される。
このように、2×2フィルタでは、入力データ数が2のN乗の倍数である必要がある。
また、図7(b)はIDWTのフィルタ回路を示している。IDWT回路は、信号を2倍に補間する補間回路186と、低域通過フィルタ184と、高域通過フィルタ185と、低域通過フィルタ184及び高域通過フィルタ185の出力を加算する加算器187とを備えた複数の回路194、195、196のカスケード接続により構成され、回路194に入力した低域成分及び高域成分の信号は、2倍に補間され、加算されて次の回路195に入力する。図8(b)には、各回路194、195、196の具体的構成を示している。
いま、回路194に、図7(a)のフィルタ回路で生成された1個の3次スケーリング係数を低域成分として、また、1個の3次ウェーブレット係数を高域成分として入力すると、回路194で2個の2次スケーリング係数が再現される。また、この2次スケーリング係数の1個を回路195の低域成分として入力し、高域成分として1個の2次ウェーブレット係数を入力することにより、2個の1次スケーリング係数が再現される。従って、2個の2次スケーリング係数と2個のウェーブレット係数とを組み合わせて4個の1次スケーリング係数を再現することができる。同様に、回路196では、回路195で再現された4個の1次スケーリング係数と、4個の1次ウェーブレット係数とを組み合わせることにより23個の入力データが再現できる。
つまり、図7(a)のフィルタ回路で8個の入力データから変換した1個の3次スケーリング係数、1個の3次ウェーブレット係数、2個の2次ウェーブレット係数、及び4個の1次ウェーブレット係数を用いて、8個の入力データが再現できることになる。
ここで注目すべきは、4個の1次ウェーブレット係数が無くても、4個の1次スケーリング係数を再現することができ、このスケーリング係数により、8個の入力データの状態を粗い解像度で知ることができる点である。また、1個の3次スケーリング係数と1個の3次ウェーブレット係数とのみからでも、2個の2次スケーリング係数を再現することができ、このスケーリング係数により、入力データの状態を、より粗い解像度で知ることができる。
図1(b)において、高圧縮として表示したグラフは、速度データのDWT変換で得られた低次のスケーリング係数を用いて速度の推移を表示したものであり、また、中圧縮として表示したグラフは中程度の次数のスケーリング係数を用いて、また、低圧縮として表示したグラフは高次のスケーリング係数を用いて速度の推移を表わしたものである。
図9のフロー図は、ブロック単位の交通情報に対するDWTと、その前処理及び後処理の手順を示している。ステップ20からステップ28までの処理は、ブロック単位の交通情報から2のN乗個の倍数の入力データを整えるまでの前処理を示しており、ブロック単位の交通情報を位置分解能(距離の分解能)に相当する間隔でサンプリングし、表現分解能に応じて丸め処理を施し、2Nの整数倍の入力データを生成する。入力データの個数が2Nの整数倍に一致しない場合は、一致するように0または最後の数値をダミーとして追加する。
次に、入力データの絶対値を小さくするため、入力データの中間値分だけ各データのレベルをシフトし(ステップ29)、DWTの次数Nを決定する(ステップ30)。これは図7(a)のカスケード接続したフィルタ回路の幾つを使ってDWTを行うかを決めることに相当している。
次いで、まず0次(n=0)の場合から順に(ステップ30)、データ数/2nにより入力データ数を決定し(ステップ32)、入力データにDWTを適用して、入力データをスケーリング係数とウェーブレット係数とに分解する(ステップ33)。このとき、スケーリング係数及びウェーブレット係数のデータ数は、各々、入力データ数の1/2となる。
得られたスケーリング係数をデータの前方に、ウェーブレット係数をデータの後方に格納する(ステップ34)。n<Nである場合は(ステップ35)、ステップ32に戻り、次数を1つ上げて、データ数/2nにより入力データ数を決定する。このとき、ステップ34で前方に格納されたスケーリング係数だけが次の入力データとなる。
ステップ32〜ステップ34の処理をn=Nに達するまで繰り返す。この処理で、入力データ数が2N個の場合には、スケーリング係数は1個となる。また、入力データ数がm×2N個の場合には、スケーリング係数はm個となる。
次に、DWTで生成したデータをビットプレーン分解し(ステップ36)、2値化したビットデータを算術符号化する(ステップ37)。しかしながら、符号化は算術符号化に限定はされず、好ましくは後述するように種々の適応型符号化が使用される。
尚、上述の生成方法においては、所定間隔の標本化点のリサンプルを道路に沿った等距離間隔にて行う、いわゆる等距離リサンプルを用いた。しかしながら、リサンプルの方法はこれに限られない。例えば、交通情報(計測情報)を時間の関数で表し、時間の分解能(固定時間ピッチ)またはデータ数を定義して、交通情報を、定義した分解能で等時間間隔にサンプリングすることもできる。なお、前述したプローブカーが、定義された固定時間ピッチで計測情報を計測する場合は、得られたデータをそのままサンプリングデータとすることができる。この場合、図9において、ステップ22においては、「等距離間隔」が「等時間間隔」となり、ステップ29においては、「距離で」が「時間で」となる。
図10には、Nb個の有効データにダミーを加えてNa(=2N)個に調整した1ブロックの交通情報の入力データ(a)と、この入力データにN次のDWTを施して生成したスケーリング係数及びウェーブレット係数(b)と、このスケーリング係数及びウェーブレット係数をビットプレーン分解した結果(c)と、ビットプレーン分解したデータのうち、重要性の高いものについて、符号化走査を行う順序(d)を示す。入力データ(a)の生成は、図9のステップ20からステップ29に対応し、スケーリング係数及びウェーブレット係数(b)の生成は、図9のステップ30からステップ35に対応し、ビットプレーン分解した結果(c)は、図9のステップ36に対応し、符号化操作(d)は、図9のステップ37に対応する。尚、図10は、一つのブロックについての直交変換符号化処理を示す。
図10の(c)において、このビットプレーン分解したデータは、上段に行く程(即ち、次数が高くなる程)、重要性が高く、また、左側に行く程(即ち、上位桁になる程)、重要性が高い。上段に行く程、DWTにおけるより低周波のデータに対応し、交通情報の概略をより的確に表わしているのに対し、下段に行く程、DWTにおけるより高周波のデータに対応し、交通情報の詳細部分を示しており、概略への影響は小さいからである。また、左側に行く程、より大きなスペクトルに対応し、交通情報への影響が大きいのに対し、右側に行くほどより小さなスペクトルに対応し、交通情報への影響が小さいからである。
そのため、図10(c)、(d)に示すように、下L桁を除いたn次以上のビットプレーンデータを符号化した上で受信側に送れば、交通情報のエッセンスを伝えることができ、受信側では、交通状況を知るに十分な粗い解像度の交通情報を再現することができる。図10(d)で、灰色に着色された部分は棄却されるデータ部分に該当する。このようなデータの棄却作用は、ビットプレーン(BP;Bit Plane)フィルタと呼ばれるフィルタを用いたフィルタリングに対応する。このようなフィルタリングには、ロッシー(lossy)圧縮の如き不可逆圧縮を用いることができる。そして、圧縮率を変化させることは、フィルタの大きさを変化させることに対応する。
実際には、交通情報は、複数のブロックに分解された上で、直交変換符号化処理が行われる。その処理を図11に示す。尚、本来、複数のブロックへの分割は、図10の入力データ(a)が与えられた時点で行われる。図11(a)は、複数のブロックに分割された交通情報が、ブロックごとのDWT変換を経て、ビットプレーン展開された後の交通情報であり、図11(b)は、各ブロックの圧縮率(圧縮パラメータ)に応じたビットプレーンフィルタを、ビットプレーンデータに重畳する例を示す。そして、図11(c)は各ブロック毎に、符号化走査を行う順序を示す。各ブロック毎において、上段のデータがより低周波のデータに対応し、下段に行く程、より高周波のデータに対応している。また、左側に行く程、より大きなスペクトルに対応し、右側に行くほどより小さなスペクトルに対応している。
また、上述したように、各ブロック毎に要求される再現精度を変化させることができる。再現精度を各ブロック個別に設定するためには、各ブロック毎にフィルタが作成され、図11(b)のようにフィルタが重畳される。各フィルタの大きさは、各ブロックの圧縮率に対応する。図11(b)の例においては、ブロック1、ブロック5は低圧縮率で圧縮され(フィルタが小さい)、ブロック2は高圧縮率で圧縮され(フィルタが大きい)、ブロック3、ブロック4は中圧縮率で圧縮されている(フィルタが中程度)。すなわち、この例では、ブロック1、ブロック5の区間において高い再現精度が要求されており、一方、ブロック2の区間においては、高い再現精度は要求されていない。
図12は、上述の処理によって生成され、データ送信部20から情報活用装置40に送信されるデータの構造を示す。情報活用装置40に送信されるデータは、(a)道路位置データ、(b)ブロックマーカ情報、(c)交通情報を含む。ブロックマーカ情報には、道路位置データに含まれる対象道路の識別番号と、その対象道路の交通情報ブロック数と、ブロックマーカが設定されたノードのノード番号と、ブロックマーカ間の距離とが含まれている。また、交通情報には、識別番号と、交通情報の情報種別と、交通情報ブロック数と、各ブロックのパラメータ情報と、各ブロックの交通情報とが含まれている。各ブロックのパラメータ情報の例は(d)に示されている。
パラメータ情報(d)には、該当ブロックの長さ、データ数Na(該当ブロックの分割数)、有効データ数Nb、DWT最終次数N、送信用データに含まれるDWT最小次数を示すDWT送信次数n、及び、送信用データで除かれた桁数を示すレベルシフトL、の各情報が含まれる。このNa、N、n、Lの値をブロック単位に変更することで、ブロック単位の圧縮率を変えることができ、<ブロック毎の圧縮率設定>において設定された圧縮率は、これらのパラメータを変えることで実現できる。なお、全ブロックのNaを揃えた方が、プログラム処理はし易くなる。
次に、図10(d)、図11(c)の符号化において、適応型符号化を使用する際に生じ得る問題を説明する。
符号化には様々な方法が存在するが、適応型符号化(adaptive coding)とは、入力記号列の符号化を行いながら記号の出現確率を変化させる方法で、動的符号化とも呼ばれる。最初は、どの記号も同じ確率で出現すると仮定して、記号列を読み込みながら記号の出現確率を修正し、その時点での出現確率に基づいて記号の符号化を行う。これに対し、単なるハフマン符号化や算術符号化の如き静的符号化では、あらかじめ記号の出現確率を調べておいて、それに基づいて入力記号列を符号化していく。適応型符号化は、入力記号列の性質(発生頻度、出現確率)の変化に適応できる点で優れた符号化である。適応型符号化には、適応型ハフマン符号化(Adaptive Huffman Coding)、適応型算術符号化(Adaptive Arithmetic Coding)、算術符号化の亜種であるレンジコーダを用いた適応型レンジコーダ(Adaptive Range-Coder)等が存在する。
上述したように、適応型符号化では、上流側の記号の出現確率を元に、次の符号化をより効率化するアルゴリズムを採用している。例えば、1の発生頻度が大きくなると、1の符号化効率が向上させられるものである。従って、図13(a)に示すように、発生頻度の変化が小さく、なだらかに変わっていくほど、符号化効率は良い。一方、図13(b)に示すように、発生頻度が急激に変化したり、発生頻度の境界があった場合、境界を跨いだ後、しばらくの間(適応するまで)は、符号化効率が悪い。
ところで、上述したように、図10(c)、図10(d)のビットプレーンデータは、左側に行くほど、より大きなスペクトルに対応し、右側に行くほどより小さなスペクトルに対応する。そして、大きなスペクトルの出現頻度は大きくはないので、左側に行くほど、“1”の発生頻度は小さい、言い換えると、“0”の発生頻度が大きい。そして、右側に行くほど、“0”の発生頻度は小さくなる、言い換えると、“1”の発生頻度は大きくなる(0と1の発生頻度が等しくなっていく)。この傾向は、一つの交通情報間(図10のデータ列の上から下に渡って)で共通と考えられるので、図10(d)では各データの同一桁ごとに、かつ、上から下の桁の順に走査を行うこととしている。この走査順は、図13に示したように、“0”の発生頻度が徐々に小さくなる順であり、良好な符号化効率を維持したまま、符号化を行うことができる。
しかしながら、上述したように、図11(c)は複数のブロックに分割されたビットプレーンデータの符号化であり、各ブロックごとに、図10(d)と同じ操作順で符号化が行われている。各ブロック間の符号化は、図13(a)の如き良好な発生頻度の変化の下で行われる。
しかしながら、ブロック1からブロック2に符号化対象を移す場合の様に、異なるブロック間に跨って符号化がされる場合は、図13(b)に示すように、発生頻度が急激に変化したり、発生頻度の境界が存在する場合に該当する。符号化対象ブロックが変わる際に、符号化対象の桁が最も下の桁から、最も上の桁に変わるからである。従って、図11(d)の符号化操作順では、適応型符号化の長所を生かすことができず、符号化効率が悪化する。
上述の問題点を解決するための符号化方法を図14に示す。図14(a)、図14(b)の処理は、図11(a)、図11(b)の処理と同じである。そして、図14(c)の符号化処理の走査では、図11(c)の如き各ブロック独立の走査とは異なり、異なるブロックに跨って走査が行われる。すなわち、異なるブロックに渡って、データの同一桁ごとに、かつ、上から下の桁の順に走査を行うこととしている。この走査順は、図13(a)に示したように、“0”の発生頻度が徐々に小さくなる順であり、良好な符号化効率を維持したまま、符号化を行うことができる。
本例では、5つのブロックのうち、第1のブロックであるブロック1に含まれる直交変換された交通情報データのうちの一部(最上位桁)を走査した後、第2のブロックであるブロック2に含まれる直交変換された交通情報データのうちの少なくとも一部(最上位桁)を走査する。さらに第3のブロックとしてのブロック3、ブロック4、ブロック5の最上位桁を走査した後、再び、ブロック1の残り部分の少なくとも一部(第2番目の桁)を走査する。そして、この走査順に従って、ビットプレーンデータの圧縮符号化がなされる。
上述の符号化は、複数のブロックを連結してできる、一体のブロックアッセンブリ(図14(c)全体)中の、ビットプレーンデータの同一桁ごとに、かつ、上から下の桁の順に走査、符号化を行うこととも把握される。尚、図14(a)の前に行われるべき、DWT変換、ビットプレーン展開はブロックごとに独立して行われる。
また、図14(b)、図14(c)に示すように、ビットプレーンデータにビットマップフィルタを重畳し、当該フィルタの重畳されていないビットプレーンデータの部分が走査されている。そして、フィルタは、ブロック毎に個別に用意され、少なくとも一つのフィルタの大きさが他のフィルタの大きさとは異なっている。
また、図14(c)の走査順では、黒丸で示したようにビットマップフィルタによるフィルタリングの対象となったデータが符号化の対象となった場合、当該データをスキップし、符号化は行わない。
この例では、フィルタリングに伴い、ビットプレーンデータのうち、下位の桁の所定数が棄却されている。また、異なるブロックに属する少なくとも二つのビットプレーンデータ間において、この所定数が異なっている。例えば、ブロック1の後半では3桁分の棄却なされているが、ブロック2の後半では全桁分の棄却がなされている。また、単一ブロックに属する、少なくとも二つのビットプレーンデータ間においても所定数が異なる。例えば、ブロック1の後半では3桁分の棄却なされているが、ブロック1の前半では、棄却桁数は1である。
さらに各ブロックで特定の桁に注目した場合、各ブロックにおいて、DWT変換における周波数の高い順に(各ブロックの下から)、ブロック毎に独立して、所定数のビットプレーンデータが棄却されている。例えば、ブロック2の左側では下から14個分のデータが棄却されている。
上述の様に、各ブロック、すなわち各地域に対して要求される再現精度に応じ、棄却されるデータ量を調節することができる。これは、ビットマップフィルタの大きさをブロック毎に変化させることに対応する。
また、一般的に、可変長符号化圧縮後においてはバイトの端数が出るため、圧縮データの端数分には、各符号化データの境界(バイトバウンダリ)をとるための無駄なデータ(バイトバウンダリデータ)を挿入する必要がある。例えば1バイトバウンダリで平均0.5バイト、2バイトバウンダリで平均1バイトのバイトバウンダリデータを、圧縮符号化された本来のデータに追加する必要がある。
従って、図11(c)の如き符号化の場合、各ブロックの符号化データにバイトバウンダリデータを追加することとなる。各ブロックの圧縮符号化データは、通常数バイト程度のバイトバウンダリデータを要するため、多数のブロックがあった場合、バイトバウンダリデータの積み重ねが無視できないほどの大きな無駄なデータとなる。
しかしながら、図14(c)の方式では、ブロックごとのバイトバウンダリを採る必要はなく、符号化データ全体で1つのバイトバウンダリをとるだけで済む。従って、上述したような無駄データを減らすことが可能となる。
尚、目標とするデータデータ量を予め設定し、符号化後のデータ量と、該目標とするデータ量とを比較しながら、上述の走査、符号化のステップにおいて、各ブロックの圧縮率を設定することができる。すなわち、走査対象のブロックにおけるフィルタの大きさ(圧縮率)を調整することができる。
図15は、図14の処理によって生成され、データ送信部20から情報活用装置40に送信されるデータの構造を示す。情報活用装置40に送信されるデータは、(a)道路位置データ、(b)ブロックマーカ情報、(c)交通情報を含む。(a)道路位置データ、(b)ブロックマーカ情報、(d)各ブロックのパラメータ情報は、図12のものと同じである。そして、(c)交通情報は、図12のものと異なり、全ブロックの交通情報が一かたまりで提供されており、ブロック毎のバイトバウンダリは存在しない。
図16は、図15のデータを受信した受信側での処理を示す。まず、図16(a)に示すように、データを展開するためのワークエリアが、交通情報符号化データ複号部48にて確保される。そして、図16(b)に示すように、図15の(d)各ブロックのパラメータ情報から、ワークエリアが交通情報中の複数のブロック1から5に対応した、複数のワークエリアブロック1から5に分割されたうえ、図14(b)のビットプレーンフィルタに対応したフィルタを重畳する。そして、図16(c)に示すように、図15の(c)交通情報中の全ブロック中の交通情報を、ワークエリアのフィルタが重畳されていない部分に並べていくことにより、受信データが復号化される(デコード処理)。このとき、第1のブロックに含まれる交通情報データの一部を、複数のワークエリアブロックのうち、第1のワークエリアブロックに展開し、この後、第2のブロックに含まれる交通情報データのうちの少なくとも一部を、第2のワークエリアブロックに展開し、さらに、第1のブロックに含まれる交通情報データのうちの残り部分の少なくとも一部を、第1のワークエリアブロックの残りの領域に展開する。
図17は、図14の処理を用いた、情報送信装置10側における、交通情報の生成方法のフローチャートである。まず、得られた交通情報(交通情報データ)がブロック別に分割された後(ステップ201)、各ブロックに対応する区間に要求される再現精度から、各ブロックのDWTフィルタが決定される(ステップ202)。そして、図10(a)、(b)のように、ブロック1からDWT変換(ステップ203,204)、図14(a)のようにビットプレーン展開を行う(ステップ205)。そして、総てのブロック(総数M)についてDWT変換、ビットプレーン展開が終了したか否かが判定される(ステップ206)。 総てのブロックについてDWT変換、ビットプレーン展開が終了していないと判定された場合は(ステップ206;No)、ステップ204に戻り、次のブロックのDWT変換、ビットプレーン展開を行う。
そして、総てのブロックについてDWT変換、ビットプレーン展開が終了したと判定された場合は(ステップ206;Yes)、送信するビット列を決定し(ステップ208)、図14(c)のように、可変長符号化を行い(ステップ209)、符号化データが生成される。
図18は、図16の処理に対応する、受信側において受信された符号化データの複号方法のフローチャートである。まず、受信した符号化データのうち、ブロック1から当該ブロックのパラメータ情報が解析され(ステップ301,302)、有効部分(フィルタが重畳されていない部分)の判別がされる(ステップ303)。そして、総てのブロック(総数M)について有効部分の判別がなされたか否かが判定される(ステップ304)。 総てのブロックについて有効部分の判別がなされていないと判定された場合は(ステップ304;No)、ステップ302に戻り、次のブロックの有効部分の判別が開始される。
そして、総てのブロックについて有効部分の判別がなされたと判定された場合は(ステップ304;Yes)、符号化データを復号し(ステップ306)、ブロック1から逆DWT変換がなされる(ステップ307、308)。そして、総てのブロック(総数M)について逆DWT変換が終了したか否かが判定される(ステップ308)。 総てのブロックについて逆DWT変換が終了していないと判定された場合は(ステップ309;No)、ステップ308に戻り、次のブロックの逆DWT変換を行う。 そして、総てのブロックについて逆DWT変換が終了したと判定された場合は(ステップ309;Yes)、処理を終了する。
<ブロックノイズ軽減処理>
尚、必ずしも採用する必要はないが、ブロック毎の境界において、ブロック間のつながりをスムーズにするため、ブロックノイズ軽減処理をデータに施すことができる。「ブロックノイズ軽減処理」は、該当ブロック本来の時間成分の標本化情報に加えて、「隣接のブロックの情報=追加情報」を若干追加して、隣接ブロックとのつながりをよくするものであり、DWT変換以降に使用することができる。
図19は、エンコードに際しての、ブロックノイズ軽減処理の概念を示す図であり、ブロック毎の境界に隣接した所定数の時間情報に対し、隣接ブロックの時間情報を付与する。該当ブロックと、隣接ブロックの情報が混ざった状態のDWT係数(図10(b)参照)が得られ、当該DWT係数から、図19の如きビットプレーンデータが得られる。具体的には、情報送信装置10のブロックノイズ軽減処理部17は、次の(1)(2)(3)の方法でブロックノイズを軽減する。そして、図20の如き、デコードの際は、情報活用装置40のブロックノイズ軽減処理部49にて、逆DWT変換の際に、追加情報を考慮する。
(1)ブロック境界部の値をそのまま引き伸ばし、多少境界の外部を含めて圧縮符号化する(「境界値引き伸ばし方式」と呼ぶ)。復元時には、ブロック境界より外部の情報は捨てる。
(2)本来のブロックの境界から、多少外れたデータを含めて符号化圧縮する(「境界外符号化方式」と呼ぶ)。復元時には、ブロック境界より外部の情報は捨てる。
(3)両端が減衰する窓関数を定義し、隣接ブロックが重複するような符号化を行う(「窓関数使用方式」と呼ぶ)。
これらの方法は、本来の範囲よりも広い範囲をエンコードする必要があるため、データ量の増加に結びつくが、ブロックノイズ低減のためには必要な処理である。次に、各方式について詳しく説明する。
(1)境界値引き伸ばし方式
境界値引き伸ばし方式では、図21に示すように、対象ブロックKの送信用データ(符号化データ)を生成するための入力データをサンプリングする交通情報の範囲(点線の範囲、以下「符号化用交通情報範囲」と呼ぶ)を、対象ブロックKの範囲の外にまで拡張し、上流側の拡張範囲における交通情報の値は、対象ブロックKの上流側の境界における値に設定し、下流側の拡張範囲における交通情報の値は、対象ブロックKの下流側の境界における値に設定する。
図22のフロー図は、この方式での符号化手順を示している。先ず、提供する交通情報のブロック数Mを取得し(ステップ40)、ブロック番号K=1のブロックから順に(ステップ41)、ブロックKの交通情報を取得し(ステップ42)、ブロックKの両端部の値をブロックの外側に生成した拡張範囲の交通情報の値とし(ステップ43)、この拡張範囲を含めた符号化用交通情報範囲の交通情報を対象に、<直交変換符号化処理>で説明した直交変換を実施する(ステップ44)。この処理を交通情報の全てのブロックを対象として繰り返す(ステップ45、ステップ46)。
こうして生成したDWTデータのパラメータ情報には、図23に示すように、図12(d)の例に加え、上流側の拡張範囲のデータ数Maと、下流側の拡張範囲のデータ数Mbとを加える。
(2)境界外符号化方式
境界外符号化方式では、図24に示すように、対象ブロックKの符号化用交通情報範囲(点線の範囲)を、対象ブロックKの範囲の外にまで拡張し、拡張範囲に入る隣接ブロックの交通情報を、対象ブロックKの符号化用交通情報範囲の交通情報として使用する。
図25のフロー図は、この方式での符号化手順を示している。先ず、提供する交通情報のブロック数Mを取得し(ステップ50)、ブロック番号K=1のブロックから順に(ステップ51)、ブロックKの交通情報と、隣接ブロックの拡張範囲の交通情報とを取得し(ステップ52)、この拡張範囲を含めた符号化用交通情報範囲の交通情報を対象に直交変換を実施する(ステップ53)。この処理を交通情報の全てのブロックを対象として繰り返す(ステップ54、ステップ55)。
こうして生成したDWTデータのパラメータ情報には、境界値引き伸ばし方式の場合(図23)と同様に、上流側の拡張範囲のデータ数Maと、下流側の拡張範囲のデータ数Mbとを加える。
(3)窓関数使用方式
窓関数は、図26(b)に示すように、隣接する窓関数との加算値が常に1になる、最大値が1、最小値が0の両端が減衰する関数である。ここでは、対象ブロックKの窓関数f(k)として、対象ブロックKの上流側の境界上で上流側隣接ブロックK−1の窓関数f(k−1)と交差し、対象ブロックKの下流側の境界上で下流側隣接ブロックK+1の窓関数f(k+1)と交差する窓関数f(k)を使用し、対象ブロックKの符号化用交通情報範囲の交通情報は、上流側隣接ブロックK−1、対象ブロックK、及び、下流側隣接ブロックK+1の交通情報に窓関数fkを掛けたものとする。
図27のフロー図は、この方式での符号化手順を示している。先ず、提供する交通情報のブロック数Mを取得し(ステップ60)、ブロック番号K=1のブロックから順に(ステップ61)、ブロックKの交通情報と、必要な隣接ブロックの交通情報とを取得し(ステップ62)、それらの交通情報の各標本化点における交通情報値に窓関数を乗算し(ステップ63)、それを符号化用交通情報範囲の交通情報として直交変換を実施する(ステップ64)。この処理を交通情報の全てのブロックを対象として繰り返す(ステップ65、ステップ66)。
こうして生成したDWTデータのパラメータ情報には、図28に示すように、図12(d)の例に加え、窓関数定義を加える。窓関数には、台形窓、三角窓、三角関数窓等、各種のものが使用可能であり、あらかじめ定義した幾つかの窓関数の中から、使用した窓関数の識別情報をパラメータ情報に記述する。
なお、道路位置データを可変長符号化する場合は、ブロックマーカ位置をノードに追加せずに、等距離リサンプル(ただし、道路区間の曲率によって、その区間のリサンプル長は変える)で設定したノードだけを用いて符号化した方がデータ圧縮の効果は上がる。そのため、この場合は、図29に示すように、ブロックマーカ位置を、等距離リサンプルで設定した左隣りのノードからの距離D1、D2、D3によって表す。このD1、D2、D3の表示に必要なビット数は、D1、D2、D3を特定するために必要な分解能をd(m)とすると、
必要ビット数=roundup[log2(L/d)]
ただし、L:リサンプル長(m)
で求めることができ、d=3m(車両が約0.1秒間に走行する距離)とすると、Lが10mの場合は、2ビットあれば足り、Lが160mの場合は、6ビット必要であり、Lが640mの場合は、8ビット必要となる。図30は、リサンプル長と、ノード−ブロックマーカ間の距離の表示に必要なビット数との関係を示している。また、図31は、ノードの位置情報に続けて、ブロックマーカの識別符号と前記ノードからの距離の情報(Dの値)とを含めた道路位置データを示している。
交通情報と道路位置データとを受信した情報活用装置40は、道路位置データ及びブロックマーカ情報を位置符号化データ復号部42に送り、交通情報を交通情報符号化データ復号部48に送る。
一方、道路位置データは、可変長符号化されていれば位置符号化データ復号部42で復号化され、位置データ復元部43で復元される。
位置特定部44は、この道路位置データで表された対象道路について、位置特定を実施して、デジタル地図データベース(B)45の地図上で特定する。
交通情報重畳部51は、対象道路上に、復元されたブロック単位の交通情報を順次重ね合わせ、情報活用部52は、この交通情報を活用する。
このように、この交通情報の生成方法では、対象道路の交通情報を小ブロックに分割して符号化しているため、プログラムの負担が小さく、また、符号化や復号化の処理に使用するワークメモリのメモリサイズも小さくて済む。そのため、符号化・復号化部を半導体チップ等で構成することが可能になる。
また、交通情報の圧縮率を小ブロックの単位で変えることができるため、交通情報の詳しさを、必要性に応じて設定することができる。
また、交通情報のブロックの境界位置を利用して、道路の距離方向のずれを補正することができ、精度の高い情報を伝えることができる。
また、小ブロック単位の交通情報は、入力したブロックを次のブロックが入力する前に処理して出力するストリーミング処理やパイプライン処理により効率的に符号化や復号化することも可能である。
なお、交通情報の標本化とブロック分割は、標本化を行った後、得られた標本化データを複数のブロックに分割してもよいし、標本化前にブロックの分割位置を決定し、その後各ブロックにおいて所定間隔で標本化を行ってもよい。
<変形例>
これまで、各ブロックの長さを一定に設定する場合について説明したが、交通流が変わりやすい地点(ボトルネック交差点や、著名施設前等)で交通情報のブロックを区切るようにしても良い。図32は、著名交差点やボトルネック交差点にブロックマーカを設定した例を示している。この場合、ブロックマーカ間の距離は不等間隔となるが、各ブロック内の分割数(データ数Na)を一定にすることにより、あるいは、あらかじめ決めた最大値を超えない範囲でデータ数Naを設定することにより、符号化・復号化処理負担の軽減、圧縮率の適応的な変更、及び、距離方向のずれ補正の効果は達成できる。この変形例の場合、重要交差点間の交通状況が一つのブロックの交通情報で表されるため、より分かり易くなる。また、情報活用装置の側で、交通情報を再現するブロックを選択して、知りたい交差点間の交通状況だけを再生することなども可能になる。
また、これまでは、交通情報を距離的に分割してブロック化する場合について説明したが、プローブカー車載機がプローブ情報収集センタに交通情報(計測情報)を提供する場合では、交通情報を時間単位で分割して送信するようにしても良い。また、センタが旅行時間の交通情報を提供する場合には、交通情報を旅行時間単位にブロック化することも可能である。
また、これまでは、交通情報の対象道路を伝えるために、対象道路上のノード位置のデータ列を含む道路位置データを使用する場合について説明したが、対象道路を特定するためのデータ(道路区間参照データ)には、例えば、あらかじめ対象道路区間に付した識別コード、統一的に定めた道路区間識別子(リンク番号)や交差点識別子(ノード番号)などを用いても良い。
また、提供側及び受信側の双方が同一地図を参照する場合には、提供側が緯度・経度データを受信側に伝え、受信側が、このデータによって道路区間を特定することができる。
また、道路地図をタイル状に区分してその各々に付した識別子や、道路に設けたキロポスト、道路名、住所、郵便番号等を道路区間参照データに用いて、交通情報の対象道路区間を特定してもよい。
(第2の実施形態)
第2の実施形態では、上記図32の変形例と同様にブロックマーカを不等間隔で任意に設定する例を示す。この第2の実施形態は、情報送信装置としてプローブカーを想定し、プローブカーによって速度情報等の交通情報を収集する場合に好適な例である。
図33は、第2の実施形態における交通情報の生成方法の第1例及び第2例を模式的に示した図である。第1例は、プローブカーに設けたハンドル舵角センサ、ジャイロ等の車両センサの出力に基づき、プローブカーの走行方向が所定値以上大きく変化した場合、すなわち走行中に所定角度以上大きく曲がった場合にイベントが発生したと判定し、この場所でブロックマーカを設定するものである。図33のように、ブロックマーカの設定開始地点から3000m〜4000mの地点に交差点があり、ここをプローブカーが右折する場合を考える。そして、この交差点の手前に右折待ち渋滞が発生しているものとする。
このようなプローブカーが大きく曲がった場所は、交差点などの交通状況の変化点であると考えられるため、ここでブロックマーカを挿入することにより、交通情報をブロック単位で圧縮しても交通状況が変化する位置を明確に判定することが可能である。また、ブロックマーカによってどこに交差点などの交通状況の変化点があるかが明示されるため、収集した交通情報より右左折待ち時間(右左折コスト)を算出する場合に、交差点の位置を明確に把握でき、右左折待ち時間の精度を向上できる。また、渋滞情報を生成する場合にも、渋滞開始位置や終了位置などの待ち行列の切れ目の位置を容易に判別可能であり、待ち時間や待ち行列の終端位置などの算出が容易になる。
第2例は、車両センサの出力を用いる他の例であり、プローブカーに設けた速度センサ等の車両センサの出力に基づき、プローブカーがN分以上停止していた場合にイベントが発生したと判定し、この場所でブロックマーカを設定するものである。例えば、3分以上停止状態が継続した場合にブロックマーカを挿入する。通常、信号制御サイクルは45秒〜180秒であり、信号待ちのための停止は、20秒〜90秒程度である。交差点の先が詰まっている場合などで2サイクルの間全く動かなかったとしても、停止時間は最大で180秒程度である。この時間を超えて停止していた場合は、タクシーの客乗降や、人待ちなど、交通流に乗っていない停車と考えられる。このような停止は交通情報として適切で無いため、ブロックマーカを挿入して、停止のイベント発生場所を明示する。これにより、プローブカーの走行状態が変化した位置を明確に判定することができ、確度の高い交通情報を提供可能となる。
上記第1例及び第2例において、交差点右折や停止などのイベント発生地点で設定したブロックマーカの前後のブロックにおいて、交通情報の圧縮率を変えることにより、分割したブロックごとに適切な情報量を持つ交通情報を生成可能である。例えば、交差点の手前に位置する上流側のブロックの圧縮率を下げて情報量を多くし、交通情報をより詳細化することにより、右折待ち渋滞などの待ち行列の末尾をより把握しやすくすることができる。
図34は、第2の実施形態における交通情報の生成方法の第3例及び第4例を模式的に示した図である。第3例は、プローブカーに設けたナビゲーション装置の地図情報と自車位置に基づき、プローブカーが道路から離脱した地点、駐車場や店舗、遊戯施設などの利用者にとって興味のある特定対象の場所であるPOI(Point Of Interest )の入口地点、私道や施設内道路に入った地点などでイベントが発生したと判定し、この場所でブロックマーカを設定するものである。
車がPOIに入場する場合は、公共道路網から離脱したり、私道や施設内道路に入って走行することになる。通常、渋滞情報等の交通情報は、公共道路網以外の情報は必要ないので、上記各地点でブロックマーカを挿入することにより、公共道路網とその他との境界地点を明示する。これにより、公共道路網以外への入出位置を容易に識別することができ、必要度の高い交通情報を提供可能となる。また、駐車場や施設への入場待ち渋滞が発生している場合に、渋滞情報を生成する際は、上記第1例と同様に、渋滞開始位置や終了位置などの待ち行列の切れ目の位置を容易に判別可能であり、待ち時間や待ち行列の終端位置などの算出が容易になる。
第4例は、プローブカーに設けたDSRC(Dedicated Short Range Communication )方式の狭域無線通信装置などの通信装置の情報に基づき、通信発生時にイベントが発生したと判定し、この場所でブロックマーカを設定するものである。例えば、高速道路の料金所などに設けられるDSRC方式の狭域通信を用いたETC(Electronic Toll Collection)システムのゲート通過時や、駐車場や施設の入口に設けられるDSRCシステムでのデータ送受信の発生時などに、ブロックマーカを挿入する。
料金所での渋滞などによって、料金所の前後や料金所に接続されるインターチェンジ入出路等でも交通状態は変化する。また、駐車場や施設の入口においても、入場待ち渋滞によって交通状態が変化することがある。このような地点でブロックマーカを挿入することにより、交通状況が変化する位置を明確に判定することが可能である。また、POI等の入口地点を明確に判別したり、公共道路網とPOI内等のその他の場所とを明確に区別することができ、有用な交通情報を提供可能である。
図35は、第2の実施形態における交通情報を提供する情報送信装置110と、提供された交通情報を活用する情報活用装置40との構成を示すブロック図である。この情報送信装置110は、プローブカー車載機であり、図2に示した第1の実施形態の情報送信装置10の構成を一部変更したものである。なお、図35において、図2と同様の構成要素には同一符号を付しており、詳細な説明は省略する。
情報送信装置110は、車両センサとしてGPS位置検出部121、速度センサ122、ジャイロ123を備えている。また、デジタル地図データベース(A)12の地図情報と前記各車両センサによる計測情報とを取り込み、プローブカーの走行軌跡計測情報として入力する走行軌跡計測情報入力部111と、走行軌跡計測情報入力部111の出力情報から交通情報の対象道路やPOIに関するプローブカーの走行軌跡の位置データを生成する走行軌跡形状抽出部113と、前記走行軌跡計測情報入力部111、デジタル地図データベース(A)12及び各車両センサの出力情報からブロック化する計測情報の分割位置を判定し、ブロック単位の交通情報を生成する計測情報ブロック化判定部114と、前記走行軌跡形状抽出部113と計測情報ブロック化判定部114の出力情報より走行軌跡の位置データにブロックマーカを追加するブロック位置マーカ追加部115とを備えている。また、計測情報ブロック化判定部114には、ハンドル舵角センサ124とDSRC通信部125からの情報が入力されるようになっている。
情報送信装置110は、符号化データを生成するという観点からはエンコーダを構成し、情報活用装置40は、符号化データを復元するという観点からはデコーダを構成する。
上記のように構成された情報送信装置110におけるブロックマーカの設定処理は、図36に示すような手順で行われる。図36は、第2の実施形態におけるプローブカー計測情報へのブロックマーカ付与手順を示すフロー図である。
プローブカーによる速度等の計測は、単位時間ごとに(あるいは、一定距離間隔で)繰り返され、計測データがバッファに蓄積される(ステップ101)。プローブ情報の送信時期が到来すると(ステップ102)、計測情報ブロック化判定部114は、ブロックマーカの付与単位を決定する(ステップ103)。ここで、ブロックマーカの付与単位は、システムにおいて固定的に決定した値、あるいは現在のバッファの空きメモリ量を計測して決定した値などとする。なお、固定距離単位または固定時間単位の2種類が考えられる。そして、最初は対象道路の道路位置データのノード番号N=1として(ステップ104)、走行軌跡計測情報入力部111、デジタル地図データベース(A)12及びGPS位置検出部121、速度センサ122、ジャイロ123の各車両センサからの情報を入力し、ノードNで所定のイベントが発生したか否かを判定する(ステップ105)。
ここで、所定のイベントとしては、上記第1例〜第4例に記載したように、(1)車両センサの出力(ハンドル舵角、ジャイロ、GPS方位など)から「大角度で曲がった」と判定された場合、(2)車両センサの出力(速度など)から「所定時間以上停止していた」と判定された場合、(3)走行軌跡の位置データの位置特定結果から、「道路から離れた」「POI(駐車場など)の入口」「私道や施設内道路に入った」と判定されたり、主要交差点や大規模施設前などの交通上の要所と判定された場合、(4)DSRC通信部からの情報よりETCシステムやDSRCシステムとの通信が発生した場合、などが挙げられる。
所定のイベントが発生した場合(ステップ106でYes)、計測情報ブロック化判定部114は、このイベントが発生した箇所にブロックマーカを設定し、ブロックマーカ情報を生成する(ステップ107)。そして、前回のマーカ設定位置からの距離または時間の間隔が前記決定した付与単位を超えているか否かを判定する(ステップ108)。一方、ステップ106でイベントが発生していない場合はステップ107でのブロックマーカ生成を行わずにステップ108での付与単位判定を行う。そして、付与単位を超えている場合は(ステップ109でYes)、固定的な付与単位でのブロックマーカ情報を生成する(ステップ110)。その後、対象道路の道路位置データの全ノードについて処理が終了したかを判定する(ステップ111)。一方、付与単位を超えていない場合はステップ110でのブロックマーカ生成を行わずにステップ111での全ノード終了判定を行う。
対象道路の道路位置データの全ノードについてブロックマーカの挿入判定及び生成処理が終了していない場合は、ノード番号N=N+1として1つ増分し(ステップ112)、ステップ105に戻って次のノードについて同様にステップ105〜110の処理を繰り返す。一方、全ノードの処理が終了した場合、ブロック毎圧縮率決定部16により、計測情報ブロック化判定部114で生成されたブロックマーカにより分割されるブロックごとに、交通情報の圧縮率を決定し、ブロックノイズ軽減処理部17でブロックノイズの軽減処理を行った後、直交変換符号化処理部19により、ブロック単位でDWT等の直交変換符号化処理を行ってデータを圧縮する(ステップ113)。また、ブロック位置マーカ追加部115は、計測情報ブロック化判定部114で生成されたブロックマーカ情報に基づいて、走行軌跡形状抽出部113が生成した走行軌跡の位置データにブロックマーカの位置情報を追加する(ステップ114)。
交通情報を小ブロックに分割してブロック単位で圧縮する場合、圧縮に伴って速度や単位区間旅行時間などの計測情報が均されるため、圧縮率を上げると交通状況の変化点が判定しづらくなり、渋滞情報などを生成する際にその事象の端部位置が判別しにくくなる場合がある。そこで、第2の実施形態では、交差点右左折やPOI入場などの交通状況の変化点に相当するイベントの発生時に、この対応位置にブロックマーカを設定することにより、交通状況の変化点を容易に判別することが可能となる。また、このブロックマーカによって分割したそれぞれのブロックにおいて、適切な効率の良い圧縮処理を行うことができ、交通情報のデータ量の削減と有用性の向上とを両立できる。
また、本発明による交通情報の生成方法、再生方法をコンピュータに実行させるためのプログラムも本発明に含まれる。そのようなプログラムは、種々の媒体の形式で情報送信装置、情報活用装置に組み込まれる。
以上、本発明の各種実施形態を説明したが、本発明は前記実施形態において示された事項に限定されず、明細書の記載、並びに周知の技術に基づいて、当業者がその変更・応用することも本発明の予定するところであり、保護を求める範囲に含まれる。