(57)【要約】【課題】子機から親機へ定期的に問い合わせを実行し、親機と子機とのサンプリング周波数が一致するように子機側で適切な補正を行うことで、親機と子機とでコンテンツの再生タイミングを一致させる。【解決手段】他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信部と、他の装置からのカウント値の返答を受信する受信部と、返答受信部が受信した他の装置からのカウント値に基づいてサンプル周波数を他の装置と合わせて他の装置と同期させる補正を所定の周期で実行する補正部と、サンプル周波数に基づいて他の装置とタイミングを合わせてコンテンツを再生する再生部と、を備え、補正部は、問い合わせ要求の送信から返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正する。【選択図】図１
2010288158.tif 000002
【特許請求の範囲】
【請求項１】
他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信部と、
前記他の装置からのカウント値の返答を受信する受信部と、
前記受信したカウント値に基づいてサンプル周波数を前記他の装置と同期させる補正処理を所定の周期で実行する補正部と、
前記サンプル周波数に基づいて前記他の装置と同期してコンテンツを再生する再生部と、
を備え、
前記補正部は、
前記問い合わせ要求の送信から前記返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正する、情報処理装置。
【請求項２】
前記補正部は、前記他の装置よりサンプル周波数が多い場合には、前記再生部で再生対象となるコンテンツのサンプルを増加又は減少することでサンプル周波数を前記他の装置と合わせる補正を行う、請求項１に記載の情報処理装置。
【請求項３】
前記補正部は、サンプルを増加する際には対象サンプルの前後のサンプルを用いて補間してサンプルを増加する、請求項２に記載の情報処理装置。
【請求項４】
前記補正部は、前記他の装置で再生されるコンテンツのサンプリングクロックに追従してサンプル周波数を補正する、請求項１に記載の情報処理装置。
【請求項５】
前記再生部が再生するコンテンツは、前記他の装置から送信されたものである、請求項１に記載の情報処理装置。
【請求項６】
他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信ステップと、
前記他の装置からのカウント値の返答を受信する受信ステップと、
前記受信したカウント値に基づいてサンプル周波数を前記他の装置と同期させる補正処理を所定の周期で実行する補正ステップと、
を備え、
前記補正ステップは、
前記問い合わせ要求の送信から前記返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正する同期補正方法。
【請求項７】
コンピュータに、
他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信ステップと、
前記他の装置からのカウント値の返答を受信する受信ステップと、
前記受信したカウント値に基づいてサンプル周波数を前記他の装置と同期させる補正処理を所定の周期で実行する補正ステップと、
を実行させ、
前記補正ステップは、
前記問い合わせ要求の送信から前記返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、同期補正方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、例えばＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に従う通信機能を具備するサーバ及びクライアント機器間で、サーバに格納されている音声／映像等のコンテンツを、ネットワークを介してクライアント機器（再生装置）に転送して再生するコンテンツ再生システムが提供されている。このコンテンツ再生システムでは、一般的に、まず、クライアント機器は、サーバに対して、再生可能なコンテンツの検索及びリストの送信要求を行い、これに応じて、サーバから再生可能なコンテンツのリストを受信する。さらに、クライアント機器は、上記リストからユーザにより選択されたコンテンツの送信をサーバに要求し、これに応じてサーバから送信されたコンテンツを受信しながら再生できるようになっている。
【０００３】
このとき、クライアント機器では、サーバからストリーム送信されるコンテンツデータを順次、バッファメモリに一時記憶（バッファリング）し、バッファメモリに所定量のデータが記憶された時点でバッファメモリからコンテンツデータを読み出して再生を開始する。また、クライアント機器が、非圧縮デジタルデータにしか対応していない場合には、サーバは、例えばＭＰ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ３）等の符号化方式で圧縮符号化された圧縮デジタルデータをデコード（伸張）して、非圧縮デジタルデータであるリニアＰＣＭデータ等に変換した上で、クライアント機器に送信するようにしている。
【０００４】
上記コンテンツ再生システムでは、ネットワークに複数のクライアント機器を接続し、この複数のクライアント機器で、サーバから同一のコンテンツを受信して同期再生することができる。例えば、ユーザの家庭でホームパーティーなどを行うときに、リビングルームに設置されたクライアント機器と、ベッドルームに設置されたクライアント機器とを有するホームネットワークシステムを用いて、リビングルームとベッドルームのクライアント機器で、同一の音楽コンテンツを同期再生するといった利用形態が考えられる。
【０００５】
複数クライアント機器による同期再生を実現する方法として、サーバがマルチキャスト（例えば、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）マルチキャスト）を用いて、同一のコンテンツを複数のクライアント機器に同時配信し、複数のクライアント機器で同期再生する技術が開示されている（例えば、特許文献１参照）。この場合、精度の高い同期再生を実現するためには、各クライアント機器に再生タイミングを通知する必要があるが、上記特許文献１に記載の技術では、サーバ（例えばＨＤＤレコーダ）側で同期再生を行うための時間管理（再生タイミングの演算・通知など）を行っている。また、機器間を接続するルータを選ばず、無線接続にも対応した同期再生を、サーバ側及びスレーブ端末（クライアント端末）側で時間管理を行うことなく簡便に実現するコンテンツ再生システムも開示されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２３７９１８号公報
【特許文献２】特開２００８−１６０５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来においては、複数のクライアント機器が、サーバから同一のコンテンツを受信し、ある一の機器（ホスト機器）が他の機器（ゲスト機器）に対して再生指示を送信することで同期再生を実行していた。しかし、従来のコンテンツ再生システムでは、例えば長時間継続して使用する場合等に、ホスト機器からの再生指示の受信タイミングが徐々にずれることによって、ホスト機器とゲスト機器とでコンテンツの再生タイミングがずれてしまうという問題があった。
【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、子機（ゲスト機器）から親機（ホスト機器）へ定期的に問い合わせを実行し、親機と子機とのサンプリング周波数が一致するように子機側で適切な補正を行うことで、親機と子機とでコンテンツの再生タイミングを一致させることが可能な、新規かつ改良された情報処理装置、同期補正方法及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある観点によれば、他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信部と、前記他の装置からのカウント値の返答を受信する受信部と、前記受信したカウント値に基づいてサンプル周波数を前記他の装置と同期させる補正処理を所定の周期で実行する補正部と、前記サンプル周波数に基づいて前記他の装置と同期してコンテンツを再生する再生部と、を備え、前記補正部は、前記問い合わせ要求の送信から前記返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正する、情報処理装置が提供される。
【００１０】
前記補正部は、前記他の装置よりサンプル周波数が多い場合には、前記再生部で再生対象となるコンテンツのサンプルを増加又は減少することでサンプル周波数を前記他の装置と合わせる補正を行ってもよい。
【００１１】
前記補正部は、サンプルを増加する際には対象サンプルの前後のサンプルを用いて補間してサンプルを増加してもよい。
【００１２】
前記補正部は、前記他の装置で再生されるコンテンツのサンプリングクロックに追従してサンプル周波数を補正してもよい。
【００１３】
前記再生部が再生するコンテンツは、前記他の装置から送信されたものであってもよい。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信ステップと、前記他の装置からのカウント値の返答を受信する受信ステップと、前記受信したカウント値に基づいてサンプル周波数を前記他の装置と同期させる補正処理を所定の周期で実行する補正ステップと、を備え、前記補正ステップは、前記問い合わせ要求の送信から前記返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正する同期補正方法が提供される。
【００１５】
コンピュータに、他の装置に対して該他の装置が保持するカウント値を問い合わせる問い合わせ要求を送信する送信ステップと、前記他の装置からのカウント値の返答を受信する受信ステップと、前記受信したカウント値に基づいてサンプル周波数を前記他の装置と同期させる補正処理を所定の周期で実行する補正ステップと、を実行させ、前記補正ステップは、前記問い合わせ要求の送信から前記返答の受信までの往復遅延時間、前回補正時に生じた残差を考慮して補正するコンピュータプログラムが提供される。
【発明の効果】
【００１６】
以上説明したように本発明によれば、子機から親機へ定期的に問い合わせを実行し、親機と子機とのサンプリング周波数が一致するように子機側で適切な補正を行うことで、親機と子機とでコンテンツの再生タイミングを一致させることが可能な、新規かつ改良された情報処理装置、同期補正方法及びコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態にかかるコンテンツ再生システムの構成について示す説明図である。
【図２】親機として機能する再生装置１００ａの構成について示す説明図である。
【図３】子機として機能する再生装置１００ｂの構成について示す説明図である。
【図４】本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理について説明する流れ図である。
【図５】本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理の別の例について説明する流れ図である。
【図６】本発明の一実施形態にかかるコンテンツ再生システム１０におけるコンテンツ再生処理の概要について示す流れ図である。
【図７】本発明の一実施形態にかかる親機の再生装置と子機の再生装置との間のサンプル周波数同期処理について示す流れ図である。
【図８】本発明の一実施形態にかかる親機の再生装置と子機の再生装置との間のサンプル周波数同期処理を模式的に示す説明図である。
【図９】本発明の一実施形態にかかる再生装置１００ｂのサンプル周波数調整処理を模式的に示す説明図である。
【図１０】再生装置１００ａから再生装置１００ｂへのコンテンツ伝送処理を模式的に示す説明図である。
【図１１】コンテンツに追随した周波数調整処理について示す流れ図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
また、以下の順序に従って本発明の好適な実施の形態について詳細に説明する。
＜１．本発明の一実施形態＞
［１−１．コンテンツ再生システムの構成］
［１−２．再生装置の構成］
［１−３．コンテンツ再生処理］
［１−４．サンプル周波数同期処理］
［１−５．コンテンツ伝送処理］
［１−６．コンテンツに追随した周波数調整処理］
＜２．まとめ＞
【００２０】
＜１．本発明の一実施形態＞
［１−１．コンテンツ再生システムの構成］
図１は、本発明の一実施形態にかかるコンテンツ再生システムの構成について示す説明図である。以下、図１を用いて、本発明の一実施形態にかかるコンテンツ再生システムの構成について説明する。
【００２１】
本発明の一実施形態にかかるコンテンツ再生システム１０は、複数の機器を相互接続して構成されたネットワークシステムであり、例えば、ユーザの家庭内等に設けられていてもよい。図１に示したように、本発明の一実施形態にかかるコンテンツ再生システム１０は、複数の再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・を含んで構成される。なお、以下の説明では、再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・を総称する際には単に再生装置１００とも称することにする。本発明の一実施形態にかかるコンテンツ再生システムにおいては、複数の再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・の内、少なくとも１つの再生装置がコンテンツを再生し、その他の再生装置は、上記少なくとも１つの再生装置で再生されているコンテンツと同じコンテンツを取得し、同じタイミングで同期して再生することが出来るように構成されている。例えば、再生装置１００ａがコンテンツを再生している場合に、他の再生装置１００ｂ、１００ｃ、１００ｄ、・・・は、再生装置１００ａから有線または無線によってコンテンツを受信し、再生装置１００ａが再生するコンテンツと同一のコンテンツを、再生装置１００ａと同じタイミングで再生することができるように構成されている。各再生装置の構成については後に詳述する。また、以下においては説明の便宜上、コンテンツを最初に再生する再生装置を「親機」とも称し、親機からコンテンツを受信する再生装置を「子機」とも称する。そして、以下の説明では、再生装置１００ａを親機として、再生装置１００ｂ、１００ｃ、１００ｄ、・・・を子機として説明する。
【００２２】
ここで、コンテンツは、例えば、音楽、講演、ラジオ番組等の音声（Ａｕｄｉｏ）コンテンツや、映画、テレビジョン番組、ビデオプログラム等の映像データ及び／又は音声データからなるビデオ（Ｖｉｄｅｏ）コンテンツ、ゲームコンテンツなど、任意のコンテンツであってよい。以下では、コンテンツとして、音声コンテンツ、特に、音楽コンテンツの例を挙げて説明するが、本発明のコンテンツはかかる例に限定されない。
【００２３】
再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・は、ＬＡＮ１１によって相互に接続されている。ＬＡＮ１１は、有線／無線を問わず、例えば、１０ＢＡＳＥ−２や１０００ＢＡＳＥ−Ｔなどの有線接続によるネットワークで形成されてもよく、また例えば、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒ）８０２．１１規格その他の規格による無線ＬＡＮで形成されてもよい。また、再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・は、ルータやアクセスポイントを介して接続されていても良く、アドホック・モードでアクセスポイントを介さずに直接接続されていても良い。
【００２４】
再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・は、例えば、家庭内のそれぞれリビングルーム、ベッドルーム、キッチン、バスルーム、・・・に設置される。これら再生装置１００ａ、１００ｂ、１００ｃ、１００ｄ、・・・は、同一のコンテンツを同期して再生することが出来るように構成される。
【００２５】
親機である再生装置１００ａが再生するコンテンツは、再生装置１００ａの中に格納されたものであってもよく、その他の装置、例えば図１に図示したコンテンツサーバ２０に格納されたものであってもよい。コンテンツサーバ２０は、例えば、コンテンツを記録、格納、配信可能なデジタルメディアサーバ（ＤＭＳ：Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｓｅｒｖｅｒ）として構成される。このコンテンツサーバ２０は、例えば、ＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）ガイドラインに準拠してデータを送受信するＤＬＮＡ対応機器を用いることができる。かかるコンテンツサーバ２０は、例えば、ノート型／デスクトップ型のパーソナルコンピュータ（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）で構成されるが、それ以外にも、例えば、ネットワークストレージ装置、ホームネットワーク用のサーバ装置、データ記録装置（ＤＶＤ／ＨＤＤレコーダ等）、ゲーム機器、情報家電などの各種の情報処理装置で構成することもできる。
【００２６】
このコンテンツサーバ２０は、複数の音楽コンテンツを取得して保持している。例えば、コンテンツサーバ２０は、コンテンツ配信サービスを提供するコンテンツ配信サーバ（図示せず）から、インターネット、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の公衆回線網（図示せず）を介してコンテンツの配信を受け、この配信コンテンツをＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等のストレージ装置に保存できる。また、コンテンツサーバ２０は、例えば、セルフレコーディング（自己録音、録画等）やリッピング（ｒｉｐｐｉｎｇ）などによって、新規にコンテンツを作成して、ストレージ装置やリムーバブル記憶媒体に保存することもできる。なお、セルフレコーディングとは、コンテンツサーバ２０に付随して設けられた撮像装置／集音装置によって撮影／集音した映像／音声を、デジタルデータとして記録することをいう。また、リッピングとは、音楽ＣＤ、ビデオＤＶＤ等の記憶媒体に記録されているデジタルコンテンツ（音声データ／映像データ等）を抽出し、コンピュータで処理可能なファイル形式に変換して、ストレージ装置やリムーバブル記憶媒体に記録することをいう。
【００２７】
コンテンツは、例えば、リニアＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データ等の非圧縮デジタルデータ（以下、「非圧縮データ」という。）であってもよいし、或いは、各種の圧縮符号化方式で圧縮された圧縮デジタルデータ（以下、「圧縮データ」という）であってもよい。この圧縮符号化方式としては、音楽コンテンツの場合には、例えば、ＡＴＲＡＣ（Ａｄａｐｔｉｖｅ  ＴＲａｎｓｆｏｒｍ  Ａｃｏｕｓｔｉｃ  Ｃｏｄｉｎｇ）、ＡＴＲＡＣ３、ＭＰ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ−３）、ＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）、ＷＭＡ（Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ａｕｄｉｏ）などが挙げられる。
【００２８】
なお、本発明の一実施形態にかかるコンテンツ再生システム１０は、親機である再生装置１００ａを制御するコンテンツ再生制御装置３０を含んでいても良い。コンテンツ再生制御装置３０は、再生装置１００ａによるコンテンツの再生や、再生装置１００ａからコンテンツを受信して再生する再生装置の指定等を行うように構成されていても良い。
【００２９】
再生装置１００は、コンテンツを再生可能なデジタルメディアプレーヤー（ＤＭＰ：Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｐｌａｙｅｒ）である。この再生装置１００も、例えば、上記コンテンツサーバ２０と同様、ＤＬＮＡガイドラインに準拠してデータを送受信するＤＬＮＡ対応機器とすることができる。本実施形態では、再生装置１００は、コンテンツサーバ２０から配信されたコンテンツを再生して音声出力する再生端末装置であり、例えば、ネットワークオーディオクライアント機器で構成される。このネットワークオーディオクライアント機器で構成された再生装置１００には、例えば、ユーザインターフェースとしての表示部、例えばＬＣＤパネル等が設けられており、また、再生された音楽コンテンツを音声出力するための音声出力部、例えばスピーカが外付けされている。しかし、本発明の再生装置は、かかる例に限定されず、例えば、ノート型のパーソナルコンピュータ（ＰＣ）、携帯型音楽プレーヤ、ＡＶコンポ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家庭用ゲーム機器、携帯型ゲーム機器、携帯電話、ＰＨＳ、データ再生装置（ＤＶＤ／ブルーレイ／ＨＤＤプレーヤ等）、テレビジョン受像器等の情報家電など、各種の端末装置で構成することもできる。
【００３０】
かかる再生装置１００は、コンテンツサーバ２０を選択する機能、コンテンツサーバ２０からコンテンツリストを取得する機能、再生対象のコンテンツを選択する機能、再生対象のコンテンツをコンテンツサーバ２０から受信する機能、コンテンツを再生出力する機能を有することができる。具体的には、再生装置１００は、コンテンツサーバ２０を探索し、探索されたコンテンツサーバ２０の中から、ユーザ入力等に基づき、または、自動的に、コンテンツの提供を受けるコンテンツサーバ２０を選択する。さらに、再生装置１００は、選択したコンテンツサーバ２０から、コンテンツサーバ２０が保持する複数のコンテンツに関する情報（上記コンテンツリスト）を取得し、表示する。ユーザは、かかるコンテンツリストを閲覧して、再生を所望するコンテンツ、およびその再生モードを設定できる。このコンテンツ選択等に応じて、再生装置１００は、当該選択されたコンテンツを、設定された再生モードに従い送信するようコンテンツサーバ２０に対して要求することができる。このコンテンツ送信要求に応じて、コンテンツサーバ２０から再生装置１００にコンテンツがストリーム送信されると、再生装置１００は、当該コンテンツを受信してバッファに一時記憶しながら、当該コンテンツをバッファから読み出してＤ／Ａ変換して出力することができる。
【００３１】
以上、本発明の一実施形態にかかるコンテンツ再生システム１０の構成について説明した。次に、本発明の一実施形態にかかる再生装置１００の構成について説明する。なお、以下の説明においては、便宜上、親機として機能する再生装置１００ａと、子機として機能する再生装置１００ｂとに分けて構成を説明することにする。
【００３２】
［１−２．再生装置の構成］
まず、親機として機能する再生装置１００ａの構成について説明する。図２は、親機として機能する再生装置１００ａの構成について示す説明図である。以下、図２を用いて、本発明の一実施形態にかかる再生装置１００ａの構成について説明する。
【００３３】
図２に示したように、本発明の一実施形態にかかる再生装置１００ａは、通信部１１２と、記録部１１４と、記憶部１１５と、コンテンツ再生部１１６と、コンテンツ伝送部１１７と、入力部１１８と、発振器１１９と、制御部１２０と、表示部１３２と、音声出力部１３４と、を含んで構成される。そして、制御部１２０は、動作設定部１２１と、再生制御部１２２と、カウンタ１２４と、カウンタ値返答部１２６と、周波数制御部１２８と、を含んで構成される。
【００３４】
通信部１１２は、ネットワークを介して外部装置との間でデータ通信を行うための通信デバイス等で構成された通信インターフェースである。通信部１１２は、制御部１２０による制御に基づき、コンテンツサーバ２０又は他の再生装置１００との間でネットワークを介して各種データを送受信する。
【００３５】
通信部１１２は、コンテンツサーバ２０が提供可能なコンテンツの一覧を示すコンテンツリストや該コンテンツの属性情報をコンテンツサーバ２０から受信したり、該コンテンツリストのうち、ユーザが所望したコンテンツの送信要求をコンテンツサーバ２０に送信したり、コンテンツサーバ２０からストリーム送信されるコンテンツの非圧縮データを受信したりすることができる。また、通信部１１２は、他の再生装置１００との間でＬＡＮ１１を介して、複数の再生装置１００との間でのコンテンツの再生制御（例えば同期再生制御）に関する各種情報を送受信することもできる。他の再生装置１００との間でのコンテンツの再生制御についての詳細は後述する。
【００３６】
記録部１１４は、各種情報を格納するものであり、主に再生装置１００ａの電源が切れた場合にも保持される情報を格納するものである。記録部１１４は、例えばフラッシュメモリを用いることができる。記録部１１４には、例えばコンテンツサーバ２０から取得した、またはユーザが直接格納したコンテンツのデータや、再生装置１００ａを識別するための情報（例えば、ＭＡＣアドレス、ＵＵＩＤ、ユーザネーム等）が格納される。
【００３７】
記憶部１１５は、各種情報を格納するためであり、主に一時的に用いられる情報を格納するものである。記憶部１１５は、ＳＤＲＡＭ、ＳＲＡＭ、ＤＲＡＭ、ＲＤＲＡＭ等で構成される。記憶部１１５には、例えば、通信部１１２から送信するデータがその送信前に一時的に格納されたり、通信部１１２が受信したデータが一時的に格納されたりする。
【００３８】
コンテンツ再生部１１６は、記録部１１４に格納された、またはコンテンツサーバ２０から提供されたコンテンツを再生するものである。コンテンツ再生部１１６によって再生されるコンテンツは、表示部１３２に表示されたり、音声出力部１３４から出力されたりする。コンテンツ再生部１１６でのコンテンツの再生は、後述する制御部１２０に含まれる再生制御部１２２によって制御される。
【００３９】
コンテンツ伝送部１１７は、再生装置１００ａと再生装置１００ｂ、１００ｃ、１００ｄとの間で同一のコンテンツを同一のタイミングで再生するために、コンテンツのデータを再生装置１００ｂ、１００ｃ、１００ｄへ送信するものである。コンテンツ伝送部１１７によるコンテンツの伝送処理は、例えば再生制御部１２２によって実行されるようにしてもよい。
【００４０】
入力部１１８は、例えば、タッチパネル、ボタン、スイッチ、レバー又はダイヤルなどの操作キー、或いは、リモートコントローラ及びこのリモートコントローラ用の受光部などからなる操作装置と、この操作装置に対するユーザ入力操作に応じて入力信号を生成して制御部１２０に出力する入力制御回路などから構成されている。再生装置１００ａのユーザは、この入力部１１８を操作することにより、再生装置１００ａに対して各種のデータを入力したり、再生装置１００ａの処理動作を指示したりすることができる。このユーザ入力操作に伴う指示としては、例えば、コンテンツの取得先のコンテンツサーバ２０の選択指示、コンテンツリストからの再生対象のコンテンツの選択指示、コンテンツの再生／一時停止／早送り／巻き戻し／音量調整などの再生制御指示、再生モードの選択指示、再生制御モードを選択するための同期再生指示、同期再生解除指示、同期再生機能のオン／オフの設定指示などが挙げられる。
【００４１】
発振器１１９は、所定のサンプル周波数ｆｓで発振し、クロックを生成して出力するものである。発振器１１９からのクロックは制御部１２０に送られて各種動作の基となる。特に、発振器１１９からのクロックに応じて、後述するカウンタ１２４の値が加算されていくことになる。
【００４２】
表示部１３２は、例えば、液晶ディスプレイ（ＬＣＤ）装置等の表示装置で構成される。表示部１３２には、コンテンツ再生部１１６が再生するコンテンツが映像コンテンツである場合には、映像を表示させることができる。表示部１３２は、コンテンツサーバ２０から受信したコンテンツリストやコンテンツの属性情報、再生経過時間等の再生状況などを表示することができる。ユーザは、該コンテンツリストの表示に基づいて所望のコンテンツデータを選択することができる。また、表示部１３２は、再生装置１００間の同期再生機能に関して、同期再生の相手先の再生装置１００の識別情報を表示することができる。再生装置１００の識別情報としては、例えば、ＵＵＩＤ、ＭＡＣアドレス、ユーザ入力等に基づきそれぞれの再生装置１００に付与された機器名称であるフレンドリーネームなどを用いることができる。
【００４３】
音声出力部１３４は、例えばスピーカやイヤフォン、ヘッドセット等の様に音声を出力するものであり、コンテンツ再生部１１６がコンテンツを再生した際に、当該コンテンツに含まれている音声データを出力することができる。
【００４４】
制御部１２０は、例えば、中央演算処理装置（ＣＰＵ）、ＲＯＭ、ＲＡＭ等で構成され、ＲＯＭ等に格納された各種プログラムに従って動作し、再生装置１００ａの動作全般を制御する。制御部１２０は、再生装置１００ａにインストールされたプログラムに従って動作することで、図２に示すように、例えば、動作設定部１２１、再生制御部１２２、カウンタ１２４、カウンタ値返答部１２６、および周波数制御部１２８として動作することができる。以下、制御部１２０の各部について説明する。
【００４５】
動作設定部１２１は、コンテンツ再生システム１０でコンテンツの同期再生を実行する場合に、再生装置１００ａを親機として動作させるのか、子機として動作させるのかを設定するものである。動作設定部１２１は、ユーザの入力部１１８の操作に応じて、またはコンテンツ再生制御装置３０からの指示に応じて、再生装置１００ａを親機として動作させるのか、子機として動作させるのかを設定することができる。
【００４６】
再生制御部１２２は、コンテンツ再生部１１６によるコンテンツの再生を制御するものである。再生制御部１２２は、入力部１１８によるユーザからの再生指示やコンテンツ再生制御装置３０からの再生指示に応じて、コンテンツ再生部１１６に対して再生処理やコンテンツのスキップ、早送り、逆送り等を命じる。
【００４７】
カウンタ１２４は、発振器１１９からのクロックに応じて値を増加させていくものである。本発明の一実施形態にかかるコンテンツ再生システム１０は、このカウンタ１２４の値を用いて、親機として機能する再生装置１００ａと、子機として機能する再生装置１００ｂ、１００ｃ、１００ｄとの間で同一のコンテンツを同時に再生させることができる。
【００４８】
カウンタ値返答部１２６は、子機として機能する再生装置１００ｂ、１００ｃ、１００ｄから送信されてくるカウンタ値の問合せに応じて、問合せを受信したタイミングにおけるカウンタ１２４の値を返答するものである。
【００４９】
周波数制御部１２８は、コンテンツのサンプリングレートに応じてサンプル周波数ｆｓを制御するものである。周波数制御部１２８によるサンプル周波数ｆｓの制御については後に詳述する。
【００５０】
以上、本発明の一実施形態にかかる再生装置１００ａの構成について説明した。続いて、子機として機能する再生装置１００ｂの構成について説明する。図３は、子機として機能する再生装置１００ｂの構成について示す説明図である。以下、図３を用いて、本発明の一実施形態にかかる再生装置１００ｂの構成について説明する。
【００５１】
図３に示したように、本発明の一実施形態にかかる再生装置１００ｂは、通信部１１２と、記録部１１４と、記憶部１１５と、コンテンツ再生部１１６と、入力部１１８と、発振器１１９と、表示部１３２と、音声出力部１３４と、制御部１４０と、を含んで構成される。そして、制御部１４０は、動作設定部１４１と、再生制御部１４２と、カウンタ問合せ部１４４と、同期補正部１４６と、カウンタ１４８と、周波数制御部１４９と、を含んで構成される。
【００５２】
以下においては、図２に示した再生装置１００ａの構成と異なる構成を有する制御部１４０について説明する。制御部１４０は、図２に示した制御部１２０と同様に、例えば、中央演算処理装置（ＣＰＵ）、ＲＯＭ、ＲＡＭ等で構成され、ＲＯＭ等に格納された各種プログラムに従って動作し、再生装置１００ｂの動作全般を制御する。制御部１４０は、再生装置１００ｂにインストールされたプログラムに従って動作することで、図３に示すように、例えば、動作設定部１４１、再生制御部１４２、カウンタ問合せ部１４４、同期補正部１４６、カウンタ１４８、及び周波数制御部１４９として動作することができる。以下、制御部１４０の各部について説明する。
【００５３】
動作設定部１４１は、コンテンツ再生システム１０でコンテンツの同期再生を実行する場合に、再生装置１００ｂを親機として動作させるのか、子機として動作させるのかを設定するものである。動作設定部１２１は、ユーザの入力部１１８の操作に応じて、またはコンテンツ再生制御装置３０からの指示に応じて、再生装置１００ｂを親機として動作させるのか、子機として動作させるのかを設定することができる。
【００５４】
再生制御部１４２は、コンテンツ再生部１１６によるコンテンツの再生を制御するものである。再生制御部１４２は、入力部１１８によるユーザからの再生指示やコンテンツ再生制御装置３０からの再生指示に応じて、コンテンツ再生部１１６に対して再生処理やコンテンツのスキップ、早送り、逆送り等を命じる。
【００５５】
カウンタ問合せ部１４４は、親機として機能している再生装置１００ａに対して、再生装置１００ａのカウンタ１２４の値を問い合わせるものである。カウンタ問合せ部１４４は、再生装置１００ａのカウンタ１２４の値を問い合わせるためのパケットを生成する。カウンタ問合せ部１４４が生成したパケットは、通信部１１２から再生装置１００ａに向けて送信される。
【００５６】
同期補正部１４６は、親機として機能している再生装置１００ａから受信したカウンタ値の返答に基づいて、カウンタ１４８の値を補正することで、親機として機能している再生装置１００ａと、子機として機能している再生装置１００ｂとの間の同期を取るものである。同期補正部１４６におけるカウンタ値補正処理については、後に詳述する。
【００５７】
カウンタ１４８は、発振器１１９からのクロックに応じて値を増加させていくものである。本発明の一実施形態にかかるコンテンツ再生システム１０は、このカウンタ１２４の値を用いて、親機として機能する再生装置１００ａと、子機として機能する再生装置１００ｂ、１００ｃ、１００ｄとの間で同一のコンテンツを同時に再生させることができる。
【００５８】
周波数制御部１４９は、コンテンツのサンプリングレートに応じてサンプル周波数ｆｓを制御するものである。周波数制御部１２８によるサンプル周波数ｆｓの制御については後に詳述する。
【００５９】
以上、本発明の一実施形態にかかる再生装置１００ｂの構成について説明した。なお、上記説明では、再生装置１００ａと、再生装置１００ｂとでは、制御部の構成が相違しているが、再生装置１００は、同一の装置が親機としても子機としても機能することができる。従って、図３に示した再生装置１００ｂを、親機として機能させるようにしてもよい。
【００６０】
［１−３．コンテンツ再生処理］
次に、本発明の一実施形態にかかるコンテンツ再生システム１０によるコンテンツ再生処理について説明する。まず、本発明の一実施形態にかかるコンテンツ再生システム１０によるコンテンツ再生処理の開始に際し、親機となる再生装置及び子機となる再生装置を決定することが必要である。図４は、本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理について説明する流れ図である。以下、図４を用いて、本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理について説明する。
【００６１】
図４に示した流れ図は、複数の再生装置１００のうち、任意の一つの再生装置１００ａが親機となり、その他の再生装置１００ｂ、１００ｃ、１００ｄが子機となる場合についてのものである。
【００６２】
図４に示した例においては、まず、再生装置１００ａが自らを親機に設定する（ステップＳ１０１）。再生装置１００ａを親機として設定するには、例えば、ユーザが再生装置１００ａの入力部１１８を操作することで再生装置１００ａを親機として設定しても良く、コンテンツ再生制御装置３０がある場合には、コンテンツ再生制御装置３０が再生装置１００ａに対して親機として機能するような指示を送信してもよいが、ここではユーザが再生装置１００ａの入力部１１８を操作することで再生装置１００ａを親機として設定する場合について示している。
【００６３】
再生装置１００ａが親機に設定されると、親機として設定された再生装置１００ａから機器の存在確認通知（Ｍ＿ＳＥＡＲＣＨメソッド）をマルチキャスト送信する（ステップＳ１０２）。再生装置１００ａからの存在確認通知を受信した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ再生装置１００ａに対して応答を返信する（ステップＳ１０３、１０４、１０５）。再生装置１００ｂ、１００ｃ、１００ｄからの応答を受信した再生装置１００ａは、応答を返信してきた再生装置１００ｂ、１００ｃ、１００ｄを子機として登録する（ステップＳ１０６）。
【００６４】
再生装置１００ｂ、１００ｃ、１００ｄを子機として登録した再生装置１００ａは、再生装置１００ｂ、１００ｃ、１００ｄに対して、コンテンツの同期再生に招待するコマンド（招待コマンド）をマルチキャスト送信する（ステップＳ１０７、１０８、１０９）。再生装置１００ａから招待コマンドを受信した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ、自らを再生装置１００ａの子機として登録する（ステップＳ１１０、１１１、１１２）。再生装置１００ａの子機として登録した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ、子機としての登録が完了した旨を通知するためのコマンドを再生装置１００ａへ返信する（ステップＳ１１３、１１４、１１５）。再生装置１００ａは、再生装置１００ｂ、１００ｃ、１００ｄからの返信を受信することで、再生装置１００ｂ、１００ｃ、１００ｄが子機として設定されたことを認識することができる。以後は、親機として機能している再生装置１００ａから、子機として機能している再生装置１００ｂ、１００ｃ、１００ｄに対してコンテンツをマルチキャスト送信することで、コンテンツの同期再生を実行することができる。
【００６５】
以上、図４を用いて、本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理について説明した。図４では、複数の再生装置１００のうち、任意の一つの再生装置１００ａが親機となり、その他の再生装置１００ｂ、１００ｃ、１００ｄ、・・・が子機となる場合について示したが、本発明はかかる例に限定されない。例えば、図１で図示したコンテンツ再生制御装置３０が、複数の再生装置１００のうち、任意の一つの再生装置１００ａを親機に決定し、親機となった再生装置１００ａがその他の再生装置１００ｂ、１００ｃ、１００ｄ、・・・を子機に決定してもよい。図５は、本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理の別の例について説明する流れ図である。
【００６６】
図５に示した流れ図は、コンテンツ再生制御装置３０が、複数の再生装置１００のうち任意の一つの再生装置１００ａを親機に決定し、親機となった再生装置１００ａがその他の再生装置１００ｂ、１００ｃ、１００ｄを子機に決定する場合についてのものである。
【００６７】
図５に示した例においては、まず、コンテンツ再生制御装置３０が機器の存在確認通知（Ｍ＿ＳＥＡＲＣＨメソッド）をマルチキャスト送信する（ステップＳ１２１）。コンテンツ再生制御装置３０から送信された存在確認通知を受信した再生装置１００ａ、１００ｂ、１００ｃ、１００ｄは、それぞれコンテンツ再生制御装置３０に対して応答コマンドを返信する（ステップＳ１２２、１２３、１２４、１２５）。応答コマンドは、例えば制御部１２０、１４０で生成する。生成された応答コマンドは通信部１１２から送信される。
【００６８】
再生装置１００ａ、１００ｂ、１００ｃ、１００ｄからの応答コマンドを受信したコンテンツ再生制御装置３０は、応答コマンドを返信してきた再生装置の中から１台の再生装置を親機として指定する（ステップＳ１２６）。図５に示した例では、コンテンツ再生制御装置３０は、応答コマンドを返信してきた再生装置の中から再生装置１００ａを親機として指定する。再生装置１００ａを親機として指定することを決定したコンテンツ再生制御装置３０は、再生装置１００ａに対して親機として機能するように指示するコマンドを送信する（ステップＳ１２７）。コンテンツ再生制御装置３０から送信された指示コマンドを受信した再生装置１００ａは、自らを親機として機能するように設定し（ステップＳ１２８）、親機として設定したことをコンテンツ再生制御装置３０に応答する（ステップＳ１２９）。親機への設定は、例えば制御部１２０に含まれる動作設定部１２１が実行する。
【００６９】
親機として機能するように設定された再生装置１００ａは、続いて、図４に示した例と同様に、機器の存在確認通知（Ｍ＿ＳＥＡＲＣＨメソッド）をマルチキャスト送信する（ステップＳ１３０）。機器の存在確認通知は、例えば制御部１２０が生成する。生成された機器の存在確認通知は通信部１１２から送信される。再生装置１００ａからの存在確認通知を受信した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ再生装置１００ａに対して応答を返信する（ステップＳ１３１、１３２、１３３）。再生装置１００ａへの応答パケットは例えば制御部１４０が生成する。生成された応答パケットは通信部１１２から送信される。再生装置１００ｂ、１００ｃ、１００ｄからの応答を受信した再生装置１００ａは、応答を返信してきた再生装置１００ｂ、１００ｃ、１００ｄを子機として登録する（ステップＳ１３４）。子機への設定は、例えば制御部１４０に含まれる動作設定部１４１が実行する。
【００７０】
再生装置１００ｂ、１００ｃ、１００ｄを子機として登録した再生装置１００ａは、再生装置１００ｂ、１００ｃ、１００ｄに対して、コンテンツの同期再生に招待するコマンド（招待コマンド）をマルチキャスト送信する（ステップＳ１３５、１３６、１３７）。再生装置１００ａから招待コマンドを受信した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ、自らを再生装置１００ａの子機として登録する（ステップＳ１３８、１３９、１４０）。再生装置１００ａの子機として登録した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ、子機としての登録が完了した旨を通知するためのコマンドを再生装置１００ａへ返信する（ステップＳ１４１、１４２、１４３）。再生装置１００ａは、再生装置１００ｂ、１００ｃ、１００ｄからの返信を受信することで、再生装置１００ｂ、１００ｃ、１００ｄが子機として設定されたことを認識することができる。以後は、親機として機能している再生装置１００ａから、子機として機能している再生装置１００ｂ、１００ｃ、１００ｄに対してコンテンツをマルチキャスト送信することで、コンテンツの同期再生を実行することができる。
【００７１】
以上、本発明の一実施形態にかかるコンテンツ再生システム１０における、親機及び子機の決定処理の別の例について説明した。このように、本発明の一実施形態にかかるコンテンツ再生システム１０において、親機となる再生装置及び子機となる再生装置を決定することで、親機で再生されているコンテンツと同一のコンテンツを、子機において親機と同一のタイミングで再生させる準備が整ったことになる。
【００７２】
図６は、本発明の一実施形態にかかるコンテンツ再生システム１０におけるコンテンツ再生処理の概要について示す流れ図である。以下、図６を用いて、本発明の一実施形態にかかるコンテンツ再生システム１０におけるコンテンツ再生処理の概要について説明する。
【００７３】
図６では、再生装置１００ａが親機として機能しており、再生装置１００ｂ、１００ｃ、１００ｄが子機として機能している場合を例としている。親機として機能している再生装置１００ａは、再生するコンテンツのデータを記憶部１１５にバッファしておく（ステップＳ１５１）。そして、所定のタイミングで再生装置１００ａから、子機として機能している再生装置１００ｂ、１００ｃ、１００ｄへ向けて、記憶部１１５にバッファしておいたコンテンツを通信部１１２から送信する（ステップＳ１５２、Ｓ１５３、Ｓ１５４）。本実施形態においては、再生装置１００ａは、ＵＤＰパケットで再生装置１００ｂ、１００ｃ、１００ｄへコンテンツを送信する。再生装置１００ａから送信するパケットには、コンテンツのデータの他、そのコンテンツのデータを再生すべき時刻の情報が含まれる。コンテンツの再生時には、その時刻の情報を参照して再生するタイミングを決定することで、複数の再生装置１００でコンテンツの再生タイミングを一致させることができる。
【００７４】
再生装置１００ａからコンテンツのデータが含まれるパケットを通信部１１２で受信した再生装置１００ｂ、１００ｃ、１００ｄは、それぞれ受信したコンテンツのデータを記憶部１１５にバッファしておく（ステップＳ１５５、Ｓ１５６、Ｓ１５７）。そして、再生装置１００ａ、１００ｂ、１００ｃ、１００ｄは、それぞれの再生装置（の制御部）内部で保持しているカウンタの値と、コンテンツのデータを再生すべき時刻の情報とを参照し、再生すべきタイミングが来たら、タイミングを合わせてコンテンツを再生する（ステップＳ１５８）。
【００７５】
以上、本発明の一実施形態にかかるコンテンツ再生システム１０におけるコンテンツ再生処理の概要について説明した。このように、親機から子機へコンテンツを送信し、親機と子機とで再生タイミングを合わせてコンテンツを再生することで、親機と子機とで同一のコンテンツを同一のタイミングで再生することができる。
【００７６】
ここで、親機として機能する再生装置と、子機として機能する再生装置とが、完全に同一のサンプル周波数を有していれば、コンテンツの再生タイミングを親機と子機とで一致させれば、その後はコンテンツの再生位置のずれは生じない。しかし、各再生装置に搭載される発振器には、数十ｐｐｍ程度のばらつきがあるものが用いられる場合がある。このように発振周波数にばらつきがあるものが用いられると、長時間に渡ってコンテンツを再生し続けると、親機と子機との間で、または子機間でコンテンツの再生位置にずれが生じる場合がある。従って、コンテンツの再生タイミングを複数の再生装置で一致させるためには、同一のコンテンツを再生する再生装置の間でサンプル周波数を同期させる必要がある。
【００７７】
そこで本実施形態においては、親機のサンプル周波数を基準の周波数として、親機からコンテンツを受信した全ての子機のサンプル周波数を、親機のサンプル周波数に同期させることで、同一のコンテンツを再生する再生装置の間でサンプル周波数を同期させる。そして、サンプル周波数を同期させるために、親機が保持するカウンタの値を子機から親機へ定期的に問合せ、親機のカウンタの値を用いて子機のカウンタの値を補正することで、同一のコンテンツを再生する再生装置の間でサンプル周波数を同期させる。
【００７８】
［１−４．サンプル周波数同期処理］
図７は、本発明の一実施形態にかかる親機の再生装置と子機の再生装置との間のサンプル周波数同期処理について示す流れ図である。以下、図７を用いて、本発明の一実施形態にかかる親機の再生装置と子機の再生装置との間のサンプル周波数同期処理について説明する。なお、図７では、説明の便宜上、親機として機能する再生装置１００ａと、子機として機能する再生装置１００ｂとの間のサンプル周波数同期処理について説明する。
【００７９】
子機として機能する再生装置１００ｂのサンプル周波数を、親機として機能する再生装置１００ａのサンプル周波数に合わせるには、定期的に再生装置１００ｂから再生装置１００ａへ、再生装置１００ａのカウンタ値を問い合わせる（ステップＳ１６１）。カウンタ値の問合せ処理はカウンタ問合せ部１４４が実行する。再生装置１００ａのカウンタ値の問い合せは、例えばカウンタ問合せ部１４４がカウンタ値を問い合わせるための問合せパケットを生成し、問合せパケットを通信部１１２から送信することで行われるようにしてもよい。
【００８０】
カウンタ値の問合せを再生装置１００ｂから受信した再生装置１００ａは、問合せを送信した再生装置１００ｂに対し、自身のカウンタ１２４のカウンタ値を返答する（ステップＳ１６２）。カウンタ１２４のカウンタ値の返答は、カウンタ値返答部１２６が実行する。カウンタ１２４のカウンタ値の返答は、例えば、カウンタ値返答部１２６で返答パケットを生成し、返答パケットを通信部１１２から送信することで行われるようにしてもよい。再生装置１００ａのカウンタ値の返答を再生装置１００ｂが受信すると、再生装置１００ｂは、受信した再生装置１００ａのカウンタ値を用いて、再生装置１００ｂのカウンタ１４８のカウンタ値を補正する（ステップＳ１６３）。カウンタ１４８のカウンタ値の補正は、同期補正部１４６が実行する。
【００８１】
同期補正部１４６は、カウンタ１４８のカウンタ値を補正する際に、再生装置１００ｂから再生装置１００ａへ送信した問合せパケットのＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ；往復遅延時間）を考慮に入れる。問合せパケットのＲＴＴに関して、同期補正部１４６は、例えば、再生装置１００ｂから問合せパケットを送信する際に、問合せパケットを生成した時刻と、再生装置１００ａからの返答パケットの受信時刻とを用いて求めても良い。
【００８２】
なお、有線ＬＡＮでは、ＲＴＴは通常１ｍｓ未満であるが、無線ＬＡＮでは、特に８０２．１１ｂの場合は数ｍｓ程度となる。さらに無線ＬＡＮにおいては、パケットの再送処理によって極端なパケットの遅延が発生する場合もあり、さらにパケットの遅延はどちらか１方向のみにしか発生しないことも多い。従って、ＲＴＴが所定の時間を超えていた場合には、ＲＴＴの１／２をそのまま伝送遅延として補正するのではなく、安定して小さな値が得られるまで、ＲＴＴを数度に渡って繰り返し計測してもよい。
【００８３】
図８は、本発明の一実施形態にかかる親機の再生装置と子機の再生装置との間のサンプル周波数同期処理を模式的に示す説明図である。図８では、親機として機能している再生装置１００ａのサンプル周波数ｆｓをＮ［Ｈｚ］、子機として機能している再生装置１００ｂのサンプル周波数ｆｓをＮ＋１［Ｈｚ］としている。すなわち、再生装置１００ａでは、カウンタ１２４の値が１秒間にＮ増加し、再生装置１００ｂでは、カウンタ１４８の値が１秒間にＮ＋１増加する。従って、再生装置１００ａにおいてＮ［Ｈｚ］のサンプル周波数で再生されているコンテンツを再生装置１００ｂでそのまま再生させると、再生対象となるコンテンツのサンプルが再生装置１００ａに比べて多いために、再生装置１００ｂではコンテンツの再生ピッチが上がり、再生装置１００ａとの間でコンテンツの再生にずれが生じてしまう。
【００８４】
そこで本実施形態では、子機として機能している再生装置１００ｂのサンプル周波数自体は変化させず、１秒あたりのサンプル数ＮをＮ＋１個に水増しし、なおかつカウンタ１４８の値を１秒あたり１カウント減算する。これらの処理は、制御部１４０に含まれる同期補正部１４６が実行する。１秒あたりのサンプル数を水増しすることで、再生装置１００ｂのサンプル周波数は、見た目上はＮ［Ｈｚ］となり、再生装置１００ａのサンプル周波数と同期させることが可能となる。
【００８５】
なお、再生装置１００ｂにおいて、１秒あたりのサンプル数ＮをＮ＋１個に水増しする際には、Ｎ個目のサンプルをそのままＮ＋１個目のサンプルとしても良く、Ｎ＋１個目のサンプルの前後のサンプルを用いて補間（例えば線形補間）することによってＮ＋１個目のサンプルを生成してもよい。特に、Ｎ＋１個目のサンプルの前後のサンプルを用いて補間することによってＮ＋１個目のサンプルを生成して再生することで、コンテンツの視聴者に対して違和感無くコンテンツを視聴させることが可能となる。
【００８６】
また、再生装置１００ｂにおいて、１秒あたりのサンプル数ＮをＮ−１個に減少させる際にも、単にＮ個目のサンプルを間引いても良く、Ｎ個目のサンプルの前後のサンプルを用いて補間することによってサンプル数の減少を実現しても良い。なお補間処理の際は除算処理を行っても良く、当該除算処理はシフト演算処理で代用しても良い。
【００８７】
再生装置１００ｂにおいては、サンプル周波数を調整する際に、一度の補正処理で再生装置１００ａのサンプル周波数と同期させてもよく、補正処理を複数回繰り返すことで、徐々に再生装置１００ａのサンプル周波数と同期させてもよい。再生装置１００ａのサンプル周波数と再生装置１００ｂのサンプル周波数との差は、主に、補正処理によって完全に補正しきれなかったオフセット誤差、及び一度の調整周期の間に生じるサンプル周波数の差（ｆｓ偏差）を含んでいる。その他の要因としては、例えばＲＴＴの測定誤差や、カウント外挿誤差等による外乱に起因するものが含まれる。これらの内、オフセット誤差は次回の調整周期の間に補正し、ｆｓ偏差は毎周期補正するようにしてもよい。
【００８８】
図９は、本発明の一実施形態にかかる再生装置１００ｂのサンプル周波数調整処理を模式的に示す説明図である。図９の符号１８１ａは、サンプル周波数調整処理を実行する前に残っている、再生装置１００ａのサンプル周波数との差（残差）を示している。また、図９の符号１８２ａは、一度の調整周期の間に生じた再生装置１００ａと再生装置１００ｂとの間のサンプル周波数の差（真のｆｓ偏差）を示している。そして、図９の符号１８３ａは、一度の調整処理によって補正されるｆｓ偏差の補正量を示し、符号１８４ａは、サンプル周波数調整処理を実行する前の残差の補正量を示す。従って、符号１８１ａに示した残差の量と、符号１８４ａに示した残差の補正量とは同じ量である。そして、符号１８１ｂは、サンプル周波数調整処理が実行された結果残った、再生装置１００ａのサンプル周波数との差（残差）を示している。
【００８９】
また、図９の符号１８２ｂは、一度の調整周期の間に生じた再生装置１００ａと再生装置１００ｂとの間のサンプル周波数の差（真のｆｓ偏差）を示している。従って、調整周期が変化しなければ、符号１８２ａで示した真のｆｓ偏差と符号１８２ｂで示した真のｆｓ偏差とは同じ量になる。そして、図９の符号１８３ｂは、一度の調整処理によって補正されるｆｓ偏差の補正量を示している。符号１８３ｂで示した補正量は、符号１８３ａで示した前回のｆｓ偏差の補正量に、符号１８１ｂで示した再生装置１００ａのサンプル周波数との差（残差）を加えたものに相当する。そして符号１８４ｂは、サンプル周波数調整処理を実行する前の残差の補正量を示す。符号１８４ｂで示した補正量は、符号１８１ｂで示した再生装置１００ａのサンプル周波数との差（残差）を示している。
【００９０】
このように、一度の補正処理で再生装置１００ａのサンプル周波数と同期させるのではなく、複数回に渡って補正処理を繰り返して再生装置１００ａのサンプル周波数と同期させることで、再生装置１００ｂで安定してコンテンツを再生させることができる。
【００９１】
［１−５．コンテンツ伝送処理］
以上説明したように、再生装置１００ｂのサンプル周波数を、再生装置１００ａのサンプル周波数に同期させる処理を定期的に実行することで、再生装置１００ａと再生装置１００ｂとで、同一のコンテンツを同一のタイミングで再生し、なおかつ再生タイミングのずれを生じさせないように再生することができる。続いて、本発明の一実施形態にかかるコンテンツ再生システム１０における、再生装置１００ａから再生装置１００ｂへのコンテンツ伝送処理について説明する。
【００９２】
図１０は、本発明の一実施形態にかかるコンテンツ再生システム１０における、再生装置１００ａから再生装置１００ｂへのコンテンツ伝送処理を、模式的に示す説明図である。以下、図１０を用いて再生装置１００ａから再生装置１００ｂへのコンテンツ伝送処理について説明する。図１０では、Ｔは現在時刻を表す数値を意味し、ｄは１パケット分の時間を表す数値を意味している。１つのパケットはコンテンツのサンプル単位で生成され、親機側から子機側へと伝送される。
【００９３】
本発明の一実施形態にかかるコンテンツ再生システム１０においては、コンテンツの伝送にはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）  Ｕｎｉｃａｓｔが用いられる。そして、再生装置１００ａから再生装置１００ｂへ送信するパケットには、シーケンス番号、タイムスタンプ、及び再生するコンテンツのデータ（以下「コンテンツデータ」とも称する）が含まれる。シーケンス番号は、再生装置１００ｂでパケットの欠落の有無を検出するために用いられる。またタイムスタンプには、コンテンツのサンプルカウント値が記述され、再生装置１００ａ及び再生装置１００ｂでの同時再生に用いられる。再生するコンテンツのデータは、例えばＬＰＣＭデータを用いることができる。
【００９４】
親機として機能する再生装置１００ａでは、コンテンツデータを記憶部１１５に一時的に格納すると共に、コンテンツ伝送部１１７によって、コンテンツデータを含んだパケットが再生装置１００ｂへ伝送される。記憶部１１５に一時的に格納されるコンテンツデータは、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）形式で処理される。記憶部１１５へのコンテンツデータの投入速度及び抜き出し速度は、自身のサンプル周波数ｆｓに同期している。再生装置１００ｂは、再生装置１００ａからコンテンツデータを含んだパケットを受信すると、受信したパケットを記憶部１１５に一時的に格納する。再生装置１００ｂでは、受信したパケットに含まれるシーケンス番号を確認し、パケットの欠落が生じていた場合には、再生装置１００ａに対してパケットの再送を要求する。再生装置１００ｂからのパケットの再送要求を受信した再生装置１００ａは、再送対象のパケットを記憶部１１５から取り出して、再生装置１００ｂへ再送する。
【００９５】
パケットの再送制御のために、再生装置１００ａにおいて、パケットの再送要求に応じて再送するパケットには、要求に応じて送信したことを示すフラグが付けられていてもよい。また、再生装置１００ａは、コンテンツが楽曲データである場合に当該コンテンツが無音状態であるときや、コンテンツの切れ目においては、意図的に送信を停止しても良い。意図的に送信を停止する場合には、送信を停止することを示すフラグ（ポーズフラグ）を付けてパケットを送信することが望ましい。一方、子機側である再生装置１００ｂにおいては、ポーズフラグが付いたパケットを受信しておらず、かつ所定の時間を経過しても次のパケットが来ない場合には、当該パケットの再送を要求することが望ましい。
【００９６】
そして、再生装置１００ａ及び再生装置１００ｂの各カウンタが、記憶部１１５に格納されているパケットのタイムスタンプと一致すると、コンテンツ再生部１１６は記憶部１１５に格納されているコンテンツデータを取り出して、コンテンツを再生する。図１０に示した例では、現在時刻Ｔに一致するタイムスタンプを有するデータが記憶部１１５から読み出され、再生装置１００ａ及び再生装置１００ｂの両方において再生される。このようにコンテンツデータの一時格納及び伝送を制御することで、再生装置１００ａと再生装置１００ｂとで、同一のコンテンツを同一のタイミングで再生することができる。
【００９７】
なお、子機として機能する再生装置１００ｂにおいては、上述したサンプル周波数同期処理においてサンプル数を増減させる必要がある場合には、対象となるサンプルの前後のサンプルを用いて補間処理を実行する。図１０では、（ｄ−１）／ｄ、及び（ｄ＋１）／ｄで示したサンプルが、補間処理に用いられるサンプルにあたる。
【００９８】
なお、再生装置１００ａにおけるバッファの深さは、通信状況にもよるが、おおよそ３００〜５００［ｍｓ］程度確保しておくことが望ましい。バッファの深さが深いほど、パケットを再送する余裕が生じるので、子機側でコンテンツの再生が途切れる可能性が減少することで安定してコンテンツを再生することができる。その一方で、コンテンツを最初にバッファに格納してから再生までに要する時間が増大し、またバッファの深さを確保するだけの容量が記憶部１１５に必要となるのでコストが掛かる。従って、コンテンツの安定した再生と、必要となるコストとを考慮して適切な深さに設定することが望ましい。また、バッファの深さは、通信状況や再生するコンテンツのビットレート等の品質等に応じて動的に変化させるようにしてもよい。
【００９９】
このように、親機として機能する再生装置１００ａから、コンテンツを子機として機能する再生装置１００ｂに伝送することで、再生装置１００ａと再生装置１００ｂとで同一のコンテンツの同時再生が可能となる。なお、コンテンツの音量の調節は、再生装置１００ａと再生装置１００ｂとでそれぞれ独立に行っても良く、親機である再生装置１００ａでの調節に追随して再生装置１００ｂでの音声出力を調節しても良い。また、親機である再生装置１００ａでコンテンツの出力を止め、再生装置１００ａから再生装置１００ｂへのコンテンツの送信を止める事で、親機及び子機の両方で一斉にコンテンツの出力をミュートさせることができる。
【０１００】
［１−６．コンテンツに追随した周波数調整処理］
コンテンツによっては、サンプリングレートが異なるものが存在する。本実施形態にかかるコンテンツ再生システム１０において、サンプリングレートが異なるコンテンツを全ての再生装置１００で連続して再生する際には、親機として機能する再生装置１００ａでコンテンツをＳＲＣ（Ｓａｍｐｌｉｎｇ  Ｒａｔｅ  Ｃｏｎｖｅｒｔｏｒ）にかけて、全て同一のサンプリングレートに変換して、子機に送信する方法がある。この方法では、全ての処理が親機の中で閉じて行われるので、プロトコル上は何らのやり取りも行われず、またコンテンツ間の再生の連続性も高くなる。しかし、この方法では、親機におけるＳＲＣの負荷が重くなってしまうという問題がある。
【０１０１】
そこで本実施形態にかかるコンテンツ再生システム１０では、コンテンツのサンプリングレートの変化に伴って、親機側でカウンタの値を増加させるサンプル周波数を逐次切り替える。そして子機側では、親機側でサンプル周波数の変化を検出すると、子機側でも親機に追随してサンプル周波数を切り替える。このようにサンプル周波数を変化させることで、コンテンツのサンプリングレートが変化しても、親機に負荷を掛けることなく、適切なサンプル周波数でコンテンツを一斉に再生することが可能となる。
【０１０２】
図１１は、本発明の一実施形態にかかるコンテンツ再生システム１０における、コンテンツに追随した周波数調整処理について示す流れ図である。以下、図１１を用いて、本発明の一実施形態にかかるコンテンツ再生システム１０における、コンテンツに追随した周波数調整処理について説明する。
【０１０３】
親機として機能している再生装置１００ａは、サンプリングレートの変化が伴うコンテンツの切り替わりの際に、子機として機能している再生装置１００ｂへのパケットの送信を一時的に停止する（ステップＳ１９１）。ここでは、切り替わり前のコンテンツのサンプリングレートをｆｓ０とし、切り替わった後のコンテンツのサンプリングレートをｆｓ１とする。再生装置１００ａは、再生装置１００ｂへのパケットの送信は停止するが、カウンタ１２４のカウントアップは、サンプル周波数ｆｓ０で継続する。
【０１０４】
再生装置１００ａにおいて、サンプリングレートｆｓ０のコンテンツの再生が完了すると、再生装置１００ａは、カウンタ１２４のカウントアップをサンプル周波数ｆｓ１で開始する（ステップＳ１９２）。再生装置１００ａでのサンプル周波数の切り替えは周波数制御部１２８が実行する。ここで、カウンタ１２４のカウントアップは、ｆｓ０とｆｓ１とを比較し、大きい方を基準として所定の時間（例えば１０秒）分の値を加えた上で実行してもよい。カウンタ１２４のカウントアップをサンプル周波数ｆｓ１で開始すると、再生装置１００ａは、コンテンツの再生装置１００ｂへの送信を再開する（ステップＳ１９３）。コンテンツの送信の再開に際しては、送信パケットに含まれるシーケンス番号は、上記ステップＳ１９１で送信を停止するまでに振られていたものから通して振られることになる。
【０１０５】
再生装置１００ｂは、サンプル周波数を同期させるために、再生装置１００ａに対してカウンタ値を問い合わせる（ステップＳ１９４）。再生装置１００ａは、再生装置１００ｂからの問合せに応じて、カウンタ１２４の値を再生装置１００ｂに返答する（ステップＳ１９５）。カウンタ値の返答を受け取った再生装置１００ｂは、再生装置１００ａでのサンプル周波数の変化を検出すると、発振器１１９の設定を切り替えて、再生装置１００ｂのサンプル周波数をｆｓ１に切り替える（ステップＳ１９６）。再生装置１００ｂでのサンプル周波数の切り替えは周波数制御部１４９が実行する。再生装置１００ｂのサンプル周波数をｆｓ１に切り替えると、切り替わった後のサンプル周波数ｆｓ１で再生装置１００ａとの同期処理を実行する（ステップＳ１９７）。なお、再生装置１００ｂで再生装置１００ａとの同期処理を実行している間に受信したコンテンツデータは破棄せずに、再生装置１００ｂの記憶部１１５にバッファしておく。
【０１０６】
以上、図１１を用いて本発明の一実施形態にかかるコンテンツ再生システム１０における、コンテンツに追随した周波数調整処理について説明した。なお図１１では、再生装置１００ｂは、カウンタ値の返答によってサンプル周波数の変化を検出するようにしていたが、本発明はかかる例に限定されない。例えば、再生装置１００ｂは、コンテンツデータが含まれているパケットの受信によって、サンプル周波数の変化を検出してもよい。
【０１０７】
＜２．まとめ＞
以上説明したように本発明の一実施形態によれば、複数の再生装置１００からなるコンテンツ再生システム１０において、１つの再生装置１００を親機として機能させ、残りの再生装置１００を子機として機能させる。親機として機能している再生装置１００（再生装置１００ａ）は、子機として機能している再生装置１００（再生装置１００ｂ、１００ｃ、１００ｄ、・・・）に対してコンテンツを送信する。
【０１０８】
そして、親機と子機との間で、コンテンツの再生タイミングを一致させるために、子機側から親機側に対して、定期的に親機が保持しているカウンタの値を問い合わせる。親機は、子機側からの問合せに応じて、カウンタの値を子機へ返答する。親機のカウンタの値を受信した子機は、そのカウンタの値を用いて、サンプル周波数を調整する処理を実行する。子機は、サンプル周波数を調整する際には、パケットのＲＴＴその他の外乱を考慮に入れた上でサンプル周波数の調整を実行する。
【０１０９】
このように、親機として機能している再生装置１００と、子機として機能している再生装置１００との間で同期を取ることによって、親機が再生しているコンテンツと同一のコンテンツを、同一のタイミングで子機でも再生することができる。
【０１１０】
また、親機で再生しているコンテンツにサンプリングレートの変化が生じた場合であっても、サンプリングレートの変化に応じて親機と子機の両方でサンプル周波数の変更を実施することで、親機に負荷を掛けることなく適切なサンプリングレートでのコンテンツの再生が可能となる。
【０１１１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１１２】
１０    コンテンツ再生システム
２０    コンテンツサーバ
３０    コンテンツ再生制御装置
１００ａ、１００ｂ、１００ｃ、１００ｄ    再生装置
１１２    通信部
１１４    記録部
１１５    記憶部
１１６    コンテンツ再生部
１１７    コンテンツ伝送部
１１８    入力部
１１９    発振器
１２０、１４０    制御部
１２１    動作設定部
１２２    再生制御部
１２４    カウンタ
１２６    カウンタ値返答部
１２８    周波数制御部
１３２    表示部
１３４    音声出力部
１４１    動作設定部
１４２    再生制御部
１４４    カウンタ問合せ部
１４６    同期補正部
１４８    カウンタ
１４９    周波数制御部
【図１】
2010288158.tif 000003
【図２】
2010288158.tif 000004
【図３】
2010288158.tif 000005
【図４】
2010288158.tif 000006
【図５】
2010288158.tif 000007
【図６】
2010288158.tif 000008
【図７】
2010288158.tif 000009
【図８】
2010288158.tif 000010
【図９】
2010288158.tif 000011
【図１０】
2010288158.tif 000012
【図１１】
2010288158.tif 000013