(57)【特許請求の範囲】
【請求項１】
所定のフォーマットにコード化されたデータのストリームが多重化されたパケットを受信してデコードする装置において、
受信したパケットを書き込むタイミングと、前記コード化されたデータのデコーダがデータを読み込むタイミングとの差を吸収するための一時蓄積手段と、
受信したパケットからプログラムデータを抽出する時間の基準となる基準信号を抽出する基準信号抽出手段と、
受信したパケットに定期的に付加されるストリーム中の所定周期で一周する絶対時刻で示されるデータ位置を示す時刻と、前記時刻から前記基準信号までの時間差とを加算し、所定周期で一周する時刻と比較することにより、受信側の基準信号を作成する基準信号作成手段と、
前記送信側の基準信号と前記受信側の基準信号を減算することにより、前記デコーダを動作させるための基準となるクロック信号を作成するクロック生成手段と
を備えることを特徴とするパケット受信装置。
【請求項２】
ＭＰＥＧトランスポートストリームが多重化されたパケットを受信してデコードする装置において、
受信したパケットを書き込むタイミングと、前記ＭＰＥＧのデコーダがデータを読み込むタイミングとの差を吸収するためのＦＩＦＯと、
受信したパケットから送信側のＰＣＲ（Program Clock Reference）を抽出するＰＣＲ抽出手段と、
受信したパケットに定期的に付加されるシンクタイムと、前記パケットに定期的に付加されるシンクタイムからＰＣＲまでの時間差とを加算し、サイクルタイマーと比較することにより、受信側のＰＣＲを作成するＰＣＲ作成手段と、
前記送信側のＰＣＲと前記受信側のＰＣＲを減算することにより、前記デコーダを動作させるための基準となるクロック信号を生成するＰＬＬと
を備えることを特徴とするパケット受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＥＥＥ−Ｐ１３９４に準拠した通信制御バス（以下「Ｐ１３９４シリアルバス」という。）を用いて、ＭＰＥＧのトランスポートストリームが多重化されたパケットを受信、再生する装置に関する。
【０００２】
【従来の技術】
従来、Ｐ１３９４シリアルバスにより複数の機器を接続し、これらの機器間で通信を行うシステムが考えられている。
【０００３】
図５にこのようなシステムの例を示す。このシステムは３台のデジタルビデオテープレコーダ（ＶＴＲ１〜３）、１台のデジタルカムコーダ（ＣＡＭ）、及び１台のデジタルテレビジョン受信機（ＴＶ１）を備えている。そして、各機器の間はＰ１３９４シリアルバスのケーブルにより接続されている。各機器はＰ１３９４シリアルバスのケーブルから入力される情報信号及び制御信号を中継する機能を持っているので、この通信システムは各機器が共通のＰ１３９４シリアルバスに接続されている通信システムと等価である。
【０００４】
バスを共有している機器におけるデータ伝送は、図６のように所定の通信サイクル（例えば１２５μｓｅｃ）毎に時分割多重によって行われる。バス上における通信サイクルの管理はサイクルマスターと呼ばれる所定の機器により行われ、サイクルマスターが通信サイクルの開始時であることを示す同期パケット（サイクルスタートパケット）をバス上の他の機器へ伝送することによってその通信サイクルにおけるデータ伝送が開始される。なお、サイクルマスターはＰ１３９４シリアルバスに各機器を接続して通信システムを構成すると、ＩＥＥＥ−Ｐ１３９４で規定する手法により自動的に決定される。
【０００５】
一通信サイクル中におけるデータ伝送の形態は、ビデオデータやオーディオデータなどの同期型（Ｉｓｏｃｈｒｏｎｏｕｓ）データと、接続制御コマンド等の非同期型（Ａｓｙｎｃｈｒｏｎｏｕｓ）データの２種類である。そして、同期型データパケットが非同期型データパケットより先に伝送される。同期型データパケットそれぞれにチャンネル番号１，２，３  ，・・・Ｎを付けることにより、複数の同期型データを区別することができる。送信すべき全てのチャンネルの同期型データパケットの送信が終了した後、次のサイクルスタートパケットまでの期間が非同期型データパケットの伝送に使用される。
【０００６】
【発明が解決しようとする課題】
このように構成された通信システムにおいて、１つのチャンネルの同期型データパケット内に複数プログラムのＭＰＥＧのトランスポートパケットを多重化して伝送することを考える。
【０００７】
ＭＰＥＧのトランスポートパケットは、図７に示すように、１８８バイトの長さを持ち、リンクヘッダー、アダプテーションヘッダー、及びペイロード（データ部）から構成されている。そして、リンクヘッダーにはプログラムＩＤが設けられている。また、アダプテーションヘッダーは、その先頭から２バイト目からＰｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ（以下「ＰＣＲ」と略す。）が設けられている。
【０００８】
プログラムＩＤはプログラムを識別するコードであり、ＰＣＲは１つのチャンネルの同期型データパケット内に複数プログラムのＭＰＥＧのトランスポートパケットのストリーム（以下「トランスポートパケットのストリーム」を「トランスポートストリーム」という。）を多重化して伝送する場合に、受信側において各プログラムのデータを抽出する時間の基準（タイムベース）となるものである。受信側では、所望のプログラムを受信したい場合には、Ｐ１３９４シリアルバスを経て受信した同期型データパケットからＭＰＥＧのトランスポートストリームを作成し、そのトランスポートストリームから所望のプログラムに対応するＰＣＲを読み出し、ＭＰＥＧデコーダへ供給する２７ＭＨｚのクロック信号を生成するＰＬＬをロックする。
【０００９】
しかし、この方法ではトランスポートストリームを読み出すためのクロック信号を作成するためのＰＬＬと、デコーダに出力する２７ＭＨｚのクロック信号を作成するためのＰＬＬの、計２個のＰＬＬが必要であるという問題点があった。
【００１０】
また、受信した同期型データパケットからトランスポートストリームを作り出すためのＦＩＦＯと、トランスポートストリームのタイミングとデコーダがデータを読み込むタイミングの差を吸収するためのＦＩＦＯの、計２個のＦＩＦＯが必要であるという問題点があった。
【００１１】
本発明は、このような問題点を解決するためになされたものであって、単一のＰＬＬと単一のＦＩＦＯにより、複数のプログラムが多重化されたＭＰＥＧのトランスポートストリームをデコードできるパケット受信装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
前記課題を解決するために、本発明は、所定のフォーマットにコード化されたデータのストリームが多重化されたパケットを受信してデコードする装置において、受信したパケットを書き込むタイミングと、前記コード化されたデータのデコーダがデータを読み込むタイミングとの差を吸収するための一時蓄積手段と、受信したパケットからプログラムデータを抽出する時間の基準となる基準信号を抽出する基準信号抽出手段と、受信したパケットに定期的に付加されるストリーム中の所定周期で一周する絶対時刻で示されるデータ位置を示す時刻と、前記時刻から前記基準信号までの時間差とを加算し、所定周期で一周する時刻と比較することにより、受信側の基準信号を作成する基準信号作成手段と、前記送信側の基準信号と前記受信側の基準信号を減算することにより、前記デコーダを動作させるための基準となるクロック信号を作成するクロック生成手段とを備えることを特徴とする。
【００１３】
また、本発明は、ＭＰＥＧトランスポートストリームが多重化されたパケットを受信してデコードする装置において、受信したパケットを書き込むタイミングと、前記ＭＰＥＧのデコーダがデータを読み込むタイミングとの差を吸収するためのＦＩＦＯと、受信したパケットから送信側のＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）を抽出するＰＣＲ抽出手段と、受信したパケットに定期的に付加されるシンクタイムと、前記パケットに定期的に付加されるシンクタイムからＰＣＲまでの時間差とを加算し、サイクルタイマーと比較することにより、受信側のＰＣＲを作成するＰＣＲ作成手段と、前記送信側のＰＣＲと前記受信側のＰＣＲを減算することにより、前記デコーダを動作させるための基準となるクロック信号を生成するＰＬＬとを備えることを特徴とする。
【００１４】
【発明の実施の形態】
以下に５個のプログラムが多重化された１９．３ＭＨｚのトランスポートストリームをＰ１３９４シリアルバスの同期型データパケットで伝送し、それを受信し、受信したトランスポートストリームの中から指定された一つのプログラムを抽出し、ＮＴＳＣ方式のビデオ信号に変換して出力する実施の形態について、〔１〕送信側のタイミング、〔２〕受信側のタイミング、〔３〕受信装置、〔４〕受信装置の変形例の順で説明をする。
【００１５】
〔１〕送信側のタイミングまず図１を参照しながら送信側のタイミングについて説明する。この図で、（ａ）は入力されるトランスポートストリーム、（ｂ）はデータブロック番号（詳細は後述する。以下「ＤＢＮ」という。）、（ｃ）は送信されるパケットを示す。
【００１６】
Ｐ１３９４シリアルバスでは、図１に示すように１２５μｓ毎にパケットを出力する。入力されたトランスポートストリームはこの１２５μｓ単位でパケット化され伝送される。ここでは、期間Ｔ１で送信装置のＦＩＦＯ（図示せず）に書かれたトランスポートストリームはパケットＰ１として、期間Ｔ２で書かれたトランスポートストリームはパケットＰ２として伝送される。
【００１７】
Ｐ１３９４シリアルバスでは通常、１クアドレット（３２ビット）単位でデータを伝送した方が都合が良いので、入力されたトランスポートストリームを送信装置内のシリアル／パラレル変換器によって、１クアドレットのパラレルデータに変換する。図１（ａ）のトランスポートストリームは１クアドレット単位のパラレルデータになった後の状態を示している。
【００１８】
Ｐ１３９４シリアルバスで伝送される全てのパケットには、パケット長とＤＢＮが付与されている。この実施の形態では、入力されるトランスポートストリームを仮想的に一定の周期で繰り返すビット列の集合と考え、すなわち現実には一定の周期を持っていないか他の周期で繰り返しているトランスポートストリームを一定の周期で繰り返しているビット列の集合とみなし、仮想的にフレーミングをしている。このフレーミングを行うために、入力されるトランスポートストリームのビットレートと同じ速度で動作するカウンタを用いている。このカウンタの出力値が図１の（ｂ）に示すＤＢＮである。ＤＢＮとは各パケットの最初に書かれている、クアドレットをカウントしている、カウンタの出力値である。
【００１９】
また、パケットにはシンクタイム（Ｓｙｎｃ  Ｔｉｍｅ）が付与されているものと、されていないものがある。これは、そのパケットで伝送されるデータの中に、ＤＢＮが０のデータが含まれるかどうかに依存する。シンクタイムとはＤＢＮが０の時の、Ｐ１３９４のサイクルタイマーが示す時刻のことである。このサイクルタイマーは、各機器内に設けられており、所定の周期（例、１２８秒）で一周する時刻を持っている。
【００２０】
送信側と受信側のクロック信号は独立しており、同期をしていないため、クロック信号の誤差が累積し、送信側でビットストリームをＦＩＦＯに書き込む速度と、受信側でビットストリームをＦＩＦＯから読み出す速度が少しずつずれてくる。これを調節するための情報としてシンクタイムを用いる。
【００２１】
シンクタイムは一つのパケット中に一つしか存在できない。したがって、フレーミングを行うためのカウンタはＰ１３９４の周期（１２５μｓ）よりも長くなくてはならない。この実施の形態では一周期の長さがほぼ１６７μｓのカウンタ、例えば６００ｋＨｚのクロック信号を１００カウントしたら一周するカウンタを用いた。
【００２２】
図１の周期Ｔ１ではＤＢＮが０になっているので、パケットＰ１にはシンクタイムが付与されている。同様に、周期Ｔ３中にもＤＢＮが０になるので、パケットＰ３にはシンクタイムが付与されている。しかし、周期ＴではＤＢＮが０にならないので、パケットＰ２にはシンクタイムは含まれていない。
【００２３】
〔２〕受信側のタイミング次に図２を参照しながら受信側のタイミングについて説明をする。この図で、（ａ）は受信したパケット、（ｂ）は仮想トランスポートストリーム、（ｃ）ＤＢＮを出力するためのカウンタの出力値、（ｄ）パケットカウンタの出力値を示す。なお、ここで（ａ），（ｃ），（ｄ）は時間軸方向に関連があるが、（ｂ）は関連がない。
【００２４】
受信側にもＤＢＮを出力するためのカウンタ（以下「ＤＢＮカウンタ」という。）と、受信したパケット中のトランスポートパケットの位置を示すためのカウンタがある。これらのカウンタの出力がそれぞれ図２（ｃ）と（ｄ）である。
【００２５】
パケットが受信されると、パケット中からデータが１クアドレット読み出される毎にＤＢＮとパケットカウンタの出力値が１ずつ増加する。ＤＢＮは周期が１００なので９９の次は０になる。また、パケットカウンタの出力値は４６の次に０になる。これはトランスポートパケットの長さが４７クアドレット（１８８バイト）とＭＰＥＧが規定していることによる。
【００２６】
受信したパケットからＤＢＮが読み出されると、ＤＢＮカウンタの出力値はパケット中に書かれているＤＢＮに強制的に合わせられる。図２のパケットＰ４にはＤＢＮ＝９９が書かれているので、ＤＢＮカウンタは強制的に９９に合わせられる。正常に動作していればＤＢＮカウンタの出力値は、パケットＰ４のＤＢＮを受け取った時点では９９の筈である。
【００２７】
受信側では、これらＤＢＮカウンタの出力値とパケットカウンタの出力値とシンクタイムとを用いて、前記したＰＣＲを再生すべき時刻を求め、送信側と同じ２７ＭＨｚのクロック信号を再現する。この方法を以下に示す。
【００２８】
まず、トランスポートストリームのプログラムＩＤを読み、現在、読み出しているプログラムが指定されたプログラムかどうかを調べる。もし、指定されたプログラムであったら、パケットカウンタの出力値が１の所のＤＢＮの値を読む。１の所を読む理由は、図７に示したように、ＰＣＲがトランスポートパケットの２クアドレット目に書き込まれているからである。
【００２９】
この時のＤＢＮカウンタの値は、受信したパケットに書かれていたシンクタイムからのクアドレット数である。したがって、この数にトランスポートストリームと同期したクロック信号の一周期の長さを乗ずれば、シンクタイムが示す時刻からＰＣＲまでの時間を求めることができる。さらに、この時間をＰ１３９４の基準クロック信号である２４．５７６ＭＨｚでのクロック数に換算し、その値をシンクタイムに加えることによってＰＣＲを再生すべき時刻を求めることができる。図２（ｂ）に示す仮想トランスポートストリームはその様子を示したものである。なお、この仮想トランスポートストリームは、説明の便宜上記載したものであって、本受信装置では、実際にトランスポートストリームを再生しない。
【００３０】
〔３〕受信装置次に図３を参照しながら受信装置のブロック図の説明をする。なお、この受信装置（前記した送信装置も同様）は例えば図５に示した通信システムの場合、各機器の内部に設けられる。そして、この受信装置の出力は、各機器のビデオデータ処理ブロックへ送られる。
【００３１】
Ｐ１３９４シリアルバス１を介して伝送されたパケットはＰ１３９４インターフェイス（以下「Ｐ１３９４  Ｉ／Ｆ」という。）２で受信され、プログラム抽出回路３、ＰＣＲ抽出回路４、シンクタイム抽出回路５、パケットカウンタ６、プログラムＩＤ抽出回路７、ＤＢＮ抽出回路８へ出力される。
【００３２】
プログラム抽出回路３はプログラムナンバーＰＧＮで指定されるプログラムを抽出し、ＦＩＦＯ９に書き込む。ＦＩＦＯ９に書き込まれたプログラムはパラレル／シリアル変換回路１０でシリアルのビットストリームに変換された後、システムレイヤー処理ブロック１１へ出力され、ＭＰＥＧのシステムレイヤーでの処理が行われる。これによりビットストリームがデコーダ１２にとって都合のよいフォーマットに変換される。
【００３３】
デコーダ１２はＰＬＬ１３から入力される２７ＭＨｚのクロック信号に同期してシステムレイヤー処理ブロック１１からデータを読み込み、ＮＴＳＣエンコーダ１４へ出力し、ＮＴＳＣエンコーダ１４はＮＴＳＣ方式のビデオ信号をビデオデータ処理ブロックへ出力する。
【００３４】
ＤＢＮ抽出回路８はパケット中からＤＢＮを抽出し、ＤＢＮカウンタ１５に出力する。ＤＢＮカウンタ１５は、ＤＢＮ抽出回路８からＤＢＮが入力されると、その値がセットされ、それ以外の時はＰ１３９４  Ｉ／Ｆ２がデータを１クアドレット出力する毎にカウントアップをし、周期は１００で動作する。
【００３５】
パケットカウンタ６は、受信したパケット中のトランスポートストリームからプログラムナンバーＰＧＮで指定されるトランスポートパケットの現在のクアドレット位置を、フレーム同期をとることによって出力している。
【００３６】
比較回路１６ではパケットカウンタ６の値が１で、プログラムＩＤ抽出回路７の出力値がプログラムナンバーＰＧＮと同じになったら、ラッチ１７に出力をする。前記したように、プログラムＩＤは各トランスポートパケット毎に付与されている、プログラム毎に付けられた固有の値である。
【００３７】
ラッチ１７では比較回路１６から入力があると、その時のＤＢＮカウンタ１５の出力値をラッチし、計算回路１８に出力をする。この時のＤＢＮは受信したパケットに書かれていたシンクタイムが示す時刻からＰＣＲまでのクアドレット数である。
【００３８】
計算回路１８ではこの値にトランスポートストリームと同期したクロック信号の一周期である５２ｎｓを乗じ、Ｐ１３９４の基準クロック信号である２４．５７６ＭＨｚの一周期である４１ｎｓで割り、ＰＣＲまでの時間をＰ１３９４でのクロック数に換算する。
【００３９】
一方シンクタイム抽出回路５はトランスポートパケットからシンクタイムｔｓを抽出し、加算器１９へ出力する。加算器１９はシンクタイムｔｓに所定の遅延時間ｔｄを加算し、その結果を加算器２０へ出力する。遅延時間ｔｄを加える理由は、パケットに書かれているシンクタイムの時刻は送信側の時刻であり、受信側でパケットが受信され、そのパケットに書かれたデータがビットストリームとして読みだされた時には、パケットのジッタΔＴ等の要因でシンクタイムの時刻を過ぎているからである。なお、このジッタはＰ１３９４シリアルバスの仕様上生ずるものである。
【００４０】
加算器２０は加算器１９の出力と計算回路１８の出力とを加算し、比較回路２１へ出力する。比較回路２１ではサイクルタイマー２２と加算器２０が出力した値とを比較し、同じ値になったらラッチ２３、２４に出力をする。
【００４１】
ＰＣＲ抽出回路４はトランスポートパケットの２クアドレット目に入っているＰＣＲを抽出する。そして、比較回路２１の出力によりＰＣＲ抽出回路４で抽出されたＰＣＲがラッチ２３でラッチされ、カウンタ２５の出力がラッチ２４でラッチされる。カウンタ２５はＰＬＬ１３が出力する２７ＭＨｚのクロック信号で動作し、送信側で生成したＰＣＲと同じアルゴリズムで動作する。
【００４２】
減算回路２６ではラッチ２３からの入力値とラッチ２４からの入力値の差を求め、その差分をＰＬＬ１３へ出力する。ここで、ラッチ２３にラッチされるのは送信側で作成されたＰＣＲである。一方ラッチ２４にラッチされるのは受信側のカウンタ２５が作成したＰＣＲである。ＰＬＬ１３は、減算回路２６の出力に応じて出力クロック信号の位相を調節し、ラッチ２４の出力がラッチ２３の出力と同じになるようにする。これらの処理により、受信側のカウンタで作成したＰＣＲの位相を送信側で作成したＰＣＲの位相に合わせることができるので、ＰＬＬ１３のクロック信号を送信側のクロック信号に対して同期を確立することができる。
【００４３】
〔４〕受信装置の変形例次に図４を参照しながら受信装置の変形例について説明する。ここでは図３と異なる部分のみ説明する。
【００４４】
ラッチ３１の入力は、図３のラッチ１７と同じＤＢＮカウンタ１５の出力と比較回路１６の出力である。ラッチ３１は、ラッチした値を比較回路３２へ出力すると共にラッチしたタイミングでカウンタ３４，３５をリセットする。
【００４５】
カウンタ３４はＭＰＥＧのトランスポートストリームと同期した１９．３ＭＨｚのクロック信号でカウントアップし、カウンタ３５はＰ１３９４のクロック信号である２４．５７６ＭＨｚのクロック信号でカウントアップする。
【００４６】
比較回路３２はカウンタ３４の出力とラッチ３１の出力が一致したら、ラッチ３３へ信号を出力し、ラッチ３３はその時のカウンタ３５の出力値をラッチする。この結果、ラッチ３３の出力は図３の計算回路１８の出力と等しくなる。
【００４７】
この変形例によれば、図３の計算回路１８における計算が簡単なハードウェアで実現できる。また、送信側で特定のプログラムのみを選択して送信した場合でも対応が可能である。
【００４８】
【発明の効果】
以上詳細に説明したように、本発明では、所定のフォーマットにコード化されたデータのストリームが多重化されたパケットを受信してデコードする装置において、受信したパケットを書き込むタイミングと、前記コード化されたデータのデコーダがデータを読み込むタイミングとの差を一時蓄積手段により吸収し、受信したパケットからプログラムデータを抽出する時間の基準となる基準信号を基準信号抽出手段により抽出し、基準信号作成手段において、受信したパケットに定期的に付加されるストリーム中の所定周期で一周する絶対時刻で示されるデータ位置を示す時刻と、前記時刻から前記基準信号までの時間差とを加算し、所定周期で一周する時刻と比較することにより、受信側の基準信号を作成して、クロック生成手段おいて、前記送信側の基準信号と前記受信側の基準信号を減算することにより、前記デコーダを動作させるための基準となるクロック信号を作成する。
【００４９】
したがって、本発明によれば、所定のフォーマットにコード化されたデータのストリームを再生することなく、基準信号を読み出し、デコーダを動作させるためのクロック信号を生成することができる。
【００５０】
例えばＰ１３９４シリアルバスを用いて伝送されたＭＰＥＧのトランスポートストリームから、受信側でトランスポートストリームを再生することなく、ＰＣＲを読み出し、デコーダを動作させるための２７ＭＨｚ  のクロック信号を生成することができる。
【００５１】
また、本発明によれば、送信側で所定のフォーマットにコード化されたデータのストリームが多重化されたパケットの受信とデータのデコードを単一の一時蓄積手段とＰＬＬとを有する受信装置により実現することができる。
【００５２】
【図面の簡単な説明】
【図１】本発明の実施の形態における送信側の信号のタイミングの一例を説明する図である。
【図２】本発明の実施の形態における受信側の信号のタイミングの一例を説明する図である。
【図３】本発明における受信装置の一例を示すブロック図である。
【図４】本発明における受信装置の変形例を示すブロック図である。
【図５】Ｐ１３９４シリアルバスを用いた通信システムの一例を示す図である。
【図６】Ｐ１３９４シリアルバスにおける通信サイクルの一例を示す図である。
【図７】ＭＰＥＧのトランスポートパケットを示す図である。
【符号の説明】
Ｐ１〜Ｐ４…パケット、１…Ｐ１３９４シリアルバス，５…シンクタイム抽出回路、６…パケットカウンタ、７…プログラムＩＤ抽出回路、８…ＤＢＮ抽出回路、９…ＦＩＦＯ、１２…デコーダ、１３…ＰＬＬ、１５…ＤＢＮカウンタ、１６，３２…比較回路、１７，３１，３３…ラッチ、１８…計算回路、１９，２０…加算器、３４，３５…カウンタ
【図１】
0003578156.tif 000002
【図２】
0003578156.tif 000003
【図３】
0003578156.tif 000004
【図４】
0003578156.tif 000005
【図５】
0003578156.tif 000006
【図６】
0003578156.tif 000007
【図７】
0003578156.tif 000008