しかしながら、上記特許文献1によるデータ受信装置では、ストリーミング再生の一時停止を行う際にネットワークの遅延が生じた場合、再生部によるストリーミング再生によるメモリのデータ量の消費は一時停止される一方、ネットワークの遅延時間分、データはストリーミング再生による消費量を超えてメモリに蓄積される場合があると考えられる。この条件下で、一時停止操作と再生操作とを繰り返した場合、蓄積されるデータ量が徐々に増え続け、メモリ容量と実際のデータ蓄積量との差に余裕がなくなる。このため、メモリにおけるデータの流入量と流出量とのアンバランスに起因してメモリにその容量以上のデータ量が流入するオーバーフローの状態に陥る可能性があるという問題点があると考えられる。
また、上記特許文献2による符号化記録装置の記録媒体への記録の一時停止動作をストリーミング再生の一時停止動作に適用した場合、一時停止操作が行われたタイミングと同時刻でストリーミング再生が一時停止されると考えられる。ここで、ネットワークの遅延が生じた場合、ストリーミング再生によるビデオバッファのデータ量の消費は一時停止される一方、ネットワークの遅延時間分、データはビデオバッファに蓄積される場合があると考えられる。この条件下で、データの一時停止操作と再生操作とを繰り返した場合、蓄積されるデータ量が徐々に増え続け、ビデオバッファ容量と実際のデータ蓄積量との差に余裕がなくなる。このため、ビデオバッファにおけるデータの流入量と流出量とのアンバランスに起因してビデオバッファにその容量以上のデータ量が流入するオーバーフローの状態に陥る可能性があるという問題点があると考えられる。
また、上記特許文献3によるデジタル放送受信機の停止動作をストリーミング再生の一時停止動作に適用した場合、データの受信状態とは関係なく、AVデコーダのバッファの残量に基づいて、AVデコーダによるストリーミング再生の一時停止動作が行われると考えられる。この場合、ネットワークの遅延が生じた場合、ストリーミング再生によるバッファのデータ量の消費は一時停止される一方、ネットワークの遅延時間分、ストリーミング再生による消費量よりも多くのストリーミングデータがバッファに蓄積される場合があると考えられる。この条件下で、ストリーミングデータの一時停止操作と再生操作とを繰り返した場合、蓄積されるデータ量が徐々に増え続け、バッファ容量と実際のデータ蓄積量との差に余裕がなくなる。このため、バッファにおけるデータの流入量と流出量とのアンバランスに起因してバッファにその容量以上のデータ量が流入するオーバーフローの状態に陥る可能性があるという問題点があると考えられる。
また、上記特許文献4による映像配信システムの受信端末では、デコーダによる再生の一時停止を行う際、ネットワークの遅延が生じた場合、デコーダの読み出しによるバッファのデータ量の消費は一時停止される一方、ネットワークの遅延時間分、データはデコーダの読み出しによる消費量を超えてバッファに蓄積される場合があると考えられる。この条件下で、一時停止操作と再生操作とを繰り返した場合に、蓄積されるデータ量が徐々に増え続け、バッファ容量と実際のデータ蓄積量との差に余裕がなくなる。このため、バッファにおけるデータの流入量と流出量とのアンバランスに起因してバッファにその容量以上のデータ量が流入するオーバーフローの状態に陥る可能性があるという問題点があると考えられる。
また、上記特許文献5によるストリーミング再生が可能な映像受信端末装置では、デコーダによる再生の一時停止を行う際、ネットワークの遅延が生じた場合、デコーダの読み出しによるバッファのデータ量の消費は一時停止される一方、ネットワークの遅延時間分、データはデコーダの読み出しによる消費量を超えてバッファに蓄積される場合があると考えられる。この条件下で、一時停止操作と再生操作とを繰り返した場合、蓄積されるデータ量が徐々に増え続け、バッファ容量と実際のデータ蓄積量との差に余裕がなくなる。このため、バッファにおけるデータの流入量と流出量とのアンバランスに起因してバッファにその容量以上のデータ量が流入するオーバーフローの状態に陥る可能性があるという問題点があると考えられる。
この発明は、上記のような課題を解決するためになされたものであり、この発明の1つの目的は、ストリーミング再生の一時停止操作が行われた際に、少なくともオーバーフローが発生するのを抑制することが可能なデータ受信装置および表示装置を提供することである。
課題を解決するための手段および発明の効果
この発明の第1の局面によるデータ受信装置は、ネットワークを介してデータを受信する受信部と、受信部によりデータを受信しながら受信されたデータを出力することによりストリーミング再生する出力部と、ユーザによってストリーミング再生の停止操作が行われた際、受信部によりデータが受信されなくなった後に、出力部によるストリーミング再生を停止するように出力部を制御する制御部と、受信部から受信されたデータを蓄積するバッファ領域と、バッファ領域のデータが出力部に出力される際に、出力部により読み出されるデータ量だけバッファ領域から移される読み出し領域とを含むメモリとを備える。
この発明の第1の局面によるデータ受信装置では、上記のように、制御部を、データの出力によるストリーミング再生を一時停止する際、受信部によりデータが受信されなくなった後に、出力部によるデータの出力によるストリーミング再生を一時停止するように出力部を制御するように構成することによって、データの出力によるストリーミング再生が一時停止される際、出力部においてデータの出力が一時停止されるタイミングを、受信部によるデータの受信が一時停止されるタイミングよりも遅くすることができる。これにより、ネットワークに遅延が生じた場合であっても、受信部により受信されるデータ流入量が、出力部によりストリーミング再生されるデータ流出量を上まわるのを抑制することができるので、ストリーミング再生の一時停止操作が行われた際に、データ受信装置内に一時的にデータが保持されるメモリなどにその容量以上のデータ量が流入するオーバーフローが発生するのを抑制することができる。
上記第1の局面によるデータ受信装置において、好ましくは、制御部は、出力部がデータを出力することによりストリーミング再生する際、受信部によりデータが受信された後に、データを出力してストリーミング再生するように出力部を制御するように構成されている。このように構成すれば、データの出力によるストリーミング再生を開始する際、出力部においてデータ出力を開始(再開)するタイミングを、受信部によるデータの受信が開始(再開)されるタイミングよりも遅くすることができる。これにより、ネットワークに遅延が生じた場合でも、出力部によりストリーミング再生されるデータ流出量が、受信部により受信されるデータ流入量を上まわるのを抑制することができる。これにより、データ受信装置内のメモリなどに蓄積されるデータ量が一定のレベルに維持された状態を継続することができる。その結果、再生操作が行われた際に、メモリなどに必要なデータが存在しないにも関わらずデータを読み出そうとするアンダーフローが発生するのを抑制することができる。
この発明の第2の局面における表示装置は、映像を表示する表示部と、ネットワークを介してデータを受信する受信部と、受信部によりデータを受信しながら受信されたデータを表示部に出力することによりストリーミング再生する出力部と、ユーザによってストリーミング再生の停止操作が行われた際、受信部によりデータが受信されなくなった後に、出力部によるストリーミング再生を停止するように出力部を制御する制御部と、受信部から受信されたデータを蓄積するバッファ領域と、バッファ領域のデータが出力部に出力される際に、出力部により読み出されるデータ量だけバッファ領域から移される読み出し領域とを含むメモリとを備える。
この発明の第2の局面における表示装置では、上記のように、制御部を、表示部へのデータの出力によるストリーミング再生を一時停止する際、受信部によりデータが受信されなくなった後に、出力部による表示部に対するデータの出力によるストリーミング再生を一時停止するように出力部を制御するように構成することによって、表示部へのデータの出力によるストリーミング再生が一時停止される際、出力部においてデータの出力が一時停止されるタイミングを、受信部によるデータの受信が一時停止されるタイミングよりも遅くすることができる。これにより、ネットワークに遅延が生じた場合であっても、受信部により受信されるデータ流入量が、出力部によりストリーミング再生されるデータ流出量を上まわるのを抑制することができるので、ストリーミング再生の一時停止操作が行われた際に、表示装置内に一時的にデータが保持されるメモリなどにその容量以上のデータ量が流入するオーバーフローが発生するのを抑制することができる。
以下、本発明を具体化した実施形態を図面に基づいて説明する。
図1〜図3を参照して、まず、本実施形態によるデータ受信装置1の構成を説明する。
本発明の一実施形態によるデータ受信装置1は、図1に示すように、ネットワーク50に接続されることにより、ネットワーク50を介してコンテンツサーバ100からストリーミングデータを受信するように構成されている。また、データ受信装置1には、液晶テレビジョン20が接続されている。この液晶テレビジョン20は、表示部21にデータ受信装置1により受信されたストリーミングデータがリアルタイムで出力されるように構成されている。すなわち、データ受信装置1は、コンテンツサーバ100からのストリーミングデータを液晶テレビジョン20にストリーミング再生するように構成されている。また、データ受信装置1は、ストリーミング再生の開始や停止などをユーザが操作可能なリモコン30を備えている。また、データ受信装置1は、リモコン30から送信される光信号を受信する受光部10を含んでいる。なお、液晶テレビジョン20は、本発明の「表示装置」の一例であり、コンテンツサーバ100は、本発明の「サーバ」の一例である。また、ストリーミングデータは、本発明の「データ」の一例である。
また、リモコン30は、図2に示すように、データ受信装置1(図1参照)にコンテンツサーバ100(図1参照)から受信されたストリーミングデータのストリーミング再生を開始させるための再生ボタン31と、ストリーミング再生を停止させるための停止ボタン32と、ストリーミング再生を一時停止させるための一時停止ボタン33とを含んでいる。なお、再生ボタン31は、一時停止状態にあるストリーミング再生を再開させる場合にも使用されるように構成されている。
また、データ受信装置1(図1参照)は、図3に示すように、上記した受光部10に加えて、LAN(Local Area Network)ケーブルが接続されるLAN接続部11と、LAN接続部11からデータを受信する受信部12と、LAN接続部11からLANケーブルを介してコンテンツサーバ100に対してストリーミングデータのデータ要求信号およびデータ一時停止信号を送信する送信部13と、メモリ14と、出力部15と、制御部16とを備えている。また、メモリ14は、受信部12と接続され、受信部12からのストリーミングデータが格納されるように構成されている。
また、出力部15は、メモリ14に接続され、メモリ14からストリーミングデータを読み出すことにより、液晶テレビジョン20にコンテンツサーバ100からのストリーミングデータをストリーミング再生するように構成されている。この出力部15は、受信部12により受信されたストリーミングデータを受信しながら液晶テレビジョン20に出力することによりストリーミング再生を行うように構成されている。この際、出力部15は、ストリーミングデータをデコード(復号化)しながら液晶テレビジョン20に出力するように構成されている。
ここで、本実施形態では、制御部16は、受信部12、送信部13、メモリ14および出力部15と接続されることによりデータ受信装置1の全体の制御を司るCPUからなる。また、制御部16には、受光部10が接続されている。また、データ受信装置1は、リモコン30からの光信号を受光部10が受信することにより、ユーザによるリモコン操作を受け付けることが可能に構成されている。
また、メモリ14には、受信部12により受信されたストリーミングデータを出力部15により出力される前に一時的にバッファ(蓄積)されるバッファ領域14aと、バッファされたストリーミングデータのうち、出力部15により読み出されるデータ量だけバッファ領域14aから連続的に移される読み出し領域14bとを有している。この読み出し領域14bは、バッファ領域14aからのデータの移動が一時停止した場合には、出力部15により読み出されるデータ量がすぐになくなるように、バッファ領域14aよりも小さな容量を有している。また、出力部15は、バッファ領域14aから読み出し領域14bに連続的に移されるストリーミングデータを、読み出し領域14bから読み出して液晶テレビジョン20に対して出力するように構成されている。すなわち、本実施形態では、制御部(CPU)16を介することなく直接的にデバイス(受信部12および出力部15)とメモリ14との間でデータの出入力を行うことが可能なDMA(Direct Memory Access)機能を有するように構成されている。
次に、図1〜図5を参照して、本実施形態によるデータ受信装置1の制御動作を説明する。
まず、ネットワーク50(図1参照)に遅延が発生していない場合について説明する。図3に示すように、コンテンツサーバ100から受信部12によって受信されたストリーミングデータがメモリ14のバッファ領域14aにバッファ(蓄積)されている状態において、図4に示すように、ステップS1では、ユーザによりリモコン30(図2参照)の再生ボタン31(図2参照)が押下されることに基づいて、受光部10(図3参照)により再生信号が受信されたか否かが制御部16(図3参照)により判断される。ステップS1において、受光部10により再生信号が受信されたと判断された場合、ステップS2に移行する。この際、図5に示すように、制御部16は、タイミングT1において、受光部10により再生信号が受信されたと判断する。また、図4に示すように、ステップS1において、受光部10により再生信号が受信されていないと判断された場合、再生信号が受信されるまでステップS1の判断が繰り返される。
そして、ステップS2では、制御部16は、出力部15にストリーミングデータの出力を開始する制御を行うとともに、タイミングT2(図5参照)において、出力部15にストリーミング再生を待機させる再生待機状態に移行する。このとき、図5に示すように、タイミングT2から後述するタイミングT5までの間、制御部16は、再生待機状態として、出力部15のストリーミング再生動作を待機させる。そして、図4に示すように、ステップS3において、コンテンツサーバ100に送信部13からストリーミングデータを配信するデータ要求信号を送信するように送信部13が制御される。これにより、タイミングT3(図3参照)において、ストリーミングデータの受信動作が開始される。
そして、ステップS4では、受信部12により受信されたストリーミングデータがメモリ14に格納されたか否かが判断される。そして、受信部12により受信されたストリーミングデータがメモリ14に格納されたと判断された場合、ステップS5に移行する。これにより、図5に示すように、タイミングT4において、実際にストリーミングデータが受信部12から直接メモリ14のバッファ領域14aに流入(バッファ)され始める。
そして、図4に示すように、ステップS5において、出力部15にストリーミング再生を開始させる。すなわち、図5に示したタイミングT5において、ストリーミング再生が開始されるとともに、ストリーミングデータがメモリ14の読み出し領域14bから直接出力部15に流出し始める。また、タイミングT5で、制御部16は、再生待機状態を終了させる。また、この際、ストリーミングデータは、出力部15により直接読み出されるデータ量だけバッファ領域14aから読み出し領域14bに連続的に移されるとともに、読み出し領域14bに移されたストリーミングデータが出力部15により液晶テレビジョン20に対して出力されることによりストリーミング再生が行われる。
そして、図4に示すように、ステップS6に移行して、ユーザによりリモコン30の一時停止ボタン33が押下されることに基づいて、受光部10により一時停止信号が受信されたか否かが判断される。ステップS6において、受光部10により一時停止信号が受信されたと判断された場合、ステップS7に移行する。この際、図5に示すように、制御部16は、タイミングT6において、受光部10により一時停止信号が受信されたと判断する。また、図4に示すように、ステップS6において、受光部10により再生信号が受信されていないと判断された場合、ステップS6の判断が繰り返される。すなわち、ユーザによる一時停止指示があるまでは、出力部15によるストリーミング再生、および、受信部12によるストリーミングデータの受信は継続される。
ここで、本実施形態では、ステップS7において、制御部16は、出力部15にストリーミングデータの一時停止動作を開始する制御を行うとともに、出力部15にストリーミング再生の一時停止を待機させる一時停止待機状態に移行する。すなわち、図5に示したタイミングT6から後述するタイミングT9までの間、制御部16は、一時停止待機状態として、ストリーミング再生を継続するように出力部15を制御する。そして、図4に示すように、ステップS8において、コンテンツサーバ100に送信部13からストリーミングデータの配信を一時停止するデータ一時停止信号を送信するように送信部13が制御される。これにより、タイミングT7(図5参照)において、ストリーミングデータの入力の一時停止動作が開始される。そして、図5に示すように、受信部12により一時停止動作が開始されてから、コンテンツサーバ100からのストリーミングデータの配信が一時停止されて、ストリーミングデータが配信されなくなるタイミングT8まで、コンテンツサーバ100からストリーミングデータが受信部12により受信されるとともに、受信部12からメモリ14のバッファ領域14aにストリーミングデータが直接流入される。
また、本実施形態では、ステップS9において、読み出し領域14bにデータがなくなったか否かが判断される。そして、読み出し領域14bにデータがなくなったと判断された場合には、ステップS10に移行する。このとき、図5に示すように、タイミングT8において、ストリーミングデータのメモリ14のバッファ領域14aへの流入が実際に一時停止される。これにより、バッファ領域14aから読み出し領域14bへのストリーミングデータの移動は一時停止されるので、読み出し領域14bにはデータがなくなる。
そして、図4に示すように、ステップS10では、出力部15にストリーミング再生を一時停止させる。この際、図5に示すように、タイミングT9において、ストリーミング再生が一時停止されると同時に、制御部16は、一時停止機状態を終了させる。これらにより、メモリ14のバッファ領域14aにストリーミングデータが実際に流入される時間(図5におけるT8−T4)と、出力部15のストリーミング再生によるストリーミングデータが流出される時間(図5におけるT9−T5)とが略等しい状態に保たれる。
なお、一連の処理動作が終了した後には、リモコン30の操作に応じて、ステップS1に戻り、処理が繰り返される。
次に、ネットワーク50(コンテンツサーバ100の処理遅延を含む)に遅延が発生した場合について説明する。図5に示すように、タイミングT10において、ユーザによりリモコン30の再生ボタン31が押下されたことに基づいて、受光部10により再生信号が受信された後、タイミングT11から後述するタイミングT14までの間、出力部15のストリーミング再生動作が再生待機状態となる。また、タイミングT12において、ストリーミングデータの受信動作が開始される。
そして、ネットワーク50の遅延時間分が経過したタイミングT13において、ストリーミングデータがメモリ14のバッファ領域14aに実際に受信部12から流入(バッファ)され始める。タイミングT11からタイミングT13までの間には、ネットワークの遅延が発生したことによる時間が含まれているので、前述のネットワーク50の遅延が発生していない場合におけるタイミングT2(再生操作受信時)からタイミングT4(ストリーミングデータの受信開始時)までの時間(T4−T2)よりも大きくなる。そして、タイミングT13において、受信部12によりストリーミングデータの受信が開始されてメモリ14のバッファ領域14aにデータが格納されたことに基づいて、タイミングT14において、再生待機状態が終了されるとともに、ストリーミング再生が開始されて、ストリーミングデータがメモリ14から出力部15に流出され始める。このように、ネットワーク50に遅延が発生した場合でも、ストリーミング再生が開始されるタイミングT14は、ストリーミングデータがメモリ14のバッファ領域14aに実際に流入され始めるタイミングT13よりも後である。
そして、タイミングT15において、受光部10により一時停止信号が受信された場合、タイミングT15から後述するタイミングT18までの間、一時停止待機状態として、出力部15によるストリーミング再生を継続させる。また、タイミングT16において、ストリーミングデータの受信の一時停止動作が開始される。
そして、タイミングT17において、ストリーミングデータのメモリ14のバッファ領域14aへの流入が実際に一時停止される。この場合、ネットワーク50の遅延がある場合には、上記した再生時と同様に、タイミングT15からタイミングT17までの間には、ネットワーク50の遅延時間が含まれているので、上記したネットワークの遅延がない場合のタイミングT6(一時停止操作受信時)からタイミングT8(ストリーミングデータの受信終了時)までの時間よりも大きくなる。そして、タイミングT17におけるストリーミングデータの受信終了を意味する読み出し領域14bのデータ量が「0」になったことに基づいて、タイミングT18において、一時停止待機状態が終了されるとともに、ストリーミング再生が一時停止される。このように、ネットワークに遅延が発生した場合にも、ストリーミング再生が一時停止されるタイミングT18は、ストリーミングデータのメモリ14のバッファ領域14aへの流入が実際に一時停止するタイミングT17よりも後である。これにより、ネットワーク50に遅延が発生した場合にも、メモリ14のバッファ領域14aにストリーミングデータが実際に流入される時間(T17−T13)と、出力部15のストリーミング再生によるストリーミングデータが流出される時間(T18−T14)とが略等しい状態に保たれる。
次に、ユーザによる再生操作時にはネットワーク50に遅延が発生している一方で、一時停止操作時にはネットワーク50の遅延が回復している(遅延が発生していない)場合について図5を参照してさらに説明する。ネットワーク50に遅延がある状態で再生操作が行われるとともに、ストリーミング再生中に、タイミングT25において、受光部10により一時停止信号が受信された場合、タイミングT25から後述するタイミングT28までの間、一時停止待機状態として、出力部15によるストリーミング再生を継続させる。また、タイミングT26において、ストリーミングデータの受信の一時停止動作が開始される。
そして、タイミングT27において、ストリーミングデータのメモリ14のバッファ領域14aへの流入が実際に一時停止される。この場合、ネットワーク50の遅延がある場合とは異なり、上記したネットワーク50に遅延がない場合と同様に、タイミングT25からタイミングT27までの間には、ネットワーク50の遅延時間が含まれないので、上記したタイミングT6(一時停止操作受信時)からタイミングT8(ストリーミングデータの受信終了時)までの時間と略等しくなる。そして、タイミングT27におけるストリーミングデータの受信終了を意味する読み出し領域14bのデータ量が「0」になったことに基づいて、タイミングT28において、一時停止待機状態が終了されるとともに、ストリーミング再生が一時停止される。このように、ネットワーク50に遅延がストリーミング再生中に回復した場合にも、ストリーミング再生が一時停止されるタイミングT28は、ストリーミングデータのメモリ14のバッファ領域14aへの流入が実際に一時停止するタイミングT27よりも後である。以上から、ネットワーク50の遅延状態および遅延の回復の有無に関わらず、メモリ14のバッファ領域14aにストリーミングデータが実際に流入される時間と、出力部15のストリーミング再生によるストリーミングデータが流出される時間とが略等しい状態に保たれる。
本実施形態では、上記のように、制御部16を、液晶テレビジョン20へのストリーミングデータの出力によるストリーミング再生を一時停止する際、受信部12によりストリーミングデータが受信されなくなった後に、出力部15による液晶テレビジョン20に対するストリーミングデータの出力によるストリーミング再生を一時停止するように出力部15を制御するように構成することによって、液晶テレビジョン20へのストリーミングデータの出力によるストリーミング再生が一時停止される際、出力部15においてストリーミングデータの出力が一時停止されるタイミングを、受信部12によるストリーミングデータの受信が一時停止されるタイミングよりも遅くすることができる。これにより、ネットワーク50に遅延が生じた場合であっても、受信部12により受信されるデータ流入量が、出力部15によりストリーミング再生されるデータ流出量を上まわるのを抑制することができるので、一時停止操作が行われた際に、メモリ14のバッファ領域14aにその容量以上のデータ量が流入するオーバーフローの状態に陥るのを抑制することができる。
また、本実施形態では、上記のように、制御部16を、ストリーミングデータを液晶テレビジョン20に出力することによりストリーミング再生する際、受信部12によりストリーミングデータが受信された後に、液晶テレビジョン20にストリーミングデータを出力してストリーミング再生するように出力部15を制御するように構成することによって、液晶テレビジョン20へのストリーミングデータの出力によるストリーミング再生を開始する際、出力部15においてデータ出力を開始(再開)するタイミングを、受信部12によるストリーミングデータの受信が開始(再開)されるタイミングよりも遅くすることができる。これにより、ネットワークに遅延が生じた場合でも、出力部15によりストリーミング再生されるデータ流出量が、受信部12により受信されるデータ流入量を上まわるのを抑制することができる。これにより、メモリ14のバッファ領域14aに蓄積されるデータ量が一定のレベルに維持された状態を継続することができる。その結果、再生操作が行われた際に、メモリ14のバッファ領域14aのデータ量がなくなった状態からさらにバッファ領域14aからデータを読み出そうとするアンダーフローの状態に陥るのを抑制することができる。
また、本実施形態では、上記のように、制御部16を、メモリ14の読み出し領域14bにデータがなくなった際に、出力部15による液晶テレビジョン20に対するストリーミングデータの出力によるストリーミング再生を一時停止するように出力部15を制御するように構成することによって、容易に、読み出し領域14bにデータがなくなったことを検知することにより、受信部12によるストリーミングデータの受信状態を判断することができるので、出力部15によるデータ出力が一時停止されるタイミングを、容易に、受信部12によるストリーミングデータの受信が一時停止されるタイミングよりも遅くさせることができる。これにより、メモリ14のバッファ領域14aがオーバーフローの状態に陥るのを確実に抑制することができる。
また、本実施形態では、上記のように、制御部16を、出力部15が液晶テレビジョン20に対して出力するストリーミングデータの量が受信部12が受信するストリーミングデータの量と略等しくなるように出力部15と受信部12とを制御するように構成することによって、出力部15によりデータ出力によりストリーミング再生が行われる場合、および、ストリーミング再生が一時停止された場合の両方の場合において、メモリ14のバッファ領域14aに蓄積されるストリーミングデータが一方的に流出したり、メモリ14のバッファ領域14aに一方的に流入したりするのを抑制することができるので、メモリ14のバッファ領域14aがアンダーフローおよびオーバーフローの状態に陥るのを抑制することができる。
次に、上記した本発明の一実施形態の効果を確認するために、従来のストリーミング再生および一時停止の動作としての比較例1および2を、図6および図7を参照して説明する。なお、図6に示す比較例1では、リモコンなどによる再生操作後、直ちにストリーミング再生を開始するとともに、一時停止操作後、直ちにストリーミング再生の一時停止を行う場合を示す。また、図7に示す比較例2では、上記比較例1とは異なり、リモコンなどによる再生操作後、ストリーミングデータがメモリにバッファされるまでストリーミング再生を待機する一方、一時停止操作後、直ちにストリーミング再生の一時停止を行う場合を示す。
まず、図6に示す比較例1では、ネットワークに遅延が発生していない場合、タイミングT51において、ユーザによりストリーミング再生操作が行われると同時に再生動作が開始される。この後、タイミングT52において、実際に受信動作が開始されてメモリへのストリーミングデータの流入(バッファ)が開始される。そして、タイミングT53において、ユーザによりストリーミング再生の一時停止操作が行われるのと同時にストリーミング再生は一時停止される。この後、タイミングT54において、実際に受信動作が一時停止されてメモリへのストリーミングデータの流入も一時停止される。この場合、ストリーミング再生操作が行われて再生動作が開始されるタイミングT51から、受信動作が開始されて実際にメモリへのストリーミングデータの流入が開始されるタイミングT52までの時間(T52−T51)と、ストリーミング再生の一時停止操作が行われてストリーミング再生が一時停止されるタイミングT53から、受信動作が一時停止されて、実際にメモリへのストリーミングデータの流入が一時停止されるタイミングT54までの時間(T54−T53)とは、略等しくなる。したがって、ネットワークに遅延が発生していない場合、メモリへのデータの流入量は、ストリーミング再生による流出量と略等しくなる。
また、同じ比較例1において、ネットワークに遅延が発生した場合、タイミングT55において、ユーザによりストリーミング再生の再開操作が行われると再生動作が再開される。この後、タイミングT56において、受信動作が開始されるが、メモリへのストリーミングデータの流入(バッファ)は、ネットワークの遅延時間分(T57−T56)だけ遅れるので、実際にはタイミングT57まで流入されない。そして、タイミングT58において、ユーザによりストリーミング再生の一時停止操作が行われるとストリーミング再生は一時停止される。そして、しばらく時間が経過して、ネットワークの遅延が回復した場合には、タイミングT59において、実際に受信動作が一時停止されて、メモリへのストリーミングデータの流入も一時停止される。この場合、ストリーミング再生の一時停止操作が行われてストリーミング再生が一時停止されるタイミングT58から、受信動作が一時停止されてメモリへのストリーミングデータの流入が一時停止されるタイミングT59までの時間(T59−T58)は、ストリーミング再生操作が行われて再生動作が再開されるタイミングT55から、実際にストリーミングデータが受信されてメモリに流入されるタイミングT57までの時間(T57−T55)と比較して、ネットワークの遅延時間分(T57−T56)だけ短くなり、上記したタイミングT53からタイミングT54までの間の時間と略等しくなる。このため、ネットワークに遅延が発生した場合には、メモリへのデータの流入量は、ストリーミング再生によるデータの流出量よりも小さくなる。
このような条件下で、ストリーミング再生の一時停止と再開とが繰り返し行われた場合、メモリにバッファされたストリーミングデータのデータ量は、徐々に減少し続ける。そして、タイミングT60において、ユーザによりストリーミング再生の再開操作が行われると再生動作が再開されるとともに、タイミングT61において、受信動作が開始されたとしても、ネットワークに遅延が発生している間は、実際のストリーミングデータの受信はタイミングT63までは行われない。すなわち、タイミングT62において、メモリにバッファされたストリーミングデータのデータ量がなくなったとしてもタイミングT63になるまで、新たなデータが流入されないので、メモリにデータが存在しない状態が生じてしまい、メモリがいわゆるアンダーフローの状態に陥る。
次に、図7に示す比較例2では、ネットワークに遅延が発生していない場合、タイミングT71において、ユーザによりストリーミング再生操作が行われると後述するタイミングT73までの間、再生待機状態に移行される。そして、タイミングT72において、受信動作が開始されて、メモリへのストリーミングデータの流入(バッファ)が開始される。そして、タイミングT73において、メモリへのストリーミングデータの流入が開始された後に、再生待機状態が終了されると同時にストリーミング再生が開始される。そして、タイミングT74において、ユーザによりストリーミング再生の一時停止操作が行われるとストリーミング再生は一時停止される。この後、タイミングT75において、実際に受信動作が一時停止されてメモリへのストリーミングデータの流入も一時停止される。この場合、ストリーミング再生操作が行われて再生動作が開始されるタイミングT71から、実際に受信動作が開始されてメモリへのストリーミングデータの流入が開始されるタイミングT72までの時間と、ストリーミング再生の一時停止操作が行われてストリーミング再生が一時停止されるタイミングT74から、受信動作が一時停止されてメモリへのストリーミングデータの流入が一時停止されるタイミングT75までの時間(T75−T74)とは、略等しくなる。一方、データ出力側には再生待機状態の時間(T73−T71)が存在するため、ストリーミング再生時間(T74−T73)よりも、メモリへのストリーミングデータの流入時間(T75−T72)の方が大きくなる。
また、同じ比較例2において、ネットワークに遅延が発生した場合、タイミングT76において、ユーザによりストリーミング再生操作が行われると後述するタイミングT79までの間、再生待機状態に移行される。そして、タイミングT77において、受信動作が開始される一方、メモリへのストリーミングデータの流入(バッファ)は、ネットワークの遅延時間分(T78−T77)だけ遅れるので、実際にはタイミングT78まで流入されない。そして、タイミングT79において、メモリへのストリーミングデータの流入(タイミングT78)が実際に開始された後に、再生待機状態が終了されると同時にストリーミング再生が開始される。そして、タイミングT80において、ユーザによりストリーミング再生の一時停止操作が行われるとストリーミング再生は一時停止される。この後、タイミングT81において、ストリーミングデータの受信の一時停止動作が開始されるとともに、タイミングT82において、実際にストリーミングデータの流入が一時停止される。この場合、ストリーミング再生の一時停止操作が行われてストリーミング再生が一時停止されるタイミングT80から、メモリへのストリーミングデータの流入が実際に一時停止されるタイミングT82までの時間(T82−T80)は、前述したネットワークの遅延がない場合にストリーミング再生の一時停止操作が行われてストリーミング再生が一時停止されるタイミングT74から、メモリへのストリーミングデータの流入が実際に一時停止されるタイミングT75までの時間(T75−T74)よりも、ネットワークの遅延時間分(T82−T81)だけ長くなる。このため、メモリへのストリーミングデータの流入時間(T82−T78)は、ネットワークに遅延が発生していない場合のメモリへのストリーミングデータの流入時間(T75−T72)よりも、ネットワークの遅延時間分(T82−T81)だけ長くなる。さらに、メモリへのストリーミングデータの流入時間(T82−T78)とストリーミング再生時間(T80−T79)との差は、ネットワークの遅延がない場合のメモリへのストリーミングデータの流入時間(T75−T72)とストリーミング再生時間(T74−T73)との差よりも大きくなる。
このような条件下で、ストリーミング再生の一時停止と再開とが繰り返し行われた場合、メモリにバッファされたストリーミングデータのデータ量は、徐々に増加し続ける。そして、タイミングT83において、ユーザによりストリーミング再生の再開操作が行われると再生動作が再開されるとともに、タイミングT84において、受信動作が開始されたとしても、ネットワークに遅延が発生している間は、実際のストリーミングデータの受信は、タイミングT85までは行われない。そして、ネットワークの遅延時間分(T85−T84)だけ遅れてタイミングT85において、実際にストリーミングデータの流入が開始される。そして、タイミングT86において、ストリーミング再生が再開されるとともに、タイミングT87において、一時停止操作が行われる。しかしながら、タイミングT87ではメモリへのデータの流入が継続されるため、タイミングT88において、メモリに流入するストリーミングデータがメモリの容量を上まわる状態が生じてしまい、メモリがいわゆるオーバーフローの状態に陥る。
このように、上記した比較例1および2では、ストリーミングデータをバッファするメモリがオーバーフローの状態やアンダーフローの状態に陥ることが予測される一方、本実施形態における制御フローでは、再生待機状態および一時停止待機状態を設けることによって、メモリ14のバッファ領域14aにデータが流入する時間と、出力部15のストリーミング再生によりバッファ領域14aからデータが流出する時間とを略等しくすることができる。この結果、本実施形態の制御フローは、メモリ14のオーバーフロー状態やアンダーフロー状態に陥るのを抑制するのに特に有効である。
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、上記実施形態では、ストリーミングデータを出力することにより映像を表示する液晶テレビジョン装置とは別途設けられたデータ受信装置に本発明を適用した例について示したが、本発明はこれに限らず、データ受信装置を内蔵する液晶テレビジョンにも適用可能である。
また、上記実施形態では、表示装置の一例として、液晶テレビジョンを示したが、本発明はこれに限らず、データ受信装置と接続可能な表示装置であれば、ブラウン管テレビジョン、プラズマテレビジョンおよびリアプロジェクションテレビジョンなど、液晶テレビジョン以外の表示装置にも適用可能である。
また、上記実施形態では、データ受信装置へのネットワークを介するストリーミングデータの配信元が、コンテンツサーバである例について示したが、本発明はこれに限らず、テレビジョン放送などの放送局が配信元となるストリーミングデータを受信してもよい。
また、上記実施形態では、メモリのバッファ領域に蓄積されたデータを読み出し可能なデータ量に分割した状態でメモリ内に設けられる読み出し領域に移す例を示したが、本発明はこれに限らず、読み出し可能なデータ量に分割した状態で制御部(CPU)内に設けられるキャッシュメモリに移した後に、出力部から出力させるように構成してもよい。
また、上記実施形態では、制御部を、ストリーミング再生操作後、メモリにストリーミングデータが実際に流入するまでストリーミング再生を待機させる再生待機状態に出力部を移行させる制御と、一時停止操作後、メモリへのストリーミングデータの流入が実際に停止するまでストリーミング再生を継続させる一時停止待機状態に出力部を移行させる制御との両方の制御を行うように構成したが、本発明はこれに限らず、一時停止待機状態に移行させる制御のみを出力部に対して行うように構成してもよい。たとえば、図8に示す変形例のように、ネットワークに遅延が発生していない場合、および、ネットワークの遅延時間が比較的短い場合には、ストリーミング再生開始操作後、ストリーミングデータが実際に流入するタイミングよりもストリーミング再生開始のタイミングが遅くなるとともに、一時停止操作後、ストリーミングデータの流入が実際に停止されるまで、一時停止待機状態となり、ストリーミングデータが実際に流入を停止するタイミングから遅れてストリーミング再生が一時停止されるように構成してもよい。これにより、ストリーミングデータの流入時間がストリーミング再生による流出時間を上まわることはないので、メモリにオーバーフローが発生するのを抑制することができる。