説明

情報処理装置および方法、並びにプログラム

【課題】ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができるようにする。
【解決手段】情報取得部は、所定の方法で、バッファ内に保持されているストリームを解析し、データ量の算出に必要な情報をデータ量算出用情報として取得する。算出部は、そのデータ量算出用情報を用いてバッファに保持されるストリームの時間的なデータ量を算出する。検出部は、その算出結果から、デコーダクロックずれを検出する。デコーダクロックが速すぎる場合、クロック制御部は、デコーダクロックを現在よりも遅くするように制御する。デコーダクロックが遅すぎる場合、クロック制御部は、デコーダクロックを現在よりも速くするように制御する。本発明は、例えば、通信システムに適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、長時間再生しても画音乱れが起きないようにストリーミング再生することができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
従来、ネットワークからのライブストリーミング再生が行われている。この時、ストリーム中のタイムスタンプを用いたデコーダへのデータ転送タイミング制御を行わないことがある。
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、その場合、サーバのエンコーダクロックとクライアントのデコーダクロックの同期を取る有効な手段がなかった。そのため、長時間再生を続けていると、クロックずれにより、画音乱れが発生してしまう恐れがあった。
【0004】
本発明はこのような問題を解決するためのものであり、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができるようにするものである。
【課題を解決するための手段】
【0005】
本発明の一側面の情報処理装置は、ストリーミング再生用のデータを受信する受信手段と、前記受信手段により受信された前記データを保持する保持手段と、前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定する判定手段と、前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する制御手段とを備える。
【0006】
前記判定手段は、前記保持手段に保持されている前記データより、前記保持手段に保持されている全データの時間的データ量の算出に必要な情報をデータ量算出用情報として取得する情報取得手段と、前記情報取得手段により取得された前記データ量算出用情報を用いて前記時間的データ量を算出する算出手段と、前記算出手段により算出された前記時間的データ量と所定の閾値を比較することにより、前記データに施された符号化処理のクロックに対する前記復号処理のクロックのずれを検出する検出手段とを備えることができる。
【0007】
前記情報取得手段は、前記保持手段に保持されている前記データのうち、最初に保持された前記データのタイムスタンプと、最後に保持された前記データのタイムスタンプとを前記データ量算出用情報として取得することができる。
【0008】
前記情報取得手段は、前記保持手段に保持されているPIDが0番のパケットの数を前記データ量算出用情報として取得することができる。
【0009】
前記情報取得手段は、前記保持手段に保持されているPCRパケットの数を前記データ量算出用情報として取得することができる。
【0010】
前記制御手段は、前記検出手段による検出結果に基づいて、前記復号処理のクロックが速すぎる場合前記復号処理のクロックを遅くし、前記復号処理のクロックが遅すぎる場合前記復号処理のクロックを速くすることができる。
【0011】
前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量を用いて設定された前記閾値と比較することができる。
【0012】
前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量と、前記データの伝送時に発生するジッタを用いて設定された前記閾値と比較することができる。
【0013】
前記判定手段は、前記受信手段により受信される前記データに対して所定データ量毎に、前記データの受信時刻を示す到着時刻情報を付加する付加手段をさらに備え、前記情報取得手段は、前記保持手段に保持されている前記データに付加された最も早い前記到着時刻情報と、最も遅い前記到着時刻情報を取得することができる。
【0014】
本発明の一側面の情報処理方法またはプログラムは、ストリーミング再生用のデータを受信し、受信された前記データを保持し、保持されている、所定の符号化された前記データを読み出して復号し、保持されている前記データの時間的データ量から、復号処理の速度が適切であるか否かを判定し、判定の結果に基づいて前記復号処理の速度を制御するステップを含む。
【0015】
本発明の一側面においては、ストリーミング再生用のデータが受信され、受信されたデータが保持され、保持されている、所定の符号化されたデータが読み出されて復号され、保持されているデータの時間的データ量から、復号処理の速度が適切であるか否かが判定され、判定の結果に基づいて復号処理の速度が制御される。
【発明の効果】
【0016】
本発明によれば、情報を処理することができる。特に、ストリーミング再生におけるクロックずれを抑制し、より安定的な再生を行うことができる。
【発明を実施するための最良の形態】
【0017】
図1は、本発明を適用した通信システムの構成例を示すブロック図である。
【0018】
図1に示される通信システム100は、画像や音声等のコンテンツデータを複数の装置間でストリーミング再生する通信システムである。通信システム100は、送信装置101、送信装置101にネットワーク102を介して接続される受信装置103を有する。
【0019】
送信装置101は、外部より供給されるコンテンツデータを、ストリーミングデータとして、ネットワーク102を介して受信装置103に送信する装置である。コンテンツデータは、例えば画像や音声等を含むコンテンツとしてのデータである。送信装置101は、エンコーダ111および送信部112を有する。
【0020】
エンコーダ111は、供給されるコンテンツデータを、例えばMPEG(Moving Picture Experts Group)やJPEG(Joint Photographic Experts Group)2000等のような所定の符号化方式で符号化圧縮し、その符号化データを送信部112に供給する。送信部112は、エンコーダ111より供給される符号化データを、ストリーミング再生用のデータ(ストリーム)としてパケット化し、ネットワーク102を介して受信装置103に送信する。
【0021】
なお、送信装置101が他の機能を有するようにしてもよい。例えば、送信装置101が、カメラやマイク等のコンテンツデータ生成機能を有するようにしてもよい。また、例えば、送信装置101が、コンテンツデータを記憶する記憶部を有し、その記憶部よりコンテンツデータを読み出してエンコーダに供給するようにしてもよい。
【0022】
送信部112より送信されたストリームは、ネットワーク102を介して受信装置103に供給される。ネットワーク102は、例えばインターネットやLAN(Local Area Network)に代表される、複数のデバイスを互いに接続し、それらのデバイス間での通信を可能するための任意のネットワークである。このネットワーク102は、複数のネットワークにより構成されるようにしてもよい。また、ネットワーク102は、有線により構成されるものであってもよいし、無線により構成されるものであってもよいし、その両方により構成されるものであってもよい。
【0023】
受信装置103は、ネットワーク102を介して供給されるストリームを受信しながらデコードし、コンテンツデータを復元して再生(ストリーミング再生)し、モニタやスピーカ等に出力する。もちろん、復元したコンテンツデータを受信装置103の外部の他の装置に供給するようにしてもよい。
【0024】
図2は、図1の受信装置103の詳細な構成例を示すブロック図である。
【0025】
図2に示されるように、受信装置103は、受信部201、バッファ202、デコーダ203、出力部204、および制御部211を有する。
【0026】
受信部201は、ネットワーク102に接続される通信インタフェースであり、ネットワーク102を介して供給されるストリームを取得し、バッファ202に供給する。バッファ202は、例えばRAM(Random Access Memory)等の記憶媒体により構成され、受信部201より供給されるデータを一時的に保持する。バッファ202は、その保持している符号化データの中の、デコーダ203に要求された符号化データをデコーダ203に供給するか、または、デコーダ203の処理速度に応じた所定のタイミングで、保持している符号化データをデコーダ203に供給する。
【0027】
デコーダ203は、バッファ202より取得した符号化データを伸長復号し、復元したコンテンツデータを出力部204に供給する。出力部204は、例えばモニタやスピーカを有し、デコーダ203より供給されるコンテンツデータを出力する。例えば、出力部204は、モニタに画像を表示したり、音声をスピーカより出力したりする。
【0028】
制御部211は、バッファ202に保持されているデータより抽出した情報に基づいて、デコーダ203の動作(例えばクロック)を制御する。制御部211は、同期判定部221およびクロック制御部222を有する。
【0029】
同期判定部221は、バッファ202に保持されているデータに基づいて、デコーダ203が行う復号処理の速度が適切か否かの判定に関する処理を行う。より具体的には、同期判定部221は、デコーダ203のクロックと、送信装置101のエンコーダ111のクロックとの間で同期がとれているか否かの判定に関する処理を行う。
【0030】
同期判定部221は、情報取得部231、算出部232、および検出部233を有する。情報取得部231は、バッファ202に保持されているデータから必要な情報を抽出する。算出部232は、情報取得部231により取得された情報を用いて、バッファ202に保持されているデータの時間的なデータ量を算出する。
【0031】
なお、時間的なデータ量とは、単なる情報量(データサイズ)ではなく、コンテンツとしての再生時間に相当する量を示す。つまり、算出部232は、再生時間でどのくらいの分のデータがバッファ202に保持されているかを示す値として「時間的なデータ量」を算出する。
【0032】
検出部233は、算出部232により算出された時間的なデータ量を所定の閾値と比較することにより、デコーダ203のクロックの速度が適切であるか否かを判定する。
【0033】
クロック制御部222は、同期判定部221(検出部233)の判定結果に基づいて、デコーダ203のクロックを、適切な速度になるように制御する。
【0034】
具体的な処理の流れの例を図3のフローチャートを参照して説明する。
【0035】
受信装置103がストリーミング再生のデータ受信を開始すると、制御部211は、同期制御処理を開始する。
【0036】
同期制御処理が開始されると、同期判定部221の情報取得部231は、ステップS101において、所定の方法で、バッファ202内に保持されているストリーム(データ)を解析し、データ量の算出に必要な情報をデータ量算出用情報として取得する。
【0037】
例えば、ストリームがTTS(TimedTransportStream)の場合、バッファ202に最後に保持されたTTSのタイムスタンプと、バッファ202に最初に保持されたTTSのタイムスタンプを比較する(差分を算出する)ことで、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
【0038】
従って、この場合、情報取得部231は、バッファ202に最後に保持されたTTSのタイムスタンプと、バッファ202に最初に保持されたTTSのタイムスタンプをデータ量算出用情報として取得する。
【0039】
また、例えば、ストリームに、PSI(Program Specific Information)として、PAT(Program Association Table)が、コンテンツ再生時間100msecに相当する間隔毎に、ストリームに挿入されていることが保証される場合、バッファ202内でPIDが0番のパケットが幾つあるかを数えることにより、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
【0040】
PSIは、ストリームがどのプログラムに属しているかを記した情報である。PMTは、プログラムに含まれる画像や音声などの各PIDを格納する情報ある。PATは、ストリームに含まれるプログラム一覧を、PMTのPID一覧で格納するものである。PATのPIDは必ず0番と決まっている。つまり、PIDが0番のパケットが幾つあるかを数えることは、100msec毎に挿入されるPATの数をカウントすることと等価である。
【0041】
従って、この場合、情報取得部231は、PIDが0番のパケットをカウントし、そのカウント結果をデータ量算出用情報として取得する。なお、この場合、バッファ202に保持される全てのパケットのTSヘッダを参照する必要があるため、上述したTTSタイムスタンプを用いる場合よりも情報取得部231の負荷は大きい。
【0042】
さらに、例えば、PCR(Program. Clock Reference)が、コンテンツ再生時間100msecに相当する間隔毎に、ストリームに挿入されることが保証される場合、PCRパケットをカウントすることにより、バッファ202に保持されるストリームの時間的なデータ量を計算することができる。
【0043】
PCRは、クロックの基準となる時刻情報である。ストリームには、このPCRが100msec毎に挿入される。したがって、このPCRのカウント値からバッファ202に保持されるストリームの時間的なデータ量を計算することができる。情報取得部231は、バッファ202に保持されるストリームの全てのPATおよびPMTを解析し、PCRパケットをカウントし、そのカウント結果をデータ量算出用情報として取得する。
【0044】
なお、この場合、バッファ202内の全てのPATやPMTの解析が必要になるため、上述したTTSタイムスタンプを用いる場合や、上述したPATの数をカウントする場合よりも情報取得部231の負荷は大きい。
【0045】
データ量算出用情報が取得されると、算出部232は、ステップS102において、そのデータ量算出用情報を用いてバッファ202に保持されるストリームの時間的なデータ量を算出する。
【0046】
ステップS103において、検出部233は、その算出結果から、デコーダ203のクロック(デコーダクロック)の、エンコーダ111のクロック(エンコーダクロック)に対する「ずれ」(以下において、デコーダクロックずれと称する)を検出する。
【0047】
ネットワーク102を介して伝送されるストリームの伝送ビットレートがコンテンツの再生速度に対応しており、受信装置103が、送信されるストリームを受信しながら、そのストリームを略即時的に(略リアルタイムに)再生するライブストリーミング再生を行うものとする。
【0048】
仮に、ネットワークジッタが0で、デコーダクロックずれもない理想的な状態であるとすると、バッファ202の入出力レートは互いに略等しくなる。つまり、このようなライブストリーミング再生中、バッファ202に保持されているストリームの時間的なデータ量は略一定となる。例えば、ストリーミング再生が開始されたときに、バッファ202に保持されているストリームの時間的なデータ量をm秒分のデータとすると、バッファ202には常にm秒分のデータが保持されている。
【0049】
したがって、この場合、検出部233は、バッファ202に保持されているストリームの時間的なデータ量を監視し、それがmからずれたことを検出することで、ネットワークジッタまたはデコーダクロックずれを検出する。
【0050】
ところでこのmは、ネットワークからデータを受信し始めてから再生が開始されるまでの時間で近似することができる。上述したようなネットワークジッタのない理想的な環境下においては、m秒受信すれば、コンテンツ再生m秒分のデータを取得したことになるはずだからである。換言すれば、コンテンツ再生m秒分のデータをバッファ202に保持させるためには、m秒間の受信が必要になる。したがって、上述したように、mは、ネットワークからデータを受信し始めてから再生が開始されるまでの時間で近似することができる。
【0051】
仮に、ネットワークジッタが0でないとすると、受信レートが時間的に変化するので、バッファ202に保持されるストリームの時間的なデータ量はネットワークジッタの影響を受けて、一定にならない。このときの時間的なデータ量をm’とし、ネットワークジッタを最大n秒とすると、m’の適正な値を以下の式(1)のように表すことができる。
【0052】
m−n ≦ m’ ≦ m+n ・・・(1)
【0053】
検出部233は、バッファ202に保持されているストリームの時間的なデータ量を監視し、m’が上記の範囲を逸脱した場合、デコーダクロックずれが起こっていると判定する。m’<m−nならばエンコーダクロックに対してデコーダクロックの方が速く、m+n<m’ならばエンコーダクロックに対してデコーダクロックの方が遅い。
【0054】
検出部233は、以上のようにデコーダクロックずれの検出を行うと、その検出結果に基づいて、ステップS104において、デコーダクロックが(エンコーダクロックに対して)速すぎるか否かを判定する。デコーダクロックが速すぎると判定された場合、処理はステップS105に進む。ステップS105において、クロック制御部222は、その判定結果を受けて、デコーダ203を制御し、デコーダクロックを現在よりも遅くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも遅くさせる。ステップS105の処理が終了すると、処理はステップS108に進む。
【0055】
また、ステップS104において、デコーダクロックが速すぎないと判定された場合、処理はステップS106に進む。ステップS106において、検出部233は、検出結果に基づいて、デコーダクロックが(エンコーダクロックに対して)遅すぎるか否かを判定する。デコーダクロックが遅すぎると判定された場合、処理はステップS107に進む。ステップS107において、クロック制御部222は、その判定結果を受けて、デコーダ203を制御し、デコーダクロックを現在よりも速くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも速くさせる。ステップS107の処理が終了すると、処理はステップS108に進む。
【0056】
また、ステップS106において、デコーダクロックが遅すぎない、つまり、ちょうどよいと判定された場合、処理はステップS108に進む。
【0057】
ステップS108において、情報取得部231は、ストリームの受信が終了したか否かを判定し、終了していないと判定された場合、処理をステップS101に戻し、それ以降の処理を繰り返す。また、ステップS108においてストリームの受信が終了したと判定された場合、同期制御処理が終了する。
【0058】
以上のように、制御部211は、バッファ202に保持されるストリームの時間的データ量に基づいてデコーダクロックのずれを検出し、その検出結果に基づいてデコーダクロックの速度を制御する。つまり、制御部211は、デコーダ203の処理速度を制御する。このようにすることにより、制御部211は、デコーダクロックの速度をエンコーダクロックの速度に合わせることができ、つまり、デコーダ203の処理速度をエンコーダ111の処理速度に合わせることができ、クロックずれを抑制し、そのクロックずれに起因するバッファオーバーフローやアンダーフローの発生を抑制することができる。
【0059】
つまり、受信装置103は、ライブストリーミング再生において、ストリームのタイムスタンプを用いたデコーダ203へのデータ投入タイミング制御を行わない、または行えない場合であっても、長時間再生しても画音乱れが起きないように安定的にストリーミング再生を行うことができる。
【0060】
なお、実際にはmにもジッタが存在し、かつ、mを計算する際の精度も、その計算方法によって異なる。そのため、上述したようなクロックずれ検出の閾値は、そのシステム、装置、および方法等の環境に合わせて適宜設定するのが望ましい。
【0061】
以上においては、ストリーム内に存在するデータを利用してバッファ202に保持されるストリームの時間的データ量を算出するように説明したが、このストリームの時間的データ量の算出は、これ以外の方法により算出するようにしてもよい。
【0062】
例えば、ストリームの到着時刻(受信時刻)を利用するようにしてもよい。
【0063】
図4は、その場合の受信装置103の詳細な構成例を示すブロック図である。図2と同様の構成には同一の符号を付してある。
【0064】
図4において、受信装置103は、基本的に図2の場合の制御部211と同様の構成を有するが、制御部211の代わりに制御部311を有する。制御部311は、基本的に制御部211と同様の構成を有するが、制御部211の同期判定部221の代わりに同期判定部321を有し、さらに、到着時刻情報付加部323を有する。
【0065】
到着時刻情報付加部323は、受信部201により受信されるストリームに対し、所定のデータ単位(例えばTCPパケット)毎に、到着時刻を示す到着時刻情報を付加する。この到着時刻情報は、時刻を示す情報であればどのようなデータであってもよいが、例えば受信装置103自身のシステムクロックを用いて生成される。受信部201は、到着時刻情報が付加されたストリームをバッファ202に供給し、保持させる。
【0066】
同期判定部321は、同期判定部221と同様に、情報取得部331、算出部332、および検出部333を有する。
【0067】
情報取得部331は、バッファ202に保持されているストリームに付加されている、最初の到着時刻情報と、最後の到着時刻情報を、データ量算出用情報として取得する。
【0068】
算出部332は、それらの到着時刻情報の差分を求めることにより、バッファ202に保持されているストリームの時間的データ量を算出する。検出部333は、その算出結果を所定の閾値と比較することにより、デコーダクロックのずれを検出する。
【0069】
この場合の、同期制御処理の流れの例を図5のフローチャートを参照して説明する。この同期制御処理は、図3のフローチャートを参照して説明した同期制御処理に対応する。
【0070】
ストリーミング再生が開始され、同期制御処理が開始されると、到着時刻情報付加部323は、ステップS201において、受信部201により受信されるストリームを監視し、予め定められた所定量のストリームが受信されたか否かを判定する。所定量のストリームが受信されたと判定した場合、到着時刻情報付加部323は、処理をステップS202に進め、到着時刻情報を受信データに付加する。到着時刻情報が付加されると処理はステップS203に進む。また、ステップS201において、所定量のストリームが受信されていないと判定した場合、ステップS202の処理は省略され、処理はステップS203に進む。
【0071】
ステップS203において、情報取得部331は、バッファ202に最後に保持されたストリームに付加されている到着時刻情報と、バッファ202に最初に保持されたストリームに付加されている到着時刻情報を、データ量算出用情報として取得する。ステップS204において、算出部332は、情報取得部331により取得された到着時刻情報の差分をとることにより、バッファ202に保持されるデータの時間的なデータ量を算出する。
【0072】
ステップS205において、検出部333は、その算出結果に基づいて、デコーダクロックのずれを検出する。
【0073】
上述したように、ネットワークジッタを最大n秒とする場合、ライブストリーミング受信開始からm秒後に再生開始したとすると、バッファ202に保持されているストリームの時間的なデータ量m’がm’<m−n、若しくは、m+n<m’となるとき、デコーダクロックずれが検出される。
【0074】
ここで、ストリームの到着時刻から算出した時間的なデータ量をm’’とする。常にm’<m−n、若しくは、m+n<m’が成り立つようなm’’とmとnの関係を用いることにより、受信装置103は、m’’を監視することでデコーダクロックずれを検出することができる。
【0075】
m’’とm’は、ネットワークジッタを考慮すると、以下の式(2)に示されるような関係となる。
【0076】
m’’−n≦m’≦m’’+n ・・・(2)
【0077】
m’<m−nが常に成り立つためには、m’が最大のときにも成り立つ必要がある。したがって式(2)からm’’+n<m−nが成立する必要がある。つまり、m’’<m−2nが成立する必要がある。
【0078】
また、m+n<m’が常に成り立つためには、m’が最小のときにも成り立つ必要がある。したがって式(2)からm+n<m’’−nが成立する必要がある。つまり、m+2n<m’’が成立する必要がある。
【0079】
以上により、m’’<m−2nが成立する場合、デコーダクロックが速く、m+2n<m’’が成立する場合、デコーダクロックが遅いということになる。検出部333は、このようにデコーダクロックずれを検出する。
【0080】
クロック制御部222は、デコーダクロックが速い場合にはデコーダクロックを遅くし、デコーダクロックが遅い場合にはデコーダクロックを速くする。つまり、ステップS206乃至ステップS210の各処理は、図3のステップS104乃至ステップS108の各処理と同様に実行される。
【0081】
つまり、デコーダクロックが速すぎる場合、クロック制御部222は、デコーダクロックを現在よりも遅くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも遅くさせる。逆に、デコーダクロックが遅すぎる場合、クロック制御部222は、デコーダクロックを現在よりも速くするように制御する。つまり、クロック制御部222は、デコーダ203の処理速度を現在よりも速くさせる。
【0082】
以上のように、制御部311は、バッファ202に保持されるストリームの時間的データ量に基づいてデコーダクロックのずれを検出し、その検出結果に基づいてデコーダクロックの速度を制御することにより、デコーダクロックの速度をエンコーダクロックの速度に合わせることができ、クロックずれを抑制し、そのクロックずれに起因するバッファオーバーフローやアンダーフローの発生を抑制することができる。
【0083】
つまり、受信装置103は、ライブストリーミング再生において、ストリームのタイムスタンプを用いたデコーダ203へのデータ投入タイミング制御を行わない、または行えない場合であっても、長時間再生しても画音乱れが起きないように安定的にストリーミング再生を行うことができる。
【0084】
なお、実際にはmにもジッタが存在し、かつ、mを計算する際の精度も、その計算方法によって異なる。そのため、上述したようなクロックずれ検出の閾値は、そのシステム、装置、および方法等の環境に合わせて適宜設定するのが望ましい。
【0085】
以上においては、デコーダ203のクロックの速度を制御することにより、デコーダ203の復号処理の速度を制御するように説明したが、クロック以外を用いて復号処理の速度を制御するようにしてももちろんよい。
【0086】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図6に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【0087】
図6において、パーソナルコンピュータ400のCPU(Central Processing Unit)401は、ROM(Read Only Memory)402に記憶されているプログラム、または記憶部413からRAM403にロードされたプログラムに従って各種の処理を実行する。RAM403にはまた、CPU401が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0088】
CPU401、ROM402、およびRAM403は、バス404を介して相互に接続されている。このバス404にはまた、入出力インタフェース410も接続されている。
【0089】
入出力インタフェース410には、キーボード、マウスなどよりなる入力部411、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部412、ハードディスクなどより構成される記憶部413、モデムなどより構成される通信部414が接続されている。通信部414は、インターネットを含むネットワークを介しての通信処理を行う。
【0090】
入出力インタフェース410にはまた、必要に応じてドライブ415が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア421が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部413にインストールされる。
【0091】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【0092】
この記録媒体は、例えば、図6に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア421により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM402や、記憶部413に含まれるハードディスクなどで構成される。
【0093】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0094】
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
【0095】
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0096】
【図1】本発明を適用した通信システムの主な構成例を示す図である。
【図2】受信装置の詳細な構成例を示すブロック図である。
【図3】同期制御処理の流れを説明するフローチャートである。
【図4】受信装置の他の構成例を示すブロック図である。
【図5】同期制御処理の他の流れを説明するフローチャートである。
【図6】本発明を適用したパーソナルコンピュータの構成例を示す図である。
【符号の説明】
【0097】
100 通信システム, 101 送信装置, 102 ネットワーク, 103 受信装置, 111 エンコーダ, 112 送信部, 201 受信部, 202 バッファ, 203 デコーダ, 204 出力部, 211 制御部, 221 同期判定部, 222 クロック制御部, 231 情報取得部, 232 算出部, 233 検出部, 311 制御部, 321 同期判定部, 323 到着時刻情報付加部, 331 情報取得部, 332 算出部, 333 検出部

