(57)【要約】【課題】２個の時系列データを同期する際における同期精度を改善する。【解決手段】一実施形態に係るデータ同期方法は、第１時系列データのタイミングを指定する第１タイミングデータ及び第２時系列データのタイミングを指定する第２タイミングデータを用いて前記第１時系列データ及び前記第２時系列データを仮同期するステップと、仮同期された前記第１時系列データ及び前記第２時系列データを、前記第１時系列データ及び前記第２時系列データを用いて同期するステップとを有する。【選択図】図６
2018157385.tif 000002
【特許請求の範囲】
【請求項１】
第１時系列データのタイミングを指定する第１タイミングデータ及び第２時系列データのタイミングを指定する第２タイミングデータを用いて前記第１時系列データ及び前記第２時系列データを仮同期するステップと、
前記仮同期された前記第１時系列データ及び前記第２時系列データを、前記第１時系列データ及び前記第２時系列データを用いて同期するステップと
を有するデータ同期方法。
【請求項２】
前記第１時系列データ及び前記第２時系列データが音を含み、
前記同期するステップにおいて、前記第１時系列データ及び前記第２時系列データに含まれる音を用いて、前記仮同期された前記第１時系列データ及び前記第２時系列データを同期する
請求項１に記載のデータ同期方法。
【請求項３】
前記第１時系列データ及び前記第２時系列データが映像を含む
請求項１又は２に記載のデータ同期方法。
【請求項４】
前記同期するステップにおいて、前記第１時系列データ及び前記第２時系列データの相互相関を用いて、前記仮同期された前記第１時系列データ及び前記第２時系列データを同期する
請求項１乃至３のいずれか一項に記載のデータ同期方法。
【請求項５】
前記第１タイミングデータ及び前記第２タイミングデータに基づいて時間を計算するステップを有し、
前記同期するステップにおいて、前記計算された時間を超える長さを有する一部区間における前記第１時系列データ及び前記第２時系列データの相互相関を用いて、前記仮同期された前記第１時系列データ及び前記第２時系列データを同期する
請求項４に記載のデータ同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２個以上の時系列データを同期する技術に関する。
【背景技術】
【０００２】
映像又は音声等、センサーを用いて記録された２個以上の時系列データを同期させる技術が知られている。例えば特許文献１には、複数の撮像装置において撮影された複数の画像を同期して再生する技術が記載されている。具体的には、特許文献１においては、２台の撮像装置の各々において複数の画像を撮影する際に録音された音声データを用いて２台の撮像装置における画像の撮影時刻のずれを示す時間ずれ情報を生成する。２台の撮像装置は、この時間ずれ情報を用いて決定されるタイミングで画像の再生を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９３５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術においては、２台の撮像装置において撮影された画像を、音声データのみを用いて同期するため、同期の精度に改善の余地があった。
【０００５】
これに対し本発明は、２個の時系列データを同期する際における同期精度を改善する技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、第１時系列データのタイミングを指定する第１タイミングデータ及び第２時系列データのタイミングを指定する第２タイミングデータを用いて前記第１時系列データ及び前記第２時系列データを仮同期するステップと、前記仮同期された前記第１時系列データ及び前記第２時系列データを、前記第１時系列データ及び前記第２時系列データを用いて同期するステップとを有するデータ同期方法を提供する。
【０００７】
前記第１時系列データ及び前記第２時系列データが音を含み、
前記同期するステップにおいて、前記第１時系列データ及び前記第２時系列データに含まれる音を用いて、前記仮同期された前記第１時系列データ及び前記第２時系列データを同期してもよい。
【０００８】
前記第１時系列データ及び前記第２時系列データが映像を含んでもよい。
【０００９】
前記同期するステップにおいて、前記第１時系列データ及び前記第２時系列データの相互相関を用いて、前記仮同期された前記第１時系列データ及び前記第２時系列データを同期してもよい。
【００１０】
前記第１タイミングデータ及び前記第２タイミングデータに基づいて時間を計算するステップを有し、前記同期するステップにおいて、前記計算された時間を超える長さを有する一部区間における前記第１時系列データ及び前記第２時系列データの相互相関を用いて、前記仮同期された前記第１時系列データ及び前記第２時系列データを同期してもよい。
【発明の効果】
【００１１】
本発明によれば、２個の時系列データを同期する際における同期精度を改善することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係るデータ同期システム１の機能構成を例示する図。
【図２】データＤ及びタイミングデータＴを例示する図。
【図３】サーバ装置１０のハードウェア構成を例示する図。
【図４】クライアント装置２０のハードウェア構成を例示する図。
【図５】データ同期システム１における動作の概要を示すシーケンスチャート。
【図６】ステップＳ８における同期処理の詳細を例示するフローチャート。
【図７】データＤの仮同期を例示する図。
【図８】同期された映像を例示する図。
【図９】クライアント装置２０の第２実施形態に係るハードウェア構成を例示する図。
【図１０】データ同期システム１の第２実施形態に係る動作の概要を示すシーケンスチャート。
【図１１】同期処理の第２実施形態に係る詳細を例示するフローチャート。
【図１２】音声と映像との時間差の補償を例示する図。
【発明を実施するための形態】
【００１３】
１．第１実施形態
１−１．構成
図１は、第１実施形態に係るデータ同期システム１の機能構成を例示する図である。データ同期システム１は、データ同期サービスを提供する。データ同期サービスは、Ｎ個のデータＤ［１］〜Ｄ［Ｎ］を同期するサービスである。データＤは、センサー（図示略）により検知された時系列データの一例である。センサーは何を検知するものであってもよいが、一例としては映像センサーであるカメラ及び音センサーであるマイクロフォンである。時系列データとは、センサーの出力信号を時間の経過とともに記録したデータをいう。この例においてデータＤは動画データである。各動画データは、映像トラック（映像データ）及び音声トラック（音データ）を含む。データ同期システム１は、複数の動画データを、音声トラックを基準に用いて同期する。
【００１４】
この例において、データ同期システム１は、サーバ装置１０及び複数のクライアント装置２０を有する。サーバ装置１０は、データ同期サービスにおけるサーバとして機能する情報処理装置である。クライアント装置２０は、データ同期サービスにおけるクライアントとして機能する情報処理装置である。一のクライアント装置２０を他のクライアント装置２０と区別するときは、クライアント装置２０Ａのように添字を用いる。サーバ装置１０は、入力部１１、記憶部１２、取得部１３、仮同期部１４、サンプリング部１５、同期処理部１６、及び出力部１７を有する。クライアント装置２０は、データ取得部２１、記憶部２２、アップロード部２３、ダウンロード部２４、再生部２５、及びＵＩ部２６を有する。
【００１５】
クライアント装置２０において、データ取得部２１は、データＤを取得する。クライアント装置２０は、外部の撮像装置（例えばデジタルビデオカメラ）により撮影されたデータＤを取得してもよいし、クライアント装置２０に内蔵された撮像装置により撮影されたデータＤを取得してもよい（撮像装置は図３において略）。データ取得部２１は、データＤに加え、データＤに関するタイミングデータＴを取得する。タイミングデータＴは、データＤが記録されたタイミングを指定するデータである。データＤ［ｉ］が記録されたタイミングを示すデータを、タイミングデータＴ［ｉ］という。この例において、取得部１３が取得するデータには、第１時系列データの一例であるデータＤ［ｉ］、第２時系列データの一例であるデータＤ［ｊ］、第１タイミングデータの一例であるタイミングデータＴ［ｉ］、及び第２タイミングデータの一例であるタイミングデータＴ［ｊ］が含まれる。なお、タイミングデータＴは、データＤを記録した装置と同じ装置によって記録されてもよいし、データＤを記録した装置とは異なる装置によって記録されてもよい。
【００１６】
記憶部２２は、各種のデータを記憶する。この例において、記憶部２２は、データ取得部２１により取得されたデータＤ及びタイミングデータＴを記憶する。アップロード部２３は、記憶部２２に記憶されているデータＤ及びタイミングデータＴをサーバ装置１０にアップロード（すなわち送信）する。
【００１７】
サーバ装置１０において、入力部１１は、２個以上のセンサーを用いて記録された２個以上の時系列データの入力を受け付ける。２個以上のセンサーとは、物理的に２個以上のセンサーを意味する。これら２個以上のセンサーは、同種のもの（例えば２個以上のマイクロフォン）であってもよいし、異種のもの（例えば１個以上のカメラ及び１個以上のマイクロフォン）であってもよい。ここでは前者の例を用いて説明する。この例においてデータＤ［１］〜Ｄ［Ｎ］は、それぞれ異なるクライアント装置２０において取得されたデータである。例えば、データＤ［１］はクライアント装置２０Ａにおいて取得されたデータであり、データＤ［２］はクライアント装置２０Ｂにおいて取得されたデータである。
【００１８】
記憶部１２は、各種のデータを記憶する。記憶部１２に記憶されるデータには、例えば、データＤ［１］〜Ｄ［Ｎ］が含まれる。取得部１３は、同期の対象となるデータＤを記憶部１２から取得する（すなわち読み出す）。さらに、取得部１３は、取得されたデータＤに関するタイミングデータＴを取得する。
【００１９】
図２は、データＤ及びタイミングデータＴを例示する図である。ここでは、データＤ［１］〜Ｄ［３］の３個のデータが例示されている。これらのデータは、同一の対象物（例えば、楽器を演奏する演奏者）を３台の異なる撮像装置で撮影したものである。タイミングデータＴ［１］〜Ｔ［３］は、データＤ［１］〜Ｄ［３］の記録が開始されたタイミング（例えば時刻）を示す。
【００２０】
再び図１を参照して説明する。仮同期部１４は、データＤ［ｉ］及びデータＤ［ｊ］を仮同期する。仮同期とは、タイミングデータＴを用いて行われる同期処理をいう。データＤ［ｉ］及びデータＤ［ｊ］の仮同期には、タイミングデータＴ［ｉ］及びＴ［ｊ］が用いられる。一例において、仮同期部１４は、データＤ［ｉ］及びデータＤ［ｊ］の時間領域における相対的な位置関係を示すデータを生成する。
【００２１】
同期処理部１６は、仮同期されたデータ［ｉ］及びデータＤ［ｊ］に対し同期処理を行う。同期処理部１６における同期処理は、同期の対象となる２個のデータの相関を示す特徴量を用いて同期を行うことをいう。相関を示す特徴量は、データＤ［ｉ］の音データにより示される信号波形と、データＤ［ｊ］の音データにより示される信号波形との相互相関Ｃｉｊ（τ）の絶対値｜Ｃｉｊ（τ）｜を最大とする時間差τである。すなわち、この例における特徴量Ａ［ｉ，ｊ］は、データＤ［ｉ］を基準としてデータＤ［ｊ］を同期したときの時間差τを表している。特徴量Ａ［ｉ，ｊ］は、負の値もとり得る。例えば、データＤ［ｊ］が時間領域においてデータＤ［ｉ］の後方に位置する場合、特徴量Ａ［ｉ，ｊ］は正であり、データＤ［ｊ］が時間領域においてデータＤ［ｉ］の前方に位置する場合、特徴量Ａ［ｉ，ｊ］は負である。相互相関Ｃｉｊ（τ）は例えば次式（１）で表される。
【数１】
2018157385.tif 000003
ここで、音信号ｙｉはデータＤ［ｉ］に含まれる音データにより示される音信号であり、音信号ｙｊはデータＤ［ｊ］に含まれる音データにより示される音信号である。式（１）は、音信号ｙｉ(ｔ)の始点と音信号ｙｊ(ｔ)の始点とを時間領域において一致させてから、音信号ｙｉ(ｔ)に対する音信号ｙｊ(ｔ)の時間差（時間軸上のシフト量）τを変数として両者間の信号波形の相関の程度を示した数値列を示す。別の例において、相互相関Ｃｉｊ（τ）は次式（２）で表される。
【数２】
2018157385.tif 000004
式（２）は、音信号ｙｉ（ｔ）の周波数スペクトルＹｉ（ｆ）と音信号ｙｊ（ｔ）の周波数スペクトルＹｊ（ｆ）とのクロススペクトルの逆フーリエ変換を意味する。Ｙｉ＊（ｆ）はＹｉ（ｆ）の複素共役である。
【００２２】
この例において、同期処理部１６は、時間領域においてデータＤ［ｉ］の全区間（全体）を用いる代わりに、一部の区間Ｐ［ｉ］とデータＤ［ｊ］との相関を示す特徴量を計算する。サンプリング部１５は、データＤ［ｉ］から区間Ｐ［ｉ］をサンプリングする。
【００２３】
一例において、同期処理部１６は、データＤ［ｉ］及びデータＤ［ｊ］の時間領域における相対的な位置関係を調整して合成し、新たな時系列データを生成する。出力部１７は、同期処理部１６により生成されたデータを出力する。
【００２４】
クライアント装置２０において、ダウンロード部２４は、出力部１７から出力されたデータをダウンロード（すなわち受信）する。再生部２５は、ダウンロード部２４によりダウンロードされたデータを再生する。ＵＩ部２６は、データ同期システムにおけるユーザーインターフェースを提供する。このユーザーインターフェースは、例えば、アップロードされるデータＤの選択、同期される複数のデータＤの選択、複数のデータＤの同期開始の指示、同期されたデータのダウンロードの指示、及びダウンロードされたデータの再生の指示をするためのインターフェースを含む。
【００２５】
図３は、サーバ装置１０のハードウェア構成を例示する図である。サーバ装置１０は、ＣＰＵ（Central Processing Unit）１０１、メモリー１０２、ストレージ１０３、及び通信ＩＦ１０４を有するコンピュータ装置である。ＣＰＵ１０１は、プログラムに従って各種の演算を行い、サーバ装置１０の他のハードウェア要素を制御する制御装置である。メモリー１０２はＣＰＵ１０１が処理を実行する際のワークエリアとして機能する主記憶装置であり、例えばＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含む。ストレージ１０３は各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）を含む。通信ＩＦ１０４は、所定の通信規格に従って他の装置と通信を行うための装置であり、例えばＮＩＣ（Network Interface Card）を含む。
【００２６】
この例において、ストレージ１０３はコンピュータ装置をデータ同期システム１におけるサーバ装置１０として機能させるためのプログラム（以下「サーバプログラム」という）を記憶する。ＣＰＵ１０１がサーバプログラムを実行することにより、図３に示した機能がコンピュータ装置に実装される。ＣＰＵ１０１がサーバプログラムを実行している状態において、通信ＩＦ１０４は入力部１１及び出力部１７の一例である。メモリー１０２及びストレージ１０３の少なくとも一方は記憶部１２の一例である。ＣＰＵ１０１は、取得部１３、仮同期部１４、サンプリング部１５、及び同期処理部１６の一例である。
【００２７】
図４は、クライアント装置２０のハードウェア構成を例示する図である。クライアント装置２０は、ＣＰＵ２０１、メモリー２０２、ストレージ２０３、通信ＩＦ２０４、入力装置２０５、カメラ２０６、マイクロフォン２０７、ディスプレイ２０８、及びスピーカ２０９を有するコンピュータ装置、例えばスマートフォン、タブレット端末、又はパーソナルコンピュータである。ＣＰＵ２０１は、プログラムに従って各種の演算を行い、クライアント装置２０の他のハードウェア要素を制御する制御装置である。メモリー２０２はＣＰＵ２０１が処理を実行する際のワークエリアとして機能する主記憶装置であり、例えばＲＯＭ及びＲＡＭを含む。ストレージ２０３は各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばＳＳＤ又はＨＤＤを含む。通信ＩＦ２０４は、所定の通信規格に従って他の装置と通信を行うための装置であり、例えば無線通信を行うためのアンテナ及びチップセットを含む。入力装置２０５はユーザーが情報又は指示を入力するための装置であり、例えばタッチデバイスを含む。カメラ２０６は、映像を撮影し、撮影した映像をデータとして記録するための装置である。ここでいう映像は、静止画及び動画の双方を含む概念である。マイクロフォン２０７は、音声を集音し、集音した音声をデータとして記録するための装置である。ディスプレイ２０８は、映像を出力する装置である。スピーカ２０９は、音声を出力する装置である。
【００２８】
この例において、ストレージ２０３はコンピュータ装置をデータ同期システム１におけるクライアント装置２０として機能させるためのプログラム（以下「クライアントプログラム」という）を記憶する。ＣＰＵ２０１がクライアントプログラムを実行することにより、図３に示した機能がコンピュータ装置に実装される。ＣＰＵ２０１がサーバプログラムを実行している状態において、ＣＰＵ２０１は、データ取得部２１及び再生部２５の一例である。メモリー２０２及びストレージ２０３の少なくとも一方は記憶部２２の一例である。通信ＩＦ２０４はアップロード部２３及びダウンロード部２４の一例である。入力装置２０５及びディスプレイ２０８はＵＩ部２６の一例である。
【００２９】
１−２．動作
図５は、データ同期システム１における動作の概要を示すシーケンスチャートである。ここでは、サーバ装置１０、及びクライアント装置２０Ａ〜２０Ｄの４台のクライアント装置２０のみを図示する。クライアント装置２０Ａ〜２０Ｃは、それぞれ、図５の処理に先立ってデータＤ［１］〜Ｄ［３］及びタイミングデータＴ［１］〜Ｔ［３］を取得する。この例において、タイミングデータＴ［ｉ］は、データＤ［ｉ］の記録が開始された時刻を示すタイムスタンプである。データＤ［ｉ］を記録する装置は、時刻を計測するためのタイマーを内蔵しており、このタイマーにより計測される時刻がタイムスタンプとして記録される。
【００３０】
ステップＳ１において、クライアント装置２０Ａは、データＤ［１］及びタイミングデータＴ［１］をサーバ装置１０にアップロードする。ステップＳ２において、サーバ装置１０は、データＤ［１］、及びタイミングデータＴ［１］を記憶する。ステップＳ３において、クライアント装置２０Ｂは、データＤ［２］及びタイミングデータＴ［２］をサーバ装置１０にアップロードする。ステップＳ４において、サーバ装置１０は、データＤ［２］及びタイミングデータＴ［２］を記憶する。ステップＳ５において、クライアント装置２０Ｃは、データＤ［３］及びタイミングデータＴ［３］をサーバ装置１０にアップロードする。ステップＳ６において、サーバ装置１０は、データＤ［３］及びタイミングデータＴ［３］を記憶する。図示していないクライアント装置２０も含めて、例えばＣ台のクライアント装置２０（Ｃは例えば３以上の自然数）からそれぞれデータＤ及びタイミングデータＴがアップロードされたとすると、サーバ装置１０は、記憶部１２にデータＤ［１］〜Ｄ［Ｃ］及びタイミングデータＴ［１］〜Ｔ［Ｃ］を記憶する。
【００３１】
ステップＳ７において、クライアント装置２０Ｄは、Ｎ個（Ｎは、例えば３≦Ｎ≦Ｃを満たす自然数）のデータＤの同期要求をサーバ装置１０に送信する。ここでは便宜的に、同期要求によりデータＤ［１］〜Ｄ［Ｎ］が指定される例を説明する。この同期要求は、データＤ［１］〜Ｄ［Ｎ］の識別子、及びクライアント装置２０Ｄの識別子を含む。ステップＳ８において、サーバ装置１０は、同期要求に従って複数のデータＤを同期する。ステップＳ９において、クライアント装置２０Ｄは、同期されたデータをダウンロードする。ステップＳ１０において、クライアント装置２０Ｄは、ダウンロードしたデータを再生する。
【００３２】
図６は、ステップＳ８における同期処理の詳細を例示するフローチャートである。以下においては仮同期部１４等の機能要素を処理の主体として説明するが、これは、サーバプログラムを実行しているＣＰＵ１０１が他のハードウェア要素と協働して処理を実行することを意味する。
【００３３】
ステップＳ８０１において、取得部１３は、同期要求により指定されたデータＤ［１］〜Ｄ［Ｎ］を記憶部１２から取得する（すなわち読み出す）。ステップＳ８０２において、取得部１３は、データＤ［１］〜Ｄ［Ｎ］に対応するタイミングデータＴ［１］〜Ｔ［Ｎ］を記憶部１２から取得する（すなわち読み出す）。なお、取得部１３がデータＤ及びタイミングデータＴを取得する順序及びタイミングはどのようなものでもよく、例えば、取得部１３は、データＤ及びタイミングデータＴを同時に取得してもよい。
【００３４】
ステップＳ８０４において、仮同期部１４は、データＤ［１］〜Ｄ［Ｎ］を仮同期する。具体的には、仮同期部１４は、時間領域においてデータＤ［ｉ］の始点の位置Ｐ［ｉ］を次式（３）に従って計算する。
Ｐ［ｉ］＝Ｔ［ｉ］−Ｔ０      …（３）
式（３）においてＴ０は基準時刻であり、例えば、タイミングデータＴ［１］〜Ｔ［Ｎ］のうち最小値である。
【００３５】
図７は、データＤの仮同期を例示する図である。ここではＭ＝３の例を示す。データＤ［１］〜Ｄ［３］が、時間領域において、基準時刻Ｔ０に対しタイミングデータＴ［１］〜Ｔ［３］により定められる位置に配置される。また、ここでは、データＤ［２］とデータＤ［３］との相互相関を計算する際に用いられる区間Ｐ［２］を例示している。このようにタイミングデータＴを用いて時間領域における位置を調整することはあくまで「仮」同期であるが、これは以下の理由による。一般に、映像を正確に同期しようとすると、同期信号に必要な時間分解能は、３０ｆｐｓの映像に対しては約３３ｍｓであり、２４０ｆｐｓの映像に対しては約４ｍｓである。しかし、このように高い時間分解能を有する同期信号を用いることは著しいコスト増大を招くか、又はシステムの著しい負荷増大を招く。本実施形態においてタイミングデータＴとして用いるタイムスタンプは、このように精細な時間分解能は有していない。そこでこの処理を仮同期という。仮同期部１４は、時間領域におけるデータＤ［１］〜Ｄ［Ｎ］の位置関係を特定するデータを生成する。
【００３６】
再び図６を参照して説明する。ステップＳ８０５において、サンプリング部１５は、データＤ［ｉ］から区間Ｐ［ｉ］をサンプリングする。詳細には以下のとおりである。まず、サンプリング部１５は、データＤ［１］〜Ｄ［Ｎ］の中から、２個のデータ、データＤ［ｉ］及びデータＤ［ｊ］の組を選択する。データＤ［ｉ］及びデータＤ［ｊ］の選択には、所定のアルゴリズムが用いられる。一例において、サンプリング部１５は、初期値としてｉ＝１及びｊ＝２を与え、以下、ステップＳ８０５の処理が繰り返し行われる度にｉ及びｊを１ずつ加算する。別の例において、サンプリング部１５は、データＤ［１］〜Ｄ［Ｎ］を総当たりで組み合わせてもよい。サンプリング部１５は、データＤ［ｉ］から一部の区間Ｐ［ｉ］をサンプリングする（すなわち切り出す）。区間Ｐ［ｉ］の時間長ｄＰ［ｉ］は、少なくとも以下の条件を満たす。
Ｔ［ｉ］≦Ｔ［ｊ］の場合、ｄＰ［ｉ］＞（Ｔ［ｊ］−Ｔ［ｉ］）      …（４）
式（４）の条件は、区間Ｐ［ｉ］とデータＤ［ｊ］とが時間領域において重なりを有するという制約から得られる条件である。式（４）のうち（Ｔ［ｊ］−Ｔ［ｉ］）の項は、第１タイミングデータ及び第２タイミングデータに基づいて計算される時間の一例である。すなわち、ステップＳ８０５は、第１タイミングデータ及び前記第２タイミングデータに基づいて時間を計算するステップの一例である。
なお、Ｔ［ｉ］＞Ｔ［ｊ］の場合は、区間Ｐ［ｉ］とデータＤ［ｊ］とが時間領域において重なりを有していれば、時間長ｄＰ［ｉ］に特に制限はない。
【００３７】
ステップＳ８０６において、同期処理部１６は、区間Ｐ［ｉ］とデータＤ［ｊ］との相関を示す特徴量Ａ［ｉ，ｊ］を計算する。一例において、特徴量Ａ［ｉ，ｊ］として、区間Ｐ［ｉ］の音声トラックにより示される音信号ｙｉとデータＤ［ｊ］の音声トラックにより示される音信号ｙｊとの相互相関Ｃｉｊ（式（１））を最大にする時間差τ［ｉ，ｊ］が用いられる。この例においては、相互相関Ｃｉｊの計算に用いられるデータが、データＤ［ｉ］の時間領域における全体ではなく、一部の区間Ｐ［ｉ］に限定されている。そのため、データＤ［ｉ］全体を相関の計算に用いる例と比較して計算量を低減することができる。すなわち少ないコンピュータ資源を用いてもより拘束に処理をすることができる。
【００３８】
なおここでは、データＤ［ｉ］からサンプリングされた区間Ｐ［ｉ］を用いて相互相関Ｃｉｊを計算する例を説明した。しかし、データＤ［ｉ］から区間Ｐ［ｉ］をサンプリングせず、データＤ［ｉ］をそのまま用いて相互相関Ｃｉｊを計算してもよい。区間Ｐ［ｉ］を用いる場合もデータＤ［ｉ］をそのまま用いる場合も、式（１）におけるτの範囲をデータＤ［ｊ］の時間領域における全範囲において変化させるのではなく、一部領域のみにおいて変化させてもよい。τの範囲をデータＤ［ｊ］の時間領域における一部領域のみにおいて変化させることにより、全範囲において変化させる例と比較して計算量を低減することができる。
【００３９】
ステップＳ８０７において、同期処理部１６は、特徴量Ａを用いて、複数のデータＤの時間領域における相対位置（すなわち時間差）を決定する。この時間差は、複数の時系列データを同期するためのパラメーターの一例である。
【００４０】
同期処理部１６は、複数のデータＤを、決定された相対位置に従って時間領域において配置する。同期処理部１６は、複数のデータＤを合成して単一のデータを生成する。ここで生成されるデータは映像トラック及び音声トラックを含む動画データである。映像トラック（映像データ）に関して、同期処理部１６は、画面をＮ個以上の空間領域に分割し、各領域に１つずつ映像を割り当てる。音声トラック（音データ）に関して、同期処理部１６は、複数の音声トラックを加算する。音声トラックが複数チャンネル（例えば右チャンネル及び左チャンネルの２チャンネル）の信号を含んでいる場合、同期処理部１６は、チャンネル毎に音声信号を加算する。
【００４１】
ステップＳ８０９において、出力部１７は、同期処理部１６により生成されたデータを、同期要求の送信元であるクライアント装置２０Ｄに送信する。クライアント装置２０Ｄは、ダウンロードしたデータを再生する。
【００４２】
図８は、同期された映像を例示する図である。この例において、データＤ［１］〜Ｄ［３］の３個のデータＤが同期される。画面は４分割され、分割された領域に一つずつデータＤが割り当てられる。１つの領域は空欄である。クライアント装置２０Ｄにおいて、映像の再生と同期して音声が再生される。
【００４３】
２．第２実施形態
例えば、被写体である音源の動画を２台の撮像装置（撮像装置Ｘ１及び撮像装置Ｘ２）で撮影する状況を想定する。撮像装置Ｘ１は被写体のすぐ近くで撮影する。撮像装置Ｘ２は被写体から約３４０ｍ離れた位置から撮影する。撮像装置Ｘ１により記録された動画データであるデータＤ［１］においては、映像と音声とはほぼ同期している。ところが、撮像装置Ｘ２により記録された動画データであるデータＤ［２］においては、光速（約３×１０8ｍ／ｓ）と音速（約３４０ｍ／ｓ）との差により、音声は映像よりも約１秒、遅れている。この状態でデータＤ［１］とデータＤ［２］とを音声トラックに基づいて同期すると、映像においては相対的に、データＤ［１］がデータＤ［２］よりも約１秒、遅れているように見える（音声との関係で言うと、データＤ［２］の映像が１秒、先走っているように見える）。このように、同期したはずの映像が、音源からの距離差によって、ずれているように見えるという問題がある。第２実施形態はこの問題に対処する。なお、以下において第１実施形態と共通する事項についてはその説明を省略する。
【００４４】
図９は、クライアント装置２０の第２実施形態に係るハードウェア構成を例示する図である。クライアント装置２０は、測距センサー２１０を有する。測距センサー２１０は、カメラ２０６が撮影する被写体までの距離を計測するセンサーであり、例えばＴＯＦ（Time of Flight）センサーを含む。
【００４５】
図１０は、データ同期システム１の第２実施形態に係る動作の概要を示すシーケンスチャートである。第２実施形態において、クライアント装置２０Ａ〜２０Ｃは、図５の処理に先立って、さらに、データＤ［１］〜Ｄ［Ｎ］に対応する距離データＬ［１］〜Ｌ［Ｎ］を取得する。距離データＬ［ｉ］は、データＤ［ｉ］の撮影を開始した時点における撮像装置から被写体までの距離を示す。距離データＬは、測距センサー２１０を用いて記録される。ステップＳ１〜Ｓ６において、各クライアント装置２０は、データＤ［ｉ］及びタイミングデータＴ［ｉ］に加え、距離データＬ［ｉ］をサーバ装置１０にアップロードする。サーバ装置１０は、データＤ［ｉ］及びタイミングデータＴ［ｉ］に加え、距離データＬ［ｉ］を記憶する。
【００４６】
図１１は、同期処理の第２実施形態に係る詳細を例示するフローチャートである。ステップＳ８０３において、取得部１３は、データＤ［１］〜Ｄ［Ｎ］に対応する距離データＬ［１］〜Ｌ［Ｎ］を記憶部１２から取得する（すなわち読み出す）。
【００４７】
ステップＳ８０８において、同期処理部１６は、各データＤにおける音声と映像との時間差を、距離データＬを用いて補償する。詳細には、同期処理部１６は、データＤ［ｉ］において、時間領域における映像トラックの位置Ｔｖ［ｉ］を、次式（５）に従って調整する。
Ｔｖ［ｉ］＝Ｔｓ［ｉ］＋ｃＬ［ｉ］      …（５）
ここで、Ｔｓは音声トラックの開始時刻（すなわち、タイミングデータＴにより示される時刻）である、ｃは音速である。
【００４８】
図１２は、音声と映像との時間差の補償を例示する図である。ここではデータＤ［１］〜Ｄ［３］の３個のデータが同期される例を示す。この例において、データＤ［１］及びＤ［２］は音源のすぐ近くに位置する撮像装置により記録され、データＤ［３］は音源から約３４０ｍ離れた位置にある撮像装置により記録されたものである。データＤ［３］の映像トラックの開始位置は、データＤ［３］の音声トラックの開始位置から約１秒、時間領域において後方に位置している。このように、各データＤにおける音声と映像との時間差を、距離データＬを用いて補償することにより、映像の同期精度を改善することができる。
【００４９】
３．変形例
本発明は上述の第１及び第２実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００５０】
３−１．変形例１
タイミングデータＴの具体例は第１及び第２実施形態において例示したものに限定されない。一例において、タイミングデータＴはＧＰＳ（Global Positioning System）信号から得られる時刻を示すであってもよい。この例において各撮像装置はＧＰＳ受信機を有しており、動画データを記録する際には、ＧＰＳ受信機が受信したＧＰＳ信号により示される時刻をタイムスタンプとして記録する。
【００５１】
別の例において、タイミングデータＴは、システムから送信される撮影開始信号を受信してから各撮像装置が動画データの記録を開始するまでの所要時間を示す情報である。この例において、複数の撮像装置はＷｉＦｉ（登録商標）又はBluetooth（登録商標）等の規格に従った無線通信を介して相互に、又は共通のサーバに接続される。例えば、サーバは、撮影開始指示をポーリングする。この撮影開始指示を受信した撮像装置は動画データの記録を開始する。動画データの記録を開始するには、撮影用のアプリケーションプログラムを起動したり、カメラをウォームアップしたり、種々の処理が必要である。またこれらの処理は、撮像装置の具体的ハードウェア構成によってその所要時間が異なる。各撮像装置は、自身が撮影開始指示を受信してから動画データの記録を開始するまでの所要時間を示す情報を記憶している。撮像装置は、動画データにこの情報を対応づけて記録する。例えばこの例のように、システム構成によって、複数の撮像装置においてほぼ同時に撮影開始指示を受信することが定められている場合、タイミングデータＴはタイムスタンプを含んでいなくてもよく、撮影開始指示を受信してから動画データの記録を開始するまでの所要時間を示す情報のみを含んでいてもよい。
【００５２】
別の例において、タイミングデータは、タッチセンサー、光センサー、又は加速度センサー等、各種のセンサーを用いて記録されたデータであってもよい。この場合において、タイミングデータは、単に時間領域における１点を示すものではなく、センサーの出力信号を時系列に記録したデータであってもよい。
【００５３】
３−２．変形例２
仮同期部１４における仮同期処理及び同期処理部１６における同期処理の具体例は、第１及び第２実施形態において例示されたものに限定されない。例えば動画データに含まれる音声の品質が悪いことが分かっている場合、仮同期部１４が動画データに含まれる音声トラックに記録された音信号の相互相関を用いて仮同期処理をし、同期処理部１６がＧＰＳ信号等に含まれる時刻情報から得られるタイムスタンプに基づいて同期処理を行ってもよい。仮同期部１４は、例えば同期処理部１６において同期の基準として用いられるデータとは異なるセンサーを用いて記録されたデータを用いて仮同期処理を行うものであれば、その具体的処理はどのようなものであってもよい。
【００５４】
第１及び第２実施形態において、相互相関Ｃｉｊの計算に用いられるデータが、データＤ［ｉ］の時間領域における全体ではなく、一部の区間Ｐ［ｉ］に限定される例を説明した。しかし、区間Ｐ［ｉ］に代わりデータＤ［ｉ］の時間領域における全体が相互相関Ｃｉｊの計算に用いられてもよい。
【００５５】
３−３．変形例３
データＤ［ｉ］とデータＤ［ｊ］との相関を示す特徴量Ａは、理想的には次式（６）〜（８）の拘束条件を満たすはずである。
Ａ［ｉ，ｉ］＝０      …（６）
Ａ［ｉ，ｊ］−Ａ［ｉ，ｋ］はｉに依存しない      …（７）
｜Ａ［ｉ，ｊ］｜＝｜Ａ［ｊ，ｉ］｜      …（８）
これらの拘束条件は、カメラ及びマイクロフォン以外のセンサーを用いて記録された時系列データについても成立するはずである。サーバ装置１０は、これらの拘束条件を用いて、データＤまたは他のセンサーを用いて記録されたデータの妥当性を評価し、妥当性の低いデータは同期のためのパラメーターの計算に用いる要素から除外してもよい。
【００５６】
３−４．変形例４
２個のデータＤの相関を示す特徴量Ａの具体例は、データＤに含まれる音データの相互相関を最大にする時間差τ（式（１）又は（２））に限定されない。ＭＦＣＣ（Mel-Frequency Cepstrum Coefficients、メル周波数ケプストラム係数）又はＰＣＰ（Pitch Class Profile）等の他のパラメーターを最大にする時間差が特徴量Ａとして用いられてもよい。また、特徴量Ａは、音データの相関に代えて、又は加えて、映像データの相関を示すものであってもよい。
【００５７】
３−５．変形例５
同期されたデータの構造及びその再生方法は第１及び第２実施形態において例示されたものに限定されない。同期処理部１６は、データＤ［１］〜Ｄ［Ｎ］を合成した動画データを生成する代わりに、データＤ［１］〜Ｄ［Ｎ］の相対的な再生タイミングを示すデータを生成してもよい。この場合、出力部１７は、データＤ［１］〜Ｄ［Ｎ］のＮ個のデータそのもの、及びこの再生タイミングを示すデータを出力する。クライアント装置２０は、これらのデータをダウンロードする。クライアント装置２０は、再生タイミングを示すデータに従って、データＤ［１］〜Ｄ［Ｎ］を再生する。すなわち、この例において、サーバ装置１０ではなくクライアント装置２０が、データＤ［１］〜Ｄ［Ｎ］を合成する。
【００５８】
３−６．他の変形例
データＤは動画データに限定されない。データＤは、センサーを用いて記録された時系列データであればどのようなデータでもよく、例えば、映像及び音声の少なくとも一方に代えて、又は加えて、他の情報を含んでもよい。
【００５９】
データ同期システム１の機能を実現するためのハードウェア構成は、図５、図６、及び図９で例示したものに限定されない。要求される機能を実現できるものであれば、データ同期システム１はどのようなハードウェア構成を有していてもよい。また、機能とハードウェアとの対応関係は、実施形態で例示したものに限定されない。例えば、実施形態においてサーバ装置１０に実装されていた機能を、２台以上の装置に分散して実装してもよい。あるいは、実施形態においてサーバ装置１０に実装されている機能の少なくとも一部を、クライアント装置２０に実装してもよい。例えば、データ同期システム１のすべての機能を、単一の情報処理装置に実装してもよい。
【００６０】
サーバ装置１０及びクライアント装置２０において実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリーなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。また、このプログラムは、図８のすべてのステップを備える必要はない。これらのステップの一部が省略されてもよい。
【符号の説明】
【００６１】
１…データ同期システム、１０…サーバ装置、１１…入力部、１２…記憶部、１３…取得部、１４…仮同期部、１５…サンプリング部、１６…同期処理部、１７…出力部、２０…クライアント装置、２１…データ取得部、２２…記憶部、２３…アップロード部、２４…ダウンロード部、２４…再生部、２６…ＵＩ部、１０１…ＣＰＵ、１０２…メモリー、１０３…ストレージ、１０４…通信ＩＦ、２０１…ＣＰＵ、２０２…メモリー、２０３…ストレージ、２０４…通信ＩＦ、２０５…入力装置、２０６…カメラ、２０７…マイクロフォン、２０８…ディスプレイ、２０９…スピーカ、２１０…測距センサー
【図１】
2018157385.tif 000005
【図２】
2018157385.tif 000006
【図３】
2018157385.tif 000007
【図４】
2018157385.tif 000008
【図５】
2018157385.tif 000009
【図６】
2018157385.tif 000010
【図７】
2018157385.tif 000011
【図８】
2018157385.tif 000012
【図９】
2018157385.tif 000013
【図１０】
2018157385.tif 000014
【図１１】
2018157385.tif 000015
【図１２】
2018157385.tif 000016