【発明の詳細な説明】
多重化通信システムにおいてプログラムの原タイムベースを保存するための方
法
発明の分野
本発明は、デジタル伝送システムに関し、さらに詳細には、受信地点において
クロック回復を行うために調整タイムスタンプ技術を使用する伝送システムにお
いて、デジタルプログラムの原タイムベースを保存するための方法に関する。
発明の背景
最近、国際標準化機構(ISO)は、符号化映像、音声又は他のデータの一つ
以上の「基本ストリーム」を、伝送のために適する単一ビットストリームへ組み
合わせるための標準プロトコルを採用した。以後、「MPEG−2システム」標
準と呼ばれる標準は、参照としてここに取り入れられたMPEG−2システム委
員会草案(ISO/IEC JTC1/SC29/WG11/N0601、19
93年11月)[以後、「MPEG−2システム委員会草案」]において詳細に
記載される。MPEG−2システム標準の概要は、同様に参照としてここに取り
入れられたWasilewski,The MPEG−2 Systems S
pecification:Blueprint for Network I
nteroperability(1994年1月3日)において記載される。
MPEG−2システム標準は、一つ以上の「プログラム」の多重化組み合わせを
含むビットストリームの構成のための構文及び意味規則セットを提供する。「プ
ログラム」は、一つ以上の関連基本スト
リームから成る。「基本ストリーム」は、それがメンバーであるプログラムの共
通タイムベースを共有する単一映像、音声又は他のデータストリームの符号化表
現である。例えば、有料テレビジョンシステムの文脈において、「プログラム」
は、2つの基本ストリーム、即ち、映像ストリームと音声ストリーム、からなる
網テレビジョン放送を具備する。
MPEG−2システム標準の発展が進むにつれ、2レベルパケットベース多重
化スキームが現れた。第1レベルにおいて、伝送される各基本ストリーム、即ち
、一つの映像、音声又は他のデータストリームに対する符号化データは、パケッ
ト化され、パケット化基本ストリーム(PES)を形成する。所与のパケット化
基本ストリームにおける各PESパケットは、PESパケットヘッダーに続いて
、その基本ストリームの符号化データを含む可変長ペイロードから成る。パケッ
ト化基本ストリーム構造は、長大な基本ストリームの下位部分を、他の関連基本
ストリーム(例えば、同一プログラムの基本ストリーム)とその基本ストリーム
の提示を同期化するために使用された関連表示器及びオーバーヘッド情報ととも
に、連続パケットにパッケージするための手段を設ける。各パケット化基本スト
リームは、一意的なパケットID(PID)を割り当てられる。例えば、網テレ
ビジョンプログラムに対する符号化映像データを含むパケット化基本ストリーム
は、「10」のPIDを割り当てられる。そのプログラムに対する関連音声デー
タを含むパケット化基本ストリームは、「23」のPIDを割り当てられる、等
である。
第2レベルにおいて、一つ以上のパケット化基本ストリームは、さらにセグメ
ント化又は「パケット化」され、ある媒体での伝送のために、これらのストリー
ムを単一ビットストリームへ組み合わせるのを容易に
する。最終的に、一つ以上のパケット化基本ストリームを単一ビットストリーム
へ組み合わせるための2つの異なる「第2レベル」プロトコルが現れた。即ち、
1)プログラムストリーム(PS)プロトコルと、2)トランスポートストリー
ムプロトコルである。両ストリームプロトコルは、パケットベースであり、IS
O開放型システム間相互接続(OSI)参照モデルによって規定された如く、「
トランスポート層」エンティティーの項類へ入る。プログラムストリームは、可
変長パケットを使用し、ソフトウェア構文解析が望まれる「エラーフリー」環境
のために意図される。プログラムストリームパケットは、一般に、比較的大きい
(1K〜2Kバイト)。トランスポートストリームは、固定長パケットを使用し
、雑音又は誤り環境における伝送のために意図される。各トランスポートストリ
ームパケットは、ヘッダー部分とペイロード部分を具備する。トランスポートス
トリームパケットは、188バイトの比較的短い長さを有し、向上された誤り回
復力及びパケット損失検出の特徴を含む。残りの背景議論は、主に、MPEG−
2トランスポートストリームプロトコルに集中される。
最後に採用された如く、トランスポートストリームプロトコルは、一つ以上の
パケット化基本ストリームを、ある媒体で伝送される単一「トランスポートスト
リーム」へ組み合わせるための標準フォーマット(即ち、構文と意味規則セット
)を提供する。第1図は、複数のパケット化基本ストリームからのMPEG−2
トランスポートストリームの生成を示す。図示された如く、各パケット化基本ス
トリームの個別パケットは、セグメント化され、逐次トランスポートパケットの
ペイロード区分へ挿入される。例えば、第1図に示された如く、基本ストリーム
「映像1」
の符号化映像を含むパケット化基本ストリームのPESパケット10の一つが、
セグメント化され、連続トランスポートパケット、例えば、12と14、のペイ
ロード区分へ挿入される。すべてのトランスポートパケットは、ヘッダー、例え
ば、トランスポートパケット12のヘッダー16を有し、そして各トランスポー
トパケットのヘッダーは、そのトランスポートパケットにおいて搬送されたパケ
ット化基本ストリームに付随したPIDを含む。第1図に示された例において、
基本ストリーム「映像1」の符号化映像を搬送するパケット化基本ストリームは
、「10」のPIDを割り当てられ、このため、そのパケット化基本ストリーム
からのデータを搬送する各トランスポートパケット12、14のヘッダーは、「
10」のPID値を含む。同様に、基本ストリーム「音声1」に対するパケット
化基本ストリームデータを搬送する各トランスポートパケット18、20のヘッ
ダーは、示された例において「23」である、その基本ストリームに割り当てら
れたPIDを含む。
各パケット化基本ストリームから形成されたトランスポートパケットは、それ
から、単一出ビットストリーム又は「トランスポートストリーム」を形成するた
めに多重化される。こうして、トランスポートストリームは、トランスポートパ
ケットの連続シーケンスを具備し、各パケットは、複数のパケット化基本ストリ
ームの一つからのデータを搬送する。デコーダ位置において、所与のパケット化
基本ストリームは、そのヘッダーがそのパケット化基本ストリームへ割り当てら
れたPIDを含むすべての入りパケットを単に抽出することにより、入りトラン
スポートストリームから回復される。関連パケット化基本ストリーム(例えば、
音声、映像等)のグループが、完全な「プログラム」を再現するために抽
出される。
MPEG−2システム標準が発展するにつれ、MPEG−2システム委員会は
、さらに、トランスポートパケットのそれぞれのシーケンスへの各パケット化基
本ストリームのセグメント化が、27.0MHzの公称周波数において動作する
共通システムクロックを使用するエンコーダによって実施されることを決定した
。選択プログラム(即ち、関連基本ストリームのセット)を受信及び提示するた
めのデコーダは、このため、その動作周波数と絶対瞬時値が、エンコーダのそれ
らに一致する対応するシステムクロックを必要とする。しかし、実際に、デコー
ダの自走システムクロック周波数は、エンコーダのシステムクロック周波数に全
くではないとしてもめったに一致せず、このため、デコーダシステムクロックを
エンコーダシステムクロックと同期させるための方法が、必要とされる。MPE
G−2システム標準が発展するにつれ、MPEG−2システム委員会の関係者達
は、デコーダシステムクロックのエンコーダシステムクロックとの同期化(時々
、以後「クロック回復」と呼ばれる)が、MPEG−2システム委員会草案にお
いてプログラムクロック参照と呼ばれる、タイムスタンプの使用を通して達成さ
れることを示唆した。プログラムクロック参照(PCR)は、エンコーダシステ
ムクロックの実「スナップショット」である。採用された技術により、所与のト
ランスポートストリームにおいて搬送された各プログラムに対して、PCRが、
100ms毎に少なくとも1度、発生され、そのプログラムを構成する基本スト
リームの一つを搬送するトランスポートパケットへ挿入されなければならない。
例えば、第1図において示された如く、PCR24と26は、映像基本ストリー
ムに対するパケット化基本ストリームデータ、
「プログラム1」の「映像1」を搬送する、トランスポートパケット12と14
へ挿入された。同様に、PCR、例えば、PCR28は、映像基本ストリームに
対するパケット化基本ストリームデータ、「プログラム21」の「映像21」を
搬送するトランスポートパケット、例えば、パケット32、へ挿入された。
上記の如く、所与のプログラムに対して、PCRは、100ms毎に少なくと
も1度、そのプログラムの基本ストリームの一つを搬送するトランスポートパケ
ットのシーケンスヘ発生及び挿入されなければならない。各PCRは、PCRが
それぞれのトランスポートパケットへ挿入された時点におけるエンコーダシステ
ムクロックの実サンプルであり、このため、所与のプログラムのトランスポート
パケットへ挿入された原PCRは、そのプログラムの真のタイムベースを反映す
る。そのようなタイムスタンプ接近方法では、各プログラムは、それ自体の独立
なタイムベースを有し、このため、多重化の前に、種々のプログラムのタイムベ
ースを同期化する必要はない。
所与のプログラムに対するパケット化基本ストリームデータを搬送するトラン
スポートパケットのシーケンスにおけるPCRは、多重化段の前のプログラムの
真のタイムベースを表現するが、MPEG−2システム委員会は、マルチプレク
サーは一度に一つのパケットしか「送信」できないために、各基本ストリームに
対するトランスポートパケットがトランスポートストリームマルチプレクサー2
2に達する時、あるパケットは、多重化中、可変遅延を生ずることを認識した。
PCR保持トランスポートパケットが、可変遅延を生ずる時、そのパケットにお
ける原PCRは、もはや妥当ではない。結果的に、トランスポートストリームマ
ルチプレクサー22は、マルチプレクサーによってそのパケットに課せられた可
変遅延を説明するために、原PCRを「調整」しなければならない。しかし、一
定のエンドトーエンド遅延は、各トランスポートパケットが、その同一の一定遅
延を生ずるために、一連のトランスポートパケットにおいてPCRを無効にしな
いことに注意せよ。
可変遅延を生ずるパケットにおいてPCR値を調整する一つの手法として、I
SOによって最終的に採用された方法は、マルチプレクサー又は他の装置の入力
と出力の間でパケットに生ずる可変遅延量を決定し、それから、パケットが出ト
ランスポートストリームにおいて装置を出る時、その遅延時間を原PCR値へ加
算することである。この調整の結果として、所与のプログラムのPCRは、出ト
ランスポートストリームにおいてどこに出現しても、PCRを保持するパケット
が出トランスポートストリームへ挿入された時点におけるエンコーダのシステム
クロックの絶対値を反映するべきである。
第2図は、多重化遅延の如く、可変遅延を説明するために、PCR値を調整す
るための必要性を線図で示す。第2図において示された如く、異なるパケット化
基本ストリームから形成された2つのトランスポートパケットシーケンスは、ト
ランスポートストリームマルチプレクサー22のそれぞれの入力へ送られる。ト
ランスポートパケット、例えば、パケットAとB、の一つのシーケンスは、例示
の映像基本ストリームのパケット化基本ストリームデータ、「映像3」、を搬送
する。トランスポートパケット、例えば、パケットCとD、の他のシーケンスは
、例示の音声基本ストリームのパケット化基本ストリームデータ、「音声7」、
を搬送する。さらに図示された如く、「映像3」に対するパケットのシ
ーケンスにおけるトランスポートパケットAとBは、それぞれ、プログラムクロ
ック参照値、PCRAとPCRB、を含む。上記の如く、タイムスタンプの各々は
、PCRがシーケンスのそれぞれのトランスポートパケットへ挿入された時点に
おけるエンコーダシステムクロックの「スナップショット」である。従って、特
定のパケット化基本スナップストリームから形成されたトランスポートパケット
のシーケンスを搬送した一連のPCRは、そのパケット化基本ストリームがメン
バーである単一プログラムの実タイムベースを反映する。
さらに第2図を参照して、「映像3」と「音声7」に対するそれぞれのトラン
スポートパケットシーケンスのトランスポートパケットA、BとCが、図示され
た如く、A−B−Cの順序においてトランスポートストリームマルチプレクサー
を出ることを仮定する。そのような場合に、トランスポートパケットBは、トラ
ンスポートパケットAに関して、量▲TMだけ遅延された。結果的に、トランス
ポートパケットBにおける原タイムスタンプPCRBは、トランスポートパケッ
トAに対する時間関係をもはや正確に反映しない。そのような多重化遅延又は他
の可変遅延を補償するために、MPEG−2システム委員会は、そのような遅延
を生ずる任意のトランスポートパケットのPCRを、遅延を説明するために調整
することを示唆した。しかし、上記の如く、すべてのパケットが同一の一定遅延
を生ずる状況において、PCRの調整は、必要ではない。しかし、多くの状況に
おいて、すべてのパケットが正確に一定の遅延を生ずることはあまりない。
可変遅延を補償するためのPCRの調整は、第2図において線図で示される。
示された如く、トランスポートパケットBの原PCRは、調整
値PCRB’と交換された。調整されたタイムスタンプ値PCRB’は、遅延値▲
TMを原タイムスタンプ値PCRBへ加算することにより獲得される。こうして、
PCRB’=PCRB+▲TMである。
多重化遅延以外の遅延はエンコーダから受信地点へのパケットの伝送中発生す
ることが注目される。例えば、ATM網を通して伝送されたパケットは、網にお
けるいろいろな切り換えノードにおいて遅延を生ずる。これらの遅延に対する補
償は、同様にして取り扱われる。
受信地点において、デコーダは、受信地点における出力又は提示のために入り
トランスポートストリームにおいて搬送された「プログラム」の一つを選択する
ために使用される。単一選択「プログラム」のトランスポートパケットにおいて
搬送されたPCRは、そのプログラムを復号する目的のために、デコーダのシス
テムクロックをエンコーダのシステムクロックに「スレーブ」するために使用さ
れる。即ち、PCRは、そのプログラムに対する基本ストリームデータを搬送す
るトランスポートパケットがデコーダに到達する時、単一プログラムのタイムベ
ースを再生成又は再確立するために使用される。概して、PCRは、デコーダに
おけるクロック回復を行うために使用される。
第3図は、受信地点における出力のために所与のプログラムを選択する際に使
用されるモデルデコーダを示す。上記のタイムスタンプ技術により、デコーダに
おけるクロック発生回路58は、復号目的のために選択プログラムのタイムベー
スを再確立するために、選択プログラムのトランスポートパケットにおいて搬送
されたPCR値を処理する。モデルに従い、MPEG−2トランスポートストリ
ームは、デコーダ40によって受信され、トランスポートストリームデマルチプ
レクサー/構文解析
ユニット42へ送られる。使用者のプログラム選択は、線44を介して、デマル
チプレクサー42へ送られる。使用者が、出力される所与のプログラムを選択す
る時、デマルチプレクサー42は、選択プログラムを構成する基本ストリームへ
割り当てられたPIDの一つに一致するPIDを有するすべての入りトランスポ
ートパケットの抽出を始める。例えば、再び第1図を参照すると、加入者は、基
本ストリーム「映像1」と「音声1」から成るプログラム1を選択する。「映像
1」に対するパケット化基本ストリームデータを搬送するトランスポートパケッ
トは、各々、「10」のPIDを有し、そして「音声1」に対するパケット化基
本ストリームデータを搬送するトランスポートパケットは、各々、「23」のP
IDを有する。トランスポートストリームの逐次パケットが受信される時、デマ
ルチプレクサー42は、「10」又は「23」のPIDを有するすべての入りト
ランスポートパケットを抽出する。それから、抽出されたトランスポートパケッ
トは、原パケット化基本ストリームを再組立てするために構文解析される。究極
的に、各パケット化基本ストリームの符号化映像及び音声データは、それぞれの
バッファー48、54と、それぞれのデコーダ50、56に送られ、データを復
号し、表示装置へ出力されるアナログ映像及び音声信号を生成する。
さらに、選択プログラムの各トランスポートパケットが受信される時、デマル
チプレクサー42は、そのトランスポートパケットがPCRを含むかを判定する
。そうならば、PCRが、入りパケットから抽出され、線59を介して、クロッ
ク発生回路58へ送られる。上記の如く、デコーダのシステムクロックの周波数
が、原エンコーダの周波数と全く同一であるか、又はデコーダのシステムクロッ
クが、完全に安定である(即
ち、ドリフトしない)ことは、あまりありそうもない。ここで記載されたタイム
スタンプ接近方法により、選択プログラムのトランスポートパケットにおいて周
期的に送信されたPCR値は、デコーダにおいてエンコーダシステムクロックを
「再現」又は「回復」するために使用される。即ち、PCRは、選択プログラム
のタイムベースを再確立するために使用される。デコーダにおけるエンコーダシ
ステムクロックの回復は、クロック発生回路58によって行われる。第3図は、
上記のタイムスタンプ技術により使用されるモデルクロック発生回路を示す。
第3図のモデルクロック発生回路58は、基準及び帰還項が数字である(例え
ば、計数器66と受信PCRの値)ことを除いて、直通位相同期発振器(PLL
)を実現する。使用者選択プログラムの初期取得により、計数器66は、そのプ
ログラムに対して受信された第1PCRを線61を介してロードされる。その後
、PLLは、本質的に、閉ループとして動作する。エンコーダシステムクロック
の周波数にほぼ等しい公称周波数を有する電圧制御発振器(VCO)64は、デ
コーダシステムクロック信号を設ける。デコーダシステムクロックが走る時、ク
ロック信号は、計数器66を増分し、このため、デコーダシステムクロックの絶
対時間を表現する。示された如く、計数器66の値は、減算器ユニット60へ連
続的に帰還される。減算器60は、トランスポートストリームパケットにおいて
到達する時、後続のPCRと計数器の値を比較する。PCRは、到達時に、PC
Rが受信された時点におけるデコーダシステムクロックの期待値を表現するため
に、それと計数器66の値の間の差分が、VCO64の瞬時周波数を駆動するた
めに使用され、適切に、デコーダクロック信号を減速又は加速する。低域フィル
ター及び利得ステ
ージ(LPF)62は、減算器60からの差分値へ適用され、VCO64に対す
るなめらかな制御信号を生成する。認められる如く、計数器66によって設けら
れる連続帰還とトランスポートストリームにおけるPCR値の周期的到達は、デ
コーダシステムクロックが、エンコーダシステムクロックにスレーブ化されてい
ることを保証する。こうして、選択プログラムに対して、エンコーダシステムク
ロックは、デコーダにおいて「再現」又は「回復」された。即ち、単一選択プロ
グラムの原タイムベースが、再確立された。
譲受人に代わって、出願者達は、MPEG−2システム標準を開発する際にM
PEG−2システム委員会の作業に活動的に係わり、標準のいろいろな見地に寄
与した。MPEG−2システム標準が発展し、上記のタイムスタンプ(即ち、P
CR)接近方法が標準の一部になることが明らかになる時、出願者達は、各プロ
グラムのPCRが、パケット遅延を補償するために、パケット多重化中調整され
なければならないが、幾つかの応用は、所与のプログラムの原PCR値、即ち、
多重化の前にエンコーダによって発生されたトランスポートパケットの原シーケ
ンスにおいて見いだされるものが、一連の多重化段の終端において利用されるこ
とを必要とすることを認識した。
例えば、原PCRは、SMPTEタイムコードがアナログ映像信号で使用され
ると全く同様にして、正確な時点において他の事象をトリガーするために、絶対
時間基準として下流装置によって使用される。また、デジタルVCRの使用者は
、入りトランスポートストリームにおける「プログラム」の一つを同時に観察及
び記録したいと思われる。デジタルVCRが、原トランスポートパケットシーケ
ンスにおける入りトランスポ
ートストリームから検索されたプログラムを記憶することが期待される。即ち、
単一選択プログラムを「構成」するパケット化基本ストリームの一つを搬送する
トランスポートパケットの各シーケンスは、それらが、エンコーダによって最初
に生成された時の元々の連続順序において記憶媒体に直接に記憶される。トラン
スポートパケットの原シーケンスは、プログラムが記憶される時再確立されるた
めに、多重化遅延を説明するために伝送中調整されたPCR値は、トランスポー
トパケットの原シーケンスが再確立された時、これらの遅延は有効に除去される
ために、もはや妥当ではない。このため、調整されたPCRは、記憶プログラム
の再生中、クロック回復を行うために使用されない。むしろ、原PCR値(多重
化段の前にエンコーダによって各トランスポートパケットへ最初に挿入されたも
の)が、トランスポートパケットの原連続シーケンスが復元されるために、必要
とされる。
こうして、出願者達が認識した如く、多重プログラムが、各プログラムのタイ
ムベースを確立するために使用されたタイムスタンプ値が、多重化及び/又は伝
送中、可変パケット遅延を補償するために調整される上記のタイムスタンプ技術
を使用して、受信地点へ伝送されるならば、原値を必要とするこれらの応用に対
して原非調整タイムスタンプ値を保存するための方法が、必要とされる。本発明
は、そのような方法を提供する。譲受人に代わって、出願者達は、参照としてこ
こに取り入れられた、“A REVISED Proposal For MP
EG−2 Transport and Program Multiplex
Syntax”,MPEG 93/351(1993年3月29日)と題する
国際標準化機構へ提出された論文において、MPEG−2シス
テム標準への包含のために、本発明の方法を以前に提案した。譲受人に代わって
、出願者達によって提出された続く論文は、“Proposal to Inc
lude Delta PCRs in MPEG−2 Transport
Stream”,MPEG 93/611(1993年7月)と題し、本発明の
方法を採用することをISOにさらに促した。最終的に、添付のクレイムによっ
て記載された如く、本発明は、MPEG−2システム標準の一部として、実質的
に採用された。
発明の要約
本発明は、受信地点におけるクロック回復を容易にするために、伝送の前に、
タイムスタンプ値が選択パケットへ挿入され、各パケットにおけるタイムスタン
プ値が、受信地点への多重化及び/又は伝送中生ずる遅延を補償するために調整
を必要とする、伝送地点から受信地点へ情報パケットを伝送するシステムにおけ
る使用のために特に好適である。出願者達は、多様な多重化及び/又は伝送段階
中、パケットによって生じた遅延を追跡するための手段を提供する一方、単一プ
ログラムの原タイムベースを保存するためにパケットにおいて原タイムスタンプ
値を保存する方法に対する必要性を認識した。
本発明の好ましい実施態様により、方法は、(a)パケット内に少なくとも第
1及び第2フィールドを規定する段階と、(b)パケットの第1フィールドにお
いて原タイムスタンプ値を、伝送地点において、挿入し、その後、第1フィール
ドにおいて値を修正しない段階と、(c)段階(b)の実施に続いて、第2フィ
ールドにおける初期値へそのパケットによって生じた遅延の値を加算する段階と
を具備する。受信地点において、第2フィールドは、パケットによって生じた遅
延を反映するが、
原タイムスタンプ値は、第1フィールドにおいて保存される。一つの実施態様に
おいて、第2フィールドは、パケットの多重化及び/又は伝送の前に、ゼロの値
へ初期化される。
パケットがヘッダー、ペイロードとアダプテーションフィールドを有する実施
態様において、段階(a)は、好ましくは、パケットのアダプテーションフィー
ルドにおいて第1及び第2フィールドを規定することを含む。発明の別の見地に
より、アダプテーションフィールドは、それぞれ、第1及び第2フィールドに対
応する第1及び第2フラグをさらに含み、そして段階(a)は、アダプテーショ
ンフィールド内の第1及び第2フィールドの存在を指示する値へ、第1及び第2
フラグを設定する段階を具備する。
図面の簡単な説明
前述の要約、並びに好ましい実施態様の次の詳細な説明は、添付の図面に関連
して精読した時、より良く理解される。発明を例示する目的のために、図面にお
いて、現在好ましい実施態様が示されるが、発明は、開示された特定方法及び手
段に限定されるものではない。
第1図は、エンコーダにおける複数のパケット化基本ストリームからのトラン
スポートストリームの発生を線図で示す。
第2図は、パケットベース通信システムにおける多重化遅延を説明するための
タイムスタンプ調整の概念を線図で示す。
第3図は、入りトランスポートストリームから選択プログラムを回復するため
の例示のデコーダのブロック図である。
第4図は、本発明の実施態様によるトランスポートパケットの内容及び配置を
線図で示す。
第5図は、本発明の方法の一つの見地を示す流れ図である。
第6図は、本発明の方法のさらに他の見地を示す流れ図である。
第7図は、本発明の方法によるトランスポートパケットのPCR又はDPCR
フィールドを調整するための回路を組み込む装置のブロック図である。
第8図は、第7図の回路の一層の詳細を示すブロック図である。
好ましい実施態様の詳細な説明
図面を参照すると、同様の番号は、同様の要素を示すが、第4図は、トランス
ポートパケット70の一般内容及び配置を示し、さらに詳細には、本発明の実施
態様によるトランスポートパケット70の「アダプテーションフィールド」74
の内容及び配置の詳細を示す。前述のMPEG−2システム委員会草案において
指定された如く、MPEG−2トランスポートパケットのアダプテーションフィ
ールドの内容及び配置は、第4図に示されたものに類似するが同一ではないこと
が注目される。
第4図において示された如く、トランスポートパケット70は、ヘッダー部分
76、ペイロード区分72、及び上記の「アダプテーションフィールド」74を
具備する。トランスポートパケットヘッダー76は、パケットID(PID)と
他のトランスポート関連情報(不図示)を含む。ヘッダーにおける一つのフィー
ルド(不図示)は、パケットがアダプテーションフィールド74を含むかを指示
するために使用される。他で最初に提案され、MPEG−2システム標準の一部
として最終的に採用された如く、アダプテーションフィールドは、トランスポー
トストリーム又はそのトランスポートパケットのペイロード区分において搬送さ
れた基本ストリームデータのいずれかに、MPEG−2関連及び自営関連情
報を搬送するための簡易「ウインドー」を設けるために、トランスポートパケッ
トにおいて「開放」される。存在する時、アダプテーションフィールド74は、
多数のフィールド及びフラグを含む。
本発明により、第1フィールド88は、トランスポートパケット70内のPC
R値を搬送するためのPCRセグメントを実現するために、トランスポートパケ
ット70のアダプテーションフィールド74内に規定される。しかし、上記の如
く、所与のトランスポートストリームにおけるすべてのトランスポートパケット
が、PCR値を含むわけではなく、このため、PCRフラグ82が、アダプテー
ションフィールド74内のPCRセグメント88の存否を指示するために使用さ
れる。PCRセグメント88は、本発明の精神と範囲に反することのない適切な
フォーマットを有するが、MPEG−2システム委員会は、PCRフォーマット
において、33ビットベース成分と9ビット拡張成分を具備することを決議した
。従って、第4図に示された如く、PCRセグメント88は、好ましくは、33
ビットベースフィールド90と9ビット拡張フィールド94を具備する。MPE
G−2システム委員会によってさらに指定された如く、PCR拡張94の9ビッ
トは、27MHzの率において増分するモジュロ300計数器を実現する。各モ
ジュロ300「ロールオーバー」において、33ビットベース部分におけるカウ
ントが、増分される。このため、PCRセグメントのベース部分90は、90K
Hzクロック率を表現する。上記の如く、PCRは、PCRがトランスポートパ
ケットへ挿入された時点におけるエンコーダシステムクロックの実「スナップシ
ョット」である。特に、MPEG−2システム委員会草案において最終的に規定
された如く、PCR値は、PCRベース部分90の最終ビッ
トを含むバイトがトランスポートパケットへ挿入された時点におけるエンコーダ
システムクロックの値を指示する。言い換えれば、入りトランスポートストリー
ムにおいて、PCRの値は、PCRベース部分90の最終ビットを含むバイトの
目的到達時点を表現する。
上記の如く、伝送されたプログラムの受信中、正確なタイムベース回復を設け
るために、そのプログラムのトランスポートパケットにおいて搬送されたPCR
値は、マルチプレクサーによって課せられた多重化遅延を補償するために、伝送
システムにおけるすべての多重化段において調整されなければならない。しかし
、出願者達が認識した如く、幾つかの応用においては、デコーダによる使用のた
めに原PCR値を保存することも、必要である。本発明は、原PCR値を保存し
ながら、多重化遅延を説明するためにPCR値を調整するための機構を設けるこ
とにより、この必要性を満足する。
本発明により、第4図において示された如く、第2フィールド96は、Del
ta_PCR(DPCR)セグメントを実現するために、アダプテーションフィ
ールド74内に規定される。DPCRフラグ84は、アダプテーションフィール
ド内のDPCRセグメント96の存在を指示するために設けられる。本実施態様
により、DPCRセグメント96は、PCRセグメント88に類似する構造を有
し、20ビットベース成分98と9ビット拡張成分100を具備する。DPCR
ベース成分98は、90KHzクロック成分を表現し、そしてDPCR拡張成分
100は、27MHzクロック成分を表現する。90KHzクロック周波数によ
り、20ビットDPCRベースフィールド98は、ロールオーバーの前に、約1
1.5秒の遅延を累積する。より多量の累積遅延が期待されるなら
ば、DPCRベースフィールド98は、より大きくされる。例えば、DPCRベ
ースフィールド98は、PCRベースフィールド90と同一の33ビットフォー
マットを有する。
さらに本発明により、アダプテーションフィールドにおけるPCRセグメント
88は、PCR修正フラグ92をさらに具備する。PCR修正フラグ92は、P
CRベース及び拡張フィールド90、94が修正できないことを、マルチプレク
サー(例えば、第1図と第2図のマルチプレクサー22)に知らせるために使用
される。
詳細には示されないが、アダプテーションフィールド74はまた、他のフィー
ルドを含む。例えば、アダプテーションフィールド74は、アダプテーションフ
ィールド74の全長をバイトで指定するための8ビット長フィールド78を含む
。任意の数の他のフィールド(不図示)もまた、アダプテーションフィールド7
4内で規定され、そして対応するフラグ86が、PCR及びDPCRフラグ82
、84が、本発明のPCR及びDPCRセグメント88、96の存否を指示する
ために使用されると全く同様にして、特定トランスポートパケットにおけるこれ
らのフィールドの存否を指示するために使用される。
本発明の方法により、多重化又は伝送中パケットによって生じた可変遅延を追
跡するための手段を設ける一方、トランスポートパケット70において原PCR
値を保存することが望まれる時、エンコーダは、アダプテーションフィールド7
4内のPCRセグメント88(第1フィールド)とDPCRセグメント96(第
2フィールド)を規定するために、トランスポートパケット70のアダプテーシ
ョンフィールド74においてPCR及びDPCRフラグ82、84を設定する。
多重化の前に、エ
ンコーダは、エンコーダシステムクロックから原PCR(即ち、タイムスタンプ
)を発生し、原PCRを、PCRセグメント88のベース及び拡張フィールド9
0、94へ挿入する。PCR修正フラグ92は、それから、PCRベース及び拡
張フィールド90、94が修正されないことを、続く多重化段又は他の下流装置
に知らせるために設定される。トランスポートパケット70が、通信システムに
おけるいろいろな多重化段及び他の装置を伝搬する時、DPCRセグメント96
は、そのような装置においてパケットに課せられた遅延の累積を維持するために
使用される。具体的に、多重化段又は他の装置が、可変遅延をトランスポートパ
ケット70に課する時は常に、遅延の大きさを表現する値が、DPCRセグメン
ト96における現値へ加算される。各多重化段又は他の装置は、エンコーダのシ
ステムクロックの公称周波数である27MHzの公称周波数において動作する局
所システムクロックを有する。所与の多重化段又は他の装置においてトランスポ
ートパケット70に課せられた遅延△TMは、次の如く算出される。
△TM=LSCR(tout)−LSCR(tin)−D
ここで、LSCR(tout)は、トランスポートパケットがマルチプレクサーの
出力に達する時のマルチプレクサーの局所システムクロックの値であり、
LSCR(tin)は、トランスポートパケットがマルチプレクサーに入る時の、
局所システムクロックの値であり、そして
Dは、マルチプレクサーを通過する時の、すべてのトランスポートパケットに課
せられる所定の一定遅延である。
いったん算出されると、測定遅延値△TNが、DPCRセグメント96
における累積遅延の現値へ加算される。DPCRセグメント96における累積値
は、90KHzクロック周波数を表現する20ビットベース成分と、27MHz
クロック周波数を表現する9ビット拡張成分を具備するために、マルチプレクサ
ー段において測定された遅延△TMは、DPCRセグメントにおける現累積値へ
値を加算する前に、ベース/拡張フォーマットへ変換されなければならない。変
換は、次のように行われる。
△TM(ベース)=int[△TM/300]
△TM(拡張)=△TM−△TM(ベース)
ここで、△TMは、変換前の遅延値であり、
△TMは、変換後の遅延値の20ビットベース成分であり、
△TM(拡張)は、変換後の遅延値の9ビット拡張成分である。
デコーダとして、DPCRセグメント96における累積遅延値は、調整された
PCR値を獲得するために、PCRセグメント88における原PCR値へ加算さ
れる。このようにして、原PCR値は、PCRセグメント88において保存され
る。
第5図は、本発明の方法によるトランスポートパケットの発生中、エンコーダ
によって行われる多数の段階を示す流れ図である。トランスポートパケットの発
生中、エンコーダは、トランスポートパケットが、ステップ100において示さ
れた如く、タイムスタンプ(PCR)を搬送するかを判定する。そうならば、ス
テップ111において、アダプテーションフィールドが、トランスポートパケッ
ト内に確立され、そして制御は、ステップ112に移る。アダプテーションフィ
ールドの存在は、トランスポートパケットのヘッダーにおいて適切なビットを設
定することにより、確立される。ステップ112において、エンコーダは、原P
CRが保存されるかを判定する。原PCRが保存されるかは、応用に依存し、そ
してステップ112における判定は、通常、エンコーダにおいてプリプログラム
される。
原PCRを保存する必要がない時、制御は、ステップ114へ移り、ここで、
エンコーダは、PCRセグメントを確立するために、アダプテーションフィール
ドにおいてPCRフラグを設定する。ステップ116において、エンコーダは、
適切なPCR値を発生し、PCR値をPCRセグメントへ挿入する。上記の如く
、PCRは、PCRがトランスポートパケットのPCRセグメントヘ挿入された
時点におけるエンコーダシステムクロックの実サンプル又は「スナップショット
」を表現する。ステップ118において、PCRセグメントにおけるPCR修正
フラグは、PCRベース及び拡張フィールドにおけるPCR値が直接に修正され
ることを、続く多重化段に知らせるために使用される。即ち、続く多重化段にお
いて測定された遅延は、PCRセグメントにおける値に直接に加算される。結果
的に、原PCR値は、この場合に保存されない。
しかし、ステップ112において、原PCR値が保存されることが判定される
ならば、制御は、ステップ120に移り、ここで、アダプテーションフィールド
におけるPCR及びDPCRフラグが、各々、PCR及びDPCRセグメントを
確立するために設定される。ステップ122において、エンコーダは、適切なP
CR値を発生し、PCR値をPCRセグメントへ挿入する。それから、PCR修
正フラグは、PCRセグメントが下流のマルチプレクサー又は他の装置によって
修正されないことを指示するために、ステップ124において「0」の値へ設定
される。ステップ126において、DPCRセグメントのベース及び拡張フィー
ルドは、ゼロの値へ初期化される。トランスポートパケットの一層の処理は、必
要に応じて、継続される。
第6図は、本発明の方法による各多重化段(又は可変遅延を課する他の装置)
において行われるステップを示す流れ図である。トランスポートパケットが、マ
ルチプレクサーによって受信される時、マルチプレクサーは、ステップ130に
おいて示された如く、トランスポートパケットヘッダーを検査し、アダプテーシ
ョンフィールドが、パケットにおいて存在するかを判定する。アダプテーション
フィールドが存在するならば、制御は、ステップ132に移り、ここで、マルチ
プレクサーは、PCRフラグを検査し、PCRセグメントがアダプテーションフ
ィールドにおいて存在するかを判定する。PCRセグメントが存在するならば、
マルチプレクサーは、ステップ134においてPCR修正フラグを検査する。P
CR修正フラグが、PCRベース及び拡張フィールドが修正されることを指示す
る(即ち、PCR修正フラグ=’1’)ならば、制御は、ステップ136に移る
。
ステップ136において、トランスポートパケットを出多重化データストリー
ム内の位置へ挿入した後、マルチプレクサーは、多重化動作中、パケットに課せ
られた遅延量△TMを決定する。遅延は、上記の如く、算出される。ステップ1
38において、測定遅延は、PCRセグメントのベース/拡張フォーマットへ変
換される。ステップ140において、PCRベース及び拡張フォーマットにおけ
る現値PCRcurrentは、測定遅延値△TMを現値へ加算することにより調整され
る。それから、トランスポートパケットは、出多重化データストリームにおいて
マルチプレクサーを出る。この場合、原PCR値は、保存されない。
ステップ134において、PCR修正フラグが、PCRベース及び拡張フィー
ルドが修正されないことを指示する「0」に設定されたことが判定されるならば
、制御は、ステップ142へ移り、ここで、マルチプレクサーは、DPCRセグ
メントがアダプテーション層において設けられたかを判定する。DPCRセグメ
ントが設けられないならば、マルチプレクサーは、パケットに課せられた遅延を
追跡することなく、単に、トランスポートパケットを放出する。もちろん、原P
CR値は、PCRセグメントにおいてなお存在する。この場合は、遅延追跡が全
く必要とされず、原PCR値のみが必要とされる応用において発生する。
DPCRセグメントが、アダプテーションフィールドにおいて設けられるなら
ば、ステップ144において、トランスポートパケットを、出多重化データスト
リーム内の位置へ挿入した後、マルチプレクサーは、多重化動作中にパケットに
課せられた遅延量△TMを決定する。ステップ146において、測定遅延は、D
PCRセグメントのベース/拡張フォーマットへ変換される。ステップ148に
おいて、DPCRベース及び拡張フィールドにおける現累積遅延値DPCRcurr ent
は、測定遅延値△TMを現値へ加算することにより調整される。それから、ト
ランスポートパケットは、出多重化データストリームにおいてマルチプレクサー
を出る。この場合、原PCR値は、PCRセグメントにおいて保存されると同時
に、トランスポートパケットに課せられた多重化遅延の累積は、DPCRセグメ
ントにおいて維持される。上記の如く、調整PCR値が最終的に必要とされるな
らば、DPCRセグメントにおける値は、常に、他の応用に対する原PCR値を
破壊することなく、その時点において原PCR値へ加算される。
第7図は、多重化段の如く装置150のブロック図であり、パケットが装置1
50を通過する時、そのパケットに課せられた可変遅延を反映するために、トラ
ンスポートパケットのPCR又はDPCRフィールドを調整するための回路を組
み込む。特に、後述される回路は、第6図のステップ144−148と136−
140を実現するために使用される。第7図において示された如く、回路は、装
置150の入力152へ連結された第1PCR/DPCR修飾子モジュール15
4と、装置の出力160において連結された第2PCR/DPCR修飾子モジュ
ール154’とを具備する。特定装置150の回路は、装置150を通過する時
、トランスポートパケットにおいて可変遅延を課すると仮定され、ブロック15
6によって表現される。27MHzの公称周波数において動作する線164にお
いて設けられた局所システムクロック信号は、システムクロック信号の各サイク
ルにおいて増分する局所システムクロック基準計数器162を駆動する。こうし
て、計数器162における値は、局所システムクロックの絶対値を表現する。局
所システムクロック基準計数器162の値は、PCR/DPCR修飾子モジュー
ル154、154’へ線166において送られる。本実施態様において、システ
ムクロック基準計数器166の値は、上記の33ビットベース/9ビット拡張フ
ォーマットにおいてPCR/DPCR修飾子モジュール154、154’へ送ら
れる。
トランスポートパケットは、入力152において装置150に入り、第1PC
R/DPCR修飾子モジュール154の入力154aへ直接に伝達される。詳細
に後述される如く、PCR/DPCR調整が可能にされると仮定すると、PCR
/DPCR修飾子回路154は、PCRセグ
メント(原プログラムクロック基準が保存されない時)又はDPCRセグメント
(原プログラムクロック基準が保存される時)のいずれかから局所システムクロ
ック基準計数器162の値を減算する。それから、減算の結果は、トランスポー
トパケットがモジュール154を出る時、適切なPCR又はDPCRセグメント
において、前値の代わりに、挿入される。それから、トランスポートパケットは
、装置150の内部回路(ブロック156)を通過し、ここで、パケットは、可
変遅延を生ずることを仮定される。トランスポートパケットが装置150を通過
している時、局所システムクロック基準計数器162は、局所システムクロック
信号の各サイクルにおいて増分している。
装置150を出る前に、トランスポートパケットは、第2PCR/DPCR修
飾子モジュール154’を通過する。詳細に後述される如く、第2PCR/DP
CR修飾子モジュール154’は、局所システムクロック基準計数器162の更
新値を、考慮中のトランスポートパケットのPCR(原PCRは保存されない)
又はDPCR(原PCRは保存される)セグメントへ加算する。結果は、第2モ
ジュール154’に入ることにより、セグメントが有した値の上に複写される。
この加算ステップの結果として、特定セグメント(PCR又はDPCR)におけ
る新値は、装置150に入ることによりトランスポートパケットが含んだ値と、
装置を通過することにより、トランスポートパケットが生じた可変遅延の値の合
計に等しくなる。
例として、トランスポートパケットが、装置に入り、原PCR値が、保存され
、可変遅延が、トランスポートパケットのDPCRセグメントにおいて累積され
ると仮定する。装置150に入ることにより、DPC
Rセグメントは、初期値DPCRinを有する。第1PCR/DPCRモジュール
154を出ることにより、DPCRセグメントは、パケットが第1モジュール1
54に入った時点において、初期値DPCRinから局所システムクロック基準値
LSCR(tin)を差し引いた修正値DPCRmodを有する。こうして、
DPCRmod=DPCRin−LSCR(tin)
トランスポートパケットが、装置150を通過している間、局所システムクロッ
ク基準計数器162は、27MHzの率において更新している。装置150を出
る前に、トランスポートパケットは、第2モジュール154’を通過し、局所シ
ステムクロック基準の更新値LSCR(tout)を修正DPCR値DPCRmodへ
加算し、装置150を通過する時、トランスポートパケットにおいて課せられた
可変遅延を反映する調整値DPCRadiを生成する。即ち、
DPCRadi=DPCRmod+LSCR(tout)
=(DPCRin−LSCR(tin))+LSCR(tout)
=DPCRin+(LSCR(tout)−LSCR(tin))
ここで、LSCR(tout)−LSCR(tin)は、装置150によって課せら
れた可変遅延△TDを表現する。原プログラムクロック基準が、保存される必要
がない場合に、前述の動作は、トランスポートパケットのPCRセグメントにお
いて直接に行われる。
第8図は、第7図のモジュール154と154’の両方を実現するために使用
されるPCR/DPCR修飾子モジュールの詳細を示すブロック図である。図示
の如く、モジュールは、入りトランスポートストリームのトランスポートパケッ
トを受信するための入力167aを有する。
入力167aは、第7図のそれぞれのモジュール154、154’の入力154
aと154a’を形成する。線167aを介してモジュール167に入るトラン
スポートパケットは、ストリーム構文解析器168、PCR/DPCR抽出モジ
ュール174とデータパイプライン178へ送られる。PCR/DPCR調整が
行われる時、適切な信号が、ストリーム構文解析器168をイネーブルするため
に、線170を介して送られる。いったんイネーブルされたならば、ストリーム
構文解析器166は、入りトランスポートパケットのヘッダーを構文解析し、ま
ず、トランスポートパケットがアダプテーションフィールドを含むかを判定する
(第6図のステップ130)。そうならば、ストリーム構文解析器は、アダプテ
ーションフィールドにおけるPCRフラグを検査する(ステップ132)。PC
Rフラグが、PCRセグメントがトランスポートパケットのアダプテーションフ
ィールドにおいて存在することを指示するならば、ストリーム構文解析器は、P
CRセグメントにおけるPCR修正フラグを検査する(ステップ134)。第6
図の説明から、PCR修正フラグが設定されるならば、PCRセグメントは、直
接に調整される、即ち、原PCRは保存されないことを想起せよ。しかし、PC
R修正フラグが設定されないならば、PCRセグメントは、修正されず、ストリ
ーム構文解析器168は、DPCRセグメントが存在するかを判定する。そうな
らば、DPCRセグメントが、修正される。
いったん適切なセグメント(PCR又はDPCR)が、修正のために識別され
たならば、ストリーム構文解析器168は、適切な信号を、PCR/DPCR抽
出ユニット174へ送り、適切なセグメントを抽出する。本例は、PCR及びD
PCRセグメントの両方が、33ビットベー
ス/9ビツト拡張フォーマットを有することを仮定する。しかし、上記の如く、
DPCRセグメントは、所望ならば、小さくされる。抽出されたPCR又はDP
CRは、加算器/減算器ユニット176の一方の入力へ送られる。局所システム
クロック基準LCSRは、加算器/減算器ユニット176の他方の入力へ送られ
る。加算器/減算器ユニット176は、「モード」入力182を介して、加算又
は減算のいずれかを行うように設定される。モジュール167が、第7図の第1
モジュール154を実現するために使用される時、モードは、減算のために設定
される。モジュール167が、第7図の第2モジュール154’を実現するため
に使用される時、モードは、加算のために設定される。加算又は減算の結果は、
線184を介して、マルチプレクサー180の一方の入力へ送られる。マルチプ
レクサーの他方の入力は、線186を介して、データパイプライン178からト
ランスポートパケットデータを受信する。マルチプレクサー出力は、ストリーム
構文解析器168から線172において送られた多重制御信号によって制御され
る。
データパイプライン178は、線167aにおいてトランスポートパケットを
受信し、加算器/減算器ユニット176によって加算/減算を行わせるために十
分な時間量の間、必要ならば、トランスポートパケットの伝搬を遅延させる。初
期的に、線186は、マルチプレクサー180からの出力に対して選択され、こ
のため、トランスポートパケットのデータが、マルチプレクサーを通って出力線
188へ伝わり始める。修正されるセグメント(PCR又はDPCR)が、マル
チプレクサー180の入力に達する時、マルチプレクサー180の出力は、線1
84へ切り換えられ、その結果、修正値は、前セグメント値に置き換わる。いっ
たんPCR/DPCRセグメントに対する修正データがマルチプレクサーを通過
したならば、マルチプレクサーの出力は、線186へ切り換わり、線188にお
いてトランスポートパケットの残部を出力する。こうして、マルチプレクサー1
80は、受信されたトランスポートパケットにおけるPCR又はDPCRセグメ
ントの値を、加算/減算演算の結果と置き換えるためのドロップ加算マルチプレ
クサーとして役立つ。モジュール167は、入りトランスポートストリームの各
逐次トランスポートパケットにおいて、上記の如く動作する。
上記が示す如く、本発明は、多重化デジタル伝送システムの多様な段において
パケットに課せられた多重化遅延の累積を、所望ならば、維持しながら、データ
のパケットにおいて原タイムスタンプを保存するための方法に向けられる。デコ
ーダにおいてデジタルプログラムのタイムベースを確立するためにタイムスタン
プ値によるシステムにおいて、本発明は、その単一プログラムの原タインベース
を保存するための手段を提供する。しかし、発明の広い概念に反することなく、
上記の実施態様に変更が為されることが理解される。例えば、本発明の方法は、
多重化遅延を追跡するために特に好適であるが、同一方法は、これらの装置によ
って課せられた遅延を累積するために、網切り換えノードの如く、他の下流装置
において使用される。従って、この発明は、開示された特定実施態様に限定され
ず、添付のクレイムによって記載された如く、発明の範囲と精神内にあるすべて
の修正を包含することを意図される。Detailed Description of the Invention
For preserving the original time base of a program in a multiplexed communication system
Law
Field of the invention
The present invention relates to a digital transmission system, and more particularly, at a receiving point.
For transmission systems that use coordinated time stamping technology to perform clock recovery.
And a method for preserving the original time base of a digital program.
BACKGROUND OF THE INVENTION
Recently, the International Organization for Standardization (ISO) is one of encoded video, audio or other data.
Combine the above "basic streams" into a single bitstream suitable for transmission
A standard protocol for matching was adopted. After that, the "MPEG-2 system" standard
The standard called quasi is the MPEG-2 System Commission, which is hereby incorporated by reference.
Membership draft (ISO / IEC JTC1 / SC29 / WG11 / N0601, 19
November 1993) [Details of "MPEG-2 System Committee Draft"]
be written. An overview of the MPEG-2 Systems standard is also hereby incorporated by reference.
Enclosed Wasilewski, The MPEG-2 Systems S
specification: Blueprint for Network I
interoperability (January 3, 1994).
The MPEG-2 system standard requires multiple combinations of one or more "programs".
It provides a set of syntax and semantic rules for the composition of the containing bitstream. "Pu
“Program” is one or more related basic strikes.
It consists of a ream. A "basic stream" is a shared stream of programs of which it is a member.
Encoding table for a single video, audio or other data stream sharing a common time base
It is the present. For example, in the context of pay television systems, "program"
Consists of two elementary streams, a video stream and an audio stream
Equipped with network television broadcasting.
Two-level packet-based multiplexing as the MPEG-2 system standard evolves
The chemical scheme appeared. At the first level, each elementary stream transmitted, ie
, Encoded data for one video, audio or other data stream
To form a packetized elementary stream (PES). Given packetization
Each PES packet in the elementary stream follows the PES packet header
, A variable length payload containing the encoded data of the elementary stream. Packet
The streamlined elementary stream structure is a subordinate part of a large elementary stream that is
Stream (for example, basic stream of the same program) and its basic stream
With associated indicators and overhead information used to synchronize the presentation of
, Means for packaging into a continuous packet. Each packetized basic strike
Reams are assigned a unique packet ID (PID). For example, Net Tele
Packetized elementary stream containing encoded video data for the vision program
Is assigned a PID of "10". Related audio data for the program
Packetized elementary streams containing data are assigned a PID of "23", etc.
It is.
At the second level, one or more packetized elementary streams are further segmented.
These streams have been streamed or "packetized" for transmission on a medium.
Easily combine programs into a single bitstream
I do. Finally, one or more packetized elementary streams into a single bitstream
Two different "second level" protocols have emerged for combining. That is,
1) Program Stream (PS) protocol and 2) Transport Stream
It is a protocol. Both stream protocols are packet based and IS
As specified by the Open Systems Interconnection (OSI) reference model,
Enter the category of "transport layer" entities. Program stream can be
An "error-free" environment that uses variable-length packets and requires software parsing
Intended for Program stream packets are generally relatively large
(1K-2K bytes). The transport stream uses fixed length packets.
Intended for transmission in noisy or error environments. Each transport stream
A packet includes a header part and a payload part. Transports
The stream packet has a relatively short length of 188 bytes and has an improved error rate.
Includes resilience and packet loss detection features. The remaining background discussion is mainly MPEG-
It concentrates on two transport stream protocols.
As last adopted, the Transport Stream Protocol is
A packetized elementary stream is a single transport transport carried on a medium.
Standard format (ie syntax and semantic set)
)I will provide a. FIG. 1 shows MPEG-2 from multiple packetized elementary streams.
This shows generation of a transport stream. As shown, each packetization basic
The individual packets of the stream are segmented into sequential transport packets.
It is inserted into the payload section. For example, as shown in FIG. 1, the basic stream
"Video 1"
One of the PES packets 10 of the packetized basic stream including the encoded video of
Pay for segmented and continuous transport packets, eg 12 and 14.
It is inserted into the load section. Every transport packet has a header,
For example, it has the header 16 of the transport packet 12 and
Packet header is the packet carried in the transport packet.
Includes the PID associated with the blocked basic stream. In the example shown in FIG.
The packetized elementary stream that carries the encoded video of the elementary stream "Video 1" is
, A PID of “10”, and therefore its packetized elementary stream
The header of each transport packet 12, 14 carrying data from
Includes a PID value of 10 ". Similarly, packets for the basic stream "voice 1"
Headers of each transport packet 18, 20 carrying the encoded elementary stream data.
Is assigned to that elementary stream, which is “23” in the example shown.
Included PID.
The transport packet formed from each packetized elementary stream is
Form a single-out bitstream or "transport stream" from
To be multiplexed. Thus, the transport stream is
A continuous sequence of packets, each packet containing multiple packetized elementary streams.
Carry data from one of the systems. Given packetization at the decoder position
The elementary stream has its header assigned to the packetized elementary stream.
The incoming transaction by simply extracting all incoming packets that contain the stored PID.
Recovered from the sport stream. Associated packetized elementary stream (eg,
Audio, video, etc.) groups to extract the complete “program”.
Will be issued.
As the MPEG-2 Systems standard evolves, the MPEG-2 Systems Committee
, Further, each packetization basis for each sequence of transport packets
This stream segmentation operates at a nominal frequency of 27.0 MHz
Decided to be implemented by an encoder that uses a common system clock
. To receive and present a selection program (ie a set of related elementary streams)
Therefore, the operating frequency and absolute instantaneous value of the decoder are
They need corresponding system clocks to match. But actually, Deco
The free-running system clock frequency of the
It rarely, if not badly, matches the decoder system clock
A method for synchronizing the encoder system clock is needed. MPE
As the G-2 system standard evolves, the people involved in the MPEG-2 system committee
Synchronizes the decoder system clock with the encoder system clock (sometimes
, Hereinafter referred to as "clock recovery") in the draft MPEG-2 Systems Committee.
Achieved through the use of time stamps, called program clock references.
Suggested that Program clock reference (PCR) is an encoder system
It is a real "snapshot" of Mukrok. Depending on the technology adopted,
For each program carried in the Lanceport Stream, PCR
A basic strike that is generated at least once every 100 ms and that constitutes the program
It must be inserted in the transport packet that carries one of the reams.
For example, as shown in FIG. 1, PCR 24 and 26 are
Packetized basic stream data for
Transport packets 12 and 14 carrying "picture 1" of "program 1"
Was inserted into. Similarly, PCR, eg PCR28,
Packetized basic stream data for the "program 21" "video 21"
It has been inserted into a transport packet to be carried, for example packet 32.
As stated above, for a given program, the PCR should be at least every 100ms.
Once again, a transport package that carries one of the basic streams of the program
Must be generated and inserted into the sequence of packets. Each PCR is
Encoder system at the time of insertion into each transport packet
It is a real example of a mukurok and is therefore the transport of a given program.
The original PCR inserted in the packet reflects the true timebase of the program
You. In such a time stamp approach, each program is independent of itself.
Have a good time base, which allows the time base of various programs to be
There is no need to synchronize the source.
Transactions carrying packetized elementary stream data for a given program.
The PCR in the sequence of sport packets is based on the program before the multiplexing stage.
Although representing a true time base, the MPEG-2 Systems Committee is
Server can only “send” one packet at a time, so each elementary stream
Transport packets for transport stream multiplexer 2
When reaching 2, some packets have been found to experience a variable delay during multiplexing.
When a PCR-carrying transport packet causes a variable delay,
The original PCR is no longer valid. As a result, the transport stream
The multiplexor 22 may be placed on the packet by the multiplexer.
The original PCR must be "tuned" to account for the variable delay. But one
The constant end-to-end delay is that each transport packet has its same constant delay.
PCR must not be disabled in the sequence of transport packets to
Note that
As one method of adjusting the PCR value in a packet that causes a variable delay, I
The method ultimately adopted by SO is the input of a multiplexer or other device.
The amount of variable delay that a packet will experience between output and output, and then the packet
When leaving the device in the Lanceport stream, the delay time is added to the original PCR value.
It is to calculate. As a result of this adjustment, the PCR for a given program will
A packet that holds a PCR no matter where it appears in the transport stream
System of the encoder at the time when is inserted into the outgoing transport stream
It should reflect the absolute value of the clock.
FIG. 2 illustrates adjusting PCR values to account for variable delays, such as multiplexing delays.
The need to do so is shown diagrammatically. Different packetization, as shown in FIG.
The two transport packet sequences formed from the elementary stream are
It is sent to the respective inputs of the transport stream multiplexer 22. G
One sequence of transport packets, eg packets A and B, is illustrated
Video basic stream packetized basic stream data, "Video 3" is carried
I do. Another sequence of transport packets, eg packets C and D, is
, An example audio elementary stream packetized elementary stream data, "audio 7",
To transport. Furthermore, as shown in the figure, the packet sequence for "Video 3" is
Transport packets A and B in the sequence are
Reference value, PCRAAnd PCRB,including. As mentioned above, each of the time stamps
, When the PCR is inserted into each transport packet of the sequence
It is a "snapshot" of the encoder system clock in. Therefore, the special
Transport packet formed from constant packetized elementary snap stream
The sequence of PCRs carrying the sequence of
It reflects the real time base of a single program that is a bar.
Further referring to FIG. 2, the respective transcripts for "Video 3" and "Sound 7" are shown.
Transport packets A, B and C of the transport packet sequence are shown in the figure.
As described above, the transport stream multiplexer in the order of ABC
Suppose you leave. In such a case, transport packet B
Regarding transport packet A, the amount ▲ TMJust delayed. As a result, the transformer
Original time stamp PCR in port packet BBIs the transport package
It no longer accurately reflects the time relationship for To A. Such multiplexing delays or others
In order to compensate for the variable delay of
Adjust the PCR of any transport packet that causes a delay to account for the delay
Suggested to do so. However, as mentioned above, all packets have the same constant delay.
In the situation that results in But in many situations
However, it is unlikely that every packet will have an exactly constant delay.
The adjustment of the PCR to compensate for the variable delay is shown diagrammatically in FIG.
As shown, the original PCR of transport packet B is adjusted
Value PCRBWas exchanged for Adjusted time stamp value PCRB’Is the delay value ▲
TMOriginal time stamp value PCRBIt is earned by adding to. Thus
PCRB’= PCRB+ ▲ TMIt is.
Delays other than multiplexing delays occur during the transmission of packets from the encoder to the receiving point.
It is noted that For example, a packet transmitted through an ATM network will be transmitted to the network.
There is a delay at the various switching nodes. Compensation for these delays
Compensation is treated in the same way.
At the receiving point, the decoder enters for output or presentation at the receiving point.
Select one of the "programs" carried in the transport stream
Used for In single-choice "program" transport packets
The PCR carried carries the decoder sys- tem for the purpose of decoding the program.
Used to "slave" the system clock to the encoder system clock.
It is. That is, the PCR carries the basic stream data for the program.
When a transport packet arrives at the decoder,
Used to regenerate or reestablish the source. In general, PCR
It is used to perform clock recovery.
Figure 3 is used to select a given program for output at the receiving point.
The model decoder used is shown. The time stamp technology described above
The clock generation circuit 58 in FIG.
Carried in the transport packets of the selection program to reestablish
Process the PCR values obtained. According to the model, MPEG-2 Transport Stream
The stream is received by the decoder 40 and the transport stream demultiplexed.
Lexer / Parser
It is sent to the unit 42. The user's program selection is via line 44
It is sent to the chipplexer 42. The user selects the given program to be output.
When the demultiplexer 42 is connected to the basic stream that constitutes the selection program,
All incoming transpos with a PID that matches one of the assigned PIDs
Start extracting packet. For example, referring again to FIG. 1, the subscriber
The program 1 including the main stream "video 1" and "audio 1" is selected. "Video
Transport packet that carries packetized elementary stream data for "1"
Each have a PID of "10" and a packetization base for "voice 1".
Each transport packet carrying this stream data has P of "23".
Have an ID. When serial packets of the transport stream are received,
The Luxplexer 42 is designed for all incoming packages with a PID of "10" or "23".
Extract transport packets. Then the extracted transport packet
The packets are parsed to reassemble the original packetized elementary stream. ultimate
The encoded video and audio data of each packetized elementary stream is
The data is sent to the buffers 48 and 54 and the respective decoders 50 and 56 to restore the data.
And generate analog video and audio signals to be output to the display device.
In addition, when each transport packet of the selection program is received,
The chipplexer 42 determines whether the transport packet includes a PCR.
. If so, the PCR is extracted from the incoming packet and crossed over line 59.
Is sent to the clock generation circuit 58. As mentioned above, decoder system clock frequency
Is exactly the same as the frequency of the original encoder or the system clock of the decoder.
Is completely stable (immediately
I don't drift) is unlikely. Times listed here
Depending on the stamp approach method, the packet in the transport packet of the selected program
The PCR value sent in a timely manner is used as the encoder system clock at the decoder.
Used to “reproduce” or “recover”. That is, PCR is a selection program
Used to reestablish the time base of the. Encoder system in decoder
The clock recovery circuit 58 recovers the stem clock. Figure 3 shows
6 shows a model clock generation circuit used by the time stamp technique described above.
In the model clock generation circuit 58 of FIG. 3, the reference and feedback terms are numbers (eg,
For example, except for the counter 66 and the value of the received PCR), a direct phase-locked oscillator (PLL)
) Is realized. The initial acquisition of the user selection program causes the counter 66 to
The first PCR received for the program is loaded via line 61. afterwards
, PLL essentially operates as a closed loop. Encoder system clock
A voltage controlled oscillator (VCO) 64 having a nominal frequency approximately equal to the frequency of
Provide coder system clock signal. When the decoder system clock runs,
The lock signal increments the counter 66, which causes the decoder system clock to be lost.
Express time. As shown, the counter 66 value is fed to the subtractor unit 60.
Returned continuously. The subtractor 60 uses the transport stream packet
When it arrives, it compares the value of the counter with the subsequent PCR. When the PCR arrives, the PC
To represent the expected value of the decoder system clock at the time R is received
In addition, the difference between it and the value of the counter 66 drives the instantaneous frequency of the VCO 64.
Used to decelerate or accelerate the decoder clock signal as appropriate. Low frequency fill
And gain gain
The LPF (62) is applied to the difference value from the subtractor (60) and is applied to the VCO (64).
Generates a smooth control signal. As will be appreciated, provided by counter 66
Continuous feedback and periodic arrival of PCR values in the transport stream are
The coder system clock has been slaved to the encoder system clock.
Guarantee that In this way, the encoder system clock
The lock was "reproduced" or "recovered" at the decoder. That is, a single-choice pro
The original Gram timebase was reestablished.
On behalf of the assignee, the Applicants will use the M-2 in developing the MPEG-2 system standard.
Actively involved in the work of the PEG-2 Systems Committee, and to various standard perspectives.
I gave it. The MPEG-2 system standard has evolved to include the time stamp (ie, P
CR) When it becomes clear that access methods will become part of the standard, applicants will
Gram's PCR is adjusted during packet multiplexing to compensate for packet delay.
It has to be said that some applications have a raw PCR value for a given program, ie
The original sequence of transport packets generated by the encoder before multiplexing.
What is found at the end of the sequence is used at the end of a series of multiplexing stages.
Recognized that you need and.
For example, in the original PCR, SMPTE time code is used in the analog video signal.
And in exactly the same way, to trigger another event at the exact moment
Used by downstream equipment as a time reference. In addition, users of digital VCR
Simultaneously observes one of the "programs" in the incoming transport stream
And want to record. Digital VCR is the original transport packet sequence
Incoming Transpo
It is expected to store the programs retrieved from the stream. That is,
Carries one of the packetized elementary streams that "compose" a single-selection program
Each sequence of transport packets is
Are stored directly in the storage medium in the original sequential order in which they were created. Trang
The original sequence of sport packets was reestablished when the program was stored.
In order to account for the multiplexing delay, the PCR value adjusted during transmission is
These delays are effectively eliminated when the original sequence of packet packets is reestablished.
Because it is no longer valid. Therefore, the adjusted PCR is
Not used to perform clock recovery during playback. Rather, the original PCR value (multiplex
It was also first inserted by the encoder into each transport packet before
) Is necessary for the original continuous sequence of transport packets to be restored
It is said.
Thus, as the Applicants have recognized, multiple programs are created by
The timestamp value used to establish the database is multiplexed and / or transmitted.
In-time timestamping technique adjusted to compensate for variable packet delay in transit
For those applications that require raw values if they are transmitted to the receiving point using
A method for storing raw unadjusted timestamp values is needed. The present invention
Provides such a method. On behalf of the assignee, the applicants have
"A Revised Proposal For MP"
EG-2 Transport and Program Multiplex
Syntax ", MPEG 93/351 (March 29, 1993)
In the paper submitted to the International Organization for Standardization, MPEG-2 system
The method of the present invention has been previously proposed for inclusion in a system standard. On behalf of the assignee
The subsequent paper submitted by the applicants is "Proposal to Inc.
lude Delta PCRs in MPEG-2 Transport
"Stream", MPEG 93/611 (July 1993).
It further encouraged ISO to adopt the method. Finally, according to the attached claim
As described above, the present invention, as part of the MPEG-2 Systems standard, is substantially
Was adopted by.
SUMMARY OF THE INVENTION
The present invention is designed to facilitate clock recovery at the receiving point, prior to transmission,
The time stamp value is inserted into the selected packet, and the time stamp in each packet is
Adjustment to compensate for delays that occur during multiplexing and / or transmission to the receiving point
In a system that transmits information packets from a transmission point to a reception point that requires
Is particularly suitable for use. Applicants are responsible for various multiplexing and / or transmission stages.
While providing a means to track the delay caused by a packet,
The original timestamp in the packet to preserve the original timebase of the program
Recognized the need for a way to store values.
According to a preferred embodiment of the present invention, the method comprises (a) at least a first in the packet.
The step of defining the first and second fields, and (b) the first field of the packet.
The original time stamp value at the transmission point and then the first field.
In the second step, following the steps of not modifying the values in step C and step (c)
Adding the value of the delay caused by the packet to the initial value in the field
It is equipped with. At the receiving point, the second field is the delay caused by the packet.
Reflects the deferral,
The original time stamp value is stored in the first field. In one embodiment
Where the second field is a value of zero before multiplexing and / or transmission of the packet.
Is initialized to
Implementation where packet has header, payload and adaptation fields
In an aspect, step (a) preferably comprises the adaptation fee of the packet.
Field to define first and second fields. Another aspect of the invention
Therefore, the adaptation field corresponds to the first and second fields, respectively.
Further comprising first and second corresponding flags, and step (a) comprises adaptation.
The first and second values to indicate the presence of the first and second fields in the first field.
There is the step of setting a flag.
Brief description of the drawings
The foregoing summary, as well as the following detailed description of the preferred embodiments, is associated with the accompanying drawings.
When you read it carefully, you will be better understood. For the purpose of illustrating the invention, the drawings
While the presently preferred embodiments are shown, the invention is not limited to the disclosed specific methods and procedures.
It is not limited to steps.
Figure 1 shows the transcoders from multiple packetized elementary streams at the encoder.
The generation of a sport stream is shown diagrammatically.
FIG. 2 is a diagram for explaining a multiplexing delay in a packet-based communication system.
The concept of time stamp adjustment is shown in a diagram.
Figure 3 shows the recovery of the selected program from the incoming transport stream.
3 is a block diagram of an example decoder of FIG.
FIG. 4 shows the contents and arrangement of transport packets according to an embodiment of the present invention.
It is shown as a diagram.
FIG. 5 is a flow chart showing one aspect of the method of the present invention.
FIG. 6 is a flow chart showing another aspect of the method of the present invention.
FIG. 7 is a PCR or DPCR of a transport packet according to the method of the present invention.
FIG. 6 is a block diagram of an apparatus that incorporates circuitry for conditioning a field.
FIG. 8 is a block diagram showing further details of the circuit of FIG.
Detailed Description of the Preferred Embodiment
Referring to the drawings, like numbers indicate like elements, but FIG.
The general content and arrangement of the port packet 70 is shown, and more specifically, the implementation of the present invention.
An “adaptation field” 74 of the transport packet 70 according to an aspect.
Details of the contents and arrangement of In the above-mentioned draft of the MPEG-2 Systems Committee
The adaptation file for MPEG-2 transport packets as specified.
The contents and location of the field are similar to those shown in Figure 4, but not identical.
Will be noticed.
As shown in FIG. 4, the transport packet 70 has a header portion.
76, payload section 72, and the "adaptation field" 74 above.
To have. The transport packet header 76 contains a packet ID (PID) and
Other transport related information (not shown) is included. One fee in the header
Field (not shown) indicates whether the packet contains an adaptation field 74.
Used to First proposed by others, part of the MPEG-2 system standard
As was finally adopted as
Stream or payload segment of its transport packet.
MPEG-2 related and self-employed related information
In order to provide a simple "window" for transporting information, the transport packet
"Opened" in the field. When present, the adaptation field 74
It contains a number of fields and flags.
According to the present invention, the first field 88 is the PC in the transport packet 70.
In order to realize the PCR segment for carrying the R value, the transport packet
Defined in the adaptation field 74 of the unit 70. However, as described above
All transport packets in a given transport stream
Does not include the PCR value, and thus the PCR flag 82 is
Used to indicate the presence or absence of PCR segment 88 in option field 74.
It is. PCR segment 88 is suitable for use without departing from the spirit and scope of the invention.
Format, but MPEG-2 Systems Committee
, It decided to have a 33-bit base component and a 9-bit extension component.
. Therefore, as shown in FIG. 4, the PCR segment 88 is preferably 33
It comprises a bit base field 90 and a 9 bit extension field 94. MPE
9 bits of PCR extension 94, as further specified by the G-2 Systems Committee.
Implements a modulo 300 counter that increments at a rate of 27 MHz. Each model
Cow in the 33-bit base part of the Juro 300 "rollover"
Are incremented. Therefore, the base portion 90 of the PCR segment is 90K
Represents the Hz clock rate. As mentioned above, PCR is a transport transport
The actual "snapshot" of the encoder system clock when inserted into the
That's it. In particular, the final provisions in the draft MPEG-2 Systems Committee
As described above, the PCR value is the last bit of the PCR base part 90.
Encoder at the time the byte containing the packet is inserted into the transport packet
Specifies the system clock value. In other words, incoming transport story
In the PCR, the value of the PCR is the byte containing the last bit of the PCR base part 90.
Express the time when the goal is reached.
As mentioned above, provide accurate time base recovery while receiving the transmitted program
The PCR carried in the transport packet of the program in order to
The value is transmitted to compensate for the multiplexing delay imposed by the multiplexer.
It must be coordinated at every multiplexing stage in the system. However
, Applicants have recognized that it may be used by decoders in some applications.
It is also necessary to save the original PCR value for this purpose. The present invention preserves the original PCR values.
However, a mechanism for adjusting the PCR value should be provided to explain the multiplexing delay.
And satisfy this need.
According to the invention, as shown in FIG. 4, the second field 96 is Del
In order to realize the ta_PCR (DPCR) segment, the adaptation file
Defined within field 74. The DPCR flag 84 is an adaptation field.
Provided to indicate the presence of the DPCR segment 96 within the card. This embodiment
The DPCR segment 96 has a structure similar to that of the PCR segment 88.
It also comprises a 20-bit base component 98 and a 9-bit extension component 100. DPCR
The base component 98 represents the 90 KHz clock component and is the DPCR extension component.
100 represents a 27 MHz clock component. 90KHz clock frequency
Therefore, the 20-bit DPCR base field 98 has about 1 before the rollover.
Accumulate a delay of 1.5 seconds. If more cumulative delay is expected
For example, the DPCR base field 98 is made larger. For example, DPCR
The source field 98 is the same as the PCR base field 90 and is a 33-bit field.
Have a mat.
Furthermore, according to the present invention, the PCR segment in the adaptation field is
88 further comprises a PCR correction flag 92. The PCR correction flag 92 is P
The fact that the CR base and extension fields 90, 94 cannot be modified
Used to inform the server (eg, multiplexer 22 in FIGS. 1 and 2)
Is done.
Although not shown in detail, the adaptation field 74 also contains other fields.
Including the field. For example, the adaptation field 74 is
Contains an 8-bit length field 78 to specify the total length of the field 74 in bytes
. Any number of other fields (not shown) are also included in the adaptation field 7
4 and corresponding flags 86 are PCR and DPCR flags 82.
, 84 indicate the presence or absence of the PCR and DPCR segments 88, 96 of the present invention.
This in a particular transport packet, exactly as used for
Used to indicate the presence or absence of these fields.
The method of the present invention accounts for the variable delay caused by packets being multiplexed or in transit.
While providing a means to trace, the original PCR in the transport packet 70
When it is desired to store the value, the encoder uses the adaptation field 7
PCR segment 88 (first field) and DPCR segment 96 (first field)
2 fields) to define the adaptation of the transport packet 70.
The PCR and DPCR flags 82 and 84 are set in the option field 74.
Before multiplexing,
The encoder uses the original PCR (ie time stamp) from the encoder system clock.
) To generate the original PCR, the base and extension fields 9 of the PCR segment 88.
Insert to 0, 94. The PCR modification flag 92 is then used for PCR base and extension.
The unfolding fields 90, 94 are not modified by a subsequent multiplexing stage or other downstream device.
Set to inform. Transport packet 70 is transmitted to the communication system.
DPCR segment 96 as it propagates through various multiplexing stages and other devices in
To maintain the cumulative delay imposed on packets in such devices.
used. Specifically, a multiplexing stage or other device may add a variable delay to the transport packet.
Whenever it is applied to the packet 70, the value that represents the magnitude of the delay is the DPCR segment.
Is added to the current value in the table 96. Each multiplexing stage or other device is
Station operating at a nominal frequency of 27 MHz, which is the nominal frequency of the stem clock
It has a system clock. At a given multiplexing stage or other device
Delay ΔT imposed on the auto packet 70MIs calculated as follows.
△ TM= LSCR (tout) -LSCR (tin) -D
Where LSCR (tout) Is the transport packet of the multiplexer
The value of the local system clock of the multiplexer when it reaches the output,
LSCR (tin) Is when the transport packet enters the multiplexer,
The value of the local system clock, and
D imposes on all transport packets as they pass through the multiplexer.
It is a predetermined constant delay that is imposed.
Once calculated, the measurement delay value ΔTNBut the DPCR segment 96
Is added to the current value of the accumulated delay at. Cumulative value in DPCR segment 96
Is a 20-bit base component that represents a 90 KHz clock frequency, and 27 MHz
Multiplexer to have a 9-bit extension component representing the clock frequency
Delay measured at stage ΔTMIs the current cumulative value in the DPCR segment
It must be converted to base / extended format before adding values. Strange
The conversion is performed as follows.
△ TM(Base) = int [ΔTM/ 300]
△ TM(Expansion) = △ TM-△ TM(base)
Where ΔTMIs the delay value before conversion,
△ TMIs the 20-bit base component of the delay value after conversion,
△ TM(Expansion) is a 9-bit expansion component of the delay value after conversion.
As a decoder, the cumulative delay value in DPCR segment 96 was adjusted.
It is added to the original PCR value in PCR segment 88 to obtain the PCR value.
It is. In this way, the original PCR value is stored in PCR segment 88.
You.
FIG. 5 shows the encoder during the generation of transport packets according to the method of the present invention.
6 is a flow chart showing a number of steps performed by Transmission of transport packet
During the live, the encoder indicates that the transport packet is shown in step 100.
As described above, it is determined whether to carry the time stamp (PCR). If so,
At step 111, the adaptation field is
Control is established, and control passes to step 112. Adaptation
The presence of a field sets the appropriate bit in the transport packet header.
Established by establishing. In step 112, the encoder determines the raw P
Determine if CR is saved. Whether or not the original PCR is preserved depends on the application.
Then, the determination in step 112 is normally performed by the preprogram in the encoder.
Is done.
When it is not necessary to save the original PCR, control passes to step 114, where
The encoder uses the adaptation field to establish the PCR segment.
PCR flag is set. At step 116, the encoder
Generate the appropriate PCR value and insert the PCR value into the PCR segment. As above
, PCR, PCR was inserted into the PCR segment of the transport packet
Actual sample or "snapshot" of encoder system clock at time
Is expressed. Step 118, PCR modification in the PCR segment
The flag is used to directly modify the PCR value in the PCR base and extension fields.
Is used to inform the subsequent multiplexing stage. That is, in the subsequent multiplexing stage
The measured delay is added directly to the value in the PCR segment. result
In fact, the original PCR value is not saved in this case.
However, in step 112 it is determined that the original PCR value is saved.
If so, control passes to step 120, where the adaptation field
PCR and DPCR flags in
Set to establish. At step 122, the encoder determines the appropriate P
Generate a CR value and insert the PCR value into the PCR segment. Then PCR
A positive flag indicates that the PCR segment is downstream by a multiplexer or other device.
Set to a value of "0" in step 124 to indicate that it is not modified
Is done. In step 126, the base and extension fee of the DPCR segment
Field is initialized to a value of zero. Further processing of transport packets is essential.
Continue as needed.
FIG. 6 shows each multiplexing stage (or other device imposing a variable delay) according to the method of the invention.
4 is a flow chart showing the steps performed in. Transport packets are
When received by the multiplexer, the multiplexer proceeds to step 130.
Inspect the transport packet header and
Field is present in the packet. Adaptation
If the field exists, control passes to step 132, where the multi
The Plexer checks the PCR flag and the PCR segment is
Determine if it exists in the field. If a PCR segment is present,
The multiplexer checks the PCR correction flag in step 134. P
CR modification flag indicates that PCR base and extension fields are modified
Control (ie, PCR correction flag = '1'), control transfers to step 136.
.
In step 136, the transport packet is output and multiplexed.
The multiplexer, the packet is placed on the packet during the multiplexing operation.
Delay amount ΔTMTo determine. The delay is calculated as described above. Step 1
38, the measurement delay is converted to the base / extended format of the PCR segment.
Will be replaced. In step 140, in PCR-based and extended format
Present value PCRcurrentIs the measurement delay value ΔTMIs adjusted by adding
You. The transport packet is then sent in the outgoing multiplexed data stream.
Exit the multiplexer. In this case, the original PCR value is not saved.
In step 134, the PCR modification flag is set to the PCR base and extension fee.
If it is determined that the field is set to "0", which indicates that it is not modified
, Control transfers to step 142, where the multiplexer is the DPCR segment.
Ment is determined in the adaptation layer. DPCR segment
If not provided, the multiplexer will add the delay imposed on the packet.
It simply emits transport packets without tracking. Of course, Hara P
The CR value is still present in the PCR segment. In this case, deferred tracking
Occurs in applications where only the original PCR value is needed and not much needed.
If a DPCR segment is provided in the adaptation field
For example, in step 144, the transport packet is sent to the outgoing multiplexed data stream.
After being inserted into a position in the ream, the multiplexer will
Determine the amount of delay ΔTM imposed. In step 146, the measurement delay is D
Converted to base / extended format of PCR segment. To step 148
The current accumulated delay value DPCR in the DPCR base and extension fieldcurr ent
Is the measurement delay value ΔTMIs adjusted by adding to the current value. Then,
Lanceport packets are multiplexed in the outgoing multiplexed data stream.
Leave. In this case, the original PCR value is the same as that stored in the PCR segment.
In addition, the cumulative multiplexing delay imposed on transport packets is calculated by the DPCR segmentation.
Maintained in the As mentioned above, the adjusted PCR value should not be finally needed.
, The value in the DPCR segment is always the original PCR value for other applications.
It is added to the original PCR value at that point without being destroyed.
FIG. 7 is a block diagram of a device 150, such as a multiplexing stage, in which packets are transmitted to device 1.
As it traverses 50, the traffic is changed to reflect the variable delay imposed on the packet.
Set up a circuit to adjust the PCR or DPCR field of the transport packet
See in. In particular, the circuit to be described later will be described in steps 144-148 and 136- in FIG.
Used to implement 140. As shown in FIG. 7, the circuit is
First PCR / DPCR qualifier module 15 connected to input 152 of device 150
4 and the second PCR / DPCR modifier module concatenated at the output 160 of the device.
154 '. When the circuit of the specific device 150 passes through the device 150,
, It is assumed to impose a variable delay on the transport packet, block 15
Expressed by 6. On line 164 operating at a nominal frequency of 27 MHz
The local system clock signal provided in each
Drive local system clock reference counter 162, which increments in 1 Like this
Thus, the value in counter 162 represents the absolute value of the local system clock. Station
The value of the system clock reference counter 162 is the PCR / DPCR qualifier module.
Route 154, 154 'to line 166. In this embodiment, the system
The value of the Mukuroku reference counter 166 is the above 33-bit base / 9-bit extension frame.
Send to PCR / DPCR qualifier module 154, 154 'in format
It is.
The transport packet enters the device 150 at the input 152 and the first PC
It is communicated directly to the input 154a of the R / DPCR qualifier module 154. Details
Assuming that PCR / DPCR coordination is enabled, as described below in
/ DPCR qualifier circuit 154 is a PCR segment
Ment (when the original program clock reference is not saved) or DPCR segment
The local system clock from either (when the original program clock reference is saved).
The value of the clock reference counter 162 is subtracted. Then the result of the subtraction is the transport
Appropriate packet or DPCR segment when the packet exits module 154
At, instead of the previous value, it is inserted. Then the transport packet
, Through the internal circuitry of device 150 (block 156), where the packet is
It is assumed to cause a variable delay. Transport packet passes through device 150
When the local system clock reference counter 162 is
Incrementing with each cycle of the signal.
Before leaving the device 150, the transport packet shall be modified by the second PCR / DPCR.
It passes through the decorator module 154 '. As described in detail below, the second PCR / DP
The CR qualifier module 154 'updates the local system clock reference counter 162.
PCR of transport packet under consideration of new value (original PCR is not saved)
Or add to the DPCR (original PCR is preserved) segment. The result is the second model
By entering the module 154 ', the segment is copied over the value it had.
As a result of this addition step, in a specific segment (PCR or DPCR)
The new value that is included in the transport packet is the value included in the transport packet upon entering the device 150.
The value of the variable delay caused by the transport packet caused by passing through the device
Is equal to the total.
As an example, a transport packet enters the device and the original PCR value is stored.
, A variable delay is accumulated in the DPCR segment of the transport packet
Assume that By entering the device 150, the DPC
R segment is the initial value DPCRinHaving. First PCR / DPCR module
Upon exiting 154, the DPCR segment causes the packet to
Initial value DPCR at the time of entering 54inTo local system clock reference value
LSCR (tin) -Corrected value DPCRmodHaving. Thus
DPCRmod= DPCRin-LSCR (tin)
While transport packets are passing through device 150, local system clock
The reference counter 162 is updating at a rate of 27 MHz. Exit device 150
Before passing, the transport packet passes through the second module 154 ', where the local packet
System clock reference update value LSCR (tout) Modified DPCR value DPCRmodWhat
Summed and imposed on transport packets as they pass through device 150
Adjustment value DPCR reflecting variable delayadiGenerate That is,
DPCRadi= DPCRmod+ LSCR (tout)
= (DPCRin-LSCR (tin)) + LSCR (tout)
= DPCRin+ (LSCR (tout) -LSCR (tin))
Where LSCR (tout) -LSCR (tin) Is imposed by device 150
Variable delay ΔTDExpress Original program clock reference needs to be preserved
If there is not, the above operation is performed in the PCR segment of the transport packet.
Be done directly.
FIG. 8 is used to implement both modules 154 and 154 'of FIG.
FIG. 6 is a block diagram showing details of a PCR / DPCR qualifier module performed. Illustrated
As shown in the module, the transport packet of the incoming transport stream is
Has an input 167a for receiving a packet.
Input 167a is the input 154 of each module 154, 154 'of FIG.
a and 154a 'are formed. Tran entering module 167 via line 167a
The sport packet is stream parser 168, PCR / DPCR extraction module.
174 and data pipeline 178. PCR / DPCR adjustment
The appropriate signal, when done, enables the stream parser 168.
, Via line 170. Once enabled, stream
The parser 166 parses the header of the incoming transport packet and
First, determine whether the transport packet contains an adaptation field
(Step 130 in FIG. 6). If so, the stream parser will
The PCR flag in the option field is checked (step 132). PC
The R flag indicates that the PCR segment is an adaptation flag of the transport packet.
If it indicates that it is present in the field, the stream parser
The PCR correction flag in the CR segment is checked (step 134). Sixth
From the description of the figure, if the PCR correction flag is set, the PCR segment is
Recall that the original PCR is not adjusted, ie the original PCR is not preserved. But the PC
If the R modify flag is not set, the PCR segment is not modified and
The parser 168 determines if a DPCR segment is present. Yes
If so, the DPCR segment is modified.
Once the appropriate segment (PCR or DPCR) is identified for modification
Stream parser 168 then sends the appropriate signal to the PCR / DPCR extractor.
Send to output unit 174 to extract the appropriate segment. In this example, PCR and D
Both PCR segments are 33-bit base
Suppose that it has a S / 9 bit extended format. However, as mentioned above,
The DPCR segment is reduced if desired. Extracted PCR or DP
The CR is sent to one input of the adder / subtractor unit 176. Local system
The clock reference LCSR is sent to the other input of adder / subtractor unit 176.
You. Adder / subtractor unit 176 adds or subtracts via “mode” input 182.
Is set to do either of the subtractions. Module 167 is the first of FIG.
When used to implement module 154, the mode is set to subtract
Is done. Module 167 implements second module 154 'of FIG.
When used with, the mode is set for addition. The result of addition or subtraction is
It is sent via line 184 to one input of multiplexer 180. Multiple
The other input of the lexer is from the data pipeline 178 via line 186.
Receives transport packet data. The multiplexer output is a stream
Controlled by the multiple control signal sent on line 172 from the parser 168
You.
The data pipeline 178 sends the transport packet on line 167a.
In order to receive and have the adder / subtractor unit 176 add / subtract.
Delay transport packet propagation if necessary for a sufficient amount of time. First
Periodically, line 186 is selected for the output from multiplexer 180,
Because of the transport packet data, the output line goes through the multiplexer.
Start to reach 188. The segment to be modified (PCR or DPCR) is
When the input of the chipplexer 180 is reached, the output of the multiplexer 180 is line 1
84, so that the modified value replaces the previous segment value. Ichi
Corrected data for PCR / DPCR segment passes through multiplexer
If so, the output of the multiplexer switches to line 186 and to line 188.
And outputs the rest of the transport packet. Thus, multiplexer 1
80 is the PCR or DPCR segmentation in the received transport packet.
Drop add multiple to replace the value of the
Useful as a kusa. Module 167 contains each incoming transport stream.
It operates as described above in the sequential transport packet.
As indicated above, the present invention is applicable to various stages of a multiplexed digital transmission system.
While maintaining the accumulation of multiplexing delays imposed on the packet, if desired, the data
Is directed to a method for storing the original time stamp in the packet. Deco
To establish a time base for digital programs in
In a value-based system, the present invention uses the original tine base of the single program.
To provide a means for storing. However, without violating the broad concept of the invention,
It is understood that modifications can be made to the above embodiments. For example, the method of the present invention is
Although particularly suitable for tracking multiplexing delays, the same method is used by these devices.
Other downstream devices, such as network switching nodes, to accumulate the delay imposed by
Used in. Accordingly, this invention is limited to the particular embodiments disclosed.
, And all within the scope and spirit of the invention, as described by the appended claims.
It is intended to encompass modifications of
【手続補正書】特許法第184条の8
【提出日】1996年2月15日
【補正内容】
6.削除
7.削除
8.削除
9.プログラムの情報が一連のパケットにおいて伝送される、伝送地点から受
信地点へプログラムを含む情報を伝送するためのシステムにおける、受信地点へ
クロック回復情報を送るための方法において、
(a)伝送地点において、出パケットの第1フィールドにおいてタイムスタンプ
を周期的に挿入する段階であり、タイムスタンプが、出パケットへのタイムスタ
ンプの挿入時の伝送地点における局所クロックの値を表現し、逐次出パケットの
第1フィールドにおいて挿入されたタイムスタンプが、プログラムの原タイムベ
ースを反映する段階と、
(b)第1フィールドにおいてタイムスタンプを含むプログラムの各パケットに
対して、受信地点への伝送中、そのパケットによって生じた遅延の値の累積を、
第2フィールドにおいて維持するが、第1フィールドにおけるタイムスタンプを
修正しない段階と、
(c)プログラムの原タイムベースを回復する目的のために、該パケットの第1
フィールドにおいて搬送されたタイムスタンプのみを受信地点において使用し、
該パケットの第2フィールドにおいて累積値を無視する段階とを具備する方法。
10.該伝送地点からの伝送の前に、各該パケットの第2フィールドをゼロの
値へ初期化する段階をさらに具備する請求の範囲9に記載の方法。
11.タイムスタンプを含む各パケットが、ヘッダーと、ペイロードと、アダ
プテーションフィールドとを有し、この場合、各該パケットの
該第1及び第2フィールドが、パケットのアダプテーションフィールド内に規定
される請求の範囲9に記載の方法。
12.各該パケットのアダプテーションフィールドが、それぞれ、該第1及び
第2フィールドに対応する第1及び第2フラグをさらに含み、この場合、該方法
が、さらに、アダプテーションフィールド内の該第1及び第2フィールドの存在
を指示する値へ第1及び第2フラグを設定する段階を具備する請求の範囲11に
記載の方法。[Procedure of Amendment] Article 184-8 of the Patent Act
[Submission date] February 15, 1996
[Correction contents]
6. Delete
7. Delete
8. Delete
9. Program information is transmitted in a series of packets, received from the point of transmission.
To the receiving point in the system for transmitting information including programs to the receiving point
In a method for sending clock recovery information,
(A) Time stamp in the first field of the outgoing packet at the transmission point
Is inserted periodically, and the time stamp is the time stamp for the outgoing packet.
Expresses the value of the local clock at the transmission point when the
The time stamp inserted in the first field is the original time stamp of the program.
Stage,
(B) In each packet of the program including the time stamp in the first field
On the other hand, during transmission to the receiving point, the accumulated value of delay caused by the packet is
Keep in the second field, but keep the time stamp in the first field
The stage of not fixing,
(C) The first of the packet for the purpose of restoring the original time base of the program.
Use only the time stamp carried in the field at the receiving point,
Ignoring the cumulative value in the second field of the packet.
10. The second field of each packet shall be set to zero before transmission from the point of transmission.
The method of claim 9, further comprising the step of initializing to a value.
11. Each packet containing a time stamp includes a header, a payload and an
Option field and in this case each of the packets
The first and second fields are defined in the adaptation field of the packet
The method according to claim 9, wherein the method is performed.
12. The adaptation field of each packet is the first and
Further comprising first and second flags corresponding to the second field, in which case the method
The presence of the first and second fields in the adaptation field
12. The method according to claim 11, further comprising the step of setting the first and second flags to a value indicating
The described method.