(57)【要約】      （修正有）【課題】データブロックに格納されたデータに付与されるタイムスタンプの基準となる時刻が変更された場合に、タイムスタンプの時刻を補正する装置、プログラム及び方法を提供する。【解決手段】タイムスタンプ補正装置２０は、第１のタイムスタンプが付与された先頭データと、第２のタイムスタンプが付与された末尾データとを含む複数のデータが格納されたデータブロックを記憶部２０１から取得する取得部と、第１のタイムスタンプが示す第１の時刻及び第２のタイムスタンプが示す第２の時刻の基準となる基準時刻が、第１の時刻と第２の時刻の間に変更されたことを検出する基準時刻変更検出部２０３と、基準時刻変更検出部が基準時刻が変更されたことを検出した場合に、第１のタイムスタンプを補正する補正部２０５と、第１のタイムスタンプを補正したデータブロックを出力する出力部２０６と、を備えることを特徴とする。【選択図】図５
2020091743.tif 000002
【特許請求の範囲】
【請求項１】
第１のタイムスタンプが付与された先頭データと、第２のタイムスタンプが付与された末尾データとを含む複数のデータが格納されたデータブロックを記憶部（２０１）から取得する取得部（２０２）と、
前記第１のタイムスタンプが示す第１の時刻及び前記第２のタイムスタンプが示す第２の時刻の基準となる基準時刻が、前記第１の時刻と前記第２の時刻の間に変更されたことを検出する基準時刻変更検出部（２０３，２０４）と、
前記基準時刻変更検出部が前記基準時刻が変更されたことを検出した場合に、前記第１のタイムスタンプを補正する補正部（２０５）と、
前記第１のタイムスタンプを補正した前記データブロックを出力する出力部（２０６）と、
を備える、タイムスタンプ補正装置（２０）。
【請求項２】
前記基準時刻変更検出部は、変更前の前記基準時刻を基準とした前記第１の時刻と、変更後の前記基準時刻を基準とした場合に前記先頭データが位置すると予測される予測範囲とを比較し、比較結果に基づいて前記基準時刻が変更されたことを検出する、
請求項１記載のタイムスタンプ補正装置。
【請求項３】
前記予測範囲は、前記第２の時刻を基準として、前記データブロックの時間長又は前記複数のデータの時間的な間隔である記録間隔に基づいて算出される、
請求項２記載のタイムスタンプ補正装置。
【請求項４】
前記予測範囲は、前記第２の時刻から前記データブロックの時間長を減算して求まる下限時刻から、前記下限時刻に前記記録間隔を２倍した値を加算して求まる上限時刻までの範囲である、
請求項３記載のタイムスタンプ補正装置。
【請求項５】
前記取得部はさらに、第３のタイムスタンプが付与された第２の先頭データと、第４のタイムスタンプが付与された第２の末尾データとを含む複数のデータが格納され、かつ、前記データブロックの直前に配置された第２のデータブロックを取得し、
前記補正部はさらに、前記第４のタイムスタンプを補正する、
請求項１記載のタイムスタンプ補正装置。
【請求項６】
前記補正部が前記第１のタイムスタンプを補正した場合に、前記データブロックに補正フラグを立てるフラグ設定部（２１１）をさらに備える、
請求項１記載のタイムスタンプ補正装置。
【請求項７】
車両の動作を示す複数の車両データが格納されたデータブロックと、前記車両に搭載された撮像装置によって撮影された映像データが格納された映像データブロックとを取得する再生データ取得部（３０１）と、
前記データブロックと前記映像データブロックとを同期して出力する再生データ出力部（３０２）と、
補正フラグが立てられた前記データブロックが出力されている場合に、前記データブロックと前記映像データブロックとの同期がずれている可能性があることを通知する通知部（３１１）と、
を備え、
前記データブロックは、前記車両データのうち先頭データに付与された第１のタイムスタンプが示す第１の時刻、及び、前記車両データのうち末尾データに付与された第２のタイムスタンプが付与された第２の時刻の基準となる時刻が、前記第１の時刻と前記第２の時刻の間に変更されたことを検出したタイムスタンプ補正装置によって、前記第１のタイムスタンプが補正され、かつ、前記補正フラグが立てられている、
データ再生装置（３１）。
【請求項８】
基準時刻を取得する第１の取得部（１０１）と、
複数のデータが格納されたデータブロックを取得する第２の取得部（１０４）と、
前記データブロックの先頭データ及び末尾データを特定する特定部（１０５）と、
前記基準時刻に基づいて、前記複数のデータのうち前記先頭データ及び前記末尾データのみにタイムスタンプを付与するタイムスタンプ付与部（１０６）と、
を備える、データ記録装置（１０）。
【請求項９】
第１のタイムスタンプが付与された先頭データと、第２のタイムスタンプが付与された末尾データとを含む複数のデータが格納されたデータブロックを記憶部（２０１）から取得するステップと、
前記第１のタイムスタンプが示す第１の時刻及び前記第２のタイムスタンプが示す第２の時刻の基準となる基準時刻が、前記第１の時刻と前記第２の時刻の間に変更されたことを検出するステップと、
前記基準時刻が変更されたことを検出した場合に、前記第１のタイムスタンプを補正するステップと、
前記第１のタイムスタンプを補正した前記データブロックを出力するステップと、
を備える、タイムスタンプ補正プログラム。
【請求項１０】
第１のタイムスタンプが付与された先頭データと、第２のタイムスタンプが付与された末尾データとを含む複数のデータが格納されたデータブロックを記憶部（２０１）から取得し、
前記第１のタイムスタンプが示す第１の時刻及び前記第２のタイムスタンプが示す第２の時刻の基準となる基準時刻が、前記第１の時刻と前記第２の時刻の間に変更されたことを検出し、
前記基準時刻が変更されたことを検出した場合に、前記第１のタイムスタンプを補正し、
前記第１のタイムスタンプを補正した前記データブロックを出力する、
タイムスタンプ補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データのタイムスタンプを補正する装置等、及び、データにタイムスタンプを付与して記録する装置等に関するものである。
【背景技術】
【０００２】
近年、情報技術の発展に伴って様々なデータが収集されている。収集されたデータには、データを処理する装置が有する時計の時刻に基づいて、データが収集された日時を示すタイムスタンプが付与されることがある。このような時計は、時刻の精度を高めるために、基準時刻に合わせて定期的に校正されることが望ましい。しかしながら、装置の時計が校正されることにより、連続するデータに異なる基準時刻に基づくタイムスタンプが付与されることが起こりうる。このような場合、後に収集されたデータに、先に収集されたデータよりも時間的に早いタイムスタンプが付与されるといったことが起こり、データの順序とタイムスタンプの時刻と不整合が生じることがある。
【０００３】
このような不整合を解消するために、タイムスタンプを補正することが考えられる。例えば、特許文献１には、複数の計算機から出力された様々な種類のデータのタイムスタンプを補正する装置が開示されている。特許文献１には、複数の計算機それぞれの時刻補正履歴や、複数の異なるデータ間の時間的な順序を予め規定したルールを用いて、タイムスタンプを補正することが記載されている。特許文献１にはさらに、タイムスタンプを補正する際に、当該タイムスタンプの直前に付与されたタイムスタンプよりも後の時刻となるように補正することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６９０８４号公報
【０００５】
しかしながら、特許文献１に記載の技術を用いてタイムスタンプの補正をするためには、計算機の時刻補正に関するログを収集し、さらに、計算機から出力される全てのデータに対してタイムスタンプを付与する必要があるため、記録される情報量が増大する。さらに、特許文献１に記載の技術では、時間的な順序を規定したルールを作成する必要があるため、装置における処理量も増大する。
【０００６】
本発明の目的は、データブロックに格納されたデータに付与されたタイムスタンプを効率的に補正することにある。
本発明のさらなる目的は、データブロックに含まれる情報量を削減することにある。
【発明の概要】
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、
第１のタイムスタンプが付与された先頭データと、第２のタイムスタンプが付与された末尾データとを含む複数のデータが格納されたデータブロックを記憶部（２０１）から取得する取得部（２０２）と、
前記第１のタイムスタンプが示す第１の時刻及び前記第２のタイムスタンプが示す第２の時刻の基準となる基準時刻が、前記第１の時刻と前記第２の時刻の間に変更されたことを検出する基準時刻変更検出部（２０３，２０４）と、
前記基準時刻変更検出部が前記基準時刻が変更されたことを検出した場合に、前記第１のタイムスタンプを補正する補正部（２０５）と、
前記第１のタイムスタンプを補正した前記データブロックを出力する出力部（２０６）と、
を備える。
【０００８】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【０００９】
本発明のタイムスタンプ補正装置によれば、データブロックの先頭データ及び末尾データに異なる基準時刻を基準としてタイムスタンプが付与された場合に、同じ基準時刻を基準としたタイムスタンプに補正することが可能となる。
本発明のデータ記録装置によれば、データブロックに含まれる情報量を削減することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１、２のデータ記録装置の構成を説明するブロック図
【図２】本発明の実施形態１のデータブロックを説明する図
【図３】本発明の実施形態１のデータブロックを説明する図
【図４】本発明の実施形態１のデータ記録装置の動作を説明する図
【図５】本発明の実施形態１、２のタイムスタンプ補正装置及びデータ再生装置の構成を説明するブロック図
【図６】本発明の実施形態１の予測範囲と先頭データ時刻との比較を説明する図
【図７】本発明の実施形態１のタイムスタンプ補正装置の動作を説明する図
【図８】本発明の実施形態２のデータブロックを説明する図
【図９】本発明の実施形態２の予測範囲と末尾データ時刻との比較を説明する図
【図１０】本発明の実施形態２のタイムスタンプ補正装置の動作を説明する図
【図１１】本発明の実施形態３のデータ記録装置の構成を説明するブロック図
【図１２】本発明の実施形態３のタイムスタンプ補正装置及びデータ再生装置の構成を説明するブロック図
【図１３】本発明の実施形態３のデータブロックを説明する図
【図１４】本発明の実施形態３のデータ再生装置から出力されたデータを表示した画面を説明する図
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照して説明する。
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
特許請求の範囲の従属項に記載の構成及び方法、従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明においては任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明においては任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせても良い。また、複数の実施形態それぞれに開示の構成を集めて組み合わせても良い。
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【００１２】
（実施形態１）
本実施形態１のデータ記録装置１０、データブロックのタイムスタンプを補正するタイムスタンプ補正装置２０、及び、タイムスタンプ補正装置２０を用いてタイムスタンプが補正されたデータブロックを再生するデータ再生装置３０について、それぞれ説明する。
【００１３】
１．データ記録装置
図１は、データ記録装置１０を示している。データ記録装置１０は、基準時刻取得部１０１、基準時刻保存部１０２、クロック部１０３、車両データ取得部１０４、データ特定部１０５、タイムスタンプ付与部１０６、及び記憶部１０７を備える。以下の実施形態では、データ記録装置１０が、車載センサによって検出された車両の動作を示す車両データを記録する、ドライブレコーダ等の車両用データ記録装置である例を説明する。しかしながら、データ記録装置は車両用に限定されるものではなく、車両データ以外の任意のデータを収集して記録する装置にも利用することができる。
【００１４】
基準時刻取得部１０１（本発明の「第１の取得部」に相当）は、基準時刻を取得する。基準時刻は、例えば、車両に搭載されたＧＰＳによって検出されるＧＰＳ時刻である。
【００１５】
基準時刻保存部１０２は、基準時刻取得部１０１が取得した基準時刻を保存する。基準時刻保存部１０２は、基準時刻取得部１０１が取得した基準時刻を定期的に更新し、最新の基準時刻を保存している。
【００１６】
クロック部１０３は、データ記録装置１０の時計として機能する構成であり、基準時刻保存部１０２に保存された基準時刻を基点としてタイマでカウントすることにより、データ記録装置１０の装置時刻を求める。
ここで、クロック部１０３が高精度タイマを用いてカウントした場合であっても、わずかな誤差が蓄積されることがある。その結果、装置時刻は、時間の経過とともに基準時刻から徐々に遅れる又は進んでしまう。そこでクロック部１０３は、定期的に、あるいは、基準時刻と装置時刻とのずれが所定の値を超えた場合に、基準時刻保存部１０２に保存されている最新の基準時刻を読み出し、当該基準時刻を新たな基点としてタイマでのカウントを再び始める。すなわち、クロック部１０３は、装置時刻の基準となる基準時刻を新たな基準時刻に変更することによって、装置時刻の精度を一定レベルに維持する。なお、クロック部１０３が基準時刻を読み出すタイミングは、基準時刻保存部１０２が更新されたタイミングであってもよい。
【００１７】
車両データ取得部１０４（本発明の「第２の取得部」に相当）は、車載センサによって検出された、ブレーキ量、車両速度、操舵角といった車両の動作を示すデータ（以下、車両データ）が格納されたデータブロックを取得する。
【００１８】
データ特定部１０５は（本発明の「特定部」に相当）、車両データ取得部１０４にて取得したデータブロックに含まれる複数の車両データのうち、先頭に位置する先頭データと、末尾に位置する末尾データとを特定する。
例えば、データ特定部１０５は、データブロックのヘッダを検出して先頭データを特定する。データ特定部１０５はさらに、データの種別に応じて定まるデータブロックの時間的長さ（以下、データブロックの時間長）を、データブロックに含まれる複数のデータの時間的な間隔（以下、データの記録間隔）で除算することにより、データブロックに含まれるデータ数（ｍ）を算出し、先に特定した先頭データからｍ番目に位置するデータを末尾データであると特定する。他の例として、データ特定部１０５は、車両データ取得部１０４が取得したデータブロックをファイル単位で受信することにより、ファイルの先頭に位置するデータを先頭データであると特定する。そして、上述した方法を用いて、あるいは、ファイルに付加されたパリティビットの直前に位置するデータを末尾データであると特定する。なお、先頭データ及び末尾データの特定方法は任意であり、上述した例に限定されるものではない。
【００１９】
タイムスタンプ付与部１０６は、データ特定部１０５にて特定した先頭データ及び末尾データのみに、クロック部１０３が基準時刻に基づいて求めた装置時刻を示すタイムスタンプをそれぞれ付与する。以下、先頭データに付与されたタイムスタンプを先頭タイムスタンプ、末尾データに付与されたタイムスタンプを末尾タイムスタンプとする。タイムスタンプ付与部１０６はさらに、タイムスタンプを付与したデータブロックを記憶部１０７に保存する処理を行う。
【００２０】
記憶部１０７は、タイムスタンプ付与部１０６にてタイムスタンプが付与されたデータブロックを保存する。なお、図１に示す記憶部１０７は、外部記憶装置（ハードディスク、ＵＳＢメモリ、ＣＤ／ＢＤ、サーバ等）を想定しているが、内部記憶装置（ＲＡＭ等）であってもよい。
【００２１】
ここで、図２、図３は、データブロックの先頭データ（１ｔｈ）及び末尾データ（ｍｔｈ）にタイムスタンプを付与した状態を概略的に示している。
図２は、データブロック１及びデータブロック２それぞれに格納された先頭データ（１ｔｈ）と末尾データ（ｍｔｈ）の間で基準時刻が変更されていない場合を示している。この場合、データブロック１及びデータブロック２に格納された複数のデータは、一定の記録間隔毎に規則的に配置されている。
これに対し、図３は、データブロック１の先頭データ（１ｔｈ）と末尾データ（ｍｔｈ）の間で、クロック部１０３の基準時刻がＴｒ０からＴｒ１に変更された場合を示している。この場合、データブロック１の先頭データ（１ｔｈ）の先頭タイムスタンプは、変更前の基準時刻Ｔｒ０を基準として付与されるが、データブロック１の末尾データ（ｍｔｈ）の先頭タイムスタンプは、変更後の基準時刻Ｔｒ１を基準として付与される。その結果、データブロック１の末尾データ（ｍｔｈ）の末尾タイムスタンプが示す時刻は、変更前の基準時刻Ｔｒ０を基準とした場合の時刻よりも遅い時刻にずれている。また、データブロック１よりも後に配置されたデータブロック２の先頭データ（１ｔｈ）及び末尾データ（ｍｔｈ）についても、変更後の基準時刻Ｔｒ１を基準としてタイムスタンプが付与されているため、変更前の基準時刻Ｔｒ０を基準とした場合の時刻よりも遅い時刻にずれている。
【００２２】
図４は、データ記録装置１０において、先頭データ及び末尾データにタイムスタンプを付与する動作を示している。
まず、データ記録装置１０の車両データ取得部１０４において、車載センサによって検出された複数の車両データが格納されたデータブロックを取得する（Ｓ１０１）。次いで、データ特定部１０５は、データブロックのヘッダに基づいて、Ｓ１０１にて取得したデータブロックに含まれる複数のデータから、先頭データを特定する（Ｓ１０２）。データ特定部１０５はさらに、データブロックに含まれる複数のデータから、末尾データを特定する（Ｓ１０３）。
【００２３】
次いで、タイムスタンプ付与部１０６において、Ｓ１０２、Ｓ１０３で特定した先頭データ及び末尾データそれぞれに、基準時刻に基づいて求めた装置時刻を示すタイムスタンプを付与する（Ｓ１０４）。そして、Ｓ１０４にてタイムスタンプが付与されたデータブロックを記憶部１０７に保存する（Ｓ１０５）。
【００２４】
本実施形態のデータ記録装置によれば、データブロックの先頭データ及び末尾データのみにタイムスタンプを付与し、それ以外のデータにはタイムスタンプを付与しないことにより、データブロックに含まれる情報量を削減することができる。
【００２５】
２．タイムスタンプ補正装置
図５は、タイムスタンプ補正装置２０及びデータ再生装置３０を示している。ここでは、タイムスタンプ補正装置２０の各構成及び動作を説明する。なお、以下に示すタイムスタンプ補正装置２０は、データ記録装置１０を用いて記録されたデータブロックのタイムスタンプを補正することを想定している。しかしながら、タイムスタンプ補正装置２０を利用して、汎用のデータ記録装置を用いて記録されたデータブロックのタイムスタンプを補正してもよい。本実施形態１のタイムスタンプ補正装置２０は、記憶部２０１、取得部２０２、比較部２０３、演算部２０４、タイムスタンプ補正部２０５、及び出力部２０６を備える。なお、比較部２０３及び演算部２０４が、本発明の「基準時刻変更検出部」に相当する。
【００２６】
記憶部２０１には、データ記録装置１０を使用して記録されたデータブロックが保存されている。図５に示す記憶部２０１は、外部記憶装置（ハードディスク、ＵＳＢメモリ、ＣＤ／ＢＤ、サーバ等）を想定しているが、内部記憶装置（ＲＡＭ等）であってもよい。
【００２７】
取得部２０２は、データブロックを記憶部２０１から取得する。取得部２０２が取得するデータブロックには、先頭タイムスタンプ（本発明の「第１のタイムスタンプ」に相当）が付与された先頭データと、末尾タイムスタンプ（本発明の「第２のタイムスタンプ」に相当）が付与された末尾データとを含む複数の車両データが格納されている。
【００２８】
比較部２０３は、データブロックを記録したデータ記録装置１０の装置時刻の基準となる基準時刻が、先頭タイムスタンプが示す先頭データ時刻（本発明の「第１の時刻」に相当）と、末尾タイムスタンプが示す末尾データ時刻（本発明の「第２の時刻」に相当）の間に変更されたことを検出する。例えば、比較部２０３は、先頭データ時刻と、後述する演算部２０４が算出した「予測範囲」とを比較し、その比較結果に基づいて、先頭データ時刻と末尾データ時刻の間に基準時刻が変更されたことを検出する。比較部２０３における先頭データ時刻と予測範囲との比較動作は後述する。
ここで、本発明の「予測範囲」とは、時間的な長さを有する期間の他、時間的な長さを有さない時刻であってもよい。
【００２９】
なお、以下に示す実施形態では、比較部２０３が、先頭データ時刻と予測範囲とを比較した比較結果に基づいて先頭データ時刻と末尾データ時刻の間に基準時刻が変更されたことを検出する例を説明している。しかしながら、比較部２０３は、予測範囲を使用せずに基準時刻が変更されたことを検出してもよい。例えば、比較部２０３は、先頭データ時刻から末尾データ時刻までの経過時間とデータブロックの時間長とを比較し、その差が所定の値以上の場合に、基準時刻が変更されたことを検出する。
【００３０】
演算部２０４は、データ記録装置１０が末尾タイムスタンプを付与した時の基準時刻を基準とした場合に、先頭データが位置すると予測される「予測範囲」を算出する。具体的には、先頭データ時刻と末尾データ時刻の間に基準時刻がＴｒ０からＴｒ１に変更されている場合は、演算部２０４は、変更後の基準時刻Ｔｒ１を基準とした場合に先頭データが位置すると予測される「予測範囲」を算出する。
【００３１】
予測範囲の算出方法として、演算部２０４は、例えば、末尾データ時刻を基準として、データブロックの時間長又はデータブロックに格納された複数のデータの記録間隔に「基づいて」予測範囲を算出する。
この場合の一例として、演算部２０４は、末尾データ時刻からデータブロックの時間長を減算して求まる下限時刻「から」、下限時刻に記録間隔を２倍した値を加算して「求まる」上限時刻「まで」の範囲を、予測範囲として算出する。
この場合の他の例として、演算部２０４は、末尾データ時刻Ｔｙからデータブロックの時間長Ｌを減算し、さらに記録間隔ｌを加算した時刻（Ｔｙ−Ｌ＋ｌ）を算出する。ここで算出された時刻は、変更後の基準時刻を基準とした場合に先頭データが位置すると推定される推定時刻である。あるいは、演算部２０４は、末尾データ時刻Ｔｙから、データの記録間隔ｌにデータブロックに格納されているデータ数ｍ−１を乗算した値を減算することにより（Ｔｙ−ｌ×（ｍ−１））、先頭データの推定時刻を算出する。そして、このようにして算出した先頭データの推定時刻から前後所定時間（例えば、５０ｍｓｅｃ、記録間隔の０．５倍、等）を、予測範囲の下限時刻及び上限時刻として算出してもよい。
ただし、演算部２０４が「予測範囲」を算出する方法は、上述した例に限定されるものではない。
ここで、本発明の「基づいて」とは、予測範囲の算出において時間長又は記録間隔が使用されていれば足り、時間長又は記録間隔以外の要素を考慮する場合、及び、時間長又は記録間隔に所定の演算を施したものを用いる場合も含む。
本発明の「求まる」とは、同じ効果を異なる算出方法（式）で求める場合も含む。
本発明の下限時刻「から」及び上限時刻「まで」とは、比較対象と同じ時刻を含む場合及び含まない場合の両方が含まれる。
【００３２】
なお、推定時刻前後の所定時間は、記録間隔よりも短いことが望ましい。推定時刻前後の所定時間を記録間隔よりも短く設定することにより、先頭データのタイムスタンプの時刻が、当該先頭データの直前に配置された、別のデータブロックに格納されている末尾データのタイムスタンプの時刻よりも前の時刻となるのを防ぎ、データの順序とタイムスタンプの時刻との不整合が発生するのを回避することができる。
【００３３】
タイムスタンプ補正部２０５（本発明の「補正部」に相当）は、比較部２０３が基準時刻が先頭データ時刻と末尾データ時刻との間に変更されたことを検出した場合に、先頭タイムスタンプを予測範囲内の時刻に補正する。例えば、タイムスタンプ補正部２０５は、予測範囲の中央値となる時刻に先頭タイムスタンプを補正する。
【００３４】
出力部２０６は、データブロックを出力する。ここで、タイムスタンプ補正部２０５によって先頭タイムスタンプが補正された場合には、出力部２０６は、先頭タイムスタンプが補正されたデータブロックを出力する。先頭タイムスタンプが補正されていない場合には、取得部２０２にて取得したデータブロックをそのまま出力する。
【００３５】
なお、図５は、出力部２０６がデータブロックを記憶部２０１に出力することにより、先頭タイムスタンプが補正されたデータブロックを保存する構成を示している。しかしながら、本実施形態のタイムスタンプ補正装置２０は、例えば、表示装置に組み込まれており、タイムスタンプを補正したデータブロックを記憶部２０１に保存せずに、表示装置に出力して表示する構成としてもよい。
【００３６】
図６は、比較部２０３における予測範囲と先頭データ時刻との比較を示している。
比較部２０３は、先頭タイムスタンプが示す先頭データ時刻Ｔｘと、演算部２０４が算出した予測範囲とを比較する。図６（ａ）に示すデータブロックの場合、すなわち、先頭データ時刻Ｔｘが予測範囲内の時刻である場合には、比較部２０３は先頭タイム時刻Ｔｘと末尾データ時刻Ｔｙの間に基準時刻が変更されたことを検出しない。これに対し、図６（ｂ）に示すデータブロックの場合、すなわち、先頭データ時刻Ｔｘが予測範囲外の時刻である場合には、比較部２０３は、先頭タイム時刻Ｔｘと末尾データ時刻Ｔｙの間に基準時刻が変更されたことを検出する。
【００３７】
次に、図７を参照してタイムスタンプ補正装置の動作を説明する。
まず、取得部２０２において、データ記録装置１０を用いて記録された複数の車両データを含むデータブロックを取得する（Ｓ２０１）。次いで、演算部２０４は、Ｓ２０１にて取得したデータブロックについて、末尾タイムスタンプを付与した時の基準時刻を基準とした場合に、先頭データが位置すると予測される予測範囲を算出する（Ｓ２０２）。比較部２０３は、先頭データ時刻と、Ｓ２０２において算出した予測範囲とを比較する（Ｓ２０３）。ここで、先頭データ時刻が予測範囲外の時刻である場合（Ｓ２０３：Ｎｏ）、比較部２０３は、先頭データ時刻と末尾データ時刻の間に基準時刻が変更されたことを検出する。そして、タイムスタンプ補正部２０５は、先頭タイムスタンプを予測範囲内の時刻に補正する（Ｓ２０４）。先頭タイムスタンプが補正されたデータブロックは、出力部２０６から出力される（Ｓ２０５）。これに対し、先頭データ時刻が予測範囲内の時刻である場合（Ｓ２０３：Ｙｅｓ）、先頭タイムスタンプを補正することなく、データブロックを出力部２０６から出力する（Ｓ２０５）。
【００３８】
実施形態１のタイムスタンプ補正装置によれば、データに付与されたタイムスタンプの基準となる時刻が変更されたことを検出した場合に、先頭タイムスタンプを、変更後の基準時刻とした時刻に補正することができるため、データブロックに付与されるタイムスタンプの時刻精度を高めることが可能となる。
さらに、本実施形態１のタイムスタンプ補正装置は、算出した予測範囲内の時刻にタイムスタンプを補正することにより、データの順序とタイムスタンプの時刻との不整合が発生するのを回避することができる。また、予測範囲内にないタイムスタンプのみを補正するので、僅かなずれがあるタイムスタンプ全てではなく、ずれの影響が大きいタイムスタンプのみを補正することができ、効率的なタイムスタンプの補正が可能となる。
【００３９】
３．データ再生装置
次に、図５に示すデータ再生装置３０を説明する。データ再生装置３０は、記憶部２０１、再生データ取得部３０１、及び再生データ出力部３０２を備えている。
【００４０】
再生データ取得部３０１は、記憶部２０１からデータブロックを取得する。記憶部２０１には、タイムスタンプ補正装置２０を用いてタイムスタンプが補正されたデータブロックが含まれている。なお、記憶部２０１に、車両データが格納された車両データブロック以外のデータブロック、例えば、映像データが格納された映像データブロックが保存されている場合、再生データ取得部３０１は車両データブロックに加えて映像データブロックを取得してもよい。記憶部２０１に映像データブロックが保存されている場合の構成は、実施形態３において説明する。
【００４１】
再生データ出力部３０２は、再生データ取得部３０１が取得したデータブロックを表示装置に出力する。表示装置は、再生データ出力部３０２から出力されたデータブロックに格納されたデータをユーザに対して表示する。
【００４２】
（実施形態２）
実施形態１では、先頭データと末尾データの間に基準時刻が変更されたデータブロックに着目し、当該データブロックの先頭タイムスタンプを補正する構成を説明した。本実施形態２では、基準時刻が変更されたデータブロック以外のデータブロックについても、タイムスタンプを補正する構成を説明する。
【００４３】
例えば、図８に示すように、複数のデータブロックが連続して配置されており、そのうちｎ番目のデータブロックの先頭データ時刻と末尾データの間に基準時刻がＴｒ０からＴｒ１に変更された場合、ｎ＋１番目以降のデータブロックに格納されたデータには、変更後の基準時刻Ｔｒ１を基準としてタイムスタンプが付与されることになる。そのため、ｎ番目以降のデータブロックに付与されるタイムスタンプの時刻の精度は、比較的に高いと考えられる。これに対し、１乃至ｎ−１番目のデータブロックに格納されたデータには、変更前の基準時刻Ｔｒ０を基準としたタイムスタンプが付与されている。特に、ｎ−１番目のデータブロックについては、基準時刻が変更される直前であるため、データ記録装置１０のクロック部１０３の誤差が蓄積されて、タイムスタンプの時刻の精度が最も低いと考えられる。したがって、１乃至ｎ−１番目のデータブロックについても、変更後の基準時刻Ｔｒ１を基準とした時刻にタイムスタンプを補正することが望ましい。
【００４４】
１乃至ｎ−１番目のデータブロックに格納されたデータのうち、先頭データに付与されたタイムスタンプについては、実施形態１と同様の方法を用いることにより、タイムスタンプを補正することができる。しかしながら、データ記録装置１０を用いて記録されたデータブロックの場合、末尾データにもタイムスタンプが付与されているため、末尾データに付与されたタイムスタンプも補正をする必要がある。
【００４５】
そこで、最初に、末尾データに付与されたタイムスタンプを補正する方法について説明する。以下に示す例では、ｎ番目のデータブロックの先頭データと末尾データの間で基準時刻が変更されたときに、ｎ−１番目のデータブロックの末尾データに付与されたタイムスタンプを補正する場合を示しているが、当然のことながら、ｎ−１番目以外のデータブロックの末尾データに付与されたタイムスタンプについても、同様の方法を用いて補正することができる。なお、本実施形態２のタイムスタンプ補正装置は、実施形態１のタイムスタンプ補正装置２０と実質的に同じであり、実施形態１と相違する構成を中心に説明する。
【００４６】
図５に示すタイムスタンプ補正装置２０において、取得部２０２は、連続して配置された複数のデータブロックを取得する。本実施形態では、取得部２０２は少なくとも、連続する２以上のデータブロック、すなわち、ｎ番目のデータブロックと、ｎ番目の直前に配置されたｎ−１番目のデータブロック（本発明の「第２のデータブロック」に相当）を取得する。ｎ−１番目のデータブロックには、先頭タイムスタンプ（本発明の「第３のタイムスタンプ」に相当）が付与された先頭データ（本発明の「第２の先頭データ」に相当）と、末尾タイムスタンプ（本発明の「第４のタイムスタンプ」に相当）が付与された末尾データ（本発明の「第２の末尾データ」に相当）を含む複数のデータが格納されている。
【００４７】
演算部２０４は、実施形態１にて説明した先頭データの予測範囲に加えて、変更後の基準時刻Ｔｒ１を基準とした場合に、ｎ−１番目のデータブロックの末尾データが位置すると予測される予測範囲を算出する。
【００４８】
末尾データの予測範囲の算出方法として、例えば、演算部２０４は、ｎ番目のデータブロックの先頭データ時刻を基準として、データブロックに含まれるデータの記録間隔に基づいて、ｎ−１番目のデータブロックの末尾データの予測範囲を算出する。
この場合の一例として、演算部２０４は、ｎ番目のデータブロックの先頭データ時刻である上限時刻から、記録間隔を２倍した値を上限時刻から減算して求まる下限時刻までの範囲を、末尾データの予測範囲として算出する。ここで、上限時刻として使用されるｎ番目のデータブロックの先頭データ時刻は、実施形態１の処理によってタイムスタンプが補正された後の先頭タイムスタンプが示す時刻である。
なお、実施形態１の先頭データの予測範囲と同様、末尾データの予測範囲の算出方法はこの例に限定されるものではない。
【００４９】
比較部２０３は、演算部２０４にて算出された末尾データの予測範囲と、ｎ−１番目のデータブロックの末尾データに付与された末尾タイムスタンプが示す末尾データ時刻とを比較し、比較結果に基づいて末尾タイムスタンプの補正の要否を検出する。比較部２０３における末尾データ時刻と予測範囲との比較動作は後述する。
【００５０】
タイムスタンプ補正部２０５は、比較部２０３において末尾データの予測範囲と末尾データ時刻とを比較した結果、末尾タイムスタンプの補正が必要であることを検出した場合、ｎ−１番目のデータブロックの末尾タイムスタンプを予測範囲内の時刻に補正する。例えば、タイムスタンプ補正部２０５は、予測範囲の中央値となる時刻に末尾タイムスタンプを補正する。
【００５１】
ここで、図９は、比較部２０３における予測範囲と末尾データ時刻との比較を示している。
比較部２０３は、ｎ−１番目のデータブロックの末尾タイムスタンプが示す末尾データ時刻Ｔｙｎ−１と、演算部２０４が算出した末尾データの予測範囲とを比較する。図９（ａ）に示すデータブロックの場合、すなわち、末尾データ時刻Ｔｙｎ−１が予測範囲内の時刻である場合には、比較部２０３は末尾タイムスタンプの補正は不要であることを検出する。これに対し、図９（ｂ）に示すデータブロックの場合、すなわち、末尾タイムスタンプが示す末尾データ時刻Ｔｙｎ−１が予測範囲外の時刻である場合には、比較部２０３は、末尾タイムスタンプの補正が必要であることを検出する。
【００５２】
次に、タイムスタンプ補正装置２０の取得部２０２がｉ個のデータブロックを記憶部２０１から順次取得した場合に、ｉ個のデータブロックそれぞれについて、基準時刻が変更されたこと、又は、タイムスタンプの補正の要否を検出するとともに、先頭タイムスタンプ及び末尾タイムスタンプの補正を行う動作を、図１０を用いて説明する。
【００５３】
タイムスタンプ補正装置２０の取得部２０２は、ｉ番目、すなわち、最後に配置されたデータブロックを記憶部２０１から取得する（Ｓ３０１）。次いで、演算部２０４は、ｉ番目のデータブロックの先頭データの予測範囲を算出する（Ｓ３０２）。比較部２０３は、先頭データ時刻と、Ｓ３０３にて算出した先頭データの予測範囲とを比較する（Ｓ３０３）。ここで、先頭データ時刻が先頭データの予測範囲外の時刻である場合（Ｓ３０３：Ｎｏ）、比較部２０３はｉ番目のデータブロックの先頭データ時刻と末尾データ時刻の間に基準時刻が変更されたことを検出し、タイムスタンプ補正部２０５は、先頭タイムスタンプを予測範囲内の時刻に補正する（Ｓ３０４）。図１０のＳ３０２−Ｓ３０４の処理は、図７のＳ２０２−Ｓ２０４の処理と同じである。
【００５４】
次いで、比較部２０３は、ｉ番目のデータブロックの直前に配置された先行データブロックが存在するか否かを判定する（Ｓ３０５）。先行データブロックがないと判定した場合（Ｓ３０５：Ｎｏ）、すなわち、ｉ番目のデータブロックが１番目のデータブロックであると判定した場合、処理を終了する。一方、先行データブロックが存在すると判定した場合（Ｓ３０５：Ｙｅｓ）、取得部２０１は、先行データブロック、すなわち、ｉ−１番目のデータブロックを取得する（Ｓ３０６）。
【００５５】
演算部２０４は、ｉ−１番目のデータブロックの末尾データの予測範囲を算出する（Ｓ３０７）。次いで、比較部２０３は、ｉ−１番目のデータブロックの末尾データ時刻と、Ｓ３０７にて算出した末尾データの予測範囲とを比較し、タイムスタンプの補正の要否を検出する（Ｓ３０８）。ここで、末尾データ時刻が末尾データの予測範囲外の時刻である場合（Ｓ３０８：Ｎｏ）、タイムスタンプ補正部２０５は、末尾タイムスタンプを予測範囲内の時刻に補正する（Ｓ３０９）。そして、ｉ−１番目のデータブロックを、ループ帰還後における先頭データの予測範囲の算出処理対象に設定する（Ｓ３１０）。
【００５６】
その後、処理対象として設定されたｉ−１番目のデータブロックの先頭データについて、再びＳ３０２−Ｓ３０４の処理を実行する。すなわち、ｉ−１番目のデータブロックの先頭データの予測範囲を算出する（Ｓ３０２）。次いで、Ｓ３０２で算出した予測範囲とをｉ−１番目のデータブロックの先頭データ時刻とを比較して、ｉ−１番目のデータブロックの先頭データのタイムスタンプの補正の要否を検出する（Ｓ３０３）。そして、ｉ−１番目のデータブロックの先頭データ時刻が予測範囲外の時刻である場合（Ｓ３０３：Ｎｏ）には、ｉ−１番目のデータブロックの先頭タイムスタンプを補正する。このようにして、１番目のデータブロックに至るまで、図１０に示す処理を繰り返す。
【００５７】
なお、実施形態１、２では、基準時刻が変更されたことを検出する条件と、タイムスタンプの補正が必要な条件と、が同じ条件である例を説明したが、これらは異なる条件としてもよい。
【００５８】
本実施形態２の構成によれば、先頭データ時刻と末尾データ時刻との間で基準時刻が変更されたデータブロックのタイムスタンプ加えて、変更前の基準時刻を基準としてタイムスタンプが付与された全てのタイムスタンプを補正することができるため、タイムスタンプの時刻の精度を高めることが可能となる。
【００５９】
（実施形態３）
上記実施形態１、２では、データ記録装置１０が、車両の動作を示す車両データを記憶部１０７に保存している。記憶部１０７に保存された車両データは、例えば、車両事故が発生した場合の事故原因の分析に使用されるが、車両事故の原因分析には、車両データに加えて、車載カメラが撮影した映像データなどを併せて使用することが考えられる。例えば、事故が発生した瞬間の映像データと、その時点の車両データとを同期して表示させることにより、事故が発生した車両の状況をより詳細に分析することが可能となる。
【００６０】
実施形態１、２のタイムスタンプ補正装置２０を使用することにより、車両データブロックに付与されたタイムスタンプを補正して、時刻の精度を高めることが可能となるが、タイムスタンプを補正した分だけ映像データとの同期がずれる可能性がある。
【００６１】
そこで、本実施形態３では、車両データと映像データとを同期して出力するような場合に、ユーザに対して、これらのデータの同期がずれている可能性を通知する構成を説明する。以下に、実施形態１、２との相違点を中心に、本実施形態を説明する。
【００６２】
１．データ記録装置
図１１は、本実施形態３のデータ記録装置１１を示している。データ記録装置１１は、図１に示すデータ記録装置１０に加えて、映像データ取得部１１１を備えている。図１と同じ構成は同一の符号が付されており、説明は省略する。
【００６３】
映像データ取得部１１１は、カメラ等の撮像装置によって撮影された複数の映像データが格納された映像データブロックを取得する。映像データ取得部１１１は、映像データに加えて、音声データを取得してもよい。映像データ取得部１１１が取得した映像データブロックには、クロック部１０３の装置時刻に基づいてファイル生成時刻が付与され、その後、記憶部１０７に保存される。
【００６４】
２．タイムスタンプ補正装置
図１２は、本実施形態のタイムスタンプ補正装置２１及びデータ再生装置３１を示している。ここでは、タイムスタンプ補正装置２１の構成を説明する。図１２に示すタイムスタンプ補正装置２１は、図５に示すタイムスタンプ補正装置２０に加えて、フラグ設定部２１１を備えている。
【００６５】
フラグ設定部２１１は、タイムスタンプ補正部２０５においてタイムスタンプの補正がされた場合に、当該車両データブロックに補正フラグを立てる。
【００６６】
３．データ再生装置
図１２に示す本実施形態３のデータ再生装置３１は、図５のデータ再生装置３０に加えて、通知部３１１をさらに備えている。
【００６７】
本実施形態３の記憶部２０１には、図１１に示すデータ記録装置１０を用いて記録されたデータブロック、すなわち、車両データが格納された車両データブロック及び映像データが格納された映像データブロックが保存されている。
【００６８】
再生データ取得部３０１は、記憶部３０１に保存されている車両データブロック及び映像データブロックを取得する。なお、再生データ取得部３０１が取得する車両データブロックには、実施形態１又は実施形態２によってタイムスタンプが補正されたデータブロックが含まれている。
【００６９】
再生データ出力部３０２は、再生データ取得部３０１で取得した車両データブロックと映像データブロックとを同期して表示装置に出力する。なお、再生データ出力部３０２は、車両データブロックに付与されたタイムスタンプの時刻と、映像データブロックに付与されたファイル生成時刻とを参照し、時刻が近いそれぞれのデータブロックを紐づけることにより、同期して出力させることができる。
【００７０】
通知部３１１は、フラグ設定部２１１によって補正フラグが立てられたデータブロックが再生データ出力部３０２から出力されている場合に、その旨を「通知する」。なお、通知部３１１は、補正フラグが立てられたデータブロックが再生データ出力部３０２から出力されていることを通知していればよく、通知の方法は任意である。例えば、通知部３１１は、表示装置に対し、データブロックと映像データブロックとの同期がずれている可能性があることを通知することにより、補正フラグが立てられたデータブロックが出力されていることを間接的に通知してもよい。
ここで、本発明の「通知する」とは、視覚的に表示して通知する場合の他、音声によって通知する場合も含む。また、「通知する」とは、直接その内容を通知する場合の他、間接的、すなわち、その内容を推認できる間接事実を通知する場合も含む。
【００７１】
図１３は、本実施形態３による車両データブロック及び映像データブロックを示している。再生データ出力部３０２は、車両データブロックｘｉと映像データブロックｙｉとを同期させて出力する。ここで、図１３に示す例では、車両データブロックｘ１の先頭データと末尾データの間で基準時刻が変更されており、車両データブロックｘ１の先頭タイムスタンプが補正されている。そのため、車両データブロックｘ１の先頭データは、映像データブロックに格納された映像データと時間的にずれている可能性がある。そこで、通知部３１１は、ユーザに対して、同期がずれている可能性を通知する。
【００７２】
図１４は、データ再生装置３０から出力されたデータを表示する表示装置の画面の一例を示している。図１４の右上は、車載カメラによって撮影された４つ（車内、前方、右側方、左側方）の映像データをそれぞれ示しており、右下は、車載マイクによって録音された音声データの振幅をグラフで示しており、左上は、複数の車両データを数値、あるいは、ＯＮ／ＯＦＦを示している。さらに、図１４の左下には、表示装置に表示している映像データ及び車両データの同期がずれている可能性があることを示している。
【００７３】
本実施形態３によれば、実施形態１、２を利用してタイムスタンプを補正した車両データと、映像データ等の車両データ以外のデータを同期して出力する場合に、ユーザに対して、同期がずれている可能性があることを通知することが可能となる。
【００７４】
（総括）
以上、本発明の各実施形態におけるデータ記録装置、タイムスタンプ補正装置、及びデータ再生装置の特徴について説明した。なお、上記実施形態では、データ記録装置、タイムスタンプ補正装置、及びデータ再生装置がそれぞれ独立した異なる装置である例を説明したが、これらの装置のうち２以上を組み合わせて１つの装置としてもよい。また、これらの装置は上述した特徴をそれぞれ備えていればよく、その名称は任意であり、例えば、ドライブレコーダ、情報処理装置等と称してもよい。
【００７５】
上記実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【００７６】
実施形態の説明に用いたブロック図は、装置等の構成を機能毎に分類及び整理したものである。これらの機能ブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【００７７】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロックについては、一のステップで他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えても良い。
【００７８】
各実施形態、及び本発明で使用する「第１」「第２」の用語は、同種の２以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【００７９】
本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記憶媒体に記憶した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用ＣＰＵ及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【００８０】
専用や汎用のハードウェアの記憶媒体（外部記憶装置（ハードディスク、ＵＳＢメモリ、ＣＤ／ＢＤ等）、内部記憶装置（ＲＡＭ、ＲＯＭ等））に格納されるプログラムは、記憶媒体を介して、あるいは記憶媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【００８１】
本明細書においては、主として自動車に関するデータを格納するデータブロックのデータ記録装置及びタイムスタンプ補正装置を説明したが、任意のデータを格納するデータブロックのデータ記録装置及びタイムスタンプ補正装置に適用することが可能である。
【符号の説明】
【００８２】
１０  データ記録装置、２０  タイムスタンプ補正装置、３０  データ再生装置、１０１  基準時刻取得部、１０４  車両データ取得部、１０５  データ特定部、１０６  タイムスタンプ付与部、２０１  記憶部、２０２  取得部、２０３  比較部、２０４  演算部、２０５  タイムスタンプ補正部、２０６  出力部、２１１  フラグ設定部、３０１  再生データ取得部、３０２  再生データ出力部、３１１  通知部
【図１】
2020091743.tif 000003
【図２】
2020091743.tif 000004
【図３】
2020091743.tif 000005
【図４】
2020091743.tif 000006
【図５】
2020091743.tif 000007
【図６】
2020091743.tif 000008
【図７】
2020091743.tif 000009
【図８】
2020091743.tif 000010
【図９】
2020091743.tif 000011
【図１０】
2020091743.tif 000012
【図１１】
2020091743.tif 000013
【図１２】
2020091743.tif 000014
【図１３】
2020091743.tif 000015
【図１４】
2020091743.tif 000016