(57)【要約】車載装置は、車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、収集部により収集されたセンサデータを外部装置に送信する送信部と、収集部により収集されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、送信部によるセンサデータの外部装置への送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、送信部に、収集部により収集されたセンサデータの外部装置への送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、送信部に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信させる。
2020111134.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載される車載装置であって、
前記車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、
前記収集部により収集された前記センサデータを外部装置に送信する送信部と、
前記収集部により収集された前記センサデータを記憶するバッファ部と、
所定条件が満たされるか否かを判定する判定部と、
前記送信部による前記センサデータの前記外部装置への送信を制御する制御部とを含み、
前記制御部は、
前記判定部により前記所定条件が満たされると判定されたことを受けて、前記送信部に、前記収集部により収集された前記センサデータの前記外部装置への送信を中止させ、
前記所定条件が満たされると前記判定部が判定した後に、前記所定条件が満たされないと前記判定部による判定が変化したことを受けて、前記送信部に、前記バッファ部に記憶されている前記センサデータを、前記センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、前記外部装置に並列に送信させる、車載装置。
【請求項２】
前記所定条件は、前記外部装置との通信ができない現象の発生、又は、前記外部装置から受信したエリア情報により特定される道路地図上の所定範囲内に前記車両が位置すること及び前記外部装置との通信ができない現象の発生であり、
前記所定条件が前記現象の発生であれば、前記判定部は、
前記現象が発生していれば、前記所定条件が満たされると判定し、
前記現象が発生していなければ、前記所定条件が満たされないと判定し、
前記所定条件が、前記所定範囲内に前記車両が位置すること及び前記外部装置との通信ができない現象の発生であれば、前記判定部は、
前記車両が前記所定範囲内に位置し且つ前記現象が発生していれば、前記所定条件が満たされると判定し、
前記車両が前記所定範囲外に位置する又は前記現象が発生していなければ、前記所定条件が満たされないと判定する、請求項１に記載の車載装置。
【請求項３】
前記遅延時間は、前記遅延時間の大きさに応じて複数の分類のいずれかに分類され、
前記送信部は、前記並列に送信する際に、前記バッファ部に記憶されている前記センサデータのうち、より小さい遅延時間を含む前記分類に対応するセンサデータをより優先して、前記外部装置に送信する、請求項１又は２に記載の車載装置。
【請求項４】
前記バッファ部は、前記複数の分類に分類される遅延時間を持つセンサデータをそれぞれ記憶するための複数のバッファを含み、
前記複数のバッファの容量は、より小さい遅延時間を含む前記分類に対応するバッファの容量がより小さくなるように定められている、請求項３に記載の車載装置。
【請求項５】
前記外部装置から、前記外部装置が行なう複数の処理がそれぞれ処理対象とする前記センサデータの前記取得時刻と前記処理を実行する時刻との差の上限である複数の許容遅延時間を受信する受信部をさらに含み、
前記バッファ部は、それぞれ前記複数の許容遅延時間に対応して設定された容量を持ち、それぞれ前記複数の処理が処理対象とする前記センサデータを記憶するための複数のバッファを含む、請求項１又は２に記載の車載装置。
【請求項６】
前記受信部は、前記許容遅延時間毎に対応する前記センサデータが前記車載装置から送信されてから前記外部装置により受信されるまでの時間である伝送遅延時間と、前記許容遅延時間毎に対応する前記センサデータに対して前記処理を開始してから完了するまでにかかる時間である処理遅延時間とを前記外部装置からさらに受信し、
前記送信部が前記並列に送信する際の通信回線の回線速度を予測する予測部と、
前記複数のバッファの容量を、前記予測部により予測された前記回線速度、前記許容遅延時間、前記伝送遅延時間、前記処理遅延時間、及び、前記送信部が前記並列に送信する際の、前記許容遅延時間毎に対応するセンサデータを前記複数のバッファからそれぞれ読出してから送信するまでの処理速度であるスループットに応じて決定された値に変更する変更部とをさらに含む、請求項５に記載の車載装置。
【請求項７】
前記バッファ部は、
前記判定部により前記所定条件が満たされると判定されたことを受けて、前記収集部により収集された前記センサデータの記憶を開始し、
前記所定条件が満たされると前記判定部が判定した後に、前記所定条件が満たされないと前記判定部による判定が変化したことを受けて、前記収集部により収集された前記センサデータの記憶を停止する、請求項１から６のいずれか１項に記載の車載装置。
【請求項８】
請求項１から７のいずれか１項に記載の車載装置から前記並列に送信される前記センサデータを受信する受信部と、
前記受信部により受信された前記センサデータを、前記遅延時間に応じて複数に分類し、複数の前記分類の各々に応じたデータ処理を実行する処理部とを含むサーバコンピュータ。
【請求項９】
車両に装備されたセンサにより検出されたセンサデータを外部装置に送信する車載装置に搭載される半導体集積回路であって、
前記センサにより検出された前記センサデータを記憶するバッファ部と、
所定条件が満たされるか否かを判定する判定部と、
前記車載装置による前記センサデータの前記外部装置への送信を制御する制御部とを含み、
前記制御部は、
前記判定部により前記所定条件が満たされると判定されたことを受けて、前記車載装置に、前記センサにより検出された前記センサデータの前記外部装置への送信を中止させ、
前記所定条件が満たされると前記判定部が判定した後に、前記所定条件が満たされないと前記判定部による判定が変化したことを受けて、前記車載装置に、前記バッファ部に記憶されている前記センサデータを、前記センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、前記外部装置に並列に送信させる、半導体集積回路。
【請求項１０】
車両に搭載される車載装置と、
前記車載装置と通信するサーバコンピュータとを含むシステムであって、
前記車載装置は、
前記車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、
前記収集部により収集された前記センサデータを前記サーバコンピュータに送信する送信部と、
前記収集部により収集された前記センサデータを記憶するバッファ部と、
所定条件が満たされるか否かを判定する判定部と、
前記送信部による前記センサデータの前記サーバコンピュータへの送信を制御する制御部とを含み、
前記制御部は、
前記判定部により前記所定条件が満たされると判定されたことを受けて、前記送信部に、前記収集部により収集された前記センサデータの前記サーバコンピュータへの送信を中止させ、
前記所定条件が満たされると前記判定部が判定した後に、前記所定条件が満たされないと前記判定部による判定が変化したことを受けて、前記送信部に、前記バッファ部に記憶されている前記センサデータを、前記センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、前記サーバコンピュータに並列に送信させ、
前記サーバコンピュータは、
前記車載装置から前記並列に送信される前記センサデータを受信する受信部と、
前記受信部により受信された前記センサデータを、前記遅延時間に応じて複数に分類し、複数の前記分類の各々に応じたデータ処理を実行する処理部とを含む、システム。
【請求項１１】
車両に装備されたセンサにより検出されたセンサデータを収集する収集ステップと、
前記収集ステップにより収集された前記センサデータを外部装置に送信する送信ステップと、
前記収集ステップにより収集された前記センサデータを記憶するバッファステップと、
所定条件が満たされるか否かを判定する判定ステップと、
前記送信ステップによる前記センサデータの前記外部装置への送信を制御する制御ステップとを含み、
前記制御ステップは、
前記判定ステップにより前記所定条件が満たされると判定されたことを受けて、前記送信ステップによる、前記収集ステップにより収集された前記センサデータの前記外部装置への送信を中止させるステップと、
前記所定条件が満たされると前記判定ステップにおいて判定された後に、前記所定条件が満たされないと前記判定ステップにおける判定が変化したことを受けて、前記バッファステップにより記憶されている前記センサデータを、前記センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、前記外部装置に並列に送信するステップとを含む、制御方法。
【請求項１２】
車両に搭載されるコンピュータに、
前記車両に装備されたセンサにより検出されたセンサデータを収集する収集機能と、
前記収集機能により収集された前記センサデータを外部装置に送信する送信機能と、
前記収集機能により収集された前記センサデータを記憶するバッファ機能と、
所定条件が満たされるか否かを判定する判定機能と、
前記送信機能による前記センサデータの前記外部装置への送信を制御する制御機能とを実現させるためのコンピュータプログラムであって、
前記制御機能は、
前記判定機能により前記所定条件が満たされると判定されたことを受けて、前記送信機能による、前記収集機能により収集された前記センサデータの前記外部装置への送信を中止させる機能と、
前記所定条件が満たされると前記判定機能が判定した後に、前記所定条件が満たされないと前記判定機能による判定が変化したことを受けて、前記バッファ機能により記憶されている前記センサデータを、前記センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、前記外部装置に並列に送信する機能とを含む、コンピュータプログラム。
【請求項１３】
車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部と、
前記センサデータ収集部により収集された前記センサデータを格納可能なバッファと、
前記センサデータ収集部により収集された前記センサデータ、又は前記バッファに格納されたセンサデータのいずれかを読出し、外部装置に送信する送信装置と、
前記センサデータに関連する車載装置の状態を制御する状態制御部とを含み、
前記状態制御部は、前記車載装置の状態と、前記送信装置による前記外部装置への前記センサデータの送信のスループットとにしたがって、前記車載装置の状態を有限個の状態の間で遷移させる、車載装置。
【請求項１４】
前記有限個の状態は、
前記センサデータ収集部により収集されたセンサデータを前記送信装置によって前記外部装置に送信する第１の状態、
前記センサデータ収集部により収集されたセンサデータを前記バッファに格納する第２の状態、及び、
前記バッファに格納された前記センサデータを読出し、前記送信装置を介して前記外部装置に送信する第３の状態を含む、請求項１３に記載の車載装置。
【請求項１５】
前記状態制御部は、
前記車載装置が前記第１の状態にあるときに、前記スループットがしきい値より大きい値から前記しきい値以下の値に変化したことに応答して、前記第１の状態から前記第２の状態に前記車載装置の状態を遷移させる第１の状態遷移部と、
前記車載装置が前記第２の状態にあるときに、前記スループットが前記しきい値より大きな値に変化したことに応答して、前記車載装置の状態を前記第２の状態から前記第３の状態に遷移させる第２の状態遷移部と、
前記車載装置が前記第２の状態にあるときに、前記バッファ内にデータが存在しないことが検知されたことに応答して、前記車載装置の状態を前記第３の状態から前記第１の状態に遷移させる第３の状態遷移部と、
前記車載装置が前記第３の状態にあるときに前記スループットが前記しきい値以下になったことに応答して、前記車載装置の状態を前記第３の状態から前記第２の状態に遷移させる第４の状態遷移部とを含む、請求項１４に記載の車載装置。
【請求項１６】
前記有限個の状態はさらに、前記バッファに格納された前記センサデータを読出し、よりデータサイズの小さなサブデータに変換して前記送信装置を介して前記外部装置に送信する第４の状態を含み、
前記状態制御部は、さらに、前記車載装置が前記第２の状態にある時間がしきい時間より長くなったことに応答して、前記車載装置の状態を前記第２の状態から前記第４の状態に変化させる第５の状態遷移部を含む、請求項１５に記載の車載装置。
【請求項１７】
前記有限個の状態はさらに、前記センサデータ収集部により収集されるセンサデータを、より小さなサブデータに限定する第４の状態を含み、
前記状態制御部は、さらに、前記車載装置が前記第２の状態にある時間がしきい時間より長くなったことに応答して、前記車載装置の状態を前記第２の状態から前記第４の状態に変化させる第５の状態遷移部を含む、請求項１５に記載の車載装置。
【請求項１８】
前記状態制御部はさらに、前記車載装置が前記第４の状態にあるときに、前記スループットが前記しきい値より大きくなったことに応答して、前記車載装置の状態を前記第３の状態に遷移させる第６の状態遷移部を含む、請求項１６又は請求項１７に記載の車載装置。
【請求項１９】
前記状態制御部はさらに、前記車載装置が前記第４の状態にあるときに、前記スループットが前記しきい値より大きくなったことに応答して、前記車載装置の状態を前記第１の状態に遷移させる第７の状態遷移部を含む、請求項１６又は請求項１７に記載の車載装置。
【請求項２０】
前記第７の状態遷移部により前記車載装置の状態が前記第４の状態から前記第１の状態に遷移したことに応答して、前記バッファに記憶されている前記センサデータをクリアするデータクリア部をさらに含む、請求項１９に記載の車載装置。
【請求項２１】
前記第４の状態において前記外部装置に送信されるデータサイズの、前記第４の状態以外におけるデータサイズに対する比は、前記スループットに対する単調増加関数である、請求項１６から請求項２０のいずれか１項に記載の車載装置。
【請求項２２】
車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部がセンサデータを収集するステップと、
前記センサデータ収集部により収集された前記センサデータをバッファに格納するステップと、
前記センサデータ収集部により収集された前記センサデータ、又は前記バッファに格納されたセンサデータのいずれかを読出し、外部装置に送信するステップと、
前記センサデータに関連する車載装置の状態を制御する状態制御部が、前記車載装置の状態と、前記外部装置への前記センサデータの送信のスループットとにしたがって、前記車載装置の状態を有限個の状態の間で遷移させるステップとを含む、車載装置の制御方法。
【請求項２３】
コンピュータを、
車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部と、
前記センサデータ収集部により収集された前記センサデータを格納可能なバッファと、
前記センサデータ収集部により収集された前記センサデータ、又は前記バッファに格納されたセンサデータのいずれかを読出し、外部装置に送信する送信装置と、
前記センサデータに関連する車載装置の状態を、前記車載装置の状態と、前記送信装置による前記外部装置への前記センサデータの送信のスループットとにしたがって、有限個の状態の間で遷移させる状態制御部として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、システム、サーバコンピュータ、車載装置、制御方法、半導体集積回路及びコンピュータプログラムに関する。この出願は、２０１８年１１月２９日出願の日本出願特願２０１８−２２３０００号に基づく優先権を主張し、前記日本出願に記載された全ての記載内容をここに参照により援用する。
【背景技術】
【０００２】
自動車及び自動二輪車等（以下、車両という）の運転に関して運転者を支援する種々のシステム（以下、運転支援システムという）が提案されている。運転支援システムでは、道路及びその周辺に設置された種々のセンサ機器（カメラ、レーダ等）を備えた装置（以下、インフラセンサという）からセンサの情報を収集し、それを解析して交通に関する情報（事故、渋滞等）を、運転支援情報として車両に提供する。また、移動通信回線（以下、通信回線ともいう）の高速化に伴い、インフラセンサに限らず、車両に搭載されているセンサ機器からの情報を収集し、運転支援に有効利用する（運転に役立つ運転支援情報として提供する）ことも提案されている。例えば、第３世代移動通信システム及びそれに続く移動通信システムの規格化を推進している３ＧＰＰ（Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）からは、セルラーＶ２Ｘという規格が提案されている。Ｖは車両（Ｖｅｈｉｃｌｅ）を意味し、Ｘはそれ以外のものを意味している。この規格は、車両とそれ以外のものとの通信を、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）及び５Ｇ（第５世代移動通信システム）により行なうことを目的とする。５Ｇ回線の回線速度は、ＬＴＥ回線の１００〜１０００倍の速度を実現することができる。【０００３】
後掲の特許文献１には、複数のセンサからセンサデータを、通信網を介して情報処理装置に伝送するシステムにおいて、状況に応じて、望ましい通信網を選択してセンサデータを伝送する技術が開示されている。センサネットワークでは、多種多様なセンサを利用するため、センサデータも多種多様であり、情報量が多いもの、少ないもの、伝送のリアルタイム性が要求されるもの、要求されないもの等がある。これらは状況に応じて変化する。これに対応するために、このシステムでは、伝送すべきセンサデータに対応するセンサＩＤ（個々のセンサを特定するＩＤ）、センサの種類及び情報量のうち少なくとも１つに基づいて通信網を選択し、センサデータを送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１１０７４９号公報
【発明の概要】
【０００５】
この開示のある局面に係る車載装置は、車両に搭載される車載装置であって、車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、収集部により収集されたセンサデータを外部装置に送信する送信部と、収集部により収集されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、送信部によるセンサデータの外部装置への送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、送信部に、収集部により収集されたセンサデータの外部装置への送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、送信部に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信させる。
【０００６】
この開示の別の局面に係るサーバコンピュータは、上記の車載装置から並列に送信されるセンサデータを受信する受信部と、受信部により受信されたセンサデータを、遅延時間に応じて複数に分類し、複数の分類の各々に応じたデータ処理を実行する処理部とを含む。
【０００７】
この開示のさらに別の局面に係る半導体集積回路は、車両に装備されたセンサにより検出されたセンサデータを外部装置に送信する車載装置に搭載される半導体集積回路であって、センサにより検出されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、車載装置によるセンサデータの外部装置への送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、車載装置に、収集部により収集されたセンサデータの外部装置への送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、車載装置に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信させる。
【０００８】
この開示のさらに別の局面に係るシステムは、車両に搭載される車載装置と、車載装置と通信するサーバコンピュータとを含むシステムであって、車載装置は、車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、収集部により収集されたセンサデータをサーバコンピュータに送信する送信部と、収集部により収集されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、送信部によるセンサデータのサーバコンピュータへの送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、送信部に、収集部により収集されたセンサデータのサーバコンピュータへの送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、送信部に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、サーバコンピュータに並列に送信させ、サーバコンピュータは、車載装置から並列に送信されるセンサデータを受信する受信部と、受信部により受信されたセンサデータを、遅延時間に応じて複数に分類し、複数の分類の各々に応じたデータ処理を実行する処理部とを含む。
【０００９】
この開示のさらに別の局面に係る制御方法は、車両に装備されたセンサにより検出されたセンサデータを収集する収集ステップと、収集ステップにより収集されたセンサデータを外部装置に送信する送信ステップと、収集ステップにより収集されたセンサデータを記憶するバッファステップと、所定条件が満たされるか否かを判定する判定ステップと、送信ステップによるセンサデータの外部装置への送信を制御する制御ステップとを含み、制御ステップは、判定ステップにより所定条件が満たされると判定されたことを受けて、送信ステップによる、収集ステップにより収集されたセンサデータの外部装置への送信を中止させるステップと、所定条件が満たされると判定ステップにおいて判定された後に、所定条件が満たされないと判定ステップにおける判定が変化したことを受けて、バッファステップにより記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信するステップとを含む。
【００１０】
この開示のさらに別の局面に係るコンピュータプログラムは、車両に搭載されるコンピュータに、車両に装備されたセンサにより検出されたセンサデータを収集する収集機能と、収集機能により収集されたセンサデータを外部装置に送信する送信機能と、収集機能により収集されたセンサデータを記憶するバッファ機能と、所定条件が満たされるか否かを判定する判定機能と、送信機能によるセンサデータの外部装置への送信を制御する制御機能とを実現させるためのコンピュータプログラムであって、制御機能は、判定機能により所定条件が満たされると判定されたことを受けて、送信機能による、収集機能により収集されたセンサデータの外部装置への送信を中止させる機能と、所定条件が満たされると判定機能が判定した後に、所定条件が満たされないと判定機能による判定が変化したことを受けて、バッファ機能により記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信する機能とを含む。
【００１１】
本開示の第７の局面に係る車載装置は、車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部と、センサデータ収集部により収集されたセンサデータを格納可能なバッファと、センサデータ収集部により収集されたセンサデータ、又はバッファに格納されたセンサデータのいずれかを読出し、外部装置に送信する送信装置と、センサデータに関連する車載装置の状態を制御する状態制御部を含み、状態制御部は、車載装置の状態と、送信装置による外部装置へのセンサデータの送信のスループットとにしたがって、車載装置の状態を有限個の状態の間で遷移させる。
【００１２】
本開示の第８の局面に係る車載装置の制御方法は、車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部がセンサデータを収集するステップと、バッファがセンサデータ収集部により収集されたセンサデータを格納するステップと、センサデータ収集部により収集されたセンサデータ、又はバッファに格納されたセンサデータのいずれかを読出し、外部装置に送信するステップと、を含む、車両に搭載された車載装置の制御方法であって、さらに、センサデータに関連する車載装置の状態を制御する状態制御部が、車載装置の状態と、送信装置による外部装置へのセンサデータの送信のスループットとにしたがって、車載装置の状態を有限個の状態の間で遷移させるステップを含む。
【００１３】
本開示の第９の局面に係るコンピュータプログラムは、コンピュータを、車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部と、センサデータ収集部により収集されたセンサデータを格納可能なバッファと、センサデータ収集部により収集されたセンサデータ、又はバッファに格納されたセンサデータのいずれかを読出し、外部装置に送信する送信装置と、センサデータに関連する車載装置の状態を、車載装置の状態と、送信装置による外部装置へのセンサデータの送信のスループットとにしたがって、有限個の状態の間で遷移させる状態制御部として機能させる。
【図面の簡単な説明】
【００１４】
【図１】図１は、この開示の第１実施形態に係る運転支援システムの構成を示す模式図である。
【図２】図２は、車載装置のハードウェア構成を示すブロック図である。
【図３】図３は、サーバのハードウェア構成を示すブロック図である。
【図４】図４は、車載装置の機能的構成を示すブロック図である。
【図５】図５は、バッファの構成を示すブロック図である。
【図６】図６は、サーバの機能的構成を示すブロック図である。
【図７】図７は、車載装置の動作を示すフローチャートである。
【図８】図８は、サーバの動作を示すフローチャートである。
【図９】図９は、この開示の第１実施形態の第１変形例に係る車載装置の機能的構成を示すブロック図である。
【図１０】図１０は、バッファ容量の算出のためのパラメータを示す模式図である。
【図１１】図１１は、第１実施形態の第１変形例に係るサーバの機能的構成を示すブロック図である。
【図１２】図１２は、第１実施形態の第２変形例に係る車載装置の動作を示すフローチャートである。
【図１３】図１３は、図５と異なるバッファの構成を示すブロック図である。
【図１４】図１４は、この開示の第２実施形態に係る車載装置の状態の変化を示す状態遷移図である。
【図１５】図１５は、この開示の第２実施形態に係る車載装置の機能的構成を示すブロック図である。
【図１６】図１６は、第２実施形態に係る車載装置で使用されるリングバッファの模式図である。
【図１７】図１７は、コンピュータを、第２実施形態に係る車載装置の状態制御部として機能させるプログラムの制御構造を示すフローチャートである。
【図１８】図１８は、コンピュータを、第２実施形態に係る車載装置のセンサデータ収集部として機能させるプログラムの制御構造を示すプログラムの制御構造を示すフローチャートである。
【図１９】図１９は、コンピュータを、第２実施形態に係る車載装置のデータ処理部として機能させるプログラムの制御構造を示すフローチャートである。
【図２０】図２０は、この開示の第３実施形態に係る車載装置の状態の変化を示す状態遷移図である。
【図２１】図２１は、この開示の第２実施形態及びその変形例に係る車載装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
［開示が解決しようとする課題］
５Ｇでは、従来移動通信で使用されている周波数帯よりもさらに周波数が高い高周波数帯を使用することが検討されている。例えば、最大１００ＧＨｚまでを対象とした検討が進められている。高周波数帯の電波は、空間伝搬の直進性が高く、空間伝搬により信号強度が大きく減衰する。そのため５Ｇでは、セルの大きさを従来よりも小さく設計する必要があり、建築物、樹木、移動体（車両、人等）による通信電波の遮蔽が起こり易くなる。特に、車両に搭載された車載装置からサーバ等にセンサデータを送信するときに、通信電波が遮蔽物により遮蔽され、基地局と通信ができない状態（以下、シャドウィングという）が発生する頻度が高くなる。例えば、車載装置が搭載された車両の走行中に、大型車両（ダンプカー、トレーラ等）がその車両の近くを並走するとき、並走している間シャドウィングが発生し、車載装置がセンサデータを送信できない状況が生じ得る。
【００１６】
シャドウィング等により通信に支障が生じた場合、採用されている通信プロトコル（ＴＣＰ／ＩＰ等）にしたがって、正常に送信されなかったことが検知され、送信できなかったデータを再送信する処理が繰返される。シャドウィングが解消して通信可能になり、サーバにセンサデータを送信できたとしても、サーバは、遅延時間（例えば、センサデータが車載装置で取得された時刻とサーバにより受信された時刻との差）が大きいセンサデータが運転支援に利用できなければ、そのセンサデータを利用せずに破棄する。このように、無駄な再送信が実行され、無駄なセンサデータが送信されるという問題がある。代替する通信網がなければ、特許文献１に開示された技術によっては、この問題を解決することはできない。
【００１７】
したがって、この開示は、車載装置からのセンサデータの送信に支障が生じた状況において無駄な再送信を抑制し、送信可能になれば、送信先の装置に有効なセンサデータを送信できるシステム、サーバコンピュータ、車載装置、制御方法、半導体集積回路及びコンピュータプログラムを提供することを目的とする。
【００１８】
［開示の効果］
この開示によれば、車載装置からのセンサデータの送信に支障が生じた状況において無駄な再送信を抑制し、送信可能になれば、送信先の装置に有効なセンサデータを送信できる。
【００１９】
［この開示の実施形態の説明］
この開示の実施の形態の内容を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組合せてもよい。
【００２０】
（１）この開示の第１の局面に係る車載装置は、車両に搭載される車載装置であって、車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、収集部により収集されたセンサデータを外部装置に例えば通信回線を介して送信する送信部と、収集部により収集されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、送信部によるセンサデータの外部装置への送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、送信部に、収集部により収集されたセンサデータの外部装置への送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、送信部に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信させる。これにより、不要なデータ送信処理を抑制し、外部装置により使用され得る有効なデータを送信できる。
【００２１】
（２）所定条件は、外部装置との通信ができない現象の発生、又は、外部装置から受信したエリア情報により特定される道路地図上の所定範囲内に車両が位置すること及び外部装置との通信ができない現象の発生でもよく、所定条件が現象の発生であれば、判定部は、現象が発生していれば、所定条件が満たされると判定し、現象が発生していなければ、所定条件が満たされないと判定し、所定条件が、所定範囲内に車両が位置すること及び外部装置との通信ができない現象の発生であれば、判定部は、車両が所定範囲内に位置し且つ現象が発生していれば、所定条件が満たされると判定し、車両が所定範囲外に位置する又は現象が発生していなければ、所定条件が満たされないと判定してもよい。これにより、通信に支障が生じている状況又は所定範囲に車両が位置する場合において、不要なデータ送信処理を抑制し、通信可能になった場合又は所定範囲から車両が出た場合に、外部装置により使用され得る有効なデータを送信できる。
【００２２】
（３）遅延時間は、遅延時間の大きさに応じて複数の分類のいずれかに分類され、送信部は、並列に送信する際に、バッファ部に記憶されているセンサデータのうち、より小さい遅延時間を含む分類に対応するセンサデータをより優先して、外部装置に送信してもよい。これにより、よりリアルタイム性の高い情報をより優先して送信できる。
【００２３】
（４）バッファ部は、複数のバッファを含んでもよく、複数のバッファは、複数の分類に１対１に対応してもよく、より小さい遅延時間を含む分類に対応するバッファの容量はより小さくなるようにしてもよい。すなわち、バッファ部は、複数の分類に分類される遅延時間を持つセンサデータをそれぞれ記憶するための複数のバッファを含んでもよく、複数のバッファの容量は、より小さい遅延時間を含む分類に対応するバッファの容量がより小さくなるように定められていてもよい。これにより、リアルタイム性に応じて、適切なバッファ容量を設定できる。
【００２４】
（５）車載装置は、外部装置から、外部装置が行なう複数の処理がそれぞれ処理対象とするセンサデータの取得時刻と処理を実行する時刻との差の上限である複数の許容遅延時間を受信する受信部をさらに含んでもよく、バッファ部は、複数のバッファを含み、複数のバッファは、複数の許容遅延時間に１対１に対応し、バッファの容量は、許容遅延時間の大きさに応じて設定されるようにしてもよい。すなわち、バッファ部は、それぞれ複数の許容遅延時間に対応して設定された容量を持ち、それぞれ複数の処理が処理対象とするセンサデータを記憶するための複数のバッファを含んでもよい。これにより、外部装置によるサービスで要求される許容遅延時間に応じた適切なデータを送信できる。車載装置の走行位置によって、車載装置がセンサデータを送信する外部装置は異なり得る。また、サービスで要求される許容遅延時間も異なり得る。これらの変化に適切に対応できる。
【００２５】
（６）受信部は、許容遅延時間毎に対応するセンサデータが車載装置から送信されてから外部装置により受信されるまでの時間である伝送遅延時間と、許容遅延時間毎に対応するセンサデータに対して処理を開始してから完了するまでにかかる時間である処理遅延時間とを外部装置からさらに受信してもよく、車載装置は、送信部が並列に送信する際の通信回線の回線速度を予測する予測部と、複数のバッファの容量を、予測部により予測された回線速度、許容遅延時間、伝送遅延時間、処理遅延時間、及び、送信部が並列に送信する際の、許容遅延時間毎に対応するセンサデータを複数のバッファからそれぞれ読出してから送信するまでの処理速度であるスループットに応じて決定された値に変更する変更部とをさらに含んでもよい。これにより、無駄のない、適切なバッファ容量を設定できる。
【００２６】
（７）バッファ部は、判定部により所定条件が満たされると判定されたことを受けて、収集部により収集されたセンサデータの記憶を開始し、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、収集部により収集されたセンサデータの記憶を停止するようにしてもよい。これにより、無駄なバッファ処理を回避できる。
【００２７】
（８）この開示の第２の局面に係るサーバコンピュータは、上記の車載装置から並列に送信されるセンサデータを受信する受信部と、受信部により受信されたセンサデータを、遅延時間に応じて複数に分類し、複数の分類の各々に応じたデータ処理を実行する処理部とを含む。これにより、サーバは、データ処理に適したセンサデータを受信できる。
【００２８】
（９）この開示の第３の局面に係る半導体集積回路は、車両に装備されたセンサにより検出されたセンサデータを外部装置に送信する車載装置に搭載される半導体集積回路であって、センサにより検出されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、車載装置によるセンサデータの外部装置への送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、車載装置に、センサにより検出されたセンサデータの外部装置への送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、車載装置に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信させる。これにより、不要なデータ送信処理を抑制し、外部装置により使用され得る有効なデータを送信できる。
【００２９】
（１０）この開示の第４の局面に係るシステムは、車両に搭載される車載装置と、車載装置と通信するサーバコンピュータとを含むシステムであって、車載装置は、車両に装備されたセンサにより検出されたセンサデータを収集する収集部と、収集部により収集されたセンサデータをサーバコンピュータに送信する送信部と、収集部により収集されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、送信部によるセンサデータのサーバコンピュータへの送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、送信部に、収集部により収集されたセンサデータのサーバコンピュータへの送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、送信部に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、サーバコンピュータに並列に送信させ、サーバコンピュータは、車載装置から並列に送信されるセンサデータを受信する受信部と、受信部により受信されたセンサデータを、遅延時間に応じて複数に分類し、複数の分類の各々に応じたデータ処理を実行する処理部とを含む。これにより、不要なデータ送信処理を抑制し、サーバコンピュータによりデータ処理に使用され得る有効なデータを送信できる。
【００３０】
（１１）この開示の第５の局面に係る制御方法は、車両に装備されたセンサにより検出されたセンサデータを収集する収集ステップと、収集ステップにより収集されたセンサデータを外部装置に送信する送信ステップと、収集ステップにより収集されたセンサデータを記憶するバッファステップと、所定条件が満たされるか否かを判定する判定ステップと、送信ステップによるセンサデータの外部装置への送信を制御する制御ステップとを含み、制御ステップは、判定ステップにより所定条件が満たされると判定されたことを受けて、送信ステップによる、収集ステップにより収集されたセンサデータの外部装置への送信を中止させるステップと、所定条件が満たされると判定ステップにおいて判定された後に、所定条件が満たされないと判定ステップにおける判定が変化したことを受けて、バッファステップにより記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信するステップとを含む。これにより、不要なデータ送信処理を抑制し、外部装置により使用され得る有効なデータを送信できる。
【００３１】
（１２）この開示の第６の局面に係るコンピュータプログラムは、車両に搭載されるコンピュータに、車両に装備されたセンサにより検出されたセンサデータを収集する収集機能と、収集機能により収集されたセンサデータを外部装置に送信する送信機能と、収集機能により収集されたセンサデータを記憶するバッファ機能と、所定条件が満たされるか否かを判定する判定機能と、送信機能によるセンサデータの外部装置への送信を制御する制御機能とを実現させるためのコンピュータプログラムであって、制御機能は、判定機能により所定条件が満たされると判定されたことを受けて、送信機能による、収集機能により収集されたセンサデータの外部装置への送信を中止させる機能と、所定条件が満たされると判定機能が判定した後に、所定条件が満たされないと判定機能による判定が変化したことを受けて、バッファ機能により記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信する機能とを含む。これにより、不要なデータ送信処理を抑制し、外部装置により使用され得る有効なデータを送信できる。
【００３２】
（１３）本開示の第７の局面に係る車載装置は、車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部と、センサデータ収集部により収集されたセンサデータを格納可能なバッファと、センサデータ収集部により収集されたセンサデータ、又はバッファに格納されたセンサデータのいずれかを読出し、外部装置に送信する送信装置と、センサデータに関連する車載装置の状態を制御する状態制御部とを含み、状態制御部は、車載装置の状態と、送信装置による外部装置へのセンサデータの送信のスループットとにしたがって、車載装置の状態を有限個の状態の間で遷移させる。
【００３３】
状態とスループットの変化とに追随して、車載装置の状態が変化する。車載装置の有限個の状態をあらかじめ適切に設定しておくことで、シャドウィング等が発生したときも適切にセンサデータを処理できる。
【００３４】
（１４）有限個の状態は、センサデータ収集部により収集されたセンサデータを送信装置によって外部装置に送信する第１の状態、センサデータ収集部により収集されたセンサデータをバッファに格納する第２の状態、及び、バッファに格納されたセンサデータを読出し、送信装置を介して外部装置に送信する第３の状態を含んでもよい。
【００３５】
第１の状態では、センサデータを外部装置に送信し、第２の状態ではバッファに格納する。第３の状態では、バッファに格納されたセンサデータを外部装置に送信する。送信のスループットに応じてこれらを組合せ、適宜状態遷移させることで、センサデータを外部装置に送信する処理と、外部装置に送信せずバッファに蓄積する処理と、バッファに蓄積されたセンサデータを外部に送信する処理とを状態遷移により切替えて実行できる。
【００３６】
（１５）状態制御部は、車載装置が第１の状態にあるときに、スループットがしきい値より大きい値からしきい値以下の値に変化したことに応答して、第１の状態から第２の状態に車載装置の状態を遷移させる第１の状態遷移部と、車載装置が第２の状態にあるときに、スループットがしきい値より大きな値に変化したことに応答して、車載装置の状態を第２の状態から第３の状態に遷移させる第２の状態遷移部と、車載装置が第２の状態にあるときに、バッファ内にデータが存在しないことが検知されたことに応答して、車載装置の状態を第３の状態から第１の状態に遷移させる第３の状態遷移部と、車載装置が第３の状態にあるときにスループットがしきい値以下になったことに応答して、車載装置の状態を第３の状態から第２の状態に遷移させる第４の状態遷移部とを含んでもよい。
【００３７】
センサデータを外部に送信しているときにスループットが低下したときには、車載装置は第２の状態に遷移し、センサデータをバッファにバッファリングする。第２の状態でスループットが回復すると、車載装置は第３の状態に遷移し、バッファリングしていたセンサデータを外部装置に送信する。スループットの変化に対しても、センサデータを全て外部装置に送信できる。
【００３８】
（１６）有限個の状態はさらに、バッファに格納されたセンサデータを読出し、よりデータサイズの小さなサブデータに変換して送信装置を介して外部装置に送信する第４の状態を含んでもよく、状態制御部は、さらに、車載装置が第２の状態にある時間がしきい時間より長くなったことに応答して、車載装置の状態を第２の状態から第４の状態に変化させる第５の状態遷移部を含んでもよい。
【００３９】
センサデータをバッファリングしている時間がしきい時間より長くなると、バッファに格納されたセンサデータを順に読出し、データサイズを小さく変換して外部に送信する。スループットが低い時間が長時間にわたり継続したときでも、センサデータの中で、重要な一部のみを外部装置に送信できる。
【００４０】
（１７）有限個の状態はさらに、センサデータ収集部により収集されるセンサデータを、より小さなサブデータに限定する第４の状態を含んでもよく、状態制御部は、さらに、車載装置が第２の状態にある時間がしきい時間より長くなったことに応答して、車載装置の状態を第２の状態から第４の状態に変化させる第５の状態遷移部を含んでもよい。
【００４１】
センサデータをバッファリングしている時間がしきい時間より長くなると、センサ収集部がセンサから収集するセンサデータを、より小さなサブデータに限定し外部に送信する。スループットが低い時間が長時間にわたり継続したときでも、センサデータの中で、重要な一部のみを外部装置に送信できる。
【００４２】
（１８）状態制御部はさらに、車載装置が第４の状態にあるときに、スループットがしきい値より大きくなったことに応答して、車載装置の状態を第３の状態に遷移させる第６の状態遷移部を含んでもよい。
【００４３】
センサデータのデータサイズを小さく変換して外部に送信しているときにスループットが回復すれば、センサデータをそのまま外部装置に送信する状態に戻る。スループットが十分高いときには、蓄積されたデータを無駄にすることなく外部で利用できる。
【００４４】
（１９）状態制御部はさらに、車載装置が第４の状態にあるときに、スループットがしきい値より大きくなったことに応答して、車載装置の状態を第１の状態に遷移させる第７の状態遷移部を含んでもよい。
【００４５】
データサイズの小さなセンサデータを送信する状態となった後に、スループットが回復した場合には、蓄積されたセンサデータではなく、取得されたセンサデータをそのまま送信する。外部装置では、通信が回復するとともにリアルタイムのセンサデータを取得でき、最新の情報を利用したサービスを提供できる。
【００４６】
（２０）車載装置は、第７の状態遷移部により車載装置の状態が第４の状態から第１の状態に遷移したことに応答して、バッファに記憶されているセンサデータをクリアするデータクリア部をさらに含んでもよい。
【００４７】
収集されたセンサデータをそのまま送信する場合、バッファにデータが残る。次にバッファを使用する場合に備えてバッファをクリアしておく必要がある。バッファをクリアしておくことにより、次回、スループットが落ちたときにバッファを利用できる。
【００４８】
（２１）第４の状態における変換後のデータサイズの、変換前のデータサイズに対する比は、スループットに対する単調増加関数であってもよい。
【００４９】
スループットが小さくなれば、送信できるデータサイズは小さくなる。したがって、変換後のデータサイズを、スループットに対する単調増加関数で定めることにより、スループットの大きさにあわせたデータサイズでセンサデータを外部装置に送信できる。
【００５０】
（２２）本開示の第８の局面に係る車載装置の制御方法は、車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部がセンサデータを収集するステップと、センサデータ収集部により収集されたセンサデータをバッファに格納するステップと、センサデータ収集部により収集されたセンサデータ、又はバッファに格納されたセンサデータのいずれかを読出し、外部装置に送信するステップと、センサデータに関連する車載装置の状態を制御する状態制御部が、車載装置の状態と、外部装置へのセンサデータの送信のスループットとにしたがって、車載装置の状態を有限個の状態の間で遷移させるステップとを含む。
【００５１】
状態とスループットの変化とに追随して、車載装置の状態が変化する。車載装置の有限個の状態をあらかじめ適切に設定しておくことで、シャドウィング等が発生したときも適切にセンサデータを処理できる。
【００５２】
（２３）本開示の第９の局面に係るコンピュータプログラムは、コンピュータを、車両に装備されたセンサの出力するセンサデータを収集するセンサデータ収集部と、センサデータ収集部により収集されたセンサデータを格納可能なバッファと、センサデータ収集部により収集されたセンサデータ、又はバッファに格納されたセンサデータのいずれかを読出し、外部装置に送信する送信装置と、センサデータに関連する車載装置の状態を、車載装置の状態と、送信装置による外部装置へのセンサデータの送信のスループットとにしたがって、有限個の状態の間で遷移させる状態制御部として機能させる。
【００５３】
状態とスループットの変化とに追随して、車載装置の状態が変化する。車載装置の有限個の状態をあらかじめ適切に設定しておくことで、シャドウィング等が発生したときも適切にセンサデータを処理できる。
【００５４】
［この開示の実施形態の詳細］
以下の実施形態では、同一の部品には同一の参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００５５】
（第１実施形態）
［全体構成］
図１を参照して、この開示の第１実施形態に係る運転支援システム１００は、サーバ１０２と、車両１０６に搭載され、基地局１０４及びネットワーク１０８を介してサーバ１０２と通信する車載装置１２０とを含む。サーバ１０２は、車載装置１２０に対して運転支援情報を提供し、車両１０６の運転者を支援する。基地局１０４は、５Ｇ回線等による移動通信サービスを提供している。サーバ１０２と基地局１０４との間の通信はネットワーク１０８を介して行なわれ、有線又は無線で通信される。
【００５６】
車載装置１２０は、５Ｇ回線による通信機能を有している。なお、車載装置１２０の通信機能は、５Ｇ回線以外によるものであってもよい。検知対象１１０は、車両１０６の車載センサにより検知される対象物である。図１では人を示しているが、これに限らず、信号機、建造物等も対象物である。
【００５７】
図１には、代表的に１つの基地局を示しているが、これに限定されない。通常、複数の基地局が設けられている。車両に関しても、図１では代表的に１台の車両を示しているが、これに限定されず、サーバ１０２はより多くの車両の車載装置と通信し、情報を収集して解析し、運転支援情報を提供する。
【００５８】
［車載装置のハードウェア構成］
図２を参照して、車両１０６に搭載されている車載装置１２０のハードウェア構成の一例を示す。車載装置１２０は、センサ機器１２２に接続されたインターフェイス部（以下、Ｉ／Ｆ部という）１２４、通信を行なう通信部１２６、データを記憶するメモリ１２８、それらを制御する制御部１３０、及び、各部の間でデータを交換するためのバス１３２を含む。車載装置１２０は、図２に示した構成要素以外に、タイマ、電源装置等、車載装置として機能するために必要な構成をも含んでいる。
【００５９】
センサ機器１２２は、車両１０６に搭載されているセンサである。車両には、種々のセンサが搭載されているが、それらのうちセンサ機器１２２は、運転支援情報の生成に供するものを意味する。センサ機器１２２は、例えば、イメージセンサ（ＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラ、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ−Ｏｘｉｄｅ−Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）カメラ等）、レーザセンサ（ＬｉＤＡＲ（Ｌｉｇｈｔ  Ｄｅｔｅｃｔｉｏｎ  ａｎｄ  Ｒａｎｇｉｎｇ）等）、ミリ波レーダ等である。センサ機器１２２は、対象を検知して所定の検出信号（アナログ信号又はデジタルデータ）を出力する。
【００６０】
センサ機器１２２による検出信号はＩ／Ｆ部１２４に入力される。Ｉ／Ｆ部１２４はＡ／Ｄ変換部を含み、アナログ信号が入力されると所定周波数でサンプリングし、デジタルデータ（センサデータ）を生成して出力する。生成されたデジタルデータは、メモリ１２８に伝送されて記憶される。センサ機器１２２からの出力信号がデジタルデータであれば、Ｉ／Ｆ部１２４は、入力されるデジタルデータをメモリ１２８に記憶する。メモリ１２８は、例えば書換可能な不揮発性の半導体メモリ、又はハードディスクドライブ（以下、ＨＤＤという）である。
【００６１】
メモリ１２８に記憶されるセンサデータには、センサデータを取得した時刻を特定する情報（例えば、タイムスタンプ。以下、センサデータ取得時刻という）と、センサデータ取得時刻に対応する車両１０６の位置を表す情報（以下、車両位置という）とが付される。例えば、センサ機器１２２がイメージセンサであれば、フレーム単位のセンサデータに、センサデータ取得時刻及び車両位置が付される。センサデータ取得時刻はタイマから取得され、車両位置はＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）から取得される。
【００６２】
通信部１２６は、５Ｇ回線での移動通信機能を有し、サーバ１０２との通信を行なう。車載装置１２０とサーバ１０２との間の通信は基地局１０４及びネットワーク１０８を介して行なわれる。通信部１２６は、５Ｇ回線で採用されている変調及び多重化を行なうためのＩＣ、所定周波数の電波を放射及び受信するためのアンテナ、並びにＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）回路等により構成されている。
【００６３】
制御部１３０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含んで構成されており、各部を制御することにより、後述する車載装置１２０の機能を実現する。
【００６４】
［サーバのハードウェア構成］
図３を参照して、サーバ１０２は、制御部１４０、メモリ１４２、通信部１４４、及びバス１４６を含む。各部の間のデータ伝送は、バス１４６を介して行なわれる。制御部１４０は、例えばＣＰＵを含み、各部を制御し、サーバ１０２の種々の機能を実現する。通信部１４４は、車両１０６からアップロードされるセンサデータを、基地局１０４及びネットワーク１０８を介して受信する。メモリ１４２は、書換可能な不揮発性の半導体メモリ及びＨＤＤ等の大容量記憶装置を含む。通信部１４４により受信されたデータは、メモリ１４２に伝送され、データベースとして記憶される。
【００６５】
［車載装置の機能的構成］
図４を参照して、車載装置１２０の機能について説明する。車載装置１２０は、センサ機器１２２により検出されたセンサデータを収集するセンサデータ収集部２００、センサデータ収集部２００の収集したセンサデータを処理しサーバ１０２にアップロードするパケットを生成するセンサデータ処理部１９０、センサデータ処理部１９０により生成されたパケットをサーバ１０２に送信するパケット送信部２１６、及びサーバ１０２からのパケットを受信するパケット受信部２１８を含む。
【００６６】
センサデータ処理部１９０は、バッファ入力制御部２０２、バッファ部２０４、バッファ出力制御部２１２、及びシャドウィング検知部２１４を含む。バッファ部２０４は、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０を含む。
【００６７】
センサデータ収集部２００は、センサ機器１２２により検出されたセンサデータを収集する。バッファ入力制御部２０２は、センサデータ収集部２００から入力されるセンサデータを、基地局１０４との通信状態に支障がなければパケット送信部２１６に出力し、支障があればバッファ部２０４に出力する。バッファ入力制御部２０２から出力されるセンサデータには、上記したように、センサデータ取得時刻と、センサデータ取得時刻に対応する車両１０６の車両位置とが付されている。ここでは、基地局１０４との通信状態の支障は、シャドウィングの発生である。シャドウィングの発生の情報は、後述するようにシャドウィング検知部２１４から伝送される。
【００６８】
第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０は、所定のバッファ容量を有し、入力されるデータを順に記憶する。第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０は、例えば、メモリ１２８上に確保される。ここでは、図５に示すように、各バッファ容量は、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０の順で大きくなるように確保されているとする。バッファ入力制御部２０２は、バッファ部２０４にセンサデータを出力する場合、第１バッファ２０６に出力する。第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０は、入力されるデータを記憶し、新たなデータが入力される場合、それまでに記憶したデータをシフト（図５では右側にシフト）した後、空いた領域に新たに入力されるデータを記憶する。第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０は、記憶されるデータがバッファ容量を超えてオーバーフローする場合には、以下の様に機能する。即ち、図５を参照して、第１バッファ２０６がオーバーフローする場合には、第１バッファ２０６に記憶されているデータのうち、最も古いデータ（図５において斜線で示す）は第２バッファ２０８に出力される。第２バッファ２０８がオーバーフローする場合には、第２バッファ２０８に記憶されているデータのうち、最も古いデータ（図５において斜線で示す）は第３バッファ２１０に出力される。第３バッファ２１０がオーバーフローする場合には、第３バッファ２１０に記憶されているデータのうち、最も古いデータ（図５において斜線で示す）は破棄される。
【００６９】
このように構成されることにより、第１バッファ２０６には最も遅延時間（センサデータが車載装置１２０で取得された時刻と特定時刻（現在時刻又はサーバ１０２により受信された時刻）との差）が短いデータ（例えば、遅延時間≦数百ミリ秒）が記憶される。第２バッファ２０８には、第１バッファ２０６に記憶されるデータよりも遅延時間が長いデータ（例えば、数百ミリ秒＜遅延時間≦数秒）が記憶される。第３バッファ２１０には、第２バッファ２０８に記憶されるデータよりも遅延時間が長いデータ（例えば、数秒＜遅延時間≦数分）が記憶される。第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０に記憶されるセンサデータを、それぞれリアルタイムデータ、準リアルタイムデータ、及び非リアルタイムデータともいう。予め設定される各バッファがデータ（センサデータ、センサデータ取得時刻及び車両位置）を記憶する時間、並びに、それに対応する各バッファ容量は、サーバ１０２が提供するサービス（運転支援情報の提供等）に使用されるセンサデータに許される遅延時間（例えば、センサデータ取得時刻とセンサデータの処理完了時刻との差）に応じて設定されてもよい。以下、サービス毎に許される遅延時間の上限を「許容遅延時間」という。このように、センサデータの遅延時間（以下、リアルタイム性ともいう）に応じて複数のバッファ領域を備えることにより、後述するように、よりリアルタイム性の高い情報をより優先して送信できる。また、センサデータのリアルタイム性に応じてバッファ容量を設定することにより、適切なバッファ容量を設定できる。なお、上記した各バッファの記憶時間は一例であり、上記と異なる時間範囲でデータを記憶してもよい。後述するように、各バッファの記憶時間（対応するバッファ容量）は、サーバ１０２で実行されるサービスに応じて設定すればよい。
【００７０】
バッファ出力制御部２１２は、基地局との通信に生じていた支障がなくなれば、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０からセンサデータを並列に読出して、パケット送信部２１６に出力する。例えば、バッファ出力制御部２１２は、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０の各々における最も古いデータ（図５の斜線を付した部分）から読出す。このとき、バッファ出力制御部２１２は、遅延時間が短いセンサデータを優先して読出す。即ち、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０の順で、データ読出しの優先度が低くなる。したがって、読出しの初期には、特定のバッファからのみデータが読出されることはなく、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０から並列に読出される。時間経過に応じて、第１バッファ２０６、第２バッファ２０８の順で、読出されるデータがなくなり、終期には第３バッファ２１０からのみデータが読出される。バッファ出力制御部２１２は、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０から読出したセンサデータの遅延時間を特定できる情報を、センサデータに付加して、パケット送信部２１６に出力する。例えば、バッファ出力制御部２１２は、リアルタイムデータ、準リアルタイムデータ、及び非リアルタイムデータを表す分類情報を、センサデータに付加して、パケット送信部２１６に出力する。バッファ出力制御部２１２は、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０にバッファされていたセンサデータを全てパケット送信部２１６に出力すると、所定の情報（以下、出力完了情報ともいう）をシャドウィング検知部２１４に出力する。
【００７１】
パケット送信部２１６は、入力されるデータを、通信プロトコルにしたがってパケット化し（ヘッダデータの付加、分割等）、送信する。パケット送信部２１６に入力されるデータは、バッファされていたデータであれば、分類情報が付加されている（センサデータ、センサデータ取得時刻、車両位置及び分類情報）が、そうでなければ、分類情報が付加されていない（センサデータ、センサデータ取得時刻及び車両位置）。第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０から、優先度に応じて並列に読出されたバッファデータを送信することを、以下においては「並列アップロード」ともいう。この場合、「並列アップロード（並列に送信する）」とは、１）複数種類のデータを１個ずつ読出して、これらをまとめて１つのパケットに組立てて送信すること、２）複数種類のデータを１個ずつ読出して、それぞれ別々のパケットを組立てて１つの無線通信装置を介して連続して送信すること、３）複数種類のデータを１個ずつ読出して、それらをつないだ１つのデータを作り、それを複数のパケットに分割して送信すること、及び４）複数の無線送信装置がある場合には、複数種類のデータを１個ずつ読出して別々のパケットを組立て、別々の無線送信装置を介してほぼ同時に送信すること、のいずれであっても良いし、これらを組合せても良い。また、パケット送信部２１６は、送信失敗の頻度、又は、通信回線の回線速度を算出して、シャドウィング検知部２１４に出力する。これは、後述するように、シャドウィング検知部２１４により、基地局との通信に支障が生じているか否かを判定するためである。
【００７２】
パケット受信部２１８は、基地局１０４から送信されたデータを受信する。パケット受信部２１８は、パケット送信部２１６から送信したパケットデータが送信先で受信されたか否かを、送信先から送信される受信確認情報を受信することにより判定できる。例えば、ＴＣＰ／ＩＰプロトコルであれば、ＡＣＫ、及び、確認応答番号（次に送信すべきデータの先頭を表す（どこまでデータを受信できたかを表す））を受信することにより可能である。所定時間内にパケット受信部２１８が受信確認情報を受信できなければ、送信に失敗したとして、パケット送信部２１６は該当するパケットデータを再送信する。
【００７３】
シャドウィング検知部２１４は、パケット送信部２１６から入力される送信失敗の頻度、又は、通信回線の回線速度から、シャドウィングが発生しているか否かを判定し、シャドウィングが発生していると判定した場合、所定の指示（以下、バッファ開始指示という）をバッファ入力制御部２０２に出力する。バッファ入力制御部２０２は、バッファ開始指示が入力されると、センサデータ収集部２００から入力されるセンサデータの出力先を、パケット送信部２１６からバッファ部２０４に変更する。これにより、上記したように第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０によりセンサデータのバッファリング（記憶）が実行される。
【００７４】
シャドウィング検知部２１４は、発生していたシャドウィングが解消したと判定した場合、所定の指示（以下、送信開始指示という）をバッファ入力制御部２０２及びバッファ出力制御部２１２に出力する。バッファ入力制御部２０２は、送信開始指示が入力されると、センサデータ収集部２００から入力されるセンサデータの出力を停止する。バッファ出力制御部２１２は、送信開始指示が入力されると、上記したように、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０からデータを並列して読出し、読出したデータに、対応する分類情報を付加してパケット送信部２１６に出力する。バッファ出力制御部２１２は、全バッファデータの出力が完了すると、出力完了情報をシャドウィング検知部２１４に出力し、出力完了情報が入力されたシャドウィング検知部２１４は、所定の指示（以下、バッファ終了指示という）をバッファ入力制御部２０２に出力する。バッファ入力制御部２０２は、バッファ終了指示が入力されると、センサデータ収集部２００から入力されるセンサデータの出力先を、バッファ部２０４からパケット送信部２１６に戻す。
【００７５】
これにより、車載装置１２０は、シャドウィングが発生している期間、センサデータをバッファし、シャドウィングが解消すれば、バッファしていたセンサデータを並列して送信できる。このとき、バッファしていたセンサデータは、遅延時間の短いものから優先して送信されるので、後述するように、サーバ１０２は、受信したセンサデータを有効に利用することができる。
【００７６】
センサデータ収集部２００の機能は図２のＩ／Ｆ部１２４により実現される。パケット送信部２１６及びパケット受信部２１８の機能は、通信部１２６により実現される。バッファ入力制御部２０２、バッファ部２０４、バッファ出力制御部２１２及びシャドウィング検知部２１４の機能は、制御部１３０及びメモリ１２８により実現される。なお、車載装置１２０の各機能は、専用ハードウェア（回路基板、半導体集積回路（ＡＳＩＣ等）等）を用いて実現されてもよい。例えば、図４の１点鎖線で囲まれたバッファ入力制御部２０２、バッファ部２０４、バッファ出力制御部２１２及びシャドウィング検知部２１４の機能を１又は複数の半導体集積回路で実現し、制御部１３０及びメモリ１２８とは別の構成として車載装置１２０に搭載してもよい。
【００７７】
［サーバの機能的構成］
図６を参照して、サーバ１０２の機能について説明する。サーバ１０２は、パケットデータを受信するパケット受信部２４０と、パケット受信部２４０の出力データを所定の条件にしたがって分類し、データベース２４６に入力するフィルタ部２４４と、データベース２４６に記憶されたデータに対して所定の処理を実行する処理部２５４と、処理部２５４の処理結果を運転支援情報として送信するパケット送信部２４２とを含む。
【００７８】
データベース２４６は、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２を含む。データベース２４６は、メモリ１４２（図３参照）により実現される。リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２は、遅延時間に応じたセンサデータを記憶するための領域である。リアルタイムデータ領域２４８は、リアルタイムのセンサデータを記憶するための領域である。準リアルタイムデータ領域２５０は、準リアルタイムのセンサデータを記憶するための領域である。非リアルタイムデータ領域２５２は、非リアルタイムのセンサデータを記憶するための領域である。
【００７９】
パケット受信部２４０は、車両１０６の車載装置１２０等の車載装置からセンサデータを受信する。パケット受信部２４０は、車載装置以外に、街頭監視カメラ等の固定設置されたインフラセンサからもセンサデータを受信する。インフラセンサには、例えば、イメージセンサ（カメラ等）、レーザセンサ（ＬｉＤＡＲ等）、ミリ波レーダ等が含まれる。パケット受信部２４０は、車載装置１２０から送信されたセンサデータを含むパケットデータを受信すると、センサデータと、それに付加された情報（以下、付加情報ともいう）があれば付加情報とを取出して、フィルタ部２４４に出力する。パケット受信部２４０の機能は、図３の通信部１４４により実現される。ここで付加情報は、上記したセンサデータ取得時刻、車両位置及び分類情報（センサデータの遅延時間の分類を表す情報）である。
【００８０】
フィルタ部２４４は、入力されるセンサデータ、センサデータ取得時刻及び車両位置を、分類情報に応じて、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２のいずれかに記憶する。分類情報は、車載装置１２０において、発生したシャドウィングが解消したときに送信されるセンサデータ（バッファされていたデータ）にのみ付加されており、通常時に送信されるセンサデータには付加されていない。また、インフラセンサから受信したセンサデータにも分類情報は付加されていない。フィルタ部２４４は、分類情報が付加されていないセンサデータを、リアルタイム性の高いデータとしてリアルタイムデータ領域２４８に出力する。
【００８１】
なお、時間経過にしたがって、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０、非リアルタイムデータ領域２５２に記憶されているデータのリアルタイム性は変化するので、適宜、相互間でのデータ移動、及びデータ削除が行なわれ、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２の各々に記憶されているセンサデータのリアルタイム性が維持される。例えば、時間経過に応じて、センサデータ取得時刻を参照し、リアルタイムデータ領域２４８に記憶されたデータのうち、リアルタイムデータに該当しなくなったデータは、準リアルタイムデータ領域２５０に移動される。同様に、準リアルタイムデータ領域２５０に記憶されたデータのうち、準リアルタイムデータに該当しなくなったデータは、非リアルタイムデータ領域２５２に移動される。非リアルタイムデータ領域２５２に記憶されたデータのうち、非リアルタイムに該当しなくなったデータは削除される。
【００８２】
処理部２５４は、所定のタイミングで、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２からセンサデータを読出し、読出したセンサデータの遅延時間に応じた処理を実行する。処理部２５４は、例えば、リアルタイムデータ領域２４８から読出したセンサデータに対して、動体検出処理を行ない、検出された動体の属性（種類（人、車両等）、位置、大きさ等）を特定し、運転支援情報を生成する、交通状況マップに反映する等の処理を行なう。処理部２５４は、リアルタイムデータ領域２４８及び準リアルタイムデータ領域２５０から読出したセンサデータを、検出対象の将来の行動を推定する処理に用いる。例えば、処理部２５４は、リアルタイムデータ領域２４８のセンサデータから検出された動体の詳細な属性（例えば、歩行者が検出された場合、それがどのような歩行者であるか（例えば、子供、老人、歩行中、歩行速度、歩行方向、停止中等））を予測する。準リアルタイムデータ領域２５０から読出したセンサデータは、行動推定処理における過去サンプルとして用いられ得る。処理部２５４は、非リアルタイムデータ領域２５２から読出したセンサデータを、例えば、統計分析等の統計処理の対象データ、推定モデルを構築するための学習データ等に用いる。処理部２５４の処理結果は、データベース２４６の解析結果領域２５６に記憶され、適宜パケット送信部２４２により読出され、運転支援情報として車載装置に送信される。
【００８３】
このように、サーバ１０２は、車載装置１２０等の車載装置及びインフラセンサから受信したセンサデータをリアルタイム性に応じて分類して記憶し、記憶されているセンサデータを、そのリアルタイム性に応じて利用できる。
【００８４】
［動作］
図７及び図８を参照して、車載装置１２０及びサーバ１０２の動作を説明することにより、運転支援システム１００の動作を説明する。図７に示した処理は、制御部１３０が、所定のプログラムをメモリ１２８から読出して実行することにより実現される。図８に示した処理は、制御部１４０が、所定のプログラムをメモリ１４２から読出して実行することにより実現される。
【００８５】
［車載装置の動作］
図７を参照して、ステップ３００において、制御部１３０は、センサ機器１２２からセンサデータを取得する。
【００８６】
ステップ３０２において、制御部１３０は、シャドウィングが発生しているか否かを判定する。シャドウィングの発生は、上記した送信失敗の頻度の増大、回線速度の低下の他、受信信号レベルの低下、サーバ１０２との通信切断等によっても判定できる。これは、図４のシャドウィング検知部２１４の機能に対応する。シャドウィングが発生していると判定された場合、制御はステップ３０４に移行する。そうでなければ、制御はステップ３０６に移行する。
【００８７】
ステップ３０４において、制御部１３０は、３００で取得したセンサデータのバッファを開始する。これは、図４のバッファ入力制御部２０２及びバッファ部２０４の機能に対応する。例えば、センサデータは、その遅延時間に応じて、リアルタイムデータ、準リアルタイムデータ、非リアルタイムデータに区分されてバッファされる。その後、制御はステップ３０８に移行する。
【００８８】
一方、ステップ３０２でシャドウィングが発生していないと判定された場合、ステップ３０６において、ステップ３００で取得したセンサデータをサーバ１０２に送信する。これは、図４のバッファ入力制御部２０２及びパケット送信部２１６の機能に対応する。
【００８９】
ステップ３０８において、制御部１３０は、シャドウィングが解消したか否かを判定する。解消したと判定された場合、制御はステップ３１２に移行する。そうでなければ制御はステップ３１０に移行する。
【００９０】
ステップ３１０において、制御部１３０は、センサデータを取得し、取得したセンサデータを、上記のようにバッファする。その後、制御はステップ３０８に戻る。これにより、シャドウィングが生じている間、センサデータはバッファされ、送信されない。
【００９１】
一方、シャドウィングが解消すると、ステップ３１２において、制御部１３０は、バッファ処理を中止し、バッファされたデータをサーバ１０２に送信する処理を開始する。これは、図４のバッファ出力制御部２１２及びパケット送信部２１６の機能に対応する。リアルタイムデータ、準リアルタイムデータ、非リアルタイムデータに区分されてバッファされていたデータは、並列アップロードされる。このとき、リアルタイム性が高いものを優先して送信する。その後、制御はステップ３１４に移行する。
【００９２】
ステップ３１４において、制御部１３０は、終了が指示されているか否かを判定する。終了の指示は、例えば車載装置１２０の電源がオフされることにより成される。終了が指示されていると判定されると、このプログラムは終了する。そうでなければ、制御はステップ３００に戻る。
【００９３】
以上により、車載装置１２０は、シャドウィングが発生していなければ、センサデータを受信してサーバ１０２に送信する処理を繰返す。一旦シャドウィングが発生すれば、車載装置１２０は、シャドウィングが発生している期間、センサデータをバッファし、シャドウィングが解消すれば、バッファしていたセンサデータを並列アップロードできる。このとき、バッファしていたセンサデータは、遅延時間の短いものから優先して送信される。したがって、シャドウィング発生時に、データの再送信を繰返す無駄な処理を抑制できる。また、シャドウィングが解消すれば、リアルタイム性の高いセンサデータを優先的に送信するので、サーバ１０２は、受信したデータを有効に利用することができ、受信したデータが利用されずに破棄されることを抑制できる。
【００９４】
［サーバの動作］
図８を参照して、ステップ４００において、制御部１４０は、データを受信したか否かを判定する。受信したと判定された場合、制御はステップ４０２に移行する。そうでなければ、制御はステップ４１２に移行する。
【００９５】
ステップ４０２において、制御部１４０は、ステップ４００で受信したデータがセンサデータであるか否かを判定する。例えば、車載装置１２０からセンサデータをパケット化して送信するときに、パケットヘッダに、センサデータを含むことを示す情報を含めて送信すればよい。制御部１４０は、受信したパケットヘッダにその情報が含まれていれば、センサデータを受信したと判定できる。受信したと判定された場合、制御はステップ４０６に移行する。そうでなければ、制御はステップ４０４に移行する。
【００９６】
ステップ４０４において、制御部１４０は、受信したデータに応じて、該当する処理を実行する。その後、制御はステップ４１２に移行する。
【００９７】
ステップ４０６において、制御部１４０は、ステップ４００で受信したデータに分類情報（センサデータのリアルタイム性を表す情報）が含まれているか否かを判定する。含まれていると判定された場合、制御はステップ４０８に移行する。そうでなければ、制御はステップ４１０に移行する。
【００９８】
ステップ４０８において、制御部１４０は、ステップ４００で受信したセンサデータを、受信した分類情報に対応するメモリ１４２の該当領域に記憶する。これは、図６のフィルタ部２４４及びデータベース２４６の機能に対応する。センサデータは、その分類情報に応じて、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０又は非リアルタイムデータ領域２５２に記憶される。
【００９９】
ステップ４１０において、制御部１４０は、ステップ４００で受信したセンサデータ（分類情報を含まない）を、メモリ１４２のリアルタイムデータを記憶する領域（図６のリアルタイムデータ領域２４８）に記憶する。その後、制御はステップ４１２に移行する。
【０１００】
ステップ４１２において、制御部１４０は、記憶しているセンサデータの解析処理を実行するか否かを判定する。解析処理を実行すると判定された場合、制御はステップ４１４に移行する。そうでなければ、制御はステップ４１６に移行する。例えば、制御部１４０は、新たなセンサデータを受信した場合、解析処理を実行すると判定する。また、解析処理が所定の時間間隔で実行されるように設定されていれば、制御部１４０は、前回解析処理を実行してからの経過時間により、解析処理を実行するか否かを判定する。
【０１０１】
ステップ４１４において、制御部１４０は、メモリ１４２（図６のリアルタイムデータ領域２４８、準リアルタイムデータ領域２５０、非リアルタイムデータ領域２５２）に記憶されているセンサデータに対して、そのリアルタイム性に応じた解析処理を実行する。これは、図６の処理部２５４の機能に対応する。制御部１４０は、解析結果をメモリ１４２（図６の解析結果領域２５６）に記憶する。その後制御は、ステップ４１６に移行する。
【０１０２】
ステップ４１６において、制御部１４０は、終了の指示が成されたか否かを判定する。終了の指示は、例えば、実行中のプログラムを停止させる指示により成される。終了の指示を受けると、このプログラムは終了する。終了の指示を受けていなければ、制御は、ステップ４００に戻る。
【０１０３】
以上により、サーバ１０２は、車載装置１２０等の車載装置及びインフラセンサから受信したセンサデータを、そのリアルタイム性に応じて分類して記憶し、記憶されているセンサデータを、そのリアルタイム性に応じて利用できる。特に、車載装置１２０においてシャドウィングが発生して所定の期間送信できず、シャドウィングが解消した後に送信されるセンサデータ（バッファデータ）を、破棄することなく、そのリアルタイム性に応じて分類して記憶し、そのリアルタイム性に応じて有効に利用できる。
【０１０４】
上記では、シャドウィングが発生したときに、センサデータをバッファリングする場合を説明したが、これに限定されない。基地局のサービスエリア内において、シャドウィング以外の原因で、一時的に正常な通信ができない現象が発生したときに、センサデータをバッファリングし、正常に通信可能になれば、バッファデータを並列アップロードすればよい。
【０１０５】
（第１変形例）
上記では、シャドウィングが発生したときに車載装置がセンサデータをバッファするためのバッファ容量が固定である場合を説明したが、これに限定されない。バッファ容量は、適宜変更されてもよい。第１変形例では、車載装置は、サーバから送信されるパラメータにしたがって、バッファ容量を変更する。
【０１０６】
［車載装置の機能的構成］
第１変形例の車載装置のハードウェア構成は図２と同じである。図９を参照して、車両４３０は第１変形例に係る車載装置１５０を含む。車載装置１５０の機能的構成において、図４の車載装置１２０と異なる点は、図４のセンサデータ処理部１９０に代えて、センサデータ処理部１９０にバッファ容量決定部２２０が追加されたセンサデータ処理部４４０を含んでいることだけである。バッファ容量決定部２２０は、後述するように、サーバ１０２から送信されてパケット受信部２１８により受信されるパラメータを、パケット受信部２１８から入力され、パケット送信部２１６から入力される情報（回線速度）とパラメータとから各バッファの容量を決定する。車載装置１５０において、車載装置１２０（図４）の構成要素と同じ符号を付した構成要素は、車載装置１２０の構成要素と同じ機能を有しているので、重複説明を繰返さない。主として異なる点に関して説明する。
【０１０７】
ここでは、車載装置１５０が動作を開始した時点では、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０の各々のバッファ容量は予め設定されているとする。車載装置１５０は、車載装置１２０と同様に、シャドウィングが発生すると、センサデータ収集部２００から出力されるセンサデータの送信を中止し、バッファ部２０４へのバッファ処理を開始する（バッファ入力制御部２０２の出力先がパケット送信部２１６からバッファ部２０４に変更される）。その後、シャドウィングが解消すると、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０にバッファされていたデータを並列に読出し、パケット送信部２１６から送信する（並列アップロード）。このとき、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０のデータは、リアルタイム性に応じた優先度（第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０の順で優先度が低くなる）で、並列に読出され（バッファ出力制御部２１２の機能）、送信される。このとき、パケット送信部２１６から送信される各パケットデータには、送信時刻を表す情報が含まれている。
【０１０８】
これにより、サーバ１０２は、シャドウィングが発生していた期間にバッファされていたデータ（センサデータ）を受信して、有効に活用する。並列アップロードが行われているとき、サーバ１０２は、後述するように、回線速度と、受信したデータの送信時刻から取得時刻までの時間差（以下、伝送遅延時間という）と、受信したデータ（センサデータ）の解析処理に要した時間（以下、処理遅延時間という）とを測定（算出）する。測定された回線速度は、量子化されて記憶される。伝送遅延時間、及び処理遅延時間の算出は、上記した分類情報（センサデータの遅延時間を表す情報）毎に行なわれる。即ち、サーバ１０２は、車載装置１５０による並列アップロード時に、並列アップロードの性能評価を行なう。サーバ１０２は、これらのパラメータを、適当なタイミングで車載装置１５０に送信する。パラメータは、例えば、｛回線速度，分類情報，伝送遅延時間，処理遅延時間｝の組として送信される。
【０１０９】
サーバ１０２は、各サービスの許容遅延時間をも送信する。センサデータを使用するサービスは、そのセンサデータのリアルタイム性に応じて異なる。例えば、運転支援情報の生成には、リアルタイムデータを使用できるが、非リアルタイムデータを使用することはできない。許容遅延時間を超える遅延時間のセンサデータは、対応するサービスでは使用されない。許容遅延時間は、分類情報毎に設定される。なお、許容遅延時間は、サーバと車載装置との間で共有されていればよく、許容遅延時間が変化するものでなければ、予め仕様として規定されていてもよく、例えば、車載装置において初期設定されていてもよい。許容遅延時間が変化するとしてもその周期が比較的長い場合には、許容遅延時間は、パラメータの送信とは別に送信されてもよい。許容遅延時間が変化し、その周期が比較的短い場合には、パラメータの送信と同時に許容遅延時間を送信するようにしてもよい。
【０１１０】
サーバ１０２から送信されるパラメータ及び許容遅延時間は、パケット受信部２１８により受信され、バッファ容量決定部２２０に出力される。バッファ容量決定部２２０は、入力されるパラメータを記憶する。また、パケット送信部２１６は、適宜、正常通信できている状態の回線速度を測定し、バッファ容量決定部２２０に出力する。バッファ容量決定部２２０は、パケット送信部２１６から入力される回線速度の平均値を算出して記憶する。
【０１１１】
バッファ容量決定部２２０は、記憶した回線速度の平均値及びパラメータを用いて、第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０の各バッファ容量を、以下に示すようにして決定する。図１０に、特定のリアルタイム性（リアルタイム、準リアルタイム、又は非リアルタイム）のセンサデータに関して、バッファ開始時刻（バッファ処理を開始した時刻）ｔｓから、処理完了時刻（サーバ１０２によりバッファデータが受信され解析が完了する時刻）ｔｅまでの間における各処理に要する時間を示す。図１０において、バッファ時間Ｔ１は、特定のリアルタイム性の全バッファデータＢの記憶に要した時間を意味する。バッファ入力制御部２０２から単位時間当たりに出力されるセンサデータ量をＳとし、センサデータに付加されるデータ（センサデータ取得時刻及び車両位置）は小さいので無視すると、Ｂ＝Ｔ１×Ｓとなる。全バッファデータの送出所要時間Ｔ２は、特定のリアルタイム性の全バッファデータを読出してから、パケット化してパケット送信部２１６から送信するまでに要する時間を意味する。即ち、全バッファデータの送出所要時間Ｔ２は、車載装置１５０において、分類毎のバッファデータ（センサデータ、センサデータ取得時刻及び車両位置）を処理する速度（以下、スループットという）Ｔｈ（例えばｂｐｓ単位）を用いて、Ｔ２＝Ｂ／Ｔｈ＝Ｔ１×Ｓ／Ｔｈで表される。伝送遅延時間Ｔ３は、特定のリアルタイム性の全バッファデータが、車載装置１５０から送信されてサーバ１０２により受信されるまでの時間を意味する。処理遅延時間Ｔ４は、サーバ１０２が特定のリアルタイム性のセンサデータを解析するのに要する時間を意味する。これらのうち、伝送遅延時間Ｔ３、処理遅延時間Ｔ４は上記したようにサーバ１０２により測定される。一方、バッファ時間Ｔ１及びスループットＴｈは、車載装置１５０において測定される。これらの時間は、リアルタイム性（リアルタイム、準リアルタイム又は非リアルタイム）に応じて異なる。バッファ時間Ｔ１は、リアルタイムデータ（第１バッファ２０６のバッファデータ）、準リアルタイムデータ（第２バッファ２０８のバッファデータ）、非リアルタイムデータ（第３バッファ２１０のバッファデータ）の順で大きくなる。スループットＴｈ、伝送遅延時間Ｔ３及び処理遅延時間Ｔ４に関しても同様である。
【０１１２】
図１０には、２種類の許容遅延時間ＴＡ１及びＴＡ２を示す。例えば、許容遅延時間ＴＡ１は、準リアルタイムデータを利用するサービスに関するものであり、許容遅延時間ＴＡ２は、リアルタイムデータを利用するサービスに関するものである。許容遅延時間ＴＡ１の場合、車載装置１５０においてバッファされたデータは全てサーバ１０２により有効に利用され得る。しかし、許容遅延時間ＴＡ２の場合には、期間ΔＴにバッファされたセンサデータは、有効に使用されない（対応するサービスでは使用されない）。即ち、ΔＴの期間は無駄な時間である。ΔＴは、バッファ容量に直接対応するものではなく、Ｔ１に含まれる無駄なバッファ時間ΔＴ１、Ｔ２に含まれるΔＴ１に記憶されるデータ（以下、無駄なバッファデータという）の送出処理時間、Ｔ３に含まれる無駄なバッファデータの伝送時間、Ｔ４に含まれる無駄なバッファデータの処理時間の合計である。したがって、許容遅延時間をＴＡとすると、Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４＝Ｔ１（１＋Ｓ／Ｔｈ）＋Ｔ３＋Ｔ４≦ＴＡ、即ち、Ｔ１≦（ＴＡ−Ｔ３−Ｔ４）／（１＋Ｓ／Ｔｈ）となるように、バッファ時間Ｔ１の上限値（（ＴＡ−Ｔ３−Ｔ４）／（１＋Ｓ／Ｔｈ））を設定してもよい。バッファ時間Ｔ１の上限値に対応するバッファ容量は、バッファ時間Ｔ１及び単位時間当たりのセンサデータ量Ｓの積（（ＴＡ−Ｔ３−Ｔ４）×Ｓ／（１＋Ｓ／Ｔｈ））により算出できる。
【０１１３】
バッファ容量決定部２２０は、記憶しているパラメータに含まれる回線速度（量子化データ）のうち、パケット送信部２１６から取得した回線速度から算出しておいた平均値に対応する回線速度（量子化データ）を特定し、特定された回線速度（量子化データ）に対応する｛分類情報，伝送遅延時間，処理遅延時間｝の組を特定する。そして、バッファ容量決定部２２０は、特定された組における分類情報（リアルタイム性に対応）を１つ特定し、それに対応する伝送遅延時間（Ｔ３）、処理遅延時間（Ｔ４）及び許容遅延時間（ＴＡ）を、（ＴＡ−Ｔ３−Ｔ４）×Ｓ／（１＋Ｓ／Ｔｈ）に代入して、バッファ容量の上限値を算出する。バッファ容量決定部２２０は、分類情報の数だけこれを繰返し、分類情報毎のバッファ容量の上限値を決定する。
【０１１４】
バッファ容量決定部２２０は、決定した分類情報毎のバッファ容量の上限値を、バッファ入力制御部２０２に出力する。これを受けて、バッファ入力制御部２０２は、シャドウィングが発生していないときに、シャドウィングが発生したときのために、予め各分類情報に対応する第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０のバッファ容量をメモリ１２８上に確保する。
【０１１５】
バッファ容量の算出に使用した、パケット送信部２１６からバッファ容量決定部２２０に出力される回線速度は変化する。一旦シャドウィングが発生した後、シャドウィングが解消したときの回線速度は、シャドウィングが発生する少し前の回線速度とほぼ同じであると推定できる。したがって、サーバ１０２から、繰返しパラメータが送信され、バッファ容量決定部２２０が、パラメータを受信する度に、パケット送信部２１６から取得し、算出しておいた回線速度の平均値（シャドウィング解消後の回線速度の推定値）を用いてバッファ容量の上限値を決定すれば、シャドウィングが発生したときのために、適切なバッファ容量を確保できる。確保されたバッファ容量は、リアルタイム性（分類情報）に応じた適切なバッファ容量であり、サーバ１０２に送信された場合に、利用されずに破棄されるデータまでバッファする無駄を抑制できる。
【０１１６】
車載装置１５０のバッファ容量決定部２２０の機能は、制御部１３０（図２）が、所定のプログラムをメモリ１２８から読出して実行することにより実現され得る。例えば、制御部１３０は、図７に示したプログラムと並行して、バッファ容量決定部２２０の機能を実現するためのプログラムを実行すればよい。
【０１１７】
上記では、一旦シャドウィングが発生した後、シャドウィングが解消したときの回線速度として、シャドウィングが発生する前の回線速度の平均値を使用したが、これに限定されない。シャドウィングが解消したときの回線速度の推定値であればよく、別の方法で推定された値を用いてもよい。例えば、過去の走行位置と対応する回線速度とを記憶しておき、現在の車両の走行位置から、シャドウィング解消時の回線速度を推定してもよい。
【０１１８】
［サーバの機能的構成］
第１変形例のサーバのハードウェア構成は図３と同じである。図１１を参照して、第１変形例に係るサーバ１５２の機能的構成について説明する。サーバ１５２の構成において、図６のサーバ１０２と異なる点は、パラメータ生成部２５８が追加されていることだけである。パラメータ生成部２５８は、上記したように、車載装置１５０による並列アップロード時に、パラメータを算出する。サーバ１５２において、サーバ１０２（図６）の構成要素と同じ符号を付した構成要素は、サーバ１０２の構成要素と同じ機能を有しているので、重複説明を繰返さない。主として異なる点に関して説明する。
【０１１９】
サーバ１５２は、サーバ１０２と同様に、車載装置１５０等の車載装置及びインフラセンサ等からセンサデータを受信し、受信したセンサデータのリアルタイム性に応じて、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０又は非リアルタイムデータ領域２５２に記憶する。その後、サーバ１０２は、適宜、サービスに応じてリアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２からセンサデータを読出し、解析し、解析結果を解析結果領域２５６に記憶する。
【０１２０】
サーバ１５２においては、サーバ１０２と異なり、パケット受信部２４０は、車載装置１５０による並列アップロードで、バッファされたデータを含むパケットデータを受信すると、そのパケットデータをパラメータ生成部２５８に出力する。また、パケット受信部２４０は、このときの回線速度の情報をパラメータ生成部２５８に出力する。パラメータ生成部２５８は、入力される回線速度を量子化して記憶する。
【０１２１】
パラメータ生成部２５８に入力されるパケットデータには、センサデータ、センサデータ取得時刻、車両位置、分類情報及び送信時刻が含まれている。したがって、パラメータ生成部２５８は、分類情報毎に伝送遅延時間を測定（算出）できる。パラメータ生成部２５８は、パケットデータが入力される度に伝送遅延時間を測定し、該当する分類情報に対応させて記憶する。伝送遅延時間は、例えば、分類情報毎に、各パケットの伝送遅延時間を求め、並列アップロードが終われば、それらの平均値として算出できる。並列アップロードで送信されたパケットデータに関して、これを繰返すと、回線速度（量子化値）毎に、｛分類情報，伝送遅延時間｝の組を生成することができる。
【０１２２】
処理部２５４は、サーバ１５２においてはサーバ１０２と異なり、リアルタイム性毎（分類情報毎）の処理遅延時間（解析処理に要した時間）を算出し、処理遅延時間を分類情報と対応させて、パラメータ生成部２５８に出力する。パラメータ生成部２５８は、入力される処理遅延時間を、分類情報に対応させて、｛回線速度，分類情報，伝送遅延時間，処理遅延時間｝の組を生成し、パケット送信部２４２を介して、車載装置１５０に送信する。これにより、車載装置１５０はパラメータを受信する度に、上記したように、発生したシャドウィングが解消したときの回線速度の推定値を用いて、シャドウィングが発生時にセンサデータを記憶するバッファ容量を、予め適切に設定できる。
【０１２３】
パラメータ生成部２５８の機能は、制御部１４０（図３）が、所定のプログラムをメモリ１４２から読出して実行することにより実現され得る。例えば、制御部１４０は、図８に示したプログラムと並行して、パラメータ生成部２５８の機能を実現するためのプログラムを実行すればよい。
【０１２４】
（第２変形例）
上記では、車載装置がシャドウィングの発生を検知したときに、センサデータのバッファ処理を開始する場合を説明したが、これに限定されない。第２変形例では、車載装置におけるセンサデータのバッファ処理の開始条件をサーバから指示し、指示にしたがって車載装置がバッファ処理を開始する。例えば、交通事故等の特定の事態が生じている道路地図上の範囲（以下、エリアという）、インフラセンサの検出範囲外のエリア等において取得されるセンサデータは、サーバによるサービス（運転支援情報の提供等）にとって重要である。したがって、サーバは、そのようなエリア内を走行している車両の車載装置に対して、シャドウィング発生時にセンサデータのバッファリングを行なわせる。
【０１２５】
第２変形例において、車載装置のハードウェア構成は図２と同じであり、車載装置の機能は図４に示した機能を含む。但し、シャドウィング検知部２１４は、シャドウィングの検知に加えて、サーバにより指定されたエリア内に車両が位置するか否かをも判定する。サーバのハードウェア構成は図３と同じであり、サーバの機能は図６に示した機能を含む。したがって、適宜、図２〜４及び６を参照し、主として上記と異なる機能に関して説明する。
【０１２６】
［車載装置の動作］
第２変形例に係る車載装置は、図７に代えて、図１２のフローチャートに示す処理を実行する。図１２のフローチャートは、図７のフローチャートにおいて、ステップ３５０〜ステップ３５４が追加されたものである。図１２において、図７と同じ番号を付したステップの処理は、図７と同じであるので、重複説明を繰返さない。主として異なる点に関して説明する。
【０１２７】
ここでは、サーバ１０２は、各車両の車載装置に対して、道路地図上の所定範囲を特定するための情報（以下、エリア情報という）を送信し、車載装置１２０は、受信したエリア情報をメモリ１２８に記憶しているとする。ステップ３５０において、制御部１３０は、記憶しているエリア情報により特定される所定範囲（以下、指定エリアともいう）内に車両１０６が位置しているか否かを判定する。指定エリア内に位置していると判定された場合、制御はステップ３０２に移行する。そうでなければ、制御はステップ３５２に移行する。指定エリア内に位置しているか否かの判定は、ＧＰＳにより取得した車両１０６の位置情報を用いて行なうことができる。
【０１２８】
指定エリア内に位置していると判定された場合、ステップ３０２〜３１２が実行され、上記したように、シャドウィングが発生していれば、その間センサデータはバッファされ、シャドウィングが解消すると、バッファデータは並列アップロードされる。
【０１２９】
一方、指定エリア内に位置しないと判定された場合、ステップ３５２において、制御部１３０は、ステップ３０２と同様に、シャドウィング発生の有無を判定する。シャドウィングが発生していないと判定された場合、制御はステップ３０６に移行し、センサデータの送信が行なわれる。シャドウィングが発生していると判定された場合、制御はステップ３５４に移行する。ステップ３５４において、制御部１３０は、センサデータを送信もバッファもせずに、破棄する。
【０１３０】
これにより、車両１０２が指定エリア内を走行していれば、車両１０２に搭載されている車載装置１２０は、シャドウィングが発生している間、センサデータをバッファし、シャドウィングが解消すれば、バッファデータをサーバ１０２に送信する。車両１０２が指定エリア外を走行していれば、車両１０２に搭載されている車載装置１２０は、シャドウィングが発生すれば、センサデータを破棄し、センサデータの再送信も、センサデータのバッファも行なわない。したがって、サーバ１０２は、提供するサービスにとって重要なセンサデータを取得でき、車載装置１２０は、サーバ１０２にとってそれ程重要ではないセンサデータの再送信を抑制できる。
【０１３１】
図１２では、車両１０６が指定エリア内に位置するか否かを判定した後に、シャドウィング発生の有無を判定しているが、これに限定されない。例えば、シャドウィングの発生の有無を判定し、シャドウィングが発生している場合に、車両１０６が指定エリア内に位置するか否かを判定してもよい。また、バッファ処理の開始条件は、エリア情報で特定される指定エリア内に位置することに限定されず、それ以外の条件であってもよい。
【０１３２】
（第２実施形態）
［状態遷移］
この開示の第２実施形態に係る車載装置の状態遷移を図１４に示す。図１４を参照して、この実施形態に係る車載装置の状態は、センサデータを収集し、サーバ１０２にアップロードする処理を繰返す通常状態４５０と、通常状態４５０において車載装置からサーバ１０２へのアップロードのスループット（回線速度）が所定のしきい値以下となったときに通常状態４５０から遷移する、センサデータを収集し、サーバ１０２にアップロードせずバッファリングするバッファリング状態４５２と、車載装置がバッファリング状態４５２にあるときに、サーバ１０２との回線速度がしきい値より大きな値に復帰したときに、バッファリング状態４５２においてバッファリングされたセンサデータをサーバ１０２に順次アップロードするバッファ送信状態４５４とを含む。バッファリング状態４５２においてバッファからのアップロードが完了すると、状態は通常状態４５０に戻る。バッファリング状態４５２においてスループットがしきい値以下になると、状態はバッファリング状態４５２に戻る。
【０１３３】
以上の状態遷移は、第１実施形態の場合と同様である。この第２実施形態では、バッファリング状態４５２の状態が所定時間以上継続したとき（バッファリング期間が満了したとき）に、バッファリングしたデータを、低下した回線速度でもサーバ１０２に継続してアップロードできるような小さなサイズのサブセットに変換し、サーバ１０２にアップロードする処理を繰返すサブセット送信状態４５６をさらに含む。車載装置がサブセット送信状態４５６にあるときに回線速度がしきい値より大きな値に復帰したときには、車載装置の状態はバッファ送信状態４５４に遷移する。車載装置の状態とスループットの変化とに追随して、車載装置の状態が変化する。車載装置の４個の状態をあらかじめ適切に設定しておくことで、シャドウィング等が発生したときも適切にセンサデータを処理できる。送信のスループットに応じて、状態との組合せで適宜状態遷移させることで、センサデータを外部装置に送信する処理と、外部装置に送信せずバッファに蓄積する処理と、バッファに蓄積されたセンサデータを外部に送信する処理とを状態遷移により切替えて実行できる。
【０１３４】
第１実施形態では回線速度が低下したときには、車載装置は、サーバ１０２へのセンサデータのアップロードを中断し、バッファリングする。車載装置は、回線速度が回復したときにバッファされたセンサデータをサーバ１０２に順次アップロードする。
【０１３５】
しかし、バッファリング用のメモリ容量にも限界があるため、バッファリング時間が長期になると、センサデータをそれ以上バッファリングすることができなくなる。古いデータに上書きすればメモリ容量は確保できるが、サーバ１０２にセンサデータ等をアップロードしない期間があまり長期になるとサーバ１０２が提供するサービスの内容に影響が及ぶ可能性がある。そこでこの実施形態では、センサデータのバッファリングを開始してから所定時間が経過すると、バッファリングされたセンサデータを、よりサイズの小さなサブセットに変換し、サーバ１０２に順次アップロードする。ここでのバッファリング期間は、バッファ部のバッファ長及びセンサデータ長により見積もるようにすることも１方法である。なお、このときのサブデータセットのサイズは、固定でもよいが、利用できる回線速度によって変化させてもよい。
【０１３６】
以下に述べる第２実施形態では、バッファリング状態４５２からバッファ送信状態４５４に車載装置の状態が遷移したときにも、センサデータのバッファリングは継続して行う。また第１実施形態とは異なり、バッファ送信状態４５４ではバッファリングされた３種類のセンサデータとともに、センサから収集されたセンサデータも同時にサーバ１０２にアップロードする。
【０１３７】
そのために必要な構成及びプログラム等について以下に説明する。
【０１３８】
［車載装置の構成］
図１５を参照して、この第２実施形態に係る、車両４８０に搭載される車載装置４９０は、図４に示す第１実施形態に係る車載装置１５０に変更を加えたものである。図１５を参照して、車載装置４９０は、図４のセンサデータ処理部１９０に代えて、センサデータ処理部１９０と同様にバッファリング機能を備えながら、バッファリング期間終了後には、バッファリングされていたセンサデータを低い回線速度でもアップロードできるような小さなデータ（サブデータセット）に変換し、パケット送信部２１６を介してサーバ１０２にアップロードする処理を行うセンサデータ処理部４９２を含むものである。
【０１３９】
センサデータ処理部４９２は、図４のセンサデータ処理部１９０において、回線速度及びバッファリング期間に基づいてセンサデータ処理部４９２の状態を図１４にしたがって遷移させるための状態制御部５１０と、状態制御部５１０が使用する、センサデータ処理部４９２の状態を示すフラグ５１４と、状態制御部５１０がバッファリング期間を計測するためのタイマ５１２と、バッファ入力制御部２０２の出力に接続され、パケット送信部２１６に与えられるパケットを一時保持しておくための、ＦＩＦＯ（先入れ先出し）バッファである送信用バッファ５１８とを追加し、図４のバッファ部２０４に代えて、リングバッファからなるバッファ部５００を含む。バッファ部５００はバッファ部２０４とは異なる構成であるが、後述するようにその機能及び使用方法はバッファ部２０４と同じである。
【０１４０】
センサデータ処理部４９２はさらに、図４のバッファ出力制御部２１２に代えて、状態制御部５１０及びシャドウィング検知部２１４に接続され、図１４の状態遷移にしたがってサーバ１０２にアップロードするデータをバッファ部５００から読出すためのバッファ出力制御部５１６と、状態制御部５１０から与えられる制御信号に応答し、図１４に示すサブセット送信状態４５６において、バッファ出力制御部５１６がバッファ部５００から読出すセンサデータを、よりデータ容量の小さなサブデータセットに変換するためのデータ変換部５０４と、いずれも状態制御部５１０からの制御信号により制御され、バッファリング状態４５２ではバッファ出力制御部５１６の出力を選択して送信用バッファ５１８に与え、サブセット送信状態４５６ではデータ変換部５０４の出力を選択して送信用バッファ５１８に与え、サブセット送信状態４５６ではバッファ出力制御部５１６の出力をデータ変換部５０４に与えてその変換後のデータを送信用バッファ５１８に与えるためのセレクタ５０６及び５０８とを含む。
【０１４１】
図１６にバッファ部５００の概略図を示す。バッファ部５００はリングバッファであって、バッファの先頭アドレスが最後尾のアドレスと関連付けられたメモリである。バッファ部５００は、書込アドレスを指す書込ポインタ５４０と、読出アドレスを示す読出ポインタ５４２とを持つ。通常、バッファ部５００が単なるバッファとして機能するときには、書込ポインタ５４０により示されるメモリロケーションにデータを書込、バッファ部５００を次のアドレスに進める。読出ポインタ５４２は、バッファ部５００に存在するデータの末尾を指している。バッファからデータを読出すときには、読出ポインタ５４２が指すメモリロケーションからデータを読出して、読出ポインタ５４２を次のアドレスに進める。
【０１４２】
こうして、バッファ部５００を読出ポインタ５４２が書込ポインタ５４０を追いかけるようにポインタを制御することで、バッファ部５００をリング状バッファとして用いることができる。
【０１４３】
この実施形態では、書込ポインタ５４０が進む方向を書込ポインタ５４０の前方、書込ポインタ５４０が進む方向と逆の方向を書込ポインタ５４０の後方と呼ぶことにする。すると、書込ポインタ５４０の後方に、書込ポインタ５４０に近い位置から順に領域５５０、５５２及び５５４を考えることができる。これらをそれぞれ図５に示す第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０として使用できる。
【０１４４】
バッファ部５００からのデータの読出しには、領域５５０、５５２及び５５４にそれぞれ読出ポインタ５４２、５４４及び５４６を用いる。これらポインタは、その領域にデータがフルに格納されている場合には各領域の末尾を指し、その領域の途中までデータが存在している場合にはそのデータを格納したメモリロケーションを指す。その領域にデータが存在しない場合にはポインタの値は例えばヌルに設定される。
【０１４５】
［センサデータ処理部４９２のプログラム構成］
図１７は、コンピュータを、センサデータ処理部４９２の状態を制御するように機能させるためのプログラムの制御構造を示す。このプログラムは、一定の間隔で繰返し起動される。
【０１４６】
図１７を参照して、このプログラムは、サーバ１０２との間のスループットを測定するステップ５６０と、ステップ５６０で測定されたスループットがしきい値より大きいか否かにより制御の流れを分岐させるステップ５６２と、ステップ５６２の判定が否定のときに、フラグの値が１かどうかにしたがって制御の流れを分岐させるステップ５６４とを含む。
【０１４７】
このプログラムはさらに、ステップ５６４の判定が否定のときにフラグの値が２又は０か、それ以外かを判定し、判定にしたがって制御の流れを分岐させるステップ５７０と、ステップ５７０の判定が肯定のときに、フラグを１に設定するステップ５７２と、ステップ５７２に続き、所定のバッファリング期間にタイマをセットしスタートしてこのプログラムの実行を終了させるステップ５７４と、ステップ５６４の判定が肯定のときに、ステップ５７４でスタートさせたタイマが満了したか否かを判定し、その結果にしたがって制御の流れを分岐させるステップ５６６と、ステップ５６６の判定が肯定のときに、フラグを３に設定しこのプログラムの実行を終了するステップ５６８とを含む。ステップ５７０の判定が否定のとき、及びステップ５６６の判定が否定のときにはこのプログラムの実行は終了される。
【０１４８】
このプログラムはさらに、ステップ５６２の判定が肯定であることに応答してフラグの値が１又は３か否かを判定し、その結果にしたがって制御の流れを分岐させるステップ５７８と、ステップ５７８の判定が肯定のときに、フラグを２に設定してこのプログラムの実行を終了するステップ５８０と、ステップ５７８の判定が否定であることに応答して、フラグの値が２か否かにしたがって制御の流れを分岐させるステップ５８２と、ステップ５８２の判定が肯定であることに応答して、バッファ部５００が空か否かにしたがって制御の流れを分岐させるステップ５８４と、ステップ５８４の判定が肯定であることに応答して、フラグを０に設定してこのプログラムの実行を終了させるステップ５８６とを含む。ステップ５８２の判定が否定のとき、及びステップ５８４の判定が否定のときにもこのプログラムの実行は終了する。
【０１４９】
図１８に、車載装置４９０がセンサデータを受信したときのセンサデータ処理部４９２の中のバッファ入力制御部２０２として機能するようコンピュータを動作させるプログラムの制御構造を示す。このプログラムは、センサデータが受信されるたびに起動される。図１８を参照して、このプログラムは、フラグの値が０又は２か、それ以外かを判定し、その結果により制御の流れを分岐させるステップ６２０と、ステップ６２０の判定が肯定のときに、受信したセンサデータを図１５の送信用バッファ５１８に格納してこのプログラムの実行を終了するステップ６２４と、ステップ６２０の判定が否定のときに、センサデータをバッファ部５００に格納して処理を終了するステップ６２２とを含む。
【０１５０】
図１９は、バッファ部５００及び送信用バッファ５１８に格納されたデータに基づき、センサデータ処理部４９２が図１４に示したどの状態にあるかにしたがって適切なデータを読出してパケットを生成しパケット送信部２１６に与えるよう、コンピュータを動作させるデータ処理プログラムの制御構造を示す。このプログラムは、一定間隔で繰返し起動される。
【０１５１】
図１９を参照して、このプログラムは、フラグの値が０、１、２、及び３のいずれであるかにしたがって制御の流れを分岐させるステップ６５０と、フラグの値が０であるときに、受信したセンサデータを送信用バッファ５１８から読出してパケット化し、パケット送信部２１６を介してサーバ１０２にアップロードしてこのプログラムの実行を終了するステップ６５２と、フラグの値が２のときに、バッファ部５００にバッファリングされたデータ（最高で３種類）をそれぞれ並行して読出し、パケット化してサーバ１０２にアップロードする処理を実行するステップ６５６と、フラグの値が３のときに、バッファ部５００にバッファリングしたセンサデータ（最高で３種類）をそれぞれ並行して読出すステップ６５８と、ステップ６５８で読出したデータをそれぞれより小さなサブセットに変換し、パケット化してサーバ１０２にアップロードしてこのプログラムの実行を終了するステップ６６０とを含む。フラグの値が１のときにはこのプログラムでは何も処理されない。
【０１５２】
［車載装置４９０の動作］
車載装置４９０は以下のように動作する。
【０１５３】
車載装置４９０の起動時にはフラグは０である（通常状態である）ものとする。
【０１５４】
−通常状態−
図１５を参照して、通常状態では、センサデータ収集部２００がセンサ機器１２２からセンサデータを収集し、バッファ入力制御部２０２に与える。バッファ入力制御部２０２は、センサデータを受けると、送信用バッファ５１８にそのセンサデータを与える。パケット送信部２１６は送信用バッファ５１８からセンサデータを読出し、パケット化してサーバ１０２にアップロードする。
【０１５５】
シャドウィングが発生し、パケット送信部２１６とサーバ１０２との間のスループットが低下し、しきい値以下となると、状態は図１４に示されたとおりバッファリング状態４５２に遷移する。すなわち、シャドウィング検知部２１４がパケット送信部２１６からのデータに基づいてシャドウィングの発生を検知すると、状態制御部５１０にその情報を与える。状態制御部５１０はこの信号に応答して、フラグ５１４の値を１に書き換え、タイマ５１２をスタートする。
【０１５６】
以上をプログラムの流れで見ると、図１８のプログラムが起動されると、ステップ６２０の判定が肯定となり、ステップ６２４の処理が実行される。図１９に示すプログラムが起動されると、ステップ６５０の判定により制御はステップ６５２に移動する。ステップ６５２で、送信用バッファ５１８に格納されているセンサデータがパケット送信部２１６により読出され、サーバ１０２にアップロードされる。図１７のプログラムが起動すると、ステップ５６０でスループットが測定された後、ステップ５６２の判定が否定となる。ステップ５６４の判定は否定なので、ステップ５７０の判定が行われる。ステップ５７０の判定は肯定となり、ステップ５７２でフラグが１に設定され、ステップ５７４でタイマがスタートされる。
【０１５７】
−バッファリング状態−
バッファリング状態４５２では、車載装置４９０は以下のように動作する。図１５を参照して、バッファ入力制御部２０２は、センサデータ収集部２００からセンサデータを受信するとバッファ部５００の書込位置にセンサデータを格納し、書込ポインタ５４０を１進める。スループットが改善しないとこの状態が継続する。タイマ５１２が満了しないうちにスループットが改善すると、センサデータ処理部４９２の状態はバッファ送信状態４５４に遷移する。バッファリング状態４５２のままタイマ５１２が満了すると、バッファリング状態４５２の状態はサブセット送信状態４５６に遷移する。
【０１５８】
以上をプログラムの制御の流れにしたがって見ると、図１７のプログラムが起動された際、ステップ５６０で測定されたスループットがしきい値以下であれば、ステップ５６２、５６４、５６６が実行される。タイマが満了しない間はステップ５６８が実行されず、タイマが満了するとステップ５６８が実行される。この処理が繰返される。一方、図１８に示すプログラムが実行されるたびに、制御はステップ６２０から６２２に移り、センサデータがバッファ部５００に格納される。この処理が繰返される。また、図１９に示すプログラムが実行されても、フラグが１なので何も処理されない。データは単にバッファ部５００に蓄積されるだけである。
【０１５９】
一方、タイマが満了しないうちにスループットがしきい値より大きくなると、図１７のプログラムでステップ５６２の判定が肯定となり、ステップ５７８、ステップ５８０の処理が実行され、フラグが２に設定される。すなわち、センサデータ処理部４９２の状態はバッファ送信状態４５４に遷移する。
【０１６０】
また、スループットが改善しないうちにタイマ５１２が満了すると、図１７のプログラムの実行時に、ステップ５６０、５６２、５６４を経てステップ５６６の判定が肯定となる。その結果、ステップ５６８が実行され、フラグが３に設定される。すなわち、センサデータ処理部４９２の状態はサブセット送信状態４５６（図１４）に遷移する。
【０１６１】
−バッファ送信状態−
バッファ送信状態４５４では、図１５に示すバッファ出力制御部５１６がバッファ部５００の領域５５０、５５２、及び５５４から（もしあれば）それぞれ最も後ろの（最も古い）センサデータを読出し、並行して送信用バッファ５１８に与える。一方、バッファ入力制御部２０２はバッファ部５００へのセンサデータのバッファリングを停止し、送信用バッファ５１８にデータを送信する。パケット送信部２１６は、送信用バッファ５１８に格納されたセンサデータ（バッファ入力制御部２０２からのものとバッファ部５００からのもの）の双方を順番に読出し、パケット化してサーバ１０２にアップロードする。バッファからのアップロードが完了すると、状態は通常状態４５０に戻る。
【０１６２】
これをプログラムの流れから見ると以下のようになる。フラグが２に設定されると、図１７のプログラムの実行時には、スループットがしきい値より大きい状態が続くと、ステップ５６０、５６２、５７８、５８２、５８４の順に処理が実行される。ステップ５８４において、バッファ部５００が空でないと判定されると、このプログラムの実行は終了する。バッファ部５００が空であると判定されるとフラグが０に設定される。すなわちこの場合にはセンサデータ処理部４９２は通常状態４５０に戻る。
【０１６３】
もしもバッファ部５００が空になる前にスループットが再度しきい値以下になり、その直後に図１７のプログラムが実行されると、ステップ５６０、５６２、５６４、５７０、５７２、５７４がこの順で実行される。この結果、フラグは１に設定され（センサデータ処理部４９２の状態はバッファリング状態４５２に戻り）、タイマがスタートする。
【０１６４】
−サブセット送信状態−
サブセット送信状態４５６では、図１５に示すセンサデータ処理部４９２は以下のように動作する。バッファ入力制御部２０２はバッファ部５００にセンサデータを格納する。バッファ出力制御部５１６は、バッファリング状態４５２のときと同様、バッファ部５００から最大で３種類のセンサデータを並行して読出し、セレクタ５０６に与える。セレクタ５０６は、サブセット送信状態４５６ではこのセンサデータをデータ変換部５０４に与える。データ変換部５０４はこのセンサデータを、よりサイズの小さいサブデータセットに変換し、それぞれセレクタ５０８に与える。セレクタ５０８はこのサブデータセットを送信用バッファ５１８に格納する。パケット送信部２１６がこのサブデータセットを送信用バッファ５１８から読出し、パケット化してサーバ１０２にアップロードする。
【０１６５】
この状態では、センサデータよりも小さいサイズのサブデータセットをサーバ１０２にアップロードするので、スループットが低くても車載装置４９０からセンサデータをサーバ１０２にアップロードできる。もちろんアップロードできるデータサイズが限定されるため、サーバ１０２にとって有用なデータのみをサブデータセットとして選択する。
【０１６６】
この状態でスループットがしきい値より大きくなると、センサデータ処理部４９２の状態はバッファ送信状態４５４に遷移し、バッファリングされたセンサデータがそのままアップロードされる状態になる。
【０１６７】
サブセット送信状態４５６におけるセンサデータ処理部４９２の動作を、プログラムの面から述べると以下のようになる。フラグは３である。もしもスループットが改善されないと、図１７に示すプログラムが実行されるたびに、ステップ５６０、５６２、５６４、５７０がこの順で実行される。フラグが３なのでステップ５７０の判定は否定となり、フラグの値は変化しない。途中でスループットが改善ししきい値より大きくなると、ステップ５６０、５６２、５７８、５８０の処理が実行され、フラグが２に設定され、センサデータ処理部４９２の状態はバッファ送信状態４５４に遷移する。
【０１６８】
一方、フラグの値が３である間、図１８のプログラムの実行のたびに、ステップ６２０、６２２が実行され、ステップ６２２でセンサデータがバッファ部５００に格納される。同様に図１９のプログラムも繰返し実行される。その実行のたびに、ステップ６５０、６５８、６６０の処理が実行され、バッファ部５００から読出されたセンサデータがサブデータセットに変換されてサーバ１０２にアップロードされる。
【０１６９】
フラグが２に変化すると、図１８のプログラムではステップ６２０、６２４が実行され、新たなセンサデータは送信用バッファ５１８に格納されることになる。図１９のプログラムでは、ステップ６５０、６５６が実行され、バッファ部５００からセンサデータが読出されてサーバ１０２にアップロードされる。この結果、バッファリングされていたデータが無駄になることなくサーバ１０２で利用され、サーバ１０２がより充実したサービスを提供できる。
【０１７０】
以上のようにこの実施形態に係る車載装置４９０では、バッファリング状態が所定時間以上継続すると、バッファリング状態４５２からサブセット送信状態４５６に状態が変化する。サブセット送信状態４５６では、新たなセンサデータがバッファ部５００に追加される一方、それより前にバッファ部５００に蓄積されていたデータが読出され、よりデータサイズの小さなサブデータセットに変換されてサーバ１０２にアップロードされる。車載装置４９０のセンサデータの一部を継続的にサーバ１０２にアップロードすることができるため、サーバ１０２では車載装置４９０を搭載した車両のデータをサービスに組入れることができる。その結果、サーバ１０２の提供するサービスを高品質にできる。
【０１７１】
（変形例）
上記した第２実施形態では、バッファリング状態４５２が所定時間以上継続したときに、車載装置の状態をバッファリング状態４５２からサブセット送信状態４５６に変化させた。そして、スループットが改善しない限り、このサブセット送信状態４５６を維持した。スループットが改善したときには、状態をサブセット送信状態４５６からバッファ送信状態４５４に遷移させた。しかしこの開示の実施形態は、そのような形態には限定されない。例えば図２０に示すように、状態がサブセット送信状態４５６であるときにスループットがしきい値より大きくなったら、直ちに通常状態４５０に状態を遷移させる実施形態も考えられる。こうすることで、サーバ１０２に対してリアルタイムのデータが送信可能になり、サーバ１０２はより充実したサービスを提供できる。この場合、サブセット送信状態４５６から通常状態４５０への遷移とともに、バッファ部５００に蓄積されていたセンサデータは全て破棄することになる。つまり、バッファ部５００をクリアする。データが破棄されることによりサーバ１０２での処理に若干の影響が生じる可能性があるが、時間の経過とともにその影響は小さくなり、やがて消滅する。一方、バッファ部５００を
クリアすることにより、シャドウィングが発生したときには、再度、バッファ部５００を利用できる。
【０１７２】
さらにまた、上記実施形態では、サブセット送信状態４５６を一つのみ採用している。しかしこの開示はそのような実施形態には限定されない。スループットに応じてサブセット送信状態４５６のような状態を複数段階設け、それらの間で状態を遷移させるようにしてもよい。既に述べたように、センサデータをより小さなサブデータセットに変換するとき、そのサブデータセットの大きさは、通信のスループットが大きくなれば大きく、小さくなれば小さくしてもよい。すなわち、変換後のデータサイズの、変換前のデータサイズに対する比は、スループットに対する単調増加関数である。スループットが小さくなれば、送信できるデータサイズは小さくなる。したがって、変換後のデータサイズを、スループットに対する単調増加関数で定めることにより、スループットの大きさにあわせたデータサイズで途切れなくセンサデータを外部装置に送信できる。
【０１７３】
（コンピュータによる実現）
図２１を参照して、車載装置４９０は実質的にはコンピュータ７５０を含むプロセッサであって、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７７０、ＣＰＵ７７０とコンピュータ７５０の各部との間のデータ及び命令の伝送経路となるバス７７２とを含む。コンピュータ７５０はさらに、いずれもバス７７２に接続されたＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）７７４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７７６、ハードディスク又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等からなる不揮発性の補助記憶装置７７８、無線通信により外部との通信を提供する無線通信部７８０、入出力インターフェイス（Ｉ／Ｆ）７８２、ユーザとの音声によるインタラクションを提供するための音声処理Ｉ／Ｆ７９０、及びＵＳＢメモリ７６２が着脱可能で、ＵＳＢメモリ７６２とコンピュータ７５０内の他の各部との通信を可能にするＵＳＢメモリポート７８４を含む。
【０１７４】
車載装置４９０はさらに、バス７７２に接続された、タッチパネル７５２、表示制御装置を含む液晶等のモニタ７５４、入出力Ｉ／Ｆ７８２に接続された車両の制御のための各種ＥＣＵ７５６及びＬｉＤＡＲ等の各種センサ７５８と、音声処理Ｉ／Ｆ７９０に接続されたスピーカ及びマイク７６０とを含む。ＲＯＭ７７４にはコンピュータ７５０の起動プログラム等が記憶されている。ＲＡＭ７７６はＣＰＵ７７０による処理の際に様々な変数を記憶するための作業領域として使用される。
【０１７５】
図１７から図１９に示す制御構造を持つプログラムは、例えば図２１のＵＳＢメモリ７６２に記憶されて流通し、補助記憶装置７７８により転送されＣＰＵ７７０により実行される。このプログラムは、実行時にはＵＳＢメモリ７６２からＵＳＢメモリポート７８４及びバス７７２を介してＲＡＭ７７６にロードされる。又はこのプログラムは、補助記憶装置７７８からバス７７２を介してＲＡＭ７７６にロードされる。ＵＳＢメモリ７６２からＵＳＢメモリポート７８４を介して補助記憶装置７７８にプログラムを保存することもできる。
【０１７６】
上記の実施形態及び変形例では、バッファ処理を開始するトリガとして、シャドウィングが発生したとき、又は、サーバから指示された条件を満たすようになったときを挙げたが、これに限定されない。車載装置は、常にセンサデータをバッファしてもよい。即ち、車載装置は、センサデータを取得すると、サーバに送信すると同時にバッファする。そして、車載装置は、発生していたシャドウィングが解消したとき、又は、サーバから指示された条件を満たさなくなったときに、センサデータの送信を停止し、バッファデータの送信を開始するようにしてもよい。
【０１７７】
上記では、車載装置が、サービスで要求される許容遅延時間に応じて、メモリ上に複数のバッファ領域を確保する場合を説明したが、これに限定されない。例えば、図１３に示すように、連続するアドレスに１つのバッファ領域を確保してもよい。図１３において、アドレスＭ０〜Ｍ１のデータ領域、アドレスＭ２〜Ｍ３のデータ領域、及びアドレスＭ４〜Ｍ５のデータ領域はそれぞれ、図５の第１バッファ２０６、第２バッファ２０８及び第３バッファ２１０に対応する。即ち、バッファ処理において、アドレスＭ０にセンサデータが書込まれる。記憶されているデータを右側にシフトしてから、次のデータがアドレスＭ０に書込まれる。アドレスＭ５に記憶されているデータは、次のデータをアドレスＭ０に書込む前に、破棄される（アドレスＭ５の左側のデータがアドレスＭ５に上書きされる）。並列アップロード時には、例えば、アドレスＭ１、Ｍ３及びＭ５が読出し開始アドレスとなり、上記した優先度にしたがって、順次左側のアドレスのデータが読出される。
【０１７８】
上記では、１つのセンサに関して、３種類のバッファを備える場合を説明したが、これに限定されない。車両が複数のセンサを備える場合には、車載装置は、センサ毎に３種類のバッファを備えることができる。その場合、センサ毎にバッファ部２０４（図４）を備えていても、１つのバッファ出力制御部２１２で、複数のセンサ間のリアルタイム性を考慮して、各バッファの優先度を設定し、並列アップロードしてもよい。
【０１７９】
上記では、センサデータのリアルタイム性に応じて、３種類のバッファを備える場合を説明したが、これに限定されない。センサデータのリアルタイム性に応じて、２種類のバッファを備えていても、４種類以上のバッファを備えてもよい。
【０１８０】
上記では、バッファデータを送信するとき、遅延時間を表す分類情報を付加して送信する場合を説明したが、これに限定されない。分類情報を付加すれば、サーバにおけるセンサデータの分類が容易になるが、センサデータにはセンサデータ取得情報が付加されるので、それを利用してリアルタイム性を判定する場合には、分類情報を付加しなくてもよい。例えば、車載装置及びサーバの時計を合わせておけば、サーバは、現在時刻と、受信したセンサデータのセンサデータ取得時刻とを比較して、受信したセンサデータのリアルタイム性を判定し、該当する領域（例えば、図６のリアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２）に記憶できる。
【０１８１】
上記の実施形態では、シャドウィングが解消したときに、バッファ入力制御部２０２がシャドウィング検知部２１４から送信開始指示を受信したことにより、バッファデータを送信している間、センサデータ収集部２００から出力されるセンサデータの送信が中断される場合を説明したが、これに限定されない。バッファデータを送信している間に、センサデータ収集部２００から出力されるセンサデータを送信してもよい。そのためには、シャドウィングが解消したときに、シャドウィング検知部２１４から送信開始指示をバッファ入力制御部２０２に出力しなければよい。センサデータ収集部２００から出力されるセンサデータと、バッファされていたセンサデータとを共に送信するには、バッファ入力制御部２０２とバッファ出力制御部２１２との間で、パケット送信部２１６にデータを出力するタイミングを調整すればよい。
【０１８２】
図４に関して説明したのと同様に、図９においても、１点鎖線で囲まれたバッファ入力制御部２０２、バッファ部２０４、バッファ出力制御部２１２、シャドウィング検知部２１４及びバッファ容量決定部２２０の機能を１又は複数の半導体集積回路で実現し、制御部１３０及びメモリ１２８（図２参照）とは別の構成として車載装置１５０に搭載してもよい。
【０１８３】
上記の第１変形例では、リアルタイム性毎（種類情報毎）の伝送遅延時間をサーバが算出する場合を説明したが、これに限定されない。車載装置が、伝送遅延時間を算出してもよい。例えば、サーバが、種類情報を含むパケットデータを受信すれば、その受信時刻を車載装置に送信し、車載装置が、該当するパケットデータの送信時刻、及びパケットに含まれるデータサイズ（センサデータ等）を記憶するようにすれば、車載装置は、送信したパケットデータのサーバでの受信時刻を用いて、リアルタイム性毎（種類情報毎）の伝送遅延時間を算出できる。また、車載装置は、並列アップロード時の回線速度を量子化して記憶することができる。したがって、その場合には、車載装置は、サーバからリアルタイム性毎（種類情報毎）の処理遅延時間及び許容遅延時間を受信すれば、各バッファに関する適切なバッファ容量を決定できる。
【０１８４】
上記では、インフラセンサから送信されるセンサデータには分類情報が付加されない場合、即ち、インフラセンサに関してはシャドウィングが発生しない場合を説明したが、これに限定されない。固定設置されているインフラセンサであっても、その周囲を走行する車両によってアンテナの送信電波が遮蔽され、シャドウィングが発生する可能性はある。したがって、車載装置と同様にインフラセンサにおいて、遅延時間に応じて複数種類のバッファを備え、シャドウィングが発生するとセンサデータをバッファし、シャドウィングが解消するとバッファデータに分類情報を付加し、遅延時間の短いデータを優先して並列アップロードするようにしてもよい。これにより、サーバ１０２は、インフラセンサから受信したセンサデータをより有効に利用することができる。
【０１８５】
さらに、上記第２実施形態のサブセット送信状態４５６では、データ変換部５０４がセンサデータをよりサイズの小さいサブデータセットに変換してそれをサーバ１０２に送信している。しかしこの開示はそのような実施の形態には限定されない。例えば、センサ機器１２２からセンサデータ収集部２００が取込むセンサデータのデータセットを、一部のみに限定してもよい。例えば、どのようなデータを選択するかはあらかじめ決められた優先順位にしたがって定めてもよいし、サーバ１０２と通信が可能なときにサーバ１０２からの指示にしたがって定めてもよい。こうすることで、サーバ１０２との回線速度が遅いときにも、サーバ１０２に最低限のセンサデータを送信し、サーバ１０２による運転支援に反映できる。
【０１８６】
以上、実施の形態を説明することによりこの開示を説明したが、上記した実施の形態は例示であって、この開示は上記した実施の形態のみに制限されるわけではない。この開示の範囲は、開示の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【０１８７】
１００    運転支援システム
１０２、１５２    サーバ
１０４    基地局
１０６、４３０、４８０    車両
１０８    ネットワーク
１１０  検知対象
１２０、１５０、４９０    車載装置
１２２    センサ機器
１２４    Ｉ／Ｆ部
１２６、１４４    通信部
１２８、１４２    メモリ
１３０、１４０    制御部
１３２、１４６    バス
１９０、４４０、４９２  センサデータ処理部
２００    センサデータ収集部
２０２    バッファ入力制御部
２０４    バッファ部
２０６    第１バッファ
２０８    第２バッファ
２１０    第３バッファ
２１２    バッファ出力制御部
２１４    シャドウィング検知部
２１６、２４２    パケット送信部
２１８、２４０    パケット受信部
２２０    バッファ容量決定部
２４４    フィルタ部
２４６    データベース
２４８    リアルタイムデータ領域
２５０    準リアルタイムデータ領域
２５２    非リアルタイムデータ領域
２５４    処理部
２５６    解析結果領域
２５８    パラメータ生成部
４５０  通常状態
４５２  バッファリング状態
４５４  バッファ送信状態
４５６  サブセット送信状態
５００  バッファ部
５０４  データ変換部
５０６、５０８  セレクタ
５１０  状態制御部
５１２  タイマ
５１４  フラグ
５１６  バッファ出力制御部
５１８  送信用バッファ
５４０  書込ポインタ
５４２、５４４、５４６  読出ポインタ
５５０、５５２、５５４  領域
３００、３０２、３０４、３０６、３０８、３１０、３１２、３１４、３５０、３５２、３５４、４００、４０２、４０４、４０６、４０８、４１０、４１２、４１４、４１６、５６０、５６２、５６４、５６６、５６８、５７０、５７２、５７４、５７８、５８０、５８２、５８４、５８６、６２０、６２２、６２４、６５０、６５２、６５６、６５８、６６０  ステップ
７５０  コンピュータ
７５２  タッチパネル
７５４  モニタ
７５６  各種ＥＣＵ
７５８  各種センサ
７６０  スピーカ及びマイク
７６２  ＵＳＢメモリ
７７０  ＣＰＵ
７７２  バス
７７４  ＲＯＭ
７７６  ＲＡＭ
７７８  補助記憶装置
７８０  無線通信部
７８２  入出力Ｉ／Ｆ
７８４  ＵＳＢメモリポート
７９０  音声処理Ｉ／Ｆ
Ｔ１    バッファ時間
Ｔ２    全バッファデータの送出所要時間
Ｔ３    伝送遅延時間
Ｔ４    処理遅延時間
ＴＡ１、ＴＡ２    許容遅延時間
ｔｓ    バッファ開始時刻
ｔｅ    処理完了時刻
Ｍ０、Ｍ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５    アドレス
【図１】
2020111134.tif 000003
【図２】
2020111134.tif 000004
【図３】
2020111134.tif 000005
【図４】
2020111134.tif 000006
【図５】
2020111134.tif 000007
【図６】
2020111134.tif 000008
【図７】
2020111134.tif 000009
【図８】
2020111134.tif 000010
【図９】
2020111134.tif 000011
【図１０】
2020111134.tif 000012
【図１１】
2020111134.tif 000013
【図１２】
2020111134.tif 000014
【図１３】
2020111134.tif 000015
【図１４】
2020111134.tif 000016
【図１５】
2020111134.tif 000017
【図１６】
2020111134.tif 000018
【図１７】
2020111134.tif 000019
【図１８】
2020111134.tif 000020
【図１９】
2020111134.tif 000021
【図２０】
2020111134.tif 000022
【図２１】
2020111134.tif 000023
【手続補正書】
【提出日】令和3年5月26日(2021.5.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
この開示のさらに別の局面に係る半導体集積回路は、車両に装備されたセンサにより検出されたセンサデータを外部装置に送信する車載装置に搭載される半導体集積回路であって、センサにより検出されたセンサデータを記憶するバッファ部と、所定条件が満たされるか否かを判定する判定部と、車載装置によるセンサデータの外部装置への送信を制御する制御部とを含み、制御部は、判定部により所定条件が満たされると判定されたことを受けて、車載装置に、センサにより検出されたセンサデータの外部装置への送信を中止させ、所定条件が満たされると判定部が判定した後に、所定条件が満たされないと判定部による判定が変化したことを受けて、車載装置に、バッファ部に記憶されているセンサデータを、センサデータの取得時刻と現在時刻との差である遅延時間に応じた優先度で、より遅延時間が小さいセンサデータをより優先して、外部装置に並列に送信させる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
センサデータをバッファリングしている時間がしきい時間より長くなると、センサデータ収集部がセンサから収集するセンサデータを、より小さなサブデータに限定し外部に送信する。スループットが低い時間が長時間にわたり継続したときでも、センサデータの中で、重要な一部のみを外部装置に送信できる
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
サーバ１５２は、サーバ１０２と同様に、車載装置１５０等の車載装置及びインフラセンサ等からセンサデータを受信し、受信したセンサデータのリアルタイム性に応じて、リアルタイムデータ領域２４８、準リアルタイムデータ領域２５０又は非リアルタイムデータ領域２５２に記憶する。その後、サーバ１５２は、適宜、サービスに応じてリアルタイムデータ領域２４８、準リアルタイムデータ領域２５０及び非リアルタイムデータ領域２５２からセンサデータを読出し、解析し、解析結果を解析結果領域２５６に記憶する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
ここでは、サーバ１０２は、各車両の車載装置に対して、道路地図上の所定範囲を特定するための情報（以下、エリア情報という）を送信し、車載装置１２０は、受信したエリア情報をメモリ１２８に記憶しているとする。ステップ３５０において、制御部１３０は、記憶しているエリア情報により特定される所定範囲（以下、指定エリアともいう）内に車両１０６が位置しているか否かを判定する。車両１０６が指定エリア内に位置していると判定された場合、制御はステップ３０２に移行する。そうでなければ、制御はステップ３５２に移行する。車両１０６が指定エリア内に位置しているか否かの判定は、ＧＰＳにより取得した車両１０６の位置情報を用いて行なうことができる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１２８
【補正方法】変更
【補正の内容】
【０１２８】
車両１０６が指定エリア内に位置していると判定された場合、ステップ３０２〜３１２が実行され、上記したように、シャドウィングが発生していれば、その間センサデータはバッファされ、シャドウィングが解消すると、バッファデータは並列アップロードされる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１２９
【補正方法】変更
【補正の内容】
【０１２９】
一方、車両１０６が指定エリア内に位置しないと判定された場合、ステップ３５２において、制御部１３０は、ステップ３０２と同様に、シャドウィング発生の有無を判定する。シャドウィングが発生していないと判定された場合、制御はステップ３０６に移行し、センサデータの送信が行なわれる。シャドウィングが発生していると判定された場合、制御はステップ３５４に移行する。ステップ３５４において、制御部１３０は、センサデータを送信もバッファもせずに、破棄する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１３０
【補正方法】変更
【補正の内容】
【０１３０】
これにより、車両１０６が指定エリア内を走行していれば、車両１０６に搭載されている車載装置１２０は、シャドウィングが発生している間、センサデータをバッファし、シャドウィングが解消すれば、バッファデータをサーバ１０２に送信する。車両１０６が指定エリア外を走行していれば、車両１０６に搭載されている車載装置１２０は、シャドウィングが発生すれば、センサデータを破棄し、センサデータの再送信も、センサデータのバッファも行なわない。したがって、サーバ１０２は、提供するサービスにとって重要なセンサデータを取得でき、車載装置１２０は、サーバ１０２にとってそれ程重要ではないセンサデータの再送信を抑制できる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１３１
【補正方法】変更
【補正の内容】
【０１３１】
図１２では、車両１０６が指定エリア内に位置するか否かを判定した後に、シャドウィング発生の有無を判定しているが、これに限定されない。例えば、シャドウィングの発生の有無を判定し、シャドウィングが発生している場合に、車両１０６が指定エリア内に位置するか否かを判定してもよい。また、バッファ処理の開始条件は、エリア情報で特定される指定エリア内に車両１０６が位置することに限定されず、それ以外の条件であってもよい。
【国際調査報告】
2020111134.tif 000024
2020111134.tif 000025
2020111134.tif 000026
2020111134.tif 000027