(57)【要約】【課題】２個以上の時系列データの同期精度を向上させる。【解決手段】一実施形態に係るデータ同期方法は、２個以上の時系列データから抽出された３個以上の区間から選択された少なくとも２組の区間における相関を示す特徴量を計算するステップと、特徴量の集合が満たすべき条件を満たさない区間を除外して決定されたパラメータを用いて、２個以上の時系列データを同期するステップとを有する。【選択図】図８
2018157363.tif 000002
【特許請求の範囲】
【請求項１】
２個以上の時系列データから抽出された３個以上の区間から選択された少なくとも２組の区間における相関を示す特徴量を計算するステップと、
前記特徴量の集合が満たすべき条件を満たさない区間を除外して決定されたパラメータを用いて、前記２個以上の時系列データを同期するステップと
を有するデータ同期方法。
【請求項２】
３個以上のセンサーを用いて記録された３個以上の時系列データの入力を受け付け、
前記入力された時系列データについて全体の相関を示す特徴量を計算するステップと、
前記特徴量の集合が満たすべき条件との関係を用いて前記入力された時系列データを絞り込むステップと
を有し、
前記少なくとも２組の区間における相関を示す特徴量を計算するステップにおいて、前記絞り込まれた信号から抽出された３個以上の区間から選択された少なくとも２組の区間における相関を示す特徴量を計算する
請求項１に記載のデータ同期方法。
【請求項３】
前記集合は、時系列データＤ［ｉ］に対し時系列データＤ［ｉｊ］を同期させた場合の特徴量Ａ［ｉ，ｊ］を要素とする行列であり、
前記条件は、
Ａ［ｉ，ｊ］＝０
Ａ［ｉ，ｊ］―Ａ［ｉ，ｋ］がｉに依存しない
Ａ［ｉ，ｊ］＝Ａ［ｊ，ｉ］
という条件である
請求項１又は２に記載のデータ同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２個以上の時系列データを同期する技術に関する。
【背景技術】
【０００２】
映像又は音声等、センサーを用いて記録された２個以上の時系列データを同期させる技術が知られている。例えば特許文献１には、複数の撮像装置において撮影された複数の画像を同期して再生する技術が記載されている。具体的には、特許文献１においては、２台の撮像装置の各々において複数の画像を撮影する際に録音された音声データを用いて２台の撮像装置における画像の撮影時刻のずれを示す時間ずれ情報を生成する。２台の撮像装置は、この時間ずれ情報を用いて決定されるタイミングで画像の再生を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９３５６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術においては、同期に用いられる時系列データである音声データの品質が悪い区間があると、その区間のために同期の精度が低下してしまうという問題があった。
【０００５】
これに対し本発明は、２個以上の時系列データの同期精度を向上させる技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、２個以上の時系列データから抽出された３個以上の区間から選択された少なくとも２組の区間における相関を示す特徴量を計算するステップと、前記特徴量の集合が満たすべき条件を満たさない区間を除外して決定されたパラメータを用いて、前記２個以上の時系列データを同期するステップとを有するデータ同期方法を提供する。
【０００７】
このデータ同期方法は、３個以上のセンサーを用いて記録された３個以上の時系列データの入力を受け付け、前記入力された時系列データについて全体の相関を示す特徴量を計算するステップと、前記特徴量の集合が満たすべき条件との関係を用いて前記入力された時系列データを絞り込むステップとを有し、前記少なくとも２組の区間における相関を示す特徴量を計算するステップにおいて、前記絞り込まれた信号から抽出された３個以上の区間から選択された少なくとも２組の区間における相関を示す特徴量を計算してもよい。
【０００８】
前記集合は、時系列データＤ［ｉ］に対し時系列データＤ［ｊ］を同期させた場合の特徴量Ａ［ｉ，ｊ］を要素とする行列であり、前記条件は、
Ａ［ｉ，ｊ］＝０
Ａ［ｉ，ｊ］―Ａ［ｉ，ｋ］がｉに依存しない
Ａ［ｉ，ｊ］＝Ａ［ｊ，ｉ］
という条件であってもよい。
【発明の効果】
【０００９】
本発明によれば、２個以上の時系列データの同期精度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】関連技術に係るデータ同期システム９の概要を例示する図。
【図２】データ同期システム９の動作を例示するフローチャート。
【図３】一実施形態に係るデータ同期システム１の機能構成を例示する図。
【図４】データＤを例示する図。
【図５】サーバ装置１０のハードウェア構成を例示する図。
【図６】クライアント装置２０のハードウェア構成を例示する図。
【図７】データ同期システム１における動作の概要を示すシーケンスチャート。
【図８】ステップＳ８における同期処理の詳細を例示するフローチャート。
【図９】行列Ｓの具体例を示す図。
【図１０】ステップＳ８０７において生成されるデータを例示する図。
【図１１】特徴量Ａの行列を例示する図。
【図１２】同期された映像を例示する図。
【図１３】同期処理の第２実施形態に係る詳細を例示するフローチャート。
【図１４】ランダムサンプリングにより切り出された区間Ｐを例示する図。
【図１５】点数Ｓｐを例示する図。
【発明を実施するための形態】
【００１１】
１．概要
図１は、関連技術に係るデータ同期システム９の概要を例示する図である。この例においては、データ同期システム９に対しデータＤ［１］〜Ｄ［Ｎ］のＮ個のデータが入力される。Ｎは２以上の自然数である。これらＮ個のデータを互いに区別しないときは単にデータＤという。この例においてデータＤは、カメラ及びマイクロフォンを用いて記録された映像及び音を含む時系列データであり、いわゆる動画データである。データＤ［１］〜Ｄ［Ｎ］は、それぞれ異なるカメラ及びマイクロフォンを用いて記録されたデータである。データ同期システム９は、Ｄ［１］〜Ｄ［Ｎ］を同期する。
【００１２】
図２は、データ同期システム９の動作を例示するフローチャートである。ステップＳ９１において、データ同期システム９は、データＤ［１］〜Ｄ［Ｎ］の中からリファレンスとなるデータＤ［ｒ］を何らかの方法により選択する。例えば１番目のデータＤ［１］がデータＤ［ｒ］として選択される（ｒ＝１）。ステップＳ９２において、データ同期システム９は、データＤ［１］〜Ｄ［Ｎ］の中から比較の対象となるデータＤ［ｋ］を選択する。データＤ［ｋ］は、データＤ［ｒ］以外のデータの中から所定の順序で１個ずつ選択される。最初に、例えば２番目のデータＤ［２］がデータＤ［ｋ］として選択される（ｋ＝２）。ステップＳ９３において、データ同期システム９は、データＤ［ｒ］とデータＤ［ｋ］との相関を示す特徴量Ａ［ｒ，ｋ］を計算する。この例において特徴量Ａ［ｒ，ｋ］は、データＤ［ｒ］に対してデータＤ［ｋ］を同期させたときの時間差τ［ｒ，ｋ］を示す情報（以下「時間差分情報」という）である。時間差τ［ｒ，ｋ］は、データＤ［ｒ］とデータＤ［ｋ］との間において、両者の音データにより示される音信号の相互相関Ｃｒｋ（τ）の絶対値｜Ｃｒｋ（τ）｜が最大となる時間差τである。ステップＳ９４において、データ同期システム９は、すべてのデータＤについて処理が完了したか判断する。すべてのデータＤについて処理が完了したと判断された場合（Ｓ９４：ＹＥＳ）、データ同期システム９は、処理をステップＳ９５に移行する。まだ処理が行われていないデータＤが存在すると判断された場合（Ｓ９４：ＮＯ）、データ同期システム９は、処理をステップＳ９２に移行する。ステップＳ９５において、データ同期システム９は、ステップＳ９３において計算された時間差分情報を用いてデータＤ［１］〜Ｄ［Ｎ］を同期する。
【００１３】
図２において例示したデータ同期方法には、次の問題がある。第１に、リファレンスとして選択されたデータＤ［ｒ］がリファレンスとしてふさわしくないデータであった場合、Ｎ個のデータＤ全体の同期精度が低下してしまうという問題である。リファレンスとしてふさわしくないデータとは、例えば、ＳＮ比が低いデータ、時間長が足りない（短い）データ、又は他のデータＤと似ている音色が少ないデータである。第２に、全体の相互相関だけを用いてデータを同期するため、ループ系の音楽など、音データにおいて繰り返しのパターンが多いデータに対して計算される時間差分情報が、実態と整合しない場合があるという問題である。本実施形態はこれらの問題に対処する。
【００１４】
２．第１実施形態
２−１．構成
図３は、一実施形態に係るデータ同期システム１の機能構成を例示する図である。データ同期システム１は、データ同期サービスを提供する。データ同期サービスは、Ｎ個のデータＤ［１］〜Ｄ［Ｎ］を同期するサービスである。データＤは、センサー（図示略）により検知された時系列データの一例である。センサーは何を検知するものであってもよいが、一例としては映像センサーであるカメラ及び音センサーであるマイクロフォンである。時系列データとは、センサーの出力信号を時間の経過とともに記録したデータをいう。この例においてデータＤは動画データである。各動画データは、映像トラック（映像データ）及び音声トラック（音データ）を含む。データ同期システム１は、複数の動画データを、音声トラックを基準に用いて同期する。
【００１５】
この例において、データ同期システム１は、サーバ装置１０及び複数のクライアント装置２０を有する。サーバ装置１０は、データ同期サービスにおけるサーバとして機能する情報処理装置である。クライアント装置２０は、データ同期サービスにおけるクライアントとして機能する情報処理装置である。一のクライアント装置２０を他のクライアント装置２０と区別するときは、クライアント装置２０Ａのように添字を用いる。サーバ装置１０は、入力部１１、記憶部１２、取得部１３、計算部１４、選択部１５、同期処理部１６、及び出力部１７を有する。クライアント装置２０は、データ取得部２１、記憶部２２、アップロード部２３、ダウンロード部２４、再生部２５、及びＵＩ部２６を有する。
【００１６】
クライアント装置２０において、データ取得部２１は、データＤを取得する。クライアント装置２０は、外部の撮像装置（例えばデジタルビデオカメラ）により撮影されたデータＤを取得してもよいし、クライアント装置２０に内蔵された撮像装置により撮影されたデータＤを取得してもよい（撮像装置は図３において略）。記憶部２２は、各種のデータを記憶する。この例において、記憶部２２は、データ取得部２１により取得されたデータＤを記憶する。アップロード部２３は、記憶部２２に記憶されているデータＤをサーバ装置１０にアップロード（すなわち送信）する。
【００１７】
サーバ装置１０において、入力部１１は、２個以上のセンサーを用いて記録された２個以上の時系列データの入力を受け付ける。２個以上のセンサーとは、物理的に２個以上のセンサーを意味する。これら２個以上のセンサーは、同種のもの（例えば２個以上のマイクロフォン）であってもよいし、異種のもの（例えば１個以上のカメラ及び１個以上のマイクロフォン）であってもよい。ここでは前者の例を用いて説明する。この例においてデータＤ［１］〜Ｄ［Ｎ］は、それぞれ異なるクライアント装置２０において取得されたデータである。例えば、データＤ［１］はクライアント装置２０Ａにおいて取得されたデータであり、データＤ［２］はクライアント装置２０Ｂにおいて取得されたデータである。
【００１８】
記憶部１２は、各種のデータを記憶する。記憶部１２に記憶されるデータには、例えば、データＤ［１］〜Ｄ［Ｎ］が含まれる。
【００１９】
取得部１３は、同期の対象となるデータＤを記憶部１２から取得する（すなわち読み出す）。計算部１４は、取得部１３により取得された時系列データから抽出された３個以上の区間から選択された少なくとも２組の区間における相関を示す特徴量を計算する。この例において、取得部１３は、データＤ［１］〜Ｄ［Ｎ］を取得する。「３個以上の区間」とは、３個以上のセンサーを用いて記録されたデータ、又は同一のセンサーを用いて記録されたデータにおいて時間領域が異なる３個以上の区間をいう。
【００２０】
図４は、データＤを例示する図である。ここでいうデータＤにおける「３個以上の区間」は、例えば、３個以上の撮像装置によりそれぞれ撮影されたデータ、一例としてはデータＤ［１］、データＤ［２］、及びデータＤ［３］をいう。各データの時間領域における全区間が、ここでいう「一区間」に相当する。計算部１４は、２個の区間（この例においては２個で１組のデータＤ）の相関を示す特徴量を、少なくとも２組について計算する。Ｎ個のデータＤ［１］〜Ｄ［Ｎ］について、２個のデータの重複順列（順番を勘案し重複を許した組み合わせ）は、Ｎ2通り存在する。一例として、計算部１４は、Ｎ2通りの順列のすべてについて（すなわち総当たりで）相関を示す特徴量を計算する。以下、データＤ［ｉ］とデータＤ［ｊ］との間における音データの相関を示す特徴量をＡ［ｉ，ｊ］と表す。例えばＮ＝３の場合、計算部１４は、Ａ［１，１］、Ａ［１，２］、Ａ［１，３］、Ａ［２，１］、Ａ［２，２］、Ａ［２，３］、Ａ［３，１］、Ａ［３，２］、及びＡ［３，３］を計算する。すなわち、計算部１４は、Ａ［ｉ，ｊ］を成分とするＮ行Ｎ列の行列を計算する。
【００２１】
「相関を示す特徴量」は２個のデータの相関を数値化したものである。一例として、データＤ［ｉ］とデータＤ［ｊ］との相関を示す特徴量について説明する。相関を示す特徴量は、データＤ［ｉ］の音データにより示される信号波形と、データＤ［ｊ］の音データにより示される信号波形との相互相関Ｃｉｊ（τ）の絶対値｜Ｃｉｊ（τ）｜を最大とする時間差τである。すなわち、この例における特徴量Ａ［ｉ，ｊ］は、データＤ［ｉ］を基準としてデータＤ［ｊ］を同期したときの時間差τを表している。特徴量Ａ［ｉ，ｊ］は、負の値もとり得る。例えば、データＤ［ｊ］が時間領域においてデータＤ［ｉ］の後方に位置する場合、特徴量Ａ［ｉ，ｊ］は正であり、データＤ［ｊ］が時間領域においてデータＤ［ｉ］の前方に位置する場合、特徴量Ａ［ｉ，ｊ］は負である。相互相関Ｃｉｊ（τ）は例えば次式（１）で表される。
【数１】
2018157363.tif 000003
ここで、音信号ｙｉはデータＤ［ｉ］に含まれる音データにより示される音信号であり、音信号ｙｊはデータＤ［ｊ］に含まれる音データにより示される音信号である。式（１）は、音信号ｙｉ(ｔ)の始点と音信号ｙｊ(ｔ)の始点とを時間領域において一致させてから、音信号ｙｉ(ｔ)に対する音信号ｙｊ(ｔ)の時間差（時間軸上のシフト量）τを変数として両者間の信号波形の相関の程度を示した数値列を示す。別の例において、相互相関Ｃｉｊ（τ）は次式（２）で表される。
【数２】
2018157363.tif 000004
式（２）は、音信号ｙｉ（ｔ）の周波数スペクトルＹｉ（ｆ）と音信号ｙｊ（ｔ）の周波数スペクトルＹｊ（ｆ）とのクロススペクトルの逆フーリエ変換を意味する。Ｙｉ＊（ｆ）はＹｉ（ｆ）の複素共役である。
【００２２】
再び図３を参照して説明する。選択部１５は、計算部１４により計算された特徴量Ａ［ｉ，ｊ］に応じて、同期に用いるデータＤを選択する（すなわち同期に用いるデータＤを絞り込む）。詳細には、選択部１５は、相関を示す特徴量の集合が満たすべき条件（以下この条件を「拘束条件」という）を満たさないデータを、同期されるデータから除外する。後述するように、選択部１５における絞り込みは、複数のデータＤを同期するためのパラメータの計算に用いられるデータＤの絞り込みに相当する。同期処理部１６は、２個以上の時系列データを同期する。ここで、複数の時系列データを同期するとは、複数の時系列データの時間領域における相対的な位置関係を特定することをいう。一例において、同期処理部１６は、２個以上の時系列データの時間領域における相対的な位置関係を調整して合成し、新たな時系列データを生成する。別の例において、同期処理部１６は、複数の時系列データの時間領域における相対的な位置関係を示すデータを生成する。出力部１７は、同期処理部１６により生成されたデータを出力する。
【００２３】
特徴量の拘束条件は、例えば以下のとおりである。データＤ［ｉ］とデータＤ［ｊ］とが正確に同期された場合、特徴量Ａ［ｉ，ｊ］は以下の条件（３）〜（５）をすべて満たすはずである。
Ａ［ｉ，ｉ］＝０      …（３）
Ａ［ｉ，ｊ］−Ａ［ｉ，ｋ］はｉに依存しない      …（４）
｜Ａ［ｉ，ｊ］｜＝｜Ａ［ｊ，ｉ］｜      …（５）
【００２４】
拘束条件が満たされている度合いは、点数化されて評価される。例えば、条件（３）、条件（４）、及び条件（５）を満たしている度合いがそれぞれ点数化される。各条件に対して得られた点数は、重みが乗算されて加算され、データＤ［ｉ］及びデータＤ［ｊ］に関する点数Ｓ［ｉ，ｊ］が得られる。同期処理部１６は、こうして得られた点数Ｓに基づいて選択されるデータＤを除外して、複数のデータＤを同期する。
【００２５】
クライアント装置２０において、ダウンロード部２４は、出力部１７から出力されたデータをダウンロード（すなわち受信）する。再生部２５は、ダウンロード部２４によりダウンロードされたデータを再生する。ＵＩ部２６は、データ同期システムにおけるユーザーインターフェースを提供する。このユーザーインターフェースは、例えば、アップロードされるデータＤの選択、同期される複数のデータＤの選択、複数のデータＤの同期開始の指示、同期されたデータのダウンロードの指示、及びダウンロードされたデータの再生の指示をするためのインターフェースを含む。
【００２６】
図５は、サーバ装置１０のハードウェア構成を例示する図である。サーバ装置１０は、ＣＰＵ（Central Processing Unit）１０１、メモリー１０２、ストレージ１０３、及び通信ＩＦ１０４を有するコンピュータ装置である。ＣＰＵ１０１は、プログラムに従って各種の演算を行い、サーバ装置１０の他のハードウェア要素を制御する制御装置である。メモリー１０２はＣＰＵ１０１が処理を実行する際のワークエリアとして機能する主記憶装置であり、例えばＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）を含む。ストレージ１０３は各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）を含む。通信ＩＦ１０４は、所定の通信規格に従って他の装置と通信を行うための装置であり、例えばＮＩＣ（Network Interface Card）を含む。
【００２７】
この例において、ストレージ１０３はコンピュータ装置をデータ同期システム１におけるサーバ装置１０として機能させるためのプログラム（以下「サーバプログラム」という）を記憶する。ＣＰＵ１０１がサーバプログラムを実行することにより、図３に示した機能がコンピュータ装置に実装される。ＣＰＵ１０１がサーバプログラムを実行している状態において、通信ＩＦ１０４は入力部１１及び出力部１７の一例である。メモリー１０２及びストレージ１０３の少なくとも一方は記憶部１２の一例である。ＣＰＵ１０１は、取得部１３、計算部１４、選択部１５、及び同期処理部１６の一例である。
【００２８】
図６は、クライアント装置２０のハードウェア構成を例示する図である。クライアント装置２０は、ＣＰＵ２０１、メモリー２０２、ストレージ２０３、通信ＩＦ２０４、入力装置２０５、カメラ２０６、マイクロフォン２０７、ディスプレイ２０８、及びスピーカ２０９を有するコンピュータ装置、例えばスマートフォン、タブレット端末、又はパーソナルコンピュータである。ＣＰＵ２０１は、プログラムに従って各種の演算を行い、クライアント装置２０の他のハードウェア要素を制御する制御装置である。メモリー２０２はＣＰＵ２０１が処理を実行する際のワークエリアとして機能する主記憶装置であり、例えばＲＯＭ及びＲＡＭを含む。ストレージ２０３は各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばＳＳＤ又はＨＤＤを含む。通信ＩＦ２０４は、所定の通信規格に従って他の装置と通信を行うための装置であり、例えば無線通信を行うためのアンテナ及びチップセットを含む。入力装置２０５はユーザーが情報又は指示を入力するための装置であり、例えばタッチデバイスを含む。カメラ２０６は、映像を撮影し、撮影した映像をデータとして記録するための装置である。ここでいう映像は、静止画及び動画の双方を含む概念である。マイクロフォン２０７は、音声を集音し、集音した音声をデータとして記録するための装置である。ディスプレイ２０８は、映像を出力する装置である。スピーカ２０９は、音声を出力する装置である。
【００２９】
この例において、ストレージ２０３はコンピュータ装置をデータ同期システム１におけるクライアント装置２０として機能させるためのプログラム（以下「クライアントプログラム」という）を記憶する。ＣＰＵ２０１がクライアントプログラムを実行することにより、図３に示した機能がコンピュータ装置に実装される。ＣＰＵ２０１がサーバプログラムを実行している状態において、ＣＰＵ２０１は、データ取得部２１及び再生部２５の一例である。メモリー２０２及びストレージ２０３の少なくとも一方は記憶部２２の一例である。通信ＩＦ２０４はアップロード部２３及びダウンロード部２４の一例である。入力装置２０５及びディスプレイ２０８はＵＩ部２６の一例である。
【００３０】
２−２．動作
図７は、データ同期システム１における動作の概要を示すシーケンスチャートである。ここでは、サーバ装置１０、及びクライアント装置２０Ａ〜２０Ｄの４台のクライアント装置２０のみを図示する。クライアント装置２０Ａ〜２０Ｃは、それぞれ、図７の処理に先立ってデータＤ［１］〜Ｄ［３］を取得する。ステップＳ１において、クライアント装置２０Ａは、データＤ［１］をサーバ装置１０にアップロードする。ステップＳ２において、サーバ装置１０は、データＤ［１］を記憶する。ステップＳ３において、クライアント装置２０Ｂは、データＤ［２］をサーバ装置１０にアップロードする。ステップＳ４において、サーバ装置１０は、データＤ［２］を記憶する。ステップＳ５において、クライアント装置２０Ｃは、データＤ［３］をサーバ装置１０にアップロードする。ステップＳ６において、サーバ装置１０は、データＤ［３］を記憶する。図示していないクライアント装置２０も含めて、例えばＣ台のクライアント装置２０（Ｃは例えば３以上の自然数）からそれぞれデータＤがアップロードされたとすると、サーバ装置１０は、記憶部１２にデータＤ［１］〜Ｄ［Ｃ］を記憶する。
【００３１】
ステップＳ７において、クライアント装置２０Ｄは、Ｎ個（Ｎは、例えば３≦Ｎ≦Ｃを満たす自然数）のデータＤの同期要求をサーバ装置１０に送信する。ここでは便宜的に、同期要求によりデータＤ［１］〜Ｄ［Ｎ］が指定される例を説明する。この同期要求は、データＤ［１］〜Ｄ［Ｎ］の識別子、及びクライアント装置２０Ｄの識別子を含む。ステップＳ８において、サーバ装置１０は、同期要求に従って複数のデータＤを同期する。ステップＳ９において、クライアント装置２０Ｄは、同期されたデータをダウンロードする。ステップＳ１０において、クライアント装置２０Ｄは、ダウンロードしたデータを再生する。
【００３２】
図８は、ステップＳ８における同期処理の詳細を例示するフローチャートである。以下においては計算部１４等の機能要素を処理の主体として説明するが、これは、サーバプログラムを実行しているＣＰＵ１０１が他のハードウェア要素と協働して処理を実行することを意味する。
【００３３】
ステップＳ８０１において、取得部１３は、同期要求により指定されたデータＤを記憶部１２から取得する（すなわち読み出す）。
【００３４】
ステップＳ８０２において、計算部１４は、同期要求により指定された複数のデータＤから選択される２個のデータＤの相関を示す特徴量を、少なくとも２組について計算する。この例において、計算部１４は、特徴量Ａ［ｉ，ｊ］を成分とする行列Ａを計算する。なお、ステップＳ８０２において、特徴量Ａ［ｉ，ｊ］を計算するとき、計算部１４は、データＤ［ｉ］の時間領域における全体（以下単に「データＤ［ｉ］全体」という）とデータＤ［ｊ］全体とを用いて相関の特徴量を計算する。
【００３５】
ステップＳ８０３において、計算部１４は、特徴量Ａ［ｉ，ｊ］が拘束条件を満たす度合いを示す点数Ｓ［ｉ，ｊ］を計算する。条件（３）に関して、計算部１４は、例えば、Ａ［ｉ，ｉ］の値を基準値（例えばＤ［ｉ］の時間長）で規格化した値がゼロの時は１００点、１の時は零点として点数化する。条件（４）に関して、計算部１４は、例えば、｛Ａ［ｉ，ｊ］−Ａ［ｉ，ｋ］｝とｉとの相関係数ｒを計算し、（１−ｒ）を１００倍した値を点数とする。条件（５）に関して、計算部１４は、例えば、｛１−（｜Ａ［ｉ，ｊ］｜−｜Ａ［ｊ，ｉ］）｜｝を１００倍した値を点数とする。計算部１４は、各条件に対して得られた点数に重みを乗算して加算し、データＤ［ｉ］及びデータＤ［ｊ］に関する点数Ｓ［ｉ，ｊ］を得る。計算部１４は、計算した点数Ｓ［ｉ，ｊ］を選択部１５に出力する。
【００３６】
ステップＳ８０４において、選択部１５は、点数Ｓ［ｉ，ｊ］に基づいて、同期するデータＤを選択する（すなわちデータＤを絞り込む）。ここで、点数Ｓ［ｉ，ｊ］を成分とする行列Ｓを考える。行列Ｓにおいて、第ｉ行はデータＤ［ｉ］をリファレンスとして用いた場合の点数を示していると理解することができ、第ｊ列はデータＤ［ｊ］を比較の対象とした場合の点数を示していると理解することができる。ここで、第ｉ行の平均点は、データＤ［ｉ］をリファレンスとして用いた場合において拘束条件が満たされる度合いの平均値を示していると考えられる。そこで、一例として、選択部１５は、点数Ｓ［ｉ，ｊ］を成分とする行列において、点数Ｓの平均値Ａｖｓを行毎に計算する。点数Ｓの平均値Ａｖｓにはしきい値Ｔｈｓがあらかじめ設定されている。選択部１５は、計算された平均値Ａｖｓがしきい値Ｔｈｓより低い行があった場合、その行に対応するデータを、同期処理の対象から除外する。
【００３７】
別の例において、点数Ｓは行毎に平均されず、成分毎にしきい値と対比されてもよい。この例において、選択部１５は、点数Ｓ［ｉ，ｊ］をしきい値Ｔｈｓと比較する。選択部１５は、点数Ｓ［ｉ，ｊ］がしきい値Ｔｈｓよりも低かった場合は、データＤ［ｉ］を同期処理の対象から除外する。
【００３８】
図９は、行列Ｓの具体例を示す図である。ここではＮ＝５の例を示す。この例において平均点のしきい値は６０点である。第１〜３行及び第５行の平均点はしきい値を超えているが、第４行の平均点はしきい値を下回っている。この例において、選択部１５は、同期要求により指定されたデータＤ［１］〜Ｄ［５］のうちデータＤ［４］を除外し、データＤ［１］〜Ｄ［３］及びＤ［５］を同期処理の対象として選択する。選択部１５は、同期処理の対象として選択されたデータＤを指定する情報を計算部１４に出力する。
【００３９】
再び図８を参照して説明する。ステップＳ８０５において、計算部１４は、同期処理の対象として選択されたデータＤ［ｉ］について、ランダムサンプリングを用いてその妥当性を再度評価する。具体的には以下のとおりである。計算部１４は、データＤ［ｉ］の音データにより示される音声波形の時間領域においてランダムな位置及び長さを有する区間をサンプリングする。データＤ［ｉ］からサンプリングされたｐ番目の区間を、区間Ｐ［ｉ，ｐ］という。計算部１４は、区間Ｐ［ｉ，ｐ］についてデータＤ［ｊ］全体及びデータＤ［ｋ］全体のそれぞれとの相関を示す特徴量Ａｐ［ｉ，ｐ，ｊ］及びＡｐ［ｉ，ｐ，ｋ］を計算する。ここで、区間Ｐ［ｉ，ｐ］がデータＤ［ｊ］及びデータＤ［ｋ］と正確に同期された場合、すなわち、データＤ［ｉ］がデータの同期に適した特性を有していた場合、特徴量Ａｐ［ｉ，ｐ，ｊ］及びＡｐ［ｉ，ｐ，ｋ］は以下の条件を満たすはずである。
Ａｐ［ｉ，ｐ，ｊ］−Ａｐ［ｉ，ｐ，ｋ］＝Ａ［ｉ，ｊ］−Ａ［ｊ，ｋ］      …（６）
式（６）は、すべてのｐについて（すなわちすべての区間について）成立する。式（６）がすべてのｐについて成立するということは、次式（７）が成立するということである。
Ａｐ［ｉ，ｐ，ｊ］−Ａｐ［ｉ，ｐ，ｋ］
＝Ａｐ［ｉ，ｑ，ｊ］−Ａｐ［ｉ，ｑ，ｋ］  …（７）
式（７）はｐ及びｑのすべての組み合わせ（正確には重複を許す順列）について成立する。
【００４０】
式（６）は、データＤ［ｉ］の音声波形全体を他のデータＤと同期させた場合でも、データＤ［ｉ］の一部のみを同期させた場合でも、特徴量は変わらないはずであるという仮定に基づく。さらに、特徴量Ａｐ［ｉ，ｐ，ｊ］は、データ全体同士の相関から得られる特徴量Ａの拘束条件（３）〜（５）と同様の条件である次式（８）〜（１０）も満たすはずである。
Ａｐ［ｉ，ｐ，ｉ］＝０      …（８）
Ａｐ［ｉ，ｐ，ｊ］−Ａｐ［ｉ，ｐ，ｋ］はｉに依存しない      …（９）
｜Ａｐ［ｉ，ｐ，ｊ］｜＝｜Ａｐ［ｊ，ｐ，ｉ］｜      …（１０）
【００４１】
計算部１４は、拘束条件（３）〜（５）と同様に、特徴量Ａｐが拘束条件（６）〜（１０）を満たしている度合いを点数化して評価する。特徴量Ａｐ［ｉ，ｐ，ｊ］が拘束条件を満たす度合いを、点数Ｓｐ［ｉ，ｐ，ｊ］と表す。計算部１４は、計算した点数Ｓｐ［ｉ，ｐ，ｊ］を選択部１５に出力する。
【００４２】
なおステップＳ８０５においては、１個のデータＤから時間領域において複数の区間を切り出す方法としてランダムサンプリングを採用する例を示した。しかし、１個のデータＤから時間領域において複数の区間を切り出す方法はランダムサンプリングに限定されない。例えば、計算部１４は、データＤから時間領域において決められた位置の決められた長さの複数の領域を切り出し、これらを用いて相関の特徴量を計算してもよい。
【００４３】
ステップＳ８０６において、選択部１５は、点数Ｓｐ［ｉ，ｐ，ｊ］に基づいて、同期するデータＤを選択する（すなわちデータＤを絞り込む）。点数Ｓｐに対してはしきい値Ｔｈｓｐがあらかじめ設定されている。計算部１４は、しきい値Ｔｈｓｐを下回る点数Ｓｐが付けられた特徴量Ａｐが存在する場合、データＤ［ｉ］を同期処理の対象から除外する。ステップＳ８０４における選択に加えてステップＳ８０６における選択を行うことにより、データＤの全体との相関、及びサンプリングされた部分との相関の２つの処理の合議により同期処理の対象となるデータＤを選択しているといえる。選択部１５は、同期処理の対象として選択されたデータＤを指定する情報を同期処理部１６に出力する。
【００４４】
データＤ［ｉ］及びデータＤ［ｊ］の全体同士に対して例えば式（１）を適用すると、信号レベルが高い特定の一部分が特徴量に大きく寄与する場合がある。例えば、データＤ［ｊ］において時間領域の特定の一部分に信号レベルが高いノイズが含まれ、かつこのノイズがデータＤ［ｉ］の非ノイズ部分と似た信号波形を有していた場合、データＤ［ｉ］及びデータＤ［ｊ］の特徴量は、この一部分が一致する時間差τに相当する値として計算される場合がある。実態としてデータＤ［ｊ］のノイズがデータＤ［ｉ］とは何ら関係の無いものであった場合、こうして計算された特徴量を用いると、データＤ［ｉ］及びデータＤ［ｊ］を正確に同期することはできない。ところが、特定の一部分が特徴量に大きく寄与している状況では、ランダムサンプリングにより切り出された区間を用いて特徴量Ａｐを計算すると、拘束条件（６）及び（７）の少なくとも一方が満たされない。ステップＳ８０５及びＳ８０６の処理によれば、このような不適切なデータＤを同期処理の対象から除外することができる。
【００４５】
ステップＳ８０７において、同期処理部１６は、選択部１５において選択された複数のデータＤを同期する。例えば、同期処理部１６は、複数のデータＤを、時間領域における相互の位置関係を時間差情報（すなわち特徴量Ａ）に応じて調整し、合成したデータを生成する。
【００４６】
図１０は、ステップＳ８０７において生成されるデータを例示する図である。２個のデータＤ間の時間領域における位置関係は、特徴量Ａによって表される。本実施形態において、特徴量Ａが、２個のデータＤの重複を許す順列のすべてについて計算されている。そのため、あるデータＤ［ｉ］に対して適用可能な特徴量Ａが複数存在する可能性がある。
【００４７】
図１１は、特徴量Ａの行列Ａを例示する図である。ここではＮ＝５の例を示す。データＤ［４］は既に除外されているため網掛けしている。また、対応する点数Ｓの行列Ｓを併せて示す。行列Ｓは図９において例示したものと同じである。この例においては、データＤ［４］が除外されている。既に説明したように、この例における特徴量Ａ［ｉ，ｊ］は、データＤ［ｉ］を基準としてデータＤ［ｊ］を同期したときの時間差τを表している。例えば、特徴量Ａ［１，３］はデータＤ［１］を基準としてデータＤ［３］を同期したときの時間差τ［１，３］を表しており、特徴量Ａ［２，３］はデータＤ［２］を基準としてデータＤ［３］を同期したときの時間差τ［２，３］を表している。例えば、特徴量Ａ［１，３］及びＡ［２，３］の計算の双方において、式（１）において計算される相互相関が最大になった状態が、２個のデータＤを正確に同期させた状態と整合していれば、特徴量Ａ［１，３］を用いて同期させても、特徴量Ａ［２，３］を用いて同期させても、結果は同じはずである。しかし、計算の誤差等の事情により両者は完全には一致しない可能性がある。そこで同期処理部１６は、所定のアルゴリズムに従って一の特徴量Ａを選択する。
【００４８】
一例において、同期処理部１６は、行列Ｓにおいて、列毎に、点数Ｓ［ｉ，ｊ］が最も高いデータＤ［ｉ］及びＤ［ｊ］の順列を特定する。この例においては、第１列から順に、Ｓ［２，１］、Ｓ［１，２］、Ｓ［２，３］、及びＳ［３，５］が特定される（図の太枠内）。次に、同期処理部１６は、列毎に最も高い点数Ｓに対応する特徴量Ａを選択する。この例においては、第１列から順に、Ａ［２，１］、Ａ［１，２］、Ａ［２，３］、及びＡ［３，５］が選択される（図の太枠内）。
【００４９】
別の例において、同期処理部１６は、行列Ｓにおいて、行毎に、点数Ｓ［ｉ，ｊ］の平均値Ａｖｓを計算する。同期処理部１６は、点数Ｓの平均値Ａｖｓが最も高い行を特定する。この例においては第２行の平均値Ａｖｓが最も高い。次に、同期処理部１６は、この行に対応する特徴量Ａを選択する。この例においては、第１列から順に、Ａ［２，１］、Ａ［２，２］、Ａ［２，３］、及びＡ［２，５］が選択される。
【００５０】
再び図１０を参照して説明する。同期処理部１６は、選択された特徴量Ａを用いて、複数のデータＤの時間領域における相対位置（すなわち時間差）を決定する。この時間差は、複数の時系列データを同期するためのパラメータの一例である。同期処理部１６は、複数のデータＤを、決定された相対位置に従って時間領域において配置する。同期処理部１６は、複数のデータＤを合成して単一のデータを生成する。ここで生成されるデータは映像トラック及び音声トラックを含む動画データである。映像トラック（映像データ）に関して、同期処理部１６は、画面をＮ個以上の空間領域に分割し、各領域に１つずつ映像を割り当てる。音声トラック（音データ）に関して、同期処理部１６は、複数の音声トラックを加算する。音声トラックが複数チャンネル（例えば右チャンネル及び左チャンネルの２チャンネル）の信号を含んでいる場合、同期処理部１６は、チャンネル毎に音声信号を加算する。
【００５１】
再び図８を参照して説明する。ステップＳ８０８において、出力部１７は、同期処理部１６により生成されたデータを、同期要求の送信元であるクライアント装置２０Ｄに送信する。クライアント装置２０Ｄは、ダウンロードしたデータを再生する。
【００５２】
図１２は、同期された映像を例示する図である。この例において、データＤ［１］〜Ｄ［３］及びＤ［５］の４個のデータＤが同期される。画面は４分割され、分割された領域に一つずつデータＤが割り当てられる。クライアント装置２０Ｄにおいて、映像の再生と同期して音声が再生される。
【００５３】
この例によれば、同期に適さないデータすなわち信頼度の低いデータを同期処理の対象から除外することができ、複数の時系列データをより高い精度で同期することができる。
【００５４】
２−３．変形例
本実施形態は以下のとおり変形実施が可能である。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００５５】
上述の実施形態においては、データ全体との相関及び拘束条件に基づくデータの選択（ステップＳ８０４）、及びサンプリングされた部分との相関及び拘束条件に基づくデータの選択（ステップＳ８０６）の２段階のデータ選択（データ絞り込み）が行われた。しかし、これら２段階の処理のうちどちらか一方は省略されてもよい。どちらか一方が省略されても、拘束条件に基づくデータの選択を行わない例と比較してデータの同期精度を向上させることができる。
【００５６】
上述の実施形態においては、Ｎ個のデータＤの同期要求に対し、Ｎ個のデータＤから２個のデータを選択する重複を許した順列のすべてについて、相互相関の特徴量が計算された。しかし、計算部１４は、Ｎ個のデータＤから２個のデータを選択する重複を許した順列の一部のみについて、相互相関の特徴量を計算してもよい。例えば、式（５）が成立するとの前提に基づき、計算部１４は、Ｎ個のデータＤから２個のデータを選択する重複を許した（順番を勘案しない）組み合わせのすべてについて、相互相関の特徴量を計算してもよい。この場合、式（５）は拘束条件には含まれない。あるいは、式（５）に加えて式（３）が成立するとの前提に基づき、計算部１４は、Ｎ個のデータＤから２個のデータを選択する重複を許さない（順番を勘案しない）組み合わせのすべてについて、相互相関の特徴量を計算してもよい。この場合、式（３）及び式（５）は拘束条件には含まれない。別の例において、計算部１４は、Ｎ個のデータＤから２個１組のデータをランダムに選択し、選択された組について相互相関の特徴量を計算してもよい。
【００５７】
拘束条件は実施形態において例示されたものに限定されない。実施形態において例示した拘束条件の条件式のうち一部は省略されてもよいし、新たな条件式が追加されてもよい。例えば、データＤ［ｉ］及びデータＤ［ｊ］が同じ対象物（音源）を撮影したものであり、かつその音源からデータＤ［ｉ］を記録した撮像装置までの距離とデータＤ［ｊ］を記録した撮像装置までの距離とが既知である場合、特徴量Ａ［ｉ，ｊ］を推定することが可能である。より具体的には、データＤ［ｉ］及びデータＤ［ｊ］のタイムスタンプ等により示される撮影開始時刻の差、及び音源から２台の撮像装置までの距離の差から、特徴量Ａ［ｉ，ｊ］を推定することができる。計算部１４は、この推定値を、特徴量Ａ［ｉ，ｊ］の拘束条件に加えてもよい。特に、撮影開始時刻の差及び距離の差がともにゼロである場合、拘束条件には次式（１１）が含まれる。
Ａ［ｉ，ｊ］＝０      …（１１）
【００５８】
２個のデータＤの相関を示す特徴量Ａの具体例は、データＤに含まれる音データの相互相関を最大にする時間差τ（式（１）又は（２））に限定されない。ＭＦＣＣ（Mel-Frequency Cepstrum Coefficients、メル周波数ケプストラム係数）又はＰＣＰ（Pitch Class Profile）等の他のパラメータを最大にする時間差が特徴量Ａとして用いられてもよい。また、特徴量Ａは、音データの相関に代えて、又は加えて、映像データの相関を示すものであってもよい。
【００５９】
同期されたデータの構造及びその再生方法は実施形態において例示されたものに限定されない。同期処理部１６は、データＤ［１］〜Ｄ［Ｎ］を合成した動画データを生成する代わりに、データＤ［１］〜Ｄ［Ｎ］の相対的な再生タイミングを示すデータを生成してもよい。この場合、出力部１７は、データＤ［１］〜Ｄ［Ｎ］のＮ個のデータそのもの、及びこの再生タイミングを示すデータを出力する。クライアント装置２０は、これらのデータをダウンロードする。クライアント装置２０は、再生タイミングを示すデータに従って、データＤ［１］〜Ｄ［Ｎ］を再生する。すなわち、この例において、サーバ装置１０ではなくクライアント装置２０が、データＤ［１］〜Ｄ［Ｎ］を合成する。
【００６０】
データＤは動画データに限定されない。データＤは、センサーを用いて記録された時系列データであればどのようなデータでもよく、例えば、映像及び音声の少なくとも一方に代えて、又は加えて、他の情報を含んでもよい。
【００６１】
実施形態においては拘束条件を満たさないデータＤが同期処理の対象から除外される例を説明した。しかし、拘束条件を満たさないデータＤ又は区間Ｐは、少なくとも複数のデータＤを同期するためのパラメータの算出から除外されていればよく、同期処理の対象として維持されてもよい。例えば、ステップＳ８０５において、計算部１４は、しきい値Ｔｈｓｐを下回る点数Ｓｐが付けられた特徴量Ａｐ［ｉ，ｐ，ｊ］が存在する場合、複数のデータＤを同期する際の時間差を計算するための要素から特徴量Ａｐ［ｉ，ｐ，ｊ］が除外され、データＤ［ｉ］自体は同期処理の対象として維持されてもよい。なお第１実施形態においては拘束条件を満たさないデータＤを同期処理の対象から除外したが、結果的にこれは、同期するためのパラメータの算出において拘束条件を満たさないデータＤを除外することに相当する。
【００６２】
３．第２実施形態
第１実施形態においては、３個以上の時系列データを同期する例を説明した。しかし、同期される時系列データの数は２個でもよい。第１実施形態においてステップＳ８０５及びＳ８０６において例示したように、１個の時系列データから複数の区間を切り出せば、複数の特徴量が得られる。特徴量の特性から、これら複数の特徴量が満たすべき拘束条件を定義することができ、同期に適さない区間を特定することができる。第２実施形態においては、この方法を用いて２個の時系列データを同期する例を説明する。以下において、第１実施形態と共通する事項についてはその説明を省略する。
【００６３】
図１３は、ステップＳ８における同期処理の第２実施形態に係る詳細を例示するフローチャートである。この例において、Ｎ＝２である。すなわち、図１３のフローの開始前において、クライアント装置２０ＤからデータＤ［１］及びデータＤ［２］の同期が要求されている。
【００６４】
ステップＳ８２１において、取得部１３は、同期要求により指定されたデータＤを記憶部１２から取得する（すなわち読み出す）。この例においてはデータＤ［１］及びデータＤ［２］が読み出される。
【００６５】
ステップＳ８２２において、計算部１４は、ランダムサンプリングを用いて、データＤ［２］から時間領域におけるＭ個の区間Ｐ［２，ｐ］を切り出す。この例においてはＭ≧３である。ステップＳ８２３において、計算部１４は、データＤ［１］及び区間Ｐ［２，ｐ］に対し式（１）を適用し、特徴量Ａｐ［１，２，ｐ］を得る。
【００６６】
図１４は、ランダムサンプリングにより切り出された区間Ｐ及び特徴量Ａｐを例示する図である。ここではＭ＝３の例を示している。ステップＳ８２３における計算により、全部でＭ個の特徴量Ａｐが得られる。一例において、これらＭ個の特徴量Ａｐが満たすべき拘束条件は次式（１２）を含む。
Ａｐ［１，２，ｐ］−Ｔ［ｐ］＝Ａｐ［１，２，ｑ］−Ｔ［ｑ］      …（１２）
なおＴ［ｐ］は、時間領域における区間Ｐ［２，ｐ］の開始位置を示す。式（１２）は、データＤ［２］の全体をデータＤ［１］と同期した場合でも、複数の区間Ｐをそれぞれ個別にデータＤ［１］と同期した場合でも、計算される特徴量は同一であるはずであるという仮定に基づく。別の例において、拘束条件として式（１２）に代えて次式（１３）を含んでもよい。
Ａｐ［１，２，ｐ］−Ａｐ［１，２，ｒ］
＝Ａｐ［１，２，ｑ］−Ａｐ［１，２，ｒ］…（１３）
【００６７】
計算部１４は、区間Ｐ［２，ｐ］及び区間Ｐ［２，ｑ］の組につき、拘束条件を満たしている度合いを示す点数Ｓｐ［２，ｐ，ｑ］を計算する。一例において、点数Ｓｐ［２，ｐ，ｑ］は次式（１４）により計算される。
Ｓｐ［２，ｐ，ｑ］
＝｛Ａｐ［１，２，ｐ］−Ｔ［ｐ］−（Ａｐ［１，２，ｑ］−Ｔ［ｑ］）｝／Ｌ
…（１４）
なおＬは基準となる時間長であり、例えばデータＤ［２］における信号波形の時間長である。式（１４）により計算される点数は、ゼロに近いほど拘束条件を満たしている度合いが高いことを示す。
【００６８】
図１５は、点数Ｓｐを例示する図である。ここではＭ＝５の例を示す。またここでは、式（１４）においてｐとｑとが対称であることを考慮し、ｐとｑとの重複を許さず順番を勘案しない組み合わせについて点数Ｓｐを計算している。点数Ｓｐに対してはしきい値が定められている。この例においては、Ｓｐ［２，１，２］、Ｓｐ［２，２，３］、Ｓｐ［２，２，４］、及びＳｐ［２，２，５］がしきい値を超えている（図の太枠内）。計算部１４は、計算した特徴量Ａｐ及び点数Ｓｐを選択部１５に出力する。
【００６９】
再び図１３を参照して説明する。ステップＳ８２４において、選択部１５は、Ｍ個の特徴量Ａｐの中から拘束条件を満たすものを選択する（拘束条件を満たさないものを除外する）。詳細には以下のとおりである。この例において、拘束条件を満たしているか否かは、拘束条件が満たされている度合いがしきい値よりも高いか、すなわち点数Ｓｐがあらかじめ設定されたしきい値よりも低いか否かで判断する。選択部１５は、拘束条件を満たす特徴量Ａｐを点数Ｓｐに基づいて選択する。この例において、選択部１５は、まず、しきい値を超えた点数Ｓｐに対応する区間Ｐを特定する。しきい値を超えた点数Ｓｐに対応する区間Ｐとは、しきい値を超えた点数Ｓｐが存在する場合に、その点数Ｓｐの算出に用いられた区間として含まれる割合がしきい値を超える区間をいう。図１４の例において、しきい値を超えた点数Ｓｐの算出には、すべて区間Ｐ［２，２］が含まれている。したがって、選択部１５は、区間Ｐ［２，２］を特定する。選択部１５は、次に、特定された区間に対応する特徴量Ａｐを除外する。この例において、Ａｐ［１，２，２］が除外される。すなわち、Ａｐ［１，２，２］以外の特徴量Ａｐがすべて選択される。選択部１５は、選択された特徴量Ａｐを特定する情報を、同期処理部１６に出力する。ステップＳ８２４の処理は、拘束条件を満たさない区間Ｐを、同期処理のためのパラメータの算出から除外する処理に相当する。
【００７０】
ステップＳ８２５において、同期処理部１６は、データＤ［１］及びデータＤ［２］を同期する。このとき、同期処理部１６は、選択部１５により除外された特徴量Ａｐを除外して、データＤ［１］に対するデータＤ［２］の時間差を計算する。この時間差は、２個の時系列データを同期するためのパラメータの一例である。一例として、同期処理部１６は、選択部１５により選択された特徴量Ａｐの平均値Ａｐａｖを計算する。同期処理部１６は、データＤ［１］に対し、時間領域において時間Ａｐａｖだけ遅らせて（Ａｐａｖが負の値の場合はデータＤ［２］の方が先行する）、データＤ［２］を合成したデータを生成する。
【００７１】
ステップＳ８２６において、出力部１７は、同期処理部１６により生成されたデータを、同期要求の送信元であるクライアント装置２０Ｄに送信する。
【００７２】
第１実施形態において説明したように、データＤ［ｉ］及びデータＤ［ｊ］の全体同士に対して例えば式（１）を適用すると、信号レベルが高い特定の一部分が特徴量に大きく寄与する結果、これら２個のデータを合成するためのパラメータ（この例においては時間差）が正確に計算されないことがある。本実施形態によれば２個の時系列データを同期させるためのパラメータの計算に適さない区間を除外して、このパラメータを計算することができる。すなわち、２個の時系列データの同期精度を向上させることができる。
【００７３】
なお、特徴量Ａｐの拘束条件及び拘束条件を満たす特徴量Ａｐを選択する方法は第２実施形態において例示されたものに限定されない。例えば、次式（１５）により規定される量はすべての区間Ｐ［２，ｐ］について同一であるはずである。
Ａｐ［１，２，ｐ］−Ｔ［ｐ］      …（１５）
計算部１４は、すべての区間Ｐ［２，ｐ］について式（１５）の量を計算し、これらの量の平均及び分散σを計算し、平均との差がしきい値（例えば２σ又は３σ）を超えた区間を用いた特徴量Ａｐを除外してデータＤ［１］に対するデータＤ［２］の時間差を計算する。
【００７４】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。また、第１実施形態において説明した事項の一部を第２実施形態に対して適用してもよく、第２実施形態において説明した事項の一部を第１実施形態に対して適用してもよい。
【００７５】
計算された特徴量が拘束条件を満たしているか否かを判断する具体的方法は、第１実施形態及び第２実施形態において説明した例に限定されない。例えば、拘束条件が複数の条件式を含む場合において、これら複数の条件式のうち満たされている式の数を用いて特徴量が拘束条件を満たしているか否かを判断してもよい。
【００７６】
データ同期システム１の機能を実現するためのハードウェア構成は、図５及び図６で例示したものに限定されない。要求される機能を実現できるものであれば、データ同期システム１はどのようなハードウェア構成を有していてもよい。また、機能とハードウェアとの対応関係は、実施形態で例示したものに限定されない。例えば、実施形態においてサーバ装置１０に実装されていた機能を、２台以上の装置に分散して実装してもよい。
【００７７】
サーバ装置１０及びクライアント装置２０において実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリーなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。また、このプログラムは、図７、図８、及び図１３のすべてのステップを備える必要はない。これらのステップの一部が省略されてもよい。
【符号の説明】
【００７８】
１…データ同期システム、９…データ同期システム、１０…サーバ装置、１１…入力部、１２…記憶部、１３…取得部、１４…計算部、１５…選択部、１６…同期処理部、１７…出力部、２０…クライアント装置、２１…データ取得部、２２…記憶部、２３…アップロード部、２４…ダウンロード部、２４…再生部、２６…ＵＩ部、１０１…ＣＰＵ、１０２…メモリー、１０３…ストレージ、１０４…通信ＩＦ、２０１…ＣＰＵ、２０２…メモリー、２０３…ストレージ、２０４…通信ＩＦ、２０５…入力装置、２０６…カメラ、２０７…マイクロフォン、２０８…ディスプレイ、２０９…スピーカ
【図１】
2018157363.tif 000005
【図２】
2018157363.tif 000006
【図３】
2018157363.tif 000007
【図４】
2018157363.tif 000008
【図５】
2018157363.tif 000009
【図６】
2018157363.tif 000010
【図７】
2018157363.tif 000011
【図８】
2018157363.tif 000012
【図９】
2018157363.tif 000013
【図１０】
2018157363.tif 000014
【図１１】
2018157363.tif 000015
【図１２】
2018157363.tif 000016
【図１３】
2018157363.tif 000017
【図１４】
2018157363.tif 000018
【図１５】
2018157363.tif 000019