【特許請求の範囲】
【請求項1】
ストリーミング再生用のデータを受信する受信手段と、
前記受信手段により受信された前記データを保持する保持手段と、
前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、
前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定する判定手段と、
前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する制御手段と
を備える情報処理装置。
【請求項2】
前記判定手段は、
前記保持手段に保持されている前記データより、前記保持手段に保持されている全データの時間的データ量の算出に必要な情報をデータ量算出用情報として取得する情報取得手段と、
前記情報取得手段により取得された前記データ量算出用情報を用いて前記時間的データ量を算出する算出手段と、
前記算出手段により算出された前記時間的データ量と所定の閾値を比較することにより、前記データに施された符号化処理のクロックに対する前記復号処理のクロックのずれを検出する検出手段と
を備える請求項1に記載の情報処理装置。
【請求項3】
前記情報取得手段は、前記保持手段に保持されている前記データのうち、最初に保持された前記データのタイムスタンプと、最後に保持された前記データのタイムスタンプとを前記データ量算出用情報として取得する
請求項2に記載の情報処理装置。
【請求項4】
前記情報取得手段は、前記保持手段に保持されているPIDが0番のパケットの数を前記データ量算出用情報として取得する
請求項2に記載の情報処理装置。
【請求項5】
前記情報取得手段は、前記保持手段に保持されているPCRパケットの数を前記データ量算出用情報として取得する
請求項2に記載の情報処理装置。
【請求項6】
前記制御手段は、前記検出手段による検出結果に基づいて、前記復号処理のクロックが速すぎる場合前記復号処理のクロックを遅くし、前記復号処理のクロックが遅すぎる場合前記復号処理のクロックを速くする
請求項2に記載の情報処理装置。
【請求項7】
前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量を用いて設定された前記閾値と比較する
請求項2に記載の情報処理装置。
【請求項8】
前記検出手段は、前記算出手段により算出された前記時間的データ量を、前記復号手段による前記データの復号開始時に前記保持手段に保持されている前記データの時間的データ量と、前記データの伝送時に発生するジッタを用いて設定された前記閾値と比較する
請求項2に記載の情報処理装置。
【請求項9】
前記判定手段は、
前記受信手段により受信される前記データに対して所定データ量毎に、前記データの受信時刻を示す到着時刻情報を付加する付加手段
をさらに備え、
前記情報取得手段は、前記保持手段に保持されている前記データに付加された最も早い前記到着時刻情報と、最も遅い前記到着時刻情報を取得する
請求項2に記載の情報処理装置。
【請求項10】
ストリーミング再生用のデータを受信する受信手段と、
前記受信手段により受信された前記データを保持する保持手段と、
前記保持手段に保持されている、所定の符号化された前記データを読み出して復号する復号手段と、
判定を行う判定手段と、
制御を行う制御手段と
を備える情報処理装置の情報処理方法であって、
前記判定手段が、前記保持手段に保持されている前記データの時間的データ量から、前記復号手段による復号処理の速度が適切であるか否かを判定し、
前記制御手段が、前記判定手段による判定の結果に基づいて前記復号手段による前記復号処理の速度を制御する
ステップを含む情報処理方法。
【請求項11】
ストリーミング再生用のデータを受信し、
受信された前記データを保持し、
保持されている、所定の符号化された前記データを読み出して復号し、
保持されている前記データの時間的データ量から、復号処理の速度が適切であるか否かを判定し、
判定の結果に基づいて前記復号処理の速度を制御する
ステップを含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−287973(P2010−287973A)
【公開日】平成22年12月24日(2010.12.24)
【国際特許分類】
【出願番号】特願2009−138794(P2009−138794)
【出願日】平成21年6月10日(2009.6.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】