(57)【特許請求の範囲】
【請求項１】
所定のネットワーククロックに従ってデータを伝送するネットワークを介して受信装置に接続される通信装置において、
入力されてきたデータに付加されているタイムスタンプを読み取る読み取り手段と、
前記データが入力されてきたタイミングで、前記ネットワーククロックのカウント値を保持する保持手段と、
前記読み取り手段により読み取られた前記タイムスタンプと、前記保持手段により保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、基準クロック値を決定する決定手段と、
前記基準クロック値と、前記読み取り手段により読み取られたタイムスタンプとの距離、並びに前記基準クロック値と、前記保持手段により保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値との距離に基づいて、前記基準クロック値から固定クロック分離れたときの前記データのタイムスタンプの誤差を算出する算出手段と、
前記算出手段により算出された前記誤差を、前記データに書き込む書き込み手段と、
前記書き込み手段により前記誤差が書き込まれたタイムスタンプが付加されているデータを、前記受信装置に送信する送信手段と
を備えることを特徴とする通信装置。
【請求項２】
前記データは、MPEG-2方式に準拠したトランスポートストリームパケットデータであり、
前記固定クロックは、３２４００００クロックである
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記決定手段により決定された前記基準クロック値、所定の参照点と、前記基準クロック値との距離を記憶する記憶手段
をさらに備えることを特徴とする請求項１に記載の通信装置。
【請求項４】
所定のネットワーククロックに従ってデータを伝送するネットワークを介して受信装置に接続される通信装置の通信方法において、
入力されてきたデータに付加されているタイムスタンプを読み取る読み取りステップと、
前記データが入力されてきたタイミングで、前記ネットワーククロックのカウント値を保持する保持ステップと、
前記読み取りステップで読み取られた前記タイムスタンプと、前記保持ステップで保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、基準クロック値を決定する決定ステップと、
前記基準クロック値と、前記読み取りステップで読み取られたタイムスタンプとの距離、前記基準クロック値と、前記保持ステップで保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値との距離に基づいて、前記基準クロック値から固定クロック分離れたときの前記データのタイムスタンプの誤差を算出する算出ステップと、
前記算出ステップで算出された前記誤差を、前記データに書き込む書き込みステップと、
前記書き込みステップで前記誤差が書き込まれたタイムスタンプが付加されているデータを、前記受信装置に送信する送信ステップと
を含むことを特徴とする通信方法。
【請求項５】
所定のネットワーククロックに従ってデータを伝送するネットワークを介して受信装置に接続される通信装置に、
入力されてきたデータに付加されているタイムスタンプを読み取る読み取りステップと、
前記データが入力されてきたタイミングで、前記ネットワーククロックのカウント値を保持する保持ステップと、
前記読み取りステップで読み取られた前記タイムスタンプと、前記保持ステップで保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、基準クロック値を決定する決定ステップと、
前記基準クロック値と、前記読み取りステップで読み取られたタイムスタンプとの距離、並びに前記基準クロック値と、前記保持ステップで保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値との距離に基づいて、前記基準クロック値から固定クロック分離れたときの前記データのタイムスタンプの誤差を算出する算出ステップと、
前記算出ステップで算出された前記誤差を、前記データに書き込む書き込みステップと、
前記書き込みステップで前記誤差が書き込まれたタイムスタンプが付加されているデータを、前記受信装置に送信する送信ステップと
を含むことを特徴とする処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【請求項６】
所定のネットワーククロックに従ってデータを伝送するネットワークを介して送信装置に接続される通信装置において、
入力されてきたデータに付加されているタイムスタンプを読み取る第１の読み取り手段と、
入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報を読み取る第２の読み取り手段と、
前記データが入力されてきたタイミングで、前記ネットワーククロックのカウント値を保持する保持手段と、
前記第１の読み取り手段により読み取られたタイムスタンプと、前記保持手段により保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、基準クロック値を決定する第１の決定手段と、
前記第１の読み取り手段により読み取られたタイムスタンプと、前記保持手段により保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、オフセット値を決定する第２の決定手段と、
前記第１の読み取り手段により読み取られたタイムスタンプ、前記第２の読み取り手段により読み取られた、前記タイムスタンプが付加されているデータに書き込まされた誤差情報、前記第１の決定手段により決定された前記基準クロック値、前記第２の決定手段により決定された前記オフセット値、および前記固定クロックに基づいて、前記タイムスタンプを書き換える書換手段と
を備えることを特徴とする通信装置。
【請求項７】
前記第１の決定手段により決定された前記基準クロック、および前記第２の決定手段により決定された前記オフセット値を記憶する記憶手段
をさらに備えることを特徴する請求項６に記載の通信装置。
【請求項８】
所定のネットワーククロックに従ってデータを伝送するネットワークを介して送信装置に接続される通信装置の通信方法において、
入力されてきたデータに付加されているタイムスタンプを読み取る第１の読み取りステップと、
入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報を読み取る第２の読み取りステップと、
前記データが入力されてきたタイミングで、前記ネットワーククロックのカウント値を保持する保持ステップと、
前記第１の読み取りステップで読み取られたタイムスタンプと、前記保持ステップにより保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、基準クロック値を決定する第１の決定ステップと、
前記第１の読み取りステップで読み取られたタイムスタンプと、前記保持ステップで保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、オフセット値を決定する第２の決定ステップと、
前記第１の読み取りステップで読み取られたタイムスタンプ、前記第２の読み取りステップで読み取られた、前記タイムスタンプが付加されているデータに書き込まされた誤差情報、前記第１の決定ステップで決定された前記基準クロック値、前記第２の決定ステップで決定された前記オフセット値、および前記固定クロックに基づいて、前記タイムスタンプを書き換える書換ステップと
を含むことを特徴とする通信方法。
【請求項９】
所定のネットワーククロックに従ってデータを伝送するネットワークを介して送信装置に接続される通信装置に、
入力されてきたデータに付加されているタイムスタンプを読み取る第１の読み取りステップと、
入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報を読み取る第２の読み取りステップと、
前記データが入力されてきたタイミングで、前記ネットワーククロックのカウント値を保持する保持ステップと、
前記第１の読み取りステップで読み取られたタイムスタンプと、前記保持ステップにより保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、基準クロック値を決定する第１の決定ステップと、
前記第１の読み取りステップで読み取られたタイムスタンプと、前記保持ステップで保持された、前記タイムスタンプが付加されたデータが入力されてきたタイミングでの前記ネットワーククロックのカウント値に基づいて、オフセット値を決定する第２の決定ステップと
前記第１の読み取りステップで読み取られたタイムスタンプ、前記第２の読み取りステップで読み取られた、前記タイムスタンプが付加されているデータに書き込まされた誤差情報、前記第１の決定ステップで決定された前記基準クロック値、前記第２の決定ステップで決定された前記オフセット値、および前記固定クロックに基づいて、前記タイムスタンプを書き換える書換ステップと
を含むことを特徴とする処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信装置および方法、並びに記録媒体に関し、特に、ATM通信技術などを用いてデジタル化されたオーディオデータやビデオデータを送受信することができるようにした通信装置および方法、並びに媒体に関する。
【０００２】
【従来の技術】
図１は、従来のデータ伝送システムの構成例を表している。なお、エンコード側とデコード側のそれぞれが接続するネットワーク３は、デジタルＣＳ放送における伝送方法と同様に、衛星が利用されているものとする。すなわち、ネットワーク３を介して伝送されるデータには、一定間隔の遅延が発生するものとする。
【０００３】
エンコーダ１は、伝送すべきデータとしての、例えばビデオデータおよびオーディオデータをMPEG-2方式に従ってエンコードし、システムエンコーダ２に出力する。システムエンコーダ２は、入力されたビデオデータおよびオーディオデータをパケット化し、トランスポートストリームパケットを生成するとともに、必要に応じて他のトランスポートストリームと多重化して、ネットワーク３上に出力する。
【０００４】
システムエンコーダ２はまた、生成したトランスポートストリームパケットのヘッダに、タイムスタンプであるPCR(Program Clock Reference)を、図２に示すように組み込む（以下、PCRがヘッダに組み込まれたトランスポートストリームパケットをPCRパケットと称する）。このPCRは、エンコード側から、トランスポートストリームが出力されるタイミングでカウントされた、システムエンコーダ２におけるシステムクロックＣ１（MPEG-2方式の場合、周波数が２７MHzのクロック）のカウント値である。なお、PCRは、MPEG-2規格により、0.1秒間に少なくとも１つ、エンコード側から出力されるように、トランスポートストリームに組み込まれている。
【０００５】
図１に戻り、エンコード側から出力されたトランスポートストリームパケット（PCRパケットを含む）は、ネットワーク３を介して、デコード側に到着し、そのシステムデコーダ４に入力される。なお、ネットワーク３を介して伝送されてきたトランスポートストリームは、一定間隔の遅延を有しているので、PCR（PCRパケット）は、エンコード側から送出された間隔と同じ間隔（その差が、MPEG-2規格の+/-500ns以内）でデコード側に到着する。
【０００６】
システムデコーダ４は、入力されたトランスポートストリームパケットをデパケット化し、その結果得られたオーディオストリームまたはビデオストリームを、デコーダ５に出力する。システムデコーダ４はまた、図２に示すように、PCRパケットからPCRを取り出し、そのPCRと、PCRを取り出したタイミングでカウントした、デコード側のシステムクロックＣ２（２７MHzのクロック）のカウント値と比較し、その比較結果に基づいて、システムクロックＣ２の速度を調整し、デコーダ５に供給する。
【０００７】
デコーダ５は、システムデコーダ４から供給されたオーディオデータまたはビデオデータを、システムデコーダ４から供給されたシステムクロックＣ２に同期して、デコード処理をする。
【０００８】
次に、デコード側におけるシステムクロックＣ２の生成（調整）処理を、図３と図４を参照してさらに説明する。システムデコーダ４は、図３に示すように構成されている。システムデコーダ４に供給されたトランスポートストリームパケットは、システムデコーダ４のシステムデコード部１１およびタイムスタンプ取出回路１２に供給される。
【０００９】
タイムスタンプ取出回路１２は、図２に示したように、PCRパケットに組み込まれたPCRを取り出し、PLL回路１３に出力する。PLL回路１３は、例えば図４に示すように構成されており、その減算器２１には、タイムスタンプ取出回路１２により取り出されたPCR、およびそのPCRが入力されたタイミングでカウントされたカウンタ２４のカウント値（D/Aコンバータ兼VCO２３から出力されるクロックのカウント値）が入力される。減算器２１は、タイムスタンプ取出回路１２からのPCRと、カウンタ２４からのカウント値との差を算出し、ローパスフィルタ（以下、LPFと略称する）２２に出力する。LPF２２は、入力された減算器２１からの演算結果を時間的に平滑し、D/Aコンバータ兼VCO（電圧制御発振器）２３に出力する。D/Aコンバータ兼VCO２３は、LPF２２より入力されたデジタル信号をアナログ信号に変換し、そのアナログ信号を制御電圧として、その制御電圧に対応する周波数のシステムクロックＣ２を発生する。D/Aコンバータ兼VCO２３は、発生したシステムクロックＣ２をカウンタ２４およびデコーダ５に出力する。
【００１０】
カウンタ２４は、D/Aコンバータ兼VCO２３からのシステムクロックＣ２をカウントし、そのカウント値を、その時点におけるシステムクロックＣ２の周波数と位相を表す信号として、減算器２１に供給する。すなわち、このPLL回路１３において、トランスポートストリームパケットに組み込まれたPCRと、そのPCRが取り出されるタイミング（PCRパケットがデコード側に到着するタイミング）でカウントされたシステムクロックＣ２のカウント値の差がなくなるように、システムクロックＣ２の速度が調整される。その結果、エンコード側のシステムクロックＣ１と同期する、デコード側のシステムクロックＣ２が生成される。
【００１１】
図３に戻り、システムデコード部１１は、入力されたトランスポートストリームパケットをデパケット化し、その結果得られたオーディオストリームおよびビデオストリームを、デコーダ５に出力する。
【００１２】
ところで、ネットワーク３として、衛星放送における伝送方法と同様に、衛星が利用されている場合、エンコード側から伝送されたトランスポートストリームパケットには、固定遅延が付加される。つまり、エンコード側から伝送されたトランスポートストリームパケットは、一定時間分だけ遅れて、または速まって、デコード側に到着する。この場合、遅れる時間または速まる時間は、一定であるので、トランスポートストリームパケット（PCRパケットを含む）のデコード側への到着間隔は、エンコード側からの出力間隔と同じとなる。そのため、この場合においては、図３と図４を参照して説明した方法を利用することで、デコード側のシステムクロックＣ２は、エンコード側のシステムクロックＣ１と同期するように生成される。
【００１３】
【発明が解決しようとする課題】
しかしながら、ネットワーク３として、ATM(Asynchronous Transfer Mode)ネットワークが利用される場合、エンコード側から伝送されるトランスポートストリームパケットには、一定間隔の遅延ではなく、例えば、１ms乃至２msの範囲でゆれる遅延（以下、遅延ゆらぎと称する）が付加される。この場合、上述したデータ伝送システムでは、その遅延ゆらぎが吸収されず、結局、遅延の大きさが、MPEG-2規格の+/-500nsの範囲を大きく超えてしまい、データが適切に再生されない。
【００１４】
そこで、デコード側において、遅延ゆらぎをある程度低減させた後にシステムクロックを生成するようにしたアダプティブクロック法などの同期方法が提案されている。
【００１５】
図５は、アダプティブクロック法を適用したデコード側の装置のアダプティブクロック部５１の構成例を表している。なお、ネットワーク５０を介して伝送されてくるデータには、遅延ゆらぎが発生しているものとする。
【００１６】
ネットワーク５０を介して伝送されてきた、遅延ゆらぎを有するデータは、アダプディブクロック部５１のFIFO５２に入力される。FIFO５２は、入力されたデータを一時保持するとともに、制御部５３から供給される所定の読み出しクロックに対応してデータを出力する。FIFO５２はまた、自分自身のデータ占有率をLPF５４に出力する。LPF５４は、FIFO５２のデータ占有率を平滑し、それを制御部５３に出力する。
【００１７】
制御部５３は、LPF５４から供給されるデータ（平滑されたFIFO５２のデータ占有率）が、所定の値になるように、FIFO５２に出力する読み出しクロックの速度を制御する。すなわち、アダプティブクロック法においては、制御部５３により制御されるクロックがデコード側のシステムクロックとされる。
【００１８】
このように、このアダプティブクロック方式においては、受信されたデータのみに基づいて、デコード側のシステムクロックが生成されるので、装置の構成を簡単にすることができる。しかしながら、この例では、ジッタ成分をアナログ的にシェイビングしているだけなので、長い時間でみればジッタ成分は残っており、遅延ゆらぎは十分に吸収されない課題がある。
【００１９】
また、エンコード側に、図６に示されるような構成を有する送信装置６１、およびデコード側に、図７に示すような構成を有する受信装置６２からなるデータ伝送システムも提案されている。これは、例えば、各テレビジョン放送局または番組作成会社において、それぞれのクロックに同期した複数のプログラムを伝送するためのシステムである。
【００２０】
送信装置６１には、図６に示すように、PLL回路７１とＮ個の同期データ作成部７２−１乃至７２−Ｎ（以下、ここに区別する必要がない場合、単に、同期データ作成部７２と記述する。他の部分についても同様である）が設けられている。PLL回路７１には、ネットワーク６３のネットワーククロックである８KHzのクロックが供給される。PLL回路７１は、図８に示すように構成されている位相比較器９１が設けられている。位相比較器９１のVCO９２は、位相比較部９４から供給される信号に基づいて所定の位相の２７MHzを発生し、それを分周器９３に出力するとともに、同期データ作成部７２−１乃至７２−Ｎのそれぞれにも出力する。
【００２１】
分周器９３は、VCO９２から入力された２７MHzのクロックを、１／３３７５に分周し、８KHzのクロックを生成し、それを位相比較部９４に出力する。位相比較部９４は、ネットワーク６３からの８KHzのクロックと、分周器９３からの８KHzのクロックの位相を比較し、比較結果をVCO９２に出力する。
【００２２】
同期データ作成部７２−１は、PLL回路８１、ラッチ回路８２、およびクロック８３などから構成されている。同期データ作成部７２−１のPLL回路８１には、例えば、所定のクロックに同期して作成されたデータに含まれているタイムスタンプが供給される。PLL回路８１は、基本的に、図４に示したPLL回路１３と同様の構成を有している。すなわち、PLL回路８１は、入力されたタイムスタンプに基づて所定のクロックを発生し、ラッチ回路８２に出力する。
【００２３】
ラッチ回路８２は、PLL回路８１からのクロックとクロック８３からのクロックに従ってラッチ処理を実行する。そのラッチ処理の処理結果により再生されたデータが同期データとされ、所定のトランスポートストリームパケットに組み込まれる。
【００２４】
同期データ作成部７２−２乃至７２−Ｎも、同期データ作成部７２−１と同様の構成を有しているので、その図示と詳細な説明は省略するが、それぞれ異なるクロックに同期して作成されたデータに含まれるタイムスタンプが入力され、そのクロックに対応した同期データを作成する。
【００２５】
受信装置６２には、図７に示すように、PLL回路１０１とＮ個のシステムクロック再生部１０２−１乃至１０２−Ｎが設けられている。PLL回路１０１には、ネットワーク６３のネットワーククロックである８KHzのクロックが供給される。PLL回路１０１は、送信装置６１のPLL回路７１と同様に、入力される８KHzのクロックに対応する２７MHzのクロックを発生し、システムクロック再生部１０２−１乃至１０２−Ｎのそれぞれに出力する。
【００２６】
システムクロック再生部１０２−１は、クロック１１０およびPLL回路１１１などから構成されている。システムクロック再生部１０２−１のクロック１１０には、PLL回路１０１から供給されたクロックが入力され、クロック１１０は、それを１／２７００００００に分周し、PLL回路１１１に出力する。PLL回路１１１には、クロック１１０からのクロックの他、送信装置６１の同期データ作成部７２−１により作成された同期データが供給される。そこでPLL回路１１１は、入力されたクロックおよび同期データに基づいて、システムクロックを再生する。
【００２７】
システムクロック再生部１０２−２乃至１０２−Ｎも、システムクロック再生部１０２−１と同様の構成を有しているので、その図示は省略するが、それらは、それぞれ対応する、送信装置６１の同期データ作成部７２から供給される同期データを利用してシステムクロックを再生する。このように再生されたシステムクロックは、それぞれのデータのエンコード時のクロックに同期しているので、そのクロックに従って、データをそれぞれデコードすることにより、データは適切に再生される。
【００２８】
しかしながら、上述したデータ伝送システムにおいては、エンコード時のクロック毎に、同期データ作成部７２およびシステムクロック再生部１０２を備える必要があり、装置の構成が複雑、かつ、大型化してしまう課題があった。
【００２９】
本発明はこのような問題に盤みてなされたものであり、遅延ゆらぎを、容易に、かつ、確実に吸収し、また装置を複雑、かつ、大型化することなく、複数のプログラムに対応するデータを送受信することができるようにしたものである。
【００３０】
【課題を解決するための手段】
請求項１に記載の通信装置は、入力されてきたデータに付加されているタイムスタンプを読み取る読み取り手段と、データが入力されてきたタイミングで、ネットワーククロックのカウント値を保持する保持手段と、読み取り手段により読み取られたタイムスタンプと、保持手段により保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値を決定する決定手段と、基準クロック値と、読み取り手段により読み取られたタイムスタンプとの距離、並びに基準クロック値と、保持手段により保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値との距離に基づいて、基準クロック値から固定クロック分離れたときのデータのタイムスタンプの誤差を算出する算出手段と、算出手段により算出された誤差を、データに書き込む書き込み手段と、書き込み手段により誤差が書き込まれたタイムスタンプが付加されているデータを、受信装置に送信する送信手段とを備えることを特徴とする。
【００３１】
請求項２に記載の通信装置は、データは、MPEG-2方式に準拠したトランスポートストリームパケットデータで、固定クロックは、３２４００００クロックである。
【００３２】
請求項３に記載の通信装置は、決定手段により決定された基準クロック値、所定の参照点と、基準クロック値との距離を記憶することができる。
【００３３】
請求項４に記載の通信方法は、入力されてきたデータに付加されているタイムスタンプを読み取る読み取りステップと、データが入力されてきたタイミングで、ネットワーククロックのカウント値を保持する保持ステップと、読み取りステップで読み取られたタイムスタンプと、保持ステップで保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値を決定する決定ステップと、基準クロック値と、読み取りステップで読み取られたタイムスタンプとの距離、並びに基準クロック値と、保持ステップで保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値との距離に基づいて、基準クロック値から固定クロック分離れたときのデータのタイムスタンプの誤差を算出する算出ステップと、算出ステップで算出された誤差を、データに書き込む書き込みステップと、書き込みステップで誤差が書き込まれたタイムスタンプが付加されているデータを、受信装置に送信する送信ステップとを含むことを特徴とする。
【００３４】
請求項５に記載の記録媒体は、入力されてきたデータに付加されているタイムスタンプを読み取る読み取りステップと、データが入力されてきたタイミングで、ネットワーククロックのカウント値を保持する保持ステップと、読み取りステップで読み取られたタイムスタンプと、保持ステップで保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値を決定する決定ステップと、基準クロック値と、読み取りステップで読み取られたタイムスタンプとの距離、並びに基準クロック値と、保持ステップで保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値との距離に基づいて、基準クロック値から固定クロック分離れたときのデータのタイムスタンプの誤差を算出する算出ステップと、算出ステップで算出された誤差を、データに書き込む書き込みステップと、書き込みステップで誤差が書き込まれたタイムスタンプが付加されているデータを、受信装置に送信する送信ステップとからなることを特徴とするプログラムを実行させる。
【００３５】
請求項１に記載の通信装置、請求項４に記載の通信方法、および請求項５に記載の記録媒体においては、入力されてきたデータに付加されているタイムスタンプが読み取られ、データが入力されてきたタイミングで、ネットワーククロックのカウント値が保持され、読み取られたタイムスタンプと、保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値が決定され、基準クロック値から、読み取られたタイムスタンプの距離と、基準クロック値から、保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値の距離に基づいて、基準クロック値から固定クロック分離れたときのデータのタイムスタンプの誤差が算出され、算出された誤差が、データに書き込まれ、誤差が書き込まれたタイムスタンプが付加されているデータが、受信装置に送信される。
【００３６】
請求項６に記載の通信装置は、入力されてきたデータに付加されているタイムスタンプを読み取る第１の読み取り手段と、入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報を読み取る第２の読み取り手段と、データが入力されてきたタイミングで、ネットワーククロックのカウント値を保持する保持手段と、第１の読み取り手段により読み取られたタイムスタンプと、保持手段により保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値を決定する第１の決定手段と、第１の読み取り手段により読み取られたタイムスタンプと、保持手段により保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、オフセット値を決定する第２の決定手段と、第１の読み取り手段により読み取られたタイムスタンプ、第２の読み取り手段により読み取られた、タイムスタンプが付加されているデータに書き込まされた誤差情報、第１の決定手段により決定された基準クロック値、第２の決定手段により決定されたオフセット値、および固定クロックに基づいて、タイムスタンプを書き換える書換手段とを備えることを特徴とする。
【００３７】
請求項７に記載の通信装置は、第１の決定手段により決定された基準クロック、および第２の決定手段により決定されたオフセット値を記憶することができる。
【００３８】
請求項８に記載の通信方法は、入力されてきたデータに付加されているタイムスタンプを読み取る第１の読み取りステップと、入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報を読み取る第２の読み取りステップと、データが入力されてきたタイミングで、ネットワーククロックのカウント値を保持する保持ステップと、第１の読み取りステップで読み取られたタイムスタンプと、保持ステップにより保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値を決定する第１の決定ステップと、第１の読み取りステップで読み取られたタイムスタンプと、保持ステップで保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、オフセット値を決定する第２の決定ステップと、第１の読み取りステップで読み取られたタイムスタンプ、第２の読み取りステップで読み取られた、タイムスタンプが付加されているデータに書き込まされた誤差情報、第１の決定ステップで決定された基準クロック値、第２の決定ステップで決定されたオフセット値、および固定クロックに基づいて、タイムスタンプを書き換える書換ステップとを含むことを特徴とする。
【００３９】
請求項９に記載の記録媒体は、入力されてきたデータに付加されているタイムスタンプを読み取る第１の読み取りステップと、入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報を読み取る第２の読み取りステップと、データが入力されてきたタイミングで、ネットワーククロックのカウント値を保持する保持ステップと、第１の読み取りステップで読み取られたタイムスタンプと、保持ステップにより保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値を決定する第１の決定ステップと、第１の読み取りステップで読み取られたタイムスタンプと、保持ステップで保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、オフセット値を決定する第２の決定ステップと、第１の読み取りステップで読み取られたタイムスタンプ、第２の読み取りステップで読み取られた、タイムスタンプが付加されているデータに書き込まされた誤差情報、第１の決定ステップで決定された基準クロック値、第２の決定ステップで決定されたオフセット値、および固定クロックに基づいて、タイムスタンプを書き換える書換ステップとからなることを特徴とするプログラムを実行させる。
【００４０】
請求項６に記載の通信装置、請求項８に記載の通信方法、および請求項９に記載の記録媒体においては、入力されてきたデータに付加されているタイムスタンプが読み取られ、入力されてきたデータに書き込まされている、所定の固定クロックに対応する誤差情報が読み取られ、データが入力されてきたタイミングで、ネットワーククロックのカウント値が保持され、読み取られたタイムスタンプと、保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、基準クロック値が決定され、読み取られたタイムスタンプと、保持された、タイムスタンプが付加されたデータが入力されてきたタイミングでのネットワーククロックのカウント値に基づいて、オフセット値が決定され、読み取られたタイムスタンプ、読み取られた、タイムスタンプが付加されているデータに書き込まされた誤差情報、決定された基準クロック値、決定されたオフセット値、および固定クロックに基づいて、タイムスタンプが書き換えられる。
【００４１】
【発明の実施の形態】
図９は、本発明を適用したデータ伝送システムの構成例を表している。このシステムにおいては、MPEG-2方式に準拠したMPEGトランスポートストリームが、ATMネットワークであるネットワーク２０２を介して送受信される。すなわち、ネットワーク２０２を介して伝送されるデータには、遅延ゆらぎが発生する。
【００４２】
送信装置２０１には、それぞれにエンコードされた複数のプログラムが多重化されているMPEGトランスポートストリームパケットが入力される。なお、このMPEGトランスポートストリームパケットには、PCRが少なくとも0.1秒以内の間隔で受信装置２０３に到着するようにPCRパケットが組み込まれている。
【００４３】
MPEGトランスポートストリームパケットは、図１０に示すように、ヘッダ部、アダプテーションフィールド部、およびペイロード部等からなる、１８８バイトの固定パケットである。ヘッダ部には、同期バイト（８ビット）、誤り表示（１ビット）、ユニット開始表示（１ビット）、トランスポートパケットプライオリティ（１ビット）、PID(Packet Identification)（１３ビット）、スクランブル制御（２ビット）、アダプテーションフィール制御（２ビット）、巡回カウンタ（４ビット）が含まれる。なお、同期バイトは、４７ｈとされている。
【００４４】
アダプテーションフィールド部には、アダプテーションフィールド長さ（８ビット）、不連続表示（１ビット）、ランダムアクセス表示（１ビット）、ストリーム優先表示（１ビット）、フラグ（５ビット）、プログラムクロックリファレンスベース（３３ビット）、リザーブ（６ビット）、およびプログラムクロックリファレンス拡張（９ビット）が含まれる。なお、フラグには、PCRフラグ（１ビット）をはじめ５種類のフラグが存在する。
【００４５】
ペイロード部には、データが含まれる。
【００４６】
MPEGトランスポートストリームパケットは、以上のようなデータ構造を有するが、図１０に示すように、ヘッダ部のアダプテーションフィールド制御が”１０”または”１１”とされ、かつ、アダプテーションフィールド部のアダプテーションフィールド長さが００ｈ以外の値で、さらにPCRフラグに”１”が立っている場合（以下、このようなデータ設定をPCRパケット条件と記述する）、そのMPEGトランスポートストリームパケットは、PCRパケットであり、そのアダプテーションフィールド部のプログラムクロックリファレンスベースの値およびプログラムロックリファレンス拡張の値の組み合わせが、PCR値を表す。
【００４７】
プログラムクロックリファレンスベースには、０乃至２９９の値が順に設定され（カウントされ）、プログラムクロックリファレンスベースの値が２９９から０の値に戻る（リセット）されるタイミングで、プログラムクロックリファレンス拡張の値が１だけインクリメントされる。すなわち、プログラムクロックリファレンスベースおよびプログラムクロックリファレンス拡張の合計４２ビットにより、MPEG-2方式における２７MHzのシステムクロックを単位として、２４時間分の時間がカウントされる。
【００４８】
図９に戻り、送信装置２０１に入力されたMPEGトランスポートストリームパケット（PCRパケットを含む）は、そこで、ATMセルに変換され、ネットワーク２０２上に伝送されるが、PCRパケットには、そのPCR値に基づいて作成された所定の同期情報（後述）が書き込まれる。
【００４９】
ネットワーク２０２を介して伝送されてきたATMセルは、受信装置２０３に到着し、そこで、MPEGトランスポートストリームに変換されるが、PCRパケットに含まれるPCR値は、PCRパケットに書き込まれた同期情報に基づいて修正される。PCR値が修正されたPCRパケットを含むMPEGトランスポートストリームパケットは、図示せぬデコーダに供給され、そこでデコードされる。
【００５０】
図１１は、送信装置２０１の構成例を表している。MPEGトランスポートストリームパケット同期部（以下、TSパケット同期部と略称する）２１１には、送信装置２０１に供給されたMPEGトランスポートストリームパケットが入力される。TSパケット同期部２１１は、入力されたMPEGトランスポートストリームパケットの先頭を検出し、フレーム同期を確立するとともに、フレーム同期を確立した後、MEPGトランスポートストリームパケットを、PCRパケット検出部２１２に出力する。
【００５１】
PCRパケット検出部２１２は、TSパケット同期部２１１から入力されたMPEGトランスポートストリームパケット（フレーム同期が取られているMPEGトランスポートストリームパケット）のヘッダ部およびアダプテーションフィールド部を参照して、PCRパケット条件が設定されているか否かを判定し、PCRパケット条件が設定されていると判定した場合、すなわち、そのMPEGトランスポートストリームパケットがPCRパケットである場合、そのことを示す信号（以下、PCRパケット検出信号と称する）を同期情報処理部２１３に出力する。なお、PCRパケット検出部２１２は、入力されたMPEGトランスポートストリームパケット自身には、何ら処理を施さずに、同期情報処理部２１３に出力する。
【００５２】
同期情報処理部２１３には、PCRパケット検出部２１２から、MPEGトランスポートストリームパケットおよびPCRパケット検出信号、並びにカウンタ２１４から、カウント値が、それぞれ入力される。
【００５３】
同期情報処理部２１３は、PCRパケット検出部２１２からのPCRパケット検出信号により特定される、PCRパケット検出部２１２からのMPEGトランスポートストリームパケット（PCRパケット）からPCRを読み出し、読み出したPCRに基づいて、所定の同期情報（詳細は後述する）を算出する。同期情報処理部２１３は、算出した同期情報をそのPCRパケットに書き込み、MPEG／ATM変換部２１６に出力する。
【００５４】
メモリ２１５は、同期情報処理部２１３から供給される、同期情報を算出する上において必要なデータを適宜記憶する。なお、この例の場合、同期情報処理部２１３による同期情報算出処理は、プログラム毎（MEPGトランスポートストリームパケットに設定されたPID毎）に行われるので、メモリ２１５は、同期情報処理部２１３から供給されるデータを各プログラム毎に記憶する。
【００５５】
MPEG／ATM変換部２１６は、MPEGトランスポートストリームパケットをATMセルに変換してネットワーク２０２へ送信する。MPEG／ATM変換部２１６はまた、ネットワーク２０２から順次送信されてくるATMセルを受信し、受信したATMセルに基づいてネットワーク２０２のネットワーククロックに同期した８KHzのクロックを生成し、PLL回路２１７に出力する。
【００５６】
PLL回路２１７は、例えば、図６のPLL回路７１と同様に、図１２に示すような位相比較器２５０を有している。VCO２５１は、位相比較部２５２から供給される信号に基づいて所定の位相の２７MHzを発生し、カウンタ２１４および分周器２５３に出力する。分周器２５３は、VCO２５１から入力された２７MHzのクロックを、１／３３７５に分周し、８KHzのクロックを生成し、位相比較部２５２に出力する。位相比較部２５２は、MPEG／ATM変換部２１６からの８KHzのクロックの位相と、分周器２５３からの８KHzからのクロックの位相を比較し、その比較結果をVCO２５１に出力する。すなわち、カウンタ２１４に出力される２７MHzのクロックは、ネットワーク２０２のネットワーククロックと同期するように、その位相が調整される。
【００５７】
図１１に戻り、カウンタ２１４は、PLL回路２１７からの２７MHzのクロックを１／３２４００００で分周して、カウントするとともに、そのカウント値Ｎを同期情報処理部２１３に出力する。すなわち、このカウンタ２１４は、ネットワーク２０２のネットワーククロックに同期したクロックをカウントする。
【００５８】
次に、送信装置２０１のTSパケット同期部２１１の動作を、図１３のフローチャートを参照して説明する。
【００５９】
ステップＳ１において、TSパケット同期部２１１は、入力されたMPEGトランスポートストリームパケットのデータを１バイトごと読み取り、読み取った値が、同期バイトと等しい４７ｈ（図１０）であると判定するまで待機する。読み取った１バイトの値が４７ｈであると判定したとき、TSパケット同期部２１１は、ステップＳ２に進み、４７ｈを読み取った回数をカウントするカウンタｉの値を１に初期設定する。
【００６０】
次に、ステップＳ３において、TSパケット同期部２１１は、ステップＳ１で読み取った４７ｈから１８８バイト分離れたデータ（１８８バイト後のデータ）を読み取り、ステップＳ４において、それが４７ｈであるか否かを判定する。ステップＳ４において、ステップＳ３で読み取ったデータが４７ｈではないと判定した場合、TSパケット同期部２１１は、ステップＳ１に戻り、それ以降の処理を実行する。一方、ステップＳ４において、読み取ったデータが４７ｈであると判定した場合、TSパケット同期部２１１は、ステップＳ５に進む。
【００６１】
ステップＳ５において、TSパケット同期部２１１は、カウンタｉの値が５であるか否かを判定し、その値が５ではないと判定した場合、ステップＳ６に進み、カウンタｉの値を１だけインクリメントし、ステップＳ３に戻り、それ以降の処理を実行する。ステップＳ５で、カウンタｉの値が５とであると判定された場合、すなわち、入力されたMPEGトランスポートストリームパケットのデータから、１８８バイト毎に、５回連続して４７ｈが読み取られた場合、ステップＳ７に進む。
【００６２】
ステップＳ７において、TSパケット同期部２１１は、５回目に検出した４７ｈを同期バイトとし、すなわち、MPEGトランスポートストリームパケットの先頭データとし、フレーム同期を確立する。なお、ステップＳ７で、フレーム同期が確立される前に送信装置２０１に入力されたデータは、PCRパケット検出部２１２には供給されず、捨てられる。
【００６３】
以上のようにして、フレーム同期が確立される。
【００６４】
次に、ステップＳ８において、TSパケット同期部２１１は、カウンタｉの値を１に初期設定し、ステップＳ９に進み、同期バイトとした４７ｈから１８８バイト分離れたデータを読み取り、ステップＳ１０において、それが４７ｈであるか否かを判定する。
【００６５】
ステップＳ１０において、ステップＳ９で読み取られたデータが４７ｈではないと判定した場合、TSパケット同期部２１１は、ステップＳ１１に進み、カウンタｉの値が３であるか否かを判定し、その値が３はないと判定した場合、ステップＳ１２に進み、カウンタｉの値を１だけインクリメントし、ステップＳ９に戻り、それ以降の処理を実行する。一方、ステップＳ１１で、カウンタｉの値が３であると判定された場合、ステップＳ１に戻り、それ以降の処理が実行される。すなわち、ステップＳ９において読み取られたデータが３回連続して４７ｈではないと判定された場合、MPEGトランスポートストリームパケットのフレーム同期が取られていないと判断され、ステップＳ１に戻り、同期確立のための処理が、はじめから行われる。なお、同期を確立するための処理がはじめから再度行われる前に入力された、同期が取られていないと予想される、３×１８８バイト分のデータは、PCRパケット検出部２１２に供給されることになる。
【００６６】
ステップＳ１０において、TSパケット同期部２１１は、ステップＳ９で読み取ったデータが４７ｈであると判定した場合、ステップＳ９に戻り、それ以降の処理を実行する。
【００６７】
図１４のフローチャートを参照して、同期を確立するための他の方法について説明する。なお、この例の場合、TSパケット同期部２１１は、図１５に示すように、１８８個のメモリ領域ｉ（＝１，２，・・，１８８）からなる４７ｈカウント部を内蔵しているものとする。なお、初期状態において、４７ｈカウント部の各メモリ領域ｉには、値０が設定されている。
【００６８】
ステップＳ２１において、TSパケット同期部２１１は、入力されたMPEGトランスポートストリームパケットを１バイトごと読み出し、４７ｈを検出するまで待機し、４７ｈを検出すると、ステップＳ２２に進み、カウンタｉの値を１だけインクリメントし、ステップＳ２３において、カウンタｉの値で特定されるメモリ領域ｉ（＝１）の値を、１だけインクリメントする。
【００６９】
図１６（Ｂ）には、ステップＳ２１で４７ｈが検出された位置から１８８バイト毎に区分されたデータ１乃至データ５が示され、図１６（Ａ）には、各データを構成するバイトと、それに対応する４７ｈカウント部のメモリ領域ｉの値が示されている。データ１の先頭データ（４７ｈ）に対応する、メモリ領域１の値は、１が設定されている。なお、図１６中、ｘｘｈは、４７ｈ以外のデータを示している。
【００７０】
次に、ステップＳ２４において、TSパケット同期部２１１は、ステップＳ２１で、検出した４７ｈの次の１バイト分のデータを読みとり、ステップＳ２５において、カウンタｉの値を１だけインクリメントする。
【００７１】
ステップＳ２６において、TSパケット同期部２１１は、ステップＳ２４で読み取ったデータが４７ｈであるか否かを判定し、４７ｈではないと判定した場合、ステップＳ２７に進む。
【００７２】
図１６のデータ１の場合、４７ｈの次の１バイトのデータは、４７ｈではないので（図中、”xxh”で示されているデータであるので）、ステップＳ２７に進み、TSパケット同期部２１１は、メモリ領域２に０を設定する。
【００７３】
次に、ステップＳ２８において、TSパケット同期部２１１は、カウンタｉの値が１８９であるか否かを判定し、その値が１８９ではないと判定した場合、ステップＳ２４に戻り、それ以降の処理を実行する。
【００７４】
ステップＳ２６において、読み取られたデータが４７ｈであると判定された場合、ステップＳ２９に進み、TSパケット同期部２１１は、カウンタｉの値で特定されるメモリ領域ｉの値を１だけインクリメントする。データ１の先頭バイトからｋバイト離れたデータは、４７ｈであるので、メモリ領域ｋの値は、１だけインクリメントされる。
【００７５】
次に、ステップＳ３０において、TSパケット同期部２１１は、ステップＳ２９で、その値を１だけインクリメントしたメモリ領域ｉの値が５であるか否を判定し、その値が５ではないと判定した場合、ステップＳ２８に戻り、それ以降の処理を実行する。
【００７６】
ステップＳ２８において、カウンタｉの値が１８９であると判定された場合、ステップＳ２２に戻り、TSパケット同期部２１１は、それ以降の処理を実行するステップＳ３０において、メモリ領域ｉの値が５であると判定された場合、ステップＳ３１に進み、TSパケット同期部２１１は、カウンタｉ＝５のとき、ステップＳ２４で読み取った４７ｈを同期バイトとし、MPEGトランスポートストリームのフレーム同期を確立する。図１６の例では、データ５の先頭データからｋバイト離れた４７ｈが読み出されているとき、メモリ領域ｋの値が５となるので、そのとき読み出されたデータ５の４７ｈが同期バイトとされ、フレーム同期が確立される。
【００７７】
ステップＳ３２乃至ステップＳ３６の処理は、図１３のステップＳ８乃至ステップＳ１２における場合と同様であるので、その説明は省略する。
【００７８】
次に、同期情報を算出する場合の同期情報処理部２１３の処理手順を、図１７のフローチャートを参照して説明する。なお、この処理は、MPEGトランスポートストリームに設定されたPID毎（最大8192個のプログラム分のPID毎）に実行されるが、この例の場合、１つのPIDに対応して実行される同期情報算出処理を例として説明する。
【００７９】
TSパケット同期部２１１により、MPEGトランスポートストリームパケットのフレーム同期が確立されている状態において、ステップＳ５１において、PCRパケット検出部２１２が、例えば、図１８（Ａ）に示すように、時刻Ｐ１において、フレーム同期確立後、送信装置２０１に入力された最初のPCRパケット（第１番目のPCRパケット）を検出し、PCRパケット検出信号を同期情報処理部２１３に出力する。同期情報処理部２１３は、PCRパケットが検出されたことを示すフラグをメモリ２１５に設定する。
【００８０】
次に、ステップＳ５２において、同期情報処理部２１３は、オフセット値Ｏを算出する。具体的には、はじめに、同期情報処理部２１３は、第１番目のPCRパケットのPCR値Ｅ１（図１８（Ｃ））を取得し、それを基準クロック値Ｂ（図１８（Ｂ））とする。なお、このとき、同期情報処理部２１３は、カウンタ２１４に対して、図１８（Ｂ）に示すように、カウント値Ｎが基準クロック値Ｂとなるタイミング（時刻ｔ０（図１８（Ａ））でカウント値Ｎのリセットを指令する。次に、同期情報処理部２１３は、ステップＳ５１でPCRパケット検出信号が入力されたときの、カウンタ２１４から供給されたカウント値Ｎ１（図１８（Ｂ））を参照点として保持し、それを基準クロック値Ｂとともに、下記の式（１）に代入し、オフセット値Ｏを算出する。
オフセット値Ｏ＝PCR値Ｅ１（＝基準クロック値Ｂ）−カウント値Ｎ１
・・・（１）
【００８１】
ステップＳ５３において、同期情報処理部２１３は、基準クロック値Ｂおよびオフセット値Ｏのそれぞれをメモリ２１５に記憶させる。
【００８２】
次に、ステップＳ５４において、同期情報処理部２１３は、カウンタ２１４からのカウント値Ｎが３２４００００を示すまでに、PCRパケット検出信号が、PCRパケット検出部２１２から入力されたか否かを判定し、それまでにPCRパケット検出信号が入力されたと判定した場合、ステップＳ５５に進む。この例の場合、図１８（Ａ），（Ｂ）に示すように、ステップＳ５２でカウンタ２１４のカウント値Ｎがリセットされてから（時刻ｔ０）、３２４００００クロックのカウントが完了するとき（時刻ｔ１（図１８（Ａ））までに、第２番目のPCRパケットが検出されるので、ステップＳ５５に進む。なお、PCRパケットが入力されていないとき、同期情報処理部２１３は、PCRパケットが検出されたことを示すフラグを取り消す。
【００８３】
ステップＳ５５において、同期情報処理部２１３は、PCRパケット（この場合、第２番目のPCRパケット）のヘッダ部の同期バイトを４７ｈから−１２８に変更する。なお、ここでの処理の意味は、後述する。
【００８４】
ステップＳ５４において、カウンタ２１４のカウント値Ｎが３２４００００になるまでの間にPCRパケットが検出されなかったと判定した場合、同期情報処理部２１３は、カウンタ２１４に対して、カウント値Ｎ＝３２４００００となるタイミングで、カウント値Ｎのリセットを指令し、その後、ステップＳ５６に進む。
【００８５】
ステップＳ５６において、同期情報処理部２１３は、PCRパケットが検出されるまで（PCRパケット検出信号が入力されるまで）待機する。なお、この例の場合、カウンタ２１４においては、１／３２４００００に分周された２７MHzのクロックがカウントされているので、３２４００００クロック分のカウントが完了するのに、０．１２秒（＝３２４００００／２７００００００）を要する。すなわち、MPEG-2方式によれば、PCRパケットは、少なくとも0.1秒に１つの割合で伝送されるようになされているので、ステップＳ５４でカウント値Ｎの値がリセットされてから（例えば、図１８（Ａ）の時刻ｔ１）、３２４００００クロックのカウントが完了する（例えば、図１８（Ａ）の時刻ｔ２）までの間には、必ず１つのPCRパケット（この例の場合、第３番目のPCRパケット）が検出される。
【００８６】
ステップＳ５６において、PCRパケット（この例の場合、第３番目のPCRパケット）が検出されたとき、同期情報処理部２１３は、ステップＳ５７に進み、第３番目のPCRパケットに書き込む同期情報を算出する。具体的には、同期情報処理部２１３は、到着した第３番目のPCRパケットのPCR値Ｅ３（図１８（Ｃ））を取得する。次に、同期情報処理部２１３は、第３番目のPCRパケットが検出されたときのカウンタ値Ｎ３（図１８（Ｂ））を保持する。さらに、同期情報処理部２１３は、PCR値Ｅ１、PCR値Ｅ３、カウント値Ｎ３、および基準クロック値Ｂを、下記の式（２）に代入し、同期情報を算出する。
【００８７】
同期情報＝（（PCR値Ｅ３−PCR値Ｅ１）−（カウント値Ｎ３−基準クロック値Ｂ））×３２４００００÷（カウント値Ｎ３−基準クロック値Ｂ））・・（２）
【００８８】
すなわち、この同期情報は、（カウント値Ｎ３−基準クロック値Ｂ）分のクロックがカウントされる間に生じる、PCR値Ｅ３（システムエンコーダのシステムクロックのカウント値）とカウント値Ｎ３（ネットワーク２０２のネットワーククロックと同期するPLL回路２１７により発生されたクロックのカウント値）との差（α）から、第３番目のPCRパケットが、カウント値Ｎが３２４００００となる時点（時刻ｔ１）に送信装置２０１に到着されるものとした場合のPCR値Ｅとカウンタ値Ｎ（＝３２４００００）との差（β）を表すものでる。
【００８９】
次に、ステップＳ５８において、同期情報処理部２１３は、第３番目のPCRパケットに、ステップＳ５７で算出した同期情報を書き込む。具体的には、同期情報処理部２１３は、第３番目のPCRパケットのヘッダ部の同期バイト（４７ｈ）を、算出した同期情報に変更する。
【００９０】
同期情報処理部２１３は、ステップＳ５５またはステップＳ５８で同期バイトを変更した後、ステップＳ５９に進み、その値から３９ｈを差し引く。このように、３９ｈの値を差し引くことより、例えば、同期情報が含まれていないPCRパケットの同期バイト（ステップＳ５５で、−１２８に変更された同期バイト）は、４７ｈとなる。このことより、受信装置１０２において、図１３または図１４のフローチャートで説明した同期処理により、MPEGトランスポートストリームパケットの同期が確立されるようになる。
【００９１】
次に、ステップＳ６０において、同期情報処理部２１３は、３２４００００（クロック）に、ステップＳ５７で算出した同期情報を加算して、それを新たな基準クロック値Ｂとし、またステップＳ５２で算出したオフセット値Ｏに同期情報を加算して、それを新たなオフセット値Ｏして、メモリ２１５に上書きする。すなわち、次のPCRパケットが入力されたとき、この変更された基準クロック値Ｂおよびオフセット値Ｏに基づいて、同期情報が算出される。
【００９２】
以上のような処理を同期情報処理部２１３が実行することより、メモリ２１５には、基準クロック値Ｂ（４２ビット）、オフセット値Ｏ（４２ビット）、およびフラグ（１ビット）が、プログラムのPIDに対応して記憶される。
【００９３】
また、以上においては、図１８に示したように、時刻ｔ０と時刻ｔ１（図１８（Ａ））との間に、第２番目のPCRパケットが検出される（送信装置２０１に入力される）場合を例として説明したが、例えば、図１９に示すように、その間に、第３番目のPCRパケットが入力されるような場合であっても同様に処理される。すなわち、この場合、第２番目のPCRパケットと第３番目のPCRパケットのヘッダ部の同期バイトの値は４７ｈ（−１２８から３９ｈが差し引かれた４７ｈ）が設定され、そして第４番目のPCRパケットには、ステップＳ５７における処理で算出される同期情報が、その同期バイトに書き込まれる。
【００９４】
以上においては、１のPIDに対応して（１のプログラムに対応して）、同期情報が算出される場合を例として説明したが、図２０に示すように、複数のプログラム（２つのプログラム）に対応する場合も同様に、上述した方法で、それぞれの同期情報が算出され、所定のPCRパケットに書き込まれる。
【００９５】
図２０（Ａ）は、図１８（Ｂ）と同じ図であり、図２０（Ｂ）は、他のプログラムに対しての同期情報作成処理を説明するタイミングチャートである。図２０（Ｂ）の場合、カウント値Ｎ10からオフセット値Ｏ1だけ離れた地点が基準クロック値Ｂとされ、上述した同期情報作成処理が行われる。なお、この場合のオフセット値Ｏおよび基準クロックＢは、メモリ２１５に、プログラムのPIDに対応して記憶される。
【００９６】
次に、同期情報の情報量について説明する。MPEG-2規格によれば、システムクロックとして用いられる２７MHzのクロック（例えば、システムエンコーダのシステムクロックや送信装置２０１のPLL回路２１７により生成されるクロック（以下、クロックＳと称する））には、それぞれ+/-30ppm（parts per million ）の偏差が許容されている。すなわち、システムエンコーダのクロックおよびクロックＳの周波数は、（２７MHz−８１０（＝２７×１０6×３０×１０-6）Hz）乃至（２７MHz＋８１０Hz）の範囲で変動する。
【００９７】
つまり、両者の周波数のずれは、図２１に示すように、システムエンコーダのシステムクロックの周波数が２７MHz＋８１０Hz（図２１（Ａ））で、かつ、クロックＳの周波数が２７MHz−８１０Hz（図２１（Ｃ））であるとき、また逆に、図２２に示すように、システムエンコーダのシステムクロックの周波数が２７MHz−８１０Hz（図２２（Ａ））で、かつ、クロックＳの周波数が２７MHz＋８１０Hzであるとき（図２２（Ｃ））に最大となる。
【００９８】
そこで、図２１の場合における各クロックの１秒間にカウントされるクロック数を求めると、想定する真の27 MHzの場合、２７×１０6個であるのに対して（図２１（Ｂ））、図２１（Ａ）のシステムエンコーダの場合は、（２７×１０6＋８１０）個となり、図２１（Ｃ）のクロックＳの場合は、（２７×１０6−８１０）個となる。また、同様に図２２の場合における各クロックの１秒間にカウントされるクロック数を求めると、図２２（Ａ）のシステムエンコーダのシステムクロック場合、（２７×１０6−８１０）個となり、図２２（Ｃ）のクロックＳの場合、（２７×１０6＋８１０）個となる。すなわち、両者の周波数のずれが最大となるときの、１秒間でカウントされるクロック数の差は、１６２０個となる。
（２７×１０6＋８１０）−（２７×１０6−８１０）＝１６２０
【００９９】
ところで、上述した同期情報も、システムエンコーダのシステムクロックとクロックＳのずれ（PCRパケットの送信装置２０１への到着間隔の間でカウントされるクロック数の差）を示すものであるが、同期情報は、クロックＳのカウント値ＮをPCRの時間軸に対応させることで算出されている。すなわち、同期情報の最大値も、PCRの時間軸に対応させて求める必要がある。また、同期情報は、この例の場合、0.12(=324000/27000000)秒間に、少なくとも１つ以上、MPEGトランスポートストリームパケットに組み込まれているので、同期情報は、最大0.12秒間のずれ（0.12秒間にカウントされるクロック数の差）を示すことができる必要がある。つまり、同期情報は、図２１の状態のとき、プラス側で最大となり、その値は、下記に示すように、195となる。
((1+30ppm)/(1-30ppm)-1)×27MHz×0.12s=195
【０１００】
上記式は、図２１（Ｃ）のクロックＳの周期（１／（２７MHz−８１０Hz））（時間）を、図２１（Ａ）のシステムエンコーダのシステムクロックの周期（１／（２７MHz＋８１０Hz））で正規化し（PCRの時間軸に対応させ）、正規化されたそのクロックＳの時間（PCRの時間軸に対応するクロックＳの時間）と、PCRの時間（１単位）との差を求め、求めたその差に基づいて、0.12秒間に発生する両者のクロックのずれをクロック数で示したものである。
【０１０１】
一方、図２２の状態のとき、同期情報は、マイナス側で最大となり、その値は、下記に示すように、-195となる。
((1-30ppm)/(1+30ppm)-1)×２７MHz×0.12s=-195
すなわち、以上のことから、同期情報は、下記に示す範囲の値を取り得る。
-195＜＝同期情報＝＜195
【０１０２】
このことより、同期情報を表すには、９ビットが必要となるが（バイト単位で容量を確保するものとすると、２バイトが必要となるが）、１ビット分削除し、８ビットで示しても、+/-１クロック分の誤差が発生するだけで、MPEG-2方式のジッタの規格を越えない。MPEG-2方式におけるジッタの規格は、+/-500nsであり、それをクロック数に変換すると、+/-13.5(=+/-500nsec×27MHz)クロックである。すなわち、+/-１クロック分の誤差は、その範囲内であり、結局、同期情報は、８ビット（１バイト（-128乃至128)）で示すことができる。
【０１０３】
この例の場合、同期情報は、−１２５乃至１２５のうちのいずれかの値とし、その他の値には、図２３に示すような意味付けを行って利用する。例えば、−１２８は、同期情報が設定されていないことを意味する。すなわち、ステップＳ５２で同期バイトが−１２８とされたが、これは、そのTSパケットには、同期情報が書き込まれないとを示すためである。
【０１０４】
−１２７は、例えばPCRパケットに大きなジッタが発生し、入力されたPCRパケットの間隔が大きく、同期情報の値が−１２５乃至１２５の範囲外とされるような場合などの、送信装置２０１において何らかのエラーが発生したことを意味する。−１２６、１２６、および１２７は、リザーブの値である。
【０１０５】
図２４は、受信装置２０３の構成例を表している。ATM／MPEG変換部３０１は、ネットワーク２０２を介して伝送されてきた、送信装置２０１からのATMセルをMPEGトランスポートストリームパケットに変換し、TSパケット同期部３０４に出力する。ATM／MPEG変換部３０１はまた、受信したATMセルに基づいてネットワーク２０２のネットワーククロックに同期した８KHzのクロックを生成し、PLL回路３０２に出力する。PLL回路３０２は、図１１のPLL回路２１７と同様の構成（位相比較回路を有している）を有するので、その詳細な説明は省略するが、ATM／MPEG変換部３０１から供給されたクロックと同期した、２７MHzのクロックを生成し、カウンタ３０３に出力する。
【０１０６】
カウンタ３０３は、PLL回路３０２からの２７MHzのクロックを１／３２４００００で分周し、それをカウントするとともに、そのカウント値ＭをPCR書換部３０６に出力する。
【０１０７】
TSパケット同期部３０４は、図１１のTSパケット同期部２１１と同様に、図１３または図１４に示したフローチャートの処理に従って、ATM／MPEG変換部３０１からのMPEGトランスポートストリームパケットの同期を確立し、PCRパケット検出部３０５に出力する。
【０１０８】
なお、図１４のフローチャートに示した処理により、フレーム同期を確立する場合、TSパケット同期部３０４は、４７ｈカウント部（図１５）を利用するが、同期情報が書き込まれたPCRパケットが入力されたとき、４７ｈカウント部のメモリ領域ｉの値をリセットしないようにすることもできる。図２５を参照して、具体的に説明する。
【０１０９】
データ１１およびデータ１２のデータに対応して、メモリ領域ｋの値が２とされている状態において、データ１３の先頭データからｋバイト離れた、４Ａｈ乃至４４ｈのいずれかの値が読み取られたとき、メモリ領域ｋの値は０にリセットされない（値２が保持される）。これは、４Ａｈ乃至４４ｈのいずれかの値を、同期情報が含まれるPCRパケットの先頭データであるとし、フレーム同期が取られているとしたためのである。なお、図２５中、ｘｘｈは、４７ｈ、４Ａｈ乃至４４ｈ以外のデータを示している。
【０１１０】
PCRパケット検出部３０５は、入力されたMPEGトランスポートストリームパケットのヘッダ部およびアダプテーションフィールド部を参照し、PCRパケット条件が設定されているか否かを判定し、PCRパケット条件が設定されていると判定した場合、PCRパケット検出信号をPCR書換部３０６に出力する。
【０１１１】
PCR書換部３０６は、入力されるPCRパケット（同期情報が書き込まれている）から同期情報を読み出すなどの処理を行い、新たなPCR値Ｄを算出し、PCR値ＤをPCRパケットに書き込む（書き換える）。なお、PCR書換部３０６における処理の詳細は、後述する。メモリ３０７は、PCR書換部３０６が、PCR値Ｄを算出するのに必要なデータを記憶している。
【０１１２】
次に、PCRパケットのPCR値を書き換える場合のPCR書換部３０６の動作を、図２６のフローチャートを参照して説明する。TSパケット同期部３０４において、MPEGトランスポートストリームパケットの同期が取られている状態において、ステップＳ７１において、PCR書換部３０６は、オフセット値Ｄを決定する。この処理の詳細は、図２７のフローチャートに示されている。すなわち、ステップＳ８１において、PCR書換部３０６は、フレーム同期確立後、最初に入力されるPCRパケットのPCR値Ｅを取得し、それを基準クロック値Ｂとし、そのPCRパケットが入力されたときのカウンタ３０３からのカウンタ値Ｍから、その基準クロック値Ｂを減算し、オフセット値Ｗを算出する。PCR書換部３０６は、基準クロック値Ｂおよびオフセット値Ｗを、メモリ３０７に記憶させる。
【０１１３】
次に、ステップＳ８２において、PCR書換部３０６は、カウンタｊの値に１を設定し、ステップＳ８３において、次に入力されたPCRパケットのPCR値Ｅを読み取り、基準クロック値Ｂとの差ΔＥを算出する。次に、ステップＳ８４において、PCR書換部３０６は、ΔＥが所定のリミット値Ｌより大きいか否かを判定し、大きくないと判定した場合、ステップＳ８５に進み、それをメモリ３０７に記憶させる。一方、ステップＳ８４において、ΔＥがリミット値Ｌより大きいと判定された場合、ステップＳ８３に戻る。
【０１１４】
ステップＳ８６において、PCR書換部３０６は、カウンタｊの値が７になったか否かを判定し、その値が７ではないと判定した場合、ステップＳ８７に進み、カウンタｊの値を１だけインクリメントして、ステップＳ８３に戻り、次に入力されてくるPCRパケットに対して、それ以降の処理を実行する。
【０１１５】
ステップＳ８６において、カウンタｊの値が７であると判定された場合、すなわち、図２８に示すように、７つのΔＥ１乃至ΔＥ７が算出され、それらがメモリ３０７に記憶されたとき、ステップＳ８８に進み、PCR書換部３０６は、式（３）に示すように、ΔＥの合計値を７で割り、ΔＥの平均値を算出し、メモリ３０７に記憶させる。
ΔＥの平均値＝（ΔＥ１＋ΔＥ２＋ΔＥ３＋ΔＥ４＋ΔＥ５＋ΔＥ６＋ΔＥ７）／７                                                  ・・・（３）
【０１１６】
次に、ステップＳ８９において、PCR書換部３０６は、式（４）に従い、オフセット値Ｗに、ΔＥの平均値を加算して、オフセット値Ｄを算出する（図２８）。
オフセット値Ｄ＝オフセット値Ｗ＋ΔＥの平均値・・・・（４）
【０１１７】
このように、オフセット値Ｄが算出されたとき、処理は終了され、図２６のステップＳ７２に進む。なお、オフセット値Ｄが算出されたタイミング（図２９の例では、時刻ｔ１０）で、PCR書換部３０６は、オフセット値Ｄが算出されたことを示す所定のフラグ（１ビット）をメモリ３０７にセットする。また、PCR書換部３０６は、同じタイミングで、カウンタ３０３に対して、カウント値Ｍのリセットを指令する。
【０１１８】
ステップＳ７２において、PCR書換部３０６は、同期情報が書き込まれたPCRパケットが入力されるまで待機し、それが入力されたとき、ステップＳ７３に進み、カウンタ３０３が、ステップＳ７１でリセットされてから、３２４００００クロック分のカウントを完了したか否かを判定し、そのカウントを完了していないと判定した場合、ステップＳ７４に進む。ここでの第１番目のPCRパケットは、送信装置２０１の説明において示された第１番目のPCRパケットとは、別のパケットである。
【０１１９】
ステップＳ７４において、PCR書換部３０６は、PCR値Ｄを算出する。図２９を参照して説明するが、ステップＳ７１でカウント値Ｍがリセットされてから、３４００００クロック分のカウントが完了するまでに、同期情報が書き込まれたPCRパケット（第１番目のPCRパケット）が入力されたものとする。そこで、PCR書換部３０６は、到着した第１番目のPCRパケットの同期情報を取得する。次に、PCR書換部３０６は、第１番目のPCRパケットが入力されたときの、カウンタ３０３からのカウンタ値Ｍ１（図２９（Ｂ））を保持する。そして、PCR書換部３０６は、カウント値Ｍ１、オフセット値Ｄ、同期情報、および基準クロック値Ｂを、式（５）に代入して、PCR値Ｄを算出する。
PCR値Ｄ＝（カウント値Ｎ１＋オフセット値Ｄ＋同期情報×（カウント値Ｎ１−基準クロックＢ）／３２４００００・・・（５）
【０１２０】
次に、ステップＳ７５において、PCR書換部３０６は、第１番目のPCRパケットのPCR値Ｅ１を、算出したPCR値Ｄに書き換え、図示せぬデコーダに出力する。その後処理は終了する。
【０１２１】
ステップＳ７３において、３２４００００クロック分のカウントが完了していたと判定された場合、すなわち、図３０に示すように、３２４００００クロック分のカウントが完了してから、第１番目のPCRパケット（同期情報が書き込まれているPCRパケット）が入力されたとき、ステップＳ７６に進み、基準クロック値Ｂが変更される。具体的には、PCR書換部３０６は、第１番目のPCRパケットから同期情報を読み出し、それに３２４００００を加算し、その加算結果を新たな基準クロック値Ｂとしてメモリ３０７に上書きする。これにより、基準クロック値Ｂが変更される。
【０１２２】
次に、ステップＳ７７において、PCR書換部３０６は、オフセット値Ｄを変更する。具体的には、PCR書換部３０６は、メモリ３０７からオフセット値Ｄを読み出し、それに第１番目のPCRパケットの同期情報を加算し、その加算結果を、新たなオフセット値Ｄとして、メモリ３０７に上書きする。これにより、オフセット値Ｄが変更される。
【０１２３】
その後、ステップＳ７４に戻り、PCR書換部３０６は、変更された基準クロック値Ｂおよびオフセット値Ｄに基づいて、PCR値Ｄを算出する。
【０１２４】
以上において説明した、受信装置２０３におけるPCR書き換え処理は、プログラムごと（例えば、チャンネル）に行われる。すなわち、複数のプログラムに対して同様の処理が行われる。
【０１２５】
以上のように、送信装置２０１において同期情報が書き込まれ、ネットワーク２０２を介して受信装置２０３に伝送された後、受信装置２０３において、同期情報に基づいてPCRが書き換えられるようにしたので、複数のプログラム（例えば、８１９２通りのPID）に対応して、遅延ゆらぎが抑制される。
【０１２６】
次に、受信装置２０３の他の構成例を、図３１に示す。なお、図中、図２４における場合と対応する部分については、同一の符号を付してある。すなわち、ATM／MPEG変換部３０１とTSパケット同期部３０４の間に、図５に示したアダプティブクロック部５１が設けられている。これにより、アダプティブクロック部５１によりある程度ゆらぎが吸収されたMPEGトランスポートストリームパケットにより、PCR値Ｄが算出される。その結果、受信装置２０３からMPEGトランスポートストリームパケット（PCRパケットを含む）の供給を受ける、図３２に示すようなデコーダ４００において、図３３に示すように、VBVバッファ４０１の破綻を防止することができる。
【０１２７】
デコーダ４００において、入力されるMPEGトランスポートストリームパケットに遅延ゆらぎが発生していない場合は、VBVバッファ４０１のデータ占有量の軌跡は、図３３中、点線Ａで示されるようになり、オーバフロまたはアンダーフロしない。しかしながら、MPEGトランスポートストリームパケットが遅れて到着するような場合、データ占有量の軌跡は、実線Ｂで示されるように、アンダーフロになる可能性がある。また、早く到着するような場合、その軌跡は、実線Ｃに示されるように、オーバーフロになる可能性がある。
【０１２８】
図３４は、上述のような送信装置２０１または受信装置２０３として機能するコンピュータ５０１の一実施の形態の構成を示すブロック図である。CPU（Central Processing Unit）５１１にはバス５１５を介して入出力インタフェース５１６が接続されており、CPU５１１は、入出力インタフェース５１６を介して、ユーザから、キーボード、マウスなどよりなる入力部５１８から指令が入力されると、例えば、ROM（Read Only Memory）５１２、ハードディスク５１４、またはドライブ５２０に装着される磁気ディスク５３１、光ディスク５３２、光磁気ディスク５３３、若しくは半導体メモリ５３４などの記録媒体に格納されているプログラムを、RAM（Random Access Memory）５１３にロードして実行する。これにより、上述した各種の処理（例えば、図１３，図１４，図１７，図２６，図２７のフローチャートにより示される処理）が行われる。さらに、CPU５１１は、その処理結果を、例えば、入出力インタフェース５１６を介して、LCD（Liquid Crystal Display）などよりなる表示部５１７に必要に応じて出力する。なお、プログラムは、ハードディスク５１４やROM５１２に予め記憶しておき、コンピュータ５０１と一体的にユーザに提供したり、磁気ディスク５３１、光ディスク５３２、光磁気ディスク５３３，半導体メモリ５３４等のパッケージメディアとして提供したり、衛星、ネットワーク等から通信部５１９を介してハードディスク５１４に提供することができる。
【０１２９】
なお、本明細書において、記録媒体により提供されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３１】
【発明の効果】
請求項１に記載の通信装置、請求項４に記載の通信方法、および請求項５に記載の記録媒体によれば、基準クロック値から固定クロック分離れたときの前記データのタイムスタンプの誤差を算出し、伝送するようにしたので、複数のプログラムのデータに発生する遅延ゆらぎを取り除くことができる。
【０１３２】
請求項６に記載の通信装置、請求項８に記載の通信方法、および請求項９に記載の記録媒体によれば、固定クロックに対応した誤差情報に基づいて、タイムスタンプを書き換えるようにしたので、複数のプログラムに発生する遅延ゆらぎを取り除くことができる。
【図面の簡単な説明】
【図１】従来のデータ伝送システムの構成例を示すブロック図である。
【図２】  PCRを説明する図である。
【図３】図１のシステムデコーダ４の構成例を示すブロック図である。
【図４】図３のPLL回路１３の構成例を示すブロック図である。
【図５】アダプティブクロック部の構成例を示すブロック図である。
【図６】送信装置６１の構成例を示すブロック図である。
【図７】受信装置６２の構成例を示すブロック図である。
【図８】位相比較器９１の構成例を示すブロック図である。
【図９】 本発明を適用したデータ伝送システムの構成例を示す図である。
【図１０】  MPEGトランスポートストリームパケットのデータ構造を説明する図である。
【図１１】図９の送信装置２０１の構成例を示す図である。
【図１２】位相比較器２５０の構成例を示す図である。
【図１３】同期確立処理を説明するフローチャートである。
【図１４】同期確立処理を説明する他のフローチャートである。
【図１５】 ４７ｈカウント部を示す図である。
【図１６】同期確立処理を説明する図である。
【図１７】同期情報作成処理を説明するフローチャートである。
【図１８】同期情報作成処理を説明するタイミングチャートである。
【図１９】同期情報作成処理を説明するタイミングチャートである。
【図２０】同期情報作成処理を説明する他のタイミングチャートである。
【図２１】同期情報のデータ量を説明する図である。
【図２２】同期情報のデータ量を説明する他の図である。
【図２３】 同期情報の値の意味を説明する図である。
【図２４】受信装置２０３の構成例を示す図である。
【図２５】同期確立処理を説明する図である。
【図２６】  PCR書換処理を説明するフローチャートである。
【図２７】 オフセット値の算出処理を説明するフローチャートである。
【図２８】オフセット値の算出処理を説明する図である。
【図２９】  PCR書き換え処理を説明するタイミングチャートである。
【図３０】  PCR書き換え処理を説明する他のタイミングチャートである。
【図３１】受信装置２０３の他の構成例を示すブロック図である。
【図３２】デコーダ４００の構成例を示すブロック図である。
【図３３】  VBVバッファのデータ量の軌跡を示す図である。
【図３４】コンピュータ５０１の構成例を示すブロック図である。
【符号の説明】
２０１  送信装置, ２０２  ネットワーク，  ２０３  受信装置，  ２１１  TSパケット同期部，  ２１２  PCRパケット検出部，  ２１３  同期情報処理部，  ２１４  カウンタ，  ２１５  メモリ，  ２１６  MPEG／ATM変換部，  ２１７  PLL回路，  ３０１  ATM／MPEG変換部，  ３０２  PLL回路，  ３０３  カウンタ，  ３０４  TSパケット同期部，  ３０５  PCRパケット検出部，  ３０６  PCR書換部，  ３０７  メモリ
【図１】
0004158075.tif 000002
【図２】
0004158075.tif 000003
【図３】
0004158075.tif 000004
【図４】
0004158075.tif 000005
【図５】
0004158075.tif 000006
【図６】
0004158075.tif 000007
【図７】
0004158075.tif 000008
【図８】
0004158075.tif 000009
【図９】
0004158075.tif 000010
【図１０】
0004158075.tif 000011
【図１１】
0004158075.tif 000012
【図１２】
0004158075.tif 000013
【図１３】
0004158075.tif 000014
【図１４】
0004158075.tif 000015
【図１５】
0004158075.tif 000016
【図１６】
0004158075.tif 000017
【図１７】
0004158075.tif 000018
【図１８】
0004158075.tif 000019
【図１９】
0004158075.tif 000020
【図２０】
0004158075.tif 000021
【図２１】
0004158075.tif 000022
【図２２】
0004158075.tif 000023
【図２３】
0004158075.tif 000024
【図２４】
0004158075.tif 000025
【図２５】
0004158075.tif 000026
【図２６】
0004158075.tif 000027
【図２７】
0004158075.tif 000028
【図２８】
0004158075.tif 000029
【図２９】
0004158075.tif 000030
【図３０】
0004158075.tif 000031
【図３１】
0004158075.tif 000032
【図３２】
0004158075.tif 000033
【図３３】
0004158075.tif 000034
【図３４】
0004158075.tif 000035