(57)【要約】【課題】車両の前方に障害物が存在する場合に、これが写るように車両から画像を撮影する。【解決手段】車両３ａが搭載する車両装置５ａは、ハンドルの切り始めとハンドルの切り返しに基づいて障害物５０の回避挙動を検知する。そして、車両装置５ａは、ハンドルの切り始め地点とハンドルの切り返し地点に対応して障害物回避の開始位置４１と終了位置４２を設定する。車両装置５ａは、車載のカメラ１２ａによって前方を動画撮影しており、障害物５０の回避挙動を検知すると、撮影済の動画データから開始位置４１と終了位置４２に対応するフレーム画像を抽出して画像配信サーバ２に送信する。車両装置５ａは、ハンドルの切り始めと切り返し後の異なる位置から障害物５０を撮影した２つの画像データを取得するので、障害物５０が良好に収まった構図の画像データを取得することができる。【選択図】図１
2020004017.tif 000002
【特許請求の範囲】
【請求項１】
車両の前方を撮影する撮影手段と、
前記車両の走行軌跡を取得する走行軌跡取得手段と、
前記取得した走行軌跡が所定の障害物回避パターンに適合するか否かを判定する走行軌跡判定手段と、
前記走行軌跡判定手段が、前記適合していると判定した場合に、前記走行軌跡に基づいて障害物回避の開始位置と終了位置を取得する位置取得手段と、
前記取得した開始位置と終了位置のそれぞれに対応して前記撮影した画像の画像データを取得する画像データ取得手段と、
前記取得した画像データを所定のサーバに送信する送信手段と、
を具備したことを特徴とする画像データ送信装置。
【請求項２】
前記走行軌跡判定手段は、前記取得した走行軌跡が、障害物の手前で旋回して当該障害物を回避した後、逆方向に旋回して元の走行経路に復帰する障害物回避パターンに適合するか否かを判定する、
ことを特徴とする請求項１に記載の画像データ送信装置。
【請求項３】
前記走行軌跡の上に所定の長さの線分を所定距離ごとに設定する線分設定手段と、
前記設定した線分と前記走行軌跡で囲まれた領域の面積を前記設定した線分ごとに取得する面積取得手段と、
前記取得した面積の前記走行軌跡に沿った変化率を取得する変化率取得手段と、
を具備し、
前記走行軌跡判定手段は、前記取得した面積と変化率の変化の前記走行軌跡に沿ったパターンを用いて前記障害物回避パターンを規定する、
ことを特徴とする請求項１、又は請求項２に記載の画像データ送信装置。
【請求項４】
ドライバによる前記車両のハンドル操作を検出するハンドル操作検出手段、を備え、
前記走行軌跡判定手段は、前記ハンドル操作検出手段が検出したハンドル操作のパターンを用いて障害物回避パターンに適合するか否かの判定を行う、
ことを特徴とする請求項１、又は請求項２に記載の画像データ送信装置。
【請求項５】
前記撮影手段は、前記車両の前方を動画撮影し、
前記画像データ取得手段は、前記動画を構成するフレーム画像を画像データとして取得する、
ことを特徴とする請求項１から請求項４までのうちの何れか１の請求項に記載の画像データ送信装置。
【請求項６】
所定時間ごとにカメラ位置情報を取得し、当該カメラ位置情報を取得した際に撮影されたフレーム画像に紐付ける位置紐付け手段と、
各フレーム画像に対して撮影時刻を紐付ける時刻紐付け手段と、
を具備し、
前記画像データ取得手段は、前記取得した開始位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得し、
更に、前記取得した終了位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得する、
ことを特徴とする請求項５に記載の画像データ送信装置。
【請求項７】
所定時間ごとにカメラ位置情報を取得し、当該カメラ位置情報を取得した際に撮影されたフレーム画像に紐付ける位置紐付け手段と、
各フレーム画像に対して撮影時刻を紐付ける時刻紐付け手段と、
前記取得した開始位置の直前に第１のオフセット位置を設定し、前記取得した終了位置の直後に第２のオフセット位置を設定するオフセット位置設定手段と、
を具備し、
前記画像データ取得手段は、前記第１のオフセット位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得し、
更に、前記第２のオフセット位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得する、
ことを特徴とする請求項５に記載の画像データ送信装置。
【請求項８】
前記画像データ取得手段は、前記フレーム画像群のうち、前記開始位置に対して最も新しい時刻に撮影されたフレーム画像を、前記終了位置に対して最も古い時刻に撮影されたフレーム画像を、画像データとして取得する、
ことを特徴とする請求項６、又は請求項７に記載の画像データ送信装置。
【請求項９】
車両の前方を撮影する撮影機能と、
前記車両の走行軌跡を取得する走行軌跡取得機能と、
前記取得した走行軌跡が所定の障害物回避パターンに適合するか否かを判定する走行軌跡判定機能と、
前記走行軌跡判定機能が、前記適合していると判定した場合に、前記走行軌跡に基づいて障害物回避の開始位置と終了位置を取得する位置取得機能と、
前記取得した開始位置と終了位置のそれぞれに対応して前記撮影した画像の画像データを取得する画像データ取得機能と、
前記取得した画像データを所定のサーバに送信する送信機能と、
をコンピュータで実現する画像データ送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ送信装置、及び、画像データ送信プログラムに関し、例えば、道路上にある障害物の状況を収集するものに関する。
【背景技術】
【０００２】
車両で走行している場合、前方での交通状態を把握したいとの要望がある。そこで、先行して走行している車両から交通状況をサーバに送信してもらい、これを後続の車両に配信する技術の開発が進められている。
このような技術に、例えば、特許文献１の「情報処理方法、車載装置および情報配信装置」がある。
【０００３】
この技術は、ドライバがブレーキをかけてから一定時間内にハンドルを所定方向に切り、その後、所定時間内にハンドルを反対方向に切った場合に、障害物を回避したと判断し、更に、急ハンドル前に前方カメラで障害物が撮影できたと判断された場合に、画像データをサーバ装置に送信するものである。
このように特許文献１記載技術では、ハンドル操作の挙動により障害物の回避を判断しているため、障害物回避の行動か否かに対する判断の精度が低かった。
【０００４】
また、特許文献１記載技術では、画像認識を用いないため、障害物の近くで写真内に障害物が収まるように撮影できない場合がある。
例えば、図１３に示すように、余裕を持って障害物を回避した場合、障害物から離れた位置で障害物を撮影するため、障害物を良好に撮影することができない。
【０００５】
図１３、障害物５０を撮影した場合に、適切に障害物５０を撮影することができない場合を例示した図である。
図１３（ａ）の場合は、車両３において早めにブレーキを作動させた場合を示している。障害物５０を回避するハンドル操作までの時間が長いため、障害物回避と判断されず、障害物５０を撮影することができない。
図１３（ｂ）の場合は、早めに障害物５０を回避した場合を示している。この場合、障害物５０までの距離が遠いため、障害物５０を良好に撮影することができない。
図１３（ｃ）の場合は、アクセル操作のみでブレーキ操作を行わない場合を示している。この場合、障害物回避と判断されず、障害物５０を撮影することができない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４８４５７８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、車両の障害物回避の操作をより精度良く判断して、前方の障害物を撮影することを目的とする。
【課題を解決するための手段】
【０００８】
（１）請求項１に記載の発明では、車両の前方を撮影する撮影手段と、前記車両の走行軌跡を取得する走行軌跡取得手段と、前記取得した走行軌跡が所定の障害物回避パターンに適合するか否かを判定する走行軌跡判定手段と、前記走行軌跡判定手段が、前記適合していると判定した場合に、前記走行軌跡に基づいて障害物回避の開始位置と終了位置を取得する位置取得手段と、前記取得した開始位置と終了位置のそれぞれに対応して前記撮影した画像の画像データを取得する画像データ取得手段と、前記取得した画像データを所定のサーバに送信する送信手段と、を具備したことを特徴とする画像データ送信装置を提供する。
（２）請求項２に記載の発明では、前記走行軌跡判定手段は、前記取得した走行軌跡が、障害物の手前で旋回して当該障害物を回避した後、逆方向に旋回して元の走行経路に復帰する障害物回避パターンに適合するか否かを判定する、ことを特徴とする請求項１に記載の画像データ送信装置を提供する。
（３）請求項３に記載の発明では、前記走行軌跡の上に所定の長さの線分を所定距離ごとに設定する線分設定手段と、前記設定した線分と前記走行軌跡で囲まれた領域の面積を前記設定した線分ごとに取得する面積取得手段と、前記取得した面積の前記走行軌跡に沿った変化率を取得する変化率取得手段と、を具備し、前記走行軌跡判定手段は、前記取得した面積と変化率の変化の前記走行軌跡に沿ったパターンを用いて前記障害物回避パターンを規定する、ことを特徴とする請求項１、又は請求項２に記載の画像データ送信装置を提供する。
（４）請求項４に記載の発明では、ドライバによる前記車両のハンドル操作を検出するハンドル操作検出手段、を備え、前記走行軌跡判定手段は、前記ハンドル操作検出手段が検出したハンドル操作のパターンを用いて障害物回避パターンに適合するか否かの判定を行う、ことを特徴とする請求項１、又は請求項２に記載の画像データ送信装置を提供する。
（５）請求項５に記載の発明では、前記撮影手段は、前記車両の前方を動画撮影し、前記画像データ取得手段は、前記動画を構成するフレーム画像を画像データとして取得する、ことを特徴とする請求項１から請求項４までのうちの何れか１の請求項に記載の画像データ送信装置を提供する。
（６）請求項６に記載の発明では、所定時間ごとにカメラ位置情報を取得し、当該カメラ位置情報を取得した際に撮影されたフレーム画像に紐付ける位置紐付け手段と、各フレーム画像に対して撮影時刻を紐付ける時刻紐付け手段と、を具備し、前記画像データ取得手段は、前記取得した開始位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得し、更に、前記取得した終了位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得する、ことを特徴とする請求項５に記載の画像データ送信装置を提供する。
（７）請求項７に記載の発明では、所定時間ごとにカメラ位置情報を取得し、当該カメラ位置情報を取得した際に撮影されたフレーム画像に紐付ける位置紐付け手段と、各フレーム画像に対して撮影時刻を紐付ける時刻紐付け手段と、前記取得した開始位置の直前に第１のオフセット位置を設定し、前記取得した終了位置の直後に第２のオフセット位置を設定するオフセット位置設定手段と、を具備し、前記画像データ取得手段は、前記第１のオフセット位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得し、更に、前記第２のオフセット位置の直前の前記カメラ位置情報と直後の前記カメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得する、ことを特徴とする請求項５に記載の画像データ送信装置を提供する。
（８）請求項８に記載の発明では、前記画像データ取得手段は、前記フレーム画像群のうち、前記開始位置に対して最も新しい時刻に撮影されたフレーム画像を、前記終了位置に対して最も古い時刻に撮影されたフレーム画像を、画像データとして取得する、ことを特徴とする請求項６、又は請求項７に記載の画像データ送信装置を提供する。
（９）請求項９に記載の発明では、車両の前方を撮影する撮影機能と、前記車両の走行軌跡を取得する走行軌跡取得機能と、前記取得した走行軌跡が所定の障害物回避パターンに適合するか否かを判定する走行軌跡判定機能と、前記走行軌跡判定機能が、前記適合していると判定した場合に、前記走行軌跡に基づいて障害物回避の開始位置と終了位置を取得する位置取得機能と、前記取得した開始位置と終了位置のそれぞれに対応して前記撮影した画像の画像データを取得する画像データ取得機能と、前記取得した画像データを所定のサーバに送信する送信機能と、をコンピュータで実現する画像データ送信プログラムを提供する。
【発明の効果】
【０００９】
本発明は、車両の走行軌跡が所定の障害物回避パターンに適合するか否かを判断することで、障害物回避の操作をより精度良く判断して、前方の障害物を撮影することができる。
【図面の簡単な説明】
【００１０】
【図１】画像配信システムの構成を示した図である。
【図２】車両装置のハードウェア的な構成を示した図である。
【図３】車速操作判定処理と舵角操作判定処理の例を説明するための図である。
【図４】障害物を回避する際の走行軌跡を示した図である。
【図５】面積Ｍを用いた走行軌跡の判定手法を説明するための図である。
【図６】走行軌跡判定処理の変形例を示す図である。
【図７】走行軌跡や面積Ｍの算出ロジックを説明するための図である。
【図８】動画データから画像データを取得する処理を説明するための図である。
【図９】画像データ送信処理の手順を説明するためのフローチャートである。
【図１０】車速操作判定処理と舵角操作判定処理の手順を説明するためのフローチャートである。
【図１１】走行軌跡判定処理の手順を説明するためのフローチャートである。
【図１２】送信対象画像データ選択処理の手順を説明するためのフローチャートである。
【図１３】従来例で障害物を撮影した場合の例を説明するための図である。
【発明を実施するための形態】
【００１１】
（１）実施形態の概要
図１に示したように、車両３ａが搭載する車両装置５ａは、ハンドルの切り始めとハンドルの切り返しに基づいて障害物５０の回避挙動を検知する。
そして、車両装置５ａは、ハンドルの切り始め地点とハンドルの切り返し地点に対応して障害物回避の開始位置４１と終了位置４２を設定する。
【００１２】
これと並行して車両装置５ａは、車載のカメラ１２ａによって前方を動画撮影しており、障害物５０の回避挙動を検知すると、撮影済の動画データから開始位置４１と終了位置４２に対応するフレーム画像を抽出して画像配信サーバ２に送信する。
【００１３】
一方、画像配信サーバ２は、車両装置５ａから受信した画像データを後続の車両３ｂ、３ｃが搭載する車両装置５ｂ、５ｃに配信する。
車両装置５ａは、ハンドルの切り始めと切り返し後の異なる位置から障害物５０を撮影した２つの画像データを取得するので、障害物５０が良好に収まった構図の画像データを取得することができる。
【００１４】
（２）実施形態の詳細
図１は、本実施形態の画像配信システム１の構成を示した図である。
画像配信システム１は、画像配信サーバ２、車両３ａ、３ｂ、３ｃ、…などから構成されている。
以下では、車両３ａ、３ｂ、３ｃ、…を特に区別しない場合は、単に車両３と記すことにする。他の構成要素についても同様とする。
【００１５】
車両３ａが搭載する車両装置５ａは、ドライバが行う車速操作と舵角操作、及び車両３ａの走行軌跡を監視することによりドライバが障害物５０の回避挙動を行ったか否かを判定する。
そして、障害物５０の回避挙動を行ったと判定した場合、車両装置５は、舵角操作と走行軌跡に基づいて、障害物５０を回避するためにドライバがハンドルを切り始めた位置とハンドルを切り返した位置を検出し、これらに対応する障害物回避の開始位置４１と終了位置４２を取得する。
【００１６】
このように、車両装置５ａは、舵角操作と走行軌跡に基づいてドライバによる車両３のハンドル操作を検出するハンドル操作検出手段と、当該検出したハンドル操作に基づいて、ドライバが行う障害物回避の開始位置と終了位置を取得する位置取得手段を備えている。
【００１７】
また、車両装置５ａは、自車両の前方を動画撮影するカメラ１２ａを備えている。カメラ１２ａは、車両装置５ａの前景を時系列的（時間的）に連続するフレーム画像にて撮影している。このように、車両装置５ａは、車両３の前方を動画撮影にて撮影する撮影手段を備えている。
【００１８】
そして、車両装置５ａは、開始位置４１と終了位置４２で撮影したフレーム画像を送信用の画像データとして動画データから抽出し、これらを画像配信サーバ２に送信する。
このように、車両装置５ａは、開始位置４１と終了位置４２のそれぞれに対応して撮影した画像の画像データを取得する画像データ取得手段と、当該画像データを所定のサーバに送信する送信手段を備えた画像データ送信装置として機能しており、また、当該画像データ取得手段は、動画を構成するフレーム画像を画像データとして取得している。
なお、これは一例であって、動画撮影ではなく、カメラ１２が開始位置４１と終了位置４２から所定時間間隔毎に静止画像を撮影するように構成することもできる。
【００１９】
車両装置５ａは、障害物回避の開始位置４１と終了位置４２における２枚の画像データを取得するため、障害物５０を良好な構図で（即ち、後続のドライバが視認しやすい大きさ・形態で）画像内に撮影することができる。
【００２０】
画像配信サーバ２は、画像データ提供プログラムに従って動作するサーバ装置であって、先行して障害物５０の存在する経路を走行した車両３ａの車両装置５ａから画像データを受信して記憶し、後続の車両３ｂ、３ｃの車両装置５ｂ、５ｃに配信するサーバ装置である。
【００２１】
このように、画像配信サーバ２は、画像データ送信装置から画像データを受信して記憶する画像データ記憶手段と、当該記憶した画像データを当該画像データを撮影した車両３の後続の車両３に配信する配信手段を備えている。
なお、画像配信サーバ２は、車両装置５ａから受信した２つの画像データを配信してもよく、また、障害物５０が良好に写っている画像データを選択して配信するように構成してもよい。
【００２２】
車両装置５ｂ、５ｃは、配信された画像データを用いて障害物５０の画像をディスプレイに表示する。これによって、車両３ｂ、３ｃのドライバは、障害物５０の状況を把握して、注意しながら走行することができる。
【００２３】
図２は、車両３が搭載した車両装置５のハードウェア的な構成の一例を示した図である。
車両装置５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８、車両位置検出部９、車両時刻検出部１０、記憶部１１、カメラ１２、通信制御部１５、走行距離検出部１６、センサ部２１、図示しないディスプレイ、音声出力部、及び入力部などをバスラインで接続したコンピュータによって構成されている。
【００２４】
ＣＰＵ６は、ＲＯＭ７や記憶部１１などの各種記憶部が記憶するプログラムに従って、各種の情報処理や車両装置５の各部の制御を行う。
本実施形態では、記憶部１１が記憶する画像データ送信プログラムに従って動作し、カメラ１２を制御して動画を撮影したり、動画データから送信用の画像データを抽出したり、通信制御部１５を制御して当該画像データを画像配信サーバ２に送信したりする。
【００２５】
ＲＯＭ７は、読み取り専用のメモリであって、例えば、ＣＰＵ６が車両装置５を起動するための基本的なプログラムやパラメータなどを記憶している。
ＲＡＭ８は、ＣＰＵ６が各種演算や情報処理、あるいは制御を行う際に必要なプログラムやデータを一時的に記憶するワーキングメモリであって、詳細は後述するが、例えば、動画データから画像データを抽出して取得するための作業用の動画データ、取得した送信用の画像データ、その他のデータを記憶する。
【００２６】
車両位置検出部９は、ＧＰＳ(Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を備えており、ＧＰＳやセンサ部２１が出力する各センサ値を用いて車両３の現在の車両位置を出力する。
ＧＰＳは、地球を周回する複数のＧＰＳ衛星が送信する時刻信号を受信し、これらの時間差から現在位置を検出するシステムである。
本実施形態では、例えば、車両位置検出部９は、ＣＰＵ６がハンドルの切り始め、及び切り返しの車両位置を特定する際の位置情報をＣＰＵ６に提供する。
【００２７】
車両時刻検出部１０は、現在時刻（西暦年や月日も含む）を計測してＣＡＮ（Ｃｏｎｔｒｏｌｌeｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に出力する。
ＣＰＵ６は、例えば、後述する車両３の進行方向の角度変化量φの算出など、各種の場面で時刻を用いた計算や処理を行うが、車両時刻検出部１０は、その際の時刻情報（時間情報）をＣＰＵ６に提供する。
【００２８】
センサ部２１は、ドライバの運転操作や車両３の走行状態を検知するセンサ群を備えている。
センサ群には、舵角センサ２２、アクセルセンサ２３、ブレーキセンサ２４、車速センサ２５、ヨーレートセンサ２６、その他図示しない、加速度センサ、各種温度センサなどが含まれている。
【００２９】
舵角センサ２２は、車両３の舵角を検出するセンサであって、車両３の舵角を取得する舵角取得手段として機能する。
アクセルセンサ２３は、ドライバが行うアクセルのオン・オフ操作（作動操作・停止操作）を検出し、ブレーキセンサ２４は、ドライバが行うブレーキのオン・オフ操作（作動操作・停止操作）を検出する。
【００３０】
アクセルセンサ２３やブレーキセンサ２４は、ドライバによる車速操作を検出する車速操作検出手段として機能しており、車両装置５は、アクセルセンサ２３とブレーキセンサ２４が検出するオン・オフ操作の検出値によってドライバが行う車速操作（加速操作・減速操作）を検出する。
【００３１】
車速センサ２５は、車軸の回転数に比例して発生するパルス信号などからを検出し、加速度センサは、ピエゾ抵抗などから車両の加速度を検出する。
ヨーレートセンサ２６は、車両３のヨーレートを検出してＣＰＵ６に出力する。
後述するように、ＣＰＵ６は、車速センサ２５が出力する車速とヨーレートセンサ２６が出力するヨーレートを用いて車両３の走行軌跡を計算する。
【００３２】
記憶部１１は、半導体装置やハードディスクなどで構成された大容量の記憶媒体を備えており、画像データ送信プログラムやその他のプログラム、及びカメラ１２が撮影した動画データやその他のデータを記憶している。
また、動画データは、容量が大きくなりがちなため、これに対処するために、記憶部１１は、仮想のメモリ空間をＣＰＵ６に提供することも可能である。
【００３３】
画像データ送信プログラムは、ＣＰＵ６に対して、以下に述べる画像データ送信機能や、画像配信サーバ２が送信してきた画像データを用いて画像をディスプレイに表示する機能をＣＰＵ６に発揮させる。
【００３４】
カメラ１２は、ＣＣＤ（Ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅｓ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ−ｏｘｉｄｅ−ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などで構成されたイメージセンサを備えた動画撮影部１７と、カメラ１２の位置を検出して出力するカメラ位置検出部１８、及びカメラ１２で検出した現在時刻を出力するカメラ時刻検出部１９などを備えている。
【００３５】
動画撮影部１７は、車両前方の景色を所定のフレームレートによるフレーム画像によって動画撮影する。
動画撮影部１７は、所定の画像圧縮技術を用いた動画処理によって、時系列的に隣接する複数のフレーム画像群を一体的に圧縮した画像データを生成する。
これに対し、ＣＰＵ６は、当該画像データに所定の演算を施すことにより個々のフレーム画像を復元して、後述のフレーム画像の選択・取得などの処理を行う。
【００３６】
カメラ位置検出部１８とカメラ時刻検出部１９は、カメラ１２が独自の回路構成によって、車両位置検出部９と車両時刻検出部１０から独立して、カメラ１２の現在位置と現在時刻を計測して出力する。
【００３７】
動画撮影部１７は、フレーム画像を生成する際に、カメラ時刻検出部１９が検出した現在時刻をフレーム画像に付与して紐付けるとともに、所定時間ごとにカメラ位置検出部１８が検出した現在位置をフレーム画像に付与して紐付ける。
このように車両装置５は、所定時間ごとにカメラ位置情報を取得し、当該カメラ位置情報を取得した際に撮影されたフレーム画像に紐付ける位置紐付け手段と、各フレーム画像に対して撮影時刻を紐付ける時刻紐付け手段を備えている。
なお、本実施形態では、カメラ１２は、動画を撮影することとしたが、連続する静止画を撮影するように構成してもよい。
【００３８】
通信制御部１５は、例えば、インターネットなどの通信ネットワークに接続し、画像配信サーバ２やその他のサーバ装置と通信する。
ＣＰＵ６は、通信制御部１５を制御することにより、画像配信サーバ２に画像データを送信したり、画像配信サーバ２が配信する画像データを受信したりする。
【００３９】
走行距離検出部１６は、車両３の走行距離を検出する。後述するように、ＣＰＵ６は、走行軌跡判定処理において、ドライバがハンドルを切り始めてから車両３の走行距離が後述の回避最大距離Ｙに達したか否かを判定するのに走行距離検出部１６が出力する走行距離を用いる。
【００４０】
入力部は、例えば、タッチパネル、キースイッチ、音声入力装置などの入力装置で構成されており、ドライバなどが車両装置５に対して経路探索に必要な目的地の入力などの指示や情報を入力するための入力手段を提供する。
これらの入力装置のうち、タッチパネルは、ディスプレイの表面に配置され、ディスプレイが表示するソフトキーに対するドライバなどの選択をタッチの検知により検出してＣＰＵ６に通知する。
【００４１】
音声出力部は、例えば、複数のスピーカで構成され、「前方に故障車両があります」などと音声案内を出力するほか、ラジオの放送を音声出力することができる。
ディスプレイは、車両の運転席付近に設置された小型のディスプレイであって、入力画面や現在位置画面などの各種画面のほか、画像配信サーバ２が送信してきた画像データ（先行する車両３が障害物５０付近を撮影したもの）による障害物５０の画像などを表示する。
【００４２】
次に、車両装置５が行う各処理について詳細に説明する。
車両装置５は、車速・舵角操作判定処理、及び、走行軌跡判定処理を行うことにより、車両３の挙動が障害物５０を回避するものであったか否かを判定する。
そして、車両３の挙動が障害物５０を回避するものであったと判定した場合、車両装置５は、舵角操作と走行軌跡に基づいてドライバのハンドル操作を検出し、これに基づいて障害物回避の開始位置４１と終了位置４２を取得する。
なお、車両装置５は、車速・舵角操作判定処理によって、ドライバのハンドル操作による障害物５０の回避を仮判定し、走行軌跡判定処理によって、確定判定する。
【００４３】
より詳細には、車速・舵角操作判定処理では、車速操作の判定と、舵角操作の判定を行うようになっている。
すなわち、車速操作の判定では、車両装置５は、ドライバがアクセルをオフした後にブレーキをオンした場合、又は、アクセルをオフした後、再度アクセルをオンした場合に判定条件に適合すると判断する。この車速操作は、前方に障害物５０を視認した場合に、ドライバが行う典型的な操作であるため、判定条件とした。
【００４４】
車速操作判定条件に適合した場合、車両装置５は、次の舵角操作の判定に移行する。
すなわち、車両装置５は、舵角の大きさによってドライバによるハンドル操作を検知し、ドライバがハンドルを切った後、ハンドルを切り返した（戻した）か否かを判定する。
このハンドル操作は、障害物５０を回避するためにドライバが行う典型的な操作であるため、判定条件とした。
なお、車両装置５が備えるハンドル操作検出手段は、舵角の変化量が所定値以上となった場合に、ハンドルの切り始めを検出し、ハンドルの切り始めを検出した後に、舵角の変化量が所定値以下となった場合に、ハンドルの切り返しを検出する。
車速操作、舵角操作の両判定条件に適合した場合に、車両装置５は、次の走行軌跡判定処理に移行する。
車速操作、舵角操作の両判定条件に適合しなかった場合には、最初に戻って同操作の判定処理を繰り返す。
【００４５】
走行軌跡の判定では、車両装置５は、車両３の走行軌跡を算出して取得し、これを確認することにより、車両３が障害物５０の手前で旋回してこれを回避すると共に、回避後に障害物５０の後方で逆方向に旋回して元の走行経路（同一方向の同一車線、又は、同一方向の別車線）に復帰したか否かを判定する。
【００４６】
このように、車両装置５は、車両３の走行軌跡を取得する走行軌跡取得手段と、当該取得した走行軌跡が所定の障害物回避パターン（障害物の手前で旋回して当該障害物を回避した後、当該障害物の後方で逆方向に旋回して元の走行経路に復帰するパターン）に適合するか否かを判定する走行軌跡判定手段を備えている。
【００４７】
車速・舵角操作判定処理に適合した場合、車両装置５は、走行軌跡の変化からドライバのハンドル操作による障害物回避の開始位置４１と終了位置４２を取得し、これらの位置で撮影した画像データを画像配信サーバ２に送信する。
このように、車両装置５が備える送信手段は、走行軌跡判定手段が適合すると判定した走行軌跡で撮影手段が撮影した画像データを送信する。
なお、車両装置５は、車速・舵角操作判定処理によって、ドライバのハンドル操作による障害物５０の回避を仮判定し、走行軌跡判定処理によって、確定判定する。
【００４８】
以上の処理では、車速・舵角操作判定処理により障害物回避の仮判定を行い、その後、走行軌跡判定処理において、より正確な障害物回避判定と、開始位置４１と終了位置４２を取得するものである。
これに対し、走行軌跡判定処理は行わず、車速・舵角操作判定処理における車速操作、舵角操作の両判定条件に適合した場合に障害物回避が行われたと判断し、舵角操作の判定に基づいてハンドルの切り始めと切り返しの位置を特定し、これらを開始位置４１と終了位置４２としてもよい。
更に、車速操作の判定も省略し、舵角操作の判定条件に適合した場合に、ハンドルの切り始めと切り返しの位置を特定し、これらを開始位置４１と終了位置４２としてもよい。
【００４９】
図３の各図は、車速・舵角操作判定処理を説明するための図である。
図３（ａ）〜（ｃ）は、従来例として説明した図１３（ａ）〜（ｃ）に対応している。
図３（ａ）は、アクセルをオフした後（図示せず）、早めにブレーキをオンし、その後障害物５０を回避した例を示している。この例の場合、アクセルオフとブレーキオンを続けて行っているので、車速操作の判定条件を満たして（適合して）いる。また、ドライバがハンドルを切った後、ハンドルを切り返しているので、舵角操作の判定条件も満たして（適合して）いる。
そのため、車両装置５は、更に、走行軌跡判定処理を行い、これに適合した場合、ハンドル切り始めの地点とハンドル切り返しの地点を走行軌跡の変化から特定し、これらの位置をそれぞれ開始位置４１と終了位置４２に設定する。
この例では、開始位置４１が障害物５０の正面に位置するため、車両装置５は、開始位置４１にて良好な画像データを取得することができる。
【００５０】
なお、車両装置５は、後述するように、車速・舵角操作判定処理において、車速操作の判定を行ってから舵角操作の判定を行うまでに制限時間を設けているが、当該制限時間を長めに設定しておくことで、車両装置５は、開始位置４１と終了位置４２を取得することができる。
【００５１】
このように、車両装置５が備える位置取得手段は、車速操作検出手段が減速操作を検出した後、ハンドル操作検出手段が（舵角と走行軌跡から）ハンドルの切り始めを検出した位置に基づいて開始位置を取得し、ハンドル操作検出手段が（舵角と走行軌跡から）ハンドルの切り始めを検出した後に、ハンドルの切り返しを検出した位置に基づいて終了位置を取得している。
【００５２】
図３（ｂ）は、アクセルをオフした後（図示せず）、ブレーキをオンし、その後早めに障害物５０を回避した例を示している。
この場合、車速操作と舵角操作の両判定条件を満たす、走行軌跡判定処理の適合を条件に、車両装置５は、走行軌跡から特定したハンドルの切り始めと切り返しの地点に開始位置４１と終了位置４２を設定する。
開始位置４１は、障害物５０から離れているが、終了位置４２は、障害物５０に近いため、終了位置４２にて良好な画像データを取得することができる。
【００５３】
図３（ｃ）は、ブレーキをオンせずに障害物５０を回避した例を示している。
この場合も、車速操作と舵角操作の両判定条件を満たすので、走行軌跡判定処理の適合を条件に、車両装置５は、走行軌跡から特定したハンドルの切り始めと切り返しの地点に開始位置４１と終了位置４２を設定する。
そして、車両装置５は、これらの位置に対応する画像データを取得することができる。
【００５４】
以上の例では、ハンドルの切り始めの地点と切り返しの地点に開始位置４１と終了位置４２を設定したが、開始位置４１の直前と終了位置４２の直後の位置で画像データを取得する変形例が可能である。
その場合は、開始位置４１から直前方向に所定距離だけオフセットした位置と、終了位置４２から直後方向に所定距離だけオフセットした位置で画像データを取得する。
【００５５】
次に、走行軌跡判定処理について説明する。
図４の各図は、車両３が障害物５０を回避する際の走行軌跡３１を示している。車両３の進行方向は、点Ｂから点Ａに向かう方向とする。
車両装置５は、所定長さの線分ＡＢを走行軌跡３１において所定距離ｚ［ｍ］ごとに設定する。線分ＡＢの長さや所定距離ｚの値は、実験などにより設定されている。
【００５６】
車両装置５は、線分ＡＢに対して左側に形成された領域の面積Ｍを負の面積とし、右側に形成された領域の面積Ｍを正の面積とする。なお、進行方向に向かって左側を左側とし、右側を右側とする。
このように、車両装置５は、走行軌跡３１の上に所定の長さの線分ＡＢを所定距離ごとに設定する線分設定手段と、当該線分ＡＢと走行軌跡３１で囲まれた領域の面積Ｍを設定した線分ＡＢごとに取得する面積取得手段を備えている。
【００５７】
以上のように線分ＡＢと面積Ｍを定義すると、図４（ａ）に示した直線シーンでは、面積Ｍは、線分ＡＢと走行軌跡３１がほぼ一致するため、ほぼ０に近い小さい値となる。
そして、図４（ｂ）に示したように、障害物５０の手前でハンドルを切って右旋回するシーンでは、負の面積が増大していく。
更に、図４（ｃ）に示したように、障害物５０を回避してハンドルを切り返すシーンでは、走行軌跡３１の左側の面積が縮小していき、右側の面積も形成されるため、面積Ｍは、０に近づいていく。
以上は、障害物５０を右回避（障害物５０の右側を通行する回避をいう）する場合であり、左回避（障害物５０の左側を通行する回避をいう）する場合は、面積Ｍの符号が逆転する。
【００５８】
このように、面積Ｍの変化は、ハンドル操作に対応しているため、ハンドル操作の判定に利用することができる。
更に、車両装置５は、面積Ｍの変化をハンドル操作の判定に用いるほか、面積Ｍの微分値ΔＭの変化も合わせて判定に利用する。
【００５９】
微分値ΔＭは、複数の線分ＡＢによって形成される複数の面積Ｍについて、隣接する面積Ｍの差分をとったもので定義する。なお、差分は、進行方向に対して新しい面積Ｍから古い面積Ｍを引くことにする。これによって、車両装置５は、走行軌跡３１に沿った微分値ΔＭの変化を取得する。
このように、車両装置５は、面積Ｍの走行軌跡３１に沿った変化率を取得する変化率取得手段を備えている。
【００６０】
図５の各図は、面積Ｍを用いた走行軌跡３１の判定手法を説明するための図である。
走行軌跡３１の判定により、障害物５０の回避するためのドライバのハンドル操作を判定することができる。
【００６１】
図５（ａ）は、車両３が障害物５０を右回避する場合の車両３の挙動を示している。
ドライバは、障害物５０の手前でハンドルを右に切り、障害物５０をかわしながらハンドルを切り返す。そして、障害物５０を超してからハンドルを左に切り、本来の走行経路に復帰しながら、ハンドルを切り返す。
当該ハンドル操作により、車両３は、障害物５０の手前で右に旋回し、障害物５０を避けて正面を向く。そして、障害物５０を超してから左に旋回し、正面方向に向きながら本来の走行経路に復帰する。
【００６２】
以上のハンドル動作に合わせて、面積Ｍは、グラフ５５の実線で示したように増減する。即ち、ハンドルの切り始めで面積は負の方向に増大し、ハンドルを逆方向に切り始めると０に収束する。
そして、障害物５０を超えて走行経路に復帰するためにハンドルを切り始めると正の方向に増大し、ハンドルを逆方向に切り返すと０に収束する。
【００６３】
一方、面積Ｍの微分値ΔＭは、グラフ５５の波線で示したように、面積Ｍよりも位相が遅れて増減する。
このように、面積Ｍと微分値ΔＭを組み合わせることにより、障害物回避の挙動の特徴を適切に抽出することができる。
【００６４】
表５６は、障害物回避を行う課程における面積Ｍと微分値ΔＭの変化を表したものである。
本実施形態では、当該課程を５つの課程に分類した。
第１の課程は、障害物５０を避けるためにハンドルを右側に切り始める課程であり、面積Ｍの符号は０から負に転換し、微分値ΔＭの符号は負となる。なお、表５６では、正の符号を＋で表し、負の符号を−で表してある。
第２の課程は、ハンドルを戻す課程であり、面積Ｍの符号は負、微分値ΔＭの符号は正に転換する。
【００６５】
第３の課程は、ハンドルを切り返して車両３が正面を向く課程であり、面積Ｍの符号は正に転換し、微分値ΔＭの符号は正となる。
第４の課程は、障害物５０の回避を終えて、ハンドルを左に切る課程であり、面積Ｍの符号は正となり、微分値ΔＭの符号は負に転換する。
第５の課程は、本来の走行経路に戻るためにハンドルを切り返す課程であり、面積Ｍは０に収束し、微分値ΔＭの符号は負となる。
【００６６】
このように、車両３が障害物５０を右回避する場合、面積Ｍと微分値ΔＭの符号の組合せ（Ｍの符号、ΔＭの符号）は（−、−）、（−、＋）、（＋、＋）、（＋、−）、（−、−）の順列をなぞって変化する。
このパターンが、車両３が障害物５０を右回避するための右回避における障害物回避パターンであり、車両装置５は、面積Ｍと微分値ΔＭの符号の変化を監視して、変化のパターンが右回避における障害物回避パターンに適合するか否かを判定する。
このように、車両装置５が備える走行軌跡判定手段は、面積（面積Ｍ）と変化率（微分値ΔＭ）の走行軌跡３１に沿った変化のパターンを用いて障害物回避パターンを規定している。
【００６７】
ところで、ハンドル操作が大きいほど微分値ΔＭが大きくなるため、微分値ΔＭの大きさを判定することにより、ドライバがどの程度、単位距離当たりに大きくハンドルを切ったかを検出することができる。
また、障害物５０を回避する場合、高速道路での追い越しなどとは異なる典型的な回避距離が存在する。
そこで、車両装置５は、更に、判定精度を高めるために、回避最大距離Ｙと、微分値ΔＭの閾値を判定条件に加えている。
【００６８】
回避最大距離Ｙは、車両装置５が障害物５０の回避を開始してから、本来の走行経路に復帰するまでの距離の上限値であり、車両装置５は、回避に要した走行距離が回避最大距離Ｙ以下であることを適合条件としている。回避最大距離Ｙの値は、実験などを用いて設定されている。
【００６９】
一方、微分値ΔＭの閾値は、第１の課程では−０．２５以下、第２の課程では０．５以上、第３の課程では０．５以上、第４の課程では−０．２５以下、第５の課程では、−０．１２５以下としている。これらの値は、実験などにより設定したものである。車両装置５は、これらの条件の全てが満たされることを要求している。
【００７０】
以上のようにして、障害物回避パターン、回避最大距離Ｙ、微分値ΔＭの閾値の条件を満たした場合、車両装置５は、面積Ｍが概略０で微分値ΔＭが負の位置を開始位置４１に設定し、面積Ｍが概略０で微分値ΔＭが正の位置を終了位置４２に設定する。
【００７１】
図５（ｂ）は、車両３が障害物５０を左回避した場合の車両３の挙動を示している。
グラフ５７に示したように、左回避の場合の挙動は、右回避の符号を反転した挙動となる。
左回避の場合の障害物回避パターンにおける面積Ｍと微分値ΔＭの符号の組合せは、表５８に示したように、（＋、＋）、（＋、−）、（−、−）、（−、＋）、（＋、＋）の順列をなぞって変化する。
回避最大距離Ｙと微分値ΔＭの閾値は、右回避の場合と同じである。
【００７２】
以上のように、左回避では、車両装置５は、障害物回避パターン、回避最大距離Ｙ、微分値ΔＭの閾値の条件を満たした場合、面積Ｍが概略０で微分値ΔＭが正の位置を開始位置４１に設定し、面積Ｍが概略０で微分値ΔＭが負の位置を終了位置４２に設定する。
【００７３】
図６は、走行軌跡判定処理の変形例を示す図である。
先の例では、線分ＡＢと走行軌跡３１が囲む領域の面積Ｍと、これの微分値ΔＭのパターンをマッチングした。
これに対し、本変形例では、車両３のハンドル操作による舵角θが変化するパターンを変形例用の障害物回避パターンにマッチングさせる。
【００７４】
図６（ａ）に示したように、走行方向に対して右側の舵角を正、左側の舵角を負とすると、右折する場合は、まず、＋θにハンドルを切ってから−θにハンドルを切り返す。
これに対して障害物５０を右回避する場合は、図６（ｂ）に示したように、＋θ→−２θ→＋θとハンドルを切る。左回避する場合は、−θ→＋２θ→−θとハンドルを切る。ここで、本変形例における舵角θは、所定の閾値以上の値である。
本変形例によれば舵角θの変化の推移が、上記した侵害回避パターン（＋θ→−２θ→＋θ、−θ→＋２θ→−θ）に適合するか（一致するか）否かにより、単なる右折と回避挙動を識別することができる。
このように、本変形例では、車両装置５が備える走行軌跡判定手段は、ハンドル操作検出手段が検出したハンドル操作のパターンを用いて障害物回避パターンに適合するか否かの判定を行う。
【００７５】
図７は、走行軌跡３１や面積Ｍの算出ロジックを説明するための図である。
図７（ａ）は、走行軌跡の算出ロジックを示している。車両装置５は、走行しながら、車速センサ２５、ヨーレートセンサ２６、車両時刻検出部１０から、それぞれ、車速、ヨーレート、時刻を取得して走行軌跡３１を計算する。
丸印で囲んだ黒三角印は、それぞれ、時刻Ｔ０、Ｔ１、Ｔ２における車両３の位置を表しており、黒三角印の頂点は、車両３の正面方向を表している。
【００７６】
走行軌跡判定処理は、Ｔ０の位置から後述するベクトルＬ０、Ｌ１、…を加算していくことにより走行軌跡３１を形成する。走行軌跡３１の形状が分かればよいため、Ｔ０での位置は任意でよい。そこで、車両装置５は、時刻Ｔ０における車両３の位置を車両位置検出部９から取得するなどして適当に設定する。
【００７７】
次に、車両装置５は、時刻Ｔ１において、時刻Ｔ０におけるヨーレートに時刻差（Ｔ１−Ｔ０）を乗じて車両３の角度変化量Δφ０を算出し、更に、Ｔ０における車速に時刻差（Ｔ１−Ｔ０）を乗じて車両３の移動距離ｋ０を算出する。
【００７８】
そして、車両装置５は、方向が角度変化量Δφ０で、長さがｋ０のベクトルＬ０を時刻Ｔ０から時刻Ｔ１に至る車両３の走行軌跡とする。
以下、車両装置５は、上記の処理を時刻Ｔ１、Ｔ２、…で繰り返し、ベクトルＬ１、Ｌ２、…を加算して（つなぎ合わせて）走行軌跡３１を取得する。
【００７９】
図７（ｂ）は、面積Ｍの算出ロジックを説明するための図である。
車両装置５は、地点Ｂから地点Ａに至る走行軌跡３１の各点ｘ１、ｘ２、…、ｘｎから線分ＡＢに対して波線で示した垂線を設定する。なお、各点ｘｉ（ｉ＝１、２、…、ｎ）の間隔は、垂線の間隔が等間隔となるようにする。
【００８０】
垂線が等間隔なため、走行軌跡３１と線分ＡＢで囲まれた領域の面積は、概略比例した値となる。また、長さの加算は計算コストが低いため、車両装置５は、軌跡ＡＢの各点ｘｉから線分ＡＢに垂らした垂線の長さの総和を面積Ｍと見なす。
ここで、線分ＡＢの左側の垂線の長さの符号を負とし、右側の垂線の長さの符号を正とする。これにより、線分ＡＢの左側の面積Ｍは負となり、右側の面積Ｍは正となる。
【００８１】
図８は、車両装置５が動画データから画像データを取得する処理を説明するための図である。
カメラ１２の動画撮影部１７は、光学系により撮像面に投影された像を所定の時間間隔（フレームレート）で読み込むことにより、時系列的にフレーム画像を生成し、これらを圧縮処理して動画データを生成している。
【００８２】
図８は、動画撮影部１７が生成したフレーム画像を模式的に表しており、図示したように古いものから新しいものへ、時系列順（撮影した時刻順）に並べてある。
各フレーム画像には、撮影した時刻を表す時刻情報ｔｎ、ｔｎ＋１、ｔｎ＋２、…、ｔｎ＋ｍ、ｔｎ＋ｍ＋１、…ｔｎ＋２ｍが付与されている。
これは、カメラ時刻検出部１９が出力する現在時刻を動画撮影部１７がフレーム画像に付与したものであり、当該フレーム画像の撮影時刻を表している。
【００８３】
また、フレーム画像には、ｍ枚ごとに撮影された位置を表す位置情報ｇｎ、ｇｎ＋ｍ、…が付与されている。
これは、カメラ位置検出部１８が出力する現在位置を動画撮影部１７がｍ枚ごとのフレーム画像に付与したものであり、当該フレーム画像の撮影位置を表している。
【００８４】
このように、カメラ１２は、フレーム画像に間欠的に位置情報を紐付けて出力するため、車両装置５は、開始位置４１や終了位置４２で撮影されたフレーム画像をピンポイントで特定することができない。これは、カメラ１２の仕様によるものである。
【００８５】
そのため、車両装置５は、次のようにして、障害物回避の開始位置４１、終了位置４２の各位置に対応するフレーム画像を送信用の画像データとして動画データから選択することにより取得する。
例えば、開始位置４１に対応する画像データを取得する場合、車両装置５は、車両位置検出部９が出力する開始位置４１の位置をＲＡＭ８に記憶しておく。
そして、車両装置５は、動画データを演算してＲＡＭ８に展開したフレーム画像から、開始位置４１の直前の位置情報（ｇｎ）と直後の位置情報（ｇｎ＋１）が付与されているフレーム画像を特定する。
【００８６】
次に、車両装置５は、当該特定した２枚のフレーム画像の間のフレーム画像群から、最も新しい時刻に（即ち、最も時刻が遅いタイミングで）カメラ１２が撮影したフレーム画像（太線で示した時刻ｔｎ＋ｍのフレーム画像）を開始位置４１に対応する画像データとして選択し、動画データから抽出する。
車両装置５は、終了位置４２についても同様の手法で、終了位置４２の直前・直後の位置情報を付与されたフレーム画像の間にあるフレーム画像群から最も古い時刻に（即ち、最も時刻が早いタイミングで）撮影されたものを送信用の画像データとして選択・抽出する。
【００８７】
なお、開始位置４１で最も遅いタイミングで撮影したフレーム画像を抽出したのは、障害物５０に最も接近した画像を選択するためであり、終了位置４２で最も早いタイミングで撮影したフレーム画像を選択したのは、撮影タイミングが遅くて障害物５０が写らない可能性を低減するためである。
【００８８】
なお、開始位置４１に関しては、最も早いタイミングで撮影されたフレーム画像を選択し、終了位置４２に関しては最も遅いタイミングで撮影されたフレーム画像を選択したり、両方とも最も早いタイミングで撮影されたフレーム画像を選択したり、あるいは、両方とも最も遅いタイミングで撮影されたフレーム画像を選択するように構成することもできる。
【００８９】
このように、車両装置５が備える画像データ取得手段は、開始位置４１の直前のカメラ位置情報と直後のカメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得し、更に、終了位置４２の直前のカメラ位置情報と直後のカメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得する。
また、当該画像データ取得手段は、フレーム画像群のうち、最も古い時刻に撮影されたフレーム画像、又は最も新しい時刻に撮影されたフレーム画像のうちの少なくとも一方を画像データとして取得する。
【００９０】
また、ハンドルを切る直前と、ハンドルを切り返した直後の画像データを取得する変形例では、開始位置の直前に第１のオフセット位置を設定し、終了位置の直後に第２のオフセット位置を設定するオフセット位置設定手段を具備し、画像データ取得手段は、第１のオフセット位置の直前のカメラ位置情報と直後のカメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得し、更に、第２のオフセット位置の直前のカメラ位置情報と直後のカメラ位置情報との間のフレーム画像群の中からフレーム画像を画像データとして取得する。
【００９１】
図９は、車両装置５が行う画像データ送信処理の手順を説明するためのフローチャートである。
まず、車両装置５のＣＰＵ６は、車両３のエンジンがスタートすると、記憶部１１の記憶する画像データ送信プログラムをＲＡＭ８にロードし、これを実行することにより、車両装置５としての機能を開始する。これにより、ＣＰＵ６は、カメラ１２による動画撮影も開始する。
【００９２】
まず、ＣＰＵ６は、車速・舵角操作判定処理により、車速の判定と、舵角操作の判定とを行い（ステップ１０）、更に、走行軌跡判定処理を行う（ステップ１５）。
ＣＰＵ６は、ＲＡＭ８に記憶した判定結果を用いて、車両３が障害物を回避したか否かを判断する（ステップ２０）。
【００９３】
ＣＰＵ６は、障害物を回避していないと判断した場合（ステップ２０；Ｎ）、各判定で使用した位置情報や舵角などのデータを消去してステップ１０に戻る。
一方、ＣＰＵ６は、障害物を回避したと判断した場合（ステップ２０；Ｙ）、送信対象画像データ選択処理によって、送信する画像データを取得してＲＡＭ８に記憶する（ステップ２５）。
次に、ＣＰＵ６は、通信制御部１５を駆動して、ＲＡＭ８に記憶した画像データを画像配信サーバ２に送信する（ステップ３０）。
【００９４】
次に、ＣＰＵ６は、画像データ送信処理を継続する場合は（ステップ３５；Ｙ）、処理に使用した位置情報や舵角などを消去してステップ１０に戻り、車両３のエンジンが停止した場合など、画像データ送信処理を継続しない場合は（ステップ３５；Ｎ）、画像データ送信処理を終了する。
【００９５】
図１０は、車速・舵角操作判定処理の手順を説明するためのフローチャートである。
ステップ１０５〜ステップ１１５で車速操作の判定を行い、ステップ１２０以降により舵角操作の判定を行う。
【００９６】
ＣＰＵ６は、車速操作の判定として、まず、アクセルセンサ２３の出力を監視し、アクセルがオフされたか否かを判定する（ステップ１０５）。
アクセルがオフされない場合（ステップ１０５；Ｎ）、ＣＰＵ６は、ステップ１０５にて引き続きアクセルセンサ２３の出力を監視する。
【００９７】
アクセルがオフされた場合（ステップ１０５；Ｙ）、ＣＰＵ６は、ブレーキセンサ２４の出力に基づいて、ブレーキが所定時間内に（車両時刻検出部１０の出力で計測する）オンされたか否かを判定する（ステップ１１０）。
ブレーキが所定時間内に（車両時刻検出部１０の出力で計測する）オンされなかった場合（ステップ１１０；Ｎ）、ＣＰＵ６は、アクセルセンサ２３の出力に基づいて、所定時間内にアクセルがオンされたか否かを判定する（ステップ１１５）。
アクセルがオンされない場合（ステップ１１５；Ｎ）、すなわち、ステップ１０５におけるアクセルオフの後、所定時間の間アクセルがオンされない場合には、ステップ１０５に戻り監視を継続する。
【００９８】
一方、ステップ１１０でブレーキオンを検出した場合（ステップ１１０；Ｙ）、又は、ステップ１１５でアクセルオンを検出した場合（ステップ１１５；Ｙ）、ＣＰＵ６は、以下のように、舵角操作の判定に移行する。
このように、アクセルオフ後にブレーキがオンされずにアクセルオンを検出した場合（ステップ１１０；Ｙ）を舵角操作の判定の対象とすることで、図１３（ｃ）で説明したアクセル操作のみでブレーキ操作を行わない場合についても障害物回避の判断を行い、障害物５０を撮影することができる。
なお、本実施形態では、舵角操作の判定の一部には、後述するように、後に走行軌跡判定処理に使用する車速とヨーレートを収集する処理も含まれている。
【００９９】
まず、ＣＰＵ６は、ハンドルが一定角以上切られたか否かを判定するために、舵角センサ２２から舵角を取得して、舵角の変化量をＲＡＭ８に記憶する（ステップ１２０）。
次に、ＣＰＵ６は、車両位置を車両位置検出部９から取得してＲＡＭ８に記憶する（ステップ１２５）。これは、カメラ位置検出部１８がフレーム画像に付与するカメラ位置と対応させることにより、動画データでフレーム画像を選択するための位置情報であり、後に開始位置４１や終了位置４２として指定するものである。
【０１００】
次に、ＣＰＵ６は、後に走行軌跡の判定に用いるため、車速センサ２５から車速を取得してＲＡＭ８に記憶し（ステップ１３０）、更に、ヨーレートセンサ２６からヨーレートを取得してＲＡＭ８に記憶する（ステップ１３５）。
【０１０１】
そして、ＣＰＵ６は、車両時刻検出部１０の出力する時刻に基づいて、ステップ１２０で舵角を取得してから一定時間が経過したかを判定する（ステップ１４０）。
一定時間が経過した場合（ステップ１４０；Ｙ）、ハンドルを切る量が少なく、障害物回避挙動でない可能性が高いため、ＣＰＵ６は、ＲＡＭ８に上記のステップで記憶したデータを消去することによりリセットし（ステップ１４５）、ステップ１０５に戻って車速操作の判定を継続する。
【０１０２】
一方、一定時間が経過していない場合（ステップ１４０；Ｎ）、ＣＰＵ６は、ハンドルが一定角度以上切られたか否かを判定する（ステップ１５０）。
なお、ＣＰＵ６は、ステップ１２０でＲＡＭ８に記憶した舵角の変化量が所定の角度以上の場合に、ハンドルが一定角度以上切られたと判定する。ハンドルにセンサを設置して、直接ハンドルの回転角度を検出することも可能である。
【０１０３】
ハンドルが一定角度以上切られていない場合（ステップ１５０；Ｎ）、ＣＰＵ６は、ステップ１２０に戻る。
以下、ＣＰＵ６は、ステップ１２０で記憶する舵角の変化量に関しては、新たな値で更新し、ステップ１２５〜１３５で取得した車両位置、車速、ヨーレートに関しては、後に開始位置４１や終了位置４２の指定や走行軌跡判定で使用するので、前の値を対応づけてＲＡＭ８に保存しつつ、新たな値をＲＡＭ８に追加記憶する。
【０１０４】
一方、ハンドルが一定角度以上切られた場合（ステップ１５０；Ｙ）、ＣＰＵ６は、ハンドルの切り返しの判定に用いるため舵角センサ２２から舵角を取得して、舵角の変化量をＲＡＭ８に記憶する（ステップ１５５）。
次に、ＣＰＵ６は、車両位置を車両位置検出部９から取得してＲＡＭ８に記憶する（ステップ１６０）。これは、動画データでフレーム画像を選択するための位置情報であり、後に開始位置４１や終了位置４２として指定するものである。
【０１０５】
次に、ＣＰＵ６は、後に走行軌跡の判定に用いるため、車速センサ２５から車速を取得してＲＡＭ８に記憶し（ステップ１６５）、更に、ヨーレートセンサ２６からヨーレートを取得してＲＡＭ８に記憶する（ステップ１７０）。
【０１０６】
次に、ＣＰＵ６は、車両向きが元に戻るまでハンドルが切り返されたか否かを判定する（ステップ１７５）。なお、ＣＰＵ６は、ステップ１５５でＲＡＭ８に記憶した舵角の変化量がステップ１２０で取得した舵角の逆方向に所定値以上となった場合に、車両向きが元に戻るまでハンドルが切り返されたと判定する。
ハンドルが切り返されていない場合（ステップ１７５；Ｎ）、ＣＰＵ６は、ハンドルが一定角度以上切られたと判断（ステップ１５０；Ｙ）してから一定時間が経過したかを車両時刻検出部１０の出力する時刻に基づいて判定する（ステップ１８０）。
一定時間が経過していなければステップ１５５に戻る。以下、ＣＰＵ６は、ステップ１５５でＲＡＭ８に記憶した舵角の変化量に関しては、新たな値で更新し、ステップ１６０〜１７０で取得した車両位置、車速、ヨーレートに関しては、後に開始位置４１や終了位置４２の指定や走行軌跡判定で使用するので、前の値を対応づけてＲＡＭ８に保存しつつ、新たな値をＲＡＭ８に追加記憶する。
【０１０７】
一定時間が経過した場合（ステップ１８０；Ｙ）、障害物回避挙動でない可能性が高いため、ＣＰＵ６は、ステップ１４５に移行して、ＲＡＭ８に上記のステップで記憶したデータを消去することによりリセットし、その後ステップ１０５に戻る。
一方、ハンドルが切り返された場合（ステップ１７５；Ｙ）、ＣＰＵ６は、メインルーチンにリターンし、走行軌跡判定処理に移行する。
【０１０８】
図１１は、走行軌跡判定処理の手順を説明するためのフローチャートである。
ＣＰＵ６は、車両位置検出部９から車両位置を取得してＲＡＭ８に記憶し（ステップ２０５）、車速センサ２５から車速を取得してＲＡＭ８に記憶し（ステップ２１０）、更に、ヨーレートセンサ２６からヨーレートを取得し、これらを対応づけてＲＡＭ８に記憶する（ステップ２１５）。
車両位置は、開始位置４１や終了位置４２を指定するためのものであり、車速とヨーレートは、走行軌跡を算出するためのものである。
【０１０９】
次に、ＣＰＵ６は、走行距離検出部１６の検出値に基づいて、車速・舵角操作判定処理における舵角操作の判定を開始してから（ステップ１１０；Ｙの後、又はステップ１１５；Ｙの後）の走行距離が回避最大距離Ｙに達したか否かを判定する（ステップ２２０）。
回避最大距離Ｙに達していない場合（ステップ２２０；Ｎ）、ＣＰＵ６は、ステップ２０５に戻り、新たな車両位置、車速、ヨーレートを対応づけてＲＡＭ８に追加記憶する。
【０１１０】
一方、回避最大距離Ｙに達した場合（ステップ２２０；Ｙ）、ＣＰＵ６は、走行軌跡３１を算出してＲＡＭ８に記憶する（ステップ２２５）。
走行軌跡３１の算出は、図７（ａ）で説明したとおりであり、ＣＰＵ６は、ＲＡＭ８から時系列的に対応づけて記憶した車速、ヨーレートを読み出し、これらを用いて計算する。
【０１１１】
次に、ＣＰＵ６は、ＲＡＭ８に記憶した走行軌跡３１に対して、舵角操作の判定を開始した位置からｚ［ｍ］ごとに所定長さの線分ＡＢを複数設定し、これらをＲＡＭ８に記憶する（ステップ２３０）。
そして、ＣＰＵ６は、ＲＡＭ８に記憶した走行軌跡３１と線分ＡＢを用いて、図７（ｂ）で説明したロジックにより、面積Ｍを算出してＲＡＭ８に記憶し（ステップ２３５）、更に微分値ΔＭを算出してＲＡＭ８に記憶する（ステップ２４０）。
【０１１２】
次に、ＣＰＵ６は、ＲＡＭ８に記憶した面積Ｍと微分値ΔＭから、面積Ｍと微分値ΔＭのグラフを作成してＲＡＭ８に記憶すると共に、ＲＡＭ８に記憶した面積Ｍと微分値ΔＭの符号の組合せを作成してＲＡＭ８に記憶する（ステップ２４５）。
そして、ＣＰＵ６は、画像データ送信プログラムが規定する図５に示した表５６、５８の障害物回避パターンをＲＡＭ８に読み込み、これと、ステップ２４５で作成した符号の組合せとを照合することによりパターン判定を行う（ステップ２５０）。
【０１１３】
符号の組合せが障害物回避パターンと適合しない場合（ステップ２５５；Ｎ）、ＣＰＵ６は、障害物を回避しなかったと判定してメインルーチンにリターンする。
一方、符号の組合せが障害物回避パターンと適合する場合（ステップ２５５；Ｙ）、ＣＰＵ６は、障害物を回避したと判定する（ステップ２６０）。
【０１１４】
次に、ＣＰＵ６は、ＲＡＭ８に記憶した面積Ｍと微分値ΔＭのグラフからハンドル操作によって障害物回避を開始した位置を特定する。そして、ＣＰＵ６は、当該位置に対応づけられている車両位置をＲＡＭ８に記憶した車両位置から読み出して開始位置４１に設定し、ＲＡＭ８に記憶する（ステップ２６５）。
【０１１５】
次に、ＣＰＵ６は、ＲＡＭ８に記憶した面積Ｍと微分値ΔＭのグラフからハンドル操作によって障害物回避を終了した位置を特定する。そして、ＣＰＵ６は、当該位置に対応づけられている車両位置をＲＡＭ８に記憶した車両位置から読み出して終了位置４２に設定し、ＲＡＭ８に記憶する（ステップ２７０）。
ＣＰＵ６は、以上のようにしてＲＡＭ８に開始位置４１と終了位置４２を記憶するとメインルーチンにリターンする。
【０１１６】
図１２は、送信対象画像データ選択処理の手順を説明するためのフローチャートである。
まず、ＣＰＵ６は、記憶部１１に記憶した動画データから、該当する部分を作業用の動画データとしてフレーム画像に展開し、これをＲＡＭ８に記憶することにより動画データを取得する（ステップ３０５）。
次に、ＣＰＵ６は、ステップ２６５（図１１）でＲＡＭ８に記憶した開始位置４１を取得する（ステップ３１０）。
【０１１７】
そして、ＣＰＵ６は、ＲＡＭ８に展開したフレーム画像群において、フレーム画像に紐付けされた位置情報ｇを検索することにより、開始位置４１の直前と直後のフレーム画像を特定する。これにより、ＣＰＵ６は、開始位置４１に対応するフレーム画像群を特定する（ステップ３１５）。
【０１１８】
次いで、ＣＰＵ６は、特定したフレーム画像群から最も取得時刻が新しいフレーム画像を特定し（ステップ３２０）、これをＲＡＭ８にコピーすることにより、当該フレーム画像の画像データを、開始位置４１に対応する送信用の画像データに設定する（ステップ３２５）。
【０１１９】
次に、ＣＰＵ６は、ステップ２６５（図１１）でＲＡＭ８に記憶した終了位置４２を取得する（ステップ３３０）。
そして、ＣＰＵ６は、ＲＡＭ８に展開したフレーム画像群において、フレーム画像に紐付けされた位置情報ｇを検索することにより、終了位置４２の直前と直後のフレーム画像を特定する。これにより、ＣＰＵ６は、終了位置４２に対応するフレーム画像群を特定する（ステップ３３５）。
【０１２０】
次いで、ＣＰＵ６は、特定したフレーム画像群から最も取得時刻が古いフレーム画像を特定し（ステップ３４０）、これをＲＡＭ８にコピーすることにより、当該フレーム画像の画像データを、終了位置４２に対応する送信用の画像データに設定し（ステップ３４５）、図９のメインルーチンにリターンする。
【０１２１】
以上説明した処理では、走行軌跡判定処理のためのデータを収集しつつ車速・舵角操作判定処理を行った後、走行軌跡判定処理を行う場合について説明した。
これに対し、車速・舵角操作判定処理における車速操作の判定（ステップ１０５〜１１５）の後に、舵角操作の判定と走行軌跡判定処理を同時に並行して実行することも可能である。
このように、車速操作の判定後に、走行軌跡判定処理を実行開始する場合、走行軌跡判定処理は、上記の説明のように、車両３が回避最大距離Ｙを走行した後、まとめて面積Ｍと微分値ΔＭの計算を行ってもよいし、車両３の走行中にリアルタイムで面積Ｍと微分値ΔＭの計算を行ってもよい。
【０１２２】
以上説明したように、車両装置５は、車両３の挙動から撮影地点とする２点を決定する。１点目は、ハンドル操作をし始めた地点で、２点目は、ハンドル操作後に車両３が正面を向いた地点とする。
２地点で撮影することで、急に回避した場合やゆっくり回避した場合でも障害物５０に近づき、かつ、正面から捕らえた画像を撮影することができる。
【０１２３】
なお、本実施形態及び変形例については次の様に構成することも可能である。
（１）構成１１
車両の前方を撮影する撮影手段と、
ドライバによる前記車両のハンドル操作を検出するハンドル操作検出手段と、
前記検出したハンドル操作に基づいて、前記ドライバが行う障害物回避の開始位置と終了位置を取得する位置取得手段と、
前記取得した開始位置と終了位置のそれぞれに対応して前記撮影した画像の画像データを取得する画像データ取得手段と、
前記取得した画像データを所定のサーバに送信する送信手段と、
を具備したことを特徴とする画像データ送信装置。
（２）構成１２
ドライバによる車速操作を検出する車速操作検出手段を具備し、
前記位置取得手段は、前記車速操作検出手段が減速操作を検出した後、前記ハンドル操作検出手段がハンドルの切り始めを検出した位置に基づいて前記開始位置を取得する、
ことを特徴とする構成１１に記載の画像データ送信装置。
（３）構成１３
前記位置取得手段は、前記ハンドル操作検出手段がハンドルの切り始めを検出した後に、前記ハンドルの切り返しを検出した位置に基づいて前記終了位置を取得する、
ことを特徴とする構成１１、又は構成１２に記載の画像データ送信装置。
（４）構成１４
前記車両の舵角を取得する舵角取得手段を具備し、
前記ハンドル操作検出手段は、前記取得した舵角の変化量が所定値以上となった場合に、前記ハンドルの切り始めを検出する、
ことを特徴とする構成１２、又は構成１３に記載の画像データ送信装置。
（５）構成１５
前記ハンドル操作検出手段は、前記ハンドルの切り始めを検出した後に、前記舵角の変化量が所定値以下となった場合に、前記ハンドルの切り返しを検出する、
ことを特徴とする構成１４に記載の画像データ送信装置。
【符号の説明】
【０１２４】
１  画像配信システム
２  画像配信サーバ
３  車両
５  車両装置
６  ＣＰＵ
７  ＲＯＭ
８  ＲＡＭ
９  車両位置検出部
１０  車両時刻検出部
１１  記憶部
１２  カメラ
１５  通信制御部
１６  走行距離検出部
１７  動画撮影部
１８  カメラ位置検出部
１９  カメラ時刻検出部
２１  センサ部
２２  舵角センサ
２３  アクセルセンサ
２４  ブレーキセンサ
２５  車速センサ
２６  ヨーレートセンサ
３１  走行軌跡
４１、４２  位置
５０  障害物
５５、５７  グラフ
５６、５８  表
【図１】
2020004017.tif 000003
【図２】
2020004017.tif 000004
【図３】
2020004017.tif 000005
【図４】
2020004017.tif 000006
【図５】
2020004017.tif 000007
【図６】
2020004017.tif 000008
【図７】
2020004017.tif 000009
【図８】
2020004017.tif 000010
【図９】
2020004017.tif 000011
【図１０】
2020004017.tif 000012
【図１１】
2020004017.tif 000013
【図１２】
2020004017.tif 000014
【図１３】
2020004017.tif 000015