【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の通り、特許文献1のコンテンツ配信装置ではFIFOにコンテンツデータを一時記憶させてハードディスクからの読み出し量を制御することにより、配信先クライアントで同期再生を実現していた。しかし、外部入力端子から入力されたコンテンツを配信する場合、例えば、外部の光ディスク装置から連続して出力されるコンテンツの映像をコンテンツ配信装置が再生し、そのコンテンツの音声を各クライアント装置が再生することがある。このように外部からコンテンツが入力される場合、各クライアント装置による音声の再生は、コンテンツ配信装置による映像の再生に比べて遅れることがあるため、コンテンツ配信装置への入力から出力までの遅延を小さくする必要がある。
【0006】
そこで、本発明の目的は、配信する対象となるコンテンツに応じて最適なコンテンツの配信方法を選択するコンテンツ配信装置を提供することにある。
【課題を解決するための手段】
【0007】
本発明のコンテンツ配信装置は、コンテンツを受信するコンテンツ受信部と、コンテンツが入力される外部入力部と、クライアント装置へコンテンツを配信する配信部と、を備える。
【0008】
外部入力部は、例えば、コンポジットケーブルが接続されるコネクタを有する。ただし、外部入力部は、コンテンツを伝送する無線信号が入力されるネットワークインターフェースを有する態様であってもよい。
【0009】
外部入力部に入力されるコンテンツは、例えば、光ディスク装置が出力するコンテンツの一部(音声データ)である。光ディスク装置は、他の装置(例えばテレビ)に映像データを出力しつつ、音声データをコンテンツ配信装置に出力する場合がある。このような場合、テレビ側の映像の再生に対して各クライアント装置側での音声データの再生が遅れないように、リアルタイム再生が要求される。
【0010】
コンテンツ受信部が受信するコンテンツは、例えば、NAS(Network Attached Storage)、又はコンテンツ配信装置の内蔵ストレージに記憶されているコンテンツ、等である。このようなコンテンツの場合は、他の装置(例えばテレビ)に映像データを出力しつつ音声データを配信する必要がないため、コンテンツをバッファしたとしてもクライアント装置の再生だけが遅れる、という状況にはならない。
【0011】
配信部は、コンテンツの基本成分及び拡張成分を配信する。例えば、配信部は、音声圧縮コーデックであるWavPackコーデックを用いて、音声データを基本成分及び拡張成分に分けて2つの圧縮データを生成する。基本成分のみの圧縮データを用いるだけでも音声の再生は可能である。基本成分と拡張成分の両方の圧縮データを用いれば、圧縮による損失がない状態の再生が可能となる。
【0012】
配信部は、コンテンツ受信部が受信したコンテンツを配信する場合、コンテンツの基本成分及び拡張成分をバッファに一時保持してから配信する。すなわち、配信部は、リアルタイム再生が要求されないコンテンツを、バッファしてから配信する。これにより、コンテンツ配信装置は、クライアント装置間でのコンテンツ再生を確実に同期させることができる。さらに、クライアント装置は、コンテンツの基本成分及び拡張成分を受信するので、高品質なコンテンツを再生できる。
【0013】
配信部は、外部入力部に入力されたコンテンツ(リアルタイム再生が必要なコンテンツ)を、バッファせずに入力後すぐに配信する。さらに、配信部は、外部入力部に入力されるコンテンツを配信する場合、コンテンツの基本成分を複数回配信する。これにより、クライアント装置は、配信するデータの抜けが生じる可能性があっても、コンテンツの基本成分をより確実に受信する。クライアント装置は、より確実に受信できる基本成分のみでコンテンツ再生が可能であるので、コンテンツの再送要求を
不要とする。コンテンツ配信装置は、コンテンツの再送要求にかかる時間を不要とするので、クライアント装置におけるコンテンツ再生の遅延を防止することができる。
【発明の効果】
【0014】
本発明のコンテンツ配信装置は、配信する対象となるコンテンツに応じて最適なコンテンツの配信方法を選択できる。
【発明を実施するための形態】
【0016】
実施形態1に係るコンテンツ配信システム900について、
図1、
図2(A)、
図2(B)を用いて説明する。
図1は、コンテンツ配信システム900の概要を説明するための図である。
図2(A)は、AVレシーバ100の構成の一部を示すハードウェアブロック図である。
図2(B)は、無線スピーカ301SLの構成の一部を示すハードウェアブロック図である。
【0017】
図1に示すように、コンテンツ配信システム900は、AVレシーバ100と、プレーヤ150と、NAS(Network Attached Storage)170と、スピーカ200Lと、スピーカ200Rと、テレビ210と、無線スピーカ301SLと、無線スピーカ301SRと、を備えている。
【0018】
例えば、プレーヤ150は、光ディスクドライブを備える。プレーヤ150は、光ディスクに記憶されたPCM音源データを出力する。NAS170は、複数のPCM音源データを記憶している。AVレシーバ100は、プレーヤ150から出力されるPCM音源データと、NAS170に記憶されているPCM音源データとを、無線スピーカ301SL、及び無線スピーカ301SRに配信する。本実施形態におけるAVレシーバ100は、配信対象となるコンテンツに応じて、最適な配信方法を選択するものである。
【0019】
図2(A)に示すように、AVレシーバ100は、CPU(Central Processing Unit)1と、メモリ2と、DSP(Digital Signal Processor)3と、無線モジュール4と、AMP(Amplifier)5と、HDMI(High Definition Multimedia Interface(HDMIは登録商標)6と、複数の操作ボタン7と、を備えている。これら構成は、共通のBUSに接続されている。
【0020】
DSP3は、PCM音源データに対する各種音響処理のためのプロセッサである。無線モジュール4は、Wi−Fi(登録商標)規格等の無線信号を生成する。また、無線モジュール4は、アンテナ(不図示)で無線信号を入出力する。これにより、無線モジュール4は、無線通信で情報を送受信する。AMP5は、音声信号を増幅する回路である。AMP5によって増幅された音声信号は、スピーカ200L及びスピーカ200Rへ出力される。スピーカ200LへはLチャンネルの音声信号が出力される。スピーカ200RへはRチャンネルの音声信号が出力される。HDMI6は、コンテンツを入出力するためのインターフェースである。HDMI6は、プレーヤ150のHDMI(不図示)に接続されている。複数の操作ボタン7は、ユーザに操作されると、操作を示す信号を出力する。メモリ2は、無線スピーカ301SL、及び無線スピーカ301SRのIPアドレスを記憶している。メモリ2は、プログラムを記憶している。CPU1は、メモリ2からプログラムを読み出し、読み出したプログラムを実行する。
【0021】
図2(B)に示すように、無線スピーカ301SLは、CPU31と、メモリ32と、無線モジュール34と、AMP35と、を備えている。これら構成は、共通のBUSに接続されている。
【0022】
無線モジュール34は、Wi−Fi(登録商標)規格等の無線信号を生成する。また、無線モジュール34は、アンテナ(不図示)で無線信号を入出力する。これにより、無線モジュール34は、無線通信で情報を送受信する。AMP35は、音声信号を増幅する回路である。AMP35によって増幅された音声信号は、スピーカユニット(不図示)に出力される。メモリ32は、プログラムを記憶している。CPU31は、メモリ32からプログラムを読み出し、読み出したプログラムを実行する。
【0023】
図示は省略するが、無線スピーカ301SRは、無線スピーカ301SLと同様の構成を備えている。無線スピーカ301SLは、SLチャンネルの音声データを受信する。無線スピーカ301SRは、SRチャンネルの音声データを受信する。
【0024】
AVレシーバ100は、プログラムを実行することで、
図3の機能ブロック図に示す各機能部を実現する。
【0025】
図3に示すように、AVレシーバ100は、機能部として、外部入力部10と、コンテンツ受信部12と、音声出力部14と、配信部16と、映像出力部18と、を備えている。外部入力部10は、少なくともHDMI6によって実現されている。コンテンツ受信部12は、少なくとも無線モジュール4によって実現されている。音声出力部14は、少なくともAMP5及び音声出力端子14Aによって実現されている。配信部16は、少なくともメモリ2及び無線モジュール4によって実現されている。映像出力部18は、少なくともHDMI6によって実現されている。
【0026】
外部入力部10には、プレーヤ150から出力されたPCM音源データが入力される。外部入力部10に入力されたPCM音源データは、音声出力部14と、配信部16とへ出力される。コンテンツ受信部12は、NAS170に記憶されているPCM音源データを受信する。コンテンツ受信部12が受信するPCM音源データは、音声出力部14と、配信部16とへ出力される。なお、各PCM音源データは、音声出力部14及び配信部16に入力される前に、DSP3によって音響処理(例えばイコライジング)が施されてもよい。
【0027】
音声出力部14は、入力されたPCM音源データのうち、Lチャンネルの音声データをデジタルアナログ変換したうえでスピーカ200Lへ出力する。音声出力部14は、入力された音声データのうち、Rチャンネルの音声データをデジタルアナログ変換したうえでスピーカ200Rへ出力する。
【0028】
配信部16は、入力されたPCM音源データのうち、SLチャンネルの音声データを無線スピーカ301SLへ配信する。配信部16は、入力された音声データのうち、SRチャンネルの音声データを無線スピーカ301SRへ配信する。
【0029】
配信部16は、無線スピーカ301SL及び無線スピーカ301SRにおける音声データの再生の遅延を防止するために、FIFO形式のバッファ17を備えている。配信部16は、バッファ17を用いて、次のように動作する。
図4は、配信部16の動作を示すフローチャートである。なお、バッファ17はメモリ2によって実現されている。
【0030】
図4に示すように、配信部16は、配信すべき音声データを設定する(S1)。まず、配信部16は、複数のボタン7で受け付けたソース選択操作に基づいて、外部入力部10が出力するPCM音源データを配信するか、又は、コンテンツ受信部12が受信するPCM音源データを配信するかを設定する。配信部16は、コンテンツ受信部12が受信するPCM音源データを配信すると設定した場合、さらに、複数の操作ボタン7で受け付けたデータ選択操作に基づいて、NAS170が記憶する複数のPCM音源データから、配信すべきPCM音源データを選択する。
【0031】
次に、配信部16は、ステップS1で設定したPCM音源データのソースに応じて異なる配信処理を実行する(S2)。
【0032】
<コンテンツ受信部が受信するPCM音源データの配信>
配信部16は、コンテンツ受信部12が受信するPCM音源データを配信すると設定した場合(S2:コンテンツ受信部)、当該PCM音源データの先頭データをバッファ17に一時保持する(S21)。NAS170に記憶されているPCM音源データは、コンテンツ受信部12が必要に応じて受信するPULL型のデータである。換言すれば、NAS170に記憶されているPCM音源データは、バッファ可能でリアルタイム再生を要求しないものである。そこで、配信部16は、ステップS21では、所望の量のPCM音源データをバッファする。所望の量は、例えば、PCM音源データの2秒間の再生時間分に対応する。
【0033】
そして、配信部16は、PCM音源データをバッファ17から取出し、取り出したPCM音源データを圧縮する(S22)。ここで、配信部16は、WavPackコーデックを用いてPCM音源データを、基本成分及び拡張成分のデータに分けて圧縮する。基本成分のデータは、非可逆圧縮で生成される。基本成分のデータのみでも音声の再生は可能である。基本成分のデータを拡張成分のデータで補正すれば、圧縮による損失がない音声データPCM音源(例えば、1,411kbpsのビットレートデータ)が復元される。配信部16は、例えば、200kbpsのビットレートでPCM音源データの基本成分のデータを生成し、600kbpsのビットレートでそのPCM音源データの拡張成分のデータを生成する。
【0034】
次に、配信部16は、生成した基本成分及び拡張成分のデータを含むパケットを生成する(S23)。配信部16は、生成したパケットを送信する(S24)。このパケットは、無線アクセスポイント500を介して無線スピーカ301SL及び無線スピーカ301SRへ送信される。
【0035】
無線スピーカ301SL及び無線スピーカ301SRのCPU31は、AVレシーバ100からパケットを受信すると、受信したパケットからデータを取り出す。そして、CPU31は、WavPackコーデックを用いて取り出したデータを復元する。すると、損失がない状態のPCM音源データが復元される。その後、CPU31は、復元されたPCM音源データから生成されるアナログ音声信号をスピーカユニット(不図示)へ出力する。
【0036】
配信部16は、さらに配信すべき次のデータが存在するか否かを判断する(S25)。配信部16は、ステップS24で配信したデータの次のデータが存在する場合(S25:Y)、ステップS21に戻る。配信部16は、ステップS21に戻ると、配信したデータの次のデータを対象にして、ステップS21〜S24の処理を行う。配信部16は、ステップS24で配信したデータがPCM音源データの最後のデータの場合(S25:N)、処理を終える。すなわち、配信部16は、配信すべきPCM音源データの先頭データから最後尾データまでステップS21〜S24の処理を繰り返し実行する。
【0037】
なお、図示は省略するが、音声出力部14は、SLチャンネル及びSRチャンネルのPCM音源データの配信中に、Lチャンネル及びRチャンネルのPCM音源データに対応する音声信号をスピーカ200L及びスピーカ200Rへ出力する。この際、音声出力部14は、FIFO形式のバッファ15(
図3を参照)にPCM音源データを一時保持してから音声信号を出力する。バッファ15に一時保持する時間は、配信部16による配信処理、パケット伝送、及び無線スピーカ301SL及び無線スピーカ301SRによる再生処理に必要な時間が考慮されて設定される。これにより、スピーカ200L、スピーカ200R、無線スピーカ301SL、及び無線スピーカ301SRは、PCM音源データを同期再生する。
【0038】
配信部16は、例えばPCM音源データのバッファ処理(S21)に0.5秒間の遅延が生じたとしても、バッファ17に2秒間の再生時間分のPCM音源データが一時保持されているので、一時保持されているPCM音源データを送信することができる(S22〜S24)。これにより、AVレシーバ100は、無線スピーカ301SL及び無線スピーカ301SRにおけるPCM音源データの再生の遅延を防止することができる。なお、配信部16は、バッファ処理(S21)に遅延が生じた場合、再び、2秒間の再生時間分のPCM音源データをバッファ17に一時保持されているように、コンテンツ受信部12からより多くのPCM音源データを取得する。
【0039】
<外部入力部に入力された音声データの配信>
プレーヤ150が出力するPCM音源データは、プレーヤ150が順次出力するPUSH型のデータである。換言すれば、プレーヤ150が出力するPCM音源データは、リアルタイム再生を必要とするものである。なお、本実施形態においてリアルタイム再生とは、外部入力部10に音声データが入力されたタイミングと、スピーカ200L、スピーカ200R、無線スピーカ301SL及び無線スピーカ301SRがその音声データを再生するタイミングと、が略同時であることを意味する。従って、本実施形態では、外部入力部10に音声データが入力されたタイミングと、各スピーカがその音声データを再生するタイミングとの間に数十ミリ秒の時間差がある再生もリアルタイム再生である。
【0040】
配信部16は、外部入力部10に入力されたPCM音源データを配信すると設定した場合(S2:外部入力部)、当該PCM音源データの先頭データをバッファせずに、当該データを圧縮して基本成分及び拡張成分のデータを生成する(S11)。この基本成分及び拡張成分のデータの生成処理は、ステップS22の処理と同様であるので、説明を省略する。そして、配信部16は、生成した基本成分及び拡張成分のデータを含むパケットを生成する(S12)。ここで、配信部16は、無線スピーカ301SL及び無線スピーカ301SRにパケットがより早く到達するために、コネクションレス型通信で伝送されるUDP(User Datagram Protocol)パケットを生成することが好ましい。そして、配信部16は、生成したパケットを配信する(S13)。配信部16は、コネクションレス型通信を行う場合、接続状態を確認しないので、より早くパケットを送信できる。
【0041】
配信部16は、基本成分及び拡張成分のデータを含むパケットを送信すると(S13)、基本成分のデータを含むパケットのみを再度送信する(S14)。この際、配信部16は、パケットが再送されたものである旨を示す情報(例えば、フラグ情報)を再送するパケットに含めて送信する。これにより、無線スピーカ301SL及び無線スピーカ301SRは、重複する音声データを含むパケットを判別できるので、音声データを重複して再生することがない。なお、基本成分のデータの再送は、複数回行われてもよい。
【0042】
配信部16は、さらに配信すべき次のデータが存在するのか否かを判断する(S15)。配信部16は、外部入力部10にPCM音源データが入力され続けている場合(S15:Y)、ステップS11へ戻る。配信部16は、外部入力部10へのPCM音源データの入力がなくなった場合(S15:N)、処理を終える。すなわち、配信部16は、外部入力部10にPCM音源データが入力され続ける限り、ステップS11〜S14を繰り返し実行する。
【0043】
配信部16は、外部入力部10に入力されたPCM音源データをバッファせずにすぐ送信するので、PCM音源データを無線スピーカ301SL及び無線スピーカ301SRにより早く配信することができる。
【0044】
また、無線スピーカ301SL及び無線スピーカ301SRは、パケットロスが生じたとしても、配信部16が基本成分のデータを含むパケットを2回送信するので、基本成分のデータをより確実に受信する。これにより、無線スピーカ301SL及び無線スピーカ301SRがより確実に受信できる基本成分のデータを用いて音声を再生するので、音声データの再送の要求をしなくてもよい。このようにAVレシーバ100は、音声データの再送にかかる時間を不要とすることで、無線スピーカ301SL及び無線スピーカ301SRにおける音声データの再生の遅延を防止することができる。
【0045】
以上のように、AVレシーバ100は、リアルタイム再生が必要な音声データの配信の遅延を防止しつつ、リアルタイム再生が必要ない音声データを高品質な状態で配信する。従って、AVレシーバ100は、配信対象の音声データに応じて、最適な配信方法を選択することができる。
【0046】
なお、本実施形態では、スピーカ200L及びスピーカ200Rは、AVレシーバ100に接続されていたが、スピーカケーブルによってプレーヤ150に直接的に接続されてもよい。AVレシーバ100は、スピーカ200L及びスピーカ200Rが直接的にプレーヤ150に接続されても、外部入力部10に入力されたPCM音源データを配信する場合(S2:外部入力部)、PCM音源データをバッファせずに、かつ圧縮後のPCM音源データの基本成分のデータのみを2回送信する。これにより、AVレシーバ100は、スピーカ200L及びスピーカ200Rが直接的にプレーヤ150に接続されても、無線スピーカ301SL及び無線スピーカ301SRにおける音声データの再生が遅延することを防止することができる。
【0047】
また、本実施形態では、AVレシーバ100は、スピーカ200L及びスピーカ200Rを用いて音声データのみを再生したが、音声データに加えて映像データを再生してもよい。より具体的には、外部入力部10には、音声データ及び映像データが入力される。コンテンツ受信部12は、音声データ及び映像データを受信する。外部入力部10に入力された映像データは、
図3に示すように、映像出力部18へ出力される。コンテンツ受信部12が受信した映像データは、映像出力部18へ出力される。
【0048】
図3に示すように、映像出力部18は、FIFO形式のバッファ19を備えている。映像出力部18は、コンテンツ受信部12が受信する音声データが配信される場合、映像データをバッファ19に一時保持してからテレビ210へ出力する。バッファ19に一時保持する映像データの量は、バッファ15に一時保持する音声データの量と同様に、配信部16による配信処理、パケット伝送、及び無線スピーカ301SL及び無線スピーカ301SRによる再生処理に必要な時間が考慮されて設定される。これにより、スピーカ200L、スピーカ200R、無線スピーカ301SL、及び無線スピーカ301SRにおける音声の再生と、テレビ210による映像の再生とは同期する。
【0049】
映像出力部18は、配信部16が外部入力部10に入力された音声データを配信する場合、HDMI6から映像データをテレビ210へ出力する。この場合であっても、AVレシーバ100は、音声データをバッファせずに、かつ音声データの基本成分のデータのみを2回配信するので、テレビ210による映像の再生に対して、無線スピーカ301SL及び無線スピーカ301SRにおける音声の再生が遅延することを防止することができる。
【0050】
なお、外部入力部10は、HDMI6以外にコンポジット端子を備えてもよい。さらに、外部入力部10は、連続して無線送信されるコンテンツを受信するネットワークインターフェース(例えば無線モジュール4)を備えてもよい。
【0051】
また、ステップS21におけるバッファ処理は、パケット送信前(S24の前)であればいつでもよい。例えば、AVレシーバ100は、PCM音源データそのものに代えて、PCM音源データの基本成分及び拡張成分のデータをバッファ17に一時保持してもよい。
【0052】
次に、
図5は、配信部16の動作の変形例に係る動作を示すフローチャートである。
図5のフローチャートは、ステップS3、及びステップS11A〜S15Aを実行する点において、
図4に示すフローチャートと相違する。なお、
図5において、
図4のフローチャートと重複するステップS21〜S24の図示は省略している。
【0053】
配信部16は、ステップS3では、無線スピーカのIPアドレスが記憶されているメモリ2を参照することで、音声データの配信先の台数が3台以上であるか否かを判断する(S3)。
【0054】
配信部16は、配信先の台数が3台以上の場合(S3:Y)、ステップS11A〜S15Aを順次実行する。配信部16は、PCM音源データの基本成分のデータのみを生成し、基本成分のデータのみを対象としてパケットの生成及び送信を行う(S11A〜S13A)。ステップS14A及びステップS15Aの各処理は、ステップS14及びステップS15の各処理と同じであるので、説明を省略する。
【0055】
この変形例に係る動作では、配信部16は、パケットの生成時間及びパケット伝送時間をさらに短くすることができる。従って、無線スピーカ301SL及び無線スピーカ301SRに音声データが届くまでの時間はさらに短くなる。
【0056】
配信部16は、配信先のスピーカの台数が3台未満の場合(S3:N)、ステップS11〜S15を順次実行する。
【0057】
なお、配信部16は、配信先のスピーカの台数に関わらず、外部入力部10に入力されたPCM音源データの基本成分のデータのみを配信してもよい。
【0058】
また、上述の例は、NAS170に記憶されているコンテンツがバッファ17に一時保持された後に配信されたが、AVレシーバ100の内蔵ストレージに記憶されているコンテンツがバッファ17に一時保持された後に配信されてもよい。
【0059】
また、上述の例は、配信されるコンテンツを音声データとして示したが、配信されるコンテンツは映像データを含んでもよい。映像データを基本成分及び拡張成分に分けて圧縮するには、例えば、MPEG4 SLSコーデックを用いる。
【0060】
また、AVレシーバ100は、Wi−Fi(登録商標)規格に限らず、Bluetooth(登録商標)規格の無線通信でコンテンツを配信してもよい。