(57)【要約】【課題】複数のコンテンツデータに基づく複数の動画の再生を継続したまま、再生中のコンテンツデータの一部をリアルタイムで変更する。【解決手段】コンテンツ再生画面１０は複数のコンテンツデータ１５を表示している。ビデオ再生処理部１６１は、１画面上で複数のコンテツデータの動画を略同時再生する。オーディオ再生処理部１６２は、複数のコンテツデータのオーディオ信号を略同時再生する。複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、モジュール１６４は、オーディオ信号の現在の再生位置を取得し、取得したオーディオ信号の現在の再生位置に基づいて、新たに指定されたコンテンツデータの動画の再生位置を決定し、決定した再生位置から動画の再生を開始するように、ビデオ再生処理部１６１を制御する。【選択図】図３
2015033060.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがオーディオデータとビデオデータとからなる複数のコンテンツデータを略同時再生する方法であって、
前記複数のコンテンツデータの各オーディオデータに基づいて、複数のオーディオ信号を略同時再生するステップと、
前記複数のコンテンツデータの各ビデオデータに基づいて、複数の動画を略同時再生するステップと、
前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得するステップと、
前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータの動画の再生位置を決定するステップと、
前記決定した動画の再生位置から前記新たに指定されたコンテンツデータの動画の再生を開始するステップと
を具備することを特徴とするコンテンツデータ再生方法。
【請求項２】
前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、更に、前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータのオーディオ信号の再生位置を決定するステップと、
前記決定したオーディオ信号の再生位置から前記新たに指定されたコンテンツデータのオーディオ信号の再生を開始するステップとを具備することを特徴する請求項１に記載のコンテンツデータ再生方法。
【請求項３】
前記複数のオーディオ信号を略同時再生するステップにおいて、該複数のオーディオ信号の再生は、１つのオーディオ再生機により制御され、
前記オーディオ信号の現在の再生位置を取得するステップは、前記オーディオ再生機から、前記オーディオ信号の現在の再生位置を取得することを特徴する請求項１に記載のコンテンツデータ再生方法。
【請求項４】
前記オーディオ信号の現在の再生位置を取得するステップは、前記コンテンツデータの再生を制御する基準となる時間情報を提供する時計手段から取得することを特徴する請求項１に記載のコンテンツデータ再生方法。
【請求項５】
前記コンテンツデータは、そのコンテンツデータの先頭位置を示す先頭位置データを有し、
前記動画の再生位置を決定するステップは、前記取得した現在のオーディオ再生位置と、そのコンテンツデータが持つ前記先頭位置データとに基づいて、前記動画の再生位置を決定することを特徴とする請求項１に記載のコンテンツデータ再生方法。
【請求項６】
それぞれがオーディオデータとビデオデータとからなる複数のコンテンツデータを略同時再生するコンテンツデータ再生装置であって、
前記複数のコンテンツデータの各オーディオデータに基づいて、複数のオーディオ信号を略同時再生するオーディオ再生処理部と、
前記複数のコンテンツデータの各ビデオデータに基づいて、複数の動画を略同時再生するビデオ再生処理部と、
前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得する取得部と、
前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータの動画の再生位置を決定する再生位置決定部と、
前記決定した再生位置から前記新たに指定されたコンテンツデータの動画の再生を開始するように、前記ビデオ再生処理部を制御する制御部と
を具備することを特徴とするコンテンツデータ再生装置。
【請求項７】
それぞれがビデオデータとオーディオデータとからなる複数のコンテンツデータを略同時再生する処理を、コンピュータに実行させるプログラムであって、
前記複数のコンテンツデータの各オーディオデータに基づいて、複数のオーディオ信号を略同時再生するステップと、
前記複数のコンテンツデータの各ビデオデータに基づいて、複数の動画を略同時再生するステップと、
前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得するステップと、
前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータのビデオデータに基づく動画の再生位置を決定するステップと、
前記決定した再生位置から前記新たに指定されたコンテンツデータの動画の再生を開始するステップと
を前記コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のコンテンツデータを略同時再生するためのコンテンツ再生方法、装置及びプログラムに関する。
【背景技術】
【０００２】
従来、１つの画面上に複数の動画を表示するマルチ映像再生装置が知られる。例えば特許文献１には、画面上に表示する複数の動画それぞれの撮影情報に基づいて、画面上でのレイアウトを自動決定し、決定したレイアウトで複数の動画を表示することが記載されている。特許文献１は、画面上に表示した動画を変更する方法として、画面上の動画のうちいずれか１つの動画が終了したときに、別の動画再生を開始することを記載する。しかし、この方法では、先行する動画が終了するまでは、別の動画に変更することはできない。
【０００３】
特許文献２は、マルチ映像再生装置において、複数の動画を再生中に別の動画を追加再生する方法として、複数の動画の現在再生位置に追従して、別の動画の再生位置をバックグラウンドで移動させておき、表示指示に応じて、前記バックグラウンドで移動させた再生位置から、前記別の動画を画面上に表示することを記載している。この場合、追加すべき動画の再生位置を予めバックグラウンドで移動させる構成であるため、複数の動画の再生中に、ユーザが新たに動画を指定することはできない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４４３４３号公報
【特許文献２】特開２００１−３６８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は上述の点に鑑みてなされたもので、複数のコンテンツデータに基づく複数の動画の再生を継続したまま、再生中のコンテンツデータの一部をリアルタイムで変更できるようにしたコンテンツ再生方法、装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、それぞれがオーディオデータとビデオデータとからなる複数のコンテンツデータを略同時再生する方法であって、前記複数のコンテンツデータの各オーディオデータに基づいて、複数のオーディオ信号を略同時再生するステップと、前記複数のコンテンツデータの各ビデオデータに基づいて、複数の動画を略同時再生するステップと、前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得するステップと、前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータの動画の再生位置を決定するステップと、前記決定した動画の再生位置から前記新たに指定されたコンテンツデータの動画の再生を開始するステップとを具備することを特徴とするコンテンツデータ再生方法である。
【０００７】
この発明によれば、複数のコンテンツデータの再生中に、再生対象として新たにコンテンツデータが指定された場合、該新たな再生対象のコンテンツデータの動画は、現在のオーディオ信号の再生位置から、再生を開始する。例えば、既に再生中の複数のコンテンツデータの現在再生位置が先頭から１０秒経過の位置であった場合、その時点で新たに追加されたコンテンツデータは、先頭から１０秒経過後の位置から再生される。現在のオーディオ信号の再生位置に基づいて動画の再生位置を決定する構成であるため、複数の動画同士の再生位置を合わせる処理に比べて、処理負担が少ない。したがって、複数のコンテンツデータの再生を継続したまま行うコンテンツデータの変更を円滑に行うことができる。
【０００８】
また、この発明は、それぞれがオーディオデータとビデオデータとからなる複数のコンテンツデータを略同時再生するコンテンツデータ再生装置であって、前記複数のコンテンツデータの各オーディオデータに基づいて、複数のオーディオ信号を略同時再生するオーディオ再生処理部と、前記複数のコンテンツデータの各ビデオデータに基づいて、複数の動画を略同時再生するビデオ再生処理部と、前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得する取得部と、前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータの動画の再生位置を決定する再生位置決定部と、前記決定した再生位置から前記新たに指定されたコンテンツデータの動画の再生を開始するように、前記ビデオ再生処理部を制御する制御部とを具備することを特徴とするコンテンツデータ再生装置である。
【０００９】
また、この発明は、それぞれがビデオデータとオーディオデータとからなる複数のコンテンツデータを略同時再生する処理を、コンピュータに実行させるプログラムであって、前記複数のコンテンツデータの各オーディオデータに基づいて、複数のオーディオ信号を略同時再生するステップと、前記複数のコンテンツデータの各ビデオデータに基づいて、複数の動画を略同時再生するステップと、前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得するステップと、前記新たに指定されたコンテンツデータのビデオデータに基づく動画の再生位置を決定するステップと、前記決定した再生位置から前記新たに指定されたコンテンツデータの動画の再生を開始するステップとを前記コンピュータに実行させることを特徴とするプログラムである。
【発明の効果】
【００１０】
この発明によれば、複数のコンテンツデータの再生を継続したまま、再生中のコンテンツデータの一部をリアルタイムで変更できるという優れた効果を奏する。このため、例えば複数のコンテンツデータの再生を停止する等の操作手間をかけることなく、再生中の複数のコンテンツデータの動画を視覚的に確認しながら、新たな再生対象のコンテンツデータの選択及び再生を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態であるコンテンツデータ再生画面を説明する図。
【図２】コンテンツデータ再生装置の電気的ハードウェア構成例を示すブロック図。
【図３】複数のコンテンツデータを再生するための再生機構を説明するブロック図。
【図４】コンテンツデータのデータ構成例を説明する図。
【図５】コンテンツデータ変更処理を説明するフローチャート。
【図６】図３に示すコンテンツデータ再生機構の変形例を説明するブロック図。
【図７】本発明のコンテンツデータ再生装置を含む音楽作成システムの構成を説明するブロック図。
【図８】前記音楽作成システムのコンテンツ提供サーバにおけるソングコンテンツデータベースのデータ構成を説明する図。
【図９】前記コンテンツ提供サーバで記憶するソングシナリオのデータ構成を説明する図。
【図１０】図７の音楽作成システムにおけるソング作成処理の流れを説明するフローチャート。
【図１１】ブロックに対する演奏コンテンツデータの登録処理を説明するフローチャート。
【図１２】コンテンツデータを再生する際の同期処理を説明するフローチャート。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明のコンテンツデータ再生方法、装置及びプログラムの一実施形態を説明する。
【００１３】
図１は、本発明の一実施形態に係るコンテンツ再生方法を適用可能なコンテンツ再生画面の一例を説明する図である。コンテンツ再生画面１０は、オーディオデータとビデオデータとからなる複数のコンテンツデータ１５を表示するためのコンテンツデータ表示部１１を備える。コンテンツデータ表示部１１において、前記複数のコンテンツデータ１５は、マトリクス状に配列された複数のブロック１４に表示される。各ブロック１４は、それぞれ１つのコンテンツデータ１５を表示しており、表示されたコンテンツデータ１５のビデオデータに基づく動画を再生可能である。すなわち、各ブロック１４に表示されるコンテンツデータ１５は、それぞれ、動画再生機として機能する表示要素である。
【００１４】
コンテンツ再生画面１０は再生コントロール部３０を備えている。再生コントロール部３０は、再生ボタン画像３１、一時停止ボタン画像３２及び停止ボタン画像３３を備える。ユーザは、再生コントロール部３０の各ボタン３１〜３３を用いて、複数のブロック１４に配置された複数のコンテンツデータの再生動作を制御できる。再生ボタン画像３１の操作に応じて、複数のコンテンツデータ１５のオーディオデータに基づく複数のオーディオ信号が略同時再生されるとともに、該複数のコンテンツデータ１５のビデオデータに基づく複数の動画がそれぞれ配置されたブロック１４内で略同時再生される。各ブロック１４内の動画上にはミュートボタン１６が設けられており、ミュートボタン１６を用いてコンテンツデータ毎にオーディオ信号のミュートを切り替えることができる。
【００１５】
ユーザは、コンテンツ再生画面１０上で、所望のブロック１４を選択し、選択したブロック１４に配置するコンテンツデータ１５を任意に変更できる。コンテンツデータ１５の変更指示は一例として、コンテンツデータ選択部２０から行う。コンテンツデータ選択部２０は、ユーザにより選択されたブロック１４に配置可能な１又は複数のコンテンツデータ１５を示す選択候補情報を、一覧表示する。選択候補情報は、例えばコンテンツデータ１５の動画のサムネイル画像２１と、名称、評価、コメントなどを含む各種情報２２とを含む各種属性情報である。ユーザが所望のブロック１４を選択してコンテンツデータ選択部２０にて１つコンテンツデータを選択した場合、選択されたブロック１４に、選択されたコンテンツデータ１５が表示される。
【００１６】
この実施例は、コンテンツ再生画面１０において、複数のコンテンツデータ１５の再生中（複数の動画の再生中）に、コンテンツデータ１５の変更指示があった場合（新規にコンテンツデータが指定された場合）に、現在のオーディオ信号の再生位置を取得して、取得した現在のオーディオ信号の再生位置に基づいて、新たに指定されたコンテンツデータの動画の再生位置を決定し、そして、該決定した動画の再生位置から、新たに指定されたコンテンツデータの動画の再生を開始する点に特徴がある。
【００１７】
図２は、図１のコンテンツ再生画面を表示可能なコンテンツデータ再生装置１００の電気的ハードウェア構成を示すブロック図である。コンテンツデータ再生装置１００は、中央処理装置（ＣＰＵ）１１０、リードオンリーメモリ（ＲＯＭ）１１１、ランダムアクセスメモリ（ＲＡＭ）１１２、表示制御回路１１３、操作検出回路１１４、通信インタフェース１１５（通信Ｉ／Ｆ）、オーディオインタフェース１１６（オーディオＩ／Ｆ）及び記憶装置１１７を備え、各部が通信バス１１８を介して接続される。
【００１８】
ＣＰＵ１１０は、ＲＯＭ１１１又はＲＡＭ１１２に記憶された各種ソフトウェアプログラムを実行して、装置１００の全体動作を制御する。ＲＯＭ１１１は、ＣＰＵ１１０が実行する各種のプログラムや各種のデータなどを格納した不揮発性メモリである。ＲＡＭ１１２は、ＣＰＵ１１０が実行するプログラムのロード領域やワーク領域に使用される。
【００１９】
表示制御回路１１３には、例えば液晶ディスプレイからなる表示部１２０が接続される。表示制御回路１１３は、ＣＰＵ１１０からの指示に基づいて、表示部１２０にコンテンツ再生画面１０（図１）を含む各種情報を表示する。操作検出回路１１４には、例えばキーボード、マウスなどを含む操作部１２５が接続される。ユーザは、操作部１２５を用いて、表示部１２０の画面上に表示したＧＵＩ（graphical user interface）に対する各種操作を行う。ＣＰＵ１１０は、操作検出回路１１４の検出した操作イベント取得して、該取得した操作イベントに対応する処理を行う。
【００２０】
装置１００は、通信Ｉ／Ｆ１１５を介して通信ネットワーク３００に接続される。通信Ｉ／Ｆ１１５は、例えばイーサネット（登録商標）など任意のネットワークインタフェースである。装置１００は、更に、例えばＵＳＢ（Universal Serial Bus）端子など、周辺機器を接続する周辺機器インタフェース１１９を具備する。周辺機器は、例えばデジタル楽器、ビデオカメラ、或いは、オーディオレコーダなどである。
【００２１】
オーディオＩ／Ｆ１１６は、オーディオ信号の入力ポート及び出力ポートと、ＡＤ変換部と、ＤＡ変換部とを含み、図示外の入力機器（例えばマイク）及び／又は出力機器（例えばスピーカ）に接続される。装置１００は、オーディオＩ／Ｆ１１６からアナログオーディオ信号を出力及び／又は入力できる。
【００２２】
記憶装置１１７は、例えばハードディスク、ＦＤ（フレキシブルディスク又はフロッピー（登録商標）ディスク）、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多目的ディスク）、あるいは、フラッシュメモリ等の半導体メモリからなり、装置１００で使用する各種データを記憶し得る。
【００２３】
図３は、本発明の一実施形態に係るコンテンツデータ再生装置の処理構成を説明するブロック図である。ハードウェア１４０は、例えばパーソナルコンピュータ（ＰＣ）、タブレット型コンピュータ、スマートフォンなど任意の汎用コンピュータ装置であり、ディスプレイ（表示部）１２０及びスピーカ１３０を含む各種ハードウェア要素を具備する。
【００２４】
オペレーティングシステム（ＯＳ）１５０は、例えばWindows（登録商標）、iOS（登録商標）、Linux（登録商標）などの基本ソフトウェアであり、ディスプレイ（表示部）１２０を制御するディスプレイドライバ１５１とスピーカ１３０を制御するスピーカドライバ１５２とを含む、ハードウェア要素を制御する機能を提供する。
【００２５】
ブラウザ１６０は、例えばGoogleChrome（登録商標）、FireFox（登録商標）、Safari（登録商標）など周知のＷｅｂブラウザである。ＣＰＵ１１０は、ブラウザ１６０に、図１に示すコンテンツ再生画面１０を表示する。ブラウザ１６０には、ソフトウェア処理によりビデオ再生（動画再生）処理を実現するビデオ再生処理部１６１と、ソフトウェア処理によりオーディオ再生処理を実現するオーディオ再生処理部１６２とが具備される。ビデオ再生処理部１６１は、前記コンテンツ再生画面１０の各ブロック１４に表示されたコンテンツデータ１５のビデオデータに基づく動画の再生処理を行う。オーディオ再生処理部１６２は、各ブロック１４に表示されたコンテンツデータ１５のオーディオ再生処理を行う。すなわち、複数のビデオファイル１７０に基づく動画の再生と、複数のオーディオファイル１８０に基づくオーディオ信号の再生は、それぞれ、ビデオ再生処理部１６１とオーディオ再生処理部１６２という独立したモジュールにより、別々に管理される。
【００２６】
複数のビデオファイル１７０及び複数のオーディオファイル１８０は、再生対象となる複数のコンテンツデータ１５に含まれるビデオデータ及びオーディオデータのデータファイルである。具体的には、コンテンツ再生画面１０の各ブロック１４に現在配置されているコンテンツデータ１５のビデオデータ及びオーディオデータのデータファイルである。複数のビデオファイル１７０及び複数のオーディオファイル１８０は、適宜のメモリ（ＲＡＭ１１２又は記憶装置１１７）に記憶される。
【００２７】
ビデオ再生処理部１６１は、再生すべき１又は複数のビデオファイル１７０に基づく１又は複数の動画を略同時に再生して、ディスプレイドライバ１５１に出力する。オーディオ再生処理部１６２は、再生すべき１又は複数のオーディオファイル１８０を、１系統のオーディオ信号（例えば２チャンネルのステレオ信号）に混合して再生し、スピーカドライバ１５２へ出力する。オーディオ再生処理部１８２は、各種エフェクト付与、音量制御などの音特性制御や、複数のオーディオ信号のミックスダウンなども行う。
【００２８】
一例として、ブラウザ１６０は、“ＨＴＭＬ５”仕様に準拠するＷｅｂブラウザであり、この仕様のＷｅｂブラウザに実装されたマルチメディア要素を用いたソフトウェア処理により、ビデオ再生処理部１６１とオーディオ再生処理部１６２とを実現できる。この場合、ビデオ再生処理部１６１は、ビデオファイル１７０毎にビデオ再生モジュールを用意して、描画処理によりビデオ再生モジュール毎の動画を生成する。ビデオ再生モジュール毎に生成された動画は、Ｃａｎｖａｓ要素を用いて、それぞれ、ブラウザ１６０上の描画領域（各ブロック１４に対応する領域）に描画される。つまり、ビデオ再生処理部１６１は、ビデオファイル１７０毎に独立した複数のビデオ再生処理を行い、各ビデオ再生処理により生成した複数の動画をブラウザ１６０上に並列的に出力する。
【００２９】
オーディオ再生処理部１６２は、複数のＡｕｄｉｏＮｏｄｅ要素と、それらの接続状態を管理するＡｕｄｉｏＣｏｎｔｅｘｔからなり、複数のＡｕｄｉｏＮｏｄｅ要素とそれらの接続状態により１つのオーディオ再生処理を実現する。複数のＡｕｄｉｏＮｏｄｅ要素は、オーディオファイル１８０毎のオーディオ再生機や、各種エフェクト付与要素や、音量制御要素や、ミキサ要素などといった各種オーディオ処理要素である。オーディオファイル１８０毎の複数のオーディオ信号は、フィルタ処理や音量制御等された後、例えば２チャンネルステレオ信号にミックスダウンして出力される。
【００３０】
再生制御モジュール１６３は、ユーザによる再生指示（再生コントロール部３０の各ボタン３１〜３３の操作）に基づいて、ビデオ再生処理部１８１のビデオファイル１７０毎のビデオ再生処理と、オーディオ再生処理部１６２のオーディオファイル１８０毎のオーディオ再生処理とのそれぞれの動作を制御する。制御される動作は、再生開始、再生一時停止、および、再生停止を含む。
【００３１】
再生位置制御モジュール１６４は、オーディオ再生処理部１６２から現在のオーディオ信号の再生位置を取得して、取得した現在のオーディオ信号の再生位置に基づいて、ビデオファイル１７０毎の動画の再生位置を決定する。再生位置制御モジュール１６４は、決定した動画の再生位置からビデオファイル１７０毎の動画の再生を開始するように、ビデオ再生処理部１６１を制御する。この再生位置制御モジュール１６４が、オーディオ信号と動画を同期させる同期機構として機能する。ここでオーディオ信号と動画の同期とは、オーディオ信号の再生位置に動画の再生位置を合わせることである。この同期機構が定期駆動されることにより、オーディオ信号の再生位置と動画の再生位置とにズレが生じる毎に、オーディオ信号の再生位置に合わせて動画の再生位置が補正される。なお、再生位置は先頭位置からの再生経過時間に対応する。
【００３２】
図４は、コンテンツデータ２５０のデータ構成を説明する図である。複数のコンテンツデータ２５０が適宜のメモリ（ＲＡＭ１１２又は記憶装置１１７）に記憶される。１つのコンテンツデータ２５０は、ビデオファイル１７０へのリンクデータ２５１、及び、当オーディオファイル１８０へのリンクデータ２５２を持ち、ビデオファイル１７０及びオーディオファイル１８０に対応付けられている。ビデオファイル１７０及びオーディオファイル１８０は、コンテンツデータ２５０とは別の領域（ビデオ／オーディオデータベース）に記憶される。ビデオファイル１７０及びオーディオファイル１８０は、それぞれ独立したファイルとして、分離して記憶される。なお、ビデオファイル及びオーディオファイルが、対応するコンテンツデータ２５０の中に含まれてもよい。
【００３３】
また、コンテンツデータ２５０は、一例として、開始時間データ２５３と、音量データ２５４とを持っていてもよい。開始時間データ２５３は、コンテンツデータの先頭位置を規定するデータ（先頭位置データ）である。コンテンツデータ２５０を先頭から再生するとき、開始時間データ２５３の示す時間位置から、当該コンテンツデータ２５０の再生が開始する。開始時間データ２５３は、同時に再生すべき複数のコンテンツデータ２５０相互の再生開始タイミングを揃えるように設定される。音量データ２５４は、コンテンツデータ２５０の音量を表しており、典同時に再生すべき複数のコンテンツデータ２５０相互の音量を揃えるように設定される。なお、コンテンツデータの再生時に、同時に再生すべき複数のコンテンツデータの再生開始タイミングと音量とを揃えることができれば、開始時間データ２５３と音量データ２５４とを持たない構成であってもよい。一例として、ビデオファイル及びオーディオファイルをノーマライズ（自動調整）した後にコンテンツデータ２５０を記憶する場合、開始時間データ２５３と音量データ２５４とは不要である。別の例として、ユーザが指定した開始時間と音量とによりビデオファイル及びオーディオファイルを修正（手動調整）した後に演奏コンテンツデータ２５０を記憶する場合、開始時間データ２５３と音量データ２５４とは不要である。
【００３４】
１つのコンテンツデータ２５０は、更に、サムネイル画像、エフェクタデータ、評価、ユーザコメント、タグ等を含む各種属性情報２５５を持ってよい。
【００３５】
次に、コンテンツ再生画面１０において、コンテンツデータの変更が指示されたときの動作について説明する。図５は、コンテンツデータ再生装置１００のＣＰＵ１１０が実行するコンテンツデータ変更処理を示すフローチャートである。ＣＰＵ１１０は、ディスプレイ（表示部）１２０に、複数のコンテンツを表示したコンテンツ再生画面１０を表示し（ステップＳ１）、コンテンツ再生画面１０上で１つのブロック１４が選択された場合（ステップＳ２）、コンテンツデータ選択部２０に、選択されたブロック１４に配置可能な１又は複数のコンテンツデータの選択候補情報を表示する（ステップＳ３）。ユーザはコンテンツデータ選択部２０から１つのコンテンツデータを選択する（ステップＳ４）。
【００３６】
ステップＳ５において、ＣＰＵ１１０は、前記ステップＳ２で選択されたブロック１４に現在配置されているコンテンツデータがあるかどうか調べる。選択されたブロック１４にコンテンツデータが配置されていない場合（ステップＳ５のＮＯ）、ステップＳ６において、ＣＰＵ１１０は、前記選択されたブロック１４に、前記ステップＳ４にて選択されたコンテンツデータを配置する。ＣＰＵ１１０は、該配置されたコンテンツデータのビデオファイル１７０とオーディオファイル１８０とを取得して、取得したビデオファイル１７０をビデオ再生処理部１６１にセットし、取得したオーディオファイル１８０をオーディオ再生処理部１６２にセットする。
【００３７】
ステップＳ７において、ＣＰＵ１１０は、オーディオ再生処理部１６２から現在のオーディオ信号の再生位置を取得し、該取得した現在のオーディオ再生位置に基づいて、再生対象として新たに指定されたコンテンツデータの動画の再生位置を決定し、該決定した動画の再生位置に基づいて、オーディオ再生処理部１６２による動画の再生位置を移動する。再生対象として新たに指定されたコンテンツデータが開始時間データ２５３を持つ場合、ＣＰＵ１１０は、当該ステップＳ７において、前記取得した現在のオーディオ再生位置と、そのコンテンツデータが持つ前記開始時間データ２５３に基づいて、動画の再生位置を決定する。このステップＳ７の処理により、オーディオ再生処理部１６２から取得した現在のオーディオ再生位置に、新たに指定されたコンテンツデータの動画の再生位置を合わせることができる。このステップＳ７が、前記複数のコンテンツデータの再生中に、新たなコンテンツデータが再生対象に指定された場合、前記オーディオ信号の現在の再生位置を取得するステップと、前記取得したオーディオ信号の現在の再生位置に基づいて、前記新たに指定されたコンテンツデータの動画の再生位置を決定するステップとして機能する。また、ＣＰＵ１１０は、当該ステップＳ７において、オーディオ再生処理部１６２から取得した現在再生中のオーディオ再生位置に基づいて、再生対象として新たに指定されたコンテンツデータのオーディオ信号の再生位置も決定する。
【００３８】
そして、コンテンツ再生画面１０において複数のコンテンツが再生中である場合（ステップＳ８のＹＥＳ）、ＣＰＵ１１０は、ステップＳ９において、前記ステップＳ７で決定した動画の再生位置から、今回再生対象として新たに指定されたコンテンツデータのビデオファイル１７０に基づく動画の再生を開始する。また、ＣＰＵ１１０は、前記ステップＳ７で決定したオーディオ信号の再生位置から、今回再生対象として新たに指定されたコンテンツデータのオーディオファイル１８０に基づくオーディオ信号の再生を開始する。これにより、今回再生対象として新たに指定されたコンテンツデータは、現在再生中のオーディオ再生位置に合わせた再生位置から再生される。例えば、既に再生中の複数のコンテンツデータの現在の再生位置が先頭から１０秒経過の位置であった場合、新たに追加されたコンテンツデータは、先頭から１０秒経過後の位置から再生される。従って、ユーザは、複数のコンテンツデータをリアルタイムで視聴しながら、再生中の音声及び映像を途切れさせることなく自然に、コンテンツデータを変更できる。コンテンツデータのビデオ再生位置を、現在再生中のオーディオ再生位置に合わせるようにしているので、複数の動画同士の再生位置を合わせる処理に比べて、処理負担が少ない。したがって、複数のコンテンツデータの再生を継続したまま行うコンテンツデータの変更を円滑に行うことができる。
【００３９】
一方、コンテンツ再生画面１０において複数のコンテンツデータが再生中でない場合（ステップＳ８のＮＯ）、ＣＰＵ１１０は、処理を終了する。この場合、ＣＰＵ１１０は、リアルタイム再生を行わず、選択されたブロック１４に、新たに指定されたコンテンツデータを表示するのみである。なお、コンテンツ再生画面１０上の複数のコンテンツが現在再生停止中の場合、前記ステップＳ２７で設定する新たに指定されたコンテンツデータの再生位置は、そのデータの先頭又は開始時間データ２５３の示す時間位置である。また、コンテンツ再生画面１０上の複数のコンテンツが一時停止中の場合、今回新たに追加されたコンテンツデータの再生は、その一時停止位置から開始する。
【００４０】
前記ステップＳ２で選択されたブロック１４にコンテンツデータが配置されている場合（ステップＳ５のＹＥＳ）、ＣＰＵ１１０は、ステップＳ１０において、選択されたブロック１４のコンテンツデータが再生中かどうか調べる。現在配置されているコンテンツデータが再生中でない場合（ステップＳ１０のＮＯ）、ＣＰＵ１１０は、ステップＳ１１において、選択されたブロック１４におけるコンテンツデータの配置を解除してから、前記ステップＳ６〜Ｓ９を行う。
【００４１】
一方、前記ステップＳ２で選択されたブロック１４のコンテンツデータが再生中の場合（ステップＳ５のＹＥＳ、ステップＳ１０のＹＥＳ）、ＣＰＵ１１０は、ステップＳ１２において、選択されたブロック１４のコンテンツデータの再生を停止して、前述したステップＳ１１にて、コンテンツデータの配置を解除して、前記Ｓ６〜Ｓ９を行う。この場合、選択されたブロック１４のコンテンツデータが、別のコンテンツデータに変更される。この場合も、複数のコンテンツデータをリアルタイム再生しながら、コンテンツデータを変更ができる。
【００４２】
上記の実施例では、ステップＳ７の処理構成として、オーディオ再生処理部１６２のオーディオ再生位置を基準にして、コンテンツデータの動画の再生位置を決定する構成を説明した。図６は、その変形例であり、ブラウザ１６０が提供する時計機能１６５の時間情報を基準にして、コンテンツデータの動画の再生位置を決定するようになっている。この場合、コンテンツデータの再生中に、新たにコンテンツデータが選択されると、再生時間管理部１６６は、時計１６５から時間情報を取得し、再生位置補正部１６７は、取得した時間情報に基づいて、新たに指定されたコンテンツデータの動画の再生位置を決定し、この決定した動画の再生位置に基づいて、ビデオ再生処理部１６１における動画の再生位置を制御する（前記ステップＳ７）。従って、この場合も、ユーザは、複数のコンテンツデータをリアルタイムで視聴しながら、再生中の音声及び映像を途切れさせることなく自然に、コンテンツデータを変更できる。時計１６５は、ブラウザ１６０が提供する時計機能に限らず、コンテンツデータ再生の基準となる時間を供給できさえすれば、どのような時計手段により構成されてもよい。
【００４３】
本発明の第２実施例は、コンテンツデータとして演奏コンテンツデータを適用するものである。この場合、演奏コンテンツデータ１５は、音楽演奏を表す動画（ビデオデータ）と演奏音（オーディオデータ）とからなる。演奏音は、例えば楽器の演奏音や、歌唱音声など、音楽演奏を表す何らかのオーディオデータである。ユーザは、コンテンツ再生画面１０に配置した複数の演奏コンテンツデータ１５の組み合わせにより１つの「ソング」を作成し得る。１つの「ソング」は、例えば１曲分の音楽作品（楽曲）である。
【００４４】
コンテンツデータとして演奏コンテンツデータを適用する場合、前記図１において、マトリックス状に配列された複数のブロック１４は、一方の軸（図１の例では横軸）に音楽作品を構成する時間軸１３をとり、他方の軸（図１の例では縦軸）に前記音楽作品を構成する複数の演奏音の種類（パート）１２をとる。時間軸１３は、一例として、１つのソングを構成する複数の曲構成要素毎の時間区間（セクション）を単位とする。なお、縦軸にセクションをとり、横軸にパートをとるように構成してもよい。また、マトリックス状に配列された複数のブロック１４の縦軸及び横軸に対応付ける要素は、例示したパート１２とセクション１３に限定されず、音楽作品を分類及び管理するための２種類の要素でさえあれば、どのようなものでもよい。
【００４５】
各セクション１３は、それぞれ、例えば「イントロ」、「Ａメロ」、「Ｂメロ」・・・「エンディング」といった曲構成要素に対応付けられている。１つのセクション１３に属するブロック１４には、そのセクション１３に対応付けられた曲構成要素を内容として持つ演奏コンテンツデータ１５が配置される。各セクション１３は、一例として図上左から右へ向かって、１つのソングの時間進行を表すように、時系列順に配列される。各セクション１３は、それぞれ所定の再生時間長を持ち、１つのソング全体の再生時間は、複数のセクション１３の再生時間長全体で規定される。
【００４６】
また、各パート１２は、それぞれ、例えばボーカル（「Ｖｏ」）、キーボード（「ＫＢ」）、ベース（「Ｂａ」）、ドラムス（「Ｄｒ」）・・・など、演奏音の種類（すなわち楽器種類）に対応付けられている。１つのパート１２には、そのパートに対応する演奏音を持つ演奏コンテンツデータが配置される。画面上におけるパート１２の配列順は、任意に設定されてよい。
【００４７】
各ブロック１４に配置される演奏コンテンツデータ１５は、具体的には、或る曲の或るメロディー部分（例えばＡメロ）のボーカルパートであるとか、或いは、該メロディー部分のドラムスの演奏などであり得る。
【００４８】
演奏コンテンツデータの再生は、例えばセクション１３単位で行う。ユーザは、１つのセクション１３に属する複数のパート１２（１列のブロック１４）の複数の演奏コンテンツデータを再生している最中に、そのセクションに属するいずれか１つのパート１２（いずれか１つのブロック１４）を選択して、選択したブロック１４の演奏コンテンツデータを、別の演奏コンテンツデータに変更指示できる。ユーザにより演奏コンテンツデータの変更が指示されたとき、ＣＰＵ１１０は、該当するブロック１４の演奏コンテンツデータの再生を停止して（前記ステップＳ１２）、その演奏コンテンツデータの配置を解除して（前記ステップＳ１１）、選択されたブロック１４に、新たに指定した演奏コンテンツデータを配置する（前記ステップＳ６）。そして、ＣＰＵ１１０は、オーディオ再生処理部１６２から現在のオーディオ信号の再生位置を取得し、該取得した現在のオーディオ信号の再生位置に基づいて、新たに指定されたコンテンツデータの動画の再生位置を決定し（前記ステップＳ７）、該決定した動画の再生位置から、新たに指定されたコンテンツデータの動画の再生を開始する（ステップＳ８、Ｓ９）。なお、１つのソングを再生対象としている場合、ＣＰＵ１１０は、前記ステップＳ７において、ソングの開始時間を加味して、新たに指定されたコンテンツデータの動画の再生位置を決定する。
【００４９】
前記の変更処理により、ユーザは、或るセクション（例えばイントロなど）に関する複数パートの演奏コンテンツデータ（演奏動画及び演奏音）をリアルタイムで視聴しながら、再生中の演奏動画及び演奏音を途切れさせることなく自然に、その一部のパートを別の演奏コンテンツデータに変更できる。ブロック１４内で再生中の演奏コンテンツデータを別の演奏コンテンツデータに置換する場合、再生中の複数パートのうち１つのパートの演奏コンテンツデータ（変更前）が、その演奏の途中から、別の演奏コンテンツデータ（変更後）の演奏に切り替わる。このとき、変更先の演奏コンテンツデータの動画の再生位置を、現在再生中のオーディオ信号の再生位置に合わせるようにしているので、音楽の演奏を聴覚上破綻させることなく、スムーズな演奏の切り替えを実現できる。
【００５０】
この実施例のようにコンテンツデータとして演奏コンテンツデータを適用した場合、ユーザは、複数の演奏コンテンツデータの動画再生により、どんな演奏が行なわれているかを視覚的に理解しながら、一部のパートを別の演奏コンテンツデータに変更できる。動画により視覚的に演奏を理解しながら、演奏コンテンツデータを変更できるので、複数の演奏コンテンツデータを任意に組み合わせて１つのソング（楽曲、音楽作品）を作成する音楽作成を、簡単に楽しむことができるようになる。かかる簡便な音楽作成ツールを提供することにより、演奏の技術の程度に関わらず、音楽作りに興味を持つたくさんの人たちが、音楽制作というクリエイティブな楽しみを味わうことができる。
【００５１】
第３の実施例は、本発明のコンテンツデータ再生装置を、音楽作成システムに適用する。この第３の実施形態において、コンテンツデータは、前述した演奏コンテンツデータであり、音楽作成システムは、複数の演奏コンテンツデータを任意に組み合わせて１つのソング（楽曲、音楽作品）を作成するためのシステムである。図７は音楽作成システムの全体構成図である。音楽作成システムは、複数のクライアント端末１００とコンテンツ提供サーバ２００とを通信ネットワーク３００によりデータ通信可能に接続して成る。クライアント端末１００は、図１のコンテンツ再生画面１０を表示部に表示し、本発明のコンテンツデータ再生装置として機能するコンピュータであり、汎用のパーソナルコンピュータ（ＰＣ）、タブレット型コンピュータ、スマートフォンなど、任意のコンピュータ装置を適用できる。
【００５２】
コンテンツ提供サーバ２００は、通信ネットワーク３００に接続されたサーバコンピュピュータであり、後述するソングコンテンツデータベースを備え、クライアント端末１００に演奏コンテンツデータを含む各種データを提供できる。また、サーバ２００は、クライアント端末１００を本発明のコンテンツデータ再生装置として機能させるためのアプリケーションプログラムの提供や、コンテンツ提供サーバ２００の提供する各種サービスを利用するユーザの管理などを行う。
【００５３】
通信ネットワーク３００は、例えばインターネットであるが、それに限らず、コンテンツ提供サーバ２００と複数のクライアント端末１００との間で後述する各種データの通信を行う能力を有してさえいれば、周知のどのようなデータ通信ネットワークでもよい。
【００５４】
図８は、コンテンツ提供サーバ２００に備わるソングコンテンツデータベース２１０のデータ構成例を説明する図である。図８に示す通り、ソングコンテンツデータベース２１０は、複数のソングコンテンツ２２０を記憶する。各ソングコンテンツ２２０はそれぞれ名称（ソング名）２２１が付けられている。１つのソングコンテンツ２２０は、１曲分の音楽作品に対応する。
【００５５】
１つのソングコンテンツ２２０は、複数のセクションデータ２３０により構成される。１ソング内の複数のセクションデータ２３０は、イントロ、Ａメロ、Ｂメロ・・・エンディング等のセクション１３毎に１つずつ用意される。１つのセクションデータ２３０は名称（セクション名）２３１と、再生時間データ２３２を有する。再生時間データ２３２は、対応するセクション１３の再生時間長を表すデータである。例えば、或る「イントロ」セクションの時間長が１５秒とすると、その再生時間データ２３２は「１５秒」を表すデータである。
【００５６】
１つのセクションデータ２３０は、複数のパートデータ２４０により構成される。１つセクション２３０内の複数のパートデータ２４０は、ボーカル、キーボード、ベース、ドラムス・・・など楽器種類（パート１２）毎に１つずつ用意される。各パートデータ２４０は名称（「ボーカル」など、対応するパートのパート名）２４１を持つ。１つのパートデータ２４０には、１又は複数の演奏コンテンツデータ２５０が登録される。１つのパートデータ２４０に登録される１又は複数の演奏コンテンツデータ２５０は、対応するブロック１４（１つのセクション１３の１つのパート１２）に配置可能な演奏コンテンツデータ２５０の選択候補である。パートデータ２４０に登録された１又は複数の演奏コンテンツデータ２５０のうち１つの演奏コンテンツデータ２５０が、対応するブロック１４（１つのセクション１３の１つのパート１２）に配置される。
【００５７】
１つの演奏コンテンツデータ２５０の構成は、図４を参照して説明したコンテンツデータ２５０と同様であり、上記を援用して説明を省略する。
【００５８】
なお、各種属性情報２５５は、演奏コンテンツデータ２５０毎に記憶する構成に限らず、パートデータ２４０毎、セクションデータ２３０毎、或いは、ソングコンテンツ２２０毎に記憶されてもよいし、これらのデータ２２０〜２５０の全て又は一部に記憶されてもよい。
【００５９】
１つのソングを表すデータ構造の別の例として、コンテンツ提供サーバ２００は、１又は複数のソングシナリオ２６０を記憶してもよい。前述したソングコンテンツ２２０が、各ブロック１４に配置可能な演奏コンテンツデータ２５０の集合であるのに対して、ソングシナリオ２６０は、ソングコンテンツ２２０の可変要素、すなわち、各ブロック１４に配置する１つの演奏コンテンツデータ２５０を特定したデータである。ソングシナリオ２６０は、ユーザが任意に選択した或る複数の演奏コンテンツデータ２５０の組み合わせからなる１つの音楽作品を表す。
【００６０】
図９は、ソングシナリオ２６０のデータ構成例である。１つのソングシナリオ２６０は、その名称（ソングシナリオ名）２６１と、１つのソングコンテンツ２２０へのリンク２６２とを持っており、ソングコンテンツデータベース２１０内の１つのソングコンテンツ２２０に対応付けられている。
【００６１】
１つのソングシナリオ２６０は、複数のセクションデータ２６３からなり、各セクションデータ２６３は複数のパートデータ２６４からなる。セクション及びパートの構成は、対応付けられた１つのソングコンテンツ２２０と同様である。そして、各パートデータ２６４は、１つの演奏コンテンツデータ２５０へのリンクデータ２６５を内容とする。リンクデータ２６５は、当該パートデータ２６４に対応するパートデータ２４０に選択候補として登録された複数の演奏コンテンツデータ２５０のうち１つを、当該リンクデータ２６５が属する１つのパート（つまり１つのブロック１４）に配置する１つの演奏コンテンツデータ２５０として指定する。
【００６２】
ソングシナリオ２６０の各パートデータ２６４には、演奏コンテンツデータに対する開始時間オフセットデータ２６６と音量オフセット２６７とが設定される。開始時間オフセットデータ２６６は、演奏コンテンツデータの規定の開始時間（例えばデータ先頭又は開始時間データ２５３）からの調整値（オフセット）であり、音量オフセット２６７は演奏コンテンツデータの規定の音量値（例えば音量データ２５４）からの調整値（オフセット）である。更に演奏コンテンツデータに対するエフェクト設定や、コメント、評価等の各種属性情報を、前述したソングコンテンツ２２０とは独立に、ソングシナリオ２６０に記憶するようにしてもよい。
【００６３】
次に、クライアント端末１００のコンテンツ再生画面１０において、ユーザがソングコンテンツ２２０又はソングシナリオ２６０（以下、両者を区別しない場合は「ソング」と総称する）を任意に作成及び編集する手順について説明する。図１０は、ソングを作成及び編集する処理全体を示すシーケンス図であり、クライアント端末１００とサーバ２００との通信により処理が進行する。
【００６４】
ステップＳ１３において、クライアント端末１００は、通信ネットワーク３００経由でコンテンツ提供サーバ２００をアクセスし、サーバ２００が提供するソング編集・作成サービスにログインする。例えば、クライアント端末１００のＣＰＵ１１０は、Ｗｅｂブラウザ１６０を用いて表示部１２０にサーバ２００から取得したログインインページを表示し、ログインページにおいて例えばユーザ名と認証パスワードを入力することで、サーバ２００００のサービスにログインする。
【００６５】
ステップＳ１４において、サーバ２００は、ログインしたクライアント端末１００にフロントページの情報を送信する。クライアント端末１００は、Ｗｅｂブラウザ１６０を用いて表示部１２０にフロントページを表示して、ユーザによるソングコンテツ又はソングシナリオの選択を受け付ける。
【００６６】
一例として、フロントページは、入力された検索語に基づきソングコンテンツ２２０の選択候補を表示する検索画面である。検索語は、例えばソング名２２１や、演奏コンテンツデータのタグ等の属性情報２５５を用いる。検索結果は、例えばユーザによる評価順、検索語との一致度の高い順、名前順、作成日付順、作成者に基づく順番など、任意の順序で表示してよい。フロントページの別の例として、入力された検索語に基づき１つのソングシナリオ２６０を選択できるようにしてもよい。検索語としては、例えばソングシナリオ名２６１や、演奏コンテンツデータのタグ等の属性情報２５５を利用できる。
【００６７】
更に、別の例として、先ず、１つのソングコンテンツ２２０を検索及び選択した後に、そのソングコンテンツ２２０にリンクする全てのソングシナリオ２６０を一覧表示して、その一覧表示中から１つのソングシナリオ２６０を選択できるようにしてもよい。更に別の例として、フロントページから演奏コンテンツデータ２５０を検索できてもよい。
【００６８】
フロントページの表示構成例として、ユーザたちの間での情報共有、メッセージ交換、ユーザの検索などを行うソーシャルネットワーク機能を備えてもよい。ソーシャルネットワーク機能を用いて、例えば、自作のソングの提示、推薦、他のユーザによる活動の提示などを行い得る。
【００６９】
クライアント端末１００は、前述したフロントページにおいて選択されたソングをサーバ２００に通知する（ステップＳ１５）。サーバ２００は、クライアント端末１００に対して、該選択されたソングに関するコンテンツ再生画面１０を送信する（ステップＳ１６）とともに、コンテンツ再生画面１０に必要な１又は複数の演奏コンテンツデータのビデオファイル及びオーディオファイルをクライアント端末１００に送信する（ステップＳ１７）。クライアント端末１００は、サーバ２００から送信された１又は複数の演奏コンテンツデータのビデオファイル１７０及びオーディオファイル１８０（図８参照）を、ＲＡＭ１１２又は記憶装置１１７に保存する。そして、クライアント端末１００のＣＰＵ１１０は、前記ステップＳ１６、Ｓ１７で送信された情報に基づいて、表示部１２０にコンテンツ再生画面１０を表示し、且つ、各ブロック１４内に演奏コンテンツデータ１５を表示する。
【００７０】
ソングコンテンツ２２０が選択された場合は、一例として、前記ステップＳ１５において、サーバ２００は、コンテンツ再生画面１０の各ブロック１４に初期設定として配置されている演奏コンテンツデータに該当するビデオファイル１７０及びオーディオファイル１８０を送信する。別の例では、各ブロック１４に演奏コンテンツデータが初期設定されておらず、サーバ２００は前記ステップＳ１７において演奏コンテンツデータ２５０を送信しない。その場合。各ブロック１４は演奏コンテンツデータが未配置（すなわち空の状態）である。
【００７１】
ソングシナリオ２６０が選択された場合は、前記ステップＳ１７において、サーバ２００は、そのソングシナリオ２６０を構成する複数の演奏コンテンツデータ２５０（すなわち各ブロック１４に配置されている演奏コンテンツデータ２５０）のビデオファイル１７０及びオーディオファイル１８０を送信する。
【００７２】
別の例として、前記ステップＳ１７において、サーバ２００は、演奏コンテンツデータのビデオファイル１７０及びオーディオファイル１８０をクライアント端末１００に送信せずに、例えば各ブロック１４内に表示する情報（例えば動画の一場面の静止画像データ）のみをサーバ２００からクライアント端末１００に送信しておく。その後、必要に応じて（例えば再生指示に応じて）、サーバ２００が、ビデオファイル１７０及びオーディオファイル１８０をクライアント端末１００に送信してもよい。
【００７３】
ステップＳ１８において、ユーザは、コンテンツ再生画面１０の所望のブロック１４に、ユーザが新規に作成した演奏コンテンツデータを新規登録（すなわちアップロード）できる。演奏コンテンツデータ２５０の新規登録手順の一例について説明する。なお、クライアント端末１００は、前記ステップＳ１８の新規登録処理を、前記ステップＳ１７において演奏コンテンツデータを受け取ってからサービスからログアウトするまで（後述のステップＳ２６）の間、任意のタイミングで行われてよい。
【００７４】
図１１は、クライアント端末１００側で実行される演奏コンテンツデータ２５０の新規登録手順を説明するフローチャートである。ユーザは、まず、新規登録すべき演奏コンテンツデータを作成する。ユーザは、コンテンツ再生画面１０上で、登録先となるブロック１４を１つ選択し、ソング又はセクションの再生を指示し（ステップＳ２７）、再生音に合わせて、演奏を録画及び録音する（ステップＳ２８）。ＣＰＵ１１０は、録画及び録音された演奏を内容とする演奏コンテンツデータを作成し、作成した演奏コンテンツデータを適宜のメモリ（例えばＲＡＭ１１２又は記憶装置１１７）に一時記憶する。前記ステップＳ２７で１つのソング全体の再生を指示する場合は、再生対象として１つのソングシナリオ２６０を指定する。１つのセクションを再生する場合は、再生対象として１つのソングコンテンツデータ又はソングシナリオ中のセクションを指定する。なお、ソング又はセクションを再生するためのテンポは、ソング毎に予め決められているものとする。
【００７５】
前記ステップＳ２７において、ソング又はセクションの再生処理は、一例として、全パート１２のオーディオ再生と動画再生とを行う。なお、演奏コンテンツデータの再生処理の細部は後述する。別の例として、この再生処理は、動画再生せずにオーディオ再生処理のみを行う。また、別の例において、この再生処理は、登録先となるブロック１４に対応するパートを除いた複数パート１２を再生（すなわちマイナスワン演奏）することであってよい。更に別の例として、この再生処理は、クリック音のみを再生することであってもよい。
【００７６】
また、前記ステップＳ２８の録画及び録音処理において、撮影機器は、例えばビデオカメラ、ＰＣあるいはスマートフォンなどのクライアント端末１００とは別体の撮影機器、若しくは、クライアント端末１００に内蔵の撮影機器（例えばＰＣのＷｅｂカメラ）など任意の撮影機器である。また、録音機器は、例えばオーディオレコーダや録音機能を有するデジタル楽器等などクライアント端末１００とは別体の録音機器、もしくは、クライアント端末１００に内蔵の録音機器（例えば端末本体に内蔵のマイク）など任意の録音機器である。ユーザは、録画と録音とを、同時に行っても良いし、それぞれ独立して行っても良い。なお、ビデオファイルの代わりに１又は複数の静止画ファイルを作成し、演奏コンテンツデータ１５の動画の代わりに、１又は複数の静止画ファイルをブロック１４内で再生するように構成してもよい。また、オーディオファイルの代わりに、演奏内容を表すＭＩＤＩファイルを作成してもよい。
【００７７】
前記ステップＳ２８の録画及び録音処理は、一例として、コンテンツ再生画面１０上で行い得る。この場合、ユーザは、今回の新規登録先に指定されたブロック１４に、撮影中の映像をリアルタイムで表示しながら、録画及び録音を行う。この構成によれば、自分で演奏するパート以外の複数のパートを表す動画をコンテンツ再生画面１０上で再生しつつ、同じ画面１０上で自身の演奏を録画・録音できるので、あたかも自分以外のパートの演奏ととも自分の演奏を行っているかのような、臨場感及び／又は一体感を持って、演奏を録画・録音することができる。更に、コンテンツ再生画面１０は、前記自分以外のパートの演奏として、通信ネットワーク３００を介して他のクライアント端末１００からリアルタイム配信された他人のリアルタイム演奏を表示できるように構成してもよい。なお、リアルタイム入力された演奏コンテンツデータ２５０（動画及び音声）を、通信ネットワーク３００越しに複数のクライアント端末１００間でリアルタイムデータ通信すること自体は、周知技術を利用して実現できる。この構成によれば、通信ネットワーク３００を介して接族された複数のクライアント端末１００のユーザは、コンテンツ再生画面１０上でお互いのリアルタイム演奏を視覚的に確認しながら、該通信ネットワーク３００越しに略リアルタイムで合奏を行い、その合奏を録画及び録音できる。
【００７８】
コンテンツ再生画面１０上で録画及び録音を行う場合の変形例として、撮影中の演奏映像を、例えばポップアップウィンドウなど、コンテンツ再生画面１０とは別のウィンドウに表示するようにしてもよい。この場合、当該ユーザ自身の演奏以外のパート１２は、ブロック１４内での動画再生を行わず、オーディオ再生のみを行うとよい。こうすることで、クライアント端末１００にとって処理負担の軽い録画・録音環境を提供できる。
【００７９】
ステップＳ２９において、クライアント端末１００は、前記ステップＳ２８で作成した演奏コンテンツデータのビデオファイル及びオーディオファイルを、コンテンツ提供サーバ２００にアップロードする。コンテンツ提供サーバ２００は、アップロードされたビデオファイル１７０及びオーディオファイル１８０を所定の保存場所（ビデオ／オーディオデータベース）に記憶するとともに、ソングコンテンツデータベース２１０内の登録先ブロック（或るソングの或るセクション内の或るパート）に、アップロードされた演奏コンテンツデータ２５０を登録する。これにより、今回新規に作成した演奏コンテンツデータが当該ブロックに配置可能な選択候補の１つとして新規登録される。
【００８０】
前記ステップＳ２９のアップロードに際して、ユーザは、登録先のセクション及びパートと、名称と、ビデオファイル及びオーディオファイルの再生開始位置及び音量とを手動で指定できる。別の例として、サーバ２００が適当な再生開始位置及び音量を自動的に算出してもよい。サーバ２００は、ユーザに指定された又は自動的に算出した再生開始位置及び音量をソングコンテンツ２２０内の当該演奏コンテンツデータ２５０に含まれる開始時間２５３及び音量データ２５４として設定する。このように、登録時に演奏コンテンツデータ２５０に含まれる開始時間２５３及び音量データ２５４を設定しておくことで、演奏コンテンツ再生時の処理負荷を減らす。
【００８１】
また、一例として、コンテンツ提供サーバ２００は、必要に応じて、アップロードされたビデオファイルの画面サイズを縮小することにより、データサイズを削減してもよい。別の例として、アップロードする演奏コンテンツデータは、ビデオファイル又はオーディオファイルのいずれか一方だけであってもよい。オーディオファイルがアップロードされなかった場合、コンテンツ提供サーバ２００は、ビデオファイルに含まれるオーディオデータから、演奏コンテンツデータ用のオーディオファイルを作成してもよい。周知の通り、一般的なビデオファイルは撮影時の音を録音したオーディオファイルを含んでいる。従って、ビデオファイルの録画とは独立してオーディオファイルの録音を行っていない場合であっても、録画したビデオファイルから、オーディオファイルを分離することにより、分離したオーディオファイルを、演奏コンテンツデータを構成するオーディオファイルに利用できる。
【００８２】
ステップＳ３０において、クライアント端末１００は、ユーザ自身によって行われた演奏コンテンツデータの一覧に、今回アップロードされた演奏コンテンツデータを追加表示して、ユーザによる調整を受け付ける。ユーザは、コンテンツ再生画面１０において、アップロードした演奏コンテンツデータの再生開始位置と音量とを手動調整し得る。ソングシナリオ２６０の作成時には、この調整にて再生開始時間と音量のオフセット２６６，２６７を設定し得る。調整結果はサーバ２００に反映される。
【００８３】
ステップＳ３１において、クライアント端末１００は、今回アップロードされた演奏コンテンツデータを通信ネットワーク３００上のユーザに向けて公開する。これにより、コンテンツ再生画面１０の演奏コンテンツデータ選択部２０には、選択肢の１つとして今回アップロードされた演奏コンテンツデータのサムネイルを含む各種情報が表示される。ユーザは、自身でアップロードした演奏コンテンツデータの公開範囲を制限せずに不特定多数のユーザに公開し得る。また、ユーザは、自身でアップロードした演奏コンテンツデータの公開範囲を制限してもよい。以上で、演奏コンテンツデータの新規登録のための処理が終了する。
【００８４】
図１０に戻ると、ユーザは、コンテンツ再生画面１０上で、選択したブロック１４内の演奏コンテンツデータ１５を、別の演奏コンテツデータ１５に変更できる（ステップＳ１９〜Ｓ２２）。コンテンツ再生画面１０上でブロック１４が選択される度に、選択されたブロック１４を対象にステップＳ１９〜Ｓ２２が繰り返される（ステップＳ２３）。
【００８５】
前記ステップＳ１９〜Ｓ２２による演奏コンテツデータの変更処理に関する動作を説明する。まず、ユーザによるブロック選択に応じて、クライアント端末１００は、ユーザに選択されたブロックの情報をサーバ２００に送信する（ステップＳ１９）。そして、サーバ２００は、選択されたブロックに配置可能な１又は複数の演奏コンテンツデータ２５０の情報を、選択候補情報として、クライアント端末１００に送信する（ステップＳ２０）。
【００８６】
選択候補情報は、当該選択されたブロックに対応するパートデータ２４０に登録されている１又は複数の演奏コンテンツデータ２５０それぞれの、サムネイル画像、名称、作者名、評価など属性情報２５５を含む。クライアント端末１００のＣＰＵ１０は、コンテンツ再生画面１０上の演奏コンテンツデータ選択部２０に、受信した選択候補情報に基づく、１又は複数の演奏コンテンツデータの情報を提示する。
【００８７】
ユーザは、演奏コンテンツデータ選択部２０から所望の１つの演奏コンテンツデータを選択して、ブロック１４の演奏コンテンツデータ１５の変更を指示する。クライアント端末１００が、選択された演奏コンテンツデータの情報をサーバ２００に通知すると（ステップＳ２１）、サーバ２００は、ユーザにより選択された演奏コンテンツデータ２５０（ビデオファイル１７０及びオーディオファイル１８０）をソングコンテンツデータベース２１０から取得して、クライアント端末１００に送信する（ステップＳ２２）。クライアント端末１００は、選択されたブロック１４に、送信された演奏コンテンツデータ１５を配置する。これにより、任意のブロック１４の演奏コンテンツデータ１５を、別の演奏コンテンツデータ１５に変更できる。選択されたブロック１４に演奏コンテンツデータ１５が配置されていない場合には、今回選択された演奏コンテンツデータ１５が新規追加されることになる。
【００８８】
また、ユーザは、コンテンツ再生画面１０上のブロック１４又は演奏コンテンツデータ選択部２０にて選択した演奏コンテンツデータの内容を、編集できる。編集の内容は、例えば再生開始位置、音量或いはエフェクトの調整などである。この場合、クライアント端末１００は、演奏コンテンツデータの編集内容をサーバ２００に通知する（ステップＳ２１）。サーバ２００は、通知された編集内容に基づいて、データベース２１０に保存している演奏コンテンツデータ２５０の内容を上書き更新したり、或いは、新たな演奏コンテンツデータ２５０を保存したりする。編集結果は、クライアント端末１００でソング作成画面の表示に反映される。
【００８９】
ステップＳ２４において、ユーザがソング作成画面１０上で再生指示をした場合、クライアント端末１００は、ユーザにより選択された１つのセクション１３に属する複数のパート（一列のブロック１４）の複数の演奏コンテンツデータ１５を略同時に再生できる。１つのセクション１３の再生時間長は再生時間データ２３２により決められているので、複数の演奏コンテンツデータ１５の再生開始位置を揃えておけば、それら複数の演奏コンテンツデータ１５の再生開始位置と再生終了位置とを略一致させ得る。前述の通り、サーバ２００のデータベース２１０に演奏コンテンツデータ２５０を新規登録する時（前記ステップＳ１８）、再生開始位置を設定しているので、再生処理の負荷が軽減され、再生指示操作に対するレスポンスが良い。
【００９０】
前記ステップＳ２４で、セクション１３に属する全パート又は一部のパートの演奏コンテンツデータを再生（視聴）しつつ、前記ステップＳ１９〜Ｓ２２により再生中のブロック１４の演奏コンテンツデータを別の演奏コンテンツデータに変更したり、前記ステップＳ１８により任意のブロック１４に演奏コンテンツデータを新規登録（新規録音）したりできる。
【００９１】
前記ステップＳ２４によるセクション１３単位の演奏コンテンツデータの再生処理は、当該セクションの先頭から末尾まで１回再生を終えた後に自動的に停止してもよいし、ユーザにより手動停止されるまで、当該セクションの再生をループしてもよい。また、前記ステップＳ２４の再生処理は、１セクションのみを再生対象とするのに限らず、複数のセクションを再生対象にしてもよいし、或いは、１つのソング（１つのソングシナリオ２６０）全体を再生対象にしてもよい。
【００９２】
クライアント端末１００のユーザは、前記ステップＳ１８〜Ｓ２４によって行なわれた編集の結果物を、ソングコンテンツ２２０又はソングシナリオ２６０として、サーバ２００に上書き保存又は新規保存ように指示する（ステップＳ２５）。サーバ２００は、前記ステップＳ６〜Ｓ１２によって行なわれた編集の結果物を、ソングコンテンツ２２０又はソングシナリオ２６０として、データベース２１０に上書き保存又は新規保存する。クライアント端末１００は、ステップＳ２６において、サーバ２００が提供するソング編集・作成サービスからログアウトして、処理を終える。
【００９３】
次に、コンテンツデータの同期再生機構の一例について説明する。図１のコンテンツデータ再生画面１０において複数のコンテンツデータ２５０を略同時再生（前記ステップＳ２４等）する場合、複数の動画同士の同期、複数のオーディオ信号同士の同期、並びに、オーディオ信号と動画との同期について考慮する必要がある。本実施例では、複数のオーディオ信号同士の同期に関しては、オーディオ再生処理部１６２が、複数のオーディオ信号を、１系統のオーディオ信号（２チャンネルのステレオ信号）にミックスダウンして、再生するので、特別な同期機構は不要である。一方、ビデオ再生処理に関しては、ビデオ再生処理部１６１において、ビデオファイル毎に独立した複数のビデオ再生処理を起動して、複数の再生機の動画を、１つのコンテンツ再生画面１０上の各ブロック１４に並列的に描画するので、複数のビデオ再生処理の同期を取る機構が必要となる。前述した各実施例では、図３及び６に示した通り、再生位置制御モジュール１６４により、オーディオ信号の再生位置に動画の再生位置を合わせることで、オーディオ信号と各動画との同期をとり、ひいては複数の動画同士の同期をとるようになっている。
【００９４】
図１２は、クライアント端末１００のＣＰＵ１０が実行する同期処理（図３及び６の再生位置制御モジュール１６４の動作）を示すフローチャートである。この同期処理（再生位置補正処理）は、コンテンツデータの再生中に起動する。一例として、この同期処理は、例えば１秒毎など定期的に起動する。ステップＳ３２において、ＣＰＵ１１０は、ビデオ再生処理部１６１から現在の動画の再生位置を取得し、且つ、オーディオ再生処理部１６２から現在のオーディオ信号の再生位置を取得して、現在の動画の再生位置と現在のオーディオ信号の再生位置との差を算出する。変形例として、前記ステップＳ３２は、ブラウザ１６０が提供する時計機能１６５（図６参照、）から時間情報を取得して、該時間情報に基づいてオーディオ再生位置を決定し、そのオーディオ再生位置と現在のビデオ再生位置との差を算出するように構成されてもよい。
【００９５】
ステップＳ３３において、ＣＰＵ１１０は、前記ステップＳ３２で算出した差と、同期処理の要否を判断するための閾値とを比較する。閾値は、例えば３００ミリ秒など、適宜の値に設定できる。一例である、「３００ミリ秒」という閾値は、動画の再生位置とオーディオ信号の再生位置との差が比較的広く開くことを許容した値である。閾値大きめに設定しているので、後述する、オーディオ信号の再生位置に合わせて動画の再生位置を補正する処理を実行する頻度を減らすことができる。よって処理負担が少ない。
【００９６】
差が閾値以上の場合（ステップＳ３３のＹＥＳ）、ＣＰＵ１１０は、現在の動画の再生位置と現在のオーディオ信号の再生位置とにズレが生じたものと判断する。そして、ステップＳ３４において、ＣＰＵ１１０は、移動回数パラメータの値を１つ歩進する。この移動回数は、現在のオーディオ信号の再生位置に合わせて動画の再生位置を移動した回数、すなわち、動画の再生位置の補正する処理を実行した回数（つまり補正回数）を示すパラメータである。ステップＳ３５において、ＣＰＵ１１０は、前記ステップＳ３４で設定した移動回数に基づき、動画の再生位置を現在のオーディオ信号の再生位置に合わせるための移動量を算出する。移動量は、動画の再生位置を移動させる量、つまり動画の再生位置の補正量である。移動量は、例えば「移動回数×１００ミリ秒」（「×」は乗算を表す記号である）という計算式により算出し得る。
【００９７】
ステップＳ３６において、オーディオ再生処理部１６２から取得した現在のオーディオ信号の再生位置と前記ステップＳ３５にて算出した移動量とに基づいて、補正後の動画の再生位置を算出して、前記算出した補正後の動画の再生位置へ、ビデオ再生処理部１６１による動画の再生位置を移動する。これにより、現在のオーディオ信号の再生位置に合わせるように、動画の再生位置を補正することができる。オーディオ信号の再生位置を基準として同期の要否を判断することにより、動画の厳密な同期処理をあきらめる一方で、同期の頻度を減らして処理負荷を軽減できる。動画とオーディオ信号との同期をとることよりも、オーディオ信号の再生を優先することにより、オーディオ信号再生の破綻を防ぐ。したがって、音楽用途に好適である。簡単な処理でビデオデータとオーディオデータとの同期をとることができるので、汎用のネットワークシステムや、汎用のＷｅｂブラウザなど、処理負荷変動が予測しにくい一般的な環境下においても、オーディオデータとビデオデータとからなるコンテンツデータを安定して再生できる。
【００９８】
一方、前記ステップＳ３２で算出した現在の動画の再生位置と現在のオーディオ信号の再生位置との差が閾値以下の場合（ステップＳ３３のＮＯ）、ＣＰＵ１１０は、現在の動画の再生位置と現在のオーディオ信号の再生位置とにズレが生じていないものと判断し、前記ステップＳ３４〜Ｓ３６の処理を行わない。
【００９９】
ソングの再生中は（ステップＳ３７のＮＯ）、ＣＰＵ１０は、前記ステップＳ３２以下を繰り返す。そして、現在の動画の再生位置と現在のオーディオ信号の再生位置とにズレが生じる度に、前記ステップＳ３４〜Ｓ３６の処理が行われる。ＣＰＵ１１０は、前記ズレの発生を検出する度（つまり補正を行う度）に、前記ステップＳ３４において、移動回数パラメータを１ずつ累積する。前述したステップＳ３５の移動量の計算式によれば、移動回数（同期処理の頻度）が大きくなるほど、算出される移動量（補正量）が大きくなる。クライアント端末１００の再生機構として、汎用環境（ブラウザ１６０、ＯＳ１５０、ハードウェア１４０）を想定する場合、前記ステップＳ３５で移動量を決めてから、移動後の位置から動画を再生するまでに要する時間は実行環境及び状況によって変化し得る。このような実行環境を想定した場合、同期処理の頻度に応じて補正量を広げる構成は、事前に特定できない最適な移動量（補正量）を探りながら補正できるという点で有利である。また、同期処理頻度に応じて移動量を広げてゆく構成は、同期処理の負荷が急激に上昇してシステム全体の動作に悪影響を与えることを防止できる点で有利である。
【０１００】
ソング再生が停止された場合（ステップＳ３７のＹＥＳ）、ＣＰＵ１１０は、ステップＳ３８において、移動回数パラメータの値を消去して処理を終了する。
【０１０１】
変形例として、前記ステップＳ３８による移動回数パラメータの値の消去を行わず、その再生処理中に累積した移動回数を保持しておき、次回以降の再生処理において、過去の累積した移動回数を継続して使用するように構成してもよい。その場合、前記ズレの発生を検出する度（つまり補正を行う度）に、前記ステップＳ３４において、移動回数パラメータの値を歩進させるだけでなく、例えばビデオ再生位置とオーディオ再生位置との差が狭まった場合には移動回数を減らすというルールも必要になる。また、移動量を算出する式は、例えば、「移動回数の二乗」×「１００ミリ秒」という２次式を採用してもよい。また、移動量を算出するのに「１００ミリ秒」等の規定の固定値を用いる構成に替えて、実行環境の統計情報を収集して、その統計情報から推測した値を使用する構成を採用してもよい。また、移動量を求めるための計算式のパラメータとしてとして、更に、再生するビデオファイルの数（起動すべき動画再生機の数）を用いることも考えられる。また、同期処理の頻度が多すぎる場合や、システム動作状況が不安定な場合は、閾値を更に大きくとり、同期処理を起動し難くしてもよい。
【０１０２】
なお、前記第２実施形態においてコンテンツデータ２５０の一例として、音楽演奏を表す演奏コンテンツデータを挙げたが、コンテンツデータは、ビデオデータとオーディオデータとからなるものであれば、どのような内容を持つものでもよい。
【０１０３】
なお、上記実施例では、コンテンツ再生画面１０を表示するコンテンツデータ再生装置として、本発明を構成及び実施することを説明したが、本発明は、コンテンツデータ再生方法、コンテンツデータ再生処理をコンピュータに実行させるためのプログラムの発明として構成及び実施することもできる。
【符号の説明】
【０１０４】
１０  コンテンツデータ作成画面、１１  コンテンツデータ表示部、１４  ブロック、１５  コンテンツデータ、２０  演奏コンテンツデータ選択部、３０  再生コントロール部、１００  コンテンツデータ再生装置、１７０  ビデオファイル、１８０  オーディオファイル、１６１  ビデオ再生処理部、１６２  オーディオ再生処理部、１６３  再生制御モジュール、１６４  再生位置制御モジュール
【図１】
2015033060.tif 000003
【図２】
2015033060.tif 000004
【図３】
2015033060.tif 000005
【図４】
2015033060.tif 000006
【図５】
2015033060.tif 000007
【図６】
2015033060.tif 000008
【図７】
2015033060.tif 000009
【図８】
2015033060.tif 000010
【図９】
2015033060.tif 000011
【図１０】
2015033060.tif 000012
【図１１】
2015033060.tif 000013
【図１２】
2015033060.tif 000014