最初に、本発明の実施形態の内容を列記して説明する。
(1)本発明の実施の形態に係るクロック再生装置は、1または複数の番組の情報を複数のパケットに分割したストリームを処理するためのクロックを再生するクロック再生装置であって、複数の前記パケットの少なくとも一部である制御パケットはクロック再生用の時間情報を含み、前記制御パケットが到着した場合に前記制御パケットの蓄積量に基づく値である指標値が増加し、到着した前記制御パケットに含まれる前記時間情報と前回到着した前記制御パケットに含まれる前記時間情報との差分に基づく間隔で前記指標値が減少し、基準クロックを生成するクロック生成部と、前記指標値を取得するカウント部と、前記カウント部によって取得された前記指標値に基づいて前記クロック生成部を制御することにより、前記基準クロックの周波数を調整するクロック調整部とを備える。
このように、制御パケットの到着時に指標値が増加し、各制御パケットに含まれる時間情報から算出される差分に基づく間隔で指標値が減少する構成により、送信側のクロックと基準クロックとの周波数差を指標値に反映させることができるので、指標値に基づいて基準クロックの周波数をより正しく調整することができる。また、パケットに含まれるデータをバッファに蓄積することなく後段の処理に用いることができるので、後段の処理に遅延が発生することを防ぐことができる。したがって、データ処理の遅延を抑制しながら、クロックをより正しく再生することができる。
(2)好ましくは、前記カウント部は、前記指標値をカウントするカウンタを含み、前記カウント部は、前記制御パケットが到着した場合に前記カウンタのカウント値を所定量増加させるとともに前記差分を算出して保持し、保持した前記差分に基づく時間が経過すると前記カウント値を所定量減少させる。
このような構成により、簡易な回路構成で、指標値をカウント値により適切に表現することができる。また、時間情報を読み出した制御パケットを破棄することができるので、メモリを節約することができる。
(3)より好ましくは、前記カウント部は、前記カウント値の増加単位と減少単位とを異ならせることが可能である。
このような構成により、基準クロックの周波数を、送信側のクロックの周波数に対して任意の倍率で大きくしたり小さくしたりすることができる。
(4)好ましくは、前記クロック再生装置は、さらに、到着した前記制御パケットを蓄積するバッファを備え、前記カウント部は、前記バッファに蓄積されている前記制御パケットに含まれる前記時間情報を読み出して前記差分を算出し、前記差分に基づく間隔で前記バッファから前記制御パケットが取り出され、前記カウント部は、前記バッファに蓄積された前記制御パケットの蓄積量に基づいて前記指標値を取得する。
このような構成により、簡易な処理で指標値を取得することができる。また、後段の処理において制御パケットを利用することができる。
(5)より好ましくは、前記カウント部は、前記バッファに蓄積された前記制御パケットの個数を前記指標値として取得する。
このような構成により、指標値を簡易に測定することができる。
(6)好ましくは、所定数の前記制御パケットが到着してから前記指標値の減少が開始される。
このような構成により、制御パケットが伝送される経路における伝送遅延がばらつく場合においても、伝送遅延のばらつきによって基準クロックの調整に与えられる影響を抑制することができる。
(7)本発明の実施の形態に係るストリーム処理装置は、1または複数の番組の情報を複数のパケットに分割したストリームを処理するためのストリーム処理装置であって、複数の前記パケットの少なくとも一部である制御パケットはクロック再生用の時間情報を含み、前記制御パケットが到着した場合に前記制御パケットの蓄積量に基づく値である指標値が増加し、到着した前記制御パケットに含まれる前記時間情報と前回到着した前記制御パケットに含まれる前記時間情報との差分に基づく間隔で前記指標値が減少し、基準クロックを生成するクロック生成部と、前記指標値を取得するカウント部と、前記カウント部によって取得された前記指標値に基づいて前記クロック生成部を制御することにより、前記基準クロックの周波数を調整するクロック調整部と、前記基準クロックに従って、前記ストリームを処理するストリーム処理部とを備える。
このように、制御パケットの到着時に指標値が増加し、各制御パケットに含まれる時間情報から算出される差分に基づく間隔で指標値が減少する構成により、送信側のクロックと基準クロックとの周波数差を指標値に反映させることができるので、指標値に基づいて基準クロックの周波数をより正しく調整することができる。また、パケットに含まれるデータをバッファに蓄積することなく後段の処理に用いることができるので、後段の処理に遅延が発生することを防ぐことができる。したがって、データ処理の遅延を抑制しながら、クロックをより正しく再生することができる。
(8)本発明の実施の形態に係るクロック再生方法は、基準クロックを生成するクロック生成部を備え、1または複数の番組の情報を複数のパケットに分割したストリームを処理するためのクロックを再生するクロック再生装置におけるクロック再生方法であって、複数の前記パケットの少なくとも一部である制御パケットはクロック再生用の時間情報を含み、前記制御パケットが到着した場合に前記制御パケットの蓄積量に基づく値である指標値が増加し、到着した前記制御パケットに含まれる前記時間情報と前回到着した前記制御パケットに含まれる前記時間情報との差分に基づく間隔で前記指標値が減少し、前記指標値を取得するステップと、取得した前記指標値に基づいて前記クロック生成部を制御することにより、前記基準クロックの周波数を調整するステップとを含む。
このように、制御パケットの到着時に指標値が増加し、各制御パケットに含まれる時間情報から算出される差分に基づく間隔で指標値が減少する構成により、送信側のクロックと基準クロックとの周波数差を指標値に反映させることができるので、指標値に基づいて基準クロックの周波数をより正しく調整することができる。また、パケットに含まれるデータをバッファに蓄積することなく後段の処理に用いることができるので、後段の処理に遅延が発生することを防ぐことができる。したがって、データ処理の遅延を抑制しながら、クロックをより正しく再生することができる。
(9)本発明の実施の形態に係るクロック再生プログラムは、基準クロックを生成するクロック生成部を備え、1または複数の番組の情報を複数のパケットに分割したストリームを処理するためのクロックを再生するクロック再生装置において用いられるクロック再生プログラムであって、複数の前記パケットの少なくとも一部である制御パケットはクロック再生用の時間情報を含み、前記制御パケットが到着した場合に前記制御パケットの蓄積量に基づく値である指標値が増加し、到着した前記制御パケットに含まれる前記時間情報と前回到着した前記制御パケットに含まれる前記時間情報との差分に基づく間隔で前記指標値が減少し、コンピュータを、前記指標値を取得するカウント部と、前記カウント部によって取得された前記指標値に基づいて前記クロック生成部を制御することにより、前記基準クロックの周波数を調整するクロック調整部と、として機能させるためのプログラムである。
このように、制御パケットの到着時に指標値が増加し、各制御パケットに含まれる時間情報から算出される差分に基づく間隔で指標値が減少する構成により、送信側のクロックと基準クロックとの周波数差を指標値に反映させることができるので、指標値に基づいて基準クロックの周波数をより正しく調整することができる。また、パケットに含まれるデータをバッファに蓄積することなく後段の処理に用いることができるので、後段の処理に遅延が発生することを防ぐことができる。したがって、データ処理の遅延を抑制しながら、クロックをより正しく再生することができる。
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
<第1の実施の形態>
[ストリーム処理システムの概要]
図1は、本発明の第1の実施の形態に係るストリーム処理システムの構成を示す図である。
図1を参照して、ストリーム処理システム301は、サーバ161と、ストリーム処理装置151と、表示装置131とを備える。なお、サーバ161は、ネットワーク10を経由してストリーム処理装置151と接続される。
サーバ161は、1または複数の番組の情報を含むストリームを送信する。ネットワーク10は、たとえばインターネットであり、サーバ161から送信されたストリームをストリーム処理装置151へ伝送する。
図2は、本発明の第1の実施の形態に係るストリーム処理装置において処理されるストリームの一例を示す図である。
図2を参照して、ストリームは、複数のパケット401を含む。この例では、パケット401は、TS(Transport Stream)パケットである。なお、パケット401は、MMT(MPEG Media Transport)パケットまたはTTS(Timestamped TS)パケット等であってもよい。
複数のパケット401には、1または複数の番組の情報が分割されて格納される。番組の情報は、符号化された音声情報および画像情報、EPG(Electronic Program Guide)情報、SI情報(Service Information)および字幕情報等である。
また、複数のパケット401の少なくとも一部のパケット401には、クロック再生用の時間情報が含まれる。以下、時間情報を含むパケット401を制御パケットとも称する。
より詳細には、制御パケットには、ストリーム処理装置151の基準クロック、具体的にはSTC(System Time Clock)またはPCR(Program Clock Reference)クロックを、サーバ161で用いられるPCRクロックと同期させるための時間情報が含まれる。
この例では、時間情報は、PCRの値である。なお、パケット401がMMTパケットまたはTTSパケット等である場合、時間情報は、タイムスタンプの値であってもよい。
サーバ161は、たとえば、制御パケットを概ね一定周期で送信する。言い換えると、サーバ161から制御パケットが送信される間隔は、たとえば一定範囲に収まる。
図3は、本発明の第1の実施の形態に係るストリーム処理システムにおけるストリーム処理装置の構成を示す図である。
図3を参照して、ストリーム処理装置151は、ストリーム取得部51と、ストリーム処理部52と、クロック再生装置101とを備える。
ストリーム処理装置151は、1または複数の番組の情報を複数のパケット401に分割したストリームを処理する。
より詳細には、ストリーム処理装置151におけるストリーム取得部51は、ストリームを取得する。具体的には、ストリーム取得部51は、サーバ161からパケット401を受信すると、受信したパケット401をストリーム処理部52へ出力する。
クロック再生装置101は、ストリーム取得部51が受信する制御パケットに含まれる時間情報の示す値を用いて、基準クロックをサーバ161におけるPCRクロックと同期させる。
ストリーム処理部52は、クロック再生装置101によって同期された基準クロックに従って、ストリームを処理する。より詳細には、ストリーム処理部52は、ストリーム取得部51から受ける各パケット401から番組の情報を取得し、基準クロックに従って、取得した番組の情報に基づいて画像および音声を再生する。ストリーム処理部52は、再生した画像および音声をたとえば表示装置131に表示させる。
図4は、本発明の第1の実施の形態に係るストリーム処理システムにおけるクロック再生装置の構成を示す図である。
図4を参照して、クロック再生装置101は、カウント部21と、クロック生成部22と、クロック調整部23と、時間情報取得部24とを備える。カウント部21は、カウンタ25と、差分保持部26と、タイマ27とを含む。
クロック生成部22は、基準クロックを生成する。具体的には、クロック生成部22は、VCXO(Voltage Controlled Xtal Oscillator)を含み、VCXOに与えられる制御電圧に応じた周波数の基準クロックを生成し、生成した基準クロックをカウント部21およびストリーム処理部52へ出力する。
時間情報取得部24は、ストリーム取得部51が受信するパケット401を監視し、ストリーム取得部51が制御パケットを受信すると、受信した制御パケットから時間情報を取得し、取得した時間情報をカウント部21へ出力する。
カウント部21は、制御パケットの蓄積量に基づく値である指標値を取得する。ここで、指標値は、制御パケットが到着した場合に増加し、到着した当該制御パケットに含まれる時間情報と前回到着した制御パケットに含まれる時間情報との差分DCに基づく間隔で減少する。
より詳細には、カウント部21におけるカウンタ25は、たとえば指標値をカウントする。カウント部21は、たとえば、制御パケットが到着した場合にカウンタ25のカウント値を所定量QP増加させるとともに差分DCを算出して差分保持部26において保持する。
そして、カウント部21は、差分DCを保持してから差分DCに基づく時間が経過するとカウンタ25のカウント値を所定量QM減少させる。また、カウント部21は、たとえば、動作の開始後、所定数NP(ここで、NPは、2以上の整数である。)の制御パケットが到着してからカウント値の減少を開始する。
図5は、本発明の第1の実施の形態に係るクロック再生装置が制御パケットを受信するタイミング、各PCRの差分、および各処理内容の一例を示す図である。なお、図5では、縦軸は時間を示す。
図6は、本発明の第1の実施の形態に係るクロック再生装置におけるカウンタの示すカウント値の時間変化の一例を示す図である。なお、縦軸はカウント値を示し、横軸は時間を示す。
以下では、所定数NPが3、および所定量QPおよびQMが10の場合におけるカウント部21の処理の具体例について説明する。
図5および図6を参照して、時刻ta1〜ta6において、PCRの示す値がそれぞれt0〜t5である制御パケットがクロック再生装置101に到着する。
カウント部21は、時刻ta1において時間情報取得部24からt0を示す時間情報を受けると、カウント部21におけるカウント値をQPすなわち10だけ増加させる。
カウント部21は、時刻ta2において時間情報取得部24からt1を示す時間情報を受けると、カウント部21におけるカウント値を10だけ増加させて20にするとともに、差分DCとしてDC0=t1−t0を算出し、算出した差分DC0を差分保持部26に保存する。
カウント部21は、時刻ta3において時間情報取得部24からt2を示す時間情報を受けると、カウント部21におけるカウント値を10だけ増加させて30にするとともに、差分DCとしてDC1=t2−t1を算出し、算出した差分DC1を差分保持部26に保持する。
また、カウント部21は、時刻ta3において所定数NP個目の時間情報を受けたので、所定数NPの制御パケットがクロック再生装置101に到着したと判断し、現在のカウント値である30を初期値V1としてクロック調整部23へ通知するとともに、カウント値の減少を開始する。
より詳細には、カウント部21は、差分保持部26において最も過去に保存した差分DC0を取得し、取得した差分DC0をタイマ27にセットする。
タイマ27は、クロック生成部22の出力する基準クロックに従って動作し、時刻ta3から差分DC0が経過するとタイマ満了信号を出力する。
カウント部21は、時刻ta4において時間情報取得部24からt3を示す時間情報を受けると、カウント部21におけるカウント値を10だけ増加させて40にするとともに、差分DCとしてDC2=t3−t2を算出し、算出した差分DC2を差分保持部26に保存する。
カウント部21は、時刻ta5において時間情報取得部24からt4を示す時間情報を受けると、カウント部21におけるカウント値を10だけ増加させて50にするとともに、差分DCとしてDC3=t4−t3を算出し、算出した差分DC3を差分保持部26に保存する。
カウント部21は、時刻tr1においてタイマ27がタイマ満了信号を出力したことを確認すると、カウント部21におけるカウント値をQMすなわち10だけ減じて40にするとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部21は、差分保持部26において最も過去に保存した差分DC0を破棄した後、残りの差分の中で最も過去に保存した差分DC1を取得し、取得した差分DC1をタイマ27にセットする。
クロック調整部23は、カウント部21によって取得された指標値に基づいてクロック生成部22を制御することにより、基準クロックの周波数を調整する。
また、クロック調整部23は、たとえば、所定数NPの制御パケットが到着したときのカウント値を初期値V1とし、その後のカウント値と初期値V1との差分DE1に基づいてクロック生成部22を制御する。
具体的には、クロック調整部23は、カウント部21からクロック調整命令を受けると、受けたクロック調整命令に従って、カウンタ25からカウント値を取得し、取得したカウント値と時刻ta3においてカウント部21から通知された初期値V1とを比較する。
より詳細には、クロック調整部23は、取得したカウント値すなわち40と初期値V1すなわち30との差分DE1を算出する。
クロック調整部23は、算出した差分DE1が+10であるので基準クロックの周波数が小さいと判断し、基準クロックの周波数が、算出した差分DE1に応じて上がるようにVCXOに与える制御電圧を調整する。
カウント部21は、時刻tr2においてタイマ27がタイマ満了信号を出力したことを確認すると、カウント部21におけるカウント値を10だけ減じて30にするとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部21は、差分保持部26において最も過去に保存した差分DC1を破棄した後、残りの差分の中で最も過去に保存した差分DC2を取得し、取得した差分DC2をタイマ27にセットする。
クロック調整部23は、カウント部21からクロック調整命令を受けると、受けたクロック調整命令に従って、カウンタ25からカウント値を取得し、取得したカウント値すなわち30と初期値V1との差分DE1を算出する。
クロック調整部23は、算出した差分DE1がゼロであるので基準クロックの周波数が適正であると判断し、基準クロックの周波数を調整せずに維持する。
カウント部21は、時刻ta6において時間情報取得部24からt5を示す時間情報を受けると、カウント部21におけるカウント値を10だけ増加させて40にするとともに、差分DCとしてDC4=t5−t4を算出し、算出した差分DC4を差分保持部26に保存する。
カウント部21は、時刻tr3においてタイマ27がタイマ満了信号を出力したことを確認すると、カウント部21におけるカウント値を10だけ減じて30にするとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部21は、差分保持部26において最も過去に保存した差分DC2を破棄した後、残りの差分の中で最も過去に保存した差分DC3を取得し、取得した差分DC3をタイマ27にセットする。
クロック調整部23は、カウント部21からクロック調整命令を受けると、受けたクロック調整命令に従って、カウンタ25からカウント値を取得し、取得したカウント値すなわち30と初期値V1との差分DE1を算出する。
クロック調整部23は、算出した差分DE1がゼロであるので基準クロックの周波数が適正であると判断し、基準クロックの周波数を調整せずに維持する。
カウント部21は、時刻tr4においてタイマ27がタイマ満了信号を出力したことを確認すると、カウント部21におけるカウント値を10だけ減じて20にするとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部21は、差分保持部26において最も過去に保存した差分DC3を破棄した後、残りの差分の中で最も過去に保存した差分DC4を取得し、取得した差分DC4をタイマ27にセットする。
クロック調整部23は、カウント部21からクロック調整命令を受けると、受けたクロック調整命令に従って、カウンタ25からカウント値を取得し、取得したカウント値すなわち20と初期値V1との差分DE1を算出する。
クロック調整部23は、算出した差分DE1が−10であるので基準クロックの周波数が大きいと判断し、基準クロックの周波数が、算出した差分DE1に応じて下がるようにVCXOに与える制御電圧を調整する。
なお、クロック調整部23は、カウント部21からクロック調整命令を受けると、基準クロックの周波数を調整する構成であるとしたが、これに限定するものではない。クロック調整部23は、カウント部21から初期値V1の通知を受けた後の任意のタイミングにおいて基準クロックの周波数を調整する構成であってもよい。
また、クロック調整部23は、タイマ27が満了するごとに算出する1つの差分DE1に基づいて基準クロックを調整する構成であるとしたが、これに限定するものではない。クロック調整部23は、タイマ27が満了するごとに算出した複数回の差分DE1を平均化処理することにより差分DE1の増加傾向または減少傾向を取得し、取得した傾向に応じて基準クロックを調整する構成であってもよい。
[動作]
クロック再生装置101およびストリーム処理装置151は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下に示すフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリから読み出して実行する。これらの装置のプログラムは、外部からインストールすることができる。これらの装置のプログラムは、記録媒体に格納された状態で流通する。
図7は、本発明の第1の実施の形態に係るクロック再生装置が基準クロックをサーバにおけるPCRクロックと同期させる際の動作手順を定めたフローチャートである。
図7を参照して、まず、クロック再生装置101は、受信した制御パケット数を示す変数Nをゼロに初期化する(ステップS102)。
次に、クロック再生装置101は、制御パケットを受信するまで待機し(ステップS104でNO)、制御パケットを受信すると(ステップS104でYES)、変数Nをインクリメントする(ステップS106)。
次に、クロック再生装置101は、カウンタ25におけるカウント値を所定量QP増加させる(ステップS108)。
次に、クロック再生装置101は、変数Nが1より大きい場合(ステップS110でYES)、今回受信した制御パケットに含まれる時間情報の示す値と前回受信した制御パケットに含まれる時間情報の示す値との差分DCを算出し、算出した差分DCを差分保持部26に保存する(ステップS112)。
次に、クロック再生装置101は、変数Nが所定数NPと一致しない場合(ステップS114でNO)、または変数Nが1以下である場合(ステップS110でNO)、新たな制御パケットを受信するまで待機する(ステップS104でNO)。
一方、クロック再生装置101は、変数Nが所定数NPと一致する場合(ステップS114でYES)、カウンタ25におけるカウント値を初期値V1とする(ステップS116)。
次に、クロック再生装置101は、差分保持部26において最も過去に保存した差分DCを取得し、取得した差分DCをタイマ27にセットする(ステップS118)。
次に、クロック再生装置101は、後述する通常調整処理を行う(ステップS120)。
なお、上記ステップS106と、ステップS108との順番は、上記に限らず、順番を入れ替えてもよい。
また、上記ステップS116と、ステップS118との順番は、上記に限らず、順番を入れ替えてもよい。
図8は、本発明の第1の実施の形態に係るクロック再生装置が通常調整処理を行う際の動作手順を定めたフローチャートである。図8は、図7のステップS120における動作の詳細を示している。
図8を参照して、まず、クロック再生装置101は、制御パケットを受信するか、またはタイマ27が満了するまで待機し(ステップS202でNOおよびステップS204でNO)、制御パケットを受信すると(ステップS202でYES)、カウンタ25におけるカウント値を所定量QP増加させる(ステップS220)。
次に、クロック再生装置101は、今回受信した制御パケットに含まれる時間情報の示す値と前回受信した制御パケットに含まれる時間情報の示す値との差分DCを算出し、算出した差分DCを差分保持部26に保存する(ステップS222)。
次に、クロック再生装置101は、新たな制御パケットを受信するか、またはタイマ27が満了するまで待機する(ステップS202でNOおよびステップS204でNO)。
一方、クロック再生装置101は、タイマ27が満了すると(ステップS202でNOおよびステップS204でYES)、差分保持部26において最も過去に保存した差分DCを破棄する(ステップS206)。
次に、クロック再生装置101は、差分保持部26における残りの差分DCの中で、最も過去に保存した差分DCを取得し、取得した差分DCをタイマ27にセットする(ステップS208)。
次に、クロック再生装置101は、カウンタ25におけるカウント値を所定量QM減ずる(ステップS210)。
次に、クロック再生装置101は、カウンタ25のカウント値と初期値V1との差分DE1を算出する(ステップS212)。
次に、クロック再生装置101は、算出した差分DE1がゼロの場合(ステップS214でYES)、クロック生成部22におけるVCXOに与える制御電圧を維持する(ステップS224)。
一方、クロック再生装置101は、算出した差分DE1がゼロ以外の値である場合(ステップS214でNO)、クロック生成部22におけるVCXOに与える制御電圧を、算出した差分DE1に応じて調整する(ステップS216)。
次に、クロック再生装置101は、制御電圧を維持するか(ステップS224)、または制御電圧を調整すると(ステップS216)、所定時間以上制御パケットを受信できない、またはユーザにより停止操作を受けた等の終了条件が満たされたか否かを判断する(ステップS218)。
クロック再生装置101は、終了条件が満たされていないと判断すると(ステップS218でNO)、制御パケットを受信するか、または新たにセットしたタイマ27が満了するまで待機する(ステップS202でNOおよびステップS204でNO)。
一方、クロック再生装置101は、終了条件が満たされたと判断すると(ステップS218でYES)、通常調整処理を終了する。
なお、上記ステップS220と、ステップS222との順番は、上記に限らず、順番を入れ替えてもよい。
なお、上記ステップS206,S208と、ステップS210との順番は、上記に限らず、順番を入れ替えてもよい。
[変形例]
上記例では、所定量QPおよびQMが同じであるとしたが、これに限定するものではない。
カウント部21は、たとえば、カウント値の増加単位と減少単位とを異ならせることが可能である。具体的には、所定量QPおよびQMは異なってもよい。
より詳細には、カウント部21は、クロック生成部22における基準クロックの周波数をサーバ161におけるPCRクロックの周波数より大きくしたい場合、所定量QP、および所定量QPより小さい所定量QMを用いてカウンタ25におけるカウント値を増減させる。
一方、カウント部21は、基準クロックの周波数をサーバ161におけるPCRクロックの周波数より小さくしたい場合、所定量QP、および所定量QPより大きい所定量QMを用いてカウンタ25におけるカウント値を増減させる。
ところで、特許文献1に記載のクロック再生装置では、パケットに含まれるデータがバッファに蓄積され、蓄積されたデータが当該バッファから読み出される。このような構成では、データがバッファから読み出されるまでは、当該データをデコード処理等の後段の処理に用いることが困難である。このため、後段の処理に遅延が発生することがあり、好ましくない。
また、たとえば、送信側から所定周期TPで送信されるパルスを用いるアダプティブクロックリカバリ法によりクロックを再生する方法がある。この方法では、送信側からパルスを受信した場合、カウント値をインクリメントし、また、自己のクロックに従って、所定周期TPが経過するごとに当該カウント値をデクリメントする。送信側のクロックと自己のクロックとが同期している場合、当該カウント値は一定値を示す。一方、送信側のクロックと自己のクロックとが同期していない場合、当該カウント値は時間の経過とともに増加したり減少したりするので、当該カウント値の増減に応じて自己のクロックの周波数を調整する。これにより、送信側のクロックと自己のクロックとを同期させることができる。しかしながら、送信側から所定周期TPでパルスが送信されない場合、この方法を用いることが困難である。
これに対して、本発明の第1の実施の形態に係るクロック再生装置は、1または複数の番組の情報を複数のパケット401に分割したストリームを処理するためのクロックを再生する。複数のパケット401の少なくとも一部である制御パケットはクロック再生用の時間情報を含む。制御パケットが到着した場合に制御パケットの蓄積量に基づく値である指標値が増加し、到着した制御パケットに含まれる時間情報と前回到着した制御パケットに含まれる時間情報との差分DCに基づく間隔で指標値が減少する。クロック生成部22は、基準クロックを生成する。カウント部21は、指標値を取得する。そして、クロック調整部23は、カウント部21によって取得された指標値に基づいてクロック生成部22を制御することにより、基準クロックの周波数を調整する。
このように、制御パケットの到着時に指標値が増加し、各制御パケットに含まれる時間情報から算出される差分DCに基づく間隔で指標値が減少する構成により、送信側のクロックと基準クロックとの周波数差を指標値に反映させることができるので、指標値に基づいて基準クロックの周波数をより正しく調整することができる。また、パケットに含まれるデータをバッファに蓄積することなく後段の処理に用いることができるので、後段の処理に遅延が発生することを防ぐことができる。したがって、データ処理の遅延を抑制しながら、クロックをより正しく再生することができる。また、たとえば、アダプティブクロックリカバリ法のように送信側から所定周期TPでパルスが送信されない場合においても、差分DCに基づく間隔で指標値が減少する構成により、簡易な処理で、指標値に基づいて基準クロックを正しく再生することができる。
また、本発明の第1の実施の形態に係るクロック再生装置では、カウント部21は、指標値をカウントするカウンタ25を含む。カウント部21は、制御パケットが到着した場合にカウンタ25のカウント値を所定量QP増加させるとともに差分DCを算出して保持し、保持した差分DCに基づく時間が経過するとカウント値を所定量QM減少させる。
このような構成により、簡易な回路構成で、指標値をカウント値により適切に表現することができる。また、時間情報を読み出した制御パケットを破棄することができるので、メモリを節約することができる。
また、本発明の第1の実施の形態に係るクロック再生装置では、カウント部21は、カウント値の増加単位と減少単位とを異ならせることが可能である。
このような構成により、基準クロックの周波数を、送信側のクロックの周波数に対して任意の倍率で大きくしたり小さくしたりすることができる。
また、本発明の第1の実施の形態に係るクロック再生装置では、所定数NPの制御パケットが到着してから指標値の減少が開始される。
このような構成により、制御パケットが伝送される経路における伝送遅延がばらつく場合においても、伝送遅延のばらつきによって基準クロックの調整に与えられる影響を抑制することができる。
また、本発明の実施の形態に係るストリーム処理装置は、1または複数の番組の情報を複数のパケット401に分割したストリームを処理する。複数のパケット401の少なくとも一部である制御パケットはクロック再生用の時間情報を含む。制御パケットが到着した場合に制御パケットの蓄積量に基づく値である指標値が増加し、到着した制御パケットに含まれる時間情報と前回到着した制御パケットに含まれる時間情報との差分DCに基づく間隔で指標値が減少する。クロック生成部22は、基準クロックを生成する。カウント部21は、指標値を取得する。クロック調整部23は、カウント部21によって取得された指標値に基づいてクロック生成部22を制御することにより、基準クロックの周波数を調整する。そして、ストリーム処理部52は、基準クロックに従って、ストリームを処理する。
このように、制御パケットの到着時に指標値が増加し、各制御パケットに含まれる時間情報から算出される差分DCに基づく間隔で指標値が減少する構成により、送信側のクロックと基準クロックとの周波数差を指標値に反映させることができるので、指標値に基づいて基準クロックの周波数をより正しく調整することができる。また、パケットに含まれるデータをバッファに蓄積することなく後段の処理に用いることができるので、後段の処理に遅延が発生することを防ぐことができる。したがって、データ処理の遅延を抑制しながら、クロックをより正しく再生することができる。また、たとえば、アダプティブクロックリカバリ法のように送信側から所定周期TPでパルスが送信されない場合においても、差分DCに基づく間隔で指標値が減少する構成により、簡易な処理で、指標値に基づいて基準クロックを正しく再生することができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係るクロック再生装置と比べて制御パケットを蓄積するクロック再生装置に関する。以下で説明する内容以外は第1の実施の形態に係るクロック再生装置と同様である。
図9は、本発明の第2の実施の形態に係るストリーム処理システムにおけるストリーム処理装置の構成を示す図である。
図9を参照して、クロック再生装置102は、本発明の第1の実施の形態に係るクロック再生装置101と比べて、カウント部21および時間情報取得部24の代わりに、カウント部31、制御パケット取得部34およびバッファ36を備える。カウント部31は、タイマ27を含む。
クロック再生装置102におけるクロック生成部22、クロック調整部23およびタイマ27の動作は、図4に示すクロック再生装置101におけるクロック生成部22、クロック調整部23およびタイマ27とそれぞれ同様である。
クロック再生装置102におけるバッファ36は、たとえば到着した制御パケットを蓄積する。カウント部31は、たとえば、バッファ36に蓄積されている制御パケットに含まれる時間情報を読み出して差分DCを算出する。そして、カウント部31は、たとえば、差分DCに基づく間隔でバッファ36から制御パケットを取り出す。
より詳細には、制御パケット取得部34は、ストリーム取得部51が受信するパケット401を監視し、ストリーム取得部51が制御パケットを受信すると、受信した制御パケットを取得し、取得した制御パケットをバッファ36に蓄積する。
カウント部31は、たとえば、バッファ36に蓄積された制御パケットの蓄積量に基づいて指標値を取得する。詳細には、カウント部31は、たとえば、バッファ36に蓄積された制御パケットの個数を指標値として取得する。
より詳細には、カウント部31は、バッファ36に蓄積される制御パケットを監視する。たとえば、カウント部31は、動作の開始後、所定数NPの制御パケットがバッファ36に蓄積されるまで待機し、所定数NPの制御パケットがバッファ36に蓄積されると、制御パケットの取り出し処理を開始する。
図10は、本発明の第2の実施の形態に係るクロック再生装置が制御パケットを受信するタイミング、各PCRの差分、および各処理内容の一例を示す図である。なお、図10では、縦軸は時間を示す。また、図10では、図5と同様に、時刻ta1〜ta6において、PCRの示す値がそれぞれt0〜t5である制御パケットがクロック再生装置102に到着する。
図11は、本発明の第2の実施の形態に係るクロック再生装置におけるバッファに蓄積される制御パケット数の時間変化の一例を示す図である。なお、縦軸は制御パケット数を示し、横軸は時間を示す。
以下では、所定数NPが3の場合におけるカウント部31の処理の具体例について説明する。
図10および図11を参照して、カウント部31は、時刻ta1およびta2において、t0を示す時間情報を含む制御パケット、およびt1を示す時間情報を含む制御パケットがバッファ36に蓄積されることをそれぞれ確認する。
カウント部31は、時刻ta3において、t2を示す時間情報を含む制御パケットがバッファ36に蓄積されることを確認する。
また、カウント部31は、時刻ta3において所定数NP個目の制御パケットがバッファ36に蓄積されたので、所定数NPの制御パケットがクロック再生装置101に到着したと判断し、バッファ36に蓄積された現在の制御パケット数である3を初期値V2としてクロック調整部23へ通知するとともに、制御パケットの取り出し処理を開始する。
より詳細には、カウント部31は、バッファ36において、最も過去に保存された制御パケット、および2番目に過去に保存された制御パケットから、t0を示す時間情報およびt1を示す時間情報をそれぞれ取得する。そして、カウント部31は、取得した各時間情報から差分DCとしてDC0=t1−t0を算出し、算出した差分DC0をタイマ27にセットする。
タイマ27は、クロック生成部22の出力する基準クロックに従って動作し、時刻ta3から差分DC0が経過するとタイマ満了信号を出力する。
カウント部31は、時刻ta4およびta5において、t3を示す時間情報を含む制御パケット、およびt4を示す時間情報を含む制御パケットがバッファ36に蓄積されることをそれぞれ確認する。
カウント部31は、時刻tr1においてタイマ27がタイマ満了信号を出力したことを確認すると、最も過去に保存された制御パケットをバッファ36から取り出してストリーム処理部52へ出力するとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部31は、バッファ36において、最も過去に保存された制御パケット、および2番目に過去に保存された制御パケットから、t1を示す時間情報およびt2を示す時間情報をそれぞれ取得する。そして、カウント部31は、取得した各時間情報から差分DCとしてDC1=t2−t1を算出し、算出した差分DC1をタイマ27にセットする。
クロック調整部23は、カウント部31からクロック調整命令を受けると、受けたクロック調整命令に従って、バッファ36に蓄積された制御パケット数を測定し、測定した制御パケット数と時刻ta3においてカウント部21から通知された初期値V2とを比較する。
より詳細には、クロック調整部23は、測定した制御パケット数すなわち4と初期値V2すなわち3との差分DE2を算出する。
クロック調整部23は、算出した差分DE2が+1であるので基準クロックの周波数が小さいと判断し、基準クロックの周波数が、算出した差分DE2に応じて上がるようにVCXOに与える制御電圧を調整する。
カウント部31は、時刻tr2においてタイマ27がタイマ満了信号を出力したことを確認すると、最も過去に保存された制御パケットをバッファ36から取り出してストリーム処理部52へ出力するとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部31は、バッファ36において、最も過去に保存された制御パケット、および2番目に過去に保存された制御パケットから、t2を示す時間情報およびt3を示す時間情報をそれぞれ取得する。そして、カウント部31は、取得した各時間情報から差分DCとしてDC2=t3−t2を算出し、算出した差分DC2をタイマ27にセットする。
クロック調整部23は、カウント部31からクロック調整命令を受けると、受けたクロック調整命令に従って、バッファ36に蓄積された制御パケット数を測定し、測定した制御パケット数すなわち3と初期値V2との差分DE2を算出する。
クロック調整部23は、算出した差分DE2がゼロであるので基準クロックの周波数が適正であると判断し、基準クロックの周波数を調整せずに維持する。
カウント部31は、時刻ta6において、t5を示す時間情報を含む制御パケットがバッファ36に蓄積されることを確認する。
カウント部31は、時刻tr3においてタイマ27がタイマ満了信号を出力したことを確認すると、最も過去に保存された制御パケットをバッファ36から取り出してストリーム処理部52へ出力するとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部31は、バッファ36において、最も過去に保存された制御パケット、および2番目に過去に保存された制御パケットから、t3を示す時間情報およびt4を示す時間情報をそれぞれ取得する。そして、カウント部31は、取得した各時間情報から差分DCとしてDC3=t4−t3を算出し、算出した差分DC3をタイマ27にセットする。
クロック調整部23は、カウント部31からクロック調整命令を受けると、受けたクロック調整命令に従って、バッファ36に蓄積された制御パケット数を測定し、測定した制御パケット数すなわち3と初期値V2との差分DE2を算出する。
クロック調整部23は、算出した差分DE2がゼロであるので基準クロックの周波数が適正であると判断し、基準クロックの周波数を調整せずに維持する。
カウント部31は、時刻tr4においてタイマ27がタイマ満了信号を出力したことを確認すると、最も過去に保存された制御パケットをバッファ36から取り出してストリーム処理部52へ出力するとともに、クロック調整命令をクロック調整部23へ出力する。
また、カウント部31は、バッファ36において、最も過去に保存された制御パケット、および2番目に過去に保存された制御パケットから、t4を示す時間情報およびt5を示す時間情報をそれぞれ取得する。そして、カウント部31は、取得した各時間情報から差分DCとしてDC4=t5−t4を算出し、算出した差分DC4をタイマ27にセットする。
クロック調整部23は、カウント部31からクロック調整命令を受けると、受けたクロック調整命令に従って、バッファ36に蓄積された制御パケット数を測定し、測定した制御パケット数すなわち2と初期値V2との差分DE2を算出する。
クロック調整部23は、算出した差分DE2が−1であるので基準クロックの周波数が大きいと判断し、基準クロックの周波数が、算出した差分DE2に応じて下がるようにVCXOに与える制御電圧を調整する。
なお、本発明の第2の実施の形態に係るクロック再生装置では、カウント部31は、差分DCに基づく間隔でバッファ36から制御パケットを取り出す構成であるとしたが、これに限定するものではない。他のユニットによって差分DCに基づく間隔でバッファ36から制御パケットが取り出される構成であれば、カウント部31が制御パケットを取り出す構成でなくてもよい。
以上のように、本発明の第2の実施の形態に係るクロック再生装置では、バッファ36は、到着した制御パケットを蓄積する。カウント部31は、バッファ36に蓄積されている制御パケットに含まれる時間情報を読み出して差分DCを算出する。差分DCに基づく間隔でバッファ36から制御パケットが取り出される。そして、カウント部31は、バッファ36に蓄積された制御パケットの蓄積量に基づいて指標値を取得する。
このような構成により、簡易な処理で指標値を取得することができる。また、後段の処理において制御パケットを利用することができる。
また、本発明の第2の実施の形態に係るクロック再生装置では、カウント部31は、バッファ36に蓄積された制御パケットの個数を指標値として取得する。
このような構成により、指標値を簡易に測定することができる。
その他の構成および動作は第1の実施の形態に係るクロック再生装置と同様であるため、ここでは詳細な説明を繰り返さない。
なお、本発明の第1の実施の形態および第2の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
以上の説明は、以下に付記する特徴を含む。
[付記1]
1または複数の番組の情報を複数のパケットに分割したストリームを処理するためのクロックを再生するクロック再生装置であって、
複数の前記パケットの少なくとも一部である制御パケットはクロック再生用の時間情報を含み、
前記制御パケットが到着した場合に前記制御パケットの蓄積量に基づく値である指標値が増加し、到着した前記制御パケットに含まれる前記時間情報と前回到着した前記制御パケットに含まれる前記時間情報との差分に基づく間隔で前記指標値が減少し、
基準クロックを生成するクロック生成部と、
前記指標値を取得するカウント部と、
前記カウント部によって取得された前記指標値に基づいて前記クロック生成部を制御することにより、前記基準クロックの周波数を調整するクロック調整部とを備え、
前記パケットは、TS(Transport Stream)パケットまたはMMT(MPEG Media Transport)パケットであり、
前記時間情報は、PCR(Program Clock Reference)またはタイムスタンプであり、
前記制御パケットが到着した場合に前記指標値が増加し、前記差分に基づく前記間隔であって前記基準クロックにより計測された前記間隔で前記指標値が減少し、
前記クロック調整部は、前記指標値が減少するタイミングで前記基準クロックの周波数を調整する、クロック再生装置。
このように、指標値の減算および基準クロックの周波数の調整を基準クロックに基づくタイミングで行う構成により、制御パケットが到着したタイミングで基準クロックの調整を行う構成と比べて、伝送経路における制御パケットの伝送遅延のばらつきの影響を受けにくくすることができるので、伝送遅延の耐性がより高い基準クロックを生成することができる。
[付記2]
所定数の前記制御パケットが到着してから前記指標値の減少が開始され、
前記クロック調整部は、前記所定数の前記制御パケットが到着したときの前記指標値を初期値とし、その後の前記指標値と前記初期値との差分に基づいて前記クロック生成部を制御する、付記1に記載のクロック再生装置。
[付記3]
1または複数の番組の情報を複数のパケットに分割したストリームを処理するためのストリーム処理装置であって、
複数の前記パケットの少なくとも一部である制御パケットはクロック再生用の時間情報を含み、
前記制御パケットが到着した場合に前記制御パケットの蓄積量に基づく値である指標値が増加し、到着した前記制御パケットに含まれる前記時間情報と前回到着した前記制御パケットに含まれる前記時間情報との差分に基づく間隔で前記指標値が減少し、
基準クロックを生成するクロック生成部と、
前記指標値を取得するカウント部と、
前記カウント部によって取得された前記指標値に基づいて前記クロック生成部を制御することにより、前記基準クロックの周波数を調整するクロック調整部と、
前記基準クロックに従って、前記ストリームを処理するストリーム処理部とを備え、
前記パケットは、TS(Transport Stream)パケットまたはMMT(MPEG Media Transport)パケットであり、
前記時間情報は、PCR(Program Clock Reference)またはタイムスタンプであり、
前記制御パケットが到着した場合に前記指標値が増加し、前記差分に基づく前記間隔であって前記基準クロックにより計測された前記間隔で前記指標値が減少し、
前記クロック調整部は、前記指標値が減少するタイミングで前記基準クロックの周波数を調整する、ストリーム処理装置。
このように、指標値の減算および基準クロックの周波数の調整を基準クロックに基づくタイミングで行う構成により、制御パケットが到着したタイミングで基準クロックの調整を行う構成と比べて、伝送経路における制御パケットの伝送遅延のばらつきの影響を受けにくくすることができるので、伝送遅延の耐性がより高い基準クロックを生成することができる。