JP2002510162A - Transport stream remultiplexer with video program - Google Patents
Transport stream remultiplexer with video programInfo
- Publication number
- JP2002510162A JP2002510162A JP2000540637A JP2000540637A JP2002510162A JP 2002510162 A JP2002510162 A JP 2002510162A JP 2000540637 A JP2000540637 A JP 2000540637A JP 2000540637 A JP2000540637 A JP 2000540637A JP 2002510162 A JP2002510162 A JP 2002510162A
- Authority
- JP
- Japan
- Prior art keywords
- transport
- descriptor
- packet
- transport packet
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Television Systems (AREA)
- Time-Division Multiplex Systems (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
(57)【要約】 記述子をベースとするシステム(122、124、129−4)を用いてトランスポートパケットを適時に出力し、記述子とトランスポートパケットのキャッシング技法(116、122、124、114)を用いて、任意の非同期処理(160、120、S2、402、S4、404)から、トランスポートパケットの同期送受信を切離し、記述子を用いて、スクランブル/デスクランブル制御ワード(129−9)を管理し、ヌル・トランスポートパケットをトランスポートパケット・データに代えることで、トランスポートストリームの帯域幅を最適化し、さらに、或る技法(180)を用いて、複数の内部参照クロックジェネレータ(113)をロックする、ビデオプログラムを載せたデータ(TS1〜TS5、TS10〜TS20)を再多重化する方法とシステム(30、30’、100、100’、100’’、100’’’)。 (57) [Summary] A transport packet is output in a timely manner using a descriptor-based system (122, 124, 129-4), and the descriptor and transport packet caching techniques (116, 122, 124, 114), the synchronous transmission / reception of the transport packet is separated from any asynchronous processing (160, 120, S2, 402, S4, 404), and the scramble / descramble control word (129-9) is used by using the descriptor. ), Replacing null transport packets with transport packet data, thereby optimizing the bandwidth of the transport stream, and using a technique (180) to generate multiple internal reference clock generators (180). 113) to lock the data (TS1 to TS5, TS1) on which the video program is loaded. How to re-multiplexing ~TS20) and a system (30, 30 ', 100, 100', 100 '', 100 ''').
Description
【0001】 技術分野 本発明は、通信システムに関するものである。特に、本発明は、リアルタイム
のオーディオビデオ・プログラムなどの1つまたは複数のプログラムが入ってい
るビットストリームを選択的に多重化することに関する。プログラム固有の情報
や、他のプログラム関連情報は、ビットストリームの受信側で、プログラムの識
別、抽出、リアルタイムの再生を行えるように調整される。TECHNICAL FIELD [0001] The present invention relates to a communication system. In particular, the invention relates to selectively multiplexing a bitstream containing one or more programs, such as a real-time audio-video program. The program-specific information and other program-related information are adjusted so that the receiving side of the bitstream can identify, extract, and reproduce the program in real time.
【0002】 背景技術 最近、デジタル・オーディオビデオ・プログラムを効率的に圧縮して、蓄積と
伝送を行う技法が提案されている。例えば、ISO\IEC IS13818−
1,2,3:情報技術 − 動画および関連オーディオ情報の汎用符号化:シス
テム、ビデオ、オーディオ(「MPEG−2」); ISO\IEC IS11
172−1,2,3:情報技術 − 約1.5メガビット/秒以下でのデジタル
記憶媒体用の動画および関連オーディオの汎用符号化:システム、ビデオ、オー
ディオ(「MPEG−1」); ドルビーAC−3;モーションJPEGなどを
参照のこと。ここでは、プログラムという語は、MPEG−2用語にしたがって
、プレゼンテーションの同期化を目的とする共通のタイムベースを有する関連オ
ーディオビデオ信号の集まりをさす。2. Description of the Related Art Recently, techniques for efficiently compressing a digital audio video program for storage and transmission have been proposed. For example, ISO @ IEC IS13818-
1,2,3: Information technology-Generic coding of video and related audio information: system, video, audio ("MPEG-2"); ISO @ IEC IS11
172-1, 2, 3: Information Technology-Generic encoding of moving pictures and associated audio for digital storage media at about 1.5 Mbit / s or less: system, video, audio ("MPEG-1"); Dolby AC -3; see Motion JPEG, etc. As used herein, the term program refers to a collection of related audio-video signals having a common time base for the purpose of synchronizing presentations according to MPEG-2 terminology.
【0003】 MPEG−1とMPEG−2は、ストリームを階層的に分類できるようにして
いる。すなわち、オーディオビデオ・プログラムは、1つまたは複数の符号化さ
れたビットストリーム、すなわち「基本ストリーム」(「ES」)(例えば、符
号化ビデオESと符号化オーディオES)、第2の言語符号化オーディオES、
クローズドキャプション・テキストESなどから成っている。各ES、特にオー
ディオESとビデオESのそれぞれは、別々に符号化される。次に、符号化され
たESを組合わせて、プログラム・ストリーム「PS」またはトランスポートス
トリーム「TS」などのシステム階層ストリームにする。PSまたはTSの目的
は、プログラムの符号化ESの抽出、各ESの分離と別々の復号化、および復号
化ESのプレゼンテーション同期化を実行することにある。TSまたはPSは、
さらに上位のチャネル層または蓄積フォーマットでカプセル化され、それにより
、順方向の誤り訂正ができるようになる。[0003] MPEG-1 and MPEG-2 allow streams to be classified hierarchically. That is, the audio-video program may include one or more encoded bitstreams, or "elementary streams"("ES") (eg, encoded video ES and encoded audio ES), second language encoding Audio ES,
It consists of closed caption text ES. Each ES, especially each of the audio ES and the video ES, is separately encoded. Next, the encoded ESs are combined into a system layer stream such as a program stream “PS” or a transport stream “TS”. The purpose of the PS or TS is to perform the extraction of the coded ES of the program, the separation and separate decoding of each ES, and the presentation synchronization of the decoded ES. TS or PS is
It is further encapsulated in a higher channel layer or storage format, which allows forward error correction.
【0004】 基本ストリーム オーディオESは、一般に、一定のビットレート、例えば384kbpsで符
号化される。これに反して、ビデオESは、可変ビットレートで、MPEG−1
またはMPEG−2により符号化される。これは、圧縮/符号化された映像1つ
当たりのビット数が、映像ごとに異なることをさす(それらの映像は、一定の速
度で提示または表示される)。ビデオ符号化は、ビデオ映像を空間符号化し、時
間符号化する段階をともなう。空間符号化には、輝度画素データと色差画素デー
タのブロックの離散コサイン変換、量子化、(ジグザグ)スキャンニング、ラン
レングス符号化、および可変長符号化がある。時間符号化は、マクロブロック(
例えば、4×4の配列の輝度ブロックと各色差ブロックが載せられている)の動
きを概算して、モーションベクトルを特定し、これらのマクロブロックを動き補
償して予測誤差マクロブロックを形成し、予測誤差マクロブロックを空間符号化
し、さらに、モーションベクトルを可変長符号化することになる。I映像と呼ば
れるいくつかの映像は、空間符号化されるだけであるが、しかるに、PやBの映
像などの他の映像は、空間符号化されるし、動き補償符号化されもする(すなわ
ち、他の映像から時間的に予測される)。符号化I映像は、符号化P映像よりも
多くのビットを持ち、また符号化P映像は、一般に、符号化B映像よりも多くの
ビットを持つ。いずれにせよ、同一タイプの符号化映像でも、ビット数が異なる
傾向がある。[0004] The elementary stream audio ES is generally encoded at a constant bit rate, for example 384 kbps. On the other hand, Video ES uses MPEG-1 at a variable bit rate.
Alternatively, it is encoded by MPEG-2. This means that the number of bits per compressed / encoded video varies from video to video (the videos are presented or displayed at a constant rate). Video coding involves spatially coding and temporally coding a video image. The spatial encoding includes discrete cosine transform, quantization, (zigzag) scanning, run-length encoding, and variable-length encoding of a block of luminance pixel data and chrominance pixel data. Temporal coding uses macroblocks (
For example, the motion of the luminance block and the respective color difference blocks in a 4 × 4 array are estimated), motion vectors are specified, and these macro blocks are motion compensated to form a prediction error macro block. The prediction error macroblock is spatially coded, and the motion vector is variable-length coded. Some pictures, called I-pictures, are only spatially coded, while other pictures, such as P and B pictures, are both spatially coded and motion compensated coded (ie, , Temporally predicted from other videos). A coded I video has more bits than a coded P video, and a coded P video generally has more bits than a coded B video. In any case, the coded video of the same type tends to have a different number of bits.
【0005】 MPEG−2は、符号化ビデオESに対してバッファサイズの制約条件を定め
ている。特に、デコーダは、定義済み最大記憶容量を持つバッファを備えている
と考えられる。符号化ビデオESは、デコーダ・バッファにオーバーフローを起
こしてはならない(場合によっては、デコーダ・バッファにアンダーフローを起
こしてはならない)。MPEG−2は、ビデオESのビットレート、映像表示速
度、および予測映像を復号化できる(映像を予測したときの基準映像から)よう
課せられたいくつかの映像順序付けの制約に関して、各映像の圧縮データをデコ
ーダ・バッファから取去る時間を詳細に定めている。このような制約が与えられ
ると、映像の圧縮の際に生成されるビット数を調整(1マクロブロックずつくら
いのペースで)すれば、このビデオESでも、ビデオESのバッファがアンダー
フローもオーバーフローも確実に起こらないようにすることができる。[0005] MPEG-2 defines a buffer size constraint for the coded video ES. In particular, the decoder is considered to have a buffer with a defined maximum storage capacity. The coded video ES must not cause the decoder buffer to overflow (in some cases, it must not cause the decoder buffer to underflow). MPEG-2 compresses each video in terms of the bit rate of the video ES, the video display speed, and some video ordering constraints imposed (from the reference video when the video was predicted) to be able to decode the predicted video. The time to remove data from the decoder buffer is specified in detail. Given such restrictions, if the number of bits generated during video compression is adjusted (at a pace of about one macroblock), the buffer of the video ES will not underflow or overflow even in this video ES. It can be ensured that it does not occur.
【0006】 トランスポートストリーム 本発明は、ここではTSについて例示されている。簡潔のために、PSの考察
は省略する。とはいえ、通常当業者であれば、本発明のいくつかの面がPSに当
てはまることがわかるであろう。Transport Stream The present invention is illustrated herein for a TS. For brevity, the discussion of PS is omitted. Nonetheless, one of ordinary skill in the art will recognize that some aspects of the invention apply to PS.
【0007】 各ESのデータは、可変長のプログラム基本ストリームすなわち「PES」パ
ケットにする。PESパケットには、単一ES専用のデータが入っているが、た
だし、2つ以上の復号化ユニット用のデータが入っている場合もある(例えば、
2つ以上の圧縮映像、2つ以上の圧縮オーディオ・フレームなどが入っている場
合もある)。TSの場合には、PESパケットは、まず最初に、いくつかのペイ
ロード・ユニットに分けて、固定長(188バイトの長さ)のトランスポートパ
ケットに挿入する。各トランスポートパケットは、ただ1つのタイプのペイロー
ド・データ(例えば、ただ1つのES用のPESパケットデータ)を運ぶことが
できる。各TSは、パケットIDすなわち「PID」を含む4バイトのヘッダー
を備えている。PIDは、トランスポートパケットのコンテントを一意的に示す
タグに類似している。したがって、1つのPIDを、特定のプログラムのビデオ
ESに指定し、もう1つの異なるPIDを特定のプログラムのオーディオESに
指定したりする。The data of each ES is made into a variable length program elementary stream, that is, a “PES” packet. A PES packet contains data dedicated to a single ES, but may also contain data for more than one decoding unit (eg,
Two or more compressed videos, two or more compressed audio frames, etc.). In the case of TS, the PES packet is first divided into several payload units and inserted into a fixed-length (188-byte length) transport packet. Each transport packet may carry only one type of payload data (eg, PES packet data for only one ES). Each TS has a 4-byte header containing the packet ID or "PID". The PID is similar to a tag that uniquely indicates the content of a transport packet. Therefore, one PID is designated as a video ES of a specific program, and another different PID is designated as an audio ES of a specific program.
【0008】 各プログラムのESは、単一のエンコーダ・システム・タイムクロックに対し
て符号化される。同様に、ESの復号化し同期化されたプレゼンテーションが、
さらに、同一のエンコーダ・システム・タイムクロックに対して同期化される。
したがって、デコーダは、各ESを復号化して、それぞれの復号化されたESを
、適時に、かつ相互同期化されるやり方で提示できるように、もとのエンコーダ
・システム・タイムクロックを復活できなければならない。この目的のために、
システム・タイムクロックのタイムスタンプ(プログラム・クロック基準すなわ
ち「PCR」と呼ばれる)を、選択されたトランスポートパケットのペイロード
(具体的に言えば、適応フィールド)に挿入する。デコーダは、トランスポート
パケットからPCRを抽出し、これらのPCRを用いて、エンコーダ・システム
・タイムクロックを復活させる。PESパケットには、復号化タイムスタンプす
なわち「DTS」および/またはプレゼンテーション・タイムスタンプすなわち
「PTS」が入っている場合がある。DTSは、次の復号化ユニット(すなわち
、圧縮オーディオ・フレーム、圧縮ビデオ映像など)が復号化される時間を、復
活したエンコーダ・システム・タイムクロックに対して示している。PTSは、
次のプレゼンテーション・ユニット(すなわち、復元オーディオ・フレーム、復
元ビデオ映像など)が提示または表示される時間を、復活したエンコーダ・シス
テム・タイムクロックに対して示している。[0008] The ES of each program is encoded for a single encoder system time clock. Similarly, the decrypted and synchronized presentation of the ES
Furthermore, it is synchronized with respect to the same encoder system time clock.
Therefore, the decoder must be able to decode each ES and restore the original encoder system time clock so that each decoded ES can be presented in a timely and mutually synchronized manner. Must. For this purpose,
The time stamp of the system time clock (called the program clock reference or "PCR") is inserted into the payload (specifically, the adaptation field) of the selected transport packet. The decoder extracts PCRs from the transport packets and uses these PCRs to restore the encoder system time clock. The PES packet may include a decoding timestamp or “DTS” and / or a presentation timestamp or “PTS”. The DTS indicates the time at which the next decoding unit (ie, compressed audio frame, compressed video image, etc.) will be decoded, relative to the restored encoder system time clock. PTS is
The time at which the next presentation unit (ie, restored audio frame, restored video image, etc.) is presented or displayed is shown relative to the restored encoder system time clock.
【0009】 TSは、PSと違って、2つ以上のプログラム用のプログラムデータを運ぶト
ランスポートパケットを持つ場合がある。各プログラムは、別のエンコーダ・シ
ステム・タイムクロックに対して、別のエンコーダで符号化されたこともある。
TSにより、デコーダは、デコーダが復号化を求めるプログラムの特定のシステ
ム・タイムクロックを復活させることができる。この目的のために、TSは、各
プログラムのエンコーダ・システム・タイムクロックを復活させるために、別々
の組のPCR、すなわち、或る一組のPCRを運ぶ必要がある。A TS, unlike a PS, may have a transport packet that carries program data for two or more programs. Each program may have been encoded by a different encoder for a different encoder system time clock.
The TS allows the decoder to revive a particular system time clock of the program for which the decoder seeks to decode. For this purpose, the TS needs to carry a separate set of PCRs, i.e. a set of PCRs, to restore the encoder system time clock of each program.
【0010】 さらに、TSは、トランスポートパケットで、プログラムに固有の情報、すな
わち(PSI)も運ぶ。PSIは、所望のプログラムまたは他の情報のデータを
特定して、プログラムの復号化に役立てるためのものである。トランスポートパ
ケットで運ばれるプログラム連関テーブル、すなわち「PAT」は、PID0x
0000を備えている。PATは、各プログラム番号を、このプログラム用のプ
ログラム定義を運ぶトランスポートパケットのPIDと相関させる。プログラム
定義は、(1)プログラム定義が対応するプログラムを、どのESが構成するの
かを示し、(2)これらのESのそれぞれに対して、PIDを特定し、(3)こ
のプログラムのPCRを運ぶトランスポートパケットのPIDを示し、(4)E
Sに固有の資格付与制御メッセージ(例えば、暗号解読キー)と、他の情報を運
ぶトランスポートパケットのPIDを特定する。TSのすべてのプログラム定義
は、まとめて、プログラム・マッピング・テーブル(PMT)と呼ばれる。した
がって、デコーダは、トランスポートパケットからPATデータを抽出して、P
ATを使用すれば、所望のプログラムのプログラム定義を運ぶトランスポートパ
ケットのPIDを特定することができる。次に、デコーダは、所望のプログラム
のプログラム定義データをトランスポートパケットから抽出して、所望のプログ
ラムを構成するESデータを運ぶトランスポートパケットのPIDと、PCRを
運ぶトランスポートパケットのPIDを識別することができる。次に、これらの
識別されたPIDを使用して、デコーダは、TSのトランスポートパケットから
、所望のプログラムのESのESデータと、このプログラムのPCRを抽出する
ことができる。デコーダは、所望のプログラムのPCRから、エンコーダ・シス
テム・タイムクロックを復活させて、復活したエンコーダ・システム・タイムク
ロックに対して、時々、ESデータを提示する。[0010] Further, the TS carries information unique to a program, that is, (PSI) in a transport packet. The PSI is for specifying a desired program or data of other information to help decode the program. The program association table carried in the transport packet, ie, "PAT" is PID0x
0000. The PAT correlates each program number with the PID of the transport packet that carries the program definition for this program. The program definition (1) indicates which ES constitutes the program corresponding to the program definition, (2) specifies the PID for each of these ESs, and (3) carries the PCR of this program. Indicates the PID of the transport packet, and (4) E
It identifies the S-specific entitlement control message (eg, decryption key) and the PID of the transport packet carrying other information. All program definitions for a TS are collectively called a program mapping table (PMT). Therefore, the decoder extracts the PAT data from the transport packet,
Using the AT, the PID of a transport packet carrying the program definition of a desired program can be specified. Next, the decoder extracts the program definition data of the desired program from the transport packet, and identifies the PID of the transport packet carrying the ES data constituting the desired program and the PID of the transport packet carrying the PCR. be able to. Next, using these identified PIDs, the decoder can extract the ES data of the ES of the desired program and the PCR of this program from the transport packets of the TS. The decoder restores the encoder system time clock from the PCR of the desired program, and presents the ES data to the restored encoder system time clock from time to time.
【0011】 オプションとしてTSで提供される他のタイプの情報には、資格付与制御メッ
セージ(ECM)、資格付与管理メッセージ(EMM)、条件付きアクセステー
ブル(CAT)、ネットワーク情報テーブル(NIT)がある(CATやNIT
はまた、PSIのタイプでもある)。ECMは、ECMがかかわるESをデコー
ダが解読する性能を制御するES固有のメッセージである。例えば、ESは暗号
化される場合があり、暗号解読のキーまたは制御ワードはECMである。特定の
ESと関係のあるECMは、ECM自体のトランスポートパケットに入れられて
、一意的なPIDで標記される。それに反して、EMMは、一組のデコーダ(こ
の組は、「条件付きアクセスシステム」と呼ばれるシステムの中にある)がTS
の一部を解読する性能を制御するシステム全域のメッセージである。EMMは、
EMM自体のトランスポートパケットに入れられて、EMMがかかわる条件付き
アクセスシステム特有のPIDで標記される。 EMMがあるときはいつでもC ATを備えて、デコーダが属している条件付きアクセスシステム(すなわち、デ
コーダが一構成部分となっている組のデコーダのもの)のEMMをデコーダが突
止められるようにしている。NITは、様々なネットワーク・パラメータを保存
している。例えば、デコーダ受信機が同調できる異なる搬送周波数で、複数のT
Sを変調する場合には、NITは、どの搬送周波数(TS搬送のもの)で、各プ
ログラムを変調するのか示すことができる。[0011] Other types of information optionally provided in the TS include an entitlement control message (ECM), an entitlement management message (EMM), a conditional access table (CAT), and a network information table (NIT). (CAT and NIT
Is also the type of PSI). The ECM is an ES-specific message that controls the ability of the decoder to decode the ES that the ECM involves. For example, the ES may be encrypted, and the decryption key or control word is the ECM. The ECM associated with a particular ES is included in the ECM's own transport packet and marked with a unique PID. In contrast, the EMM uses a set of decoders, which are in a system called a "conditional access system,"
This is a system-wide message that controls the performance of decoding a part of. EMM is
It is included in the transport packet of the EMM itself and is marked with a PID specific to the conditional access system with which the EMM is involved. Whenever there is an EMM, a CAT is provided to enable the decoder to locate the EMM of the conditional access system to which the decoder belongs (ie, that of the set of decoders into which the decoder is a component). I have. NIT stores various network parameters. For example, at different carrier frequencies to which the decoder receiver can tune, multiple T
When modulating S, the NIT can indicate on which carrier frequency (for the TS carrier) each program is to be modulated.
【0012】 ビデオESと同様、MPEG−2は、プログラムのESとPSIデータを蓄積
する定義済みサイズのTSバッファを備えたデコーダにより、TSが復号化され
ることを求めている。 MPEG−2はまた、データが上記バッファに、また上 記バッファから流れる速度も定めている。もっとも重要なことには、MPEG−
2は、TSがTSバッファにオーバーフローもアンダーフローも起こさないこと
を求めている。[0012] Like video ES, MPEG-2 requires that the TS be decoded by a decoder having a TS buffer of a defined size that stores the program ES and PSI data. MPEG-2 also defines the rate at which data flows to and from the buffer. Most importantly, MPEG-
No. 2 requires that the TS not cause overflow or underflow in the TS buffer.
【0013】 さらに、バッファのオーバーフローまたはアンダーフローを防止するために、
MPEG−2は、エンコーダからデコーダに移送されるデータが、一定のエンド
・ツー・エンド遅延を蒙ることと、適切なプログラムとESビットレートを保つ
ことを求めている。さらに、ESを、確実に、適時に復号化し提示できるように
するために、TSへのPCRの相対到着時間は、このようなPCRで示される相
対時間から、あまりにも大きく変動してはならない。別のやり方で述べると、各
PCRは、PCRの一部が入っている最後のバイトを受取ったときに、システム
・タイムクロック(デコーダで復活した)が取る時間を示している。したがって
、連続PCRの受信時間は、各PCRで示される時間と相関すべきである。Further, in order to prevent buffer overflow or underflow,
MPEG-2 requires that the data transported from the encoder to the decoder be subject to constant end-to-end delays and that proper programming and ES bit rates be maintained. Furthermore, in order to ensure that the ES can be decoded and presented in a timely manner, the relative arrival time of the PCR to the TS should not vary too much from the relative time indicated by such a PCR. Stated another way, each PCR indicates the time taken by the system time clock (resurrected at the decoder) when the last byte containing a portion of the PCR is received. Therefore, the reception time of successive PCRs should correlate with the time indicated by each PCR.
【0014】 再多重化 TSを「再多重化」することが好ましいことが多い。再多重化は、TSにトラ
ンスポートパケットを追加し、TSからトランスポートパケットを削除し、TS
内のトランスポートパケットの順序を並べ替え、かつ/または、トランスポート
パケットに納められたデータを修正することなど、TSのコンテントを選択的に
修正することになっている。例えば、第1のプログラムが入っているトランスポ
ートパケットを、他のプログラムが入っているTSに追加することが好ましいこ
とが時々ある。このような操作は、第1のプログラムのトランスポートパケット
を単に追加するだけの場合よりも多くの段階を必要とする。少なくとも、PAT
やPMTなどのPSIは、TSのコンテントを適正に参照するように、修正され
なければならない。とはいえ、TSは、TSで運ばれる各プログラムの一定のエ
ンド・ツー・エンド遅延を維持するように、さらに修正されなければならない。
具体的に言えば、各プログラムのビットレートが変化して、TSやビデオ・デコ
ーダ・バッファにアンダーフローもオーバーフローも起こさないようにしてはな
らない。さらに、例えば、同一プログラムのPCRを運ぶ連続トランスポートパ
ケットの相対間隔/受信速度を変更した結果、TSのPCRに導かれるどんな時
間的不整合も、除去しなければならない。Remultiplexing It is often preferable to “remultiplex” the TS. Remultiplexing adds transport packets to the TS, removes transport packets from the TS,
The content of the TS is to be selectively modified, for example, by rearranging the order of the transport packets in the TS and / or modifying the data contained in the transport packets. For example, it is sometimes preferable to add a transport packet containing a first program to a TS containing another program. Such an operation requires more steps than simply adding transport packets of the first program. At least, PAT
PSI such as PMT and PMT must be modified to properly refer to the content of the TS. Nevertheless, the TS must be further modified to maintain a constant end-to-end delay for each program carried in the TS.
Specifically, the bit rate of each program must not change so that no underflow or overflow occurs in the TS or the video decoder buffer. In addition, any temporal inconsistencies that may lead to the PCR of the TS, for example as a result of changing the relative spacing / reception rate of successive transport packets carrying the PCR of the same program, must be eliminated.
【0015】 従来技術が、MPEG−2のTS用の再多重化装置を提案してきた。この提案
された再多重化装置は、それぞれの入力される再多重化予定のTSを受取る地点
と、最終再多重化出力TSを出力する地点間で完全に同期を取ることができる高
機能な専用の1つのハードウェアである。すなわち、単一のシステム・タイムク
ロックが、トランスポートパケットの受信、バッファリング、修正、転送、再組
立て、出力を制御し、同期化する。このような再多重化装置はTSを再多重化す
ることができるが、再多重化装置のアーキテクチャは、複雑であって、専用の均
一同期プラットフォームを必要とする。The prior art has proposed a remultiplexing device for MPEG-2 TS. The proposed remultiplexing device is a high-performance dedicated multiplexer that can completely synchronize between the point receiving each incoming TS to be remultiplexed and the point outputting the final remultiplexed output TS. Hardware. That is, a single system time clock controls and synchronizes the reception, buffering, modification, transfer, reassembly, and output of transport packets. Although such remultiplexers can remultiplex TSs, the architecture of the remultiplexer is complex and requires a dedicated uniform synchronization platform.
【0016】 本発明の目的は、例えば任意(おそらく非同期)のプラットフォーム上に常駐
できる柔軟な再多重化アーキテクチャを提供することにある。It is an object of the present invention to provide a flexible re-multiplexing architecture that can for example reside on any (possibly asynchronous) platform.
【0017】 単一プログラムのビデオとオーディオを圧縮して、単一プログラムを運ぶTS
を生成するプログラム・エンコーダは、公知のものである。上記の通り、MPE
G−2は、いかなる時点においてもビデオ・デコーダ・バッファ内にあるビット
数と、TSのビットレートに対して、非常に厳しい制約を課している。ES、特
にビデオESを符号化して、このビットレートを、折々、完全に一定のままにし
ておくことは困難である。もっと適切に言えば、 ESエンコーダが、予想外の 甚だしい量の符号化情報を生成した結果として、あるオーバーヘッド帯域幅を各
プログラムに割当てて、ESデータが確実に脱落されないようにしなければなら
ない。それに反して、プログラム・エンコーダは、特定のトランスポートパケッ
ト・タイムスロットには、符号化プログラム・データをまったく出力させないこ
とが往々にある。これは、プログラム・エンコーダが、その時点で出力されるビ
ット数を減らして、デコーダ・バッファのオーバーフローを防止してきたからで
ある。別法として、これは、プログラム・エンコーダが、ESを符号化するのに
、予想外にさらに長い時間数を必要とし、それゆえ、その時点で使えるデータが
ないために、発生する場合がある。TSのビットレートを保ち、かつTSデコー
ダ・バッファのアンダーフローを防止するために、ヌル・トランスポートパケッ
トを、トランスポートパケット・タイムスロットに挿入する。TS that carries a single program by compressing the video and audio of the single program
Is known in the art. As noted above, MPE
G-2 imposes very strict constraints on the number of bits in the video decoder buffer at any one time and the bit rate of the TS. It is difficult to encode the ES, especially the video ES, and to keep this bit rate completely constant from time to time. More properly, the ES encoder must allocate some overhead bandwidth to each program as a result of generating an unexpected and significant amount of coding information to ensure that ES data is not dropped. In contrast, program encoders often do not output any encoded program data at a particular transport packet time slot. This is because the program encoder has reduced the number of bits output at that time to prevent overflow of the decoder buffer. Alternatively, this may occur because the program encoder unexpectedly requires a longer number of hours to encode the ES, and therefore no data is available at the time. To maintain the TS bit rate and prevent TS decoder buffer underflow, null transport packets are inserted into transport packet time slots.
【0018】 ヌル・トランスポートパケットが、再多重化予定のTSにあることが、しばし
ば、単に受入れる必要のある制約条件である。本発明の目的は、ヌル・トランス
ポートパケットが入っているTSの帯域幅を最適化することにある。[0018] The fact that a null transport packet is in the TS to be remultiplexed is often simply a constraint that needs to be accepted. It is an object of the present invention to optimize the bandwidth of a TS containing null transport packets.
【0019】 TSまたはESのデータは、非同期通信リンクを経て転送されることが時折あ
る。本発明の目的は、上記の非タイミング・データ、または非同期転送データを
「再タイミングする」ことにある。さらに、本発明の目的は、このようなトラン
スポートパケットの伝送のタイミングを取ることで、上記の非同期通信リンクか
ら送られるトランスポートパケットのジッタを最小限に抑えることにある。[0019] Occasionally, TS or ES data is transferred over an asynchronous communication link. It is an object of the present invention to "re-time" the above non-timing data or asynchronous transfer data. It is a further object of the present invention to minimize the jitter of transport packets sent from the asynchronous communication link by timing the transmission of such transport packets.
【0020】 さらに、本発明の目的は、ユーザが、再多重化TSに再多重化されたコンテン
トを動的に変更できる、すなわち、出力再多重化TSへのトランスポートパケッ
トの流れを停止させずにリアルタイムで変更できるようにすることにある。Further, it is an object of the present invention to allow the user to dynamically change the content re-multiplexed in the re-multiplexed TS, ie without stopping the flow of transport packets to the output re-multiplexed TS. To make changes in real time.
【0021】 本発明のさらなる目的は、ネットワーク上に再多重化機能を分散させることに
ある。例えば、非同期である通信ネットワーク(例えば、イーサネットLAN)
の任意のノードに、1つまたは複数のTSまたはESのソースを置き、またこの
ようなネットワークの別のノードに再多重化装置を置くことが目的である。A further object of the invention is to distribute the remultiplexing function over a network. For example, a communication network that is asynchronous (eg, Ethernet LAN)
The purpose is to place the source of one or more TSs or ESs at any node of the network and to place the remultiplexer at another node of such a network.
【0022】 発明の要約 これらおよび他の目的は、本発明により達成される。本発明の一例示応用例は
、再多重化する1つまたは複数のMPEG−2適合トランスポートストリーム(
TS)である。TSは、1つまたは複数の圧縮/符号化されたオーディオ・ビデ
オ・プログラムのデータが入っているビットストリームである。各TSは、一連
の固定長トランスポートパケットとして形成される。各圧縮プログラムは、ディ
ジタル・ビデオ信号および/またはディジタル・オーディオ信号などの1つまた
は複数の圧縮基本ストリーム(ES)用のデータを含む。これらのトランスポー
トパケットはまた、各プログラム用のプログラム・クロック基準(PCR)も運
ぶ。それらのPCRは、それぞれのプログラムの復号化とプレゼンテーションを
同期化するエンコーダ・システム・タイムクロックのタイムスタンプである。各
プログラムは、予め定めたビットレートを持つもので、所定サイズのビデオ・デ
コーダ・バッファとTSバッファを備えたデコーダで復号化されることになって
いる。各プログラムは、これらのバッファのオーバーフローとアンダーフローを
防止するようなやり方で符号化される。プログラムに固有の情報(PSI)は、
例示として、TSの復号化に役立つように、TSの選択されたトランスポートパ
ケットでも運ばれる。SUMMARY OF THE INVENTION These and other objects are achieved by the present invention. One exemplary application of the present invention is to remultiplex one or more MPEG-2 compliant transport streams (
TS). A TS is a bitstream that contains one or more compressed / encoded audio / video program data. Each TS is formed as a series of fixed length transport packets. Each compression program includes data for one or more compressed elementary streams (ES), such as digital video signals and / or digital audio signals. These transport packets also carry the program clock reference (PCR) for each program. These PCRs are encoder system time clock timestamps that synchronize the decoding and presentation of the respective programs. Each program has a predetermined bit rate and is to be decoded by a decoder having a video decoder buffer and a TS buffer of a predetermined size. Each program is encoded in such a way as to prevent overflow and underflow of these buffers. Information specific to the program (PSI)
By way of example, it may also be carried in selected transport packets of the TS to assist in decoding the TS.
【0023】 一実施形態により、再多重化ノードは、1つまたは複数のアダプタを備え、各
アダプタは、キャッシュ、キャッシュに接続されたデータリンク制御回路、およ
びキャシュに接続されたダイレクトメモリ・アクセス回路を含んでいる。アダプ
タは、特定の機能を有する同期インタフェースである。データリンク制御回路は
、トランスポートストリームを受取る入力ポートと、トランスポートストリーム
を送る出力ポートを備えている。ダイレクトメモリ・アクセス回路は、再多重化
ノードのバスなどの一定しないエンド・ツー・エンド通信遅延のある非同期通信
リンクに接続できる。非同期通信リンクを用いれば、ダイレクトメモリ・アクセ
ス回路は、再多重化ノードのメモリにアクセスできる。このメモリは、入力ポー
トに指定されたキューと、出力ポートに指定されたキューなどの記述子記憶位置
の1つまたは複数のキューを蓄積できる。さらに、このメモリは、各キューのこ
のような記述子記憶位置に蓄積されている記述子が指すトランスポートパケット
記憶位置に、トランスポートパケットを蓄積することもできる。例示として、再
多重化ノードは、トランスポートパケットと記述子を処理するプロセッサ(上記
のバスに接続されている)を含む。According to one embodiment, the remultiplexing node comprises one or more adapters, each adapter having a cache, a data link control circuit connected to the cache, and a direct memory access circuit connected to the cache. Includes An adapter is a synchronous interface that has a specific function. The data link control circuit has an input port for receiving the transport stream and an output port for sending the transport stream. The direct memory access circuit can be connected to an asynchronous communication link with variable end-to-end communication delay, such as a bus for a remultiplexing node. With an asynchronous communication link, the direct memory access circuit can access the memory of the remultiplexing node. This memory can store one or more queues at a descriptor storage location, such as a queue designated for an input port and a queue designated for an output port. In addition, the memory may also store transport packets at transport packet storage locations pointed to by descriptors stored in such descriptor storage locations of each queue. Illustratively, the remultiplexing node includes a processor (connected to the bus described above) that processes transport packets and descriptors.
【0024】 アダプタを使用して、トランスポートストリームを入力するときには、データ
リンク制御回路は、入力ポートに割当てられたキューの一連の記述子記憶位置の
1つにある未使用記述子を、保持される各受信トランスポートパケットに割当て
る。この割当てられた記述子は、キャシュにより制御が得られた記述子記憶位置
にある。データリンク制御回路は、割当てられた記述子が指し、かつキャシュに
より制御が得られたトランスポートパケット記憶位置に、それぞれの保持される
トランスポートパケットを蓄積する。ダイレクトメモリ・アクセス回路は、メモ
リ内で、すでにキャシュにより制御が得られた最後の記述子記憶位置の後に、キ
ューの1つまたは複数の未使用記述子記憶位置の制御を得る。さらに、ダイレク
トメモリ・アクセス回路は、メモリ内において、1つまたは複数の記述子記憶位
置にある上記の記述子が指すトランスポートパケット記憶位置の制御も得る。When inputting a transport stream using the adapter, the data link control circuit keeps an unused descriptor in one of a series of descriptor storage locations of a queue assigned to the input port. Assigned to each received transport packet. This assigned descriptor is at the descriptor location where control was gained by the cache. The data link control circuit accumulates each retained transport packet at the transport packet storage location pointed to by the assigned descriptor and controlled by the cache. The direct memory access circuit gains control of one or more unused descriptor locations in the queue in memory after the last descriptor location already gained control by the cache. In addition, the direct memory access circuit also gains control of the transport packet storage location pointed to by the above descriptor in one or more descriptor storage locations in memory.
【0025】 アダプタを使用して、トランスポートパケットを出力するときには、データリ
ンク制御回路は、出力ポートに指定されたキューの一連の記述子記憶位置の各記
述子をキャッシュから取り出す。これらの記述子は、この一連の記述子記憶位置
の初めから、順番に取り出される。さらに、データリンク制御回路は、これらの
取り出された記述子が指すトランスポートパケット記憶位置に蓄積されたトラン
スポートパケットもキャッシュから取り出す。データリンク制御回路は、出力ポ
ートから出力されるトランスポートストリームの一意的なタイムスロットに、そ
れぞれの取り出されたトランスポートパケットを出力する(すなわち、1つのタ
イムスロットにつき1つのトランスポートパケット)。ダイレクトメモリ・アク
セス回路は、この一連の記述子記憶位置の最後のキャッシュ入り記述子が蓄積さ
れている記述子記憶位置の後で、記憶位置内にある出力ポートに指定されたキュ
ーの記述子を、キャッシュ蓄積用のメモリから得る。さらに、ダイレクトメモリ
・アクセス回路は、得られた記述子が指すトランスポートパケット位置に蓄積さ
れた各トランスポートパケットも得る。When using the adapter to output a transport packet, the data link control circuit retrieves from the cache each descriptor in a series of descriptor locations in the queue designated for the output port. These descriptors are retrieved sequentially from the beginning of the series of descriptor locations. Further, the data link control circuit also fetches the transport packets stored in the transport packet storage location pointed to by these fetched descriptors from the cache. The data link control circuit outputs each extracted transport packet to a unique time slot of the transport stream output from the output port (ie, one transport packet per time slot). The direct memory access circuit may, after the last cached descriptor location in this series of descriptor locations, store the descriptor of the specified queue at the output port in the location. From the cache storage memory. Further, the direct memory access circuit also obtains each transport packet stored at the transport packet position indicated by the obtained descriptor.
【0026】 別の実施形態により、(さらに)各記述子を使用して、トランスポートパケッ
トが、入力ポートで受取られる時間を示す受信タイムスタンプ、あるいは、トラ
ンスポートパケットが、出力ポートから送られる時間を示すディスパッチ・タイ
ムスタンプを記録する。トランスポートパケットが入力ポートで受取られる場合
には、データリンク制御回路は、受取られて保持されたそれぞれのトランスポー
トパケットに割当てられた記述子に受信タイムスタンプを記録し、それにより、
それぞれのトランスポートパケットが受取られた時間が示される。これらの記述
子は、受信キューにおいては、受取り順に保たれる。出力ポートからトランスポ
ートパケットを出力する場合には、データリンク制御回路は、送信キューから、
各記述子を順次に取り出し、また、それぞれの取り出された記述子が指すトラン
スポートパケットも取り出す。それぞれの取り出された記述子に記録されたディ
スパッチ時間に対応する時間では、データリンク制御回路は、その取り出された
記述子に記録されたディスパッチ時間に対応する出力トランスポートストリーム
のタイムスロットに、それぞれの取り出された記述子が指す取出しトランスポー
トパケットを送る。According to another embodiment, (in addition to) each descriptor is used to indicate whether a transport packet is received at an input port at a reception timestamp or at which time a transport packet is sent from an output port. Is recorded. If a transport packet is received at the input port, the data link control circuit records the reception timestamp in the descriptor assigned to each transport packet received and retained, thereby:
The time at which each transport packet was received is indicated. These descriptors are kept in the receiving order in the receiving queue. When outputting a transport packet from the output port, the data link control circuit outputs
Each descriptor is fetched sequentially, and the transport packet pointed to by each fetched descriptor is also fetched. At the time corresponding to the dispatch time recorded in each retrieved descriptor, the data link control circuit assigns, in time slots of the output transport stream corresponding to the dispatch time recorded in the retrieved descriptor, respectively Send the fetch transport packet pointed to by the fetched descriptor.
【0027】 例示として、再多重化ノードのプロセッサは、受信キュー内の各記述子、およ
び、出力予定のトランスポートパケットを指す記述子が入っている他のキューを
調べる。このプロセッサは、それぞれの調べられた記述子が指すトランスポート
パケットが送られる出力ポートと関係のある送信キューの記述子を割当てる(も
しあれば)。プロセッサは、例えば、記述子が指すトランスポートパケットの受
信時間と、このトランスポートパケットの受信と出力間の内部バッファ遅延によ
って決まるディスパッチ時間を、送信キューのその割当てられた記述子に指定す
る。さらに、プロセッサは、ディスパッチ時間が長くなる順に、送信キューの記
述子を順序付ける。By way of example, the processor of the remultiplexing node examines each descriptor in the receive queue and other queues containing descriptors pointing to the transport packets to be output. The processor allocates a descriptor (if any) for the transmit queue associated with the output port to which the transport packet pointed to by each examined descriptor is sent. The processor specifies, for example, the time of reception of the transport packet indicated by the descriptor and the dispatch time determined by the internal buffer delay between the reception and output of the transport packet in the assigned descriptor of the transmission queue. Further, the processor orders the descriptors of the transmit queue in order of increasing dispatch time.
【0028】 一意的なPCR正規化処理も行われる。プロセッサは、各トランスポートパケ
ットを、再多重化ノードの予め定めた遅延に対応する特定のディスパッチ時間に
て、タイムスロットに出力するようにスケジュールしている。このスケジュール
されたトランスポートパケットにPCRが入っている場合には、PCRは、いく
らかドリフトがあれば、ローカル参照クロック(1つまたは複数)のドリフトに
基づいて、PCRが生成されたシステム・タイムクロックのプログラムに対して
調整される。このように調整されたPCRを運ぶトランスポートパケットを伝送
するデータリンク制御回路は、トランスポートパケットのスケジュールされたデ
ィスパッチ時間と、タイムスロットが外部クロックに対して発生する実際の時間
との差に基づいて、それぞれの調整されたPCRタイムスタンプをさらに調整す
る。A unique PCR normalization process is also performed. The processor schedules each transport packet to be output in a time slot at a specific dispatch time corresponding to a predetermined delay of the remultiplexing node. If the scheduled transport packet contains a PCR, the PCR, if there is any drift, is based on the drift of the local reference clock (s) and the system time clock from which the PCR was generated. Tuned for the program. The data link control circuit transmitting the transport packet carrying the PCR thus adjusted is based on the difference between the scheduled dispatch time of the transport packet and the actual time when the time slot occurs relative to the external clock. Then, each adjusted PCR time stamp is further adjusted.
【0029】 例示として、2つ以上のトランスポートパケットが、同一タイムスロットに出
力される場合には、このようなトランスポートパケットはそれぞれ、別の連続す
るタイムスロットに出力される。プロセッサは、予め定めた遅延を用いて決定さ
れるタイムスロット以外の1タイムスロットに出力されるようにスケジュールさ
れたトランスポートパケットにおいて、各PCRの概算調整値を計算する。この
概算調整値は、PCRを運ぶトランスポートパケットを出力するようにプロセッ
サが実際にスケジュールしたタイムスロットと、予め定めた遅延で決定されるタ
イムスロットとの出力時間の差に基づいている。プロセッサは、この概算調整値
により、PCRを調整する。By way of example, if two or more transport packets are output in the same time slot, each such transport packet is output in another consecutive time slot. The processor calculates an approximate adjustment value for each PCR in a transport packet scheduled to be output in one time slot other than a time slot determined using a predetermined delay. This approximate adjustment value is based on the output time difference between the time slot actually scheduled by the processor to output the transport packet carrying the PCR and the time slot determined by the predetermined delay. The processor adjusts the PCR according to the estimated adjustment value.
【0030】 一実施形態により、これらの記述子はまた、トランスポートパケットの暗号化
または暗号解読を制御するためにも使用される。暗号解読の場合には、プロセッ
サは、各トランスポートパケットに対して行われる1つまたは複数の一連の処理
段階を定め、この一連の処理段階内で暗号解読処理を順序付ける。プロセッサは
、トランスポートパケットのコンテントと関係のある制御ワード情報を、割当て
られた記述子の制御ワード情報記憶位置に蓄積する。データリンク制御回路は、
それぞれの受取られて保持されたそれぞれのトランスポートパケットに記述子を
割当て、それらの記述子はそれぞれ、1つまたは複数の処理標識と、制御ワード
情報用の記憶位置を含む。データリンク制御回路は、その割当てられた記述子の
処理標識の1つまたは複数をセットして、この一連の処理段階のうちの次の段階
の処理が、その割当てられた記述子のそれぞれに行われることを示す。それぞれ
の割当てられた記述子に順次にアクセスするために、デスクランブラを備える。
アクセスされた記述子の処理標識をセットして、暗号解読処理が、そのアクセス
された記述子(および、そのアクセスされた記述子が指すトランスポートパケッ
ト)に行われることを示す場合には、デスクランブラは、その記述子と、その記
述子が指すトランスポートパケットを処理する。具体的に言えば、この記述子が
、暗号解読予定のトランスポートパケットを指す場合には、デスクランブラは、
このアクセスされた記述子の中の制御ワード情報を用いて、トランスポートパケ
ットを暗号解読する。According to one embodiment, these descriptors are also used to control the encryption or decryption of transport packets. In the case of decryption, the processor defines one or more series of processing steps to be performed on each transport packet and orders the decryption processing within this series of processing steps. The processor stores control word information related to the content of the transport packet in the control word information storage location of the assigned descriptor. The data link control circuit is
A descriptor is assigned to each received and retained respective transport packet, each of which includes one or more processing indicators and a storage location for control word information. The data link control circuit sets one or more of the processing indicators of the assigned descriptor so that processing of the next stage in the series of processing steps is performed for each of the assigned descriptors. Indicate that A descrambler is provided to sequentially access each assigned descriptor.
If the processing indicator of the accessed descriptor is set to indicate that the decryption operation is to be performed on the accessed descriptor (and the transport packet pointed to by the accessed descriptor), The rambler processes the descriptor and the transport packet pointed to by the descriptor. Specifically, if the descriptor points to a transport packet that is to be decrypted, the descrambler
The transport packet is decrypted using the control word information in the accessed descriptor.
【0031】 デスクランブラは、(受信)アダプタ上に位置付けられる場合があり、その場
合、データリンク制御回路による処理(例えば、記述子の割当て、受信時間の記
録など)後に、ただし、ダイレクトメモリ・アクセス回路による処理(例えば、
メモリへの転送)前に、デスクランブラの処理が行われる。別法として、デスク
ランブラは、非同期通信インタフェースに接続された別の装置である場合があり
、その場合、ダイレクトメモリ・アクセス回路による処理後に、ただし、プロセ
ッサによる処理(例えば、概算出発時間計算、PID再マッピングなど)前に、
デスクランブラの処理が行われる。いずれの場合にも、制御ワード情報は、プロ
セッサで維持されたPIDインデックス可能な制御ワード・テーブルのベースア
ドレスである。The descrambler may be located on the (receiving) adapter, in which case after processing by the data link control circuit (eg, assigning descriptors, recording reception time, etc.), except for direct memory access Circuit processing (for example,
Before the transfer to the memory, the descrambler process is performed. Alternatively, the descrambler may be another device connected to the asynchronous communication interface, in which case after processing by the direct memory access circuit, but by processing by the processor (e.g., approximate calculation time calculation, PID Before remapping)
A descrambler process is performed. In each case, the control word information is the base address of a PID indexable control word table maintained by the processor.
【0032】 暗号化の場合には、プロセッサは、各トランスポートパケットに対して行われ
る1つまたは複数の一連の処理段階を定め、この一連の処理段階内で暗号化処理
を順序付ける。プロセッサは、送信キューの送信記述子を、送信予定の各トラン
スポートパケットに割当てて、その割当てられた記述子のうち、選択された記述
子の制御ワード情報記憶位置に、トランスポートパケットのコンテントと関係の
ある制御ワード情報を蓄積する。次に、プロセッサは、記述子の処理標識の1つ
または複数をセットして、この一連の処理段階のうちの次の段階の処理が、その
割当てられた記述子のそれぞれに行われることを示す。それぞれの割当てられた
記述子に順次にアクセスするために、スクランブラを備える。スクランブラは、
それぞれのアクセスされた記述子と、そのアクセスされた記述子が指すトランス
ポートパケットを処理するが、ただし、そのアクセスされた記述子の処理標識を
セットして、暗号化処理が、そのアクセスされた記述子(および、そのアクセス
された記述子が指すトランスポートパケット)に行われることを示す場合にのみ
、そのような処理が行われる。具体的に言えば、そのアクセスされた記述子が、
暗号化予定のトランスポートパケットを指す場合には、スクランブラは、そのア
クセスされた記述子が指すトランスポートパケットを、このアクセスされた記述
子の中の制御ワード情報を用いて暗号化する。In the case of encryption, the processor determines one or more series of processing steps to be performed on each transport packet and orders the encryption process within this series of processing steps. The processor assigns the transmission descriptor of the transmission queue to each transport packet to be transmitted, and stores the content of the transport packet in the control word information storage position of the selected descriptor among the allocated descriptors. Store the relevant control word information. The processor then sets one or more of the descriptor's processing indicators to indicate that processing of the next stage in this series of processing steps will be performed on each of the assigned descriptors. . A scrambler is provided for sequentially accessing each assigned descriptor. The scrambler
Processes each accessed descriptor and the transport packet pointed to by the accessed descriptor, but sets the processing indicator of the accessed descriptor so that the encryption process Such processing is performed only if it indicates that it is to be performed on the descriptor (and the transport packet pointed to by the accessed descriptor). Specifically, the accessed descriptor is
When indicating the transport packet to be encrypted, the scrambler encrypts the transport packet indicated by the accessed descriptor using the control word information in the accessed descriptor.
【0033】 スクランブラは、(送信)アダプタ上に位置付けられる場合があり、その場合
、ダイレクトメモリ・アクセス回路による処理(例えば、メモリからキャッシュ
への転送など)後に、ただし、データリンク制御回路による処理(例えば、適正
なタイムスロットにて出力、最終PCR補正など)前に、スクランブラの処理が
行われる。別法として、スクランブラは、非同期通信インタフェースに接続され
た別の装置である場合があり、その場合、プロセッサによる処理(例えば、送信
キューの記述子割当て、ディスパッチ時間指定、PCR補正など)後に、ただし
、ダイレクトメモリ・アクセス回路による処理前に、スクランブラの処理が行わ
れる。この制御ワード情報は、暗号解読の場合のように、プロセッサで維持され
たPIDインデックス可能な制御ワード・テーブルのベースアドレスであること
もある。しかしながら、好ましくは、この制御ワード情報は、パケットを暗号化
するために用いられる制御ワード自体である。The scrambler may be located on the (transmit) adapter, in which case after processing by the direct memory access circuit (eg, transfer from memory to cache), but by the data link control circuit Before (e.g., output in an appropriate time slot, final PCR correction, etc.), a scrambler process is performed. Alternatively, the scrambler may be another device connected to the asynchronous communication interface, in which case after processing by the processor (e.g., transmission queue descriptor assignment, dispatch time designation, PCR correction, etc.) However, the scrambler process is performed before the process by the direct memory access circuit. This control word information may be the base address of a PID indexable control word table maintained by the processor, as in the case of decryption. However, preferably, this control word information is the control word itself used to encrypt the packet.
【0034】 さらに、一実施形態により、同期通信リンクを通じて受取られたビデオプログ
ラムを載せたデータを再タイミングする方法が提供される。非同期インタフェー
ス(例えば、イーサネット・インタフェース、ATMインタフェースなど)を、
再多重化ノードのプロセッサに接続して(例えば、バスを通じて)、一定しない
エンド・ツー・エンド伝送遅延のある通信リンクから、ビデオプログラムを載せ
たビットストリームを受取る。プロセッサは、その受信ビットストリームの同一
プログラムのデータを運ぶ1つまたは複数の受信パケットのそれぞれが、その受
信ビットストリームで運ばれるプログラムの複数のタイムスタンプに基づいて出
力TSに現れる時間を決定する。送信アダプタなどの同期インタフェースは、受
信データを運ぶ選択されたトランスポートパケットを、前述の決定された時間に
よって決まる時間に、一定のエンド・ツー・エンド遅延で出力TSに選択的に送
る。Further, according to one embodiment, a method is provided for retiming data carrying a video program received over a synchronous communication link. Asynchronous interfaces (eg, Ethernet interface, ATM interface, etc.)
Connected to the processor of the remultiplexing node (eg, over a bus) to receive a bitstream carrying the video program from a communication link with variable end-to-end transmission delay. The processor determines a time at which each of the one or more received packets carrying data of the same program of the received bitstream appears at the output TS based on a plurality of timestamps of the program carried in the received bitstream. A synchronization interface, such as a transmission adapter, selectively sends selected transport packets carrying the received data to the output TS with a fixed end-to-end delay at a time determined by the above determined time.
【0035】 例示として、再多重化ノードのメモリは、その受信ビットストリームから受取
られたデータが入っているパケットを受信キュー内に蓄積する。プロセッサは、
受信キュー内で、或るプログラムの連続タイムスタンプが入っている第1と第2
の特定パケット間に蓄積された当該プログラムのデータが入っている各パケット
を識別する。プロセッサは、第1のタイムスタンプと第2のタイムスタンプとの
差に基づいて、そのプログラムの(トランスポート)パケットレートを決定する
。プロセッサは、第1の特定パケットに指定された送信時間に、(トランスポー
ト)パケットレートと、第1のパケットからの当該識別パケットのオフセットと
の積を加えたものを、送信時間として、それらの識別パケットのそれぞれに指定
する。Illustratively, the memory of the remultiplexing node accumulates in a receive queue packets containing data received from the received bitstream. The processor is
A first and a second containing a continuous time stamp of a program in the receive queue
Each packet containing the data of the program stored between the specific packets is identified. The processor determines a (transport) packet rate of the program based on a difference between the first time stamp and the second time stamp. The processor sets the transmission time specified by the first specific packet to the product of the (transport) packet rate and the offset of the identification packet from the first packet, as a transmission time, and calculates the transmission time. Specify for each identification packet.
【0036】 さらにもう1つの実施形態により、ユーザ仕様の変更にしたがって、再多重化
を動的に、かつ一様に変更する方法が提供される。第1のアダプタなどのインタ
フェースは、再多重化TSコンテントに関する初期ユーザ仕様により、TSから
、トランスポートパケットの特定のものだけを選択的に抽出する。第2のアダプ
タなどの第2のインタフェースは、再多重化TSコンテントに関する初期ユーザ
仕様により、その抽出されたトランスポートパケット(および、もしあればPS
Iが入っているトランスポートパケット)のうち、選択されたトランスポートパ
ケットを組立て直して、出力再多重化TSにする。さらに、第2のアダプタは、
この組立て直された再多重化TSを、連続ビットストリームとして出力する。プ
ロセッサは、(I)抽出される異なるトランスポートパケット、および/または
、(II)組立て直される異なるトランスポートパケット、の1つまたは複数を
指定する再多重化TSコンテントに関する1つまたは複数の新規ユーザ仕様を動
的に受取るが、一方、第1と第2のアダプタは、トランスポートパケットを抽出
し、組立て直して、再多重化TSを出力する。それに応答して、プロセッサは、
出力再多重化トランスポートストリームを中断することなく、第1と第2のアダ
プタに、初期ユーザ仕様によるトランスポートパケットの抽出または組立て直し
を動的に止めさせ、新規ユーザ仕様によるトランスポートパケットの抽出または
組立て直しを動的に開始させる。例えば、プロセッサは、第2のアダプタによる
組立て直しのために、新規ユーザ仕様の通りに、異なるトランスポートパケット
を参照する代用PSIを生成することがある。[0036] Yet another embodiment provides a method for dynamically and uniformly changing remultiplexing according to changes in user specifications. An interface, such as a first adapter, selectively extracts only specific ones of the transport packets from the TS according to the initial user specifications for the remultiplexed TS content. A second interface, such as a second adapter, uses the extracted transport packet (and the PS
Among the transport packets containing I, the selected transport packet is reassembled to produce an output remultiplexed TS. Further, the second adapter is
The reassembled remultiplexed TS is output as a continuous bit stream. The processor may include one or more new users for the remultiplexed TS content specifying one or more of (I) different transport packets to be extracted and / or (II) different transport packets to be reassembled. While receiving the specification dynamically, the first and second adapters extract and reassemble the transport packets and output the remultiplexed TS. In response, the processor
The first and second adapters dynamically stop extracting or reassembling transport packets according to the initial user specifications without interrupting the output remultiplexing transport stream, and extract the transport packets according to the new user specifications. Alternatively, reassembly is started dynamically. For example, the processor may generate a substitute PSI referring to a different transport packet, as per the new user specification, for reassembly by the second adapter.
【0037】 例示として、この一様な再多重化変更技法を用いれば、それぞれの選択された
プログラムのES構造にいくらか変更があるにもかかわらず、自動的に、そのプ
ログラムの適正なES情報を、出力再多重化TSにいつも確実に出力できるよう
にすることができる。入力TSの1つまたは複数のプログラムが、出力TSに出
力されることを示すユーザ仕様を作成するコントローラが備えられる場合がある
。第1のアダプタは、入力TSのプログラム定義をたえず取込む。プロセッサは
、この取込まれたプログラム定義から、どの基本ストリームが、各プログラムを
構成するのか絶えず決定する。第2のアダプタは、各プログラムを構成するもの
と判定された各ESのESデータが入っている各トランスポートパケットを、出
力TSに出力する。この場合、各プログラムは、ユーザ仕様によって、出力TS
を中断させることなく、出力されることが示されている。したがって、各プログ
ラムを構成するESのPID(番号または数値)が変わっても、それでも、各プ
ログラム用の適正で、かつ完全なESデータが、いつも、出力TSに出力される
。By way of example, using this uniform re-multiplexing modification technique, the appropriate ES information for that selected program is automatically rewritten, despite some changes in the ES structure of that program. , Output remultiplexing TS can always be reliably output. A controller may be provided that creates a user specification that indicates that one or more programs of the input TS are to be output on the output TS. The first adapter constantly captures the program definition of the input TS. The processor constantly determines from this captured program definition which elementary streams make up each program. The second adapter outputs each transport packet including the ES data of each ES determined to constitute each program to the output TS. In this case, each program outputs the output TS
Is output without interruption. Therefore, even if the PID (number or numerical value) of the ES constituting each program changes, the proper and complete ES data for each program is always output to the output TS.
【0038】 さらにもう1つの実施形態により、ヌル・トランスポートパケットが挿入され
たTSの帯域幅を最適化する方法が提供される。第1のインタフェース(アダプ
タ)は、予め定めたビットレートのTSを受取り、またそのTSは、可変圧縮さ
れたプログラムデータを運ぶトランスポートパケットと、1つまたは複数のヌル
・トランスポートパケットを含む。この圧縮プログラムデータを運ぶトランスポ
ートパケットのどれも、受信TS内において、それぞれのトランスポートパケッ
ト・タイムスロットへの挿入に使えないときには、TSの予め定めたビットレー
トを維持するために、ヌル・トランスポートパケットをそれぞれ、受信TSのタ
イムスロットに挿入する。プロセッサは、ヌル・トランスポートパケットの1つ
または複数を、再多重化予定のデータを運ぶ別のトランスポートパケットに選択
的に代える。このような置換データを運ぶトランスポートパケットには、PSI
データか、またはバースティ型トランザクションデータも入っている場合がある
。このバースティ型トランザクションデータは、絶えず情報を提示するためのビ
ットレートまたは伝送待ち時間の要件は持たない。According to yet another embodiment, a method is provided for optimizing the bandwidth of a TS into which null transport packets have been inserted. The first interface (adapter) receives a TS at a predetermined bit rate, and the TS includes a transport packet carrying variable compressed program data and one or more null transport packets. If none of the transport packets carrying this compressed program data can be used in the receiving TS for insertion into the respective transport packet time slot, a null trans- Each port packet is inserted into a time slot of the receiving TS. The processor selectively replaces one or more of the null transport packets with another transport packet that carries data to be remultiplexed. Transport packets carrying such replacement data include PSI
It may also contain data or bursty transaction data. The bursty transaction data does not have a bit rate or transmission latency requirement to constantly present information.
【0039】 例示として、プロセッサは、受信TSのトランスポートパケットのうち、選択
されたトランスポートパケットを抽出し、また各ヌル・トランスポートパケット
を含む選択されなかった各トランスポートパケットを捨てる。この選択されたト
ランスポートパケットは、プロセッサと第1のアダプタにより、メモリに蓄積さ
れる。上述の通り、プロセッサは、蓄積されたトランスポートパケットのそれぞ
れが受取られる時間によって決まる時間に、蓄積トランスポートパケットのそれ
ぞれを、出力トランスポートストリームに出力するようにスケジュールしている
。第2のインタフェース(アダプタ)は、この蓄積トランスポートパケットのそ
れぞれを、このスケジュールに一致するタイムスロットに出力する。いかなるト
ランスポートパケットも、出力TSのタイムスロットの1つに出力するようにス
ケジュールされていない場合には、第2のアダプタが、ヌル・トランスポートパ
ケットを出力する。それにもかかわらず、ヌル・トランスポートパケットが占有
する帯域幅については、出力TSの方が、各入力TSのものよりも小さい。As an example, the processor extracts the selected transport packets from the transport packets of the received TS, and discards each unselected transport packet including each null transport packet. The selected transport packet is stored in the memory by the processor and the first adapter. As described above, the processor schedules each of the stored transport packets for output to the output transport stream at a time determined by the time at which each of the stored transport packets is received. The second interface (adapter) outputs each of the stored transport packets to a time slot that matches the schedule. If no transport packet is scheduled to be output in one of the time slots of the output TS, the second adapter outputs a null transport packet. Nevertheless, for the bandwidth occupied by null transport packets, the output TS is smaller than that of each input TS.
【0040】 追加の一実施形態により、圧縮プログラムデータを運ぶビットストリームを、
非同期通信リンク上で適時に出力する方法が提供される。同期インタフェース(
アダプタ)は、トランスポートパケットが入っているビットストリームを提供す
る。プロセッサは、これらのトランスポートパケットのうち、選択された1つま
たは複数のトランスポートパケットのそれぞれにディスパッチ時間を指定し、そ
れぞれの選択されたトランスポートパケットがデータを運ぶプログラムの所定ビ
ットレートを保ち、またそれぞれの選択されたトランスポートパケットに対して
、平均待ち時間を招くようにしている。これらのディスパッチ時間のそれぞれに
よって決まる時間にて、非同期通信インタフェースは、1つまたは複数のコマン
ドを受取り、対応する選択トランスポートパケットを、ほぼディスパッチ時間で
送って、選択トランスポートパケットのジッタを最小限に抑えることで、それら
のコマンドに応答する。According to an additional embodiment, the bit stream carrying the compressed program data is
A method is provided for timely output over an asynchronous communication link. Synchronous interface (
Adapter) provides a bit stream containing transport packets. The processor specifies a dispatch time for each of the selected one or more of the transport packets, and maintains a predetermined bit rate of a program in which each of the selected transport packets carries data. In addition, an average waiting time is caused for each selected transport packet. At a time determined by each of these dispatch times, the asynchronous communication interface receives one or more commands and sends the corresponding selected transport packet approximately at the dispatch time to minimize jitter of the selected transport packet. To respond to those commands.
【0041】 例示として、これらのコマンドは、以下の通りに生成される。プロセッサは、
上記のディスパッチ時間が入っている送信記述子を送信キューに入れる。プロセ
ッサは、非同期インタフェースのために、送信キューを使うことに、再多重化ノ
ードのアダプタを指定する。指定されたアダプタのデータリンク制御回路により 、これらの記述子のディスパッチ時間がアダプタの参照クロックの時間に等しい
ときに各コマンドが出る。By way of example, these commands are generated as follows. The processor is
Put the send descriptor containing the above dispatch time into the send queue. The processor specifies the adapter of the remultiplexing node to use the transmit queue for the asynchronous interface. Each command is issued by the data link control circuit of the specified adapter when the dispatch time of these descriptors is equal to the time of the adapter's reference clock.
【0042】 これらの技法の種々の技法を使用すれば、ネットワーク分散形の再多重化を可
能にすることができる。ネットワークは、1つまたは複数の通信リンク、および
、これらの通信リンクにより相互接続されて通信ネットワークを形成した複数の
ノードを備えている。宛先ノードは、1つまたは複数のプログラムのデータが入
っている第1のビットストリームを、これらの通信リンクの1つを通じて受取る
。この第1のビットストリームは、その一部が、1つまたは複数の予め定めたビ
ットレートを有する。宛先ノードは、上述の通りの再多重化ノードであると言え
、とにかく、プロセッサを含む。プロセッサは、伝送のため、受取られた第1の
ビットストリームの少なくとも一部を選択して、第1のビットストリームの選択
された一部を送るようにスケジュールして、第1のビットストリームの選択され
た一部を、前記第1のビットストリームの選択された一部の所定レートによって
決まるレートでTSに出力する。The use of various of these techniques can allow for network-distributed remultiplexing. The network includes one or more communication links and a plurality of nodes interconnected by these communication links to form a communication network. The destination node receives a first bitstream containing the data of one or more programs over one of these communication links. This first bitstream has a portion having one or more predetermined bit rates. The destination node can be said to be a remultiplexing node as described above, and in any case comprises a processor. The processor selects at least a portion of the received first bitstream for transmission, schedules to send a selected portion of the first bitstream, and selects the first bitstream. The selected part is output to the TS at a rate determined by a predetermined rate of the selected part of the first bit stream.
【0043】 別法として、通信リンクは一緒になって、共用通信媒体を形成する。これらの
ノードは、1つまたは複数のビットストリームを共用通信媒体上に送る第1の組
の1つまたは複数のノードと、送られたビットストリームを、共用通信媒体から
受取る第2の組の1つまたは複数のノードに分けられる。第2の組のノードは、
送られたビットストリームの一部を選択して、これらの選択された一部が入って
いるビットストリームとして、1つまたは複数の再多重化TSを送る。送られた
再多重化TSはそれぞれ、送られたビットストリームのうち、受取られたビット
ストリームとは異なる。第1と第2の組のノードを選択し、また共用通信媒体へ
のこれらのノードのトポロジとは異なる少なくとも1つの信号フローパターンを
含め、複数の異なる信号フローパターンの1つにより、それらの選択されたノー
ドに、共用通信媒体を通じてビットストリームとやり取りさせるコントローラ・
ノードが備えられる。[0043] Alternatively, the communication links together form a shared communication medium. These nodes include a first set of one or more nodes that send one or more bitstreams over the shared communication medium and a second set of one or more nodes that receive the sent bitstreams from the shared communication medium. Divided into one or more nodes. The second set of nodes is:
A portion of the transmitted bitstream is selected and one or more remultiplexed TSs are sent as a bitstream containing these selected portions. Each of the transmitted remultiplexed TSs is different from the received bitstream of the transmitted bitstream. Selecting the first and second sets of nodes and selecting them according to one of a plurality of different signal flow patterns, including at least one signal flow pattern different from the topology of these nodes to the shared communication medium; Controller that allows a given node to interact with the bitstream over a shared communication medium
A node is provided.
【0044】 最後に、再多重化システムにおいて、トランスポートパケットを送受信する複
数回路のそれぞれの参照クロックの同期を取る方法が提供される。トランスポー
トパケットを受取る各回路の参照クロックは、各トランスポートパケットが、各
回路で受取られる時間を示すためのものである。トランスポートパケットを送る
各回路の参照クロックは、各トランスポートパケットを、各回路から送る時間を
示すためのものである。参照クロックのそれぞれが同期を取る対象となる主参照
クロックが指定される。主参照クロックのカレントタイムが定期的に得られる。
他の参照クロックはそれぞれ、他の参照クロックのそれぞれの時間と、主参照ク
ロックのカレントタイムとの差により調整されて、それぞれの参照クロックの時
間と、主参照クロックの対応する時間が一致するようにしている。Finally, there is provided a method for synchronizing reference clocks of respective circuits for transmitting and receiving transport packets in a remultiplexing system. The reference clock of each circuit that receives a transport packet indicates the time at which each transport packet is received by each circuit. The reference clock of each circuit that sends the transport packet indicates the time at which each transport packet is sent from each circuit. A main reference clock to which each of the reference clocks is synchronized is specified. The current time of the main reference clock is obtained periodically.
Each of the other reference clocks is adjusted by the difference between the respective time of the other reference clock and the current time of the main reference clock so that the time of each reference clock and the corresponding time of the main reference clock match. I have to.
【0045】 したがって、本発明により、さらに柔軟な再多重化システムが提供される。柔
軟性が増せば、多重化は強まるが、それでも全体のシステム費用は低下する。Thus, the present invention provides a more flexible remultiplexing system. More flexibility increases multiplexing but still lowers overall system cost.
【0046】 発明を実施するための最良の形態 わかりやすくするために、本発明の説明は、いくつかのセクションに分けられ
る。BEST MODE FOR CARRYING OUT THE INVENTION For clarity, the description of the present invention is divided into several sections.
【0047】 再多重化装置の環境と概観 図1は、本発明の一実施形態による基本再多重化環境10を示している。コン
トローラ10は、例えば任意の遠隔手続き呼出し(RPC)プロトコルを用いて
、再多重化装置30に命令を与える。使用できるRPCの例には、ディジタル分
散コンピューティング環境プロトコル(DCE)と、オープン・ネットワーク・
コンピューティングプロトコル(ONC)がある。DCEとONCは、クライア
ントプロセスが、サブルーチンを、ローカルで同一プラットフォーム(例えば、
コントローラ20)上で、あるいは、リモートで異なるプラットフォーム上で(
例えば、再多重化装置30内で)実行できるようにするプロトコルスタックを用
いたネットワークプロトコルである。言い換えれば、クライアントプロセスは、
単純なサブルーチン呼出しにより、制御命令を出すことができる。DCEまたは
ONCのプロセスは、適切な信号とコマンドを再多重化装置30に出して、所望
の制御を行う。FIG. 1 shows a basic remultiplexing environment 10 according to one embodiment of the present invention. Controller 10 provides instructions to remultiplexer 30 using, for example, any remote procedure call (RPC) protocol. Examples of RPCs that can be used include Digital Distributed Computing Environment Protocol (DCE) and Open Networking
There is a computing protocol (ONC). DCE and ONC allow client processes to execute subroutines locally on the same platform (eg,
Controller 20) or remotely on a different platform (
For example, a network protocol using a protocol stack that can be executed (within the remultiplexing device 30). In other words, the client process
Control commands can be issued by a simple subroutine call. The DCE or ONC process issues appropriate signals and commands to the remultiplexer 30 to perform the desired control.
【0048】 コントローラ20は、PC互換コンピュータなどのコンピュータの形式を取る
場合がある。コントローラ20は、1つまたは複数のIntel社のPenti
umIIの集積回路などのプロセッサ21、メインメモリ23、ディスクメモリ
25、モニタとキーボード/マウス27、1つまたは複数のI/O装置29を含
み、それらはバス24に接続されている。I/O装置29は、再多重化装置30
を実施する方法に応じて、再多重化装置30とやり取りする任意の適切なI/O
装置29である。このようなI/O装置29の例には、RS−422インタフェ
ース、イーサネット・インタフェース、モデム、USBインタフェースがある。The controller 20 may take the form of a computer, such as a PC compatible computer. The controller 20 comprises one or more Intel Pentis.
It includes a processor 21, such as an umII integrated circuit, a main memory 23, a disk memory 25, a monitor and keyboard / mouse 27, and one or more I / O devices 29, which are connected to a bus 24. The I / O device 29 includes a remultiplexing device 30
Any suitable I / O to interact with the remultiplexer 30 depending on the method of implementing
Device 29. Examples of such an I / O device 29 include an RS-422 interface, an Ethernet interface, a modem, and a USB interface.
【0049】 再多重化装置30は、1つまたは複数のネットワークした「ブラックボックス
」で実現される。下記の再多重化装置のアーキテクチャの例では、再多重化装置
30のブラックボックスは、イーサネット、ATM、またはDS3の通信リンク
などの通信リンクにより相互接続されたスタンドアロンPC互換コンピュータで
ある場合もある。例えば、再多重化装置30には、それぞれ、イーサネット・ネ
ットワーク(10BASE−T、100BASE−T、または1000BASE
−Tなど)により相互接続されたスタンドアロンPC互換コンピュータである1
つまたは複数のブラックボックスが含まれる。The remultiplexing device 30 is implemented with one or more networked “black boxes”. In the following example of a remultiplexer architecture, the black box of the remultiplexer 30 may be a stand-alone PC compatible computer interconnected by a communication link such as an Ethernet, ATM, or DS3 communication link. For example, each of the remultiplexing apparatuses 30 includes an Ethernet network (10 BASE-T, 100 BASE-T, or 1000 BASE-T).
-T) which are interconnected by a standalone PC
One or more black boxes are included.
【0050】 図に示される通り、1つまたは複数の再多重化予定のTS、すなわちTS1、
TS2、TS3は、再多重化装置30で受取られる。再多重化装置30の再多重
化動作の結果、1つまたは複数のTS、すなわちTS4、TS5は、再多重化装
置30から出力される。再多重化TS(TS4とTS5)は、例示として、入力
TS(TS1、TS2、TS3)から得られた、少なくとも、ある情報(少なく
とも1つのトランスポートパケット)を含む。少なくとも1つの記憶装置40、
例えばディスクメモリまたはサーバも備えられる。記憶装置40は、入力される
再多重化予定の情報としてTSまたはデータを生成して、再多重化装置30を用
いて、出力TS(TS4またはTS5)に再多重化することができる。同様に、
記憶装置40は、再多重化装置30で生成されたTS情報またはデータ、例えば
、入力TS(TS1、TS2、またはTS3)から抽出またはコピーされたトラ
ンスポートパケット、再多重化装置30で受取られた他の情報、または再多重化
装置30で生成された情報を蓄積することができる。As shown in the figure, one or more TSs to be remultiplexed, ie, TS1,
TS2 and TS3 are received by the remultiplexing device 30. As a result of the remultiplexing operation of the remultiplexing device 30, one or a plurality of TSs, that is, TS4 and TS5 are output from the remultiplexing device 30. The remultiplexed TS (TS4 and TS5) illustratively includes at least some information (at least one transport packet) obtained from the input TS (TS1, TS2, TS3). At least one storage device 40,
For example, a disk memory or a server is also provided. The storage device 40 can generate a TS or data as the information to be input to be remultiplexed, and remultiplex the output TS (TS4 or TS5) using the remultiplexing device 30. Similarly,
The storage device 40 stores the TS information or data generated by the remultiplexing device 30, for example, transport packets extracted or copied from the input TS (TS1, TS2, or TS3), received by the remultiplexing device 30. Other information or information generated by the remultiplexing device 30 can be stored.
【0051】 1つまたは複数のデータ注入源50と、1つまたは複数のデータ抽出宛先60
も示されている。データ注入源50とデータ抽出宛先60は、それら自体、PC
互換コンピュータとして実施される。とはいえ、データ注入源50は、カメラ、
ビデオテーププレーヤ、通信用復調器/受信機などの装置でもあり、またデータ
抽出宛先60は、ディスプレイモニタ、ビデオテープレコーダ、通信用変調器/
送信機などである場合もある。データ注入源50は、TS、ES、または他のデ
ータを再多重化装置30に供給して、例えば出力TS(TS4および/またはT
S5)に再多重化する。同様に、データ抽出宛先60は、例えば入力TS(TS
1、TS2、および/または、TS3)から抽出されたTS、ES、または他の
データを、再多重化装置30から受取る。例えば、入力される再多重化予定のT
S(TS1、TS2、TS3)のそれぞれを生成するデータ注入源50が1つ備
えられ、またそれぞれの出力再多重化TS(TS4およびTS5)を受取るデー
タ抽出宛先60が1つ備えられる。One or more data injection sources 50 and one or more data extraction destinations 60
Are also shown. The data injection source 50 and the data extraction destination 60 are themselves PC
Implemented as a compatible computer. However, the data injection source 50 is a camera,
It is also a device such as a video tape player, a communication demodulator / receiver, and the data extraction destination 60 is a display monitor, a video tape recorder, a communication modulator / receiver.
It may be a transmitter or the like. The data injection source 50 supplies TS, ES, or other data to the remultiplexing device 30 and outputs, for example, the output TS (TS4 and / or T4).
Remultiplexing is performed in S5). Similarly, the data extraction destination 60 is, for example, the input TS (TS
1, TS2, and / or TS3). The TS, ES, or other data extracted from TS3) is received from the remultiplexing device 30. For example, the input T to be remultiplexed
One data injection source 50 is provided to generate each of the S (TS1, TS2, TS3), and one data extraction destination 60 is provided to receive each output remultiplexed TS (TS4 and TS5).
【0052】 基本再多重化環境10は、ネットワークと見なされる。このような場合、基本
再多重化環境10において、コントローラ20、各データ注入源50、記憶装置
40、データ抽出宛先60、および再多重化装置30の各「ネットワークしたブ
ラックボックス」は、通信ネットワークのノードと見なされる。各ノードは、同
期または非同期の通信リンクにより接続される。さらに、単に便宜のためだけで
、装置20、40、50、60を再多重化装置30から分けている。別法として
、装置20、40、50、60は、再多重化装置30の一部である。The basic remultiplexing environment 10 is considered as a network. In such a case, in the basic remultiplexing environment 10, each “networked black box” of the controller 20, each data injection source 50, the storage device 40, the data extraction destination 60, and the remultiplexing device 30 is a communication network. Considered a node. Each node is connected by a synchronous or asynchronous communication link. Furthermore, the devices 20, 40, 50, 60 are separated from the remultiplexing device 30 merely for convenience. Alternatively, devices 20, 40, 50, 60 are part of remultiplexing device 30.
【0053】 再多重化装置のアーキテクチャ 図2は、再多重化装置30のネットワークのブラックボックスまたはノード1
00(ここでは、「再多重化ノード」100と呼ばれる)の1つについて、基本
アーキテクチャを示している。図2に示される特定の再多重化ノード100は、
再多重化装置30全体の働きをする。別法として、以下の考察からわかるように
、再多重化ノード100の異なる部分を、同期または非同期の通信リンクにより
互いに接続された別々のノードに分散させることができる。さらに他の実施形態
において、図2に示されるものと同じアーキテクチャを持つ複数の再多重化ノー
ド100は、同期または非同期の通信リンクを通じて互いに接続され、また協働
するようにプログラムできる。後者の2つの実施形態は、ここでは、ネットワー
ク分散形の再多重化装置と呼ばれる。Remultiplexer Architecture FIG. 2 shows a black box or node 1 of the network of the remultiplexer 30.
00 (herein referred to as the "remultiplexing node" 100) shows the basic architecture. The particular remultiplexing node 100 shown in FIG.
It functions as a whole of the remultiplexing device 30. Alternatively, as can be seen from the following discussion, different portions of the remultiplexing node 100 can be distributed to separate nodes connected together by synchronous or asynchronous communication links. In yet another embodiment, a plurality of remultiplexing nodes 100 having the same architecture as shown in FIG. 2 are connected to each other via a synchronous or asynchronous communication link and can be programmed to work together. The latter two embodiments are referred to herein as network-distributed remultiplexers.
【0054】 例示として、再多重化ノード100は、WindowsNT互換PCコンピュ
ータ・プラットフォームである。再多重化ノード100は、1つまたは複数のア
ダプタ110を含む。各アダプタ110は、バス130に接続される。バス13
0は、例示として、PCI互換バスである。ホストメモリ120も、バス130
に接続される。IntelのPentiumIIの集積回路などのプロセッサ1
60も、バス130に接続される。図2に示される単一バス・アーキテクチャは
、さらに複雑な多重バス構造を簡略に表わしたものであることに留意されたい。
さらに、下記の処理機能を協働して行う2つ以上のプロセッサ160がある場合
もある。Illustratively, remultiplexing node 100 is a Windows NT compatible PC computer platform. Remultiplexing node 100 includes one or more adapters 110. Each adapter 110 is connected to a bus 130. Bus 13
0 is a PCI compatible bus as an example. The host memory 120 also has a bus 130
Connected to. Processor 1 such as an Intel Pentium II integrated circuit
60 is also connected to the bus 130. Note that the single bus architecture shown in FIG. 2 is a simplified representation of a more complex multiple bus structure.
Further, there may be two or more processors 160 that cooperate to perform the following processing functions.
【0055】 例示として、2つのインタフェース140と150が備えられる。これらのイ
ンタフェース140と150はバス130に接続されるが、ただし、それらのイ
ンタフェースは、実際は、直接にI/O拡張バス(図には示されていない)に接
続され、さらに、このI/O拡張バスが、I/Oブリッジ(図には示されていな
い)を通じてバス130に接続される。インタフェース140は、例示として、
イーサネット・インタフェースなどの非同期インタフェースである。これは、イ
ンタフェース140を通じて送られるデータが、まさにいつ現れるとも保証され
ず、また一定しないエンド・ツー・エンド遅延を受けかねないことも意味してい
る。それに反して、インタフェース150は、T1インタフェースなどの同期イ
ンタフェースである。インタフェース150に接続された通信リンクでのやり取
りは、インタフェース150に保たれたクロック信号と同期する。データは、特
定の時間に、インタフェース150を通じて送られ、かつ、一定のエンド・ツー
・エンド遅延を受ける。By way of example, two interfaces 140 and 150 are provided. These interfaces 140 and 150 are connected to the bus 130, however, they are in fact connected directly to the I / O expansion bus (not shown) and An expansion bus is connected to bus 130 through an I / O bridge (not shown). The interface 140 is, by way of example,
An asynchronous interface such as an Ethernet interface. This also means that data sent through the interface 140 is not guaranteed to appear at any time, and may suffer from variable end-to-end delays. In contrast, interface 150 is a synchronous interface such as a T1 interface. The exchange on the communication link connected to the interface 150 is synchronized with the clock signal held on the interface 150. Data is sent through interface 150 at a particular time and is subject to a constant end-to-end delay.
【0056】 さらに、図2は、再多重化ノード100が、オプションのスクランブラ/デス
クランブラ(暗号化装置/暗号解読装置として設けられる)170、および/ま
たは、全地球測位衛星(GPS)受信機180を装備できることも示している。
スクランブラ/デスクランブラ170は、トランスポートパケット内のデータを
暗号化または暗号解読するためのものである。GPS受信機180は、再多重化
ノード100を同期化する目的で、一様なクロック信号を受取るものである。こ
れらの装置の目的と動作は、以下で、さらに詳しく説明する。FIG. 2 further illustrates that the remultiplexing node 100 may include an optional scrambler / descrambler (provided as an encryption / decryption device) 170 and / or a global positioning satellite (GPS) receiver. It also shows that 180 can be equipped.
The scrambler / descrambler 170 is for encrypting or decrypting data in a transport packet. The GPS receiver 180 receives a uniform clock signal for the purpose of synchronizing the remultiplexing node 100. The purpose and operation of these devices will be described in more detail below.
【0057】 各アダプタ110は、特殊タイプの同期インタフェースである。各アダプタ1
10は、1つまたは複数のデータリンク制御回路112、参照クロックジェネレ
ータ113、1つまたは複数の記述子とトランスポートパケットのキャッシュ1
14、オプションのスクランブラ/デスクランブラ115、1つまたは複数のD
MA制御回路116を備えている。これらの回路は、1つまたは複数のプロセッ
サの一部である場合もある。好ましくは、これらの回路は、有限状態オートマト
ンを用いて、すなわち、1つまたは複数のASICまたはゲートアレイ(PGA
、FPGAなど)の場合のように、実施される。これらの回路のそれぞれの目的
は、以下で説明される。Each adapter 110 is a special type of synchronous interface. Each adapter 1
Reference numeral 10 denotes one or more data link control circuits 112, a reference clock generator 113, one or more descriptors and a cache 1 of transport packets.
14, optional scrambler / descrambler 115, one or more D
An MA control circuit 116 is provided. These circuits may be part of one or more processors. Preferably, these circuits use a finite state automaton, ie, one or more ASICs or gate arrays (PGAs).
, FPGA, etc.). The purpose of each of these circuits is described below.
【0058】 参照クロックジェネレータ113は、例示として、27MHZにてカウントす
る32ビットのロールオーバ・カウンタである。参照クロックジェネレータ11
3で生成されるシステムタイムは、データリンク制御回路112で受取られる。
さらに、プロセッサ160は、以下の通り、参照クロックジェネレータ113に
直接にアクセスできる。プロセッサ160は、参照クロックジェネレータ113
のI/Oレジスタから、カレント・システムタイムを読取ることができる。プロ
セッサ160は、参照クロックジェネレータ113のこの同一I/Oレジスタに
、特定の値をロードすることができる。最後に、参照クロックジェネレータ11
3が特定レンジ内の或る周波数でカウントするように、プロセッサ160は、調
整レジスタ内の参照クロックジェネレータのカウント周波数をセットすることが
できる。The reference clock generator 113 is, for example, a 32-bit rollover counter that counts at 27 MHZ. Reference clock generator 11
3 is received by the data link control circuit 112.
Further, the processor 160 has direct access to the reference clock generator 113 as follows. Processor 160 includes reference clock generator 113
The current system time can be read from the I / O register. The processor 160 can load a specific value into this same I / O register of the reference clock generator 113. Finally, the reference clock generator 11
Processor 160 may set the reference clock generator's count frequency in an adjustment register so that 3 counts at some frequency within a particular range.
【0059】 キャッシュ114の目的は、アダプタ110からの出力中に、次の1つまたは
複数の出力予定のトランスポートパケットを一時的に蓄積するか、あるいは、ア
ダプタ10で最近受取られた最後の1つまたは複数のトランスポートパケットを
一時的に蓄積することにある。キャッシュ114を使用すると、トランスポート
パケットは、最小限の待ち時間で(もっとも注目すべきことに、バス130では
、転送待ち時間を招かない)、受取って蓄積できるか、あるいは、取り出して出
力できる。キャッシュ114はまた、各トランスポートパケット用の記述子デー
タも蓄積する。このような記述子の目的と構造は、以下で、さらに詳しく説明さ
れる。さらに、キャッシュ114は、正規の動作において、プロセッサ160で
ダウンロードでき、修正できるフィルタマップも蓄積する。例示として、キャッ
シュ114は、以下でさらに詳しく説明される通り、暗号化または暗号解読で用
いられる制御ワード情報も蓄積する場合もある。プロセッサ160に加えて、キ
ャッシュ114には、データリンク制御回路112、DMA制御回路116、オ
プションのスクランブラ/デスクランブラ115がアクセスされる。The purpose of the cache 114 is to temporarily store, during output from the adapter 110, the next one or more transport packets to be output, or the last one recently received by the adapter 10. One or more transport packets are temporarily stored. Using the cache 114, transport packets can be received and stored, or retrieved and output, with minimal latency (most notably, no transfer latency on the bus 130). Cache 114 also stores descriptor data for each transport packet. The purpose and structure of such a descriptor is described in further detail below. In addition, cache 114 also stores filter maps that can be downloaded and modified by processor 160 in normal operation. By way of example, cache 114 may also store control word information used in encryption or decryption, as described in more detail below. In addition to the processor 160, the cache 114 is accessed by a data link control circuit 112, a DMA control circuit 116, and an optional scrambler / descrambler 115.
【0060】 周知の通り、キャッシュメモリ114は、ホストメモリ120内のデータの複
製コピーまたは修正コピーを持つ場合がある。同様に、必要であるときには、キ
ャッシュ114は、ホストメモリ内の任意データの修正コピーを得るべきである
が、古いコピーは持つ必要はない。ホストメモリ120についても同じことが言
える。キャッシュメモリ114またはホストメモリ120などの単一の装置だけ
に、任意の或る時点でデータ記憶位置のコンテントを修正する許可を与える「所
有権プロトコル」が使用される。ここでは、キャッシュメモリ114が、データ
記憶位置のコンテントを修正する排他制御を持っているときに、データ記憶位置
の制御を得たと言える。一般に、キャッシュメモリ114は、データ記憶位置と
、この記憶位置に蓄積されたデータの複製コピーの制御を得て、そのコピーを修
正するが、ただし、このデータの修正部分をホストメモリに書込むのを、ずっと
後まで遅らせる。暗に、キャッシュメモリが、ホストメモリ内の記憶位置にデー
タを書込むときには、キャッシュメモリ114は、ホストメモリ120に対する
制御を放棄する。As is well known, cache memory 114 may have duplicate or modified copies of data in host memory 120. Similarly, when needed, cache 114 should obtain a modified copy of any data in host memory, but need not have an old copy. The same is true for the host memory 120. An "ownership protocol" is used that allows only a single device, such as cache memory 114 or host memory 120, to modify the content of a data storage location at any one time. Here, it can be said that the control of the data storage position has been obtained when the cache memory 114 has the exclusive control for correcting the content of the data storage position. In general, the cache memory 114 gains control of the data storage location and a duplicate copy of the data stored in this storage location and modifies that copy, provided that the modified portion of the data is written to host memory. Is delayed until much later. Implicitly, when the cache memory writes data to a storage location in the host memory, the cache memory 114 relinquishes control over the host memory 120.
【0061】 DMA制御回路116は、ホストメモリ120とキャシュ114間で、トラン
スポートパケットのデータと記述子のデータを転送するためのものである。 D MA制御回路116は、キャッシュ114内に、充分な数のトランスポートパケ
ット(および、それらのトランスポートパケット用の記述子)を保存すれば、デ
ータリンク制御回路112が、トランスポートパケットを絶えず出力TSに(す
なわち、連続するタイムスロットに)出力できるようにすることが可能である。 DMA制御回路116はまた、キャッシュ114内で、充分な数の記述子記憶 位置と、これらの記憶位置が指すパケット記憶位置の制御も得ることができる。 DMA制御回路116は、キャッシュ114に対して、このような記述子記憶 位置とトランスポートパケット記憶位置の制御を得る。これにより、記述子とト
ランスポートパケットが受取られる(すなわち、連続するタイムスロットから)
と、記述子記憶位置とトランスポートパケット記憶位置を、入りトランスポート
パケットに絶えず割当てることができる。The DMA control circuit 116 is for transferring data of a transport packet and data of a descriptor between the host memory 120 and the cache 114. Once the DMA control circuit 116 stores a sufficient number of transport packets (and descriptors for those transport packets) in the cache 114, the data link control circuit 112 continuously outputs the transport packets. It can be possible to output to the TS (ie, to consecutive time slots). The DMA control circuit 116 can also gain control over a sufficient number of descriptor storage locations in the cache 114 and the packet storage locations to which these storage locations point. The DMA control circuit 116 obtains such control of the descriptor storage location and the transport packet storage location for the cache 114. This allows descriptors and transport packets to be received (ie, from consecutive time slots)
The descriptor storage location and the transport packet storage location can be constantly assigned to incoming transport packets.
【0062】 データリンク制御回路112は、入りTSからトランスポートパケットを受取
るか、あるいは、トランスポートパケットを出TSに送るためのものである。ト
ランスポートパケットを受取るときに、データリンク制御回路112は、ダウン
ロード可能なフィルタマップ(プロセッサ160で提供される)で指定される通
り、入りTSから受取った選択トランスポートパケットだけをフィルタで取出し
、それらを保持する。データリンク制御回路112は、他のトランスポートパケ
ットをそれぞれ捨てる。データリンク制御回路112は、次の未使用の記述子を
受信トランスポートパケットに割当て、その受信トランスポートパケットをキャ
ッシュ114に蓄積して、その割当てられた記述子が指すトランスポートパケッ
ト記憶位置に転送する。さらに、データリンク制御回路112は、トランスポー
トパケットの受信時間に対応する基準時間を、参照クロックジェネレータ113
から得る。データリンク制御回路112は、この時間を、トランスポートパケッ
トが蓄積されるトランスポートパケット記憶位置を指す記述子内の受信タイムス
タンプとして記録する。The data link control circuit 112 is for receiving a transport packet from an incoming TS or sending a transport packet to an outgoing TS. When receiving transport packets, the data link control circuit 112 filters out only the selected transport packets received from the incoming TS as specified in the downloadable filter map (provided by processor 160). Hold. The data link control circuit 112 discards other transport packets. The data link control circuit 112 allocates the next unused descriptor to the received transport packet, stores the received transport packet in the cache 114, and transfers the received transport packet to the transport packet storage location indicated by the allocated descriptor. I do. Further, the data link control circuit 112 sets the reference time corresponding to the reception time of the transport packet to the reference clock generator 113.
Get from. The data link control circuit 112 records this time as a reception time stamp in a descriptor pointing to the transport packet storage location where the transport packet is stored.
【0063】 パケットを送るときに、データリンク制御回路112は、送出トランスポート
パケット用の記述子を、キャッシュ114から取出して、それらの対応するトラ
ンスポートパケットを、参照クロックジェネレータ113の時間が、それぞれの
記述子に示されるディスパッチ時間にほぼ等しいときに現れる出TSのタイムス
ロットに送る。さらに、データリンク制御回路112は、必要に応じて、出力ト
ランスポートパケットの任意の最終PCR補正を行って、これらのトランスポー
トパケット内に示されるPCRを、出TS内のトランスポートパケットの厳密な
整列線と同期化させるようにしている。When sending a packet, the data link control circuit 112 retrieves the descriptors for the outgoing transport packets from the cache 114 and decomposes their corresponding transport packets by the time of the reference clock generator 113, respectively. To the time slot of the outgoing TS that appears when it is approximately equal to the dispatch time indicated in the descriptor. Further, the data link control circuit 112 performs any final PCR correction of the output transport packets as necessary, and converts the PCRs indicated in these transport packets into the exact values of the transport packets in the output TS. Synchronize with the alignment line.
【0064】 プロセッサ160は、外部コントローラ20(図1)から制御命令を受取り、
アダプタ110とインタフェース140および150を制御する目的で、それら
にコマンドを送るためのものである。そのような命令に応答して、プロセッサ1
60は、PIDフィルタマップを生成して、それをキャッシュ114にダウンロ
ードするか、あるいは、キャッシュ114にすでにあるPIDフィルタマップを
修正し、それを、所望のトランスポートパケットを選択的に抽出するときに、デ
ータリンク制御回路112で使用する。さらに、プロセッサ160は、それぞれ
の受信トランスポートパケットを、そのPIDに基づいて処理する受信割込みハ
ンドラを生成する。受信割込みハンドラにより、プロセッサ160は、トランス
ポートパケットのPIDを再マッピングし、トランスポートパケットの出発時間
を概算し、さらなる処理のためにトランスポートパケット内の情報を抽出するこ
となどを行う場合がある。さらに、プロセッサ160が、送信割込みハンドラを
公式化して実行することにより、このプロセッサは、出力用のトランスポートパ
ケットを適正に順序付け、各トランスポートパケット用のディスパッチ時間を生
成し、トランスポートパケット内のPCRをおおまかに補正し、さらに、PSI
を出力TSに挿入する。プロセッサ160はまた、以下でさらに詳しく説明され
るように、暗号化や暗号解読にも役立つ場合がある。The processor 160 receives a control command from the external controller 20 (FIG. 1),
It is for sending commands to the adapter 110 and the interfaces 140 and 150 for the purpose of controlling them. In response to such an instruction, the processor 1
60 generates a PID filter map and downloads it to the cache 114 or modifies the PID filter map already in the cache 114 to selectively extract the desired transport packets. , Are used in the data link control circuit 112. Further, processor 160 generates a receive interrupt handler that processes each received transport packet based on its PID. The receive interrupt handler may cause the processor 160 to remap the PID of the transport packet, estimate the departure time of the transport packet, extract information in the transport packet for further processing, etc. . Further, by formulating and executing the transmit interrupt handler, the processor 160 properly orders the transport packets for output, generates a dispatch time for each transport packet, and generates a dispatch time for each transport packet. The PCR is roughly corrected and the PSI
Into the output TS. Processor 160 may also serve for encryption and decryption, as described in more detail below.
【0065】 ホストメモリ120は、トランスポートパケット、および、トランスポートパ
ケットと関係のある記述子を蓄積するためのものである。ホストメモリ120の
記憶位置は、以下の通りに編成される。トランスポートパケットプールとして用
いられる複数の再使用可能なトランスポートパケット記憶位置が入っているバッ
ファ122が備えられる。記述子記憶位置129を編成して、複数のリング12
4にする。各リング124は、開始記憶アドレスすなわちリング上端124−1
から、終了記憶アドレスすなわちリング下端124−2までの一連の記述子記憶
位置129である。或るリング124は、再多重化ノード100から送られる各
出TS用に設けられ、また或るリング124は、再多重化ノード100で受取ら
れる各入りTS用に設けられる。他のリング124は、以下でさらに詳しく説明
されるように、設けられる。The host memory 120 is for storing transport packets and descriptors related to the transport packets. The storage locations of the host memory 120 are organized as follows. A buffer 122 is provided that contains a plurality of reusable transport packet storage locations used as a transport packet pool. The descriptor storage location 129 is organized to include multiple rings 12
Make 4 Each ring 124 has a starting storage address, or ring top 124-1.
, A series of descriptor storage locations 129 from the end storage address, i.e., the ring bottom 124-2. A ring 124 is provided for each outgoing TS sent from the remultiplexing node 100 and a ring 124 is provided for each incoming TS received at the remultiplexing node 100. Another ring 124 is provided, as described in more detail below.
【0066】 キューは、ポインタ124−3をキューのヘッド(すなわち、キュー内で最初
に使用される/割当てられる記述子記憶位置129)に指定し、またポインタ1
24−4をキューのテール(すなわち、キュー内で最後に使用される/割当てら
れる記述子記憶位置129)に指定することで、各リング124内で実施される
。記述子記憶位置129は、テール124−4の直後の使用されてない/割当て
られてない記述子記憶位置129からスタートして、入りトランスポートパケッ
トに割当てられる。送出トランスポートパケット用の述子記憶位置129は、ヘ
ッド124−3が指す記述子記憶位置129からスタートして、順次にテール1
24−4に至るまで、キューから取出される。記述子記憶位置129の記述子が
リングの終了124−2に達するときはいつでも、記述子記憶位置129からの
記述子の割当てまたは取出しが、リングの上端124−1の記述子記憶位置12
9の記述子に引き継がれる。The queue designates pointer 124-3 to the head of the queue (ie, the first used / allocated descriptor storage location 129 in the queue), and pointer 1
This is implemented in each ring 124 by designating 24-4 as the tail of the queue (ie, the last used / allocated descriptor storage location 129 in the queue). Descriptor storage location 129 is allocated to incoming transport packets, starting from unused / unallocated descriptor storage location 129 immediately after tail 124-4. The predicate storage location 129 for the outgoing transport packet starts at the descriptor storage location 129 pointed to by the head 124-3, and sequentially stores the tail 1
Until 24-4, it is removed from the queue. Whenever the descriptor at descriptor storage location 129 reaches the end of the ring 124-2, the assignment or retrieval of the descriptor from descriptor storage location 129 is performed at the top of the ring 124-1.
9 descriptors.
【0067】 図に示される通り、各記述子記憶位置129に蓄積される各記述子は、いくつ
かのフィールド129−1、129−2、129−3、129−4、129−5
、129−6、129−7、129−8、129−9、129−10を含む。簡
単に述べると、これらのフィールドのそれぞれの目的は、以下の通りである。フ
ィールド129−1は、コマンド属性を格納するためのものである。プロセッサ
160は、コマンド属性フィールドの個々のビットを使用すれば、アダプタ11
0のトランスポートパケット伝送と記述子データ検索を制御することができる。
例えば、プロセッサ160は、リング124の下端ポインタ124−2が指す記
述子記憶位置129の記述子のフィールド129−1内の1ビットをプリセット
すれば、上端ポインタ124−1が指す記述子記憶位置129が、下端ポインタ
124−2が指す記述子記憶位置129の後にくることを示すことができる。As shown in the figure, each descriptor stored in each descriptor storage location 129 has several fields 129-1, 129-2, 129-3, 129-4, 129-5.
129-6, 129-7, 129-8, 129-9 and 129-10. Briefly, the purpose of each of these fields is as follows. The field 129-1 is for storing a command attribute. The processor 160 uses the individual bits of the command attribute field to
0 transport packet transmission and descriptor data retrieval can be controlled.
For example, if the processor 160 presets one bit in the descriptor field 129-1 of the descriptor storage location 129 pointed to by the bottom pointer 124-2 of the ring 124, the descriptor storage location 129 indicated by the top pointer 124-1 Follows the descriptor storage location 129 pointed to by the bottom pointer 124-2.
【0068】 フィールド129−2は、ソフトウェア・ステータスビットを格納するための
ものである。ソフトウェア・ステータスビットは、アダプタ10によるアクセス
も修正もなく、またアダプタ110にかかわらない目的では、プロセッサ160
で使用できる。The field 129-2 is for storing a software status bit. The software status bits are not accessed or modified by adapter 10 and, for purposes of
Can be used with
【0069】 フィールド129−3は、出力予定の送出トランスポートパケットのバイト数
(一般に、MPEG−2のトランスポートパケットでは188バイト、ただし、
記述子が、別のトランスポートプロトコルによるパケットを指すとき、すなわち
、パケットを複数の記憶位置に断片化するか、または複数のパケット記憶位置に
蓄積された断片からパケットを組立てる「集合」と「分散」のサポートでは、上
記のバイト数よりも大きいか、または小さい数にセットできる)を格納するため
のものである。The field 129-3 indicates the number of bytes of a transport packet to be transmitted (188 bytes in general for an MPEG-2 transport packet,
When the descriptor points to a packet according to another transport protocol, i.e., "aggregate" and "distribution" that fragment the packet into multiple storage locations or assemble the packet from fragments stored in multiple packet storage locations Is supported to be set to a number that is larger or smaller than the above number of bytes).
【0070】 フィールド129−4は、記述子が対応するトランスポートパケット記憶位置
を指すポインタを格納するためのものである。これは、リング124内の記述子
記憶位置129の記述子から、トランスポートパケットプール122の特定の記
憶位置に向く矢印を用いて、図2に示されている。Field 129-4 is for storing a pointer to the transport packet storage location corresponding to the descriptor. This is illustrated in FIG. 2 with an arrow pointing from the descriptor at location 129 in ring 124 to a particular location in transport packet pool 122.
【0071】 フィールド129−5は、受信入りトランスポートパケット用の受信時間を格
納するか、あるいは、送信予定の送出トランスポートパケットのディスパッチ時
間を格納するためのものである。The field 129-5 is for storing a reception time for a transport packet with reception or a dispatch time for an outgoing transport packet to be transmitted.
【0072】 フィールド129−6は、発生した可能性のある様々な例外/エラーを格納す
るためのものである。このフィールドのビットを使用すれば、バス130のエラ
ー、データリンク制御回路112が接続されている通信リンクのデータリンクの
エラー、短いパケット、または長いパケットの受取り(188バイトよりも短い
か、または長い)などを示すことができる。Field 129-6 is for storing various exceptions / errors that may have occurred. The use of bits in this field allows errors in the bus 130, errors in the data link of the communication link to which the data link control circuit 112 is connected, receipt of short or long packets (either shorter or longer than 188 bytes). ).
【0073】 フィールド129−7は、記述子が有効であるか、無効である(エラーパケッ
トなどを指す)かどうかなどの記述子の様々なステータス面を示すステータスビ
ットを格納するためのものである。例えば、複数の装置が、記述子、および/ま
たは、記述子が次々に指すパケットを処理する必要があるとしてみよう。このよ
うな場合、好ましくは4つのステータスビットが設けられる。これらのビットの
最初の2つは、0、1、2、または3の値にセットできる。0の値は、記述子が
無効であることを示す。1の値は、記述子が有効であり、記述子、および/また
は、記述子が指すパケットを処理する必要のある最後の装置で処理されることを
示している。2の値は、記述子が有効であり、記述子、および/または、記述子
が指すパケットを処理する必要のある最後から2番目の装置で処理されることを
示している。3の値は、記述子が有効であり、記述子、および/または、記述子
が指すパケットを処理する必要のある最後から3番目の装置で処理されることを
示している。後者の2つのビットは、記述子が、ホストメモリ120からキャッ
シュ114に移されたかどうか、また記述子が、アダプタ110で処理を完了し
て、ホストメモリ120に蓄積されるかどうか示している。他のステータスビッ
トは、以下でさらに詳しく説明されるように、設けられる。Field 129-7 is for storing status bits indicating various status aspects of the descriptor, such as whether the descriptor is valid or invalid (such as indicating an error packet). . For example, suppose that multiple devices need to process the descriptor and / or the packets that the descriptor points to one after another. In such a case, preferably four status bits are provided. The first two of these bits can be set to a value of 0, 1, 2, or 3. A value of 0 indicates that the descriptor is invalid. A value of 1 indicates that the descriptor is valid and will be processed by the last device that needs to process the descriptor and / or the packet it points to. A value of 2 indicates that the descriptor is valid and will be processed by the penultimate device that needs to process the descriptor and / or the packet it points to. A value of 3 indicates that the descriptor is valid and will be processed by the penultimate device that needs to process the descriptor and / or the packet it points to. The latter two bits indicate whether the descriptor has been moved from host memory 120 to cache 114, and whether the descriptor has completed processing at adapter 110 and is stored in host memory 120. Other status bits are provided, as described in more detail below.
【0074】 フィールド129−8には、受信入りトランスポートパケットのバイト数を示
す転送カウントが入っている。The field 129-8 contains a transfer count indicating the number of bytes of the transport packet received.
【0075】 フィールド129−9は、暗号化または暗号解読に用いられるスクランブル/
デスクランブル制御ワードまたは他の情報を格納するためのものである。例えば
、プロセッサ160は、制御ワード(暗号化/暗号解読キー)またはベースアド
レスを、キャッシュ114内のこのフィールド129−9に格納された制御ワー
ドのテーブルに蓄積することができる。Field 129-9 contains the scrambling / encryption / decryption /
For storing descrambling control words or other information. For example, the processor 160 may store the control word (encryption / decryption key) or base address in a table of control words stored in this field 129-9 in the cache 114.
【0076】 フィールド129−10は、スケジュールされた概算出発時間、実際の出発時
間、または実際の受信時間を格納するためのものである。以下でさらに詳しく説
明される通り、このフィールドは、出力用の受信入りトランスポートパケットを
順序付けるために、または入りトランスポートパケットの受信時間を書留めるた
めに、プロセッサ160で使用される。Field 129-10 is for storing a scheduled approximate departure time, an actual departure time, or an actual reception time. As described in further detail below, this field is used by processor 160 to order incoming transport packets for output or to note the time of receipt of incoming transport packets.
【0077】 例示として、単一の入力ポートでトランスポートパケットを受取るためには、
1つのデータリンク制御回路112、1つのDMA制御回路116、および、1
つのリング124が必要となり、また単一の出力ポートからトランスポートパケ
ットを送るためには、1つのデータリンク制御回路112、1つのDMA制御回
路116、および、1つのリング124が必要となる。入力ポートと関係のある
キューに蓄積される記述子は、ここでは受信記述子と呼ばれ、また出力ポートと
関係のあるキューに蓄積される記述子は、ここでは送信記述子と呼ばれる。以下
に述べられる通り、上に示される入力ポートと出力ポートは、データリンク制御
回路112が接続されている通信リンクの入力ポートまたは出力ポートであるか
、あるいは、再多重化ノード100内の別のインタフェース140または150
の通信リンクの入力ポートまたは出力ポートである。アダプタ110は、単一の
データリンク制御回路112と単一のDMA制御回路116しか備えてないもの
として示されている。これは単に例示のためだけである。すなわち、複数のデー
タリンク制御回路112とDMA制御回路116を、同一アダプタ110上に設
けることができる。別法として、または、追加として、複数のアダプタ110を
、再多重化ノード100内に設ける。By way of example, to receive a transport packet on a single input port,
One data link control circuit 112, one DMA control circuit 116, and one
One ring 124 is required, and one data link control circuit 112, one DMA control circuit 116, and one ring 124 are required to send a transport packet from a single output port. Descriptors stored in queues associated with input ports are referred to herein as receive descriptors, and descriptors stored in queues associated with output ports are referred to herein as transmit descriptors. As described below, the input and output ports shown above may be the input or output ports of the communication link to which the data link control circuit 112 is connected, or may be another port within the remultiplexing node 100. Interface 140 or 150
Input port or output port of the communication link. Adapter 110 is shown as having only a single data link control circuit 112 and a single DMA control circuit 116. This is for illustration only. That is, a plurality of data link control circuits 112 and DMA control circuits 116 can be provided on the same adapter 110. Alternatively or additionally, a plurality of adapters 110 are provided in the remultiplexing node 100.
【0078】 基本のトランスポートパケット受信、再多重化、伝送 ここで、再多重化ノード100の基本操作を考えてみる。操作者は、再多重化
ノード100を操作する方法について、いくつかの選択を持っている。再多重化
ノード100を操作する第1のやり方では、操作者は、2つのTS(すなわち、
TS1とTS2)のプログラム情報を選択的に組合わせて、第3のTS(すなわ
ち、TS3)を作りたいと思うと仮定する。この大筋において、操作者は、2つ
の再多重化予定のTS(TS1とTS2)に、どんなプログラム、ES、または
PIDが入っているか、当初、知らないと仮定する。さらに、TS1は、例示と
して、第1のアダプタ110で受取られ、またTS2は、例示として、第2のア
ダプタ110で受取られ、さらに、TS3は、例示として、同一再多重化ノード
100の第3のアダプタ110から送られる。そうせずに、以下の説明からわか
るように、TS1とTS2はそれぞれ、同期または非同期のインタフェースを通
じて、同一のノードで、あるいは異なるノードで受取られ、またTS1とTS2
の選択された部分は、任意構成のネットワークを通じて第3のノードに伝達され
、選択的に組合わされて、第3のノードでTS3を形成する。Basic Transport Packet Reception, Remultiplexing, and Transmission Here, the basic operation of the remultiplexing node 100 will be considered. The operator has several choices on how to operate the remultiplexing node 100. In a first way of operating the remultiplexing node 100, the operator has two TSs (ie,
Assume that one wants to selectively combine the program information of TS1 and TS2) to create a third TS (ie, TS3). In this overview, it is assumed that the operator initially does not know what programs, ESs or PIDs are in the two TSs to be remultiplexed (TS1 and TS2). Further, TS1 is illustratively received at the first adapter 110, TS2 is illustratively received at the second adapter 110, and TS3 is illustratively at the third adapter 110 of the same remultiplexing node 100. Is sent from the adapter 110. Instead, as will be seen from the following description, TS1 and TS2 can be received at the same node or at different nodes, respectively, through a synchronous or asynchronous interface, and
Are transmitted to the third node through an optional network and are selectively combined to form TS3 at the third node.
【0079】 このやり方による操作は、(1)入力される再多重化予定のTS(TS1とT
S2)のコンテント情報(プログラム、ES、PAT、PMT、CAT、NIT
など、および、それらのPID)を収集し、(2)操作者がユーザ仕様を公式化
できるように、コンテント情報を操作者に報告し、(3)ユーザ仕様を受取って
、出力再多重化TS(TS3)を構築し、かつ、ユーザ仕様により、入力される
再多重化予定のTS(TS1とTS2)のコンテントから、再多重化TS(TS
3)を動的に構築するものと、要約されよう。The operation according to this method includes (1) inputting TSs to be remultiplexed (TS 1 and T
S2) Content information (program, ES, PAT, PMT, CAT, NIT
And their PIDs), (2) report the content information to the operator so that the operator can formulate the user specification, (3) receive the user specification, and output the remultiplexed TS ( TS3) and constructs the remultiplexed TS (TS) from the contents of the TSs (TS1 and TS2) to be remultiplexed according to the user specification.
3) can be summarized as building dynamically.
【0080】 コンテント情報を収集できるようにするために、トランスポートプロセッサ1
60は、1つの受信キューを、第1と第2のアダプタ110のそれぞれに割当て
て、それらのアダプタに、それぞれTS(TS1とTS2)を受取らせる。TS
(TS1とTS2)のコンテントを収集するために、当初、TS1またはTS2
用のアダプタ110では、いかなるトランスポートパケットも捨てられない。し
たがって、プロセッサ160は、TS(TS1とTS2)を受取る第1と第2の
アダプタ110のそれぞれのキャッシュ114にフィルタマップをロードし、そ
れにより、各トランスポートパケットが保持されて、ホストメモリ120に転送
される。TS(例えば、TS1)の各トランスポートパケットが、そのそれぞれ
のアダプタ110で受取られると、データリンク制御回路112は、次の未使用
の記述子(記述子記憶位置内で、受信キューのテール124−4に蓄積された記
述子の後にある)を、受信入りトランスポートパケットに割当てる。データリン
ク制御回路112は、各受信トランスポートパケットを、キャッシュ114のう
ち割当てられた記述子が指すトランスポートパケット記憶位置に蓄積する。In order to be able to collect content information, the transport processor 1
60 allocates one receive queue to each of the first and second adapters 110 and causes those adapters to receive TSs (TS1 and TS2), respectively. TS
Initially, to collect the content of (TS1 and TS2), TS1 or TS2
The transport adapter 110 does not discard any transport packets. Accordingly, the processor 160 loads the filter map into the respective caches 114 of the first and second adapters 110 that receive the TSs (TS1 and TS2) so that each transport packet is retained and stored in the host memory 120. Will be transferred. As each transport packet of a TS (e.g., TS1) is received at its respective adapter 110, the data link control circuit 112 causes the next unused descriptor (in the descriptor location to be the tail 124 of the receive queue). -4 after the stored descriptor) is assigned to the incoming transport packet. The data link control circuit 112 stores each received transport packet in the transport packet storage location of the cache 114 indicated by the assigned descriptor.
【0081】 DMA制御回路116は、各トランスポートパケットを、ホストメモリ120
内のプール122の対応する記憶位置に書込み、さらに、トランスポートパケッ
トに割当てられた記述子の記述子データを、受信キューのそれぞれの記述子記憶
位置に書込む。さらに、DMA制御回路116は、受信キューの次の少数の割当
てられてない記述子記憶位置129(DMA制御回路116が、前に制御を得て
きた一連の記述子129の記憶位置の後にある)、それらの記憶位置に蓄積され
た記述子のコピー、および、これらの記述子が指すトランスポートパケット記憶
位置の制御を得る場合がある。このような未使用で割当てられてない記述子とト
ランスポートパケット記憶位置の制御は、データリンク制御回路112で使用す
るために、キャッシュ114に与えられる(すなわち、TSIから受取られる将
来のトランスポートパケットへの割当て)。The DMA control circuit 116 stores each transport packet in the host memory 120
And writes the descriptor data of the descriptor assigned to the transport packet to the respective descriptor storage location of the receive queue. Further, the DMA control circuit 116 may store the next few unassigned descriptor locations 129 in the receive queue (after the storage location of the series of descriptors 129 from which the DMA control circuit 116 had previously gained control). May obtain a copy of the descriptors stored in those locations, and control of the transport packet locations pointed to by these descriptors. Control of such unused and unassigned descriptors and transport packet locations is provided to cache 114 for use by data link control circuit 112 (ie, future transport packets received from TSI). Assignment).
【0082】 DMA制御回路116が、i個≧1のトランスポートパケットと、それらのト
ランスポートパケットに割当てられた記述子のデータを、プール122と受信キ
ューに書込んだ後で、DMA制御回路116は、割込みを起こす。例示として、
個数iは、コントローラ20を用いて操作者で選択されて、プロセッサ160で
セットされる。この割込みにより、プロセッサ160は、各受信トランスポート
パケットに適切な受信「PID」ハンドラ・サブルーチンを実行する。別法とし
て、ポーリングまたはタイマベースの処理などの別の技法を使用すれば、各受信
トランスポートパケット用の受信PIDハンドラ・サブルーチンをプロセッサ1
60に実行させることができる。わかりやすくするために、ここでは、割込みの
実例を使用して、本発明を例示する。図3を参照して、プロセッサ160は、例
示として、再多重化セッションの間にTSを受取るか、または送る各アダプタ1
10(または、他の装置)用の一組のPIDハンドラ・サブルーチンを持ってい
る。図3は、2つのタイプのPIDハンドラ・サブルーチンの組、すなわち受信
PIDハンドラ・サブルーチンの組と、送信PIDハンドラ・サブルーチンの組
を示している。各DMA制御回路116は、識別できるくらい異なる割込みを起
こし、それにより、プロセッサ160は、どの組のPIDハンドラ・サブルーチ
ンを使用すべきか決定できる。DMA制御回路116による割込みに応答して、
プロセッサ160は、ステップS2を実行し、そのステップにより、プロセッサ
160は、割込みアダプタ110の受信キュー内の最近蓄積された記述子が指す
各トランスポートパケットのPIDを調べる。各PIDでは、プロセッサ160
は、プロセッサ160に割込んだアダプタ110(または、他の装置)に固有の
受信PIDハンドラ・サブルーチン402を指すポインタのテーブルを調べる。After the DMA control circuit 116 writes i ≧ 1 transport packets and the data of the descriptors assigned to those transport packets to the pool 122 and the reception queue, the DMA control circuit 116 Causes an interrupt. As an example,
The number i is selected by the operator using the controller 20 and set by the processor 160. This interrupt causes processor 160 to execute the appropriate receive "PID" handler subroutine for each received transport packet. Alternatively, if another technique such as polling or timer-based processing is used, the receive PID handler subroutine for each received transport packet may be
60. For simplicity, the present invention is illustrated herein using an example of an interrupt. Referring to FIG. 3, the processor 160 illustratively includes each adapter 1 that receives or sends a TS during a remultiplexing session.
10 (or another device) has a set of PID handler subroutines. FIG. 3 shows a set of two types of PID handler subroutines, a set of receive PID handler subroutines and a set of transmit PID handler subroutines. Each DMA control circuit 116 generates an interrupt that is distinctly different so that processor 160 can determine which set of PID handler subroutines to use. In response to the interrupt by the DMA control circuit 116,
Processor 160 performs step S2, which causes processor 160 to look up the PID of each transport packet pointed to by the recently accumulated descriptor in the receive queue of interrupt adapter 110. For each PID, the processor 160
Examines a table of pointers to the receive PID handler subroutine 402 specific to the adapter 110 (or other device) that interrupted the processor 160.
【0083】 TS1を受取る第1のアダプタ110がプロセッサ160に割込むと仮定する
。この場合、プロセッサ160は、TS(TS1)を受取ったアダプタ110に
固有の受信PIDハンドラ・サブルーチン402を指すポインタのテーブルを調
べることになる。受信PIDハンドラ・サブルーチンを指すポインタのテーブル
は、それぞれの許容PID(それらのPIDは、MPEG−2により、13ビッ
トを有する)でインデックスされた1エントリも含め、8192エントリを含む
。それぞれのインデックスされたエントリには、RIV0、RIV1,...,
RIV8191を指すポインタ、または、RIV0、RIV1,...,RIV
8191のアドレス、プロセッサ160で実行されるサブルーチンが入っている
。各トランスポートパケットのPIDを用いて、プロセッサ160は、受信PI
Dハンドラ・サブルーチン402を指すポインタのテーブルのエントリをインデ
ックスして、特定のトランスポートパケットに対して実行されるサブルーチンを
指すポインタを特定する。Assume that the first adapter 110 receiving TS1 interrupts the processor 160. In this case, the processor 160 will consult a table of pointers to the receive PID handler subroutine 402 specific to the adapter 110 that received the TS (TS1). The table of pointers to the receive PID handler subroutine contains 8192 entries, including one entry indexed by each allowed PID (these PIDs have 13 bits according to MPEG-2). Each indexed entry has RIV0, RIV1,. . . ,
A pointer to RIV8191, or RIV0, RIV1,. . . , RIV
The address of 8191 contains a subroutine executed by the processor 160. Using the PID of each transport packet, processor 160
An entry in the table of pointers to D handler subroutine 402 is indexed to identify a pointer to a subroutine to be executed for a particular transport packet.
【0084】 それぞれのポインタが指し、かつプロセッサ160で実行される各サブルーチ
ンは、ポインタテーブル402に基づいて各PIDに特定的にマッピングされて
、ユーザ仕様を実現する。各サブルーチンは、好都合なことに、あらかじめ定義
されており、ユーザ仕様により、ポインタテーブル402で単にマッピングされ
るだけである。各サブルーチンは、1つまたは複数の基本ビルディング・ブロッ
ク・プロセスの集まりから成っている。基本ビルディング・ブロック・プロセス
のいくつかの例には、次のものがある: (1)PAT収集: 当初、このプロセスは、RIV0が指すサブルーチン、
すなわち、PID 0x0000用の受信PIDハンドラ・サブルーチンに含ま
れる。このプロセスを実行するとき、プロセッサ160は、例示として、PAT
のうち現在処理されたトランスポートパケットで運ばれる部分を取出し、そのP
AT部分を、メモリに保存されたPATにロードする。TSで運ばれるプログラ
ムが時々、変わることがあるから、PATの複数のバージョンが使用されること
に留意されたい。プロセッサ160は、PATの異なるバージョンを識別し、P
ATの各バージョンのコピーを別途に寄せ集めて、それを、ホストメモリ120
に保存することができる。プロセッサ160はまた、PATの様々な部分に入っ
ている情報に基づいて、PATのどのバージョンが現在用いられているか、いつ
でも特定することもできる。さらに、プロセッサ160は、それぞれの更新され
たPAT部分で運ばれる情報を使用して、その時点で、TSで運ばれるプログラ
ムのプログラム番号、および、そのようなプログラム番号用のPMT部分または
プログラム定義のPIDを特定する。このようなプログラム番号を使用して、プ
ロセッサ160は、受信PIDハンドラ・サブルーチン用のポインタテーブル4
02を修正すれば、PMT部分またはプログラム定義を収集するプロセスが入っ
ているサブルーチンを実行するのにふさわしいPID(PMT部分を載せたトラ
ンスポートパケットに標記する)用のポインタを挿入することができる。 (2)PMT部分/プログラム定義の収集: このプロセスにおいて、プロセ
ッサ160は、現在処理されたトランスポートパケットに入っているPMT部分
またはプログラム定義を取出して、PMTのそれぞれの部分を、この取出された
プログラム定義またはPMT部分のデータで更新する。PATと同様、PMTの
複数のバージョンを利用することがあり、プロセッサ160は、この取出された
PMT部分またはプログラム定義のデータを、どのPMTに蓄積すべきか決定す
ることができる。プロセッサ160は、PMT情報を使用して、再多重化TSに
含まれるべきでないプログラムのトランスポートパケットを捨てるのに用いられ
るPIDフィルタマップを更新し、制御ワードを特定してESを暗号解読し、P
MTで特定される通り、PIDを有するトランスポートパケットに入っているP
CRを処理するサブルーチンを選択する場合がある。 (3)PID再マッピング: これにより、プロセッサ160は、対応するパ
ケットのPIDを、別のPIDで上書きする。これは、PID指定の一意性を保
証するのに好ましい。すなわち、MPEG−2は、異なるコンテント(例えば、
異なるESのデータ、異なるPSIストリームのデータなど)を運ぶトランスポ
ートパケットが、多重化されて同一の出力再多重化TSに形成されて、そのよう
なTSで運ばれる場合には、このように異なるコンテントを運ぶトランスポート
パケットが、互いに異なるPIDで標記されることを求めている。そうでなけれ
ば、デコーダ、または他の装置は、取出し、復号化などのために、異なる種類の
データを載せたトランスポートパケットを区別できなくなろう。或るPIDをT
S1内に用いて、第1のタイプのデータを載せたトランスポートパケットに標記
し、また同一PIDをTS2内に用いて、第2のタイプのデータを載せたトラン
スポートパケットに標記することができる。第1と第2のタイプのトランスポー
トパケットが、出力再多重化TS(TS3)に含まれる場合には、一意性を保証
するために、これら2つのタイプのトランスポートパケットの少なくとも1つは
、新たなPIDで標記し直すべきである。 (4)トランスポートパケットの廃棄: この名が暗示する通り、プロセッサ
160は、単にトランスポートパケットを捨てるにすぎない。この目的のために
、プロセッサ160は、捨てられるトランスポートパケットを指す記述子の割当
てを解除する。記述子の割当て解除は、キューの記述子記憶位置129にある一
連の記述子をプロセッサ160が調整して、その削除されるトランスポートパケ
ット用の記述子を除去することで、達成される(例えば、リング124内の削除
予定のトランスポートパケットの記述子の後にあって、それぞれ、その直前の記
述子の記述子記憶空間に移るそれらの割当て記述子のすべてが、プロセッサ16
0により特定される)。記述子の割当て解除を行うと、再割当て用の受信キュー
内に、記述子記憶空間129が生成される。 (5)PCRフラグのセッティング: PMTは、PCRを載せたトランスポ
ートパケットのPIDを、プログラムごとに示す。とはいえ、このようなトラン
スポートパケットの一部しか、PCRを載せていない。これは、トランスポート
パケット内の適切な標識がセットされているかどうかプロセッサ160が判定す
ることで、容易に決定される(トランスポートパケットのヘッダー内のadap
tion_field_controlビットと、適応フィールド内のPCR_
flagビット)。PCRがあるとプロセッサ160が判定すれば、プロセッサ
160は、それぞれのパケットと関係のある記述子129の属性フィールド12
9−1内のPCRフラグビットをセットする。この属性フラグビットの目的は、
以下でさらに詳しく説明される。 さらに、プロセッサ160は、PCRを1サンプルとするプログラムのエンコ
ーダ・システム・タイムクロックに対して、参照クロックジェネレータ113の
現在ドリフトを例示として計算する。ドリフトは、以下の公式で決定される: ドリフト=ΔRTS12−ΔPCR12 ΔRTS12=RTS2−RTS1 ΔPCR12=PCR1−PCR2 ここで、ΔPCR12は、このプログラム用の連続するPCRの差であり、 PCR2は、現在処理されたトランスポートパケット内のPCRであり、 PCR1は、このプログラム用の前に受取られたPCRであり、 ΔRTS12は、連続する受信タイムスタンプの差であり、 RTS2は、PCR2が入っている現在処理されたトランスポートパケット用
に記録された受信タイムスタンプであり、 RTS1は、PCR1が入っているトランスポートパケット用の前回受信タイ
ムスタンプである。 このドリフトを計算した後で、PCR1とRTS1は、それぞれPCR2とRT
S2に等しくセットされる。このドリフトを使用して、以下に説明される通りに
、PCRを調整する(必要に応じて)。 (6)概算出発時間の計算: このプロセスにより、プロセッサ160は、ト
ランスポートパケットの(理想)出発時間を概算する。例示として、このプロセ
スは、出TSに再多重化されるそれぞれの受信入りトランスポートパケット用の
受信割込みハンドラに含まれる。この概算出発時間は、トランスポートパケット
の受信時間(フィールド129−5内)と、再多重化ノード100での公知の内
部バッファリング遅延から算定できる。プロセッサ160は、この予想出発時間
をフィールド129−10に書込む。 (7)スクランブル/デスクランブル制御ワード情報の挿入: 一般に、スク
ランブル技法か、デスクランブル技法のいずれかでは、実際にトランスポートパ
ケット内のデータを暗号化または暗号解読するためには、暗号化キーまたは暗号
解読キーなどの動的に変わる制御ワードが必要となる。一般的なスクランブル技
法やデスクランブル技法は、奇数キーと偶数キーを使用する。それらの技法によ
り、或るキーは、ESデータを暗号解読するのに使用され、また後で使用される
次のキーは、同時期にTSに転送される。次に、もっとも最近転送されたキーを
、ここで使用すべきことを示す信号が送られる。スクランブル/デスクランブル
制御ワードは、ES固有のものであるか、あるいは、ESの1グループ(「条件
付きアクセスシステム」全体にわたる)に使用される。デスクランブルまたはス
クランブルの制御ワードは、再多重化ノード100のPIDインデックス可能テ
ーブルに保存される。以下でさらに詳しく説明される通り、プロセッサ160は
、このプロセスを実行するときに、この制御ワードテーブル用のベースアドレス
、または制御ワード自体を、記述子のフィールド129−9に挿入する場合があ
る。Each subroutine pointed to by each pointer and executed by the processor 160 is specifically mapped to each PID based on the pointer table 402 to realize a user specification. Each subroutine is advantageously predefined and simply mapped in the pointer table 402 according to user specifications. Each subroutine consists of a collection of one or more basic building block processes. Some examples of the basic building block process include: (1) PAT collection: Initially, this process is a subroutine pointed to by RIV0,
That is, it is included in the reception PID handler subroutine for PID 0x0000. When performing this process, processor 160 illustratively includes a PAT
Extract the portion carried in the currently processed transport packet
The AT part is loaded into the PAT stored in the memory. Note that multiple versions of PAT are used because the program carried in the TS may change from time to time. Processor 160 identifies different versions of the PAT,
A copy of each version of the AT is collected separately and stored in host memory 120.
Can be saved. Processor 160 can also identify at any time which version of the PAT is currently in use, based on information contained in various parts of the PAT. Further, processor 160 may use the information carried in each updated PAT portion to determine at that time the program number of the program carried in the TS, and the PMT portion or program definition for such a program number. Identify the PID. Using such a program number, the processor 160 uses the pointer table 4 for the received PID handler subroutine.
Modification of 02 allows the insertion of a pointer for the PMT (marked on the transport packet carrying the PMT portion) suitable for executing the subroutine containing the process of collecting the PMT portion or the program definition. (2) Collection of PMT part / program definition: In this process, the processor 160 fetches the PMT part or program definition contained in the currently processed transport packet, and retrieves the respective part of the PMT. Update with the data in the program definition or PMT part. Like the PAT, multiple versions of the PMT may be utilized, and the processor 160 may determine in which PMT the retrieved PMT portion or program-defined data should be stored. The processor 160 uses the PMT information to update the PID filter map used to discard transport packets of the program that should not be included in the remultiplexed TS, identify control words and decrypt the ES; P
P specified in the transport packet having the PID as specified by the MT
In some cases, a subroutine for processing the CR is selected. (3) PID remapping: This causes the processor 160 to overwrite the PID of the corresponding packet with another PID. This is preferable to guarantee the uniqueness of the PID designation. That is, MPEG-2 uses different content (eg,
Transport packets carrying data of different ESs, data of different PSI streams, etc.) are multiplexed and formed into the same output re-multiplexed TS and carried differently in such TSs. It is required that transport packets carrying content be marked with different PIDs. Otherwise, a decoder, or other device, would not be able to distinguish between transport packets carrying different types of data for retrieval, decoding, etc. T some PID
It can be used in S1 to mark the transport packet carrying the first type of data, and the same PID can be used in TS2 to mark the transport packet carrying the second type of data. . If the first and second types of transport packets are included in the output re-multiplexed TS (TS3), at least one of these two types of transport packets may be used to ensure uniqueness. It should be re-labeled with the new PID. (4) Transport Packet Discard: As the name implies, processor 160 simply discards the transport packet. To this end, processor 160 deallocates a descriptor pointing to the transport packet that is discarded. Descriptor deallocation is achieved by the processor 160 adjusting the set of descriptors in the queue's descriptor storage location 129 to remove the descriptor for the dropped transport packet (eg, , After the descriptor of the transport packet to be deleted in the ring 124, each of which goes to the descriptor storage space of the immediately preceding descriptor, all of its assigned descriptors are stored in the processor 16
0). When the descriptor is deallocated, a descriptor storage space 129 is created in the reception queue for reallocation. (5) PCR flag setting: The PMT indicates the PID of the transport packet carrying the PCR for each program. However, only a part of such a transport packet carries a PCR. This is easily determined by the processor 160 determining whether the appropriate indicator in the transport packet is set (adap in the transport packet header).
and a field_field_control bit and the PCR_
flag bits). If the processor 160 determines that there is a PCR, the processor 160 determines the attribute field 12 of the descriptor 129 associated with each packet.
Set the PCR flag bit in 9-1. The purpose of this attribute flag bit is
This will be described in more detail below. Further, the processor 160 calculates, as an example, the current drift of the reference clock generator 113 with respect to the encoder system time clock of the program using PCR as one sample. Drift is determined by the following formula: Drift = ΔRTS12−ΔPCR12 ΔRTS12 = RTS2-RTS1 ΔPCR12 = PCR1-PCR2 where ΔPCR12 is the difference between successive PCRs for this program and PCR2 is the currently processed PCR1 is the PCR received in the transport packet, PCR1 is the previously received PCR for this program, ΔRTS12 is the difference between successive receive timestamps, and RTS2 is the currently processed PCR containing PCR2. RTS1 is the previous reception time stamp for the transport packet containing the PCR1. After calculating this drift, PCR1 and RTS1 become PCR2 and RTS, respectively.
Set equal to S2. This drift is used to adjust the PCR (as needed) as described below. (6) Calculating the approximate calculated departure time: With this process, the processor 160 estimates the (ideal) departure time of the transport packet. Illustratively, this process is included in the receive interrupt handler for each incoming incoming transport packet that is remultiplexed into the outgoing TS. The approximate calculated transmission time can be calculated from the reception time of the transport packet (within the field 129-5) and the known internal buffering delay at the remultiplexing node 100. Processor 160 writes this expected departure time in field 129-10. (7) Insertion of scramble / descramble control word information: In general, in either the scramble technique or the descramble technique, in order to actually encrypt or decrypt data in a transport packet, an encryption key or a decryption key is used. A dynamically changing control word such as a decryption key is required. General scrambling and descrambling techniques use odd and even keys. With those techniques, one key is used to decrypt the ES data, and the next key used later is transferred to the TS at the same time. Next, a signal is sent indicating that the most recently transferred key should be used here. The scramble / descramble control word is either ES specific or used for a group of ESs (across the "conditional access system"). The descrambling or scrambling control word is stored in the PID indexable table of the remultiplexing node 100. As described in further detail below, processor 160 may insert the base address for the control word table, or the control word itself, into field 129-9 of the descriptor when performing this process.
【0085】 当初、プロセッサ160は、PIDハンドラを選択して、それぞれの受信TS
(TS1とTS2)のPATを収集し、その後、それぞれの処理されたトランス
ポートパケットを捨てる。PATを受取る過程において、他のPSIを載せたト
ランスポートパケット(例えば、プログラム定義/PMT部分、NIT、CAT
)のPID、および、他のストリーム(例えば、ESストリーム、ECMストリ
ーム、EMMストリームなど)のPIDが得られる。PATのPID用の受信P
IDハンドラ・サブルーチンは、例示として、PMT、NIT、CATなどを収
集する受信PIDハンドラ・サブルーチンを選択する。これは、そのようなサブ
ルーチンを使えるようにし、また、上記のPIDハンドラ・サブルーチンを指す
ように、テーブル402内のエントリ(適切な識別PIDによりインデックスさ
れる)のポインタを単に変えるだけで、容易に達成される。トランスポートパケ
ットを受取って、それをTS1とTS2用に処理する間でも、このような単純な
PIDハンドラ・サブルーチン選択処理は、動的に実行できることに留意された
い。この利点は、以下でさらに詳しく説明される。Initially, processor 160 selects a PID handler and assigns each received TS
Collect the PATs of (TS1 and TS2) and then discard each processed transport packet. In the process of receiving the PAT, transport packets carrying other PSI (eg, program definition / PMT part, NIT, CAT
) And PIDs of other streams (for example, ES stream, ECM stream, EMM stream, etc.). Receive P for PID of PAT
The ID handler subroutine selects, for example, a reception PID handler subroutine that collects PMT, NIT, CAT, and the like. This allows such subroutines to be used, and is easily accomplished by simply changing the pointer of the entry in table 402 (indexed by the appropriate identifying PID) to point to the PID handler subroutine described above. Achieved. Note that such a simple PID handler subroutine selection process can be performed dynamically while the transport packet is received and processed for TS1 and TS2. This advantage is explained in more detail below.
【0086】 結局、再多重化TS(TS3)に出力される情報のユーザ仕様を操作者が作成
できるようにするため、それぞれのTS(TS1とTS2)に関して、充分な量
のPSIを収集する。プロセッサ160は、例示として、この収集されたPSI
情報を、例えば非同期インタフェース140を用いて、コントローラ20に送る
。ユーザ仕様を選択するのに充分な情報を、コントローラ20に送る。この情報
は、選択的なもの、例えば、各TSに入っているプログラム番号を示す、各TS
の単なるチャネルマップや、異なる種類のES(ビデオ、オーディオ1、第2オ
ーディオ・プレゼンテーション、クローズドキャプション・テキストなどの記述
的サービス指定で表わされる)である。別法として、この情報は、例えば、各プ
ログラムのPID、そのESのECMなども含め、網羅的なものであり、またコ
ントローラ20は、首尾一貫した有用なやり方で操作者に情報を表示するにすぎ
ない。Eventually, a sufficient amount of PSI is collected for each TS (TS1 and TS2) so that the operator can create a user specification of the information output to the remultiplexed TS (TS3). Processor 160 illustratively includes the collected PSI
The information is sent to the controller 20, for example, using the asynchronous interface 140. Sufficient information is sent to the controller 20 to select a user specification. This information is optional, eg, each TS indicating the program number contained in each TS.
Or a different kind of ES (represented by descriptive service specifications such as video, audio 1, secondary audio presentation, closed caption text, etc.). Alternatively, this information is exhaustive, including, for example, the PID of each program, the ECM of its ES, etc., and the controller 20 provides information to the operator in a consistent and useful manner. Only.
【0087】 提供された情報を用いて、操作者は、出力される再多重化予定のTS(TS3
)用のユーザ仕様を作成する。このユーザ仕様は、以下のものを指定できる: (1)保持され、かつ再多重化TS(TS3)に出力される各TS(TS1と
TS2)内のプログラム番号、 (2)保持されるか、または捨てられる保持プログラムのES、 (3)暗号解読および/または暗号化されるES、ESのグループ、プログラ
ム、またはプログラムのグループと、それぞれのES、ESのグループ、プログ
ラム、またはプログラムのグループを暗号化するときに用いられる制御ワードの
ソース、 (4)出力再多重化TS(TS3)に注入されるか、または含まれる任意の新
規のECMまたはEMM、 (5)上記の選択から自動的には含まれない任意の新規PSI情報、例えば、
出力されるTS(TS3)に入れられるNITまたはCAT、再マッピングされ
る特定のPIDと、それらのPIDが再マッピングされる新規PID、再多重化
ノードで生成され、かつTS(TS3)で運ばれる他の情報(例えば、以下で説
明されるように、バースティ型データ)に指定されたPID、など。 次に、ユーザ仕様は、例えば非同期インタフェース140を通じて、コントロー
ラ20から再多重化ノード100に送られる。Using the provided information, the operator can output the TS to be remultiplexed (TS3
Create a user specification for). This user specification can specify: (1) program numbers in each TS (TS1 and TS2) that are retained and output to the remultiplexed TS (TS3); (2) retained or Or discarded retained program ES, (3) encrypt the decrypted and / or encrypted ES, ES group, program, or group of programs and respective ES, ES group, program, or group of programs. (4) any new ECM or EMM injected or included in the output remultiplexing TS (TS3); (5) automatically from the above selection Any new PSI information not included, eg,
NIT or CAT to be put in the outgoing TS (TS3), specific PIDs to be remapped, new PIDs to which those PIDs are remapped, generated at the remultiplexing node, and carried by the TS (TS3) PID designated for other information (eg, Bursty data, as described below), and the like. Next, the user specification is sent from the controller 20 to the remultiplexing node 100, for example, via the asynchronous interface 140.
【0088】 プロセッサ160は、ユーザ仕様を受取り、それぞれの受取られる再多重化予
定のTS(TS1とTS2)の適切なPIDにふさわしい受信PIDハンドラ・
サブルーチンを選択することで、応答する。例えば、保持されるデータが入って
いるトランスポートパケットに標記したPIDごとに、プロセッサ160は、当
該プロセッサが、その出発時間を概算するプロセスを挿入するサブルーチンを選
択する。暗号化されたデータが入っているトランスポートパケットに標記したP
IDごとに、プロセッサ160は、適切な制御ワードを選択して、それを、この
ようなトランスポートパケットと関係のある記述子に挿入するプロセスが入って
いるサブルーチンを選択する。PCRが入っているトランスポートパケットに標
記したPIDごとに、プロセッサ160は、PCRフラグをセットし、またドリ
フトなどを計算するプロセスが入っているサブルーチンを選択することができる
。ユーザ仕様および/またはPSIデータの動的な調整は、以下でさらに詳しく
説明される。The processor 160 receives the user specification and receives a PID handler for the appropriate PID of each received TS to be remultiplexed (TS1 and TS2).
Responds by selecting a subroutine. For example, for each PID marked on a transport packet containing data to be retained, processor 160 selects a subroutine in which the processor inserts a process that estimates its departure time. P marked on the transport packet containing the encrypted data
For each ID, processor 160 selects the subroutine that contains the process of selecting the appropriate control word and inserting it into the descriptor associated with such a transport packet. For each PID marked on the transport packet containing the PCR, the processor 160 can set a PCR flag and select a subroutine containing the process of calculating drift and the like. Dynamic adjustment of user specifications and / or PSI data is described in further detail below.
【0089】 プロセッサ160は、再多重化TSを送る各装置、すなわちTS(TS3)を
出力する第3のアダプタ110に、送信キューを割当てる。さらに、プロセッサ
160は、適切な値とともに、TS(TS1とTS2)を受取る第1と第2のア
ダプタ110の各キャッシュ114にPIDフィルタマップをロードして、再多
重化TS(TS3)に出力される上記のトランスポートパケットを保持し、PS
Iの入っている他のトランスポートパケットを保持し、TS1とTS2のコンテ
ントの記録を取り、さらに、他のトランスポートパケットをそれぞれ捨てる。The processor 160 assigns a transmission queue to each device that sends the remultiplexed TS, that is, the third adapter 110 that outputs the TS (TS3). Further, the processor 160 loads the PID filter map into each cache 114 of the first and second adapters 110 that receives the TS (TS1 and TS2), along with the appropriate values, and outputs the same to the remultiplexed TS (TS3). Holding the transport packet described above,
The other transport packets containing I are held, the contents of TS1 and TS2 are recorded, and the other transport packets are discarded.
【0090】 受信PIDハンドラ・サブルーチンを選択し、送信キューを割当て、適切なP
IDフィルタマップの修正部分をロードすることに加えて、プロセッサ160は
、例示として、再多重化TSを出力する各アダプタ(または、他の装置)用の一
組の送信PIDハンドラ・サブルーチンを選択する。これは、図3に示されてい
る。送信PIDハンドラ・サブルーチンは、PIDと送信TSに基づいて選択さ
れる。上述の通り、識別可能な割込みの受信(例えば、出力TS(例えば、TS
3)を送るアダプタ110のデータリンク制御回路112からの受信)に応答し
て、プロセッサ160は、ステップS4を実行する。ステップS4において、プ
ロセッサ160は、受信キュー(および/または、おそらく、出力用にまだスケ
ジュールされてないトランスポートパケットの記述子が入っている他のキュー)
からの記述子を調べ、割込みアダプタ110から出力されるトランスポートパケ
ットを指す記述子を、j個≧1まで識別する。個数jは、例示として、プログラ
ム可能である場合があり、好都合なことに、特定のアダプタ110がプロセッサ
160に割込む合間に、出力TSを送る特定のアダプタ110から送られるトラ
ンスポートパケットの個数kに等しくセットされている。Select the receive PID handler subroutine, assign a transmit queue, and
In addition to loading the modified portion of the ID filter map, processor 160 illustratively selects a set of transmit PID handler subroutines for each adapter (or other device) that outputs the remultiplexed TS. . This is shown in FIG. The transmit PID handler subroutine is selected based on the PID and the transmit TS. As described above, reception of an identifiable interrupt (eg, output TS (eg, TS
In response to (3) sending from the data link control circuit 112 of the adapter 110), the processor 160 executes step S4. At step S4, the processor 160 proceeds to the receiving queue (and / or possibly another queue containing descriptors of transport packets not yet scheduled for output).
, And j descriptors indicating transport packets output from the interrupt adapter 110 are identified up to j ≧ 1. The number j may be illustratively programmable, and advantageously, the number k of transport packets sent from a particular adapter 110 sending an output TS while the particular adapter 110 interrupts the processor 160. Is set equal to
【0091】 ステップS4を実行するときに、プロセッサ160は、特定の出力TS行きの
トランスポートパケットを指す記述子用の受信キューを1つ1つ調べる。プロセ
ッサ160は、送信PIDハンドラ・サブルーチン404を指すポインタのテー
ブルを調べて、どのトランスポートパケットが出力TS行きであるか決定する。
テーブル402の場合と同様、テーブル404は、各PID 0x0000〜0
x1FFF用で、かつ、それによりインデックスされた1つのエントリを含む。
それぞれのインデックスされたエントリには、TIV0、TIV1,...,T
IV8191を指すポインタ、またはTIV0、TIV1,...,TIV81
91のアドレス、それぞれのPIDに応答して実行されるサブルーチンが入って
いる。送信PIDハンドラ・サブルーチン404を指すポインタのテーブルは、
コントローラ20から受取ったユーザ仕様により、プロセッサ160で公式化さ
れ、しかも、以下で説明される通りに修正される。When executing the step S4, the processor 160 examines one by one the reception queue for the descriptor pointing to the transport packet destined for the specific output TS. Processor 160 examines a table of pointers to transmit PID handler subroutine 404 to determine which transport packets are destined for the output TS.
As in the case of the table 402, the table 404 stores each PID 0x0000-0.
Contains one entry for and indexed by x1FFF.
Each indexed entry has TIV0, TIV1,. . . , T
A pointer to IV8191, or TIV0, TIV1,. . . , TIV81
The subroutine executed in response to the address 91 and each PID is included. A table of pointers to the send PID handler subroutine 404 is:
With the user specifications received from the controller 20, it is formulated by the processor 160 and modified as described below.
【0092】 以下のものは、組合わせて送信PIDハンドラ・サブルーチンにすることので
きる例示プロセスである: (1)なし: プロセッサ160に送信割込みを出した装置の再多重化TS(
または、他のストリーム)に、現在トランスポートパケットを出力しない場合に
は、そのようなトランスポートパケットのPIDは、このプロセスだけが入って
いるサブルーチンにマッピングする。このプロセスにより、プロセッサ160が
、このトランスポートパケットと、このトランスポートパケット用の記述子を単
にスキップするだけである。このように調べられた記述子は、プロセッサ160
に割込んだ特定のアダプタ110から出力されるj個のトランスポートパケット
の1つとしてはカウントされない。 (2)伝送用の順序記述子: プロセッサ160に送信割込みを出した装置の
再多重化TS(または、他のストリーム)に、現在トランスポートパケットを出
力する場合には、そのようなトランスポートパケットのPIDは、このプロセス
(および、おそらく他のプロセス)が入っているサブルーチンにマッピングする
。このプロセスにより、プロセッサ160が、このトランスポートパケットに送
信記述子を割当てる。次に、プロセッサ160は、このトランスポートパケット
を指す受信記述子内の適切な情報を、新たに割当てられた送信記述子にコピーす
る。次に、この割当てられた送信記述子は、伝送用の送信キュー(この割込みを
要請した装置と関係付けられる)内で、正しい順番で順序付けられる。特に、プ
ロセッサ160は、新たに割当てられた記述子が指すパケットの概算出発時間と
、送信キュー内の他の記述子に記録された実際のディスパッチ時間(トランスポ
ートパケットが送られる実際の時間)を比較する。できれば、この記述子は、実
際のディスパッチ時間がこの記述子の概算出発時間よりも遅れると、送信キュー
内で各記述子の前に置かれ、また、実際のディスパッチ時間がこの記述子の概算
出発時間よりも早まると、各記述子の後に置かれる。このような挿入は、実際の
ディスパッチ時間が、挿入予定の記述子の概算出発時間よりも遅れるときの一連
の送信記述子の各送信記述子を、そのキューのそれぞれ順次に次の記述子記憶位
置129にコピーすることで達成される。次に、この割当てられた送信記述子の
データは、この一連の送信記述子をコピーすることで使えるようになった記述子
記憶位置129に蓄積することができる。 (3)実際のディスパッチ時間の決定: プロセッサ160は、この割当てら
れた記述子が指すトランスポートパケットの実際のディスパッチ時間を、トラン
スポートパケットの概算出発時間に基づいて決定することができる。実際のディ
スパッチ時間は、出力再多重化TS(T3)のどのトランスポートパケット・タ
イムスロットに、トランスポートパケット(新たに割当てられ、かつ挿入された
送信記述子が指すもの)を送るべきか決定することでセットされる。すなわち、
この出力再多重化TS(T3)のトランスポートパケット・タイムスロットは、
時間的に前述の概算出発時間にもっとも近いものが選択される。このトランスポ
ートパケットは、アダプタ(1つまたは複数)110(これは、以下で説明され
る通り、相互同期化される)の参照クロックジェネレータ(1つまたは複数)1
13で設定される内部基準時間に対して、その選択されたトランスポートパケッ
ト・タイムスロットの時間に出力されるものと考えられる。それぞれのトランス
ポートパケット・タイムスロットと関係のある時間は、実際のディスパッチ時間
として指定される。次に、実際のディスパッチ時間は、送信記述子のフィールド
129−5に蓄積される。以下に説明されるように、実際のディスパッチ時間は
、実際に、第3のアダプタ110(再多重化TS(TS3)を出力する)のデー
タリンク制御回路112が、出力用の対応するトランスポートパケットを提出す
る概算時間である。トランスポートパケットの実際の出力時間は、プロセッサ1
60にはわからない外部クロックで設定される通り、トランスポートパケット・
タイムスロットの整列により決まる。この整列不良の結果、PCRのジッタを排
除するために、以下に説明されるように、追加的なステップを実行する場合があ
る。 パケットの送り元であるTS(すなわち、TS1またはTS2)のビットレー
トが、出力TS(すなわち、TS3)のビットレートとは異なることを考えてみ
よう。さらに、これらのトランスポートパケットは、予め定めた遅延(受信キュ
ーと送信キューの長さによって決まる)のために、内部でバッファリングされる
。それでも、出力再多重化TS(TS3)の同一トランスポートパケット・タイ
ムスロットでは、異なる受信TSのトランスポートパケット間に競合がないと仮
定すると、すべてのトランスポートパケットは、再多重化ノード100に、ほぼ
同一の待ち時間を招くことになる。この平均待ち時間は同じであるから、これら
のトランスポートパケットにはジッタは導かれない。 次に、2つのトランスポートパケットが、異なるTS(すなわち、TS1とT
S2)から、ほぼ同じ時間に受取られ、また双方のトランスポートパケットが、
再多重化TS(TS3)に出力される事例を考えてみよう。双方のトランスポー
トパケットは、異なる概算出発時間を持つことがあるが、それでも、これらの出
発時間は、出力再多重化TS(TS3)の同一トランスポートパケット・タイム
スロットに一致する(時間的にもっとも近い)。もっとも早い概算出発時間(ま
たは受信時間)を持つトランスポートパケットが、このタイムスロットと、この
タイムスロットの実際のディスパッチ時間に指定される。他のトランスポートパ
ケットは、出力再多重化TS(TS3)の次のトランスポートパケット・タイム
スロットと、このタイムスロットの実際のディスパッチ時間に指定される。次の
タイムスロットに指定されたトランスポートパケットで招かれる待ち時間は、こ
のプログラムの他のトランスポートパケットで招かれる平均待ち時間とは異なる
ことに留意されたい。こうして、プロセッサ160は、例示として、トランスポ
ートパケットのPCRの調整を含め(PCRが、そのトランスポートパケットに
入っている場合)、このトランスポートパケットで招かれる待ち時間を除去する
処置を講じている。 (4)PCRのドリフトと待ち時間の調整: このプロセスは、例示として、
PCRが入っているトランスポートパケットのPIDによりインデックスされた
テーブル404のポインタが指すサブルーチンに入っている。プロセッサ160
は、時間的にトランスポートパケットの概算出発時間にもっとも近い出力再多重
化TS(TS3)のトランスポートパケット・タイムスロットにトランスポート
パケットが指定されない場合(そのプログラムの他のトランスポートパケットに
対して為される通り)で、かつ、それぞれの受信記述子内でPCRフラグがセッ
トされる場合にのみ、PCR待ち時間の調整が必要であると判定する。PCRは
、理想的でないスロットへの指定により生じた時間的変位について補正する。こ
の調整値は、トランスポートパケットの移動に要した理想スロットからのスロッ
ト数に、スロットタイムを掛けた値に等しい。The following is an exemplary process that can be combined into a transmit PID handler subroutine: (1) None: Remultiplexing TS of the device that issued the transmit interrupt to processor 160 (
Or, if no transport packet is currently output to another stream), the PID of such a transport packet maps to a subroutine that contains only this process. This process causes the processor 160 to simply skip the transport packet and the descriptor for the transport packet. The descriptor so examined is passed to the processor 160
Is not counted as one of the j transport packets output from the specific adapter 110 interrupted by. (2) Transmission order descriptor: If the current transport packet is to be output to the remultiplexing TS (or another stream) of the device that has issued the transmission interrupt to the processor 160, such a transport packet is output. Map to the subroutine containing this process (and possibly other processes). This process causes processor 160 to assign a transmit descriptor to this transport packet. Next, processor 160 copies the appropriate information in the receive descriptor pointing to this transport packet to the newly assigned transmit descriptor. The assigned transmit descriptor is then ordered in the correct order in the transmit queue for transmission (associated with the device that requested this interrupt). In particular, processor 160 calculates the approximate calculated departure time of the packet pointed to by the newly allocated descriptor and the actual dispatch time (the actual time at which the transport packet is sent) recorded in the other descriptors in the transmit queue. Compare. Preferably, this descriptor is placed before each descriptor in the transmit queue if the actual dispatch time is later than the approximate dispatch time for this descriptor, and the actual dispatch time is approximated for this descriptor. If it is earlier than time, it is placed after each descriptor. Such an insertion causes each transmission descriptor of the series of transmission descriptors when the actual dispatch time is later than the approximate calculated departure time of the descriptor to be inserted to be sequentially stored in the queue in the next descriptor storage location. 129 is achieved. The data of the assigned transmit descriptor can then be stored in a descriptor storage location 129 made available by copying the series of transmit descriptors. (3) Determining the actual dispatch time: The processor 160 can determine the actual dispatch time of the transport packet indicated by the assigned descriptor based on the approximate calculated transmission time of the transport packet. The actual dispatch time determines in which transport packet timeslot of the output remultiplexing TS (T3) the transport packet (to which the newly allocated and inserted transmit descriptor points) should be sent. Set by the thing. That is,
The transport packet time slot of this output remultiplexing TS (T3) is:
The one that is temporally closest to the above-mentioned approximate calculated departure time is selected. This transport packet is sent to the reference clock generator (s) 1 of adapter (s) 110 (which are mutually synchronized as described below).
It is considered that the data is output at the time of the selected transport packet time slot with respect to the internal reference time set at 13. The time associated with each transport packet time slot is specified as the actual dispatch time. Next, the actual dispatch time is stored in the field 129-5 of the transmission descriptor. As explained below, the actual dispatch time is actually determined by the data link control circuit 112 of the third adapter 110 (which outputs the remultiplexed TS (TS3)) by the corresponding transport packet for output. Is the approximate time to submit. The actual output time of the transport packet depends on the processor 1
As set by an external clock unknown to 60, the transport packet
Determined by time slot alignment. As a result of this misalignment, additional steps may be performed to eliminate PCR jitter, as described below. Consider that the bit rate of the TS from which the packet is sent (ie, TS1 or TS2) is different from the bit rate of the output TS (ie, TS3). Furthermore, these transport packets are buffered internally due to a predetermined delay (depending on the length of the receive queue and the transmit queue). Still, in the same transport packet time slot of the output remultiplexing TS (TS3), assuming that there is no contention between transport packets of different receiving TSs, all transport packets will be This results in almost the same waiting time. Since this average latency is the same, no jitter is introduced into these transport packets. Next, the two transport packets are sent to different TSs (ie, TS1 and T1).
From S2), received at about the same time and both transport packets are:
Consider the case where the data is output to the remultiplexing TS (TS3). Both transport packets may have different approximate calculated departure times, but their departure times still coincide with the same transport packet timeslot of the output remultiplexing TS (TS3) (most time-wise). near). The transport packet with the earliest approximate calculated departure time (or reception time) is designated for this time slot and the actual dispatch time for this time slot. Other transport packets are specified in the next transport packet time slot of the output remultiplexing TS (TS3) and the actual dispatch time of this time slot. Note that the latency introduced by the transport packet specified in the next time slot is different from the average latency invited by other transport packets of this program. Thus, the processor 160 takes action to eliminate the latency introduced by the transport packet, including, by way of example, adjusting the PCR of the transport packet (if the PCR is in the transport packet). . (4) PCR Drift and Latency Adjustment: This process is illustrative,
A subroutine is pointed to by the pointer of the table 404 indexed by the PID of the transport packet containing the PCR. Processor 160
Indicates that the transport packet is not specified in the transport packet time slot of the output remultiplexing TS (TS3) closest to the approximate calculated departure time of the transport packet (with respect to other transport packets of the program). It is determined that the adjustment of the PCR waiting time is necessary only when the PCR flag is set in each reception descriptor. PCR corrects for temporal displacement caused by assignment to non-ideal slots. This adjustment value is equal to a value obtained by multiplying the number of slots from the ideal slot required for moving the transport packet by the slot time.
【0093】 入力および出力のTSが、時間的に厳密に整列しているか、または、PCRが
、非同期通信リンクから受取られる場合を除き、すべてのPCRは、以下に説明
されるように、ドリフトを調整する。前者の場合には、内部クロックのドリフト
は、PCRを出力する時間には影響を及ぼさない。後者の場合には、以下に説明
されるように、別のドリフト調整が使用される。他のあらゆる場合において、受
信PCRを出力する時間は、PCRのプログラム・クロックに対して、トランス
ポートパケットを受信したアダプタ110と、トランスポートパケットを送信す
るアダプタ110の参照クロックジェネレータ113のドリフトから影響を受け
る。すなわち、PCRが入っているトランスポートパケットには、参照クロック
ジェネレータ113から得られた受信タイムスタンプを押す。この受信タイムス
タンプを使用して、概算出発時間と実際のディスパッチ時間を決定する。以下で
詳しく説明されるように、トランスポートパケットは、TS(TS3)を送るア
ダプタ110上の参照クロックジェネレータ113に対して、実際のディスパッ
チ時間にしたがって送られ、また、すべてのアダプタ110のすべての参照クロ
ックジェネレータ113は、同期状態に保たれる。しかしながら、参照クロック
ジェネレータ113は、すべて互いに同期が取られているが、トランスポートパ
ケットと、そのPCRを生成したエンコーダ・システム・タイムクロックに対し
てドリフトを受ける。このドリフトは、各PCRを、再多重化ノード100から
、出力再多重化TS(例えば、TS3)に出力する時間に強い影響を与えかねな
い。Unless the input and output TSs are tightly aligned in time or the PCRs are received from an asynchronous communication link, all PCRs will drift as described below. adjust. In the former case, the drift of the internal clock does not affect the time for outputting the PCR. In the latter case, another drift adjustment is used, as described below. In all other cases, the time to output the received PCR is affected by the drift of the adapter 110 that received the transport packet and the reference clock generator 113 of the adapter 110 that transmits the transport packet, relative to the PCR program clock. Receive. That is, the reception time stamp obtained from the reference clock generator 113 is pressed on the transport packet containing the PCR. The received time stamp is used to determine the approximate calculated emission time and the actual dispatch time. As described in detail below, the transport packets are sent according to the actual dispatch time to the reference clock generator 113 on the adapter 110 sending the TS (TS3), and all the Reference clock generator 113 is kept in a synchronized state. However, the reference clock generators 113 are all synchronized with each other, but are subject to drift with respect to the transport packet and the encoder system time clock that generated the PCR. This drift can strongly affect the time to output each PCR from the remultiplexing node 100 to an output remultiplexing TS (eg, TS3).
【0094】 本発明により、再多重化ノード100は、このようなドリフトを補正する。上
述の通り、各プログラムのPCR用の受信ハンドラ・サブルーチンの一部は、ド
リフトの現在測定を持続させることになっている。各プログラムのエンコーダ・
システム・タイムクロックに対する参照クロックジェネレータ113のドリフト
測定を持続させる。PCRごとに、PCRのプログラム用の現在ドリフト(参照
クロックジェネレータ113と、このプログラムのエンコーダ・システム・タイ
ムクロックとの間)を、PCRから差し引く。According to the present invention, the remultiplexing node 100 corrects for such drift. As described above, part of the receive handler subroutine for PCR in each program is to keep the current measurement of drift. Encoder of each program
The drift measurement of the reference clock generator 113 with respect to the system time clock is maintained. For each PCR, the current drift for the PCR program (between the reference clock generator 113 and the encoder system time clock for this program) is subtracted from the PCR.
【0095】 上述のキュー割当て、PIDハンドラ・サブルーチンの選択、PIDフィルタ
マップの修正を用いて、以下の通りに再多重化を行う。TS1のトランスポート
パケットは、第1のアダプタ110のデータリンク制御回路112で受取られる
。同様に、TS2のトランスポートパケットは、第2のアダプタ110のデータ
リンク制御回路112で受取られる。第1と第2のアダプタ110のそれぞれに
入っているデータリンク制御回路112は、そのキャッシュ114に蓄積された
ローカルPIDフィルタマップを調べて、PIDを有する各トランスポートパケ
ットを選択的に捨てて、このトランスポートパケットを保持しないことを示す。
各データリンク制御回路112は、キャッシュ114から、次の使用されてない
/割当てられてない記述子を取出して、その記述子と関係のあるトランスポート
パケット記憶位置を決定する。(上記および下記の通り、DMA制御回路116
は、データリンク制御回路112の入力ポートに指定された受信キューの一連の
1つまたは複数の使用されてなく割当てられてない次の記述子、および、それら
の記述子が指すトランスポートパケット記憶位置の制御を絶えず得ている。)次
の使用されてなく割当てられてない記述子は、テール・ポインタ129−4(*
「124−4」の誤り)が指す記述子記憶位置129に蓄積された記述子の後に
くる。このテール・ポインタ129−4(*「124−4」の誤り)は、データ
リンク制御回路112に使える。(上述の通り、テール・ポインタ129−4(
*「124−4」の誤り)が、リング下端アドレス129−2(*「124−2
」の誤り)に等しい場合には、テール・ポインタ129−4(*「124−4」
の誤り)が指す記述子は、その記述子リング終了のコマンドビットが、プロセッ
サ160により、フィールド129−7内でセットされる。このことから、デー
タリンク制御回路112は、リング上端アドレス129−1(*「124−1」
の誤り)の記述子記憶位置129内に蓄積される記述子を、ラップアラウンド・
アドレッシング技法を用いて割当てる。)このデータリンク制御回路112は、
トランスポートパケットの第1のバイトを受取る時間に対応した参照クロックジ
ェネレータ113の時間を得て、この値を、その割当てられた記述子のフィール
ド129−5に、受信タイムスタンプとして蓄積する。このデータリンク制御回
路112は、この受信トランスポートパケットのバイト数をフィールド129−
8に蓄積する。さらに、トランスポートパケットの受取りの際に何かエラー(例
えば、TS1のデータリンク搬送波の喪失、短いパケット、長いパケット、エラ
ーパケットなど)が発生した場合には、データリンク制御回路112は、129
−6の適切な例外ビットをセットすることで、このようなエラーを示す。次に、
データリンク制御回路112は、ステータス・フィールド129−7内で1ビッ
トをセットして、記述子129が処理または例外処理されたことを示し、フィー
ルド129−4内のポインタが指すキャッシュ114のトランスポートパケット
記憶位置にトランスポートパケットを蓄積する。(長いパケットの場合には、一
連の2つ以上の使用されてなく割当てられてない次の記述子が、この受信トラン
スポートパケットに割当てられ、また余分のデータが、このような記述子と関係
のあるパケット記憶位置に蓄積される場合があることに留意されたい。適切な集
合/分散ビットを、最初の記述子の属性フィールド129−1内でセットして、
このパケットが、この最初の記述子と関係のある単一のトランスポートパケット
記憶空間内よりも多くのデータを有することを示す。対応するビットも、最後の
記述子の属性フィールド129−1内でセットして、そのビットが、複数記述子
転送の最後の記述子であることを示す。アダプタが、TS以外のストリームから
パケットを受取るときに、一般に、このような長いパケットが発生する。)Using the above-described queue assignment, selection of the PID handler / subroutine, and modification of the PID filter map, remultiplexing is performed as follows. The transport packet of TS1 is received by the data link control circuit 112 of the first adapter 110. Similarly, the transport packet of TS2 is received by the data link control circuit 112 of the second adapter 110. The data link control circuit 112 in each of the first and second adapters 110 examines the local PID filter map stored in its cache 114 and selectively discards each transport packet having a PID, Indicates that this transport packet is not retained.
Each data link control circuit 112 retrieves the next unused / unassigned descriptor from cache 114 and determines the transport packet storage location associated with that descriptor. (As described above and below, the DMA control circuit 116
Is a set of one or more unused and unassigned next descriptors of the receive queue designated at the input port of the data link control circuit 112, and the transport packet storage locations to which those descriptors point. You are constantly in control. ) The next unused and unassigned descriptor is the tail pointer 129-4 (*
(Error of "124-4") comes after the descriptor stored in the descriptor storage location 129. The tail pointer 129-4 (* error of "124-4") can be used for the data link control circuit 112. (As described above, the tail pointer 129-4 (
* The error of "124-4" is the ring lower end address 129-2 (* "124-2").
), The tail pointer 129-4 (* "124-4")
), The command bit for the end of the descriptor ring is set by processor 160 in field 129-7. From this, the data link control circuit 112 determines that the ring upper end address 129-1 (* “124-1”
The descriptor stored in the descriptor storage location 129 is
Assigned using addressing techniques. This data link control circuit 112
Obtain the time of the reference clock generator 113 corresponding to the time of receiving the first byte of the transport packet, and store this value as the reception time stamp in the field 129-5 of its assigned descriptor. The data link control circuit 112 determines the number of bytes of the received transport packet in the field 129-
8 is stored. In addition, if any errors (eg, loss of the data link carrier of TS1, short packets, long packets, error packets, etc.) occur during the reception of the transport packet, the data link control circuit 112 may transmit 129
Setting the appropriate exception bit of -6 indicates such an error. next,
The data link control circuit 112 sets one bit in the status field 129-7 to indicate that the descriptor 129 has been processed or exceptionally processed, and the transport in the cache 114 pointed to by the pointer in the field 129-4. The transport packet is stored in the packet storage location. (In the case of long packets, a series of two or more unused and unassigned next descriptors is assigned to this received transport packet, and extra data is associated with such descriptors. Note that the appropriate set / dispersion bits may be set in the attribute field 129-1 of the first descriptor,
Indicates that this packet has more data than in the single transport packet storage space associated with this first descriptor. The corresponding bit is also set in the last descriptor attribute field 129-1 to indicate that the bit is the last descriptor of a multiple descriptor transfer. Such long packets typically occur when the adapter receives a packet from a stream other than the TS. )
【0096】 DMA制御回路116は、トランスポートパケットを、ホストメモリ120内
のトランスポートパケットプール122の対応するトランスポートパケット記憶
位置に書込む。さらにDMA制御回路116は、書込まれたトランスポートパケ
ットを指す記述子のデータを、それぞれのアダプタ110に指定された受信キュ
ーのそれぞれの記述子記憶位置129にも書込む。DMA制御回路116は、フ
ィールド129−7内の処理完了ステータスビットをセットした記述子と、それ
らの記述子が指すトランスポートパケット記憶位置を決定することで、どのトラ
ンスポートパケットをホストメモリ120に書込むべきか特定できることに留意
されたい。DMA制御回路116は、記述子とトランスポートパケットがそれぞ
れ完了すると、それらのデータを1つ1つ書込めることに留意されたい。別法と
して、DMA制御回路116により、或る限界数量のトランスポートパケットと
記述子が蓄積できる。次に、DMA制御回路116は、一連のi個≧1の複数の
完了した記述子とトランスポートパケットのデータを書込む。The DMA control circuit 116 writes the transport packet to a corresponding transport packet storage location of the transport packet pool 122 in the host memory 120. Further, the DMA control circuit 116 also writes the descriptor data indicating the written transport packet to each descriptor storage location 129 of the reception queue designated for each adapter 110. The DMA control circuit 116 determines which descriptor sets the processing completion status bit in the field 129-7 and the storage location of the transport packet indicated by the descriptor, and writes which transport packet to the host memory 120. Note that it is possible to specify whether it should be included. Note that the DMA control circuit 116 can write the data one by one when the descriptor and the transport packet are completed, respectively. Alternatively, the DMA control circuit 116 can store a limited number of transport packets and descriptors. Next, the DMA control circuit 116 writes a series of i ≧ 1 plural completed descriptors and data of the transport packet.
【0097】 一実施形態において、スクランブラ/デスクランブラ115は、アダプタ11
0上に配置される。このような場合、DMA制御回路116がトランスポートパ
ケットのデータをホストメモリ120に書込む前に、スクランブラ/デスクラン
ブラ115は、暗号解読を実行する必要のある各トランスポートパケットを暗号
解読する。これは、以下でさらに詳しく説明される。In one embodiment, the scrambler / descrambler 115
0. In such a case, before the DMA control circuit 116 writes the data of the transport packet into the host memory 120, the scrambler / descrambler 115 decrypts each transport packet that needs to be decrypted. This is explained in more detail below.
【0098】 DMA制御回路116が記述子のデータとトランスポートパケットをホストメ
モリ130(*「120」の誤り)に書込むときには、DMA制御回路116は
、プロセッサ160に割込む。このような割込みは、データがホストメモリ13
0(*「120」の誤り)に書込まれるi個≧1の記述子ごとに、DMA制御回
路116で起こされる。このような割込みにより、プロセッサ160は、PID
にも入力TSにも固有であるトランスポートパケットごとに、受信PIDハンド
ラ・サブルーチンの1つを実行する。上述の通り、受信PIDハンドラ・サブル
ーチンは、テーブル402内のポインタを適宜、変更することで選択されて、と
りわけプロセッサ160が、再多重化TSに出力されないトランスポートパケッ
トを捨て、概算出発時間を、出力予定のトランスポートパケットを指す記述子に
書込み、さらに、PCRが入っているトランスポートパケットを指す記述子内の
PCRフラグビットをセットするようにしている。さらに、この選択された受信
PIDハンドラ・サブルーチンにより、好ましくは、プロセッサ160は、絶え
ずPSIテーブルを収集して更新し、PIDフィルタマップを調整し、さらに、
必要に応じて、追加の受信PIDハンドラ・サブルーチンを選択して、或るユー
ザ仕様を実施する。例えば、ユーザ仕様は、特定のプログラム番号を、絶えず再
多重化TS(TS3)に出力するよう指定できる。とはいえ、このプログラムを
構成するESは、とりわけイベント境界に達するために変更を受ける。好ましく
は、プロセッサ160は、PATおよびPMTの変更を監視することで、このよ
うなES構造の変更を検出し、また、必要に応じて受信PIDハンドラ・サブル
ーチンを選択して、その選択されたプログラムの構造が折々、どうあろうと、そ
のプログラムのESを、再多重化TS(TS3)に絶えず出力させる。When the DMA control circuit 116 writes the descriptor data and the transport packet into the host memory 130 (* error of “120”), the DMA control circuit 116 interrupts the processor 160. Such an interruption occurs when data is stored in the host memory 13.
It is woken up by the DMA control circuit 116 for every i ≧ 1 descriptor written to 0 (* error of “120”). Due to such an interrupt, the processor 160
One of the receive PID handler subroutines is executed for each transport packet that is unique to both the input TS and the input TS. As described above, the receive PID handler subroutine is selected by appropriately changing the pointers in the table 402 so that, among other things, the processor 160 discards transport packets that are not output to the remultiplexed TS and reduces the approximate calculated departure time. A descriptor indicating the transport packet to be output is written, and the PCR flag bit in the descriptor indicating the transport packet containing the PCR is set. Further, the selected receive PID handler subroutine preferably causes processor 160 to constantly collect and update PSI tables, adjust the PID filter map, and
If necessary, select additional receive PID handler subroutines to implement certain user specifications. For example, a user specification may specify that a particular program number be constantly output to a remultiplexed TS (TS3). Nevertheless, the ESs that make up this program are subject to change, especially to reach event boundaries. Preferably, processor 160 monitors for changes in the PAT and PMT to detect such changes in the ES structure and, if necessary, selects a receive PID handler subroutine to select the selected program. Regardless of the structure of the program, the ES of the program is constantly output to the remultiplexing TS (TS3).
【0099】 同時期に、受信トランスポートパケットと関係のある上記の機能を行っている
ときに、第3のアダプタ110上のDMA制御回路116とデータリンク制御回
路112はまた、トランスポートパケットをTS3に送ることと関係のあるいく
つかの機能も実行する。この第3のアダプタ110のデータリンク制御回路11
2が、k個≧1のトランスポートパケットを出力するたびに、データリンク制御
回路112は、送信割込みを起こす。例示として、kは、プロセッサ160で選
択される。この送信割込みがプロセッサ160で受取られ、プロセッサ160は
、出力再多重化TS(TS3)にふさわしい送信PIDハンドラ・サブルーチン
を実行する。特に、プロセッサ160は、TS3に出力されるトランスポートパ
ケットを指す記述子が入っている各キューのヘッドの記述子を調べる。上述の通
り、 2つの受信キューには、第1のアダプタ110(TS1を受取る)と関係 のある1つの受信キューと、第2のアダプタ110(TS2を受取る)と関係の
ある1つの受信キューを含め、TS3に出力されるトランスポートパケットを指
す記述子が入っている。下記の通り、プロセッサ160は、 TS3に出力され るトランスポートパケットを指す記述子が入っている追加キューを割当てる場合
もある。プロセッサ160は、TS3に出力される次のj個のトランスポートパ
ケットを指す記述子を特定する。これは、第3のアダプタ110と関係のある組
で、かつ受信キューのヘッド内のトランスポートパケットのPIDでインデック
スされた組の送信PIDハンドラ・サブルーチンを実行することで、達成される
。上述の通り、プロセッサ160で調べられるキュー内の記述子に対応したトラ
ンスポートパケットが、第3のアダプタ110(この割込みを起こした)からは
出力されない場合には、このトランスポートパケットのPIDは、何もしない第
3のアダプタ110用の送信PIDハンドラ・サブルーチンをインデックスする
。プロセッサ160で調べられるキュー内の記述子に対応したトランスポートパ
ケットが、第3のアダプタ110(この割込みを起こした)から出力される場合
には、このトランスポートパケットのPIDは、1ポインタを送信PIDハンド
ラ・サブルーチンにインデックスして、その送信PIDハンドラ・サブルーチン
に、以下の作業を行わせる: (1)このトランスポートパケットに送信記述子
を割当てる、(2)第3のアダプタ110と関係のある送信キュー内の送信記述
子を、適正な送信順に順序付ける、(3)その割当てられた記述子とトランスポ
ートパケットに、実際のディスパッチ時間を指定する、(4)必要な場合には、
ドリフトと待ち時間について、トランスポートパケットに、おおまかなPCR補
正を行う。例示として、プロセッサ160は、TS3に、または第3のアダプタ
110から出力されるトランスポートパケットを指すj個の記述子が識別される
まで、(受信)キュー内の記述子を調べる。これらの記述子は、ヘッド124−
3からテール124−4まで順番に調べられる。候補記述子を有する複数のキュ
ーが検査に使える場合には、プロセッサ160は、概算出発時間の順に、または
、それらの記述子が指すトランスポートパケットのコンテントを適宜、考慮に入
れる何か他の順序で(以下に説明される通り)、ラウンドロビン方式にて、これ
らのキューを調べる場合がある。At the same time, while performing the above functions related to the received transport packet, the DMA control circuit 116 and the data link control circuit 112 on the third adapter 110 also transmit the transport packet to the TS3. It also performs some functions related to sending to The data link control circuit 11 of the third adapter 110
Each time 2 outputs k ≧ 1 transport packets, the data link control circuit 112 causes a transmission interrupt. Illustratively, k is selected by processor 160. This transmit interrupt is received by processor 160, which executes the transmit PID handler subroutine appropriate for the output remultiplexing TS (TS3). In particular, processor 160 examines the descriptor of the head of each queue that contains a descriptor pointing to the transport packet output to TS3. As described above, the two receive queues include one receive queue related to the first adapter 110 (for receiving TS1) and one receive queue related to the second adapter 110 (for receiving TS2). And a descriptor indicating a transport packet output to TS3. As described below, the processor 160 may allocate an additional queue containing descriptors pointing to the transport packets output to TS3. Processor 160 identifies a descriptor pointing to the next j transport packets to be output to TS3. This is accomplished by executing a transmit PID handler subroutine of the set associated with the third adapter 110 and indexed by the PID of the transport packet in the head of the receive queue. As described above, if the transport packet corresponding to the descriptor in the queue examined by the processor 160 is not output from the third adapter 110 (which caused this interrupt), the PID of the transport packet is: Index the transmit PID handler subroutine for the third adapter 110 that does nothing. If the transport packet corresponding to the descriptor in the queue examined by the processor 160 is output from the third adapter 110 (which caused the interrupt), the PID of the transport packet transmits 1 pointer. Index the PID handler subroutine and have its transmit PID handler subroutine perform the following tasks: (1) assign a transmit descriptor to this transport packet; (2) associate with the third adapter 110 Order the transmit descriptors in the transmit queue in the proper transmit order, (3) specify the actual dispatch time for the assigned descriptors and transport packets, (4) if necessary,
A rough PCR correction is performed on the transport packet for the drift and the waiting time. By way of example, the processor 160 looks up the descriptors in the (receive) queue until j descriptors are identified that point to transport packets coming out of the TS3 or from the third adapter 110. These descriptors are
3 to tail 124-4 are examined in order. If multiple queues with candidate descriptors are available for inspection, the processor 160 may order the approximate calculated departure times or any other order that takes into account the contents of the transport packets pointed to by those descriptors as appropriate. (As described below), these queues may be examined in a round-robin fashion.
【0100】 DMA制御回路116は、TS3または第3のアダプタ110と関係のあるキ
ューの一連のj個≧1の記述子のデータを、ホストメモリ120から取出す。こ
れらの記述子は、ヘッドポインタ124−4からテールポインタ124−4への
順序で、キューの記述子記憶位置129から取出される。さらに、DMA制御回
路116は、そのような取出された記述子がそれぞれ指すプール122のトラン
スポートパケット記憶位置のトランスポートパケットも、ホストメモリ120か
ら取出す。DMA制御回路116は、そのような取出された記述子とトランスポ
ートパケットをキャッシュ114に蓄積する。The DMA control circuit 116 fetches, from the host memory 120, data of a series of j ≧ 1 descriptors of the queue related to the TS3 or the third adapter 110. These descriptors are retrieved from the queue's descriptor storage location 129, in order from head pointer 124-4 to tail pointer 124-4. Further, the DMA control circuit 116 also fetches from the host memory 120 the transport packets at the transport packet storage locations of the pool 122 to which each such fetched descriptor points. The DMA control circuit 116 stores such retrieved descriptors and transport packets in the cache 114.
【0101】 データリンク制御回路112は、送信キュー内の各記述子(ヘッドポインタ1
24−3から順番に)と、その記述子が指すトランスポートパケット記憶位置内
のトランスポートパケットを、キャッシュ114から順次に取出す。第3のアダ
プタ110の参照クロックジェネレータ113の時間が、その検索された記述子
のディスパッチ時間フィールド129−5に示される時間に等しいときには、デ
ータリンク制御回路112は、記述子(ヘッドポインタ124−3が指す記憶位
置内)が指すトランスポートパケットをTS3に送る。各トランスポートパケッ
トは、TS3のトランスポートパケット・タイムスロット境界と整列した状態で
送らなければならないから、このディスパッチ時間は、概算送信時間にすぎない
。このような境界は、プロセッサ160にはわからない外部クロックを基準とし
てセットされる。さらに、同じ理由で、各トランスポートパケットのPCRに、
わずかにジッタがありそうなことにも留意されたい。それゆえ、さらにデータリ
ンク制御回路112は、PCRが入っているトランスポートパケットの厳密な送
信時間により、PCRを最終的に補正する。具体的に言えば、この厳密な送信時
間は、この概算値からのトランスポートパケットの時間的隔たりよりも短い。デ
ータリンク制御回路112は、前にTS3のタイムスロット境界にロックされた
トランスポート・タイムスロット境界クロックを使用して、その概算PCRを最
終的に調整する(すなわち、ディスパッチ時間と実際の伝送時間との差を、トラ
ンスポートパケットのPCRに加えることで)。データリンク制御回路112は
、この記述子のPCRフラグビットを使用すれば、PCRがトランスポートパケ
ット内にあるかどうか(したがって、PCRを補正すべきかどうか)判定できる
ことに留意されたい。The data link control circuit 112 checks each descriptor (head pointer 1) in the transmission queue.
24-3), and the transport packets in the transport packet storage location indicated by the descriptor are sequentially fetched from the cache 114. When the time of the reference clock generator 113 of the third adapter 110 is equal to the time indicated in the dispatch time field 129-5 of the retrieved descriptor, the data link control circuit 112 transmits the descriptor (head pointer 124-3). The transport packet pointed to by (in the storage location pointed to by) is sent to TS3. This dispatch time is only an approximate transmission time since each transport packet must be sent aligned with the transport packet time slot boundary of TS3. Such boundaries are set with reference to an external clock unknown to processor 160. Furthermore, for the same reason, in the PCR of each transport packet,
Note also that there is likely to be some jitter. Therefore, the data link control circuit 112 finally corrects the PCR based on the exact transmission time of the transport packet containing the PCR. Specifically, this exact transmission time is less than the time lag of the transport packet from this estimate. The data link control circuit 112 uses the transport time slot boundary clock previously locked to the TS3 time slot boundary to finalize its approximate PCR (ie, dispatch time and actual transmission time). By adding to the PCR of the transport packet). Note that the data link control circuit 112 can use the PCR flag bit in this descriptor to determine whether the PCR is in the transport packet (and therefore whether the PCR should be corrected).
【0102】 トランスポートパケットを送った後で、データリンク制御回路112は、この
送られたトランスポートパケットを指す記述子のフィールド129−7内の適切
なステータス情報をセットし、その記述子の割当てを解除する。次に、DMA制
御回路116は、このステータス情報を、送信キューの適切な記述子記憶位置に
書込む。After sending the transport packet, data link control circuit 112 sets the appropriate status information in field 129-7 of the descriptor pointing to the sent transport packet, and assigns the descriptor. Cancel. Next, DMA control circuit 116 writes this status information to the appropriate descriptor storage location in the transmit queue.
【0103】 別の操作方法では、操作者は、再多重化される入力TSのコンテントを熟知し
ている。この場合、操作者は、単にユーザ仕様を作成して、そのユーザ仕様をコ
ントローラ20から再多重化ノード100(あるいは、複数のノードが、ネット
ワーク分散形の再多重化装置100において協働するときには、複数の再多重化
ノード100)に送るだけである。それでも、好ましくは、入力される再多重化
予定のTSのコンテントに関する異なる種類の情報(例えば、PAT、PMTな
ど)を絶えず収集する。このことから、例えば、操作者にコンテントを即座に報
告する(プロセッサ160とコントローラ20を通じて)ことができ、それによ
り、修正ユーザ仕様を作成することができ、また再多重化予定のTSの入力も、
再多重化されるTSの出力も、さらに上述の再多重化装置100の再多重化処理
も停止させずに、この修正済みユーザ仕様により再多重化を動的に調整すること
ができる。In another method of operation, the operator is familiar with the content of the input TS to be remultiplexed. In this case, the operator simply creates a user specification and transmits the user specification from the controller 20 to the remultiplexing node 100 (or when a plurality of nodes cooperate in the network-distributed remultiplexing apparatus 100, It only sends to multiple remultiplexing nodes 100). Nevertheless, preferably, different types of information (eg, PAT, PMT, etc.) regarding the content of the incoming TS to be remultiplexed are constantly collected. From this, for example, the content can be immediately reported to the operator (through the processor 160 and the controller 20), thereby creating a modified user specification and also inputting the TS to be remultiplexed. ,
The re-multiplexing can be dynamically adjusted according to the modified user specification without stopping the output of the TS to be re-multiplexed and the re-multiplexing process of the re-multiplexing apparatus 100 described above.
【0104】 上記の基本再多重化機能に加えて、再多重化ノード100は、さらに進歩した
機能を実行できる。これらの機能は、以下で個々に説明される。In addition to the basic remultiplexing functions described above, remultiplexing node 100 can perform more advanced functions. These functions are individually described below.
【0105】 動的な再多重化とプログラム固有情報の挿入 上述の通り、操作者は、コントローラ20を使用すれば、保持または廃棄すべ
きプログラムとES、暗号化または暗号解読すべき(あるいは、双方とも行うべ
き)プログラムまたはES、PIDの再マッピングなどを指定するユーザ仕様を
作成することができる。さらに、プロセッサ160は、好ましくは、コンテント
情報(例えば、PAT、PMT、CAT、NIT、ECMのテーブルのデータな
ど)を絶えず収集する。これにより、ユーザ仕様を単に動的に、リアルタイムで
、または「オンザフライ」式で変更でき、また新規ユーザ仕様により、再多重化
を一様に変更できる。具体的に言えば、操作者は、ユーザ仕様を変更して、再多
重化装置30が、新規ユーザ仕様により、一様に再多重化に切替わるようにする
ことができる。それでも、再多重化装置30は、各出力再多重化TSが、いつも
、途切れない一連のトランスポートパケットが入っている連続ビットストリーム
であることを保証している。したがって、出力再多重化TS(1つまたは複数)
のコンテントは、出力再多重化TS(1つまたは複数)を中断させずに(すなわ
ち、一連の出力トランスポートパケットに途切れがないし、また出力ビットスト
リームが停止しない)、変更される。Dynamic Remultiplexing and Insertion of Program-Specific Information As described above, by using the controller 20, the operator can use the controller 20 to store and discard programs and ESs, encrypt or decrypt (or both). A user specification can be created that specifies a program or ES, PID remapping, etc. Further, the processor 160 preferably continuously collects content information (eg, PAT, PMT, CAT, NIT, ECM table data, etc.). This allows user specifications to be changed simply dynamically, in real time, or in an "on-the-fly" manner, and re-multiplexing can be uniformly changed by new user specifications. Specifically, the operator can change the user specifications so that the remultiplexing device 30 can uniformly switch to the remultiplexing according to the new user specifications. Nevertheless, the remultiplexing device 30 ensures that each output remultiplexing TS is always a continuous bit stream containing a continuous stream of transport packets. Therefore, the output remultiplexing TS (s)
Is changed without interrupting the output remultiplexing TS (s) (ie, the sequence of output transport packets is uninterrupted and the output bitstream is not stopped).
【0106】 上記の一様な変更は、入出力アダプタ110またはインタフェース140と1
50、および、デスクランブラ/スクランブラ170などの他の回路の間で、ト
ランスポートパケットの流れを制御するプログラマブル・プロセッサ160の使
用により、影響を受ける場合がある。別の組のESを保持するか廃棄するかの決
定は、各PID用にプロセッサ160が選択した適切なPIDフィルタマップと
PIDハンドラ・サブルーチンを単にプロセッサ160で調整させることだけで
、影響を受けかねないことを考えてみよう。いくつかのESまたはプログラムを
暗号解読すべきか、暗号化すべきかどうかは、そのようなESまたはプログラム
に指定されたPIDに応答して実行されるPIDハンドラ・サブルーチンをプロ
セッサ160で変更させて、適切な暗号化処理または暗号解読処理(上記および
下記)を含めることで、決定できる。出力再多重化TSの別の組合わせを出力す
る出力ポートの別の選択は、プロセッサ160を使って、新規出力ポートに送信
記述子キューを割当てさせ、必要でない出力ポート用の送信記述子キューの割当
てを解除をさせ、各新規出力ポート用の送信PIDハンドラ・サブルーチンを指
すポインタのテーブル404を生成させ、割当てを解除された各送信キュー用の
送信PIDハンドラ・サブルーチンを指すポインタの各テーブル404を捨てさ
せることで、達成できる。同様に、入力ポートの別の選択は、プレセッサ160
を使って、受信キューの割当てと割当て解除を行わせ、それぞれ、そのような割
当てと割当て解除を行った受信キュー用の受信PIDハンドラを指すポインタの
テーブル402を生成させ、捨てさせることで、達成される。The uniform changes described above are based on the I / O adapter 110 or interfaces 140 and 1
50 and other circuits such as descrambler / scrambler 170 may be affected by the use of programmable processor 160 to control the flow of transport packets. The decision to keep or discard another set of ESs can be affected simply by having processor 160 adjust the appropriate PID filter map and PID handler subroutine selected by processor 160 for each PID. Think about what's not. Whether some ESs or programs should be decrypted or encrypted can be changed by the processor 160 by modifying the PID handler subroutine executed in response to the PID specified for such ESs or programs. It can be determined by including appropriate encryption processing or decryption processing (above and below). Another selection of output ports to output another combination of output remultiplexing TSs is to use processor 160 to assign a new output port to a transmit descriptor queue and to select a transmit descriptor queue for output ports that are not needed. Deallocate and generate a table 404 of pointers pointing to the transmit PID handler subroutine for each new output port, and map each table 404 of pointers pointing to the transmit PID handler subroutine for each deallocated transmit queue. It can be achieved by throwing it away. Similarly, another selection of input ports is provided by the processor 160
To allocate and deallocate receive queues, and generate and discard a table 402 of pointers to receive PID handlers for such allocated and deallocated receive queues, respectively. Is done.
【0107】 出力に適正なトランスポートパケットを選択することに加えて、再多重化ノー
ド100は、例示として、各出力再多重化TSに適正なPSIも提供する。これ
は、以下の通りに達成される。コントローラ20(図2)は、出力TS用のユー
ザ仕様を作成する。再多重化ノード100が、2つのTS(すなわち、TS1と
TS2)を再多重化して、第3のTS(すなわち、TS3)を生成する上記の例
を考えてみよう。例示として、表1は、TS1とTS2のそれぞれのコンテント
を述べている。In addition to selecting the appropriate transport packet for output, the remultiplexing node 100 also provides, by way of example, the appropriate PSI for each output remultiplexed TS. This is achieved as follows. The controller 20 (FIG. 2) creates a user specification for the output TS. Consider the example above where the remultiplexing node 100 remultiplexes two TSs (ie, TS1 and TS2) to generate a third TS (ie, TS3). By way of example, Table 1 describes the respective contents of TS1 and TS2.
【表1】 好ましくは、コントローラ20は、プロセッサ160をプログラムして、上述
の受信PIDハンドラ・サブルーチンの収集プロセスを用いて、表1に示される
情報を抽出する。[Table 1] Preferably, the controller 20 programs the processor 160 to extract the information shown in Table 1 using the collection process of the receive PID handler subroutine described above.
【0108】 ユーザ仕様は、A、B、F、Gのプログラムだけを保持して、それらを出力再
多重化TS(TS3)に出力するように指定するものと仮定する。ユーザは、例
えばキーボード/マウス27(図1)を用いて、コントローラ20(図1)にユ
ーザ仕様を指示する。コントローラ20は、ユーザ仕様が有効であるかどうか判
定する。特に、コントローラ20は、各出力再多重化TS(例えば、TS3)が
、指定したプログラムA、B、F、Gと関連PSI(すなわち、プログラム定義
a、b、f、gと、以下で説明される新規の代用PAT3)のすべてを出力する
のに充分な帯域幅を持っている。このようなビットレート情報は、まだ知られて
いなければ、プロセッサ160から得ることができる。例えば、プロセッサは、
PCRを載せた各プログラムの各トランスポートパケットに指定された受信タイ
ムスタンプから、各プログラムのビットレート(または、トランスポートパケッ
トのレート)を決定するPIDハンドラ・サブルーチンを実行できる。上述の通
り、このような情報は、PCR調整を実行する目的で、とにかくプロセッサ16
0を使って得られる。ユーザ仕様が有効でなければ、コントローラ20は、その
ユーザ仕様をダウンロードしない。ユーザ仕様が有効であれば、コントローラ2
0は、そのユーザ仕様をプロセッサ160にダウンロードする。It is assumed that the user specification retains only the programs A, B, F, and G and specifies that they be output to the output remultiplexing TS (TS3). The user uses the keyboard / mouse 27 (FIG. 1) to instruct the controller 20 (FIG. 1) with user specifications. The controller 20 determines whether the user specification is valid. In particular, the controller 20 determines that each output re-multiplexed TS (eg, TS3) has a designated program A, B, F, G and associated PSI (ie, program definitions a, b, f, g) as described below. Have sufficient bandwidth to output all of the new substitute PATs 3). Such bit rate information may be obtained from processor 160, if not already known. For example, the processor
A PID handler subroutine for determining the bit rate (or transport packet rate) of each program can be executed from the reception time stamp specified in each transport packet of each program carrying PCR. As mentioned above, such information is used by the processor 16 to perform PCR adjustments anyway.
Obtained using 0. If the user specification is not valid, the controller 20 does not download the user specification. If the user specification is valid, the controller 2
0 downloads the user specification to the processor 160.
【0109】 ユーザ仕様は、TS3の出力帯域幅で満たされるものと仮定する。まだ収集さ
れてなければ、プロセッサ160は、入力TS(TS1とTS2)のPATとP
MTを収集する。PAT1とPAT2内の情報に基づいて、プロセッサ160は
、プログラムA、B、F、Gと関係のあるプログラム定義a、b、f、gのPI
Dを示すPAT1とPAT2のエントリだけを含む代用PAT3を構築する。ま
た、これは、PAT1とPAT2のPIDにふさわしいPIDハンドラ・サブル
ーチンを用いて達成される場合があり、好ましくは、絶えず実行して、それらの
プログラムのいかなる変更も、PAT1とPAT2に反映されるように、代用P
AT3に確実に織込めるようにしている。プロセッサ160は、この新規代用P
AT3が入っている一連のトランスポートパケットを生成し、それらのトランス
ポートパケットをパケットバッファ122に蓄積する。プロセッサ160はまた
、PAT3を載せたトランスポートパケットを指す記述子のPATキューも生成
する。このキューは、好ましくは、リング124として実施される。PAT3ト
ランスポートパケット用のPAT記述子キューは、好都合なことに、代用PAT
情報だけを蓄積する専用キューである。さらに、プロセッサ160は、概算出発
時間を生成し、それらの概算出発時間を、PAT3トランスポートパケットを指
すPATキューの記述子に蓄積する。It is assumed that the user specification is satisfied with the output bandwidth of TS3. If not already collected, the processor 160 determines the PAT and P of the input TS (TS1 and TS2).
Collect MT. Based on the information in PAT1 and PAT2, processor 160 determines the PI of program definitions a, b, f, and g related to programs A, B, F, and G.
Construct a surrogate PAT3 that includes only PAT1 and PAT2 entries indicating D. This may also be accomplished using a PID handler subroutine appropriate for the PIDs of PAT1 and PAT2, preferably running constantly so that any changes in those programs are reflected in PAT1 and PAT2. , Substitute P
We make sure that we can weave it into AT3. The processor 160 uses this new substitute P
A series of transport packets containing the AT3 are generated, and the transport packets are stored in the packet buffer 122. Processor 160 also generates a PAT queue of descriptors pointing to transport packets carrying PAT3. This queue is preferably implemented as a ring 124. The PAT descriptor queue for the PAT3 transport packet advantageously has a substitute PAT
This is a dedicated queue that stores only information. In addition, processor 160 generates approximated firing times and stores the estimated firing times in a PAT queue descriptor pointing to the PAT3 transport packet.
【0110】 ここで、プロセッサ160は、送信割込みに応答して、受信キューの任意のも
のと同じやり方で、PAT3記述子キューを使うことができる。すなわち、デー
タリンク制御回路112がk個≧1のパケットを送って、プロセッサ160に割
込むときには、プロセッサ160は、受信キューだけでなく、PAT3キューか
らも、記述子を抽出する。送信キュー内の送信記述子がまだ割当てられていない
、出力予定のトランスポートパケットを指す記述子が入っているすべてのキュー
は、まとめて、ここでは、「接続キュー」と呼ばれる。Here, the processor 160 can use the PAT3 descriptor queue in the same manner as any of the receive queues in response to a transmit interrupt. That is, when the data link control circuit 112 transmits k packets ≧ 1 and interrupts the processor 160, the processor 160 extracts the descriptor not only from the reception queue but also from the PAT3 queue. All queues containing descriptors pointing to transport packets to be output, for which no transmit descriptors in the transmit queue have yet been assigned, are collectively referred to herein as "connection queues."
【0111】 次に、プロセッサ160は、適切なフィルタマップを構築して、それぞれ、第
1のフィルタマップを、TS1を受取る第1のアダプタ110に、第2のフィル
タマップを、TS2を受取る第2のアダプタ110に転送する。例えば、第1の
フィルタマップは、PID、すなわちPID(VA)、PID(AA)、PID
(DA)、PID(a)、PID(VB)、PID(AB)、PID(b)(お
よび、おそらく、TS1内のPSIに対応する他のPID)を持つトランスポー
トパケットを抽出し、保持することを示すことができる。同様に、第2のフィル
タマップは、PID、すなわちPID(VF)、PID(AF)、PID(DF
)、PID(f)、PID(VG)、PID(A1G)、PID(A2G)、P
ID(DG)、PID(ECMG)、PID(g)(および、おそらく、TS2
内のPSIに対応する他のPID)を付けたトランスポートパケットを抽出し、
保持することを示すことができる。それに応答して、TS1とTS2を受取る第
1と第2のデータリンク制御回路112は、プロセッサ160で提供されるフィ
ルタマップにより、TS1とTS2から、これらのトランスポートパケットだけ
を抽出する。上述の通り、第1と第2のデータリンク制御回路112は、このよ
うな抽出されたパケットをキャッシュ114に蓄積し、それらのパケットに記述
子を割当てる。第1と第2のDMA制御回路116は、それらの抽出されたトラ
ンスポートパケットと、それらのトランスポートパケット用の記述子のデータを
、ホストメモリ120に定期的に書込む。第1のDMA制御回路116により書
込まれた記述子のデータは、第1のデータリンク制御回路112用の第1の受信
キューのそれぞれの記述子記憶位置129に蓄積され、また、第2のDMA制御
回路116により書込まれた記述子のデータは、第2のデータリンク制御回路1
12用の第2の受信キューの記述子記憶位置に蓄積される。Next, the processor 160 constructs an appropriate filter map, the first filter map to the first adapter 110 receiving TS1, the second filter map to the first adapter 110 receiving TS1, and the second filter map to receive TS2, respectively. To the adapter 110. For example, the first filter map is a PID, ie, PID (VA), PID (AA), PID
Extract and retain transport packets with (DA), PID (a), PID (VB), PID (AB), PID (b) (and possibly other PIDs corresponding to PSI in TS1) Can be shown. Similarly, the second filter map includes PIDs, that is, PID (VF), PID (AF), PID (DF
), PID (f), PID (VG), PID (A1G), PID (A2G), P
ID (DG), PID (ECMG), PID (g) (and possibly TS2
Extract the transport packet with the other PID corresponding to the PSI in
Can be shown to hold. In response, the first and second data link control circuits 112 receiving TS1 and TS2 extract only these transport packets from TS1 and TS2 according to the filter map provided by the processor 160. As described above, the first and second data link control circuits 112 store such extracted packets in the cache 114 and assign descriptors to those packets. The first and second DMA control circuits 116 periodically write the extracted transport packets and descriptor data for those transport packets to the host memory 120. Descriptor data written by the first DMA control circuit 116 is stored in a respective descriptor storage location 129 of a first receive queue for the first data link control circuit 112 and a second The descriptor data written by the DMA control circuit 116 is stored in the second data link control circuit 1
12 is stored in the descriptor storage location of the second reception queue.
【0112】 さらに、第3のDMA制御回路116は、TS3と関係のある送信キューから
の記述子と、それらの記述子に対応するトランスポートパケットを取出して、そ
れらをキャッシュ114に蓄積する。第3のデータリンク制御回路112は、キ
ャッシュ114から各記述子を取出して、それらの記述子をTS3に送る。第3
のデータリンク制御回路112は、k個≧1のトランスポートパケットを送った
後で、割込みを起こす。これにより、プロセッサ160は、第3のデータリンク
制御回路112と関係のある送信キュー用の送信PIDハンドラ・サブルーチン
を指すポインタのテーブルにアクセスする。適切な送信PIDハンドラ・サブル
ーチンを実行するときに、プロセッサ160は、TS3送信キューの未使用の送
信記述子を、使える接続キュー(すなわち、第1の受信キュー、第2の受信キュ
ー、PAT3キュー)内の記述子に割当てて、このように割当てられた記述子に
、前述の使える接続キュー内の記述子から適切な情報をコピーする。これらの送
信記述子は、受信記述子の概算ディスパッチ時間によって決まる順序で、TS3
送信キュー内に割当てられる。Further, the third DMA control circuit 116 takes out descriptors from the transmission queue related to TS3 and transport packets corresponding to those descriptors, and stores them in the cache 114. Third data link control circuit 112 retrieves each descriptor from cache 114 and sends those descriptors to TS3. Third
The data link control circuit 112 generates an interrupt after transmitting k ≧ 1 transport packets. This causes the processor 160 to access a table of pointers pointing to the transmit PID handler subroutine for the transmit queue associated with the third data link control circuit 112. When executing the appropriate transmit PID handler subroutine, processor 160 may use the unused transmit descriptors of the TS3 transmit queue to connect queues available (ie, first receive queue, second receive queue, PAT3 queue). And the appropriate information is copied from the descriptors in the available connection queue to the descriptors thus allocated. These transmit descriptors are placed in an order determined by the estimated dispatch time of the receive
Assigned in the transmit queue.
【0113】 さらに、新規プログラム定義、EMM、ECM、CAT、またはNITを含め
、どんな種類のPSIも動的に挿入できることに留意されたい。Further, note that any type of PSI can be dynamically inserted, including new program definitions, EMM, ECM, CAT, or NIT.
【0114】 ここで、新規ユーザ仕様が作成される一方で、前のユーザ仕様により、再多重
化が行われるような事態を考えてみる。前と同じように、コントローラ20は、
最初に、新規ユーザ仕様を満たすのに充分な帯域幅があることを確かめる。もし
あれば、新規ユーザ仕様を、プロセッサ160にダウンロードする。新規ユーザ
仕様は、プロセッサ160が、異なるプログラムとESを抽出し、PIDを異な
るやり方でマッピングし、あるいは、(a)新規PSI、(b)新規PSIを載
せたトランスポートパケット、(c)新規PSIを載せたトランスポートパケッ
トを指す記述子、を生成するように求めることができる。TS3に入っているプ
ログラムまたはESを修正する場合には、プロセッサ160は、PIDフィルタ
マップを修正して、保持予定のトランスポートパケットを保持し、また新規ユー
ザ仕様により、廃棄予定のトランスポートパケットを捨てる。これらの新規フィ
ルタマップが、それぞれのキャッシュ114に転送され、キャッシュ114は、
動的に、かつ即時に、新規ユーザ仕様によるトランスポートパケットの抽出に切
替わる。プロセッサ160はまた、新規の保持予定のトランスポートパケットの
PIDと関係のある受信PIDハンドラ・サブルーチンのポインタテーブル40
2のポインタを修正することで、新規の保持予定のトランスポートパケットにふ
さわしい受信PIDハンドラ・サブルーチンも選択する。現在廃棄予定のトラン
スポートパケットのPIDでインデックスされた受信PIDハンドラ・サブルー
チンのポインタテーブル402のポインタも修正できる。新たなPID再マッピ
ングの場合には、プロセッサ160は、適切なサブルーチンを選択して、新たな
PID再マッピングを行う。Here, consider a situation in which a new user specification is created while re-multiplexing is performed according to the previous user specification. As before, the controller 20
First, make sure there is enough bandwidth to meet the new user specification. If so, download the new user specification to processor 160. The new user specification may be such that processor 160 extracts different programs and ESs, maps PIDs differently, or (a) transport packets carrying new PSI, (b) new PSI, (c) new PSI. , A descriptor pointing to the transport packet carrying the. When modifying the program or ES contained in TS3, the processor 160 modifies the PID filter map to retain the transport packets to be retained, and according to the new user specification, the transport packets to be discarded. throw away. These new filter maps are transferred to respective caches 114, which
Switching to transport packet extraction dynamically and immediately according to new user specifications. Processor 160 also includes pointer table 40 of the receive PID handler subroutine associated with the PID of the new to-be-held transport packet.
By modifying the pointer of No. 2, a reception PID handler subroutine suitable for the transport packet to be newly held is also selected. The pointer in the pointer table 402 of the receive PID handler subroutine indexed by the PID of the transport packet currently to be discarded can also be modified. In the case of a new PID remapping, the processor 160 selects an appropriate subroutine to perform a new PID remapping.
【0115】 このような変更には、新規PSI(例えば、新規PAT)の生成が必要である
場合がある。プロセッサ160は、新規PSIを生成するのにふさわしいPID
ハンドラ・サブルーチンを選択する。例えば、新規PATの場合には、PIDハ
ンドラ・サブルーチンは、TS1とTS2のPATのPIDによりトリガされる
ことがある。プロセッサ160は、新規PSIを生成して、その新規PSIをト
ランスポートパケットに挿入する。それぞれのPSIキュー内の記述子は、その
ような新規PSIトランスポートパケットに割当てられる。プロセッサ160は
、古いPSIが入っているトランスポートパケットを指す任意のPSI記述子キ
ューを使う(すなわち、そのPSI記述子キューから、トランスポートパケット
を復元し、転送する)のを止めて、代わりに、新規PSI記述子キューを使う。Such a change may require the generation of a new PSI (eg, a new PAT). The processor 160 generates a PID suitable for generating a new PSI.
Select a handler subroutine. For example, in the case of a new PAT, the PID handler subroutine may be triggered by the PID of the TS1 and TS2 PATs. Processor 160 generates a new PSI and inserts the new PSI into a transport packet. The descriptor in each PSI queue is assigned to such a new PSI transport packet. Processor 160 stops using any PSI descriptor queue pointing to the transport packet containing the old PSI (ie, reconstructs and forwards the transport packet from that PSI descriptor queue) and instead , Use the new PSI descriptor queue.
【0116】 毎回の変更(すなわち、毎回、新たに選択されたPIDハンドラ・サブルーチ
ン、毎回のPSI挿入修正、または毎回新たなPIDフィルタマップ)が得られ
るから、適切なデータリンク制御回路112またはプロセッサ160は、その動
作を一様に変更する。このような変更が行われるまで、データリンク制御回路1
12またはプロセッサ160は、引き続き、前のユーザ仕様に基づいて動作する
。出力再多重化TSが、つねにMPEG−2適合となるように変更を行うときに
は、順序付けに、いくらか注意を払わなければならない。例えば、PMTまたは
PATに強い影響を与える、TS内でのPIDマッピング、PIDフィルタリン
グ、プログラム、ES、ECMなどの変更は、それがどのようなものであろうと
、好ましくは、PMT(または、その特定のプログラム定義)および/またはP
ATの新規バージョンがTSに出力され、また、新規のPMT、プログラム定義
、またはPATに切替わる指示がTSに示されるまで、遅らされる。同様に、E
MMが、条件付きアクセスシステム用に含まれるか、または外される場合には、
このようなEMMの導入は、CATの新規バージョンがTSに送られるまで、遅
らされる。それぞれのアダプタ110のPIDフィルタマップを変更して、PI
Dなどを有するトランスポートパケットを保持する前に、保持予定の(前に捨て
られた)トランスポートパケットのPIDでインデックスされた受信PIDハン
ドラ・サブルーチンのポインタテーブルの適切なエントリに、受信PIDハンド
ラ・サブルーチンを指すポインタを蓄積することなど、資源の内部処理管理には
、追加的な慎重な変更順序付けが望ましい場合がある。Since each change (ie, each time a newly selected PID handler subroutine, each time a PSI insertion correction, or each time a new PID filter map) is obtained, the appropriate data link control circuit 112 or processor 160 Changes its behavior uniformly. Until such a change is made, the data link control circuit 1
12 or processor 160 continues to operate based on previous user specifications. When the output remultiplexing TS is modified to always be MPEG-2 compliant, some attention must be paid to the ordering. For example, any change in the PID mapping, PID filtering, program, ES, ECM, etc. in the TS that strongly affects the PMT or PAT, preferably, the PMT (or its identification) Program definition) and / or P
The new version of the AT is output to the TS and is delayed until the TS indicates a new PMT, program definition, or instruction to switch to the PAT. Similarly, E
If MM is included or excluded for the conditional access system,
The introduction of such an EMM is delayed until a new version of the CAT is sent to the TS. By changing the PID filter map of each adapter 110, the PI
Before holding a transport packet having a D, etc., the appropriate entry in the pointer table of the receive PID handler subroutine, indexed by the PID of the transport packet to be held (previously discarded), Additional careful change ordering may be desirable for internal processing management of resources, such as storing pointers to subroutines.
【0117】 以下のものは、新規ユーザ仕様により再多重化を修正する一例である。ユーザ
は、プログラムBとFを外し、代わりにプログラムCとDを保持すべきことを示
す新規ユーザ仕様を提供するものとする。それに応答して、まず最初に、コント
ローラ20は、新規ユーザ仕様により再多重化TS(TS3)を修正するときに
、新規プログラムデータのすべて、および、それらの新規プログラムデータのた
めに生成する必要のある新規PSIを納めるのに充分な帯域幅が出力再多重化T
S(TS3)にあるかどうか判定する。あると仮定すると、この新規ユーザ仕様
は、再多重化ノード100にダウンロードされる。プロセッサ160は、PID
(VB)、PID(AB)、PID(b)のPIDを有するトランスポートパケ
ットを捨てて、PID(VC)、PID(AC)、PID(ECMC)、PID
(c)、PID(VD)、PID(A1D)、PID(A2D)、PID(DD
)、PID(d)のPIDを有するトランスポートパケットを保持するように、
第1のアダプタ110内のPIDフィルタマップを修正する。同様に、プロセッ
サ160は、PID(VF)、PID(AF)、PID(DF)、PID(f)
のPIDを有するトランスポートパケットを捨てるように、第2のアダプタ11
0内のPIDフィルタマップを修正する。プロセッサ160は、PIDのそれぞ
れ(PID(c)とPID(d))用のプログラム定義更新プロセス、PID(
ECMC)用の制御ワード更新プロセス、プログラムC(例えば、PID(VC
))の暗号化ESのそれぞれの暗号解読制御ワード情報挿入プロセスを含め、P
ID(VC)、PID(AC)、PID(ECMC)、PID(c)、PID(
VD)、PID(A1D)、PID(A2D)、PID(DD)、PID(d)
のPID用のPIDハンドラ・サブルーチンを選択する。さらに、プロセッサ1
60は、例えば、第1と第2のアダプタ10のそれぞれについて、PID(0)
用のPIDハンドラ・サブルーチンを実行する過程において、プログラム定義a
、b、c、d、gを含め、別の代用PAT3も生成する。The following is an example of modifying remultiplexing with new user specifications. The user shall provide a new user specification indicating that programs B and F should be removed and programs C and D should be retained instead. In response, the controller 20 first needs to generate all of the new program data, and for those new program data, when modifying the remultiplexed TS (TS3) with new user specifications. Sufficient bandwidth to accommodate some new PSI
It is determined whether it is in S (TS3). Assuming that this is the case, this new user specification is downloaded to the remultiplexing node 100. The processor 160 has a PID
A transport packet having a PID of (VB), PID (AB), or PID (b) is discarded, and PID (VC), PID (AC), PID (ECMC), PID
(C), PID (VD), PID (A1D), PID (A2D), PID (DD
), So as to hold a transport packet having a PID of PID (d),
Modify the PID filter map in the first adapter 110. Similarly, the processor 160 determines PID (VF), PID (AF), PID (DF), PID (f)
The second adapter 11 to discard the transport packet having the PID of
Modify the PID filter map in 0. The processor 160 executes a program definition update process for each of the PIDs (PID (c) and PID (d)),
Control word update process for ECMC, program C (for example, PID (VC
)), Including the decryption control word information insertion process of each of the encrypted ESs.
ID (VC), PID (AC), PID (ECMC), PID (c), PID (
VD), PID (A1D), PID (A2D), PID (DD), PID (d)
Select the PID handler subroutine for the PID. In addition, processor 1
60 is, for example, PID (0) for each of the first and second adapters 10.
In the process of executing the PID handler subroutine for
, B, c, d, and g, also generate another substitute PAT3.
【0118】 ここで、プログラムAのVAビデオESの暗号化を示す別の新規ユーザ仕様が
提供される事例を考えてみよう。この場合も、コントローラ20は、まず最初に
、VA用のECMの載せたトランスポートパケットと、プログラムA用の新規プ
ログラム定義を納めるのに充分な帯域幅がTS3にあるかどうか判定する。ある
とすれば、この新規ユーザ仕様は、再多重化ノード100にダウンロードされる
。プロセッサ160は、VAのECMが入っているトランスポートパケットを指
す記述子を蓄積するために、キューを割当てる。プロセッサ160は、VAが入
っているトランスポートパケットを指す記述子に暗号化制御ワードを挿入するこ
とを含め、PID(VA)にふさわしいPIDハンドラ・サブルーチンを選択す
る。プロセッサ160はまた、VA用のECMのような制御ワードが入っている
トランスポートパケットも生成して、これらのトランスポートパケットを指す記
述子を割当てる。これは、タイマ駆動割込みハンドラ・サブルーチンを用いて達
成される場合がある。別法として、プロセッサ160で実行される追加ハードウ
ェア(図には示されていない)またはソフトウェアは、定期的に制御ワードを生
成し、そのような制御ワードが準備できると、プロセッサ160に割込む。プロ
セッサ160は、使える制御ワードを、1つまたは複数のトランスポートパケッ
トに入れ、ECMキューのECM記述子を、そのようなトランスポートパケット
に割当て、新規制御ワードを、適切な制御ワードテーブルにロードすることで、
このような割当てに応答する。さらに、プロセッサ160は、プログラム定義a
内の情報を抽出し、かつECMAに関する情報(例えば、PID(ECMA)、
これが暗号化するES、など)を追加するプロセスを含め、PID(a)用の受
信PIDハンドラ・サブルーチンを選択する。Now, consider the case where another new user specification is provided that indicates the encryption of the VA video ES of program A. Also in this case, the controller 20 first determines whether or not TS3 has a sufficient bandwidth for storing the transport packet carrying the ECM for VA and the new program definition for Program A. This new user specification, if any, is downloaded to the remultiplexing node 100. Processor 160 allocates a queue to store a descriptor pointing to the transport packet containing the VA's ECM. Processor 160 selects a PID handler subroutine appropriate for the PID (VA), including inserting an encryption control word in the descriptor pointing to the transport packet containing the VA. Processor 160 also generates transport packets containing control words, such as ECMs for VAs, and assigns descriptors pointing to these transport packets. This may be achieved using a timer driven interrupt handler subroutine. Alternatively, additional hardware (not shown) or software running on processor 160 generates control words periodically and interrupts processor 160 when such control words are ready. . Processor 160 places the available control words in one or more transport packets, assigns an ECM descriptor from the ECM queue to such transport packets, and loads the new control words into the appropriate control word table. By that
Respond to such assignments. Further, the processor 160 executes the program definition a
And information on ECMA (for example, PID (ECMA),
This selects the receive PID handler subroutine for PID (a), including the process of adding the ES to encrypt, etc.
【0119】 スクランブル/デスクランブルの制御 スクランブルおよびデスクランブルと関係のある1つの問題は、各トランスポ
ートパケット用に、適正な制御ワードまたはキーを選択することである。すなわ
ち、スクランブルされたトランスポートパケットデータは、PID固有の制御ワ
ード、またはPIDの1グループに固有の制御ワードを用いて、スクランブルさ
れる場合がある。制御ワードが適宜、変わる場合には、回転制御ワード方式が使
用される場合がある。要するに、それぞれのTSと関係のある制御ワード(例え
ば、キー)が多数ある場合もあり、制御ワードが定期的に変更される。デスクラ
ンブルの場合には、それぞれのデスクランブル予定のESまたはESグループ用
の制御ワードを絶えず受取り、また、それぞれの時点に適切な制御ワードを選択
する機構が提供されなければならない。スクランブルの場合には、適正な制御ワ
ードを選択してESまたはESグループを暗号化し、また、それによる任意の暗
号化ESデータの形成よりも充分前に、ESをスクランブルするのに用いられる
制御ワードを出力再多重化TSに挿入する機構が提供されなければならない。Scramble / descramble control One problem associated with scrambling and descrambling is selecting the right control word or key for each transport packet. That is, the scrambled transport packet data may be scrambled using a control word unique to the PID or a control word unique to one group of the PID. If the control words change accordingly, a rotation control word scheme may be used. In short, there may be many control words (eg, keys) associated with each TS, and the control words are changed periodically. In the case of descrambling, a mechanism must be provided to constantly receive control words for each ES or ES group to be descrambled and to select the appropriate control word at each point in time. In the case of scrambling, the appropriate control word is selected to encrypt the ES or ES group, and the control word used to scramble the ES well before any formation of any encrypted ES data. Must be provided in the output remultiplexing TS.
【0120】 記述子と、受信キューおよび送信キュー内の記述子の順序付けを使用すれば、
TSのスクランブルとデスクランブルを簡単化できる。特に、各受信記述子は、
トランスポートパケットをスクランブルするときに用いられる制御ワード、ある
いは、トランスポートパケットのスクランブルまたはデスクランブルに用いられ
る制御ワードが入っている適切な制御ワードテーブルを指すポインタなど、スク
ランブルまたはデスクランブルに関係のある情報を蓄積できるフィールド129
−9を持っている。With the descriptors and the ordering of the descriptors in the receive and transmit queues,
TS scrambling and descrambling can be simplified. In particular, each receive descriptor is
Pertains to scrambling or descrambling, such as a control word used when scrambling a transport packet, or a pointer to an appropriate control word table containing control words used for scrambling or descrambling the transport packet. Field 129 where information can be stored
I have -9.
【0121】 まず最初に、トランスポートパケットをデスクランブルするときに行われる処
置を考えてみよう。デスクランブルされるトランスポートパケットが入っている
TSには、ECM(ES固有の条件付きアクセス)とEMM(ESグループ全体
に固有の条件付きアクセス)を載せたトランスポートパケットが入っている。E
MMは、EMMが対応するESグループ特有のPIDで標記されたトランスポー
トパケットで運ばれ、またECMは、各ECMが対応する特定ESに特有のPI
Dで標記されたトランスポートパケットで運ばれる。EMMのPIDは、CAT
を参照して、EMMが対応する特定のESグループに相関させることができる。
ECMのPIDは、PMTを参照して、ECMが対応するそれぞれの特定のES
に相関させることができる。プロセッサ160は、以下のPIDハンドラ・サブ
ルーチンを選択する: (1)TSに送られる各CATとPMTを復活させ、また、CATまたはPMT
のどのバージョンが現在使用されているか特定するPIDハンドラ・サブルーチ
ン、 (2) ECMが対応するESを載せたトランスポートパケットのPIDでイン デックスされたECMのテーブルを、PMTを参照して復活させるPIDハンド
ラ・サブルーチン。First, consider the actions taken when descrambling a transport packet. The TS including the transport packet to be descrambled includes a transport packet carrying ECM (conditional access unique to the ES) and EMM (conditional access unique to the entire ES group). E
The MM is carried in transport packets marked with a PID specific to the ES group to which the EMM corresponds, and the ECM is a PI specific to the specific ES to which each ECM corresponds.
It is carried in the transport packet marked D. EMM PID is CAT
, The EMM can be correlated to the corresponding specific ES group.
The PID of the ECM refers to the PMT and refers to each particular ES that the ECM corresponds to.
Can be correlated. The processor 160 selects the following PID handler subroutine: (1) Restore each CAT and PMT sent to the TS, and
PID handler subroutine that specifies which version of the ECM is currently being used. (2) A PID that restores the ECM table indexed by the PID of the transport packet carrying the ES corresponding to the ECM by referring to the PMT Handler subroutine.
【0122】 次に、プロセッサ160は、各トランスポートパケットと記述子に行われる一
連の処理段階を定めている。すなわち、プロセッサ160は、受信アダプタ11
0のデータリンク制御回路112、受信アダプタ110の(オプションの)デス
クランブラ115、受信アダプタ110のDMA制御回路116、(オプション
の)デスクランブラ170、およびプロセッサ160が、受信記述子、または受
信記述子が指すパケットを処理できる特定の順序を定めている。この目的のため
に、プロセッサ160は、適切な制御情報を、装置112、115、116のそ
れぞれに転送して、以下の通り、その定められた一連の処理段階の特定の順序で
、トランスポートパケットと、そのトランスポートパケットを指す記述子を、そ
れらの装置で処理させる場合がある。Next, the processor 160 defines a series of processing steps to be performed on each transport packet and descriptor. That is, the processor 160 controls the reception adapter 11
0, the (optional) descrambler 115 of the receive adapter 110, the DMA control circuit 116, the (optional) descrambler 170, and the processor 160 of the receive adapter 110 are the receive descriptor or the receive descriptor. Specifies the specific order in which the packets pointed to by can be processed. To this end, the processor 160 forwards the appropriate control information to each of the devices 112, 115, 116, and in a specific order of its defined series of processing steps, as follows: And a descriptor indicating the transport packet may be processed by those devices.
【0123】 アダプタ上のデスクランブラ115が使用される場合には、順次に処理する順
序は、以下の通りである。アダプタ110のデータリンク制御回路112は、ト
ランスポートパケットを受取って、上述のPIDフィルタマップの通り、捨てら
れないこれらのトランスポートパケットのうち選択されたものに受信記述子を割
当てる。それぞれの保持されたトランスポートパケットをキャッシュ114に蓄
積した後で、データリンク制御回路112は、例示として、そのトランスポート
パケットを指す記述子内のステータスビット(1つまたは複数)129−7をセ
ットして、ここで、トランスポートパケットが、その定められた一連の処理段階
の順序により、次の装置で処理されることを示す。When the descrambler 115 on the adapter is used, the processing order is as follows. The data link control circuit 112 of the adapter 110 receives the transport packets and assigns a receive descriptor to a selected one of these non-discarded transport packets according to the PID filter map described above. After storing each retained transport packet in cache 114, data link control circuit 112 illustratively sets status bit (s) 129-7 in the descriptor pointing to that transport packet. Here, it is shown that the transport packet is processed by the next device according to the determined sequence of a series of processing steps.
【0124】 デスクランブラ115は、キャッシュ114を定期的に調べ、ステータスビッ
ト(1つまたは複数)129−7をセットして、トランスポートパケット修正の
許可がデスクランブラ115に与えられていることを示す次の1つまたは複数の
記述子を求める。例示として、デスクランブラ115は、m個≧1の記述子を処
理した後で、キャッシュ114にアクセスする。デスクランブラ115は、前に
デスクランブラ115でアクセスされた記述子から順次に、キャッシュ114の
各記述子にアクセスし、m個≧1の記述子にアクセスするまで続けるか、あるい
は、ステータスビット(1つまたは複数)129−7をセットして、その定めら
れた一連の処理段階の順序により、前の段階の処理が、記述子と、その記述子が
指すトランスポートパケットに行われていることを示す記述子に達するまで、続
ける。The descrambler 115 periodically checks the cache 114 and sets the status bit (s) 129-7 to indicate that the transport packet modification permission has been granted to the descrambler 115. Find one or more of the following descriptors: By way of example, the descrambler 115 accesses the cache 114 after processing m ≧ 1 descriptors. The descrambler 115 sequentially accesses each descriptor of the cache 114 from the descriptor previously accessed by the descrambler 115, and continues until accessing m ≧ 1 descriptors, or the status bit (1 (One or more) 129-7 to indicate that the processing of the previous step has been performed on the descriptor and the transport packet pointed to by the descriptor, according to the defined sequence of processing steps. Continue until the indicated descriptor is reached.
【0125】 記述子とトランスポートパケットを処理するときに、デスクランブラ115は
、現在調べられた記述子が指すトランスポートパケットのPIDを使用して、キ
ャッシュ114内にあるデスクランブルマップをインデックスする。例示として
、プロセッサ160は、下記の通り、キャッシュ114内のデスクランブルマッ
プを定期的に更新する。デスクランブルマップの位置は、記述子フィールド12
9−9内にあるベースアドレスにより提供される。例示として、プロセッサ16
0は、受信記述子キューを割当てるときに、各記述子のフィールド129−9に
、デスクランブルマップのベースアドレスをロードする。デスクランブルマップ
のインデックスされたエントリは、トランスポートパケットが暗号化されるどう
か示し、もし暗号化される場合には、トランスポートパケットの暗号解読に使用
できる1つまたは複数の制御ワードも示す。デスクランブルマップのインデック
スされたエントリは、トランスポートパケットのPIDに対応する制御ワード、
または、それぞれの制御ワードを蓄積する記憶位置を指すポインタを含むことが
できる。デスクランブルマップのインデックスされたエントリが、そのアクセス
された記述子が指すトランスポートパケットをデスクランブルしないことを示す
場合には、デスクランブラ115は、その記述子のステータスビット(1つまた
は複数)129−7を単にセットして、次の段階の処理が、その定められた一連
の処理段階の順序により、記述子と、その記述子が指すトランスポートパケット
に行われることを示すにすぎない。When processing descriptors and transport packets, descrambler 115 indexes the descrambling map in cache 114 using the PID of the transport packet pointed to by the currently examined descriptor. By way of example, the processor 160 periodically updates the descrambling map in the cache 114 as described below. The position of the descrambling map is determined by the descriptor field 12
Provided by the base address located in 9-9. By way of example, the processor 16
0 loads the field 129-9 of each descriptor with the base address of the descrambling map when allocating the receive descriptor queue. The indexed entry in the descramble map indicates whether the transport packet is encrypted, and if so, also indicates one or more control words that can be used to decrypt the transport packet. The indexed entry of the descrambling map contains a control word corresponding to the PID of the transport packet,
Alternatively, it may include a pointer to a storage location for storing each control word. If the indexed entry in the descrambling map indicates that the transport packet pointed to by the accessed descriptor is not descrambled, the descrambler 115 may return the status bit (s) 129 of the descriptor. It simply sets -7 to indicate that the next stage of processing is to be performed on the descriptor and the transport packet to which the descriptor points, according to the defined sequence of processing steps.
【0126】 デスクランブルマップのインデックスされたエントリが、トランスポートパケ
ットのデスクランブルを示す場合には、デスクランブラ115は、トランスポー
トパケットのPIDに対応する制御ワードを得て、その制御ワードを用いて、そ
のトランスポートパケットデータを暗号解読する。代表的なデスクランブル方式
は、上述の通り、回転(すなわち、奇数と偶数)制御ワードを使用することに留
意されたい。トランスポートパケットをデスクランブルするときに使用する適正
な奇数または偶数の制御ワードは、transport_scrambling
_controlビットなどの、トランスポートパケット内の制御ビットで示さ
れる。デスクランブラ115は、適正な制御ワードをインデックスするときに、
トランスポートパケットのPIDだけでなく、これらのビットも使用する。すな
わち、プロセッサ160で作成され、保存されるマップは、PIDでも、奇数/
偶数の標識(1つまたは複数)でもインデックスされる。次に、デスクランブラ
115は、このデスクランブルされたトランスポートパケットデータを、現在調
べられた記述子が指すトランスポートパケット記憶位置に蓄積し、それにより、
このトランスポートパケットの前回暗号解読データが上書きされる。次に、デス
クランブラ115は、その記述子のステータスビット(1つまたは複数)129
−7をセットして、次の段階の処理が、その定められた一連の処理段階の順序に
より、記述子と、その記述子が指すトランスポートパケットに行われることを示
す。If the indexed entry of the descrambling map indicates the descrambling of the transport packet, the descrambler 115 obtains a control word corresponding to the PID of the transport packet, and uses the control word for the control word. Decrypts the transport packet data. Note that typical descrambling schemes use rotation (ie, odd and even) control words, as described above. The appropriate odd or even control word to use when descrambling the transport packet is transport_scrambling.
It is indicated by control bits in the transport packet, such as the _control bit. The descrambler 115, when indexing the appropriate control word,
These bits are used as well as the PID of the transport packet. That is, the map created and stored by the processor 160 is a PID, an odd number /
Even the index (s) are indexed. Next, the descrambler 115 stores the descrambled transport packet data in the transport packet storage location pointed to by the currently examined descriptor,
The previous decryption data of this transport packet is overwritten. Next, the descrambler 115 sends the status bit (s) 129 of the descriptor.
Setting -7 indicates that the next stage of processing will be performed on the descriptor and the transport packet pointed to by the descriptor in the order of the defined series of processing steps.
【0127】 DMA制御回路116は、トランスポートパケットデータと、そのトランスポ
ートパケットデータを指す記述子のデータを、キャッシュ114から、ホストメ
モリ130のそれぞれの記憶位置122と129に定期的に書込む。その際に、
DMA制御回路116は、DMA制御回路116が処理する最後の記述子に続く
(受信キューの順に)キャッシュ114内の一連の1つまたは複数の記述子を定
期的に調べる。調べられた記述子のステータスビット(1つまたは複数)129
−7が、DMA制御回路116による処理を、その調べられた記述子に行うこと
を示す場合には、DMA制御回路116は、この記述子内の適切なステータスビ
ット(1つまたは複数)129−7をセットして、次の段階の処理を、その定め
られた一連の処理段階の順序により、記述子と、その記述子が指すトランスポー
トパケットに行うことを示す。次に、DMA制御回路116は、記述子のデータ
と、その記述子が指すトランスポートパケットのデータを、ホストメモリ130
に書込む。しかしながら、ステータスビット(1つまたは複数)129−7をセ
ットして、DMA制御回路116で行われる処理に先行する段階の処理が、なお
も記述子に行われていることを示す場合には、DMA制御回路116は、その記
述子と、その記述子が指すトランスポートパケットの処理を止める。例示として
、可能となるときには、DMA制御回路116は、記述子を調べ、そのような調
査は、DMA制御回路116が、一連のi個≧1の記述子と、そのような記述子
が指すトランスポートパケットのデータを書込むか、あるいは、ステータスビッ
ト(1つまたは複数)129−7をセットして、その定められた一連の処理段階
の順序により、前の段階の処理がなおも記述子に行われていることを示す記述子
に出会うまで、続けられる。The DMA control circuit 116 periodically writes the transport packet data and the data of the descriptor indicating the transport packet data from the cache 114 to the respective storage locations 122 and 129 of the host memory 130. At that time,
DMA control circuit 116 periodically examines a series of one or more descriptors in cache 114 that follow the last descriptor processed by DMA control circuit 116 (in order of receive queue). Status bit (s) 129 of the examined descriptor
If -7 indicates that processing by the DMA control circuit 116 is to be performed on the examined descriptor, the DMA control circuit 116 determines the appropriate status bit (s) in this descriptor. 7 is set to indicate that the processing of the next step is to be performed on the descriptor and the transport packet indicated by the descriptor in the order of the determined series of processing steps. Next, the DMA control circuit 116 transmits the data of the descriptor and the data of the transport packet indicated by the descriptor to the host memory 130.
Write to. However, if the status bit (s) 129-7 are set to indicate that the processing prior to the processing performed by the DMA control circuit 116 is still being performed on the descriptor, The DMA control circuit 116 stops processing the descriptor and the transport packet indicated by the descriptor. By way of example, when possible, the DMA control circuit 116 examines the descriptors, such that the DMA control circuit 116 determines that the series of i ≧ 1 descriptors and the transformers to which such descriptors point. By writing the data of the port packet or by setting the status bit (s) 129-7, the processing of the previous step is still in the descriptor due to the defined sequence of processing steps. It continues until it encounters a descriptor indicating what is happening.
【0128】 プロセッサ160は、例えばDMA制御回路116が出す割込みに、適切な受
信PIDハンドラ・サブルーチンを実行することで応答する。プロセッサ160
は、割込みを出したアダプタ110に対応する受信キューの1つまたは複数の記
述子を、プロセッサ160が処理した最後の記述子からスタートして調べる。例
示として、プロセッサ160は、ステータスビット(1つまたは複数)129−
7をセットして、プロセッサ160による処理が記述子に行われることを示す記
述子にふさわしい受信PIDハンドラ・サブルーチンを実行するにすぎない。プ
ロセッサ160に割込むたびに、プロセッサ160は、例示として、記述子と、
それらの記述子が指すトランスポートパケットを処理し、その処理は、PIDハ
ンドラ・サブルーチンが、i個≧1のトランスポートパケットの条件で実行され
まで続けられ、あるいは、適切なステータスビット(1つまたは複数)129−
7をセットして、前の処理段階の処理(その定められた一連の処理段階の順序に
より)が、なおも記述子に行われていることを示す記述子に出会うまで、続けら
れる。The processor 160 responds, for example, to an interrupt issued by the DMA control circuit 116 by executing an appropriate receive PID handler subroutine. Processor 160
Examines one or more descriptors in the receive queue corresponding to the adapter 110 that issued the interrupt, starting from the last descriptor processed by the processor 160. By way of example, processor 160 may include a status bit (s) 129-
7 only executes the receive PID handler subroutine appropriate to the descriptor indicating that processing by processor 160 is to be performed on the descriptor. Each time the processor 160 interrupts, the processor 160 illustratively includes:
Process the transport packets pointed to by those descriptors, and the process continues until the PID handler subroutine is executed on the condition of i ≧ 1 transport packets, or the appropriate status bits (one or Plural)
Setting 7 causes the processing of the previous processing step (in its defined sequence of processing steps) to continue until a descriptor is encountered indicating that it is still being performed on the descriptor.
【0129】 適切な受信PIDハンドラ・サブルーチンを実行する過程において、プロセッ
サ160は、すべてのES用のすべての制御ワードを復活させて、デスクランブ
ラ115(または、下記の通り170)で用いられる暗号解読および制御ワード
テーブルまたはマップを更新する。回転制御ワード方式では、プロセッサ160
は、各PID用の複数の(すなわち、奇数または偶数)キーを制御ワードテーブ
ルまたはマップに保存する。プロセッサ160はまた、暗号解読されたトランス
ポートパケットを後で暗号化できるようにする処理も実行する場合がある(下記
)。受信記述子を処理した後で、プロセッサ160は、それらの記述子のステー
タスビット(1つまたは複数)129−7をセットして、その記述子が無効であ
ることを示し(したがって、データリンク制御回路112は、これらの記述子を
処理する次の装置である)、この記述子の選択されたフィールドを消去するか、
またはリセットし、さらに、ヘッドポインタ124−3を次の記述子記憶位置1
29に進めることで、これらの受信記述子の割当てを解除する。In the course of executing the appropriate receive PID handler subroutine, processor 160 restores all control words for all ESs and decrypts them for use by descrambler 115 (or 170 as described below). And update the control word table or map. In the rotation control word method, the processor 160
Saves multiple (ie, odd or even) keys for each PID in a control word table or map. Processor 160 may also perform processing that allows the decrypted transport packet to be encrypted later (described below). After processing the received descriptors, the processor 160 sets the status bit (s) 129-7 of those descriptors to indicate that the descriptor is invalid (and thus the data link control Circuit 112 is the next device to process these descriptors), erase selected fields in this descriptor, or
Or reset, and further, set the head pointer 124-3 to the next descriptor storage location 1
By proceeding to 29, the allocation of these reception descriptors is released.
【0130】 ここで、デスクランブラ115をアダプタ110上に設けないか、あるいは、
使用しない事例を考えてみる。代わりに、バス130上にあるデスクランブラ1
70を使用する。きわめて類似した処置を、前と同じように実行する。とはいえ
、この大筋において、その定められた一連の処理段階の順序が変更されて、DM
A制御回路116が、これらの記述子(および、それらの対応するトランスポー
トパケット)を、データリンク制御回路の後で、かつデスクランブラの前で処理
し、またデスクランブラ170が、これらの記述子(および、それらの対応する
トランスポートパケット)を、DMA制御回路116の後で、ただし、プロセッ
サ160の前で処理するようにしている。したがって、データリンク制御回路1
12が、記述子をトランスポートパケットに割当て、適切なステータスビット(
1つまたは複数)129−7をセットして、次の段階の処理をその記述子とトラ
ンスポートパケットに行えるようにした後で、DMA制御回路116は、その記
述子と、その記述子が指すトランスポートパケットを処理する。上述の通り、D
MA制御回路116は、ステータスビット(1つまたは複数)129−7をセッ
トして、次の段階の処理が、その記述子に行われることを示し、そのトランスポ
ートパケットと記述子を、ホストメモリ130に書込む。Here, the descrambler 115 is not provided on the adapter 110, or
Consider a case that is not used. Instead, the descrambler 1 on the bus 130
Use 70. A very similar procedure is performed as before. Nevertheless, in this outline, the order of the defined series of processing steps was changed to
A control circuit 116 processes these descriptors (and their corresponding transport packets) after the data link control circuit and before the descrambler, and the descrambler 170 (And their corresponding transport packets) are processed after the DMA control circuit 116 but before the processor 160. Therefore, the data link control circuit 1
12 assigns a descriptor to the transport packet and sends the appropriate status bits (
After setting one or more) 129-7 so that the next stage of processing can be performed on the descriptor and the transport packet, the DMA control circuit 116 returns to the descriptor and to which the descriptor points. Process transport packets. As mentioned above, D
The MA control circuit 116 sets the status bit (s) 129-7 to indicate that the next stage of processing is to be performed on the descriptor, and stores the transport packet and descriptor in host memory. Write to 130.
【0131】 デスクランブラ170は、受信キュー内の記述子を定期的に調べ、ステータス
ビット(1つまたは複数)129−7をセットして、デスクランブル処理が、記
述子と、それらの記述子が指すトランスポートパケットに行われる(その定めら
れた一連の処理段階の順序により)ことを示す記述子を特定する。デスクランブ
ラ170は、上記の特定されたトランスポートパケットを、上でデスクランブラ
115に関して考察される通り同様なやり方で処理する。トランスポートパケッ
トを処理した後で、デスクランブラ170は、1つまたは複数のステータスビッ
ト129−7をセットして、次の段階の処理(その定められた一連の処理段階の
順序により)が、ここでは、記述子と、それらの記述子が指すトランスポートパ
ケットに行われることを示す。The descrambler 170 periodically examines the descriptors in the receive queue and sets the status bit (s) 129-7 so that the descrambling process can Identify a descriptor that indicates what to do with the indicated transport packet (in its defined sequence of processing steps). Descrambler 170 processes the identified transport packets in a similar manner as discussed above with respect to descrambler 115. After processing the transport packet, descrambler 170 sets one or more status bits 129-7 so that the next stage of processing (in accordance with its defined sequence of processing steps) is performed here. Indicates that the operation is performed on descriptors and the transport packets indicated by those descriptors.
【0132】 プロセッサ160は、適切な受信PIDハンドラ・サブルーチンの実行を含め
、DMA制御回路116で出された割込みに応答して、上述の処理を行う。好ま
しくは、プロセッサ160に割込んだアダプタ110と関係のある受信キューの
長さは、デスクランブラ170の処理時間と比べて充分に長く、デスクランブラ
170がすでに処理を完了した記述子が、プロセッサ160により、調べられて
処理されるようにしている。言い換えれば、プロセッサ160とデスクランブラ
170は、好ましくは、同一の記述子に同時にアクセスしようとはしない。もっ
と適切に言えば、プロセッサ160は、デスクランブラ170として、受信キュ
ー内の別の地点で記述子の処理を開始する。The processor 160 performs the above-described processing in response to the interrupt issued by the DMA control circuit 116, including execution of an appropriate reception PID handler subroutine. Preferably, the length of the receive queue associated with the adapter 110 that has interrupted the processor 160 is sufficiently long compared to the processing time of the descrambler 170, and the descriptor for which the descrambler 170 has already processed the Is checked and processed. In other words, processor 160 and descrambler 170 preferably do not attempt to access the same descriptor simultaneously. More suitably, processor 160, as a descrambler 170, begins processing the descriptor at another point in the receive queue.
【0133】 ここで、スクランブルと関係のある処理を考えてみよう。デスクランブルの処
理の場合のように、記述子内のステータスビット(1つまたは複数)129−7
を使用して、或る定められた一連の処理段階の順序により、各記述子と、それら
の記述子が指すトランスポートパケットに行われた処理の処理段階を順序付ける
。スクランブルは、デスクランブルとは違って、好ましくは、プロセッサ160
が送信記述子を、スクランブル予定のトランスポートパケットに割当てた後で実
行される。したがって、制御ワード記述子フィールド129−9は、2つのやり
方の1つで使用できる。デスクランブルの場合のように、スクランブルマップの
ベースのアドレスは、制御ワード記述子フィールド129−9に入れられる。と
はいえ、好ましくは、プロセッサ160が、送信キュー内の記述子を処理した後
でスクランブルが行われるから、その適正な制御ワードを、それ自体、制御ワー
ド記述子フィールド129−9に入れる。Here, let's consider processing related to scrambling. As in the case of descrambling, the status bit (s) 129-7 in the descriptor
Are used to order the processing steps of the processing performed on each descriptor and the transport packet pointed to by those descriptors according to a predetermined sequence of processing steps. The scrambling is preferably different from the descrambling, preferably by the processor 160.
Is assigned to the transport packet to be scrambled. Thus, the control word descriptor field 129-9 can be used in one of two ways. As in the case of descrambling, the address of the base of the scrambling map is placed in the control word descriptor field 129-9. However, preferably, the processor 160 places the appropriate control word in the control word descriptor field 129-9 because scrambling occurs after processing the descriptor in the transmit queue.
【0134】 まず最初に、スクランブルが、送信アダプタ110上のスクランブラ115で
行われるスクランブル処理を考えてみよう。プロセッサ160は、選好して暗号
化された制御ワードが入っているECMトランスポートパケットを得る。これら
のECMトランスポートパケットは、それぞれの対応する接続キューに入れられ
、また適正な時間での出力用にスケジュールされている。すなわち、ECMトラ
ンスポートパケットは、ECMトランスポートパケットが暗号解読するトランス
ポートパケットよりも充分前に出力TSに注入されるようにスケジュールされて
、デコーダが、デスクランブルするトランスポートパケットを受取る前に、制御
ワードを復活できるようにしている。First, consider a scrambling process in which scrambling is performed by the scrambler 115 on the transmission adapter 110. Processor 160 obtains an ECM transport packet containing the control word, which is preferably encrypted. These ECM transport packets are queued to their respective connection queues and are scheduled for output at the appropriate time. That is, the ECM transport packet is scheduled such that the ECM transport packet is injected into the output TS well before the decrypted transport packet, so that the decoder can receive the descrambling transport packet before receiving it. The control word can be restored.
【0135】 制御ワードが入っているECMトランスポートパケットを送った後で、適切な
時間に、プロセッサ160は、制御ワードテーブルを変更して、最近送られた制
御ワードに対応する新規キーを用いて、データを暗号化できるようにする。トラ
ンスポートパケットが、出力アダプタから送られると、プロセッサ160は、調
べられた接続キュー内の記述子が指すトランスポートパケットのPIDと関係の
ある送信PIDハンドラ・サブルーチンを実行する。このようなスクランブル予
定の各トランスポートパケットでは、送信PIDハンドラ・サブルーチンは、制
御ワード情報を、このトランスポートパケットと関係のある記述子に挿入するプ
ロセスを含む。この制御ワード情報は単に、トランスポートパケットの暗号化の
ときに用いる制御ワードを特定するのに使用されるスクランブルマップのベース
アドレスであることもある。しかしながら、制御ワード情報は、トランスポート
パケットを暗号化するときに使用される適正な制御ワードであるとも言える。プ
ロセッサ160はまた、transport_scrambling_cont
rolビットなどのトランスポートパケット内のビットをトグル(切替える)し
て、もっとも最近送られた制御ワードのどれが、デコーダでのトランスポートパ
ケットの暗号解読またはデスクランブルに用いられるべきか示すこともできる。
さらに、プロセッサ160は、例示として、新たに割当てられた送信記述子の1
つまたは複数のステータスビット129−7をセットして、次の段階の処理(そ
の定められた一連の処理段階の順序により)が、送信記述子と、その送信記述子
が指すトランスポートパケットに行われるべきことを示す。After sending the ECM transport packet containing the control word, at the appropriate time, the processor 160 modifies the control word table to use the new key corresponding to the recently sent control word. , So that the data can be encrypted. When a transport packet is sent from the output adapter, the processor 160 executes a send PID handler subroutine related to the PID of the transport packet pointed to by the descriptor in the examined connection queue. For each such transport packet to be scrambled, the transmit PID handler subroutine involves inserting control word information into the descriptor associated with the transport packet. This control word information may simply be the base address of the scrambling map used to specify the control word used when encrypting the transport packet. However, it can be said that the control word information is an appropriate control word used when encrypting the transport packet. Processor 160 may also include transport_scrambling_cont
Bits in the transport packet, such as the rol bit, can also be toggled to indicate which of the most recently sent control words should be used to decrypt or descramble the transport packet at the decoder. .
Further, processor 160 may illustratively include one of the newly assigned transmit descriptors.
By setting one or more status bits 129-7, the next stage of processing (according to the defined sequence of processing steps) is performed on the transmit descriptor and the transport packet pointed to by the transmit descriptor. Indicates what should be done.
【0136】 送信アダプタ110のDMA制御回路116は、送信キューからの記述子デー
タと、それらの記述子が指すトランスポートパケットを定期的に取出す。その際
、DMA制御回路116は、送信キュー内において、DMA制御回路116が記
述子データをキャッシュ114に転送したときの最後の記述子に後続する記述子
を調べる。DMA制御回路116は、ステータスビット(1つまたは複数)12
9−7をセットして、ここで、DMA制御回路116による処理が行われる(そ
の定められた一連の処理段階の順序により)ことを示す送信記述子のデータだけ
を転送する。例えば、DMA制御回路116は、送信記述子を調べ、その調査は
、DMA制御回路116に処理する許可がある定数k個≧1の送信記述子が特定
されるまで、あるいは、ステータスビット129−7をセットして、前の処理段
階の処理が、なおも送信記述子と、その送信記述子が指すトランスポートパケッ
トに行われていることを示す記述子が特定されるまで、続けられる。このような
送信記述子と、これらの送信記述子が指すトランスポートパケットのデータをキ
ャッシュ114に転送した後で、DMA制御回路116は、このような転送され
た送信記述子のステータスビット(1つまたは複数)129−7をセットして、
次の段階の処理(その定められた一連の処理段階の順序により)が、送信記述子
と、それらの送信記述子が指すトランスポートパケットに行われることを示す。[0136] The DMA control circuit 116 of the transmission adapter 110 periodically extracts descriptor data from the transmission queue and transport packets indicated by those descriptors. At that time, the DMA control circuit 116 examines the transmission queue for a descriptor subsequent to the last descriptor when the DMA control circuit 116 transferred the descriptor data to the cache 114. The DMA control circuit 116 outputs the status bit (s) 12
9-7 is set, and here, only the data of the transmission descriptor indicating that the processing by the DMA control circuit 116 is performed (in the order of the determined series of processing steps) is transferred. For example, the DMA control circuit 116 checks the transmission descriptor, and checks the transmission descriptor until a constant k ≧ 1 transmission descriptors which the DMA control circuit 116 has permission to process are specified, or the status bit 129-7. , And the processing of the previous processing stage is continued until a transmission descriptor and a descriptor indicating that the transport packet indicated by the transmission descriptor is being performed are identified. After transferring such transmission descriptors and the data of the transport packets pointed to by these transmission descriptors to the cache 114, the DMA control circuit 116 returns the status bits (1 Or multiple) 129-7,
Indicates that the next stage of processing (in accordance with the defined sequence of processing steps) will be performed on the transmit descriptors and the transport packets pointed to by those transmit descriptors.
【0137】 次に、スクランブラ115は、キャッシュ114内の記述子を定期的に調べ、
処理すべき一連の1つまたは複数の記述子と、それらの記述子が指すトランスポ
ートパケットを求める。スクランブラ115は、1つまたは複数のステータスビ
ット129−7をセットして、暗号化処理段階の処理が行われる(その定められ
た一連の処理段階の順序により)ことを示すアクセスされた記述子だけを処理す
る。スクランブラ115は、制御ワード情報フィールド129−9にアクセスし
、そのフィールド内の情報を使用して、スクランブル予定のトランスポートパケ
ットをそれぞれ暗号化する。上述の通り、この制御ワード情報は、2つのやり方
の1つで使用できる。制御ワード情報がスクランブルマップのベースアドレスで
ある場合には、スクランブラ115は、トランスポートパケットのベースアドレ
スとPID情報を使用して、スクランブルマップをインデックスする。スクラン
ブルマップのインデックスされたエントリは、トランスポートパケットが暗号化
されるどうか示し、もし暗号化される場合には、トランスポートパケットの暗号
化の際に使用する制御ワードも示す。別法として、フィールド129−9内の制
御ワード情報自体もトランスポートパケットがスクランブルされるどうか示し、
もしスクランブルされる場合には、トランスポートパケットの暗号化の際に使用
する制御ワードも示す。この処理された記述子のトランスポートパケットが暗号
化されない場合には、スクランブラ115は単に、適切なステータスビット(1
つまたは複数)129−7をセットして、次の段階の処理(その定められた一連
の処理段階の順序により)が、ここで、送信記述子と、それらの送信記述子が指
すトランスポートパケットに行われることを示す。この処理された記述子のトラ
ンスポートパケットがスクランブルされる場合には、このスクランブラは、まず
最初にトランスポートパケットデータをスクランブルし、そのトランスポートパ
ケットを、スクランブルされないトランスポートパケットの代わりにキャッシュ
に蓄積し、次に、適切なステータスビット(1つまたは複数)129−7をセッ
トする。Next, the scrambler 115 periodically checks the descriptor in the cache 114,
A series of one or more descriptors to be processed and the transport packets pointed to by those descriptors are determined. The scrambler 115 sets the one or more status bits 129-7 to indicate that the processing of the encryption processing step is to be performed (in accordance with its defined sequence of processing steps). Just handle. The scrambler 115 accesses the control word information field 129-9, and uses the information in the field to encrypt each transport packet to be scrambled. As mentioned above, this control word information can be used in one of two ways. If the control word information is the base address of the scramble map, the scrambler 115 indexes the scramble map using the base address of the transport packet and the PID information. The indexed entry in the scrambling map indicates whether the transport packet is encrypted and, if so, the control word to use when encrypting the transport packet. Alternatively, the control word information itself in field 129-9 also indicates whether the transport packet is scrambled,
If scrambled, it also indicates the control word used when encrypting the transport packet. If the transport packet of this processed descriptor is not encrypted, the scrambler 115 simply returns the appropriate status bit (1
(One or more) 129-7 so that the next stage of processing (according to its defined sequence of processing steps) is now the transmission descriptors and the transport packets to which they refer Is performed. If the transport packet of this processed descriptor is scrambled, the scrambler first scrambles the transport packet data and places the transport packet in the cache instead of the unscrambled transport packet. Store and then set the appropriate status bit (s) 129-7.
【0138】 データリンク制御回路112は、キャッシュ114内の送信記述子を定期的に
調べ、1つまたは複数のステータスビット129−7をセットして、データリン
ク制御回路112による処理が行われることを示す送信記述子を求める。このよ
うな送信記述子では、データリンク制御回路112は、これらの記述子が指すト
ランスポートパケットを、それらの記述子に示されたほぼ実際のディスパッチ時
間で送る。次に、データリンク制御回路112は、それらの記述子の割当てを解
除する(次に、ステータスビット129−7を無効にセットする)。例示として
、データリンク制御回路112が、一連のk個≧1の記述子を送るたびに、デー
タリンク制御回路112は、プロセッサ160で受取るための送信割込みを起こ
す。The data link control circuit 112 periodically checks the transmission descriptor in the cache 114 and sets one or more status bits 129-7 to indicate that the processing by the data link control circuit 112 is to be performed. The transmission descriptor to be indicated is obtained. With such transmission descriptors, data link control circuit 112 sends the transport packets pointed to by these descriptors at approximately the actual dispatch times indicated in those descriptors. Next, the data link control circuit 112 deallocates those descriptors (and then sets the status bit 129-7 to invalid). By way of example, each time data link control circuit 112 sends a series of k ≧ 1 descriptors, data link control circuit 112 raises a transmit interrupt for receipt by processor 160.
【0139】 スクランブラ115がないか、または、使用されない場合には、スクランブラ
170が、例示として、その代わりに用いられる。上述の一連の処理段階の順序
が変更されて、スクランブラ170が、各送信記述子と、その送信記述子が指す
トランスポートパケットを、プロセッサ160の後で、かつDMA制御回路11
6の前で処理し、またDMA制御回路116が、各送信記述子と、その送信記述
子が指すトランスポートパケットを、スクランブラ170の後で、ただし、デー
タリンク制御回路110の前で処理するようにしている。If scrambler 115 is missing or not used, scrambler 170 is used instead, as an example. The order of the above-described series of processing steps is changed so that the scrambler 170 transmits each transmission descriptor and the transport packet indicated by the transmission descriptor to the DMA control circuit 11 after the processor 160.
6 and the DMA control circuit 116 processes each transmit descriptor and the transport packet pointed to by the transmit descriptor after the scrambler 170 but before the data link control circuit 110. Like that.
【0140】 帯域幅の最適化 上記の通り、プログラムを載せたTSには、ヌル・トランスポートパケットが
挿入されることが多い。一般に、プログラム・エンコーダは、各プログラムに、
余分の帯域幅を割当てる必要があるから、このようなヌル・トランスポートパケ
ットが存在する。これは、折々、ESが1つ1つ生成される場合に、生成される
符号化データの量が、その分しか制御され得ないためである。このような「オー
バーヘッド帯域幅」がなければ、符号化ESデータは、割当てられた帯域幅の大
きさを、頻繁に超えることになり、それにより、符号化ESデータはTSから省
かれる。別法として、ESエンコーダ(とくに、ビデオESエンコーダ)は、ト
ランスポートパケット・タイムスロットが現れると、必ずしも、データが出力に
使えるとは限らない場合がある。例えば、特殊な映像は、あらかじめ予想した時
間よりも予想外に長い時間がかかり、それにより、符号化ビデオESデータの生
成が遅れることがある。このようなタイムスロットは、ヌル・トランスポートパ
ケットで満たされる。Optimization of Bandwidth As described above, a null transport packet is often inserted into a TS carrying a program. In general, program encoders
Such null transport packets exist because extra bandwidth needs to be allocated. This is because when ESs are generated one by one, the amount of encoded data to be generated can only be controlled by that amount. Without such "overhead bandwidth," the coded ES data would frequently exceed the allocated bandwidth size, thereby omitting the coded ES data from the TS. Alternatively, an ES encoder (especially a video ES encoder) may not always have data available for output when a transport packet timeslot appears. For example, a special video may take an unexpectedly longer time than expected in advance, which may delay generation of encoded video ES data. Such time slots are filled with null transport packets.
【0141】 再多重化ノード100では、ヌル・トランスポートパケットの存在は許容され
なければならないが、ヌル・トランスポートパケットを無駄にするような上記帯
域幅の数は、減らすことが望ましい。とはいえ、その際、各プログラムのビット
レートを変えてはならないし、またこのようなプログラムでは、エンド・ツー・
エンド遅延を一定にしておかなければならない。一実施形態により、他の再多重
化予定のトランスポートパケットデータが使える場合には、ヌル・トランスポー
トパケットを、このような他のトランスポートパケットに代える技法が用いられ
る。At the remultiplexing node 100, the presence of null transport packets must be allowed, but it is desirable to reduce the number of such bandwidths that waste null transport packets. Nevertheless, the bit rate of each program must not be changed, and the end-to-
End delay must be kept constant. According to one embodiment, if other transport packet data to be remultiplexed is available, a technique for replacing a null transport packet with such another transport packet is used.
【0142】 まず最初に、プロセッサ160は、スケジュール予定のトランスポートパケッ
トの記述子(すなわち、送信キューにまだ転送されてない、受信キュー、PSI
キュー、他のデータキューなどにある記述子)が入っている複数の接続キューを
利用できることを考えてみよう。上記の通り、これらの記述子は、受信入りTS
と関係のあるトランスポートパケット、あるいは、PATストリーム、PMTス
トリーム、EMMストリーム、ECMストリーム、NITストリーム、CATス
トリームなどのように、プロセッサ160で生成される他のプログラム関連のス
トリームを指す場合がある。しかしながら、時間感知不能型、「バースティ」型
、または「ベストエフォート」型のプライベートデータを載せたトランスポート
パケットなどの、他の種類のスケジュール予定のトランスポートパケットと、そ
れらのトランスポートパケット用の記述子129が利用できる場合がある。例え
ば、このような余分のトランスポートパケットには、トランザクション・コンピ
ュータデータ(例えば、ウェブブラウザとウェブサーバ間でやり取りされるデー
タなど)が入っている場合がある。(再多重化ノード100は、サーバ、端末、
あるいは、単に「インターネット」に接続された通信システム内の中間ノードで
ある。このようなインターネットへの接続は、モデム、アダプタ140または1
50などを用いて達成される。)このようなデータは、一定のエンド・ツー・エ
ンド遅延の要件を持たない。もっと適切に言えば、このようなデータは、帯域幅
が使えるときはいつでも、バーストで送られる。First, the processor 160 generates a descriptor for the transport packet to be scheduled (ie, the receive queue, PSI not yet transferred to the transmit queue).
Suppose you have multiple connection queues available that contain descriptors in queues, other data queues, etc. As described above, these descriptors are
Transport stream or another program-related stream generated by the processor 160, such as a PAT stream, a PMT stream, an EMM stream, an ECM stream, a NIT stream, a CAT stream, and the like. However, other types of scheduled transport packets, such as transport packets carrying private data of the time insensitive, "bursty" or "best effort" type, and a description for those transport packets. Child 129 may be available. For example, such extra transport packets may contain transactional computer data (eg, data exchanged between a web browser and a web server, etc.). (The remultiplexing node 100 includes a server, a terminal,
Alternatively, it is simply an intermediate node in the communication system connected to the "Internet". Such an Internet connection may be via modem, adapter 140 or 1
50 or the like. ) Such data does not have a fixed end-to-end delay requirement. More appropriately, such data is sent in bursts whenever bandwidth is available.
【0143】 プロセッサ160は、まず最初に、それぞれのヌル・トランスポートパケット
を捨てさせる。これは、プロセッサ160が受信PIDハンドラ・サブルーチン
を使用して、すべてのヌル・トランスポートパケットを捨てさせることで、達成
される。この技法は、例示として、インタフェース140または150などの、
アダプタ110以外の装置から、ヌル・トランスポートパケットを受取るときに
、使用される。別法として、アダプタ110からヌル・トランスポートパケット
を受取る場合には、プロセッサ160は、PIDフィルタマップをデータリンク
制御回路112に提供して、それぞれのヌル・トランスポートパケットを捨てさ
せることがある。次に、この受信PIDハンドラ・サブルーチンにより、TSに
出力される各入りトランスポートパケットには、トランスポートパケットの受信
時間(そのトランスポートパケット用の記述子に記録される)と、再多重化ノー
ド100内の内部バッファリング遅延の関数として、概算出発時間が指定される
。スケジュール予定のトランスポートパケットが入っているそれぞれの接続キュ
ーでは、この指定された出発時間は、出力TSの連続トランスポートパケット伝
送時間(隣接するタイムスロットに相当する)でない場合もある。もっと適切に
言えば、同一出力TSに出力されるトランスポートパケット用の2つの連続する
記述子は、それらの概算出発時間が、トランスポートパケットが送られる出力再
多重化TSの1つまたは複数のトランスポートパケット伝送時間(すなわち、タ
イムスロット)だけ離される場合がある。[0143] Processor 160 first causes each null transport packet to be discarded. This is accomplished by causing the processor 160 to discard all null transport packets using the receive PID handler subroutine. This technique is illustratively based on interface 140 or 150, such as
Used when receiving a null transport packet from a device other than the adapter 110. Alternatively, if a null transport packet is received from the adapter 110, the processor 160 may provide a PID filter map to the data link control circuit 112 to cause each null transport packet to be discarded. Next, according to the reception PID handler subroutine, each incoming transport packet output to the TS includes a transport packet reception time (recorded in a descriptor for the transport packet) and a remultiplexing node. The approximate calculated departure time is specified as a function of the internal buffering delay in 100. For each connection queue containing transport packets to be scheduled, this specified departure time may not be the continuous transport packet transmission time of the output TS (corresponding to adjacent time slots). More suitably, two consecutive descriptors for transport packets output on the same output TS have their approximate calculated departure times one or more of the output remultiplexing TSs on which the transport packets are sent. It may be separated by the transport packet transmission time (ie, time slot).
【0144】 好ましくは、プログラムデータを載せたトランスポートパケットを指す記述子
、PSI、ECM、またはEMMを載せたトランスポートパケットを指す記述子
、およびバースティ型データを指す記述子はそれぞれ、互いに離れた接続キュー
に保存される。実施の際、接続キューにはそれぞれ、そのキューに入れられた記
述子が指すトランスポートパケット内のデータ型によって決まる使用優先順位が
指定される。好ましくは、再多重化ノードの外部から受取る(例えば、受信アダ
プタ110、あるいは、インタフェース140または150を通じて)プログラ
ムデータには、もっとも高い優先順位が指定される。再多重化ノードで生成され
たPSI、ECM、またはEMMのストリームを蓄積する接続キューにも同一優
先順位が指定される。最後に、特定の連続性も、伝播遅延も、またビットレート
の要件もないバースティ型データが入っているトランスポートパケットを指す記
述子を備えた接続キューには、もっとも低い優先順位が指定される。さらに、プ
ログラム、PSI、ECM、EMMのデータと違って、いかなる概算出発時間も
、トランスポートパケットを載せたバースティ型データには指定されないし、ま
たそのバースティ型データの記述子にも記録されない。Preferably, a descriptor indicating a transport packet including program data, a descriptor indicating a transport packet including PSI, ECM, or EMM, and a descriptor indicating Bursty type data are respectively separated from each other. Stored in the connection queue. In implementation, each connection queue is assigned a usage priority determined by the data type in the transport packet pointed to by the queued descriptor. Preferably, program data received from outside the remultiplexing node (eg, via the receive adapter 110 or the interface 140 or 150) is assigned the highest priority. The same priority is also assigned to the connection queue that stores the PSI, ECM, or EMM stream generated by the remultiplexing node. Finally, connection queues with descriptors pointing to transport packets containing bursty data without specific continuity, propagation delay, or bit rate requirements are given the lowest priority. . Further, unlike the program, PSI, ECM, and EMM data, no approximate calculated start time is specified for the bursty type data carrying the transport packet and is not recorded in the descriptor of the bursty type data.
【0145】 送信PIDハンドラ・サブルーチンを実行するときに、プロセッサ160は、
スケジュール予定のトランスポートパケットと関係ある記述子を、それぞれの接
続キューから、送信キューに転送する。その際、プロセッサ160は、好ましく
は、所与の優先順位の各接続キューを使った(すなわち、その接続キュー内の記
述子を調べた)後で、さらに低い優先順位の接続キューを使うようにする。記述
子を調べるときに、プロセッサ160は、高優先順位の接続キュー(すなわち、
プログラム、PSI、ECM、またはEMMのデータを載せたトランスポートパ
ケットの記述子が入っている)の任意の調べられた記述子が、次の実際のディス
パッチ時間に、送る必要のあるトランスポートパケットを、それらのトランスポ
ートパケットに指定された概算出発時間に基づいて指しているかどうか判定する
。もしそうであれば、プロセッサ160は、送信記述子を上記の各トランスポー
トパケットに割当て、適切な情報を、接続キューの記述子から、この割当てられ
た送信キューの記述子にコピーし、送信記述子が割当てられる各トランスポート
パケットに、適切なディスパッチ時間を指定する。上記の通り、時折、同一の実
際の出発時間(すなわち、出力再多重化TSの同一トランスポートパケット・タ
イムスロット)に対して、2つ以上のトランスポートパケットが競合する。この
場合、一連のトランスポートパケットが、連続タイムスロットと実際の出発時間
に指定される。必要である場合には、このようなトランスポートパケットのPC
R調整が行われる。When executing the send PID handler subroutine, the processor 160
The descriptor related to the transport packet to be scheduled is transferred from each connection queue to the transmission queue. In so doing, processor 160 preferably uses each lower priority connection queue after using each connection queue of a given priority (ie, examining the descriptors in that connection queue). I do. When examining the descriptor, the processor 160 uses the high priority connection queue (ie,
Any examined descriptor (which contains the descriptor of the transport packet carrying the program, PSI, ECM, or EMM data) will send the transport packet that needs to be sent at the next actual dispatch time. Then, it is determined whether or not the packet is pointing based on the approximate calculated departure time specified in those transport packets. If so, the processor 160 assigns a transmit descriptor to each of the above transport packets, copies the appropriate information from the connection queue descriptor to the allocated transmit queue descriptor, and Specify an appropriate dispatch time for each transport packet to which a child is assigned. As described above, from time to time, two or more transport packets compete for the same actual departure time (ie, the same transport packet time slot of the output remultiplexing TS). In this case, a series of transport packets are designated for consecutive time slots and actual departure times. If necessary, the PC of such transport packets
R adjustment is performed.
【0146】 それ以外のとき、プロセッサ160が、接続キューを使うときには、さらに高
い優先順位の接続キューのどのトランスポートパケットも、プロセッサ160に
より、そのトランスポートパケットを、出力再多重化TSの次の使えるタイムス
ロットと実際のディスパッチ時間に指定させるような概算出発時間は持たない。
通常、このようにすれば、出力再多重化TSの空きタイムスロットが生成される
ことになる。しかしながら、好ましくは、この場合、プロセッサ160は、さら
に低い優先順位の接続キューを使う。プロセッサ160は、さらに低い優先順位
の接続キューを調べ(ヘッドポインタ124−3から順番に)、このように調べ
られた記述子が指す一連の1つまたは複数のトランスポートパケットのそれぞれ
に送信記述子を選択的に指定し、さらに、この調べられた記述子の適切な情報を
、その割当てられた送信記述子にコピーする。プロセッサ160は、このように
調べられた記述子が指す各トランスポートパケットに、(普通なら、空いている
はずの)タイムスロットの1つを選択的に指定し、その指定されたタイムスロッ
トと関係のある実際のディスパッチ時間を、対応する割当てられた送信記述子に
蓄積する。Otherwise, when the processor 160 uses the connection queue, any transport packet in the higher priority connection queue is sent by the processor 160 to the transport packet next to the output remultiplex TS. It does not have an approximate calculated departure time to be assigned to the available time slots and the actual dispatch time.
Normally, in this case, an empty time slot of the output remultiplexing TS is generated. However, preferably, in this case, the processor 160 uses a lower priority connection queue. Processor 160 examines the lower priority connection queue (in order from head pointer 124-3) and sends a transmit descriptor to each of a series or sequence of one or more transport packets pointed to by the descriptor so examined. , And copy the appropriate information of this examined descriptor into its assigned transmit descriptor. The processor 160 selectively assigns one of the (usually vacant) time slots to each transport packet pointed to by the descriptor examined in this manner, and associates it with the specified time slot. The actual dispatch time of a given dispatch descriptor is stored in the corresponding assigned transmit descriptor.
【0147】 高優先順位または低優先順位の接続キュー内の記述子が指すどのトランスポー
トパケットも、時折、出力再多重化TSのタイムスロットに指定されないことが
ある。これは、どの高優先順位のトランスポートパケットも、このタイムスロッ
トの実際のディスパッチ時間に一致する概算ディスパッチ時間を持たないことと
、バースティ型データを載せたどのトランスポートパケットも、再多重化ノード
100での伝送中はバッファリングされないことから、起こると言える。別法と
して、バースティ型データを載せたトランスポートパケットはバッファリングさ
れるが、ただし、プロセッサ160は、以下で考察される理由で、この特定の時
点では、送信記述子をそれらのトランスポートパケットには指定しないことに決
めている。このような場合、送信キュー内の記述子は、それらの実際の送信時間
が、出力再多重化TSの連続しない一連のトランスポートパケット・タイムスロ
ットに一致する。送信アダプタ110のデータリンク制御回路112が、このよ
うな中断に出会うと、データリンク制御回路112は、いかなるトランスポート
パケットも指定されない各空きタイムスロットに、ヌル・トランスポートパケッ
トを送る(送信記述子の実際のディスパッチ時間に基づいて)。例えば、第1と
第2のトランスポートパケットと関係のある送信キュー内の2つの連続する記述
子のディスパッチ時間は、第1のトランスポートパケットが第1のトランスポー
トパケット・タイムスロットで送られ、また第2のトランスポートパケットが第
6のトランスポートパケット・タイムスロットで送られることを示すと仮定する
。データリンク制御回路112は、第1のトランスポートパケットを第1のトラ
ンスポートパケット・タイムスロットで送る。第2、第3、第4、第5のトラン
スポートパケット・タイムスロットのそれぞれには、データリンク制御回路11
2が、ヌル・トランスポートパケットを自動的に送る。第6のトランスポートパ
ケット・タイムスロットには、データリンク制御回路112が、第2のトランス
ポートパケットを送る。Occasionally, any transport packet pointed to by a descriptor in a high priority or low priority connection queue may not be specified in a time slot of an output remultiplex TS. This is because no high-priority transport packet has an approximate dispatch time that matches the actual dispatch time of this time slot, and that no transport packet carrying bursty data It can be said that this happens because the data is not buffered during transmission on the. Alternatively, the transport packets carrying the bursty data may be buffered, however, the processor 160 may, at this particular point in time, transmit the transmit descriptor to those transport packets for reasons discussed below. Has been decided not to specify. In such a case, the descriptors in the transmit queue have their actual transmission times correspond to a non-contiguous series of transport packet time slots of the output remultiplex TS. When the data link control circuit 112 of the transmission adapter 110 encounters such an interruption, the data link control circuit 112 sends a null transport packet in each free time slot where no transport packet is specified (transmission descriptor). Based on the actual dispatch time). For example, the dispatch time of two consecutive descriptors in the transmit queue associated with the first and second transport packets is such that the first transport packet is sent in the first transport packet time slot; Assume also that the second transport packet indicates to be sent in a sixth transport packet timeslot. Data link control circuit 112 sends the first transport packet in a first transport packet time slot. Each of the second, third, fourth and fifth transport packet time slots has a data link control circuit 11
2 automatically sends a null transport packet. In the sixth transport packet time slot, the data link control circuit 112 sends a second transport packet.
【0148】 バースティ型またはベストエフォート型のデータは、一般に、厳密な受信バッ
ファ制約を持たないことに留意されたい。すなわち、ほとんどのバースティ型ま
たはベストエフォート型のデータ受信機や受信アプリケーションは、最大バッフ
ァサイズ、データ充填レートなどをまったく指定していない。その代わり、送信
制御プロトコル(TCP)などのトランスポートパケットが使用され、それによ
り、受信機のバッファがいっぱいになると、受信機は、その後受取られるデータ
を単に捨てるだけである。受信機は、この捨てられたパケットの受取りを認めず
、その発信元が、受取りが認められなかったデータを載せたパケットを送り直す
。これは、受信機への効果的なデータ伝送速度を、事実上、調節する。このよう
な調節技法は、事実上、受信機への適正なデータ伝送速度を達成するかもしれな
いが、この技法は、2つの問題がある。第1の問題として、ネットワークは、双
方向通信をサポートしなければならない。すべてのケーブルテレビ放送網の一部
だけが、送信機と受信機間の双方向通信(電話上り経路なし)をサポートし、い
かなる直接放送衛星網も、このような双方向通信をサポートしない。いずれにせ
よ、双方向通信がサポートされている場合には、受信機から送信機への上り経路
は、送信機から受信機への下り経路よりも帯域幅が事実上小さく、しばしば、複
数の受信機で共用されなければならない。したがって、調節機構としてのTCP
の積極的な使用は、上り経路の大部分を利用し、また、その上り経路が、他の受
信機・送信機間の通信にも使用されなければならない。さらに、捨てられたトラ
ンスポートパケットを送る下り経路の帯域幅をむだにすることも好ましくない。Note that bursty or best effort data does not generally have strict receive buffer constraints. That is, most Bursty or best effort data receivers and receiving applications do not specify any maximum buffer size, data filling rate, or the like. Instead, transport packets, such as Transmission Control Protocol (TCP), are used, so that when the receiver's buffer is full, the receiver simply discards data subsequently received. The receiver does not acknowledge receipt of the discarded packet, and its source resends the packet with data that was not acknowledged. This effectively adjusts the effective data transmission rate to the receiver. While such an adjustment technique may effectively achieve a reasonable data rate to the receiver, this technique has two problems. First, the network must support two-way communication. Only a portion of all cable television networks support two-way communication between transmitter and receiver (no telephone uplink), and no direct broadcast satellite network supports such two-way communication. In any case, when two-way communication is supported, the upstream path from the receiver to the transmitter has a substantially lower bandwidth than the downstream path from the transmitter to the receiver, and often multiple receptions Machine must be shared. Therefore, TCP as a regulatory mechanism
The active use of Utilizes most of the upstream path, which must also be used for communication between other receivers and transmitters. Further, it is not preferable to waste the bandwidth of the downstream path for transmitting the discarded transport packets.
【0149】 好ましくは、バースティ型またはベストエフォート型のデータを挿入しても、
そのようなバッファがオーバーフローしてはならない。例示として、PIDハン
ドラ・サブルーチン(1つまたは複数)は、バースティ型データを挿入するレー
トを制御すれば、或るピークレートを超えないように、或る平均速度を得ること
ができるか、あるいは、一定の(または代表的な)受信機バッファ占有と内部で
のデータのペンデンシーを前提として、受信機バッファのオーバーフローを単に
防止することさえできる。したがって、プロセッサ160が、トランスポートパ
ケットの1つまたは複数の空きタイムスロットに挿入するのにバースティ型また
はベストエフォート型のデータを使える(そのような挿入には、他のデータは使
えない)ときでも、プロセッサ160は、トランスポートパケットのいくつかの
空きタイムスロットのみにバースティ型データを挿入することに決めるか、トラ
ンスポートパケットの1つ置きの、または間隔を置いたタイムスロットにバース
ティ型データを挿入することに決めるか、あるいは、トランスポートパケットの
どの空きタイムスロットにもバースティ型データを挿入しないことに決めて、仮
定上の受信機バースティ型データバッファへのデータ伝送を調整するか、または
、そのバッファのオーバーフローを防止するようにしている。さらに、複数の異
なる受信機行きのトランスポートパケットは、それらのトランスポートパケット
がいつ生成されたかにかかわらず、それら自体インタリーブして、受信機への或
るデータ伝送速度を保つ場合がある。Preferably, even if data of Bursty type or Best effort type is inserted,
Such buffers must not overflow. By way of example, the PID handler subroutine (s) can control the rate at which the bursty data is inserted to achieve a certain average rate so as not to exceed a certain peak rate, or Given constant (or representative) receiver buffer occupancy and internal data penalty, it is even possible to simply prevent receiver buffer overflow. Thus, even when processor 160 can use bursty or best effort data to insert into one or more free time slots of a transport packet (no other data can be used for such insertion). , The processor 160 decides to insert bursty data only in some empty time slots of the transport packet, or inserts bursty data in every other or spaced time slot of the transport packet. Or to decide not to insert bursty data in any empty time slot of the transport packet, and to adjust the data transmission to the hypothetical receiver bursty data buffer, or Prevent buffer overflow It has to. Further, transport packets destined for multiple different receivers may interleave themselves, maintaining a certain data rate to the receiver, regardless of when the transport packets were generated.
【0150】 いずれにせよ、再多重化ノード100は、TSの帯域幅を最適化する簡単な方
法を提供する。入りTS内のヌル・トランスポートパケットはすべて捨てる。ト
ランスポートパケットが使える場合には、普通なら、この捨てられたヌル・トラ
ンスポートパケットに割当てられているタイムスロットに、それらのトランスポ
ートパケットを挿入する。トランスポートパケットが使えない場合には、通常の
ディスパッチ時間指定プロセスにより、このようなタイムスロットに、ギャップ
が残される。出力再多重化TSの次の使えるタイムスロットで送ることを示すト
ランスポートパケットがディスパッチ時間をもたない場合には、データリンク制
御回路112は、ヌル・トランスポートパケットを、そのようなタイムスロット
に自動的に挿入する。In any case, the remultiplexing node 100 provides a simple way to optimize the bandwidth of the TS. Discard any null transport packets in the incoming TS. If transport packets are available, they are normally inserted into the time slots assigned to the discarded null transport packets. If no transport packets are available, the normal dispatch time assignment process leaves a gap in such a time slot. If the transport packet indicating that it is to be sent in the next available time slot of the output remultiplexing TS has no dispatch time, the data link control circuit 112 places the null transport packet in such a time slot. Insert automatically.
【0151】 このような帯域幅最適化方式の利点は、2つある。第1の利点として、出力再
多重化TSに関して、帯域幅利得が得られる。通常、ヌル・トランスポートパケ
ットに無駄となる帯域幅は、ここでは、情報を送るのに用いられる。第2の利点
として、ベストエフォート型またはバースティ型のデータは、帯域幅をそのデー
タに特定的には割当てずに(あるいは、さらに小さい帯域幅を割当てて)、TS
に出力することができる。例えば、出力再多重化TSが20メガビット/秒の帯
域幅を持つとする。4つのプログラムを載せた5メガビット/秒のTSをそれぞ
れ、再多重化して、20メガビット/秒の多重化TSへ出力する。しかしながら
、4つのプログラムを載せたTSのそれぞれの帯域幅の5%程度が、ヌル・トラ
ンスポートパケットに割当てられる。したがって、ベストエフォート型またはバ
ースティ型のデータを載せたトランスポートパケットを伝達するのに1メガビッ
ト/秒まで、(通常)使えるかもしれないが、ただし、エンド・ツー・エンド遅
延が一定であることの保証はまったくないか、あるいは限定されている。There are two advantages of such a bandwidth optimizing method. As a first advantage, a bandwidth gain is obtained for the output remultiplexing TS. Typically, the bandwidth wasted on null transport packets is used here to send information. As a second advantage, best-effort or bursty data does not specifically allocate bandwidth to the data (or allocates less bandwidth),
Can be output to For example, assume that the output remultiplexing TS has a bandwidth of 20 Mbit / s. Each of the 5 Mbit / s TSs carrying the four programs is remultiplexed and output to a 20 Mbit / s multiplexed TS. However, about 5% of the bandwidth of each of the TSs carrying the four programs is allocated to null transport packets. Thus, up to 1 Mbit / s may be (usually) usable to carry transport packets carrying best-effort or bursty data, provided that the end-to-end delay is constant. There are no or limited warranties.
【0152】 非タイミング・データの再タイミング 上記の通り、再多重化予定のプログラムデータは、非同期インタフェース14
0を通じて受取られる。このことは、インタフェース140と、このインタフェ
ースが接続している通信リンクが、どの特定の時間でもデータを送るように設計
されてなく、かつ、一定しないエンド・ツー・エンド遅延を通信データに導きや
すいから、問題となる。それと比較として、同期通信リンク(受信アダプタ11
0に接続されているもの)を通じて再多重化ノード100で受取られたプログラ
ムデータでは、その受取られたトランスポートパケットがすべて、ジッタなしに
出力されると仮定することができる。この理由として、上記のパケットはすべて
、再多重化ノード100に、同一の遅延(すなわち、内部バッファリング遅延)
を招くか、あるいは、これらのパケットがこのような遅延を招かなければ(上述
の通り、タイムスロットの競合の結果として)、追加遅延が公知となっており、
PCRを調整して、そのような追加遅延で導かれたどんなジッタも除去するから
である。さらに、PCRは、各プログラムのシステム・タイムクロックに応じた
内部クロック機構のドリフトについて補正され、また、出力TSのスロット境界
に応じたPCRのスケジュールされた出力時間と実際の出力時間との不整合につ
いて補正される。しかしながら、トランスポートパケットがインタフェース14
0から受取られる場合には、これらのトランスポートパケットは、変わりやすい
ビットレートにて、また一定しないジッタ時間にて、再多重化ノード100で受
取られる。したがって、このトランスポートパケットの出発時間を概算する基礎
として、このトランスポートパケットの実際の受信時間を使用する場合には、こ
のジッタが、そのまま残ることになる。PCRにジッタがあれば、デコーダに、
復号化とプレゼンテーションの中断が発生するだけでなく、バッファのオーバー
フローやアンダーフローも発生する。この理由として、データが、プログラムの
システム・タイムクロックに応じた復号化とプレゼンテーションのために、デコ
ーダ・バッファから除去されることを前提として、各プログラムのビットレート
が入念に調整されるからである。Retiming of Non-Timing Data As described above, the program data to be remultiplexed
0 is received. This means that the interface 140 and the communication link to which it connects are not designed to send data at any particular time and are likely to introduce variable end-to-end delays into the communication data. From, it becomes a problem. As a comparison, a synchronous communication link (receiving adapter 11
For the program data received at the remultiplexing node 100 (which is connected to 0), it can be assumed that all the received transport packets are output without jitter. For this reason, all of the above packets have the same delay (ie, internal buffering delay) at the remultiplexing node 100.
Or if these packets do not introduce such a delay (as a result of timeslot contention, as described above), the additional delay is known,
This is because the PCR is adjusted to remove any jitter induced by such additional delay. In addition, the PCR is corrected for drift of the internal clock mechanism according to the system time clock of each program, and the mismatch between the scheduled output time of the PCR and the actual output time according to the slot boundary of the output TS. Is corrected for However, if the transport packet is
If received from zero, these transport packets are received at the remultiplexing node 100 at variable bit rates and with variable jitter times. Therefore, if the actual reception time of this transport packet is used as a basis for estimating the departure time of this transport packet, this jitter will remain. If there is jitter in the PCR,
Not only will the decoding and presentation break, but also buffer overflows and underflows will occur. The reason for this is that the bit rate of each program is carefully adjusted, assuming that the data is removed from the decoder buffer for decoding and presentation according to the system time clock of the program. .
【0153】 一実施形態により、これらのプログラムは、以下のように克服される。プロセ
ッサ160は、受信TSの各プログラムのPCRを特定する。PCRを用いて、
プロセッサ160は、PCR対間の各プログラムのトランスポートパケットの区
分的トランスポートパケット・レートを決定する。各プログラムのそれぞれの(
インタリーブされた)一連のトランスポートパケットのトランスポートパケット
・レートが与えられれば、プロセッサ160は、各トランスポートパケットが受
取られたであろう時間に基づいて、概算出発時間を指定することができる。According to one embodiment, these programs are overcome as follows. The processor 160 specifies the PCR of each program of the received TS. Using PCR,
Processor 160 determines a piecewise transport packet rate for the transport packets of each program between the PCR pairs. Each of each program (
Given the transport packet rate of a series of interleaved transport packets, processor 160 can specify a roughly calculated departure time based on the time at which each transport packet would have been received.
【0154】 例示として、インタフェース140がプログラムデータを受取ると、この受取
られたプログラムデータは、インタフェース140から、ホストメモリ120の
バケットバッファ122に転送される。具体的に言えば、インタフェース140
は、受取られたプログラムデータを、或る形式の受信キューに蓄積する。好まし
くは、この受取られたプログラムデータは、トランスポートパケット内にある。By way of example, when the interface 140 receives program data, the received program data is transferred from the interface 140 to the bucket buffer 122 of the host memory 120. Specifically, the interface 140
Accumulates received program data in some form of receive queue. Preferably, the received program data is in a transport packet.
【0155】 インタフェース140は、定期的に、データを受取るとプロセッサ160に割
込む。インタフェース140は、いかなる量のデータも受取るたびにプロセッサ
160に割込むか、あるいは、一定量のデータを受取った後でプロセッサ160
に割込む。アダプタ110の場合のように、受信PIDハンドラ・サブルーチン
のポインタテーブル402は、インタフェース140用に特別に案出されたもの
である。これらのポインタが指すサブルーチンは、受信アダプタ110と関係の
ある受信PIDハンドラ・サブルーチンのポインタテーブル内のポインタが指す
サブルーチンと、多くの点で類似する場合がある。しかしながら、これらのサブ
ルーチンは、少なくとも以下の点で異なっている。第1に、非同期インタフェー
ス140は、図2に示されるフォーマットを持つ記述子を、受取られたプログラ
ムデータには割当てないことがあり、また、トランスポートパケット内のプログ
ラムデータを受取らないことがある。例えば、このプログラムデータは、PES
パケットデータであるか、あるいは、PSパケットデータである。このような場
合、保持されたトランスポートパケットのPIDについて、プロセッサ160が
実行するサブルーチンは、例示として、プログラムデータをトランスポートパケ
ットに挿入するプロセスを含む。さらに、アダプタ140に指定されたキューの
受信記述子を、それぞれの受取られたトランスポートパケットに割当てるプロセ
スが提供される。プロセッサ160は、それぞれの割当てられた記述子のポイン
タフィルード129−4に、対応するトランスポートパケットの記憶位置を指す
ポインタを蓄積する。例示として、実際の受信時間フィールド129−5は、当
初、ブランクにしておく。The interface 140 periodically interrupts the processor 160 upon receiving data. The interface 140 may interrupt the processor 160 each time it receives any amount of data, or may
Interrupt. As in the case of the adapter 110, the pointer table 402 of the receive PID handler subroutine is specially devised for the interface 140. The subroutines pointed to by these pointers may be similar in many respects to the subroutines pointed to by the pointers in the pointer table of the receive PID handler subroutine associated with receive adapter 110. However, these subroutines differ in at least the following respects. First, asynchronous interface 140 may not assign a descriptor having the format shown in FIG. 2 to received program data, and may not receive program data in transport packets. For example, this program data is PES
Either packet data or PS packet data. In such a case, the subroutine executed by processor 160 for the PID of the retained transport packet includes, by way of example, a process of inserting program data into the transport packet. Further, a process is provided for assigning a receive descriptor for a queue designated to the adapter 140 to each received transport packet. Processor 160 stores a pointer to the storage location of the corresponding transport packet in pointer field 129-4 of each assigned descriptor. By way of example, the actual reception time field 129-5 is initially left blank.
【0156】 さらに、PCRが入っている各トランスポートパケットは、以下のプロセスを
含む。どんなプログラムでも、PCRを載せたトランスポートパケットを最初に
受取るときには、プロセッサ160は、任意のアダプタ110の参照クロックジ
ェネレータ113(あるいは、アダプタ110の参照クロックジェネレータ11
3に同期的にロックされた他の任意の参照クロックジェネレータ113)からタ
イムスタンプを得る。下記の通り、参照クロック113が、同期的にロックされ
る。この得られたタイムスタンプは、このトランスポートパケットの受信時間と
して、或るプログラムの第1の常に受取られるPCRを載せたトランスポートパ
ケットに指定される。他の再多重化予定のトランスポートパケットは、この第1
の受取られたPCRを載せたトランスポートパケットよりも前に受取られた可能
性があることに留意されたい。再多重化ノード100での公知の内部バッファリ
ング遅延を、受信タイムスタンプに加えて、このトランスポートパケット(特定
のプログラムの第1の常に受取られるPCRが入っている)に指定される概算出
発時間を生成する場合がある。Further, each transport packet containing a PCR includes the following process. When any program receives a transport packet carrying a PCR for the first time, the processor 160 sends the reference clock generator 113 of any adapter 110 (or the reference clock generator 11 of the adapter 110).
3. Obtain a timestamp from any other reference clock generator 113) synchronously locked to 3. As described below, the reference clock 113 is synchronously locked. The obtained time stamp is designated as the transport packet carrying the first always-received PCR of a program as the reception time of this transport packet. Another transport packet to be remultiplexed is the first
May have been received prior to the transport packet carrying the received PCR. The known internal buffering delay at the remultiplexing node 100, in addition to the reception timestamp, is the approximate calculated start time specified in this transport packet (which contains the first always-accepted PCR for a particular program). May be generated.
【0157】 特定のプログラム用のPCRを載せた第2の連続トランスポートパケットを受
取った後で、プロセッサ160は、非同期インタフェース140を通じて受取ら
れたプログラムのPCR間のトランスポートパケット・レートを概算できる。こ
れは、以下の通りに達成される。プロセッサ160は、そのプログラムの2つの
連続するPCRの差を形成する。次に、プロセッサ160は、同一プログラムの
第1のPCRが入っているトランスポートパケットから、第2のPCRが入って
いるトランスポートパケットまでの上記プログラムのトランスポートパケットの
数で、上記の差を割る。これにより、そのプログラム用のトランスポートパケッ
ト・レートが得られる。プロセッサ160は、このプログラム用のトランスポー
トパケット・レートに、第1のPCRが入っているトランスポートパケットから
の、上記の各トランスポートパケットのオフセットまたは変位を掛けることで、
そのプログラムのPCR間のプログラムの各トランスポートパケットの出発時間
を概算する。このオフセットは、第1のPCRを載せたトランスポートパケット
のトランスポートパケット・キュー位置を、概算出発時間が計算されているトラ
ンスポートパケット・キュー位置から差引くことで、決定される。(トランスポ
ートパケットのキュー位置は、すべての受取られたストリームのすべての受取ら
れたトランスポートパケットに対するものであることに留意されたい。)次に、
プロセッサ160は、第1のPCRが入っているトランスポートパケットに指定
された概算出発時間を、このようにして得られた積に加える。プロセッサ160
は、例示として、上記の各トランスポートパケットの概算出発時間を、そのトラ
ンスポートパケットを指す記述子のフィールド129−10に蓄積する。After receiving a second continuous transport packet carrying a PCR for a particular program, the processor 160 can estimate the transport packet rate between the PCRs of the program received over the asynchronous interface 140. This is achieved as follows. Processor 160 forms the difference between two consecutive PCRs of the program. Next, the processor 160 calculates the difference by the number of transport packets of the program from the transport packet containing the first PCR of the same program to the transport packet containing the second PCR. Divide. This gives the transport packet rate for that program. Processor 160 multiplies the transport packet rate for this program by the offset or displacement of each of the above transport packets from the transport packet containing the first PCR,
The departure time of each transport packet of the program during the PCR of the program is estimated. This offset is determined by subtracting the transport packet queue position of the transport packet carrying the first PCR from the transport packet queue position at which the approximate calculated start time is calculated. (Note that the transport packet queue position is for all received transport packets of all received streams.)
Processor 160 adds the approximate calculated emission time specified in the transport packet containing the first PCR to the product thus obtained. Processor 160
Stores, as an example, the approximate calculated start time of each transport packet in the field 129-10 of the descriptor indicating the transport packet.
【0158】 概算出発タイムスタンプを、プログラムのトランスポートパケットに指定した
後で、プロセッサ160は、TSには出力されないトランスポートパケットを捨
てる場合がある(ユーザ仕様により)。次に、上記のプロセスは、TSで運ばれ
る各プログラムのそれぞれの連続するPCR対に対して、絶えず繰り返される。
次に、概算出発時間を持つ記述子のデータは、プロセッサ160が送信PIDハ
ンドラ・サブルーチンを実行する過程において、適切な送信キュー(1つまたは
複数)に転送される。さらに、当初、或るプログラムの第1のPCRを受取る前
に、このプログラムに対して、いくつかのトランスポートパケットが受取られる
ことも留意されたい。これらのトランスポートパケットだけでは、そのトランス
ポートパケット・レートは、このプログラムの第1のPCRと第2のPCR間の
トランスポートパケット・レートとして概算される(これらのパケットが、第1
のPCRと第2のPCRの間になくとも)。次に、この概算出発時間が、上述の
通り、決定される。After specifying the approximate calculated timestamp in the transport packets of the program, the processor 160 may discard the transport packets that are not output to the TS (by user specification). Next, the above process is constantly repeated for each successive PCR pair of each program carried in the TS.
Next, the descriptor data with the approximate calculated departure time is transferred to the appropriate transmit queue (s) as processor 160 executes the transmit PID handler subroutine. It should also be noted that initially, some transport packets are received for a program before receiving the first PCR of the program. With these transport packets alone, the transport packet rate is approximated as the transport packet rate between the first and second PCR of the program (these packets are the first
Between the first and second PCR). Next, the approximate calculated departure time is determined as described above.
【0159】 アダプタ110などの同期インタフェースから受取られたPCRの場合のよう
に、非同期インタフェース140を通じて受取られたPCRは、各プログラムク
ロックと、概算受信タイムスタンプや出力トランスポートパケットに指定するの
に用いられたローカル参照クロック113との間のドリフトについて補正される
。アダプタ110から受取られたトランスポートパケットと違って、インタフェ
ース140から受取られたトランスポートパケットは、実際の受信タイムスタン
プが記録されない。したがって、各トランスポートパケットと関係があって、か
つドリフトを正確に測定できる参照クロックはない。その代わり、プロセッサ1
60は、再多重化ノード100において、送信キューの長さ、または、送信キュ
ーの現在遅延の測度を用いて、ドリフトを概算する。理想的には、送信キューの
長さは、再多重化ノード100において、予め定めた公知遅延から変動してはな
らない。送信キューの長さのいかなる変動も、これらのプログラムのプログラム
クロックに応じたアダプタ(1つまたは複数)110の参照クロックジェネレー
タ(1つまたは複数)113のドリフトを示すものである。したがって、プロセ
ッサ160は、ドリフトの測度を、現在の送信キューの長さと、予想される理想
的な送信キューの長さとの差に応じて、上向きに、または下向きに調整する。例
えば、送信記述子がトランスポートパケットに割当てられるたびに、プロセッサ
160は、現在の送信キューの長さを測定し、その長さを、再多重化ノード10
0において、理想的な送信キューの長さから差引く。この差がドリフトである。
このように計算されたドリフトを使用して、このようなPCRを載せたトランス
ポートパケットのPCRと概算出発時間を調整する。すなわち、このように計算
されたドリフトは、非同期インタフェースを通じて受取られたトランスポートパ
ケットのPCRから差引かれる。この場合、そのトランスポートパケットは、ト
ランスポートパケットの概算出発時間に相当するタイムスロットよりも遅いタイ
ムスロットに入れられる。同様に、このドリフトは、実際のディスパッチ時間の
指定前に、PCRを載せたトランスポートパケットの概算出発時間から差引かれ
る。この概算ドリフトは、非同期インタフェース140から受取られたトランス
ポートパケットにだけ使用され、アダプタ110などの同期インタフェースを通
じて受取られた他のトランスポートパケットには使用されないことに留意された
い。As in the case of a PCR received from a synchronous interface such as the adapter 110, the PCR received through the asynchronous interface 140 is used to specify each program clock and the approximate receive timestamp and output transport packets. The drift with respect to the obtained local reference clock 113 is corrected. Unlike the transport packet received from the adapter 110, the transport packet received from the interface 140 does not have an actual reception time stamp. Therefore, there is no reference clock that is related to each transport packet and that can accurately measure drift. Instead, processor 1
60 estimates the drift at the remultiplexing node 100 using the length of the transmit queue or a measure of the current delay of the transmit queue. Ideally, the length of the transmission queue should not fluctuate at the remultiplexing node 100 from a predetermined known delay. Any variation in the length of the transmit queue is indicative of a drift of the reference clock generator (s) 113 of the adapter (s) 110 in response to the program clock of these programs. Accordingly, processor 160 adjusts the drift measure upward or downward depending on the difference between the current transmit queue length and the expected ideal transmit queue length. For example, each time a transmit descriptor is assigned to a transport packet, the processor 160 measures the length of the current transmit queue and reports the length to the remultiplexing node 10.
At 0, subtract from the ideal transmit queue length. This difference is the drift.
Using the drift calculated in this way, the PCR of the transport packet carrying such a PCR and the approximate calculated emission time are adjusted. That is, the drift thus calculated is subtracted from the PCR of the transport packet received through the asynchronous interface. In this case, the transport packet is put into a time slot that is later than a time slot corresponding to the approximate calculated transmission time of the transport packet. Similarly, this drift is subtracted from the approximate calculated launch time of the transport packet carrying the PCR before the actual dispatch time is specified. Note that this approximate drift is used only for transport packets received from asynchronous interface 140 and not for other transport packets received over a synchronous interface, such as adapter 110.
【0160】 ここで、競合の問題を考えてみる。2つ(または、それ以上)の受取られたト
ランスポートパケットが、出力再多重化TSの同一トランスポートパケット・タ
イムスロット(および、実際のディスパッチ時間)への指定のために競合すると
きには、一方のトランスポートパケットがタイムスロットに指定され、また他方
のトランスポートパケットが次のタイムスロットに指定される。他のトランスポ
ートパケットにPCRが入っている場合には、PCRは、後のタイムスロットへ
の指定を反映させるために、その理想的なタイムスロットから移されるタイムス
ロットの数により調整される。Now, consider the problem of contention. When two (or more) received transport packets contend for designation of the output remultiplexing TS to the same transport packet time slot (and actual dispatch time), one of the The transport packet is specified in a time slot, and the other transport packet is specified in the next time slot. If a PCR is included in another transport packet, the PCR is adjusted by the number of time slots transferred from the ideal time slot to reflect the designation of a later time slot.
【0161】 出力タイミング支援 上記の通り、インタフェース140は、どの特定の時間でもトランスポートパ
ケットを受取らない。同様に、インタフェース140は、どの特定の時間でもト
ランスポートパケットを送らない。しかしながら、インタフェース140と、こ
のインタフェースが接続している通信リンクが、一定のエンド・ツー・エンド遅
延を提供しなくとも、エンド・ツー・エンド遅延の変動をできるだけ大幅に減ら
すことが望ましい。再多重化ノード100は、そのような変動を最小限に抑える
やり方を提供する。Output Timing Support As described above, interface 140 does not receive transport packets at any particular time. Similarly, interface 140 does not send transport packets at any particular time. However, it is desirable for the interface 140 and the communication link to which it connects to provide as much of the end-to-end delay variation as possible without providing a constant end-to-end delay. Remultiplexing node 100 provides a way to minimize such variations.
【0162】 一実施形態により、プロセッサ160は、インタフェース140に指定された
送信キューの送信記述子を、インタフェース140を通じて出力される各トラン
スポートパケットに割当てる。これは、インタフェース140の出力ポートに指
定された送信キューにふさわしい一連の送信PIDハンドラ・サブルーチンを用
いて達成される。さらに、このプロセッサ160は、このインタフェース140
からのデータの出力を管理するために、アダプタ110を指定する。送信キュー
がインタフェース140に技術的に「指定される」が、インタフェース140か
らの出力の管理に指定されたアダプタ110のDMA制御回路116は、実際に
、インタフェース140に指定された記述子キューの記述子の制御を得る。デー
タリンク制御回路112は、以下で説明される通り、上記の記述子にアクセスし
、またこれらの記述子はキャッシュ114に保存される。したがって、このキュ
ーに指定され、かつプロセッサ160で実行される送信PIDハンドラ・サブル
ーチンの組は、実際に、データリンク制御回路112で生成された割込みでトリ
ガされて、このキューを調べさせる。According to one embodiment, the processor 160 assigns a transmission descriptor of the transmission queue specified to the interface 140 to each transport packet output through the interface 140. This is accomplished using a series of transmit PID handler subroutines appropriate for the transmit queue specified for the output port of interface 140. In addition, the processor 160
The adapter 110 is specified to manage the output of data from the. Although the transmit queue is technically “designated” to the interface 140, the DMA control circuit 116 of the adapter 110 designated to manage the output from the interface 140 actually writes the descriptor queue description designated to the interface 140. Gain control of the child. The data link control circuit 112 accesses the above descriptors, as described below, and these descriptors are stored in the cache 114. Thus, the set of transmit PID handler subroutines assigned to this queue and executed by processor 160 are actually triggered by an interrupt generated by data link control circuit 112 to cause this queue to be examined.
【0163】 上記の通り、このような割込みに応答して、プロセッサ160は、スケジュー
ル予定の記述子(すなわち、接続キュー内)を調べ、インタフェース140の出
力ポートから出力されるこれらの接続キューの1つまたは複数の記述子を選択し
、さらに、送信記述子を、インタフェース140の出力ポートと関係のある送信
キューのテールにある接続キューの選択記述子に割当てる。上述のトランスポー
トパケットの出力と違って、プロセッサ160は、接続キューの選択記述子と関
係のあるトランスポートパケットも集め、インタフェース140にバッファリン
グが必要であれば、実際に、それらのトランスポートパケットを物理的に編成し
て、キューのようなバッファにすることもある。As described above, in response to such an interrupt, the processor 160 examines the descriptor to be scheduled (ie, in the connection queue) and checks one of these connection queues output from the output port of the interface 140. One or more descriptors are selected and the transmit descriptor is assigned to a connect queue select descriptor at the tail of the transmit queue associated with the output port of interface 140. Unlike the output of the transport packets described above, the processor 160 also collects the transport packets associated with the selection descriptor of the connection queue and, if buffering is needed at the interface 140, actually transfers those transport packets. May be physically organized into buffers such as queues.
【0164】 上述の通り、DMA制御回路116は、DMA制御回路116が制御を得た最
後の記述子の後で、インタフェース140の出力ポートと関係のある一連の1つ
または複数の記述子の制御を得る。(これらの記述子に対応するトランスポート
パケットが取出されるかどうかは無関係であることに留意されたい。データリン
ク制御回路112は、インタフェース114でのトランスポートパケットの出力
を制御するから、いかなるトランスポートパケットも、データリンク制御回路1
12に接続された出力ポートからは出力されない。別法として、データリンク制
御回路112は、上述の通り、適正に動作でき、それにより、出力TSのミラー
コピーが生成される。このような場合、アダプタ110がアクセスできる各トラ
ンスポートパケットの第2のコピーも提供されなければならない。)上述の通り
、データリンク制御回路112は、そのキャッシュから各記述子を取出し、フィ
ールド129−5に記録された指示ディスパッチ時間に基づいて、対応するトラ
ンスポートパケットが、参照クロックジェネレータ113が示す時間に応じて、
いつ送られるか決定する。参照クロックジェネレータ113の時間がこのディス
パッチ時間にほぼ等しいときには、データリンク制御回路112は、ここで、ト
ランスポートパケットを送ることを示す割込みをプロセッサ160に起こす。こ
れは、データリンク制御回路112が、k個≧1のトランスポートパケットを送
るときに、データリンク制御回路112で起こされるものと同じ割込みであると
言える。しかしながら、この割込みは、好ましくは、k=1のトランスポートパ
ケットごとに起こされる。それに応答して、プロセッサ160は、送信PIDハ
ンドラ・サブルーチンを指す適切なポインタ・テーブルを調べて、適正な送信P
IDハンドラ・サブルーチンを実行する。送信PIDハンドラ・サブルーチンを
実行するときに、プロセッサ160は、インタフェース140でトランスポート
パケットを送らせるコマンドまたは割込みを出す。これにより、参照クロックジ
ェネレータ113の現在時間が、次のトランスポートパケットに対応する記述子
に書込まれたディスパッチ時間とほぼ一致するときに、インタフェース140の
出力ポートから、次のトランスポートパケットそのものが送られる。割込みを出
すデータリンク制御回路112と、トランスポートパケットを出力するインタフ
ェース140との間で、若干のバスと割込みの待ち時間が発生することに留意さ
れたい。さらに、インタフェース140が接続されている通信リンクにも、若干
の待ち時間が発生する場合もある(話中のため、コリジョンのためなど)。プロ
セッサ160がトランスポートパケットのディスパッチ時間を慎重に選択するこ
とで、ある程度まで、このような待ち時間の平均値を受入れることができる。そ
れでも、トランスポートパケットを出力する時間は、適正な時間にかなり近いと
言えるが、ただし、アダプタ110またはインタフェース150を用いて達成で
きる時間よりも近くはない。さらに、プロセッサ160は、上述の通り、1つま
たは複数の記述子を、インタフェース140の出力ポートに指定された送信キュ
ーにも転送する。As described above, the DMA control circuit 116 controls the series of one or more descriptors associated with the output port of the interface 140 after the last descriptor for which the DMA control circuit 116 has gained control. Get. (Note that it is irrelevant whether the transport packets corresponding to these descriptors are taken out. The data link control circuit 112 controls the output of the transport packets at the interface 114, so any transport The port packet is also the data link control circuit 1.
No signal is output from the output port connected to the output port 12. Alternatively, the data link control circuit 112 can operate properly as described above, thereby producing a mirror copy of the output TS. In such a case, a second copy of each transport packet that adapter 110 can access must also be provided. As described above, the data link control circuit 112 fetches each descriptor from its cache and, based on the indicated dispatch time recorded in the field 129-5, determines that the corresponding transport packet has the time indicated by the reference clock generator 113. In response to the,
Decide when to be sent. When the time of the reference clock generator 113 is approximately equal to this dispatch time, the data link control circuit 112 now causes an interrupt to the processor 160 to send a transport packet. This can be said to be the same interrupt that is generated by the data link control circuit 112 when the data link control circuit 112 sends k ≧ 1 transport packets. However, this interrupt is preferably raised for every k = 1 transport packet. In response, processor 160 consults the appropriate pointer table pointing to the transmit PID handler subroutine and
Execute the ID handler subroutine. When executing the transmit PID handler subroutine, processor 160 issues a command or interrupt that causes transport packets to be sent on interface 140. Thus, when the current time of the reference clock generator 113 substantially matches the dispatch time written in the descriptor corresponding to the next transport packet, the next transport packet itself is output from the output port of the interface 140. Sent. It should be noted that there is some bus and interrupt latency between the data link control circuit 112 issuing the interrupt and the interface 140 outputting the transport packet. Further, the communication link to which the interface 140 is connected may also have some latency (due to busy, collision, etc.). To some extent, such an average value of the waiting time can be accepted by the processor 160 judiciously selecting the dispatch time of the transport packet. Nevertheless, the time to output a transport packet may be fairly close to the proper time, but not less than the time achievable with adapter 110 or interface 150. Further, processor 160 also forwards the one or more descriptors to the transmit queue specified on the output port of interface 140, as described above.
【0165】 アダプタ間の参照クロックのロッキング 複数のクロックジェネレータを用いる任意の同期システムに特別な問題は、各
クロックジェネレータの時間またはカウントが、他のそれぞれのクロックジェネ
レータとは正確に同じではないことである。もっと適切に言えば、各クロックジ
ェネレータのカウントは、ドリフトを受ける(例えば、製作公差、温度、電力変
動などの結果として)。このような問題は、環境10にもある。それぞれの再多
重化ノード100、データインジェクタ50、データエクストラクタ60、コン
トローラ20などは、再多重化ノード100内のアダプタ(1つまたは複数)1
10の参照クロックジェネレータ113などの参照クロックジェネレータを持つ
場合がある。少なくとも各ノード50、60、または100の参照クロックジェ
ネレータを、同一のTS信号フローパスにロックして、参照クロックジェネレー
タが同一時間を持つようにすることが望ましい。Locking of Reference Clocks between Adapters A particular problem with any synchronous system using multiple clock generators is that the time or count of each clock generator is not exactly the same as each other clock generator. is there. More appropriately, the count of each clock generator is subject to drift (eg, as a result of manufacturing tolerances, temperature, power fluctuations, etc.). Such a problem also exists in the environment 10. Each remultiplexing node 100, data injector 50, data extractor 60, controller 20, etc. are connected to the adapter (s) 1
There may be a case where a reference clock generator such as ten reference clock generators 113 is provided. It is desirable to lock at least the reference clock generator of each node 50, 60, or 100 to the same TS signal flow path so that the reference clock generators have the same time.
【0166】 放送環境においては、プログラム情報を生成し、編集し、または伝送するあら
ゆる機器を同期化することが有用である。アナログ放送においては、これは、ブ
ラックバーストジェネレータまたはSMPTEタイムコードジェネレータを用い
て達成される。このような同期化により、リアルタイムのビデオフィードを合せ
目なく継ぐことができ、しかも、非同期ビデオフィードを互いに結合する際にと
もなうノイズも減らされる。In a broadcast environment, it is useful to synchronize any device that generates, edits, or transmits program information. In analog broadcasting, this is achieved using a black burst generator or SMPTE time code generator. Such synchronization allows for seamless splicing of real-time video feeds, while also reducing the noise associated with combining asynchronous video feeds together.
【0167】 再多重化ノード100において、同期化の必要性がさらに重要である。この理
由として、受取られたトランスポートパケットは、1つの参照クロックに基づい
て、出発用にスケジュールされ、実際に、第2の参照クロックに基づいて、ディ
スパッチ用に取出されるためである。再多重化ノード100において、トランス
ポートパケットが招くいかなる待ち時間も、同一であると仮定される。とはいえ
、このような仮定は、パケット出発時間の概算に用いる参照クロックと、トラン
スポートパケットの実際のディスパッチに用いる参照クロックとの間に、単に無
視できるドリフトがある場合に限り、有効である。At the remultiplexing node 100, the need for synchronization is even more important. The reason for this is that the received transport packets are scheduled for departure based on one reference clock and are actually picked up for dispatch based on a second reference clock. At the remultiplexing node 100, any latency introduced by the transport packets is assumed to be the same. Nevertheless, such an assumption is valid only if there is only a negligible drift between the reference clock used to estimate the packet departure time and the reference clock used to actually dispatch the transport packets. .
【0168】 一実施形態により、ロッキングには、複数の技法、すなわち、同期化、参照ク
ロックジェネレータ113が提供される。それぞれの技法では、各「スレーブ」
参照クロックジェネレータの時間が、「マスタ」参照クロックジェネレータに対
して定期的に調整される。According to one embodiment, locking is provided with a number of techniques, namely synchronization, reference clock generator 113. In each technique, each "slave"
The time of the reference clock generator is periodically adjusted with respect to the "master" reference clock generator.
【0169】 第1の技法によれば、アダプタ110の一方の参照クロックジェネレータ11
3は、マスター参照クロックジェネレータと称される。他の各アダプタ110の
他の参照クロックジェネレータ113はそれぞれ、スレーブ参照クロックジェネ
レータと称される。プロセッサ160は、マスター参照クロックジェネレータと
スレーブ参照クロックジェネレータを含め、各参照クロックジェネレータ113
の現在システムタイムを定期的に得る。例示として、これは、スリープし(すな
わち、特定の時間、活動停止中である)、ウェイクアップし、プロセッサ160
により各参照クロックジェネレータ113の現在時間を得させるプロセスを用い
て、達成される。プロセッサ160は、各スレーブ参照クロックジェネレータ1
13の現在時間と、マスター参照クロックジェネレータ113の現在時間を比較
する。このような比較に基づいて、プロセッサ160は、各スレーブ参照クロッ
クジェネレータ113を調整して、それらのクロックジェネレータを、マスター
参照クロックジェネレータ113に対して同期化させる。この調整は、単に、参
照クロックジェネレータ113を再ロードするか、調整された時間値を、参照ク
ロックジェネレータ113のシステムタイムに加えるか、あるいは、クロックパ
ルスを参照クロックジェネレータ113のカウンタに供給する電圧制御発振器の
パルスを(フィルタリングし、かつ)スピードアップするか、スローダウンする
ことで、達成される。最後の調整形式は、MPEG−2システムの仕様に述べら
れるフェーズロックループ・フィードバック調整に類似している。According to the first technique, one reference clock generator 11
3 is called the master reference clock generator. Each of the other reference clock generators 113 of each of the other adapters 110 is referred to as a slave reference clock generator. Processor 160 includes a reference clock generator 113 including a master reference clock generator and a slave reference clock generator.
Get the current system time on a regular basis. By way of example, this may include sleeping (i.e., inactive for a specific time), wake-up, and processor 160
By using a process for obtaining the current time of each reference clock generator 113. The processor 160 controls each slave reference clock generator 1
13 and the current time of the master reference clock generator 113 are compared. Based on such a comparison, the processor 160 adjusts each slave reference clock generator 113 to synchronize the clock generators with the master reference clock generator 113. This adjustment may be simply reloading the reference clock generator 113, adding the adjusted time value to the system time of the reference clock generator 113, or voltage control that supplies a clock pulse to the counter of the reference clock generator 113. This is achieved by speeding up (filtering and) or slowing down the oscillator pulses. The last form of adjustment is similar to the phase locked loop feedback adjustment described in the MPEG-2 system specification.
【0170】 ここで、マスター参照クロックジェネレータとスレーブ参照クロックジェネレ
ータが同一ノードにはなくて、通信リンクにより互いに接続されている事例を考
えてみる。例えば、マスター参照クロックジェネレータは、第1の再多重化ノー
ド100にあり、またスレーブ参照クロックジェネレータは、第2の再多重化ノ
ード100にあり、ここでは、第1と第2の再多重化ノードは、第1と第2の再
多重化ノード100のそれぞれのアダプタ110間に延びている通信リンクによ
り互いに接続される。定期的に、タイマ処理に応答して、プロセッサ160は、
マスター参照クロックジェネレータ113の現在時間を得るコマンドを出す。ア
ダプタ110は、現在時間をプロセッサ160に提供することで、応答する。次
に、プロセッサ160は、通信リンクを通じて、現在時間を、他の各スレーブ参
照クロックに送る。次に、このスレーブ参照クロックは、例えば、上述の通り、
調整される。Here, consider a case where the master reference clock generator and the slave reference clock generator are not at the same node but are connected to each other by a communication link. For example, the master reference clock generator is at a first remultiplexing node 100 and the slave reference clock generator is at a second remultiplexing node 100, where the first and second remultiplexing nodes are located. Are connected together by a communication link extending between the respective adapters 110 of the first and second remultiplexing nodes 100. Periodically, in response to the timer processing, the processor 160
A command for obtaining the current time of the master reference clock generator 113 is issued. Adapter 110 responds by providing the current time to processor 160. Next, the processor 160 sends the current time to each of the other slave reference clocks over the communication link. Next, this slave reference clock is, for example, as described above.
Adjusted.
【0171】 マスター参照クロックジェネレータとして、どんなタイムソースまたはタイム
サーバも使用できることに留意されたい。このマスター参照クロックジェネレー
タの時間は、一定のエンド・ツー・エンド遅延のある専用通信リンクを通じて、
スレーブ参照クロックが入っている他の各ノードに送られる。Note that any time source or time server can be used as the master reference clock generator. The time of this master reference clock generator is passed through a dedicated communication link with a fixed end-to-end delay.
Sent to each other node that contains the slave reference clock.
【0172】 再多重化装置30の2つ以上のノード20、40、50、60、または100
が、大きな地理的距離だけ離されている場合には、各ノードの参照クロックジェ
ネレータを、他の任意のノードの参照クロックジェネレータに同期させることは
好ましくないかもしれない。この理由として、通信リンク上で送られるどんな信
号も、いくらかの有限伝播遅延を受けるためである。このような遅れにより、ト
ランスポートパケット(特に、同期タイムスタンプを載せたトランスポートパケ
ット)の伝送に、待ち時間が生じる。代わりに、再多重化装置30の各ノードか
らさらに等距離にある参照クロックソースを使用する方が、好ましいかもしれな
い。周知の通り、米国政府は、地上と衛星の双方の参照クロックジェネレータを
維持している。これらのソースは、周知の搬送波信号で時間を確実に送る。各ノ
ード(例えば、再多重化ノード100)は、放送参照クロックを受信できる受信
機(例えば、GPS受信機180)を備えている場合もある。定期的に、各ノー
ド20、40、50、60、または100のプロセッサ160(または、他の回
路)は、受信機180から参照クロックを得る。プロセッサ160は、この得ら
れた時間を、アダプタ110に転送し、参照クロックジェネレータ113にロー
ドする場合がある。とはいえ、好ましくは、プロセッサ160は、アダプタ11
0にコマンドを出して、参照クロックジェネレータ113の現在時間を得る。次
に、プロセッサ160は、受信機180から得られた時間と、参照クロックジェ
ネレータ113の現在時間との差に基づいて、参照クロックジェネレータ113
の電圧制御発振器を調整する(例えば、スピードアップするか、スローダウンす
る)コマンドを出す。The two or more nodes 20, 40, 50, 60, or 100 of the remultiplexing device 30
However, if they are separated by a large geographical distance, it may not be preferable to synchronize the reference clock generator of each node with the reference clock generator of any other node. The reason for this is that any signal sent on the communication link experiences some finite propagation delay. Such a delay causes a waiting time for transmission of a transport packet (in particular, a transport packet with a synchronization time stamp). Alternatively, it may be preferable to use a reference clock source that is further equidistant from each node of the remultiplexer 30. As is well known, the U.S. Government maintains both terrestrial and satellite reference clock generators. These sources reliably send time on a known carrier signal. Each node (eg, remultiplexing node 100) may include a receiver (eg, GPS receiver 180) that can receive a broadcast reference clock. Periodically, the processor 160 (or other circuit) of each node 20, 40, 50, 60, or 100 obtains a reference clock from the receiver 180. The processor 160 may transfer this obtained time to the adapter 110 and load it into the reference clock generator 113. However, preferably, the processor 160
By issuing a command to 0, the current time of the reference clock generator 113 is obtained. Next, the processor 160 uses the reference clock generator 113 based on the difference between the time obtained from the receiver 180 and the current time of the reference clock generator 113.
Issue a command to adjust (e.g., speed up or slow down) the voltage controlled oscillator.
【0173】 ネットワークした再多重化 上述の操作が与えられれば、再多重化の様々な機能がネットワーク上に分散さ
れる。例えば、複数の再多重化ノード100は、様々な通信リンク、アダプタ1
10、インタフェース140と150によって、互いに接続される。これらの再
多重化ノード100はそれぞれ、単一の再多重化装置30として協働するように
、コントローラ20(図1)により制御される。Networked Remultiplexing Given the above operations, the various functions of remultiplexing are distributed over the network. For example, a plurality of remultiplexing nodes 100 may have various communication links, adapters 1
10. Connected to each other by interfaces 140 and 150. Each of these remultiplexing nodes 100 is controlled by a controller 20 (FIG. 1) to cooperate as a single remultiplexing device 30.
【0174】 このようなネットワーク分散形再多重化装置30は、便宜または柔軟性の点で
望ましい。例えば、1つの再多重化ノード100が、多数のフィアルサーバまた
は記憶装置40(図1)に接続される。もう1つの再多重化ノード100は、カ
メラ、または、復調器/受信機などの複数の他の入力源に接続される。他の再多
重化ノード100はそれぞれ、1つまたは複数の送信機/変調器またはレコーダ
に接続される。別法として、再多重化ノード100を接続して、1つの再多重化
ノード100が障害を起こすか、あるいは故意に使用から外される場合に、冗長
機能、それゆえフォールト・トレランスを提供する。Such a network distributed remultiplexing apparatus 30 is desirable in terms of convenience or flexibility. For example, one remultiplexing node 100 is connected to multiple file servers or storage devices 40 (FIG. 1). Another remultiplexing node 100 is connected to a camera or other input sources such as a demodulator / receiver. Each of the other remultiplexing nodes 100 is connected to one or more transmitters / modulators or recorders. Alternatively, the remultiplexing nodes 100 are connected to provide redundancy, and therefore fault tolerance, if one remultiplexing node 100 fails or is intentionally taken out of use.
【0175】 図3に示される第1のネットワーク再多重化装置30’を考えてみる。この大
筋において、複数の再多重化ノード100’、100’’、100’’’が、1
00BASE−TXイーサネット・ネットワークなどの非同期ネットワークを通
じて互いに接続される。最初の2つの再多重化ノード100’、100’’はそ
れぞれ、4つのTS(TS10〜TS13またはTS14〜TS17)を受取っ
て、単一の再多重化出力TS(TS18またはTS19)を生成する。第3の再
多重化装置100’’’は、TS(TS18とTS19)を受取って、出力再多
重化TS(TS20)を生成する。図3に示される例において、再多重化ノード
100’は、リアルタイムで送られたTS(TS10〜TS13)を、そのアダ
プタ110(図2)を通じて、復調器/受信機から受取る。これに反して、再多
重化装置100’’は、前に蓄積されたTS(TS14〜TS17)を、同期イ
ンタフェース150(図2)を通じて、記憶装置から受取る。再多重化ノード1
00’と100’’はそれぞれ、そのそれぞれの出力再多重化TS(すなわち、
TS18またはTS19)を、再多重化ノード100’’’の非同期(100B
ASE−TXイーサネット)インタフェース140(図2)を通じて、再多重化
ノード100’’’に送る。好都合なことに、再多重化ノード100’と100
’’はそれぞれ、上記の出力タイミング支援技法を用いて、そのような通信に起
因するエンド・ツー・エンド遅延の変動を最小限に抑える。いずれにせよ、再多
重化ノード100’’’は、上述の非タイミング・データの再タイミングの技法
を使用して、TS18とTS19内の各プログラムのビットレートを概算し、ま
たTS18とTS19のジッタを除去する。Consider the first network remultiplexing device 30 ′ shown in FIG. In this outline, a plurality of remultiplexing nodes 100 ', 100 ", 100'"
Connected to each other through an asynchronous network such as a 00BASE-TX Ethernet network. The first two remultiplexing nodes 100 ', 100''each receive four TSs (TS10-TS13 or TS14-TS17) and produce a single remultiplexed output TS (TS18 or TS19). The third remultiplexer 100 '''receives the TSs (TS18 and TS19) and generates an output remultiplexing TS (TS20). In the example shown in FIG. 3, the remultiplexing node 100 'receives the TS (TS10 to TS13) transmitted in real time from the demodulator / receiver through its adapter 110 (FIG. 2). On the other hand, the remultiplexing apparatus 100 ″ receives the previously stored TS (TS14 to TS17) from the storage device through the synchronization interface 150 (FIG. 2). Remultiplexing node 1
00 ′ and 100 ″ respectively have their respective output remultiplexing TSs (ie,
TS18 or TS19) is asynchronous (100B) of the remultiplexing node 100 '''.
ASE-TX Ethernet) interface 140 (FIG. 2) to the remultiplexing node 100 '''. Advantageously, the remultiplexing nodes 100 'and 100'
'' Each use the output timing assistance techniques described above to minimize end-to-end delay variation due to such communications. In any case, the remultiplexing node 100 '''estimates the bit rate of each program in TS18 and TS19, using the techniques for retiming non-timing data described above, and determines the jitter of TS18 and TS19. Is removed.
【0176】 システム30’の少なくとも1つの通信リンク上には、オプションとして、バ
ースティ型装置200も含められる場合がある。例えば、この通信媒体は、LA
Nの場合のように、通常のデータ処理を実行する他の端末と共用される。とはい
え、バースティ型装置200はまた、TS(例えば、TS20)にデータを注入
し、かつ/または、TSからデータを抽出する目的でも備えられる。例えば、バ
ースティ型装置200は、インターネットアクセスを行うサーバ、ウェブサーバ
、ウェブ端末などである。On at least one communication link of the system 30 ′, a bursty device 200 may optionally also be included. For example, this communication medium is LA
As in the case of N, it is shared with other terminals that execute normal data processing. Nevertheless, the bursty device 200 is also provided for injecting data into and / or extracting data from a TS (eg, TS20). For example, the bursty type device 200 is a server for performing Internet access, a web server, a web terminal, or the like.
【0177】 もちろん、これは、単に、ネットワーク分散形再多重化装置の一例にすぎない
。他の構成も可能である。例えば、ノードを接続するネットワークの通信プロト
コルは、ATM、DS3などである。Of course, this is merely an example of a network distributed remultiplexing device. Other configurations are possible. For example, the communication protocol of the network connecting the nodes is ATM, DS3, or the like.
【0178】 ネットワーク分散形再多重化装置30’の2つの重要なプロパティに注目すべ
きである。第1のプロパティとして、図に示される特定のネットワークでは、ど
の入力ポートも、任意の出力ポートから、バースティ型データまたはTSデータ
などのデータを受取ることができる。すなわち、再多重化ノード100’は、再
多重化ノード100’’または100’’’、あるいは、バースティ型装置20
0から、データを受取ることができ、また、再多重化ノード100’’は、再多
重化ノード100’または100’’’、あるいは、バースティ型装置200か
ら、データを受取ることができ、また、再多重化ノード100’’’は、再多重
化ノード100’または100’’の任意のもの、あるいは、バースティ型装置
200から、データを受取ることができ、さらに、バースティ型装置200は、
再多重化ノード100’、100’’、または100’’’の任意のものから、
データを受取ることができる。第2のプロパティとして、データの抽出と廃棄を
行う再多重化ノード、すなわち再多重化ノード100’’’は、同一の通信リン
ク上で、2つ以上のソース(すなわち、再多重化ノード100’または100’
’、あるいは、バースティ型装置200)からデータを受取ることができる。Note two important properties of the network distributed remultiplexer 30 '. As a first property, in the particular network shown, any input port can receive data, such as bursty type data or TS data, from any output port. That is, the remultiplexing node 100 'can be the remultiplexing node 100 "or 100'"
0, data can be received, and the remultiplexing node 100 ″ can receive data from the remultiplexing node 100 ′ or 100 ′ ″ or the bursty device 200, and The remultiplexing node 100 '''can receive data from any of the remultiplexing nodes 100' or 100 '' or from the bursty device 200, and further, the bursty device 200
From any of the remultiplexing nodes 100 ′, 100 ″, or 100 ′ ″,
Data can be received. As a second property, the re-multiplexing node that extracts and discards the data, ie, the re-multiplexing node 100 ′ ″, has two or more sources (ie, the re-multiplexing node 100 ′) on the same communication link. Or 100 '
Or data can be received from the bursty device 200).
【0179】 以上の2つのプロパティの結果として、再多重化装置内で、ソースノードから
宛先ノードへのトランスポートパケットの「信号フローパターン」は、これらの
ノードが接続されるネットワークトポロジには無関係である。言い換えれば、ネ
ットワーク分散形再多重化装置30’内で、トランスポートパケットがノードと
通信リンクパスを通るのは、これらのノードが通信リンクにより厳密に物理接続
されているかどうかにはよらない。したがって、きわめて一般的なネットワーク
トポロジが用いられる。すなわち、再多重化ノード100は、いくぶん任意のト
ポロジ(バス、リング、チエーン、ツリー、スターなど)で接続されるが、それ
でもなお、任意の種類のノード間信号フローパターンを事実上実現するように、
TSを再多重化できる。例えば、ノード100’、100’’、100’’’、
および200は、バストポロジで接続される。それでも、送られるデータ(例え
ば、TS)について、次の信号フローパターンがどれでも実現できる。すなわち
、ノード100’から100’’へ、次に、ノード100’’’へ;並行するノ
ード100’と100’’’のそれぞれからノード200へ;並行するノード2
00と100’からノード100’’へ;ノード100’’からノード100’
’’へ、などである。この種の伝送では、異なる組の通信ノード間で、信号フロ
ーをインタリーブするのに時分割多重化が必要である場合もある。例えば、図3
に示される信号フローにおいて、TS18とTS19は、共用通信媒体上で時分
割多重化される。As a result of the above two properties, the “signal flow pattern” of the transport packet from the source node to the destination node in the remultiplexer is independent of the network topology to which these nodes are connected is there. In other words, in the network distributed remultiplexer 30 ', the transport packets passing through the communication link paths with the nodes do not depend on whether these nodes are strictly physically connected by the communication links. Therefore, a very general network topology is used. That is, the remultiplexing nodes 100 are connected in a somewhat arbitrary topology (bus, ring, chain, tree, star, etc.), but nevertheless, so as to effectively implement any type of inter-node signal flow pattern. ,
The TS can be remultiplexed. For example, nodes 100 ', 100'',100''',
And 200 are connected in a bus topology. Nevertheless, for the data to be sent (eg, TS), any of the following signal flow patterns can be implemented. That is, from node 100 'to 100'', then to node 100'''; from each of parallel nodes 100 'and 100''' to node 200; parallel node 2
00 and 100 'to node 100 "; node 100" to node 100'
To '', etc. In this type of transmission, time division multiplexing may be required to interleave signal flows between different sets of communication nodes. For example, FIG.
In the signal flow shown in (1), TS18 and TS19 are time-division multiplexed on a shared communication medium.
【0180】 上記の考察は、本発明の単なる例示にすぎない。通常当業者であれば、以下の
クレームの精神と範囲から逸脱することなく、多数の代替実施形態を案出できよ
う。The above discussion is merely illustrative of the present invention. In general, those skilled in the art will be able to devise numerous alternative embodiments without departing from the spirit and scope of the following claims.
【図1】本発明の他の実施形態による再多重化環境を示す図である。FIG. 1 is a diagram illustrating a remultiplexing environment according to another embodiment of the present invention.
【図2】本発明の一実施形態による非同期プラットフォームを用いる再多重化ノ
ードを示す図である。FIG. 2 illustrates a remultiplexing node using an asynchronous platform according to one embodiment of the present invention.
【図3】本発明の一実施形態により、トランスポートパケットが、再多重化ノー
ドにおいて、PIDに応じて処理される方法を図式的に描いた流れ図である。FIG. 3 is a flow diagram that schematically illustrates how a transport packet is processed at a remultiplexing node according to a PID, according to one embodiment of the invention.
【図4】本発明の一実施形態によるネットワーク分散形の再多重化装置を示す図
である。FIG. 4 is a diagram illustrating a network-distributed remultiplexing apparatus according to an embodiment of the present invention;
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 09/007,334 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/007,203 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/007,204 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/007,210 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/006,963 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/006,964 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/007,198 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (31)優先権主張番号 09/007,199 (32)優先日 平成10年1月14日(1998.1.14) (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GE,GH,GM,HR ,HU,ID,IL,IS,JP,KE,KG,KP, KR,KZ,LC,LK,LR,LS,LT,LU,L V,MD,MG,MK,MN,MW,MX,NO,NZ ,PL,PT,RO,RU,SD,SE,SG,SI, SK,SL,TJ,TM,TR,TT,UA,UG,U Z,VN,YU,ZW (72)発明者 スラッテリー、ウィリアム アメリカ合衆国、カリフォルニア州 95030、ロス ガトス、アルメンドラ ア ベニュー 314 (72)発明者 ロビネット、ロバート アメリカ合衆国、カリフォルニア州 94025、メンロ パーク、コットン スト リート 485 Fターム(参考) 5C059 KK22 KK35 KK43 MA00 RB01 RB10 RB16 RC02 RC03 RC04 RC09 RC35 SS02 SS06 UA02 5J104 AA01 JA04 5K028 EE03 EE05 KK01 KK12 LL12 MM08 RR02 SS23 SS24 ────────────────────────────────────────────────── ─── Continued on the front page (31) Priority claim number 09 / 007,334 (32) Priority date January 14, 1998 (Jan. 14, 1998) (33) Priority claim country United States (US) ( 31) Priority claim number 09 / 007,203 (32) Priority date January 14, 1998 (Jan. 14, 1998) (33) Priority claim country United States (US) (31) Priority claim number 09 / 007,204 (32) Priority date January 14, 1998 (Jan. 14, 1998) (33) Priority country United States (US) (31) Priority number 09 / 007,210 (32) Priority date January 14, 1998 (Jan. 14, 1998) (33) Priority claim country United States (US) (31) Priority claim number 09 / 006,963 (32) Priority date January 14, 1998 ( 1998.1.14) (33) Priority claim country United States (US) (31) Priority claim number 09 / 006,96 (32) Priority date January 14, 1998 (Jan. 14, 1998) (33) Priority claim country United States (US) (31) Priority claim number 09 / 007,198 (32) Priority date 1998 January 14, 1998 (Jan. 14, 1998) (33) Priority claiming country United States (US) (31) Priority claim number 09/007, 199 (32) Priority date January 14, 1998 (Jan. 1998) .14) (33) Priority country United States (US) (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, KE) , LS, MW, SD, SZ, UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AL, AM, AT, AU, AZ, BA, BB, BG , BR, BY CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GE, GH, GM, HR, HU, ID, IL, IS, JP, KE, KG, KP, KR, KZ , LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, UA, UG, UZ, VN, YU, ZW (72) Inventor Slattery, William United States of America, 95030, California, Los Gatos, Almendra Avenue 314 (72) Inventor Robinet, Robert United States, California 94025, Menlo Park, Cotton Street 485 F-term (reference) 5C059 KK22 KK35 KK43 MA00 RB01 RB10 RB16 RC02 RC03 RC04 RC09 RC35 SS02 SS06 UA02 5J104 AA01 JA04 5K028 EE 03 EE05 KK01 KK12 LL12 MM08 RR02 SS23 SS24
Claims (136)
て、 (a)可変圧縮プログラムデータを載せたトランスポートパケットと、1つま
たは複数のヌル・トランスポートパケットを含むトランスポートストリームを予
め定めたビットレートで受取り、前記圧縮プログラムデータを載せたトランスポ
ートパケットのどれも、前記受取られたトランスポートストリーム内の前記トラ
ンスポートパケット・タイムスロットへの挿入に使えないときには、前記ヌル・
トランスポートパケットのそれぞれを、前記受取られたトランスポートストリー
ムのタイムスロットに挿入して、前記トランスポートストリームの前記予め定め
たビットレートを保つ工程と、 (b)前記ヌル・トランスポートパケットの1つまたは複数を、他の再多重化す
べきデータを載せたトランスポートパケットに選択的に代える工程と、 を含むことを特徴とする方法。1. A method for optimizing the bandwidth of a transport stream, comprising: (a) a transport stream including variable transport program data and one or more null transport packets; Is received at a predetermined bit rate, and if none of the transport packets carrying the compressed program data can be used for insertion into the transport packet time slot in the received transport stream, the null
Inserting each of the transport packets into a time slot of the received transport stream to maintain the predetermined bit rate of the transport stream; and (b) one of the null transport packets. Or selectively replacing a plurality with transport packets carrying other data to be remultiplexed.
ットには、プログラム固有の情報が入っていることを特徴とする請求項1記載の
方法。2. The method according to claim 1, wherein the transport packet carrying the data to be remultiplexed contains program-specific information.
ットには、絶えず情報を提示するためのビットレートも伝送待ち時間の要件も持
たないトランザクションデータが入っていることを特徴とする請求項1記載の方
法。3. The transport packet carrying the other data to be remultiplexed contains transaction data having neither a bit rate for continuously presenting information nor a transmission latency requirement. The method of claim 1, wherein
ンスポートパケットの選択されたものを抽出し、それぞれの選択されてないトラ
ンスポートパケットを捨て、さらに、前記ヌル・トランスポートパケットのそれ
ぞれを捨てる工程と、 (d)前記選択されたトランスポートパケットを蓄積する工程と、 (e)少なくとも1つの他のデータを載せたトランスポートパケットを蓄積する
工程と、 (f)前記蓄積されたトランスポートパケットのそれぞれを、出力トランスポー
トストリームに出力するようにスケジュールする工程と、 (g)前記蓄積されたトランスポートパケットのそれぞれを、前記スケジュール
に対応するタイムスロットに出力する工程と、 をさらに含むことを特徴とする請求項1記載の方法。(C) extracting selected ones of said transport packets of said received transport stream, discarding each unselected transport packet, and further comprising: Discarding each; (d) storing the selected transport packet; (e) storing a transport packet carrying at least one other data; and (f) storing the stored transport packet. Scheduling each of the transport packets for output to an output transport stream; and (g) outputting each of the stored transport packets to a time slot corresponding to the schedule. The method of claim 1, comprising:
つがスケジュールされる前記出力トランスポートストリームの各タイムスロット
に、前記タイムスロット用にスケジュールされた前記対応する蓄積されたトラン
スポートパケットを出力する工程と、 (i)いかなるトランスポートパケットも、前記タイムスロットの1つに出力す
るようにはスケジュールされていない場合に、ヌル・トランスポートパケットを
出力する工程と、 をさらに含み、 前記出力トランスポートストリームの前記ヌル・トランスポートパケットが占
有する前記出力トランスポートストリームの帯域幅が、工程(a)で受取られた
各トランスポートストリーム内で前記ヌル・トランスポートパケットが占有する
帯域幅よりも小さいことを特徴とする請求項4記載の方法。And (h) a corresponding one of the stored transport packets.
Outputting, for each time slot of the output transport stream for which one is scheduled, the corresponding stored transport packet scheduled for the time slot; and Outputting a null transport packet when not scheduled to output to one of the output transport streams, wherein the output transport occupied by the null transport packet of the output transport stream is The method of claim 4, wherein the bandwidth of the stream is less than the bandwidth occupied by the null transport packets in each transport stream received in step (a).
トを、前記出力トランスポートストリームのタイムスロットに選択的に指定して
、受信機バッファに対する前記データを載せたトランスポートパケットの伝送ビ
ットレートを調整する工程がさらに含まれることを特徴とする請求項3記載の方
法。6. The transport packet carrying the data for a receiver buffer by selectively designating a transport packet carrying the data in a time slot of the output transport stream. 4. The method of claim 3, further comprising the step of adjusting the transmission bit rate.
置であって、 可変圧縮プログラムデータを載せたトランスポートパケットと、1つまたは複
数のヌル・トランスポートパケットを含むトランスポートストリームを予め定め
たビットレートで受取り、前記圧縮プログラムデータを載せたトランスポートパ
ケットのどれも、前記受取られたトランスポートストリーム内の前記トランスポ
ートパケット・タイムスロットへの挿入に使えないときには、前記ヌル・トラン
スポートパケットのそれぞれを、前記受取られたトランスポートストリームのタ
イムスロットに挿入して、前記トランスポートストリームの前記予め定めたビッ
トレートを保つ第1のインタフェースと、 前記ヌル・トランスポートパケットの1つまたは複数を、他の再多重化すべき
データを載せたトランスポートパケットに選択的に代えるプロセッサと、 を備えることを特徴とする再多重化装置。7. A remultiplexing device for optimizing the bandwidth of a transport stream, comprising: a transport packet carrying variable compressed program data; and a transport stream including one or more null transport packets. Is received at a predetermined bit rate, and if none of the transport packets carrying the compressed program data can be used for insertion into the transport packet time slot in the received transport stream, the null A first interface that inserts each of the transport packets into a time slot of the received transport stream to maintain the predetermined bit rate of the transport stream; and one of the null transport packets. Or multiple The re-multiplexing device characterized by comprising a processor replacing selectively transport packet carrying the data to be another remultiplexing, the.
ットには、プログラム固有の情報が入っていることを特徴とする請求項7記載の
再多重化装置。8. The remultiplexing apparatus according to claim 7, wherein the transport packet carrying the other data to be remultiplexed contains information unique to a program.
ットには、絶えず情報を提示するためのビットレートも伝送待ち時間の要件も持
たないトランザクションデータが入っていることを特徴とする請求項7記載の再
多重化装置。9. The transport packet carrying the other data to be remultiplexed contains transaction data having neither a bit rate nor a transmission latency requirement for constantly presenting information. The remultiplexing device according to claim 7, wherein
られたトランスポートストリームの前記トランスポートパケットの選択されたも
のを抽出し、それぞれの選択されてないトランスポートパケットを捨て、さらに
、前記ヌル・トランスポートパケットのそれぞれを捨てる再多重化装置であって
、 前記第1のインタフェースと前記プロセッサが、前記選択されたトランスポー
トパケットを蓄積し、また前記プロセッサが、少なくとも1つの他のデータを載
せたトランスポートパケットを蓄積し、さらに、前記プロセッサが、前記蓄積さ
れたトランスポートパケットのそれぞれを、出力トランスポートストリームに出
力するようにスケジュールするメモリと、 前記蓄積されたトランスポートパケットのそれぞれを、前記スケジュールに対
応するタイムスロットに出力する第2のインタフェースと、 をさらに備えることを特徴とする請求項7記載の再多重化装置。10. The first interface and the processor extract a selected one of the transport packets of the received transport stream, discarding each unselected transport packet, and A remultiplexer for discarding each of said null transport packets, wherein said first interface and said processor store said selected transport packets, and said processor stores at least one other data packet. Storing a transport packet carrying the stored transport packets, further comprising: a memory for scheduling the processor to output each of the stored transport packets to an output transport stream; and The above Re-multiplexing device of claim 7 wherein a second interface for outputting to the time slot, and further comprising a corresponding Joule.
スケジュールされる前記出力トランスポートストリームの各タイムスロットに、
前記第2のインタフェースが、前記タイムスロット用にスケジュールされた前記
対応する蓄積されたトランスポートパケットを出力し、また、いかなるトランス
ポートパケットも、前記タイムスロットの1つに出力するようにはスケジュール
されていない場合に、前記第2のインタフェースが、ヌル・トランスポートパケ
ットを出力し、さらに、前記出力トランスポートストリームの前記ヌル・トラン
スポートパケットが占有する前記出力トランスポートストリームの帯域幅が、そ
れぞれの受取られた各トランスポートストリーム内で前記ヌル・トランスポート
パケットが占有する帯域幅よりも小さいことを特徴とする請求項10記載の再多
重化装置。11. In each time slot of the output transport stream where a corresponding one of the stored transport packets is scheduled,
The second interface outputs the corresponding stored transport packet scheduled for the time slot, and any transport packet is scheduled to output on one of the time slots. If not, the second interface outputs a null transport packet, and furthermore, the output transport stream occupied by the null transport packet of the output transport stream has a respective bandwidth. The remultiplexing device according to claim 10, wherein the bandwidth occupied by the null transport packet in each received transport stream is smaller than the bandwidth occupied by the null transport packet.
トを、前記出力トランスポートストリームのタイムスロットに選択的に指定して
、受信機バッファに対する前記データを載せたトランスポートパケットの伝送ビ
ットレートを調整することを特徴とする請求項9記載の再多重化装置。12. The transmission bit rate of the transport packet carrying the data for a receiver buffer, wherein the processor selectively designates a transport packet carrying the data as a time slot of the output transport stream. 10. The remultiplexing apparatus according to claim 9, wherein
パケットと、1つまたは複数のヌル・トランスポートパケットを含むトランスポ
ートストリームを予め定めたビットレートで受取り、前記圧縮プログラムデータ
を載せたトランスポートパケットのどれも、前記受取られたトランスポートスト
リーム内の前記トランスポートパケット・タイムスロットへの挿入に使えないと
きには、前記ヌル・トランスポートパケットのそれぞれを、前記受取られたトラ
ンスポートストリームのタイムスロットに挿入して、前記トランスポートストリ
ームの前記予め定めたビットレートを保つ工程と、 (b)前記ヌル・トランスポートパケットの1つまたは複数を、他の再多重化す
べきデータを載せたトランスポートパケットに選択的に代える工程と、 により生成されることを特徴とする帯域幅適正化トランスポートストリーム。13. (a) A transport packet containing variable compressed program data and a transport stream containing one or more null transport packets are received at a predetermined bit rate, and the compressed program data is loaded. If none of the transport packets used for insertion into the transport packet timeslots in the received transport stream can be used, each of the null transport packets is replaced by the received transport stream. Inserting into a time slot to maintain the predetermined bit rate of the transport stream; and (b) transforming one or more of the null transport packets with other data to be remultiplexed. Selective for port packets A step of changing the bandwidth optimization transport stream characterized in that it is produced by.
ランスポートパケットの選択されたものを抽出し、それぞれの選択されてないト
ランスポートパケットを捨て、さらに、前記ヌル・トランスポートパケットのそ
れぞれを捨てる工程と、 (d)前記選択されたトランスポートパケットを蓄積する工程と、 (e)少なくとも1つの他のデータを載せたトランスポートパケットを蓄積する
工程と、 (f)前記蓄積されたトランスポートパケットのそれぞれを、出力トランスポー
トストリームに出力するようにスケジュールする工程と、 (g)前記蓄積されたトランスポートパケットのそれぞれを、前記スケジュール
に対応するタイムスロットに出力する工程と、 のさらなる工程により生成されることを特徴とする請求項13記載の帯域幅適正
化ビットストリーム。14. (c) extracting a selected one of said transport packets of said received transport stream, discarding each unselected transport packet, and further comprising: Discarding each; (d) storing the selected transport packet; (e) storing a transport packet carrying at least one other data; and (f) storing the stored transport packet. Scheduling each of the transport packets for output to an output transport stream; and (g) outputting each of the stored transport packets to a time slot corresponding to the schedule. Claims characterized by being produced by a process 3 bandwidth optimization bitstream according.
1つがスケジュールされる前記出力トランスポートストリームの各タイムスロッ
トに、前記タイムスロット用にスケジュールされた前記対応する蓄積されたトラ
ンスポートパケットを出力する工程と、 (i)いかなるトランスポートパケットも、前記タイムスロットの1つに出力す
るようにはスケジュールされていない場合に、ヌル・トランスポートパケットを
出力する工程と、 のさらなる工程により生成され、 前記出力トランスポートストリームの前記ヌル・トランスポートパケットが占
有する前記出力トランスポートストリームの帯域幅が、工程(a)で受取られた
各トランスポートストリーム内で前記ヌル・トランスポートパケットが占有する
帯域幅よりも小さいことを特徴とする請求項14記載の帯域幅適正化トランスポ
ートストリーム。15. Each time slot of the output transport stream to which a corresponding one of the stored transport packets is scheduled, the corresponding stored transport scheduled for the time slot. Outputting a packet; and (i) outputting a null transport packet if no transport packet is scheduled to output in one of the time slots. The bandwidth of the output transport stream generated and occupied by the null transport packets of the output transport stream is occupied by the null transport packets in each transport stream received in step (a). Less than the bandwidth 15. The bandwidth optimized transport stream according to claim 14, wherein:
ットを、前記出力トランスポートストリームのタイムスロットに選択的に指定し
て、受信機バッファに対する前記データを載せたトランスポートパケットの伝送
ビットレートを調整する工程がさらに含まれることを特徴とする請求項13記載
の帯域幅適正化トランスポートストリーム。16. In the step (b), a transport packet carrying data is selectively designated as a time slot of the output transport stream, and the transport packet carrying the data to a receiver buffer is provided. 14. The bandwidth optimized transport stream according to claim 13, further comprising the step of adjusting the transmission bit rate of the transport stream.
一定のエント・ツー・エンド通信遅延の要件、独立ビットレート、および、前記
ビデオプログラムの復号化とプレゼンテーションを同期化する独立エンコーダ・
システム・タイムクロックのプログラム・クロック基準タイムスタンプから成る
圧縮データが入っているトランスポートパケットを含め、トランスポートパケッ
トを再多重化する方法であって、 (a)特定の入力ポートから、トランスポートパケットを受取る工程と、 (b)前記受取られたトランスポートパケットに、未使用の記述子を割当てる工
程と、 (c)前記トランスポートパケットが受取られた時間を示す受信タイムスタンプ
を前記割当てられた記述子に記録する工程と、 を含み、 前記割当てられた記述子が、前記入力ポートと関係のある受信キュー内で、前
記特定の入力ポートからの受取り順に保たれることを特徴とする方法。17. For each of one or more video programs,
Constant end-to-end communication delay requirements, independent bit rate, and independent encoder to synchronize the decoding and presentation of the video program
A method for remultiplexing transport packets, including transport packets containing compressed data consisting of a program clock reference timestamp of a system time clock, comprising: (a) a transport packet from a particular input port; (B) assigning an unused descriptor to the received transport packet; and (c) assigning a received timestamp indicating the time at which the transport packet was received. Recording in a child, wherein the assigned descriptors are kept in order of receipt from the particular input port in a receive queue associated with the input port.
ケットの受取りと、前記トランスポートパケットの出力との内部バッファリング
遅延により、前記受取られたトランスポートパケットの伝送をスケジュールする
工程をさらに含むことを特徴とする請求項17記載の方法。18. The method further comprising scheduling the transmission of the received transport packet according to the reception time stamp and an internal buffering delay between receipt of the transport packet and output of the transport packet. The method of claim 17, wherein:
を送る出力ポートと関係のある送信キューの記述子を割当てる工程と、 (g)ディスパッチ時間を、前記送信キューの前記割当てられた記述子に指定す
る工程と、 (h)前記送信キューの前記記述子を、ディスパッチ時間が長くなる順に順序付
ける工程と、 をさらに含むことを特徴とする請求項17記載の方法。19. A step of: (d) examining each descriptor in said receive queue; and (e) a transmit queue associated with an output port for sending a transport packet, if any, pointed to by each examined descriptor. (G) assigning a dispatch time to the assigned descriptor of the transmission queue; and (h) ordering the descriptors of the transmission queue in descending order of dispatch time. 18. The method of claim 17, further comprising: attaching.
スポートパケットを、前記出力ポートから、前記対応する記述子に指定された前
記ディスパッチ時間に対応する出力トランスポートストリームのタイムスロット
に送る工程をさらに含むことを特徴とする請求項19記載の方法。20. (i) transferring each transport packet indicated by a corresponding descriptor in the transmission queue from the output port to an output transport stream corresponding to the dispatch time specified in the corresponding descriptor; The method of claim 19, further comprising sending to a time slot.
一定のエント・ツー・エンド通信遅延の要件、独立ビットレート、および、前記
ビデオプログラムの復号化とプレゼンテーションを同期化する独立エンコーダ・
システム・タイムクロックのプログラム・クロック基準タイムスタンプから成る
圧縮データが入っているトランスポートパケットを含め、トランスポートパケッ
トを再多重化する方法であって、 (a)送信記述子のキューからの各記述子と、各記述子が指すトランスポートパ
ケットを順次に取出す工程と、 (b)それぞれの取出された記述子に記録されたディスパッチ時間に対応する時
間にて、前記取出された記述子が指す前記取出されたトランスポートパケットを
、前記取出された記述子に記録された前記ディスパッチ時間に対応する出力トラ
ンスポートストリームのタイムスロットに送る工程と、 を含むことを特徴とする方法。21. For each of one or more video programs,
Constant end-to-end communication delay requirements, independent bit rate, and independent encoder to synchronize the decoding and presentation of the video program
A method for remultiplexing transport packets, including transport packets containing compressed data comprising a program clock reference timestamp of a system time clock, comprising: (a) each description from a queue of transmission descriptors; (B) sequentially extracting the transport packets pointed to by the descriptors, and (b) at times corresponding to the dispatch times recorded in the respective extracted descriptors, Sending the retrieved transport packet to a time slot of the output transport stream corresponding to the dispatch time recorded in the retrieved descriptor.
1つまたは複数のキュー内の各記述子を調べる工程と、 (d)もしあれば、それぞれの調べられた記述子が指すトランスポートパケット
を送る出力ポートと関係のある前記送信キューの記述子を割当てる工程と、 (e)ディスパッチ時間を、前記送信キューの前記割当てられた記述子に指定す
る工程と、 (f)前記送信キューの前記記述子を、ディスパッチ時間が長くなる順に順序付
ける工程と、 をさらに含むことを特徴とする請求項21記載の方法。22. (c) examining each descriptor in one or more queues of descriptors pointing to the transport packet to be output; and (d) checking each descriptor, if any, Assigning a descriptor of the transmit queue associated with an output port to send the transport packet to point to; (e) assigning a dispatch time to the assigned descriptor of the transmit queue; 22. The method of claim 21, further comprising: ordering the descriptors of a transmit queue in descending dispatch time order.
一定のエント・ツー・エンド通信遅延の要件、独立ビットレート、および、前記
ビデオプログラムの復号化とプレゼンテーションを同期化する独立エンコーダ・
システム・タイムクロックのプログラム・クロック基準タイムスタンプから成る
圧縮データが入っているトランスポートパケットを含め、トランスポートパケッ
トを再多重化する再多重化装置であって、 キャッシュと、 特定の入力ポートからトランスポートパケットを受取り、また前記キャッシュ
の未使用の記述子を、前記受取られたトランスポートパケットに割当て、さらに
、前記トランスポートパケットが受取られた時間を示す受信タイムスタンプを、
前記割当てられた記述子に記録するために、前記キャッシュに接続されたデータ
リンク制御回路と、 を備え、 前記割当てられた記述子が、前記入力ポートと関係のある受信キュー内で、前
記特定の入力ポートからの受取り順に保たれることを特徴とする再多重化装置。23. For each of one or more video programs,
Constant end-to-end communication delay requirements, independent bit rate, and independent encoder to synchronize the decoding and presentation of the video program
A remultiplexer for remultiplexing transport packets, including transport packets containing compressed data consisting of a program clock reference timestamp of a system time clock, comprising: a cache; Receiving a port packet and assigning an unused descriptor of the cache to the received transport packet, and further receiving a time stamp indicating when the transport packet was received;
A data link control circuit connected to the cache for recording in the assigned descriptor, wherein the assigned descriptor is located in a receive queue associated with the input port. A remultiplexing apparatus characterized by being maintained in the order of reception from an input port.
ケットの受取りと、前記トランスポートパケットの出力との内部バッファリング
遅延により、前記受取られたトランスポートパケットの伝送をスケジュールする
プロセッサをさらに備えることを特徴とする請求項23記載の再多重化装置。24. A processor for scheduling transmission of the received transport packet according to the reception time stamp and an internal buffering delay between receipt of the transport packet and output of the transport packet. The remultiplexing apparatus according to claim 23, wherein:
れの調べられた記述子が指すトランスポートパケットを送る出力ポートと関係の
ある送信キューの記述子を割当て、また、ディスパッチ時間を、前記送信キュー
の前記割当てられた記述子に指定し、さらに、前記送信キューの前記記述子を、
ディスパッチ時間が長くなる順に順序付けるプロセッサをさらに備えることを特
徴とする請求項23記載の再多重化装置。25. Examining each of the descriptors in the receive queue and assigning, if any, a descriptor of the transmit queue associated with an output port to send the transport packet pointed to by the inspected descriptor; Specifying a dispatch time in the assigned descriptor of the transmit queue, and further defining the descriptor of the transmit queue:
24. The remultiplexing apparatus according to claim 23, further comprising a processor for ordering the dispatch time in descending order.
トパケットを、前記出力ポートから、前記対応する記述子に指定された前記ディ
スパッチ時間に対応する出力トランスポートストリームのタイムスロットに送る
第2のデータリンク制御回路をさらに備えることを特徴とする請求項25記載の
再多重化装置。26. Transfer each transport packet indicated by a corresponding descriptor in the transmission queue from the output port to a time slot of an output transport stream corresponding to the dispatch time specified in the corresponding descriptor. 26. The remultiplexing device according to claim 25, further comprising a second data link control circuit for transmitting.
一定のエント・ツー・エンド通信遅延の要件、独立ビットレート、および、前記
ビデオプログラムの復号化とプレゼンテーションを同期化する独立エンコーダ・
システム・タイムクロックのプログラム・クロック基準タイムスタンプから成る
圧縮データが入っているトランスポートパケットを含め、トランスポートパケッ
トを再多重化する再多重化装置であって、 キャッシュと、 送信記述子のキューからの各記述子と、各記述子が指すトランスポートパケッ
トを、前記キャッシュから順次に取出し、また、それぞれの取出された記述子に
記録されたディスパッチ時間に対応する時間にて、前記取出された記述子が指す
前記取出されたトランスポートパケットを、前記取出された記述子に記録された
前記ディスパッチ時間に対応する出力トランスポートストリームのタイムスロッ
トに送るために、前記キャッシュに接続されたデータリンク制御回路と、 を備えることを特徴とする再多重化装置。27. For each of one or more video programs,
Constant end-to-end communication delay requirements, independent bit rate, and independent encoder to synchronize the decoding and presentation of the video program
A remultiplexer for remultiplexing transport packets, including transport packets containing compressed data consisting of a program clock reference timestamp of a system time clock, comprising a cache and a queue of transmit descriptors. And the transport packet pointed to by each descriptor are sequentially fetched from the cache, and the fetched description is written at a time corresponding to the dispatch time recorded in each fetched descriptor. A data link control circuit connected to the cache for sending the fetched transport packet pointed to by a child to a time slot of an output transport stream corresponding to the dispatch time recorded in the fetched descriptor. A remultiplexing device, comprising:
たは複数のキュー内の各記述子を調べ、もしあれば、それぞれの調べられた記述
子が指すトランスポートパケットを送る出力ポートと関係のある前記送信キュー
の記述子を割当て、ディスパッチ時間を、前記送信キューの前記割当てられた記
述子に指定し、さらに、前記送信キューの前記記述子を、ディスパッチ時間が長
くなる順に順序付けるプロセッサをさらに備えることを特徴とする請求項27記
載の再多重化装置。28. Examining each descriptor in one or more queues of descriptors pointing to the transport packet to be output, and sending the transport packet pointed to by each examined descriptor, if any, to the output port. Assigning a descriptor of the transmit queue related to, assigning a dispatch time to the assigned descriptor of the transmit queue, and further ordering the descriptors of the transmit queue in descending dispatch time order The remultiplexing device according to claim 27, further comprising a processor.
一定のエント・ツー・エンド通信遅延の要件、独立ビットレート、および、前記
ビデオプログラムの復号化とプレゼンテーションを同期化する独立エンコーダ・
システム・タイムクロックのプログラム・クロック基準タイムスタンプから成る
圧縮データが入っているトランスポートパケットを含め、トランスポートパケッ
トが入っているトランスポートストリームであって、 (a)特定の入力ポートから、トランスポートパケットを受取る工程と、 (b)前記受取られたトランスポートパケットに、未使用の記述子を割当てる工
程と、 (c)前記トランスポートパケットが受取られた時間を示す受信タイムスタンプ
を前記割当てられた記述子に記録する工程と、 により生成され、 前記割当てられた記述子が、前記入力ポートと関係のある受信キュー内で、前
記特定の入力ポートからの受取り順に保たれることを特徴とするトランスポート
ストリーム。29. For each of one or more video programs,
Constant end-to-end communication delay requirements, independent bit rate, and independent encoder to synchronize the decoding and presentation of the video program
A transport stream containing transport packets, including transport packets containing compressed data consisting of a program clock reference timestamp of a system time clock, comprising: (a) a transport stream from a particular input port; Receiving a packet; (b) assigning an unused descriptor to the received transport packet; (c) being assigned a receive timestamp indicating a time at which the transport packet was received. Recording in a descriptor, wherein the assigned descriptor is maintained in a receiving queue associated with the input port in the order received from the particular input port. Port stream.
一定のエント・ツー・エンド通信遅延の要件、独立ビットレート、および、前記
ビデオプログラムの復号化とプレゼンテーションを同期化する独立エンコーダ・
システム・タイムクロックのプログラム・クロック基準タイムスタンプから成る
圧縮データが入っているトランスポートパケットを含め、トランスポートパケッ
トが入っているトランスポートストリームであって、 (a)送信記述子のキューからの各記述子と、各記述子が指すトランスポートパ
ケットを順次に取出す工程と、 (b)それぞれの取出された記述子に記録されたディスパッチ時間に対応する時
間にて、前記取出された記述子が指す前記取出されたトランスポートパケットを
、前記取出された記述子に記録された前記ディスパッチ時間に対応する出力トラ
ンスポートストリームのタイムスロットに送る工程と、 により生成されることを特徴とするトランスポートストリーム。30. For each of one or more video programs,
Constant end-to-end communication delay requirements, independent bit rate, and independent encoder to synchronize the decoding and presentation of the video program
A transport stream containing transport packets, including transport packets containing compressed data consisting of a program clock reference timestamp of a system time clock, comprising: (a) each stream from a transmit descriptor queue; (B) sequentially extracting the descriptors and the transport packets pointed to by each of the descriptors; and Sending the fetched transport packet to a time slot of an output transport stream corresponding to the dispatch time recorded in the fetched descriptor.
リームを再多重化する方法であって、各プログラムが1つまたは複数の基本スト
リームから成り、また各トランスポートストリームが、1つまたは複数のプログ
ラム用に基本ストリームデータを載せたトランスポートパケットを含むトランス
ポートパケットから成っている方法であって、 (a)多重化トランスポートストリーム・コンテントに関する初期ユーザ仕様に
より、前記プログラムを載せたトランスポートストリームのそれぞれから、前記
トランスポートパケットの特定なものだけを選択的に抽出する工程と、 (b)前記抽出されたトランスポートパケットの前記選択されたもの、および、
(もしあれば)プログラム固有の情報が入っているトランスポートパケットを、
多重化トランスポートストリーム・コンテントに関する前記初期ユーザ仕様によ
り、組立て直して、出力多重化トランスポートストリームにする工程と、 (c)前記組立て直された多重化トランスポートストリームを連続ビットストリ
ームとして出力する工程と、 (d)前記工程(a)、(b)、(c)を実行しているときに、 (I)前記工程(a)で抽出される異なるトランスポートパケット、 (II)前記工程(b)で組立て直される異なるトランスポートパケット、 の1つまたは複数を指定する多重化トランスポートストリーム・コンテントに関
する1つまたは複数の新規ユーザ仕様を動的に受取る工程と、 (e)前記1つまたは複数の新規ユーザ仕様の受取りに応答して、前記出力再多
重化トランスポートストリームを中断することなく、前記初期ユーザ仕様による
トランスポートパケットの抽出または組立て直しを動的に止めさせ、前記新規ユ
ーザ仕様によるトランスポートパケットの抽出または組立て直しを動的に開始さ
せる工程と、 を含むことを特徴とする方法。31. A method for remultiplexing a transport stream carrying one or more programs, wherein each program comprises one or more elementary streams, and each transport stream comprises one or more basic streams. A method comprising a transport packet including a transport packet carrying basic stream data for a plurality of programs, the method comprising: (a) transporting the program according to an initial user specification relating to multiplexed transport stream content; Selectively extracting only particular ones of the transport packets from each of the port streams; (b) the selected ones of the extracted transport packets; and
Transport packets containing program-specific information (if any)
Reassembling to an output multiplexed transport stream according to the initial user specification for multiplexed transport stream content; and (c) outputting the reassembled multiplexed transport stream as a continuous bit stream. (D) when performing the steps (a), (b) and (c), (I) different transport packets extracted in the step (a), (II) the step (b) )) Dynamically receiving one or more new user specifications for multiplexed transport stream content specifying one or more of the different transport packets reassembled in: Suspending said output remultiplexing transport stream in response to receiving a new user specification of Dynamically stopping the extraction or reassembly of the transport packet according to the initial user specification, and dynamically starting the extraction or reassembly of the transport packet according to the new user specification. And how to.
る代用のプログラム固有情報を生成することで、工程(b)で前記異なるトラン
スポートパケットを組立て直す前記新規ユーザ仕様に応答する工程をさらに含む
ことを特徴とする請求項31記載の方法。32. Responding to the new user specification in step (b) by regenerating the different transport packets in step (b) by generating substitute program specific information referring to transport packets of different new user specifications. 32. The method of claim 31, comprising.
を受取る工程と、 (g)前記受取られたユーザ仕様のそれぞれにより組立て直された前記再多重化
トランスポートストリームの総ビットレート要求値を決定する工程と、 (h)前記決定されたビットレート要求値が、前記出力再多重化トランスポート
ストリームのビットレート以下である場合に限り、工程(a)、(b)、(e)
を実行する工程と、 をさらに含むことを特徴とする請求項31記載の方法。33. (f) receiving the initial user specifications and respective new user specifications; and (g) total bits of the remultiplexed transport stream reassembled according to each of the received user specifications. Determining a rate request value; and (h) steps (a), (b), and (b) only if the determined bit rate request value is less than or equal to the bit rate of the output remultiplexed transport stream. e)
32. The method of claim 31, further comprising: performing.
ムにするのに使えるストリームを絶えず識別する工程と、 (g)前記再多重化トランスポートストリーム用の前記コンテントとして、前記
識別された使えるストリームの選択を指定する新規ユーザ仕様についてユーザに
指示する工程と、 をさらに含むことを特徴とする請求項31記載の方法。34. (f) constantly identifying a stream that can be used to assemble the output remultiplexed transport stream; and (g) identifying the identified stream as the content for the remultiplexed transport stream. Instructing the user about the new user specification specifying the selection of available streams. 32. The method of claim 31, further comprising:
1つまたは複数のトランスポートパケットのパケット識別子の新規マッピングを
指定し、また前記工程(e)が、前記新規マッピングにより、前記1つまたは複
数のトランスポートパケットのパケット識別子をマッピングする工程を含むこと
を特徴とする請求項31記載の方法。35. The new user specification specifies a new mapping of a packet identifier of one or more transport packets reassembled in step (b), and wherein step (e) specifies the new mapping. 32. The method of claim 31, comprising mapping a packet identifier of the one or more transport packets according to:
リームを暗号化する工程を指定する方法であって、 (a)制御ワードを用いて、前記指定された基本ストリームの前記トランスポー
トパケットを暗号化する工程と、 (b)前記制御ワードが入っているトランスポートパケットを提供して、組立て
直して、前記再多重化トランスポートストリームにする工程と、 (c)どのトランスポートパケットに、前記制御ワードが入っているか、また前
記制御ワードを載せたトランスポートパケットがどの基本ストリームに対応する
か、識別するプログラム固有情報が入っているトランスポートパケットを生成す
る工程と、 を含むことを特徴とする請求項31記載の方法。36. The method according to claim 36, wherein the new user specification specifies a step of encrypting one or more specific elementary streams, the method comprising: (a) using a control word to specify the (B) providing a transport packet containing the control word and reassembling the transport packet into the remultiplexed transport stream; and (c) any transport. Generating a transport packet containing program-specific information identifying whether the packet contains the control word and to which elementary stream the transport packet carrying the control word corresponds, 32. The method of claim 31, wherein:
スポートパケットを再多重化して1つの出力トランスポートストリームにする方
法であって、前記入力トランスポートストリームの少なくとも1つには、1つま
たは複数のプログラムとプログラム定義が入っており、前記プログラムのそれぞ
れが、1つまたは複数の基本ストリームから成り、また前記少なくとも1つの入
力トランスポートストリームのそれぞれがプログラム定義を含み、前記入力トラ
ンスポートストリームに納められた各基本ストリーム用の基本ストリームデータ
が、どのトランスポートパケットに入っているのか、また、前記基本ストリーム
のどれが、前記入力トランスポートストリームに納められた各プログラムを構成
するのか、前記プログラム定義で識別させる方法であって、 (a)前記入力トランスポートストリームの1つまたは複数のプログラムを、前
記出力トランスポートストリームに出力することを示すユーザ仕様を作成する工
程と、 (b)前記プログラム定義を絶えず取込む工程と、 (c)前記取込まれたプログラム定義から、どの基本ストリームが各プログラム
を構成するか絶えず決定する工程と、 (d)前記工程(c)で決定された各基本ストリームの基本ストリームデータが
入っている各トランスポートパケットを、前記出力トランスポートストリームに
出力して、前記出力トランスポートストリームを中断させることなく前記ユーザ
仕様に出力することが示された各プログラムを構成する工程と、 を含むことを特徴とする方法。37. A method for remultiplexing transport packets of one or more input transport streams into one output transport stream, wherein at least one of the input transport streams has one Or a plurality of programs and program definitions, each of said programs comprising one or more elementary streams, and wherein each of said at least one input transport stream comprises a program definition, wherein said input transport stream Which transport packet contains the basic stream data for each basic stream contained in the basic stream data, and which of the basic streams constitutes each program contained in the input transport stream, program A method for identifying by definition: (a) creating a user specification indicating that one or more programs of the input transport stream are to be output to the output transport stream; and (b) the program (C) constantly determining from the captured program definitions which elementary streams make up each program; and (d) each basic determined in step (c). Each of the programs indicated to output each transport packet containing the basic stream data of the stream to the output transport stream and to output to the user specification without interrupting the output transport stream. Performing the steps of:
リームを再多重化する再多重化装置であって、各プログラムが1つまたは複数の
基本ストリームから成り、また各トランスポートストリームが、1つまたは複数
のプログラム用に基本ストリームデータを載せたトランスポートパケットを含む
トランスポートパケットから成っている再多重化装置であって、 多重化トランスポートストリーム・コンテントに関する初期ユーザ仕様により
、前記プログラムを載せたトランスポートストリームのそれぞれから、前記トラ
ンスポートパケットの特定なものだけを選択的に抽出する第1のインタフェース
と、 前記抽出されたトランスポートパケットの前記選択されたもの、および、(も
しあれば)プログラム固有の情報が入っているトランスポートパケットを、多重
化トランスポートストリーム・コンテントに関する前記初期ユーザ仕様により、
組立て直して、出力多重化トランスポートストリームにし、また前記組立て直さ
れた多重化トランスポートストリームを連続ビットストリームとして出力する第
2のインタフェースと、 前記第1と第2のインタフェースが、トランスポートパケットを抽出し、前記
再多重化トランスポートストリームを組立て直して出力しているときに、 (I)前記第1のインタフェースで抽出される異なるトランスポートパケット
、 (II)前記第2のインタフェースで組立て直される異なるトランスポートパ
ケット、 の1つまたは複数を指定する多重化トランスポートストリーム・コンテントに関
する1つまたは複数の新規ユーザ仕様を動的に受取り、また、前記1つまたは複
数の新規ユーザ仕様の受取りに応答して、前記出力再多重化トランスポートスト
リームを中断することなく、前記初期ユーザ仕様によるトランスポートパケット
の抽出または組立て直しを動的に止めさせ、前記新規ユーザ仕様によるトランス
ポートパケットの抽出または組立て直しを動的に開始させるプロセッサと、 を備えることを特徴とする再多重化装置。38. A remultiplexing apparatus for remultiplexing a transport stream carrying one or more programs, wherein each program comprises one or more elementary streams, and each transport stream comprises: A remultiplexing device comprising a transport packet comprising a transport packet carrying elementary stream data for one or more programs, the remultiplexing device comprising: an initial user specification for multiplexed transport stream content; A first interface for selectively extracting only a specific one of the transport packets from each of the transported transport streams; a selected one of the extracted transport packets; and ) Contains program-specific information The transport packet are, by the initial user specification of multiplexed transport stream content,
A second interface for reassembling to an output multiplexed transport stream and outputting the reassembled multiplexed transport stream as a continuous bit stream; and wherein the first and second interfaces convert transport packets. When extracting and reassembling the remultiplexed transport stream for output, (I) different transport packets extracted at the first interface; (II) reassembled at the second interface. Dynamically receiving one or more new user specifications for the multiplexed transport stream content specifying one or more of different transport packets, and responding to receiving the one or more new user specifications. And said output remultiplexing transport A processor for dynamically stopping the extraction or reassembly of the transport packet according to the initial user specification and dynamically starting the extraction or reassembly of the transport packet according to the new user specification without interrupting the stream. A remultiplexing device, comprising:
トパケットを参照する代用のプログラム固有情報を生成して、前記第2のインタ
フェースにより組立て直すことで、前記異なるトランスポートパケットを組立て
直す前記新規ユーザ仕様に応答することを特徴とする請求項38記載の再多重化
装置。39. The processor reassembles the different transport packets by generating substitute program-specific information referring to transport packets having different new user specifications and assembling the different transport packets by the second interface. 39. The remultiplexer of claim 38, responsive to a new user specification.
り、 それぞれの受取られたユーザ仕様により組立て直された前記再多重化トランスポ
ートストリームの総ビットレート要求値を決定し、前記決定されたビットレート
要求値が、前記出力再多重化トランスポートストリームのビットレート以下であ
る場合に限り、前記第1と第2のインタフェースが、前記新規ユーザインタフェ
ースのそれぞれにより、抽出し、組立て直すことができるようにするコントロー
ラをさらに備えることを特徴とする請求項38記載の再多重化装置。40. Receiving said initial user specifications and respective new user specifications and determining a total bit rate requirement value of said remultiplexed transport stream reassembled according to each received user specification; The first and second interfaces are extracted and reassembled by each of the new user interfaces only if the determined bit rate requirement is less than or equal to the bit rate of the output remultiplexed transport stream. 39. The re-multiplexing device of claim 38, further comprising a controller that enables the re-multiplexing.
ートストリームにするのに使えるストリームを絶えず識別する再多重化装置であ
って、 前記再多重化トランスポートストリーム用の前記コンテントとして、前記識別
された使えるストリームの選択を指定する新規ユーザ仕様についてユーザに指示
するコントローラをさらに備えることを特徴とする請求項38記載の再多重化装
置。41. A remultiplexer wherein the processor constantly identifies a stream that can be used to assemble the output remultiplexed transport stream, wherein the content for the remultiplexed transport stream comprises: The remultiplexing apparatus according to claim 38, further comprising a controller for instructing a user on a new user specification designating selection of the identified usable stream.
て直された1つまたは複数のトランスポートパケットのパケット識別子の新規マ
ッピングを指定し、また前記プロセッサが、前記新規マッピングにより、前記1
つまたは複数のトランスポートパケットのパケット識別子をマッピングすること
を特徴とする請求項38記載の再多重化装置。42. The new user specification specifies a new mapping of a packet identifier of one or more transport packets reassembled at the second interface, and wherein the processor causes the new mapping to 1
39. The remultiplexing apparatus according to claim 38, wherein packet identifiers of one or more transport packets are mapped.
リームの暗号化を指定する再多重化装置であって、 制御ワードを用いて、前記指定された基本ストリームの前記トランスポートパ
ケットを暗号化するスクランブラを備え、 前記プロセッサが、前記制御ワードが入っているトランスポートパケットを得
て、組立て直して、前記再多重化トランスポートストリームにし、また、どのト
ランスポートパケットに、前記制御ワードが入っているか、また前記制御ワード
が、どの基本ストリームに対応するか識別するプログラム固有情報がトランスポ
ートパケットに入っていることを特徴とする請求項38記載の再多重化装置。43. A remultiplexer wherein the new user specification specifies encryption of one or more specific elementary streams, wherein the transport of the specified elementary streams is performed using a control word. A scrambler for encrypting packets, wherein the processor obtains and reassembles the transport packets containing the control words into the remultiplexed transport stream, and further comprises: 39. The remultiplexing apparatus according to claim 38, wherein the transport packet contains program-specific information for identifying whether a control word is included and to which elementary stream the control word corresponds.
スポートパケットを再多重化して1つの出力トランスポートストリームにする再
多重化装置であって、前記入力トランスポートストリームの少なくとも1つには
、1つまたは複数のプログラムとプログラム定義が入っており、前記プログラム
のそれぞれが、1つまたは複数の基本ストリームから成り、また前記少なくとも
1つの入力トランスポートストリームのそれぞれがプログラム定義を含み、前記
入力トランスポートストリームに納められた各基本ストリーム用の基本ストリー
ムデータが、前記入力トランスポートストリームのどのトランスポートパケット
に入っているのか、また、どの基本ストリームが、前記基本ストリームに納めら
れた各プログラムを構成するのか、前記プログラム定義で識別させる再多重化装
置であって、 前記入力トランスポートストリームの1つまたは複数のプログラムを、前記出
力トランスポートストリームに出力することを示すユーザ仕様を作成するコント
ローラと、 前記プログラム定義を絶えず取込む第1のアダプタと、 前記取込まれたプログラム定義から、どの基本ストリームが各プログラムを構
成するか絶えず決定するプロセッサと、 決定された各基本ストリームの基本ストリームデータが入っている各トランス
ポートパケットを、前記出力トランスポートストリームに出力して、前記出力ト
ランスポートストリームを中断させることなく前記ユーザ仕様に出力することが
示された各プログラムを構成する第2のアダプタと、 を備えることを特徴とする再多重化装置。44. A remultiplexing apparatus for remultiplexing transport packets of one or more input transport streams into one output transport stream, wherein at least one of the input transport streams includes One or more programs and program definitions, each of said programs comprising one or more elementary streams, and each of said at least one input transport stream comprising a program definition; Which transport packet of the input transport stream contains the basic stream data for each basic stream contained in the transport stream, and which basic stream contains each program contained in the basic stream. Make up Or a remultiplexing device identified by the program definition, wherein the controller creates a user specification indicating that one or more programs of the input transport stream are output to the output transport stream; A first adapter that constantly captures the program definition; a processor that constantly determines which basic stream constitutes each program from the captured program definition; and a basic stream data of each determined basic stream. A second adapter that constitutes each program shown to output each transport packet to the output transport stream and output to the user specification without interrupting the output transport stream; Remultiplexing characterized by comprising Location.
リームから再多重化された出力再多重化トランスポートストリームであって、各
プログラムが1つまたは複数の基本ストリームから成り、また各トランスポート
ストリームが、1つまたは複数のプログラム用に基本ストリームデータを載せた
トランスポートパケットを含むトランスポートパケットから成っている出力再多
重化トランスポートストリームであって、 (a)多重化トランスポートストリーム・コンテントに関する初期ユーザ仕様に
より、前記プログラムを載せたトランスポートストリームのそれぞれから、前記
トランスポートパケットの特定なものだけを選択的に抽出する工程と、 (b)前記抽出されたトランスポートパケットの前記選択されたもの、および、
(もしあれば)プログラム固有の情報が入っているトランスポートパケットを、
多重化トランスポートストリーム・コンテントに関する前記初期ユーザ仕様によ
り、組立て直して、出力多重化トランスポートストリームにする工程と、 (c)前記組立て直された多重化トランスポートストリームを連続ビットストリ
ームとして出力する工程と、 (d)前記工程(a)、(b)、(c)を実行しているときに、 (I)前記工程(a)で抽出される異なるトランスポートパケット、 (II)前記工程(b)で組立て直される異なるトランスポートパケット、 の1つまたは複数を指定する多重化トランスポートストリーム・コンテントに関
する1つまたは複数の新規ユーザ仕様を動的に受取る工程と、 (e)前記1つまたは複数の新規ユーザ仕様の受取りに応答して、前記出力再多
重化トランスポートストリームを中断することなく、前記初期ユーザ仕様による
トランスポートパケットの抽出または組立て直しを動的に止めさせ、前記新規ユ
ーザ仕様によるトランスポートパケットの抽出または組立て直しを動的に開始さ
せる工程と、 により生成されることを特徴とする出力再多重化トランスポートストリーム。45. An output remultiplexed transport stream remultiplexed from a transport stream carrying one or more programs, each program comprising one or more elementary streams, and each transport stream comprising: The output remultiplexed transport stream comprising transport packets including transport packets carrying elementary stream data for one or more programs, wherein: (a) the multiplexed transport stream; Selectively extracting only specific ones of the transport packets from each of the transport streams carrying the program according to an initial user specification for content; and (b) selecting the extracted transport packets. What was done, And,
Transport packets containing program-specific information (if any)
Reassembling to an output multiplexed transport stream according to the initial user specification for multiplexed transport stream content; and (c) outputting the reassembled multiplexed transport stream as a continuous bit stream. (D) when performing the steps (a), (b) and (c), (I) different transport packets extracted in the step (a), (II) the step (b) )) Dynamically receiving one or more new user specifications for multiplexed transport stream content specifying one or more of the different transport packets reassembled in: Suspending said output remultiplexing transport stream in response to receiving a new user specification of Dynamically stopping extraction or reassembly of transport packets according to the initial user specification and dynamically starting extraction or reassembly of transport packets according to the new user specification. An output remultiplexed transport stream, characterized in that:
重化された出力トランスポートストリームであって、前記入力トランスポートス
トリームの少なくとも1つには、1つまたは複数のプログラムとプログラム定義
が入っており、前記プログラムのそれぞれが、1つまたは複数の基本ストリーム
から成り、また前記少なくとも1つの入力トランスポートストリームのそれぞれ
がプログラム定義を含み、前記入力トランスポートストリームに納められた各基
本ストリーム用の基本ストリームデータが、どのトランスポートパケットに入っ
ているのか、また、前記基本ストリームのどれが、前記入力トランスポートスト
リームに納められた各プログラムを構成するのか、前記プログラム定義で識別さ
せる出力トランスポートストリームであって、 (a)前記入力トランスポートストリームの1つまたは複数のプログラムを、前
記出力トランスポートストリームに出力することを示すユーザ仕様を作成する工
程と、 (b)前記プログラム定義を絶えず取込む工程と、 (c)前記取込まれたプログラム定義から、どの基本ストリームが各プログラム
を構成するか絶えず決定する工程と、 (d)前記工程(c)で決定された各基本ストリームの基本ストリームデータが
入っている各トランスポートパケットを、前記出力トランスポートストリームに
出力して、前記出力トランスポートストリームを中断させることなく前記ユーザ
仕様に出力することが示された各プログラムを構成する工程と、 により生成されることを特徴とする出力再多重化トランスポートストリーム。46. An output transport stream remultiplexed from one or more input transport streams, wherein at least one of the input transport streams includes one or more programs and program definitions. And each of the programs comprises one or more elementary streams, and each of the at least one input transport stream includes a program definition for each elementary stream contained in the input transport stream. , Which transport packet contains the basic stream data, and which of the basic streams constitute each program contained in the input transport stream. (A) creating a user specification indicating that one or more programs of the input transport stream are to be output to the output transport stream; and (b) constantly taking the program definition. (C) continually determining from the captured program definitions which elementary streams make up each program; and (d) elementary streams of each elementary stream determined in step (c). Configuring each program indicated to output each transport packet containing data to the output transport stream and to output to the user specification without interrupting the output transport stream; Output remultiplexed transport stream characterized by being generated by
化して、第2のビットストリームにする方法であって、前記第1のビデオプログ
ラムを載せたビットストリームには、そこに納められた各プログラム用の一組の
複数のタイムスタンプが入っており、前記プログラムの各パケットが前記第1の
ビットストリームに現れる時間を、エンコーダのシステム・タイムクロックと比
較して示す方法であって、 (a)一定しないエンド・ツー・エンド伝送遅延のある通信リンクから、前記第
1のプログラムを載せたビットストリームを受取る工程と、 (b)前記第1のビデオプログラムを載せたビットストリームから受取られた同
一プログラムのデータを載せた1つまたは複数のパケットのそれぞれが、前記第
1のビデオプログラムを載せたビットストリームから受取られた前記プログラム
の複数のタイムスタンプに基づいて、前記第2のビットストリームに現れる時間
を決定する工程と、 (c)前記決定された時間によって決まる時間での一定のエンド・ツー・エンド
遅延で、前記1つまたは複数のパケットの選択されたものを、前記第2のビット
ストリームに選択的に送る工程と、 を含むことを特徴とする方法。47. A method for multiplexing a bit stream carrying a first video program into a second bit stream, wherein the bit stream carrying the first video program is stored therein. A timestamp for each packet of the program in the first bitstream as compared to a system time clock of an encoder, the method comprising: (A) receiving the bit stream carrying the first program from a communication link with variable end-to-end transmission delay; and (b) receiving the bit stream carrying the first video program. Each of one or a plurality of packets carrying the data of the same program is stored in the first video program. Determining a time to appear in the second bitstream based on a plurality of timestamps of the program received from the bitstream carrying the program; and (c) a constant at a time determined by the determined time. Selectively sending a selected one of said one or more packets to said second bitstream with an end-to-end delay of.
受取られたデータが入っているパケットを受信キューに蓄積する工程と、 (b2)前記受信キュー内で、前記プログラムの連続タイムスタンプが入ってい
る第1と第2の特定パケット間に蓄積された前記プログラムのデータが入ってい
る各パケットを識別する工程と、 (b3)前記第1と第2のスタンプ間の差に基づいて、前記プログラムのパケッ
トレートを決定する工程と、 (b4)前記第1の特定パケットに指定された送信時間に、前記パケットレート
と、前記第1のパケットからの前記識別パケットのオフセットとの積を加えたも
のを、送信時間として、前記識別パケットのそれぞれに指定する工程と、 をさらに含むことを特徴とする請求項47記載の方法。48. The step (b) comprising: (b1) storing a packet containing data received from the bit stream carrying the received first video program in a reception queue; (b2) B) identifying in the receive queue each packet containing the program data stored between the first and second specific packets containing the continuous time stamp of the program; Determining a packet rate of the program based on a difference between the first and second stamps; and (b4) determining, at a transmission time specified for the first specific packet, the packet rate; Specifying the sum of the product of the identification packet and the offset of the identification packet from the packet as the transmission time for each of the identification packets. The method of claim 47, wherein a.
ラム用に受取られた第1のタイムスタンプを載せたパケットに、ローカルクロッ
クに応じた受信時間を指定する工程と、 (b6)前記第1のタイムスタンプを載せたパケットのデータが入っているパケ
ットに、前記指定された受信時間と公知のバッファリング遅延の合計を、送信時
間として指定する工程と、 をさらに含むことを特徴とする請求項48記載の方法。49. (b5) assigning a reception time according to a local clock to a packet carrying a first time stamp received for each program carried in the first bit stream; Specifying the sum of the specified reception time and a known buffering delay as a transmission time in a packet containing the data of the packet carrying the first time stamp. 49. The method according to claim 48, wherein
前記第2のビットストリームに挿入することで、前記第2のビットストリームの
受信機で、バッファのオーバーフローやアンダーフローを防止する工程をさらに
含むことを特徴とする請求項47記載の方法。50. The method according to claim 50, wherein the step (c) comprises: (c1) inserting the identification packet into the second bit stream at the time determined by the determined time. 48. The method of claim 47, further comprising preventing a buffer overflow or underflow at a receiver.
、および前記プログラム用の復活したシステム・タイムクロックにより、前記受
信機バッファが、前記第2のビットストリームから、前記識別パケットを取去る
ことと、前記第1のビデオプログラムを載せたビットストリームの前記可変圧縮
部分が、前記受信機バッファの推定記憶容量と、前記第1のビデオプログラムの
所定ビットレートによって決まるビット数を持つことを特徴とする請求項50記
載の方法。51. The receiver buffer removes the identification packet from the second bitstream according to a timestamp corresponding to a variable compression portion of the program and a restored system time clock for the program. Wherein the variable compression portion of the bit stream carrying the first video program has an estimated storage capacity of the receiver buffer and a number of bits determined by a predetermined bit rate of the first video program. The method of claim 50, wherein:
2のビットストリームのパケット・タイムスロットを決定する工程と、 (c2)2つ以上のパケットが、移送時間の点で、前記パケット・タイムスロッ
トのただ1つにもっとも近い場合には、時間的に前記単一のパケット・タイムス
ロットにもっとも近い前記パケットのそれぞれを、順次パケット・タイムスロッ
トに指定する工程と、 (c3)前記単一のパケット・タイムスロット以外の前記パケット・タイムスロ
ットの1つに指定される、タイムスタンプを載せた各パケットのタイムスタンプ
を、前記指定されたパケット・タイムスロットが前記単一のパケット・タイムス
ロットから移されるパケット・タイムスロットの数に基づいて、調整する工程と
、 をさらに含むことを特徴とする請求項51記載の方法。52. The step (c) comprising: (c1) determining a packet time slot of the second bitstream that is closest in time to the determined transmission time for a packet; (c2) ) If two or more packets are closest in transport time to only one of the packet time slots, then each of the packets closest in time to the single packet time slot is: (C3) specifying the time stamp of each time-stamped packet specified in one of the packet time slots other than the single packet time slot; The packet timeslot from which the specified packet timeslot is shifted from said single packet timeslot The method of claim 51, further comprising: adjusting based on a number.
ーに挿入する方法であって、前記工程(c3)が、 (c4)前記キューの現在長さ遅延と、前記キューの理想的長さ遅延との差に応
じて、前記受信パケットを生成したエンコーダの1つまたは複数のシステム・タ
イムクロックのそれぞれと、ローカルクロックとのドリフトを概算する工程と、 (c5)前記ローカルクロックと、前記パケットを生成した前記エンコーダの前
記システム・タイムクロックとの前記ドリフトの対応する1つにより、前記調整
されたタイムスタンプのそれぞれをさらに調整する工程と、 をさらに含むことを特徴とする請求項52記載の方法。53. A method of inserting each of said selected received packets into a queue during transmission, wherein said step (c3) comprises: (c4) a current length delay of said queue and an ideality of said queue. Estimating a drift between each of the one or more system time clocks of the encoder that generated the received packet and a local clock in accordance with a difference between the local clock and the local clock; Further adjusting each of the adjusted time stamps with a corresponding one of the drifts of the encoder that generated the packet with the system time clock. 52. The method of claim 52.
ームを、コンピュータネットワークから受取る工程をさらに含むことを特徴とす
る請求項47記載の方法。54. The method according to claim 47, further comprising the step of: (d) receiving a bitstream carrying the first video program from a computer network.
ームを、イーサネット(登録商標)・ネットワークから受取る工程をさらに含む ことを特徴とする請求項47記載の方法。55. The method of claim 47, further comprising the step of: (d) receiving a bitstream carrying the first video program from an Ethernet network.
ームを、ATMネットワークから受取る工程をさらに含むことを特徴とする請求
項47記載の方法。56. The method of claim 47, further comprising the step of: (d) receiving a bitstream carrying the first video program from an ATM network.
化して、第2のビットストリームにする再多重化装置であって、前記第1のビデ
オプログラムを載せたビットストリームには、そこに納められた各プログラム用
の一組の複数のタイムスタンプが入っており、前記プログラムの各パケットが前
記第1のビットストリームに現れる時間を、エンコーダのシステム・タイムクロ
ックと比較して示す再多重化装置であって、 一定しないエンド・ツー・エンド伝送遅延のある通信リンクから、前記第1の
プログラムを載せたビットストリームを受取る非同期インタフェースと、 前記第1のビデオプログラムを載せたビットストリームから受取られた同一プ
ログラムのデータを載せた1つまたは複数のパケットのそれぞれが、前記第1の
ビデオプログラムを載せたビットストリームから受取られた前記プログラムの複
数のタイムスタンプに基づいて、前記第2のビットストリームに現れる時間を決
定する前記非同期インタフェースに接続されたプロセッサと、 前記決定された時間によって決まる時間での一定のエンド・ツー・エンド遅延
で、前記1つまたは複数のパケットの選択されたものを、前記第2のビットスト
リームに選択的に送る同期インタフェースと、 を備えることを特徴とする再多重化装置。57. A remultiplexing device for multiplexing a bit stream carrying a first video program into a second bit stream, wherein the bit stream carrying the first video program has And a set of time stamps for each program stored in the first bit stream, indicating the time at which each packet of the program appears in the first bit stream, relative to the system time clock of the encoder. An asynchronous interface for receiving a bit stream carrying the first program from a communication link having a variable end-to-end transmission delay; and receiving from a bit stream carrying the first video program. One or more packets carrying the same program data A processor connected to the asynchronous interface for determining a time to appear in the second bitstream based on a plurality of timestamps of the program received from the bitstream carrying the first video program; A synchronization interface for selectively sending selected ones of said one or more packets to said second bitstream with a constant end-to-end delay at a time determined by said time. Characteristic remultiplexing device.
トリームから受取られたデータが入っているパケットを受信キューに蓄積するメ
モリをさらに備え、 前記受信キュー内で、前記プログラムの連続タイムスタンプが入っている第1
と第2の特定パケット間に蓄積された前記プログラムのデータが入っている各パ
ケットを識別し、また、前記第1と第2のスタンプ間の差に基づいて、前記プロ
グラムのパケットレートを決定し、さらに、前記第1の特定パケットに指定され
た送信時間に、前記パケットレートと、前記第1のパケットからの前記識別パケ
ットのオフセットとの積を加えたものを、送信時間として、前記識別パケットの
それぞれに指定することを特徴とする請求項57記載の再多重化装置。58. A memory for storing, in a reception queue, packets containing data received from a bit stream carrying the received first video program, wherein the program is executed in the reception queue. 1st with time stamp
Identifying each packet containing the program data stored between the first and second specific packets, and determining a packet rate of the program based on a difference between the first and second stamps. Further, a product obtained by adding a product of the packet rate and an offset of the identification packet from the first packet to a transmission time designated for the first specific packet as a transmission time is used as the identification packet. 58. The remultiplexing apparatus according to claim 57, wherein the remultiplexing device is designated for each of the following.
に備え、前記プロセッサが、前記第1のビットストリームで運ばれる各プログラ
ム用に受取られた第1のタイムスタンプを載せたパケットに、前記ローカルクロ
ックに応じた受信時間を指定し、また前記第1のタイムスタンプを載せたパケッ
トのデータが入っているパケットに、前記指定された受信時間と公知のバッファ
リング遅延の合計を、送信時間として指定することを特徴とする請求項58記載
の再多重化装置。59. The processor further comprising a local clock accessible to the processor, the processor further comprising a first timestamp received packet for each program carried in the first bitstream. Designates a reception time according to a clock, and designates, as a transmission time, a total of the designated reception time and a known buffering delay in a packet containing data of the packet carrying the first time stamp. 59. The remultiplexing apparatus according to claim 58, wherein:
ロセッサが、前記パケットを前記のように送ることで、前記第2のビットストリ
ームの受信機で、バッファのオーバーフローやアンダーフローが防止されること
を特徴とする請求項57記載の再多重化装置。60. At the time determined by the determined time, the processor sends the packet as described above such that a buffer overflow or underflow occurs at the receiver of the second bitstream. 58. The remultiplexing device of claim 57, wherein said remultiplexing device is prevented.
、および前記プログラム用の復活したシステム・タイムクロックにより、前記受
信機バッファが、前記第2のビットストリームから、前記識別パケットを取去る
ことと、前記第1のビデオプログラムを載せたビットストリームの前記可変圧縮
部分が、前記受信機バッファの推定記憶容量と、前記第1のビデオプログラムの
所定ビットレートによって決まるビット数を持つことを特徴とする請求項60記
載の再多重化装置。61. The receiver buffer removes the identification packet from the second bitstream according to a timestamp corresponding to a variable compression portion of the program and a restored system time clock for the program. Wherein the variable compression portion of the bit stream carrying the first video program has an estimated storage capacity of the receiver buffer and a number of bits determined by a predetermined bit rate of the first video program. The remultiplexing apparatus according to claim 60, wherein:
た送信時間にもっとも近い前記第2のビットストリームのパケット・タイムスロ
ットを決定することと、 2つ以上のパケットが、送信時間の点で、前記パケット・タイムスロットのた
だ1つにもっとも近い場合には、前記プロセッサが、送信時間の点で、前記単一
のパケット・タイムスロットにもっとも近い前記パケットのそれぞれを、順次パ
ケット・タイムスロットに指定することと、 前記プロセッサが、前記単一のパケット・タイムスロット以外の前記パケット
・タイムスロットの1つに指定される、タイムスタンプを載せた各パケットのタ
イムスタンプを、前記指定されたパケット・タイムスロットが前記単一のパケッ
ト・タイムスロットから移されるパケット・タイムスロットの数に基づいて、調
整すること、 を特徴とする請求項57記載の再多重化装置。62. The processor, wherein the processor determines, in time, a packet time slot of the second bitstream that is closest to the determined transmission time for the packet; If the processor is closest in time to only one of the packet time slots, the processor sequentially packetizes each of the packets closest to the single packet time slot in transmission time. Specifying a time slot; and wherein the processor specifies the time stamp of each time-stamped packet specified in one of the packet time slots other than the single packet time slot. Packet time slot is shifted from the single packet time slot. - based on the number of time slots, adjusting, re-multiplexing device of claim 57, wherein.
トのそれぞれを、伝送中に、前記メモリ内のキューに挿入するメモリをさらに備
え、 前記プロセッサが、前記キューの現在長さ遅延と、前記キューの理想的長さ遅
延との差に応じて、前記受信パケットを生成したエンコーダの1つまたは複数の
システム・タイムクロックのそれぞれと、ローカルクロックとのドリフトを概算
することと、 前記プロセッサが、前記ローカルクロックと、前記パケットを生成した前記エ
ンコーダの前記システム・タイムクロックとの前記ドリフトの対応する1つによ
り、前記調整されたタイムスタンプのそれぞれをさらに調整すること、 を特徴とする請求項62記載の再多重化装置。63. The asynchronous interface further comprises a memory for inserting each of the selected received packets into a queue in the memory during transmission, the processor further comprising: a current length delay of the queue; Estimating a drift between each of the one or more system time clocks of the encoder that generated the received packet and a local clock in response to a difference from an ideal length delay of the queue; and Further adjusting each of the adjusted timestamps by a corresponding one of the drifts of the local clock and the system time clock of the encoder that generated the packet. 62. The remultiplexing apparatus according to 62.
化して、第2のビットストリームにすることで生成される多重化プロセスであっ
て、前記第1のビデオプログラムを載せたビットストリームには、そこに納めら
れた各プログラム用の一組の複数のタイムスタンプが入っており、前記プログラ
ムの各パケットが前記第1のビットストリームに現れる時間を、エンコーダのシ
ステム・タイムクロックと比較して示す多重化プロセスであって、 (a)一定しないエンド・ツー・エンド伝送遅延のある通信リンクから、前記第
1のビデオプログラムを載せたビットストリームを受取る工程と、 (b)前記第1のビデオプログラムを載せたビットストリームから受取られた同
一プログラムのデータを運ぶ1つまたは複数のパケットのそれぞれが、前記第1
のビデオプログラムを載せたビットストリームから受取られた前記プログラムの
複数のタイムスタンプに基づいて、前記第2のビットストリームに現れる時間を
決定する工程と、 前記決定された時間によって決まる時間での一定のエンド・ツー・エンド遅延
で、前記第2のビットストリームに、前記1つまたは複数のパケットの選択され
たものを選択的に送る工程と、 を含むことを特徴とする多重化プロセス。64. A multiplexing process generated by multiplexing a bitstream carrying a first video program into a second bitstream, wherein the bitstream carries the first video program. Contains a set of multiple timestamps for each program contained therein, and compares the time at which each packet of the program appears in the first bitstream with the system time clock of the encoder. A multiplexing process, comprising: (a) receiving a bit stream carrying the first video program from a communication link having a variable end-to-end transmission delay; and (b) receiving the bit stream carrying the first video program. One or more packets carrying data of the same program received from a bit stream carrying a video program Each bet is, the first
Determining a time to appear in the second bitstream based on a plurality of timestamps of the program received from the bitstream carrying the video program; and a fixed time at a time determined by the determined time. Selectively sending selected ones of said one or more packets to said second bitstream with end-to-end delay.
適時に出力する方法であって、 (a)それぞれ、予め定めたビットレートを持つ1つまたは複数のビデオプログ
ラムの圧縮プログラムデータと、さらに、各プログラムの復号化とプレゼンテー
ションを同期化する前記プログラムのそれぞれのプログラムクロック基準タイム
スタンプも入っているトランスポートパケットを有するビットストリームを提供
する工程と、 (b)前記トランスポートパケットの1つまたは複数の選択されたトランスポー
トパケットのそれぞれに、ディスパッチ時間を指定し、前記トランスポートパケ
ットがデータを運ぶ対象のプログラムの所定ビットレートを保ち、また、前記ト
ランスポートパケットのそれぞれに対して平均待ち時間を招く工程と、 (c)前記ディスパッチ時間のそれぞれによって決まる時間にて、1つまたは複
数のコマンドを非同期通信インタフェースに出して、前記選択されたトランスポ
ートパケットのジッタを最小限に抑えるように、ほぼ前記ディスパッチ時間に、
前記対応する選択されたトランスポートパケットを、前記非同期通信インタフェ
ースで送らせるようにする工程と、 を含むことを特徴とする方法。65. A method for timely outputting a bit stream carrying compressed video program data, comprising: (a) compressed program data of one or a plurality of video programs each having a predetermined bit rate; Providing a bit stream having transport packets that also contain a program clock reference timestamp for each of the programs that synchronize the decoding and presentation of each program; and (b) one or more of the transport packets. A dispatch time is specified for each of the plurality of selected transport packets, a predetermined bit rate of a program to which the transport packets carry data is maintained, and an average waiting time for each of the transport packets is specified. Invite (C) issuing one or more commands to an asynchronous communication interface at a time determined by each of the dispatch times to substantially minimize the jitter of the selected transport packet. At dispatch time,
Causing said corresponding selected transport packet to be sent on said asynchronous communication interface.
、前記ディスパッチ時間の順になっている送信記述子を、前記トランスポートパ
ケットのそれぞれに割当てる工程と、 (e)前記それぞれのトランスポートパケットに割当てられた送信記述子に、前
記トランスポートパケットの前記ディスパッチ時間のそれぞれを記録する工程と
、 (f)前記記述子のそれぞれのディスパッチ時間を、前記キュー内で順番に調べ
る工程と、 (g)前記調べられたディスパッチ時間を、ローカル参照クロックで生成された
時間と比較する工程と、 (h)前記比較により決定された時間にて、各コマンドを出す工程と、 をさらに含むことを特徴とする請求項65記載の方法。66. (d) allocating, to each of said transport packets, a transmission descriptor in order of said dispatch time in a queue designated to said asynchronous interface; and (e) said respective transport Recording each of the dispatch times of the transport packet in a transmit descriptor assigned to a port packet; and (f) examining the dispatch times of each of the descriptors sequentially in the queue. (G) comparing the checked dispatch time with a time generated by a local reference clock; and (h) issuing each command at the time determined by the comparison. 66. The method of claim 65, wherein the method comprises:
別のインタフェースから受取る工程と、 (j)前記トランスポートパケットのそれぞれが受取られる時間、および、前記
受信時間と、前記非同期インタフェースが前記出力を生成する前記時間との推定
バッファリング遅延の関数として、前記ディスパッチ時間を生成する工程と、 をさらに含むことを特徴とする請求項66記載の方法。67. (i) At least a part of the transport packet is:
Receiving from another interface; and (j) as a function of the estimated buffering delay of the time at which each of the transport packets is received, and the reception time and the time at which the asynchronous interface generates the output. 67. The method of claim 66, further comprising: generating the dispatch time.
、送信PIDハンドラ・サブルーチンを選択する工程と、 (j)前記コマンドの1つを出すたびに、工程(b)、(d)、(e)を繰返そ
うとする工程と、 をさらに含むことを特徴とする請求項66記載の方法。68. (i) selecting a transmit PID handler subroutine to perform steps (b), (d) and (e); and (j) each time one of said commands is issued. 67. The method of claim 66, further comprising: trying to repeat steps (b), (d), (e).
スポートパケットを、受信ノードの別の非同期インタフェースで受取る工程と、 (e)前記受信ノードで、前記受取られたトランスポートパケットのジッタを除
去する工程と、 (f)前記ジッタを除去したトランスポートパケットの少なくとも一部を再多重
化して、前記受信ノードから出力される第2のビットスクリームにして、前記第
2のビットストリームが、このビットストリームで運ばれる各プログラムに対し
て、連続的なエンド・ツー・エンド遅延を持つようにする工程と、 をさらに含むことを特徴とする請求項65記載の方法。69. receiving the transport packet sent from the asynchronous interface at another asynchronous interface of a receiving node; and (e) at the receiving node, jitter of the received transport packet. (F) re-multiplexing at least a portion of the transport packet from which the jitter has been removed to form a second bitstream output from the receiving node, wherein the second bitstream is 66. The method of claim 65, further comprising: having a continuous end-to-end delay for each program carried in the bitstream.
適時に出力する再多重化装置であって、 それぞれ、予め定めたビットレートを持つ1つまたは複数のビデオプログラム
の圧縮プログラムデータと、さらに、各プログラムの復号化とプレゼンテーショ
ンを同期化する前記プログラムのそれぞれのプログラムクロック基準タイムスタ
ンプも入っているトランスポートパケットを有するビットストリームを提供する
同期インタフェースと、 前記トランスポートパケットの1つまたは複数の選択されたランスポートパケ
ットのそれぞれに、ディスパッチ時間を指定し、前記トランスポートパケットが
データを運ぶ対象のプログラムの所定ビットレートを保ち、また、前記トランス
ポートパケットのそれぞれに対して平均待ち時間を招くプロセッサと、 前記ディスパッチ時間のそれぞれによって決まる時間にて、1つまたは複数の
コマンドを受取り、前記選択されたトランスポートパケットのジッタを最小限に
抑えるように、ほぼ前記ディスパッチ時間に、前記対応する選択されたトランス
ポートパケットを送ることで、そのようなコマンドに応答する非同期通信インタ
フェースと、 を備えることを特徴とする多重化装置。70. A remultiplexing device for outputting a bit stream carrying compressed video program data in a timely manner, the compressed data comprising one or a plurality of video programs each having a predetermined bit rate; A synchronization interface that provides a bit stream having transport packets that also include a respective program clock reference timestamp of the programs that synchronizes the decoding and presentation of each program; and one or more of the transport packets. For each of the selected transport packets, a dispatch time is specified, the transport packets maintain a predetermined bit rate of the program to carry data, and the average waiting time for each of the transport packets A processor that intervenes, at a time determined by each of the dispatch times, receiving one or more commands and substantially at the dispatch time to minimize jitter in the selected transport packet. An asynchronous communication interface that responds to such a command by sending a corresponding selected transport packet.
蓄積するメモリであって、前記プロセッサが、前記トランスポートパケットのそ
れぞれに送信記述子を割当て、前記送信記述子が、前記キュー内で、前記ディス
パッチ時間の順になっていて、さらに、前記プロセッサが、前記それぞれのトラ
ンスポートパケットに割当てられた送信記述子に、前記トランスポートパケット
の前記ディスパッチ時間のそれぞれも記録するメモリと、 前記記述子のそれぞれのディスパッチ時間を、前記キュー内で順番に調べ、前
記調べられたディスパッチ時間を、ローカル参照クロックで生成された時間と比
較し、前記比較により決定された時間にて、各コマンドを出させる出力データリ
ンク制御回路と、 をさらに備えることを特徴とする請求項70記載の多重化装置。71. A memory for storing a queue of descriptors designated for the asynchronous interface, wherein the processor assigns a transmission descriptor to each of the transport packets, and wherein the transmission descriptor is in the queue. A memory in which the dispatch times are in order, and the processor further records each of the dispatch times of the transport packets in a transmission descriptor assigned to the respective transport packets; and The dispatch time of each child is examined in turn in the queue, the examined dispatch time is compared with the time generated by the local reference clock, and each command is issued at the time determined by the comparison. And an output data link control circuit for causing Multiplexing device of claim 70, wherein.
出力された前記トランスポートパケットの少なくとも一部を受取り、前記プロセ
ッサが、前記トランスポートパケットのそれぞれが受取られる時間、および、前
記受信時間と、前記非同期インタフェースが前記出力を生成する前記時間との推
定バッファリング遅延の関数として、前記ディスパッチ時間を生成することを特
徴とする請求項71記載の多重化装置。72. The synchronous interface receives at least a portion of the transport packet output on the asynchronous interface, and wherein the processor determines a time at which each of the transport packets is received, and a reception time, 73. The multiplexing apparatus of claim 71, wherein said asynchronous interface generates said dispatch time as a function of an estimated buffering delay with said time to generate said output.
選択して、ディスパッチ時間を前記トランスポートパケットに指定し、また記述
子を割当て、さらに、前記割当てられた記述子に、前記指定されたディスパッチ
時間を記録することと、前記コマンドの1つが出るたびに、前記プロセッサが、
前記トランスポートパケットの次回グループにディスパッチ時間を指定しようと
し、記述子を、前記次回グループの各トランスポートパケットに割当て、前記ト
ランスポートパケットの前記次回グループに指定された前記ディスパッチ時間を
、割当てられた前記記述子に記録することを特徴とする請求項71記載の多重化
装置。73. The processor selects a transmit PID handler subroutine to specify a dispatch time for the transport packet and to allocate a descriptor, and further to the allocated descriptor for the specified descriptor. Recording a dispatch time, and each time one of the commands is issued, the processor:
Attempting to specify a dispatch time for the next group of the transport packets, assigning a descriptor to each transport packet of the next group, and assigning the dispatch time specified to the next group of the transport packets. 72. The multiplexing apparatus according to claim 71, wherein the multiplexing apparatus records the information in the descriptor.
受信ノードの第2の非同期インタフェースと、 前記受信ノードで、前記受取られたトランスポートパケットのジッタを除去す
る前記受信ノードの第2のプロセッサと、 前記ジッタを除去したトランスポートパケットの少なくとも一部を再多重化し
て、前記受信ノードから出力される第2のビットスクリームにして、前記第2の
ビットストリームが、このビットストリームで運ばれる各プログラムに対して、
連続的なエンド・ツー・エンド遅延を持つようにしている出力同期インタフェー
スと、 をさらに備えることを特徴とする請求項70記載の多重化装置。74. A multiplexer comprising a plurality of nodes, a second asynchronous interface of a receiving node receiving the transport packet transmitted from the asynchronous interface; and the received transformer at the receiving node. A second processor of the receiving node for removing the jitter of the port packet; and re-multiplexing at least a part of the transport packet from which the jitter has been removed to form a second bit scream output from the receiving node. The second bitstream is for each program carried in this bitstream:
71. The multiplexing device of claim 70, further comprising: an output synchronization interface adapted to have a continuous end-to-end delay.
ムであって、 (a)それぞれ、予め定めたビットレートを持つ1つまたは複数のビデオプログ
ラムの圧縮プログラムデータと、さらに、各プログラムの復号化とプレゼンテー
ションを同期化する前記プログラムのそれぞれのプログラムクロック基準タイム
スタンプも入っているトランスポートパケットを有するビットストリームを提供
する工程と、 (b)前記トランスポートパケットの1つまたは複数の選択されたトランスポー
トパケットのそれぞれに、ディスパッチ時間を指定して、前記トランスポートパ
ケットがデータを運ぶ対象のプログラムの所定ビットレートを保ち、また、前記
トランスポートパケットのそれぞれに対して平均待ち時間を招く工程と、 (c)前記ディスパッチ時間のそれぞれによって決まる時間にて、1つまたは複
数のコマンドを非同期通信インタフェースに出して、前記選択されたトランスポ
ートパケットのジッタを最小限に抑えるように、ほぼ前記ディスパッチ時間に、
前記対応する選択されたトランスポートパケットを、前記非同期通信インタフェ
ースで送らせるようにする工程と、 によって生成されることを特徴とするビットストリーム。75. A bit stream containing compressed video program data, comprising: (a) compressed program data of one or more video programs each having a predetermined bit rate; and decoding of each program. Providing a bit stream having a transport packet that also contains a program clock reference timestamp of each of the programs that synchronizes the presentation and the encoding; Specifying a dispatch time for each of the transport packets, maintaining a predetermined bit rate of a program to which the transport packets carry data, and inducing an average wait time for each of the transport packets; , (C ) At a time determined by each of the dispatch times, issuing one or more commands to the asynchronous communication interface to substantially minimize the jitter of the selected transport packet;
Causing the corresponding selected transport packet to be sent on the asynchronous communication interface.
非同期インタフェースから送られた前記トランスポートパケットを受取る工程と
、 (e)前記受信ノードで、前記受取られたトランスポートパケットのジッタを除
去する工程と、 (f)前記ジッタを除去したトランスポートパケットの少なくとも一部を再多重
化して、前記受信ノードから出力される第2のビットスクリームにして、前記第
2のビットストリームが、このビットストリームで運ばれる各プログラムに対し
て、連続的なエンド・ツー・エンド遅延を持つようにしている工程と、 のさらなる工程により生成されることを特徴とする請求項75記載のビットスト
リーム。76. (d) receiving the transport packet sent from the asynchronous interface at another asynchronous interface of a receiving node; and (e) receiving the transport packet at the receiving node. (F) re-multiplexing at least a part of the transport packet from which the jitter has been removed to form a second bitstream output from the receiving node, wherein the second bitstream is 78. The bit stream of claim 75, wherein the bit stream is generated by a further step of: having a continuous end-to-end delay for each program carried in the bit stream. .
ノードを備えた非同期通信網において、圧縮プログラムデータが入っている1つ
または複数のビットストリームを再多重化する方法であって、 (a)1つまたは複数のプログラムのデータが入っていて、かつ一部には、1つ
または複数の所定ビットレートを持つ第1のビットストリームを、前記非同期通
信網の宛先ノードで前記通信リンクの1つから受取る工程と、 (b)前記受取られた第1のビットストリームの少なくとも一部を伝送に選択す
る工程と、 (c)前記第1のビットストリームの前記選択された一部の前記所定ビットレー
トによって決まるレートで、前記第1のビットストリームの前記選択された一部
を、トランスポートストリームに出力するように、前記第1のビットストリーム
の前記選択された一部の伝送をスケジュールする工程と、 を含むことを特徴とする方法。77. A method for remultiplexing one or more bit streams containing compressed program data in an asynchronous communication network having a plurality of nodes interconnected by one or more communication links. (A) transmitting, at a destination node of the asynchronous communication network, a first bit stream that contains data of one or more programs and has a part or a plurality of predetermined bit rates, Receiving from one of the communication links; (b) selecting at least a portion of the received first bitstream for transmission; and (c) selecting the selected portion of the first bitstream. Outputting the selected portion of the first bit stream to a transport stream at a rate determined by the predetermined bit rate of Scheduling the transmission of the selected portion of the first bitstream.
または複数の部分を再多重化して、圧縮ビデオプログラムデータが入っている1
つまたは複数のトランスポートストリームにする方法であって、 (a)1つまたは複数のそれぞれの通信リンクにより共用通信媒体に接続された
複数のノードの間でやり取りできるようにする工程と、 (b)第1の組の1つまたは複数の前記ノードを選択して、1つまたは複数のビ
ットストリームを前記共用通信媒体上へ送る工程と、 (c)第2の組の1つまたは複数の前記ノードを選択して、前記共用通信媒体か
ら、前記送られたビットストリームを受取り、前記送られたビットストリームの
一部を選択し、前記選択された部分が入っているビットストリームとして、1つ
または複数の多重化トランスポートストリームを送り、その場合、1ビットスト
リームとして送られた前記多重化トランスポートストリームのそれぞれが、前記
送られたビットストリームの前記受取られたものとは異なる工程と、 (d)前記共用通信媒体への前記ノードの接続形態とは異なる少なくとも1つの
信号フローパターンを含め、複数の異なる信号フローパターンの1つにより、前
記選択されたノードで、前記共用通信媒体を通じて前記ビットストリームを伝達
させる工程と、 を含むことを特徴とする方法。78. At a plurality of nodes of the communication network, one or more portions of the bit stream are remultiplexed to contain the compressed video program data.
One or more transport streams, comprising: (a) enabling exchange between a plurality of nodes connected to a shared communication medium by one or more respective communication links; and (b) B.) Selecting a first set of one or more of the nodes and sending one or more bitstreams over the shared communication medium; and c) a second set of one or more of the one or more of the nodes. Selecting a node to receive the sent bit stream from the shared communication medium, select a portion of the sent bit stream, and select one or more as the bit stream containing the selected portion; Sending a plurality of multiplexed transport streams, in which case each of said multiplexed transport streams sent as one bit stream (D) one of a plurality of different signal flow patterns, including at least one signal flow pattern different from the topology of the node to the shared communication medium. Transmitting the bit stream at the selected node over the shared communication medium.
ただ1つを通じて、前記ノードの複数の他のノードのそれぞれから、ビットスト
リームを受取ることができる方法であって、1サブセットの前記複数の他のノー
ドを選択し、前記選択されたサブセットのノードだけから、前記少なくとも1つ
のノードでビットストリームを受取る工程をさらに含むことを特徴とする請求項
78記載の方法。79. A method wherein at least one node may receive a bitstream from each of a plurality of other nodes of said node through only one of said respective communication links, wherein said subset of said subset comprises a subset of said plurality of said nodes. The method of claim 78, further comprising selecting a plurality of other nodes and receiving a bitstream at the at least one node from only the selected subset of nodes.
ただ1つを通じて、前記ノードの複数の他のものからビットストリームを受取る
ことを特徴とする請求項78記載の方法。80. The method of claim 78, wherein at least one node receives a bitstream from a plurality of others of said nodes via only one of said respective communication links.
トストリームを再多重化するネットワーク分散形再多重化装置であって、 1つまたは複数の通信リンクと、 前記1つまたは複数の通信リンクにより相互接続されて通信ネットワークを成
す複数のノードであって、1つまたは複数のプログラムのデータが入っていて、
かつ一部には、1つまたは複数の所定ビットレートを持つ第1のビットストリー
ムを、前記通信リンクの1つを通じて受取り、かつ、 前記受取られた第1のビットストリームの少なくとも一部を伝送に選択し、ま
た前記第1のビットストリームの前記選択された一部の前記所定ビットレートに
よって決まるレートで、前記第1のビットストリームの前記選択された一部を、
トランスポートストリームに出力するように、前記第1のビットストリームの前
記選択された一部の伝送をスケジュールするプロセッサ、 を備える宛先ノードを含む複数のノードと、 を備えることを特徴とするネットワーク分散形再多重化装置。81. A network distributed remultiplexer for remultiplexing one or more bitstreams containing compressed program data, comprising: one or more communication links; and one or more of the one or more communication links. A plurality of nodes interconnected by a communication link to form a communication network, containing data of one or more programs,
And in part, receiving a first bit stream having one or more predetermined bit rates over one of the communication links, and transmitting at least a portion of the received first bit stream for transmission. Selecting, and at a rate determined by the predetermined bit rate of the selected portion of the first bitstream, the selected portion of the first bitstream,
A processor that schedules transmission of the selected portion of the first bitstream to output to a transport stream; a plurality of nodes, including a destination node, comprising: Remultiplexer.
、圧縮ビデオプログラムデータが入っている1つまたは複数のトランスポートス
トリームにするネットワーク分散形再多重化装置であって、 1つまたは複数の通信リンクを備える共用通信媒体と、 前記通信リンクのそれぞれの1つまたは複数により、それぞれ前記共用通信媒
体に接続された複数のノードであって、 1つまたは複数のビットストリームを前記共用通信媒体上へ送る第1の組の1
つまたは複数の前記ノードと、 前記共用通信媒体から、前記送られたビットストリームを受取り、前記送られ
たビットストリームの一部を選択し、前記選択された部分が入っているビットス
トリームとして、1つまたは複数の多重化トランスポートストリームを送り、そ
の場合、1ビットストリームとして送られた前記多重化トランスポートストリー
ムのそれぞれが、前記送られたビットストリームの前記受取られたものとは異な
るような第2の組の1つまたは複数の前記ノードと、 前記第1と第2の組のノードを選択し、また、前記共用通信媒体への前記ノー
ドの接続形態とは異なる少なくとも1つの信号フローパターンを含め、複数の異
なる信号フローパターンの1つにより、前記選択されたノードで、前記共用通信
媒体を通じて前記ビットストリームを伝達させるコントローラノードと、 を含む複数のノードと、 を備えることを特徴とするネットワーク分散形再多重化装置。82. A network distributed remultiplexer for remultiplexing one or more portions of a bitstream into one or more transport streams containing compressed video program data, comprising: A shared communication medium comprising one or more communication links; and a plurality of nodes each connected to the shared communication medium by one or more of each of the communication links, wherein one or more bit streams are A first set of ones to send over the shared communication medium
One or more of the nodes; receiving the transmitted bit stream from the shared communication medium, selecting a portion of the transmitted bit stream, and selecting 1 as a bit stream containing the selected portion. One or more multiplexed transport streams, wherein each of the multiplexed transport streams sent as a bit stream is different from the received one of the sent bit streams. Selecting one or more of the two sets of nodes and the first and second sets of nodes and at least one signal flow pattern different from the connection of the nodes to the shared communication medium. At one of a plurality of different signal flow patterns at the selected node through the shared communication medium. Network distributed remultiplexing apparatus characterized by comprising: a plurality of nodes, the comprising a controller node for transmitting the Tsu bets streams, the.
つを通じて、前記ノードの複数の他のノードのそれぞれから、ビットストリーム
を受取ることのできる少なくとも1つのノードをさらに備え、また、前記コント
ローラノードが、1サブセットの前記複数の他のノードを選択し、前記少なくと
も1つのノードが、ビットストリームを前記選択されたサブセットのノードだけ
から受取ることを特徴とする請求項82記載のネットワーク分散形再多重化装置
。83. The method according to claim 83, wherein the plurality of nodes comprises only one of the respective communication links.
Further comprising at least one node capable of receiving a bitstream from each of a plurality of other nodes of said node, wherein said controller node selects a subset of said plurality of other nodes; 83. The network-distributed remultiplexing apparatus of claim 82, wherein said at least one node receives bitstreams only from said selected subset of nodes.
つを通じて、前記ノードの複数の他のものからビットストリームを受取る少なく
とも1つのノード備えていることを特徴とする請求項82記載のネットワーク分
散形再多重化装置。84. The method according to claim 84, wherein the plurality of nodes include only one of the respective communication links.
83. The network distributed remultiplexing apparatus of claim 82, further comprising at least one node receiving bitstreams from a plurality of other ones of said nodes.
一連のトランスポートパケットから形成されたトランスポートストリームを送受
信する回路で参照クロックをロックする方法であって、前記プログラムのそれぞ
れが、前記プログラムの復号化とプレゼンテーションを同期化する独立エンコー
ダ・システム・タイムクロックのプログラム・クロック基準タイムスタンプと独
立ビットレートを有する方法であって、 (a)トランスポートパケットを受取る各第1の回路と、トランスポートパケッ
トを送る各第2の回路で参照クロックを維持して、各第1の回路での前記参照ク
ロックが、各トランスポートパケットを各第1の回路で受取る時間を示し、また
各第2の回路での前記参照クロックが、各トランスポートパケットを各第2の回
路から送る時間を示す工程と、 (b)前記参照クロックの他の各1つを同期化するマスター参照クロックを選定
する工程と、 (c)前記マスター参照クロックの現在時間を定期的に得る工程と、 (d)前記他の参照クロックのそれぞれの前記時間と、前記マスター参照クロッ
クの前記現在時間との差により、前記参照クロックの他の各1つを調整して、前
記それぞれの参照クロックの時間と、前記マスター参照クロックの対応する時間
が一致するようにする工程と、 を含むことを特徴とする方法。85. A method for locking a reference clock in a circuit for transmitting and receiving a transport stream formed from a series of transport packets containing compressed data for one or more programs, the method comprising: Has a program clock reference timestamp and an independent bit rate of an independent encoder system time clock for synchronizing the decoding and presentation of the program, wherein: (a) each first receiving a transport packet; Maintaining a reference clock at the circuit and at each second circuit sending the transport packets, wherein the reference clock at each first circuit indicates a time at which each transport packet is received at each first circuit; The reference clock in each second circuit is transmitted to each transport packet. (B) selecting a master reference clock that synchronizes each other of the reference clocks; and (c) determining the current time of the master reference clock. (D) adjusting another one of the reference clocks according to a difference between the time of each of the other reference clocks and the current time of the master reference clock; Matching the time of each reference clock with the corresponding time of the master reference clock.
スター参照クロックと選定される方法であって、 (e)各前記第1と第2の回路で、前記参照クロックの現在時間を同時に取出す
工程と、 (f)前記の1つの回路での前記参照クロックの前記現在時間と、前記1つの回
路以外の前記第1と第2の回路のそれぞれとの差を形成する工程と、 (g)前記1つの回路以外の前記第1と第2の回路のそれぞれで、前記参照クロ
ックを調整して、前記差を減らす工程と、 をさらに含むことを特徴とする請求項85記載の方法。86. A method wherein the reference clock in one of the first and second circuits is selected as the master reference clock, and (e) in each of the first and second circuits, (F) calculating a difference between the current time of the reference clock in the one circuit and each of the first and second circuits other than the one circuit; Forming, further comprising: (g) adjusting the reference clock in each of the first and second circuits other than the one circuit to reduce the difference. Item 85. The method according to Item 85.
あって、 (e)前記ノードの第1の1つで、前記マスター参照クロックの前記現在時間
を取出す工程と、 (f)前記受取られた現在時間を、前記第1のノードから、前記ノードの第2の
1つに、通信リンクを通じて送る工程と、 をさらに含むことを特徴とする請求項85記載の方法。87. A method wherein the first and second circuits are distributed over a plurality of nodes, comprising: (e) retrieving the current time of the master reference clock at a first one of the nodes. 86. The method of claim 85, further comprising: (f) sending the received current time from the first node to a second one of the nodes via a communication link. Method.
回路のそれぞれから遠く離れている方法であって、 (e)前記マスター参照クロックの前記現在時間を定期的にブロードキャスト(
送信)する工程と、 (f)複数のリモートの第1と第2の回路のそれぞれで、前記ブロードキャスト
(送信)現在時間を同時期に受取る工程と、 をさらに含むことを特徴とする請求項85記載の方法。88. A method wherein the master reference clock is geographically remote from each of the first and second circuits, and (e) periodically broadcasting the current time of the master reference clock. (
86. The method of claim 85, further comprising: transmitting; and (f) receiving, at each of the plurality of remote first and second circuits, the broadcast (transmit) current time at the same time. The described method.
一連のトランスポートパケットから形成されたトランスポートストリームを再多
重化する再多重化装置であって、前記プログラムのそれぞれが、前記プログラム
の復号化とプレゼンテーションを同期化する独立エンコーダ・システム・タイム
クロックのプログラム・クロック基準タイムスタンプと独立ビットレートを有す
る再多重化装置であって、 それぞれ、各トランスポートパケットを受取る時間を示す第1の参照クロック
を備えた、トランスポートパケットを受取る1つまたは複数の第1の回路と、 それぞれ、各トランスポートパケットを送る時間を示す第2の参照クロックを
備えた、トランスポートパケットを送る1つまたは複数の第2の回路と、 前記マスター参照クロックの現在時間を定期的に得るために、前記第1と第2
の参照クロックのそれぞれを同期化するマスター参照クロックと、 前記第1と第2の参照クロックのそれぞれでの前記時間と、前記マスター参照
クロックの前記現在時間との差により、前記第1と第2の参照クロックのそれぞ
れを調整して、前記それぞれの第1と第2の参照クロックの時間と、前記マスタ
ー参照クロックの対応する時間が一致するようにするプロセッサと、 を備えることを特徴とする再多重化装置。89. A remultiplexer for remultiplexing a transport stream formed from a series of transport packets containing compressed data for one or more programs, each of said programs comprising: A remultiplexer having a program clock reference timestamp and an independent bit rate of an independent encoder system time clock for synchronizing decoding and presentation of the program, each indicating a time to receive each transport packet. One or more first circuits for receiving transport packets with a first reference clock, and sending transport packets with a second reference clock each indicating a time to send each transport packet. One or more second circuits, and the master The first and the second to periodically obtain the current time of the reference clock;
A master reference clock for synchronizing each of the first and second reference clocks; a difference between the time at each of the first and second reference clocks and the current time of the master reference clock; A processor that adjusts each of the reference clocks so that the times of the respective first and second reference clocks match the corresponding times of the master reference clock. Multiplexer.
スター参照クロックと選定される再多重化装置あって、前記プロセッサが、前記
第1と第2の回路のそれぞれで、前記第1と第2の前記参照クロックの現在時間
を同時に取出し、 前記の1つの回路での前記第1と第2の参照クロックの前記現在時間と、前記1
つの回路以外の前記第1と第2の回路のそれぞれとの差を形成し、さらに、前記
1つの回路以外の前記第1と第2の回路のそれぞれで、各第1と第2の参照クロ
ックを調整して前記差を減らすことを特徴とする請求項89記載の再多重化装置
。90. A remultiplexer wherein a reference clock in one of the first and second circuits is selected as the master reference clock, wherein the processor is configured to control the first and second circuits. In each case, the current times of the first and second reference clocks are simultaneously taken out, and the current times of the first and second reference clocks in the one circuit;
Forming a difference between each of the first and second circuits other than the one circuit, and further forming a first and second reference clock in each of the first and second circuits other than the one circuit. 90. The remultiplexing apparatus according to claim 89, wherein the difference is reduced by adjusting.
化装置であって、 前記ノードの第1のものと第2のものを接続する通信リンクであって、前記第
1のノードが、前記マスター参照クロックの前記現在時間を受取り、また前記受
取られた現在時間を、通信リンクを通じて、前記第1のノードから、前記ノード
の他のものに送る通信リンクをさらに備えることを特徴とする請求項89記載の
再多重化装置。91. A remultiplexer wherein the first and second circuits are distributed over a plurality of nodes, the communication link connecting the first and second ones of the nodes, The first node further receives a communication link for receiving the current time of the master reference clock and transmitting the received current time from the first node to another one of the nodes via a communication link. 90. The remultiplexing apparatus according to claim 89, further comprising:
回路のそれぞれから遠く離れている再多重化装置であって、 前記マスター参照クロックの前記現在時間の定期的なブロードキャストを同時
期に受信する1つまたは複数の受信機をさらに備えることを特徴とする請求項8
9記載の再多重化装置。92. A remultiplexer, wherein said master reference clock is geographically remote from each of said first and second circuits, wherein a periodic broadcast of said current time of said master reference clock. 9. The system of claim 8, further comprising one or more receivers for receiving at the same time.
10. The remultiplexing apparatus according to 9.
ム・データ、また各プログラムでは、前記プログラムの復号化とプレゼンテーシ
ョンを同期化するプログラムクロック基準タイムスタンプが入っているトランス
ポートパケットを含め、一連のトランスポートパケットから形成された1つまた
は複数のトランスポートストリームを再多重化する方法であって、 (a)1つまたは複数のトランスポートストリームを提供する工程と、 (b)前記1つまたは複数のトランスポートストリームの1つまたは複数のトラ
ンスポートパケットを選択して、再多重化トランスポートストリームに出力する
工程と、 (c)前記トランスポートパケットの一部を、予め定めた遅延によって決まる出
力トランスポートストリームのタイムスロットに出力するようにスケジュールし
、その場合、前記タイムスロットのそれぞれが、ローカルクロックで示される通
り、ほぼディスパッチ時間に現れる工程と、 (d)それぞれのスケジュールされたプログラムクロック基準を載せたトランス
ポートパケットの各プログラム基準タイムスタンプを、前記ローカルクロックと
、(もしあれば)前記プログラムクロック基準タイムスタンプを生成したプログ
ラムシステム・タイムクロックとのドリフトに基づいて調整する工程と、 (e)前記プログラムクロック基準タイムスタンプを載せたトランスポートパケ
ットを出力するようにスケジュールした前記タイムスロットの前記ディスパッチ
時間と、前記タイムスロットが外部クロックに応じて現れる実際の時間との差に
基づいて、それぞれの調整されたプログラムクロック基準タイムスタンプをさら
に調整する工程と、 を含むことを特徴とする方法。93. Each of the one or more programs includes compressed program data and, in each program, a transport packet containing a program clock reference timestamp for synchronizing decoding and presentation of the program. A method for remultiplexing one or more transport streams formed from a series of transport packets, comprising: (a) providing one or more transport streams; and (b) the one or more transport streams. Or selecting one or more transport packets of a plurality of transport streams and outputting them to a remultiplexed transport stream; and (c) determining a portion of the transport packets with a predetermined delay. Time of output transport stream Scheduling to output to a slot, wherein each of said time slots appears approximately at a dispatch time, as indicated by a local clock; and (d) a transport carrying a respective scheduled program clock reference. Adjusting each program reference timestamp of the packet based on drift of the local clock and the program system time clock that generated the program clock reference timestamp (if any); and (e) the program clock. Based on the difference between the dispatch time of the time slot scheduled to output a transport packet carrying a reference time stamp and the actual time at which the time slot appears in response to an external clock, Method characterized by comprising between adjusted step further adjust the program clock reference time stamp, a.
延によって決まるタイムスロット以外の前記出力トランスポートストリームのタ
イムスロットに出力するようにスケジュールする工程と、 (g)前記他のタイムスロットの1つに出力された選択トランスポートパケット
内の各プログラムクロック基準タイムスタンプの概算調整値を、前記他の1つの
タイムスロットと、前記予め定めた遅延に対応するタイムスロットとの出力時間
差に基づいて、計算する工程と、 (h)前記他のタイムスロットの1つに出力するようにスケジュールされたプロ
グラムクロック基準タイムスタンプを載せたトランスポートパケット内の各プロ
グラムクロック基準タイムスタンプを、前記概算調整値だけ調整する工程と、 をさらに含むことを特徴とする請求項93記載の方法。94. (f) scheduling another transport packet to be output to a time slot of the output transport stream other than a time slot determined by the predetermined delay; and (g) the other transport packet. The approximate adjustment value of each program clock reference timestamp in the selected transport packet output to one of the time slots is calculated as an output time difference between the other one of the time slots and the time slot corresponding to the predetermined delay. And (h) calculating each program clock reference timestamp in a transport packet carrying a program clock reference timestamp scheduled to be output in one of said other time slots, Adjusting only the approximate adjustment value. 94. The method of claim 93, wherein:
ム・データ、また各プログラムでは、前記プログラムの復号化とプレゼンテーシ
ョンを同期化するプログラムクロック基準タイムスタンプが入っているトランス
ポートパケットを含め、一連のトランスポートパケットから形成された1つまた
は複数のトランスポートストリームを再多重化する再多重化装置であって、 ローカルクロックと、 前記ローカルクロックに応答して、1つまたは複数のトランスポートストリー
ムの1つまたは複数のトランスポートパケットを選択して、再多重化トランスポ
ートストリームに出力し、前記トランスポートパケットの一部を、予め定めた遅
延によって決まる出力トランスポートストリームのタイムスロットに出力するよ
うにスケジュールし、その場合、前記タイムスロットのそれぞれが、前記ローカ
ルクロックで示される通り、ほぼディスパッチ時間に現れ、それぞれのスケジュ
ールされたプログラムクロック基準タイムスタンプを載せたトランスポートパケ
ット内のプログラムクロック基準タイムスタンプのそれぞれを、前記ローカルク
ロックと、(もしあれば)前記プログラムクロック基準タイムスタンプを生成し
たプログラムシステム・タイムクロックとのドリフトに応じて調整するプロセッ
サと、 前記プロセッサによりスケジュールされたトランスポートパケットに応答して
、前記プログラムクロック基準タイムスタンプを載せたトランスポートパケット
を出力するようにスケジュールした前記タイムスロットの前記ディスパッチ時間
と、前記タイムスロットが外部クロックに応じて現れる実際の時間との差に基づ
いて、それぞれの調整されたプログラムクロック基準タイムスタンプをさらに調
整する出力データリンク制御回路と、 を備えることを特徴とする再多重化装置。95. Compressed program data in each of the one or more programs, and in each program, a transport packet containing a program clock reference timestamp for synchronizing decoding and presentation of said program, A remultiplexer for remultiplexing one or more transport streams formed from a series of transport packets, comprising: a local clock; and one or more transport streams responsive to the local clock. And selecting one or more of the transport packets to output to a remultiplexed transport stream, and outputting a portion of the transport packets to a time slot of the output transport stream determined by a predetermined delay. Invisibility The time slot, wherein each of the time slots appears at approximately the dispatch time, as indicated by the local clock, and the program clock reference time stamp in the transport packet carrying the respective scheduled program clock reference time stamp. Responsive to a drift between the local clock and the program system time clock that generated the program clock reference timestamp (if any); and responsive to transport packets scheduled by the processor. And the dispatch time of the time slot scheduled to output a transport packet carrying the program clock reference time stamp; and Based on the difference between the actual time appearing in response to an external clock, each adjustment program re multiplexer, characterized in that it comprises clock reference output data link control circuit further adjusts the time stamp, the.
予め定めた遅延によって決まるタイムスロット以外の前記出力トランスポートス
トリームのタイムスロットに出力するようにスケジュールし、前記他のタイムス
ロットの1つに出力するようにスケジュールされたプログラムクロック基準タイ
ムスタンプを載せたトランスポートパケット内の各プログラムクロック基準タイ
ムスタンプの概算調整値を、前記他の1つのタイムスロットと、前記予め定めた
遅延に対応するタイムスロットとの出力時間差に基づいて計算し、各プログラム
クロック基準タイムスタンプを、前記概算調整値だけ調整するためのものでもあ
ることを特徴とする請求項95記載の再多重化装置。96. The processor, wherein the processor schedules another transport packet to be output to a time slot of the output transport stream other than a time slot determined by the predetermined delay; The approximate adjustment value of each program clock reference timestamp in the transport packet carrying the program clock reference timestamp scheduled to be output to one of the other time slots and the predetermined delay. 97. The remultiplexing apparatus according to claim 95, wherein the remultiplexing apparatus calculates the program clock reference time stamp based on an output time difference from the time slot to be adjusted, and adjusts each program clock reference time stamp by the approximate adjustment value.
ム・データ、また各プログラムでは、前記プログラムの復号化とプレゼンテーシ
ョンを同期化するプログラムクロック基準タイムスタンプが入っているトランス
ポートパケットを含め、一連のトランスポートパケットから形成されるビットス
トリームであって、 (a)1つまたは複数のトランスポートストリームを提供する工程と、 (b)前記1つまたは複数のトランスポートストリームの1つまたは複数のトラ
ンスポートパケットを選択して、再多重化トランスポートストリームに出力する
工程と、 (c)前記トランスポートパケットの一部を、予め定めた遅延によって決まる出
力トランスポートストリームのタイムスロットに出力するようにスケジュールし
、その場合、前記タイムスロットのそれぞれが、ローカルクロックで示される通
り、ほぼディスパッチ時間に現れる工程と、 (d)それぞれのスケジュールされたプログラムクロック基準を載せたトランス
ポートパケットの各プログラム基準タイムスタンプを、前記ローカルクロックと
、(もしあれば)前記プログラムクロック基準タイムスタンプを生成したプログ
ラムシステム・タイムクロックとのドリフトに基づいて調整する工程と、 (e)前記プログラムクロック基準タイムスタンプを載せたトランスポートパケ
ットを出力するようにスケジュールした前記タイムスロットの前記ディスパッチ
時間と、前記タイムスロットが外部クロックに応じて現れる実際の時間との差に
基づいて、それぞれの調整されたプログラムクロック基準タイムスタンプをさら
に調整する工程と、 によって生成されることを特徴とするビットストリーム。97. Each of the one or more programs includes compressed program data, and each program includes a transport packet containing a program clock reference timestamp that synchronizes the decoding and presentation of the program. A bit stream formed from a series of transport packets, comprising: (a) providing one or more transport streams; and (b) one or more of the one or more transport streams. Selecting a transport packet and outputting it to a remultiplexed transport stream; and (c) outputting a portion of the transport packet to a time slot of the output transport stream determined by a predetermined delay. Schedule and Wherein each of said time slots appears approximately at dispatch time, as indicated by the local clock; and (d) each program reference timestamp of a transport packet carrying a respective scheduled program clock reference, Adjusting based on drift of the local clock and the program system time clock that generated the program clock reference time stamp (if any); and (e) transport packets carrying the program clock reference time stamp. A respective adjusted program clock reference time based on the difference between the dispatch time of the time slot scheduled to output the time slot and the actual time at which the time slot appears in response to an external clock. A step of further adjusting the tamp, bit stream characterized in that it is produced by.
延によって決まるタイムスロット以外の前記出力トランスポートストリームのタ
イムスロットに出力するようにスケジュールする工程と、 (g)前記他のタイムスロットの1つに出力された選択トランスポートパケット
内の各プログラムクロック・タイムスタンプの概算調整値を、前記他の1つのタ
イムスロットと、前記予め定めた遅延に対応するタイムスロットとの出力時間差
に基づいて、計算する工程と、 (h)前記他のタイムスロットの1つに出力するようにスケジュールされたプロ
グラムクロック基準タイムスタンプを載せたトランスポートパケット内の各プロ
グラムクロック基準タイムスタンプを、前記概算調整値だけ調整する工程と、 のさらなる工程によって形成されることを特徴とする請求項97記載のビットス
トリーム。98. (f) scheduling another transport packet to be output in a time slot of the output transport stream other than a time slot determined by the predetermined delay; and (g) the other transport packet. The approximate adjustment value of each program clock timestamp in the selected transport packet output to one of the time slots is calculated as an output time difference between the other one of the time slots and the time slot corresponding to the predetermined delay. And (h) calculating each program clock reference timestamp in a transport packet carrying a program clock reference timestamp scheduled to be output in one of said other time slots, Adjusting only the approximate adjustment value, and further steps 100. The bit stream of claim 97, wherein the bit stream is formed.
の要件、独立ビットレート、および、前記ビデオプログラムの復号化とプレゼン
テーションを同期化する独立エンコーダ・システム・タイムクロックのプログラ
ム・クロック基準タイムスタンプから成る圧縮プログラムデータが入っているト
ランスポートパケットを含め、トランスポートパケットを再多重化する方法であ
って、 (a)キャッシュが制御を得た一連の記述子記憶位置の1つの未使用の記述子を
、保持される各受信トランスポートパケットに割当て、その場合、前記一連の記
述子記憶位置が、特定の入力ポートに割当てられたキューの一部である工程と、 (b)前記キャッシュが制御を得たトランスポートパケット記憶位置で、前記割
当てられた記述子が指すトランスポートパケット記憶位置に、それぞれの保持さ
れたトランスポートパケットを蓄積する工程と、 (c)前記キャッシュが制御をすでに得た最後の記述子記憶位置の後に前記キュ
ーの1つまたは複数の未使用の記述子記憶位置の制御を得、また、前記1つまた
は複数の記述子記憶位置にあるこれらの記述子が指すトランスポートパケット記
憶位置の制御も得て、記述子記憶位置の前記キューとトランスポートパケット記
憶位置が、一定しないエンド・ツー・エンド通信遅延のある非同期通信リンクに
より、前記キャッシュから離されたメモリ内に保存される工程と、 を含むことを特徴とする方法。99. In each program, a constant end-to-end communication delay requirement, an independent bit rate, and a program clock of an independent encoder system time clock for synchronizing decoding and presentation of the video program A method for remultiplexing a transport packet, including a transport packet containing compressed program data comprising a reference timestamp, comprising: (a) one of a series of descriptor locations in a series of descriptor locations controlled by a cache; Assigning a descriptor of use to each received transport packet to be retained, wherein the series of descriptor locations is part of a queue assigned to a particular input port; At the transport packet storage location where the cache has gained control, the assigned descriptor Storing each retained transport packet in a transport packet storage location pointing to it; and (c) storing one or more unread queues in the queue after the last descriptor storage location where the cache has already gained control. Gaining control of the descriptor storage locations of use, and also gaining control of the transport packet storage locations pointed to by these descriptors in the one or more descriptor storage locations, Storing the transport packet storage location in a memory away from the cache by an asynchronous communication link with variable end-to-end communication delay.
の対応する記述子記憶位置に書込み、またトランスポートパケットを、前記割当
てられた記述子が指すトランスポートパケット記憶位置に書込み、さらに、その
データを、前記通信リンクを通じて、前記メモリに書込む工程をさらに含むこと
を特徴とする請求項99記載の方法。100. (d) Write the data of the allocated descriptor to a corresponding descriptor storage location in the memory, and write a transport packet to a transport packet storage location indicated by the allocated descriptor. 100. The method of claim 99, further comprising writing and further writing the data to the memory over the communication link.
の前記記述子記憶位置に書込まれた前記記述子データを定期的に調べる工程と、 (f)前記調べられた記述子が指すトランスポートパケット記憶位置内の前記ト
ランスポートパケットを処理する工程と、 (g)入力ポートと関係のある前記キューの1つまたは複数の前記記述子の選択
されたものに、出力ポートと関係のあるキューの記述子を割当てる工程と、 (h)選択された情報を、入力ポートと関係のある前記1つまたは複数のキュー
のそれぞれの選択された記述子から、前記出力ポートと関係のある前記キューの
前記記述子にコピーする工程と、 (g)前記出力ポートと関係のある前記キュー内の前記記述子を、前記出力ポー
トからの特定の送信順に順序付ける工程と、 をさらに含むことを特徴とする請求項100記載の方法。101. periodically examining said descriptor data written to said descriptor storage location of each queue in said memory associated with an input port; and Processing the transport packet in a transport packet storage location pointed to by a descriptor; and (g) providing an output port to a selected one or more of the descriptors in the queue associated with an input port. Assigning a descriptor of a queue associated with the output port; and (h) assigning selected information from the selected descriptor of each of the one or more queues associated with the input port to the output port. (G) ordering the descriptors in the queue related to the output port in a specific transmission order from the output port. That step a further method of claim 100, wherein the containing.
子を、第2のキャッシュから取出すが、各記述子を、前記第2のキャッシュ内の
一連の記述子記憶位置の最初から取出し、また、それぞれの取出された記述子が
指すトランスポートパケット記憶位置に蓄積された各トランスポートパケットも
前記第2のキャッシュから取出す工程と、 (j)それぞれの検索されたトランスポートパケットを、前記特定の出力から出
力されたトランスポートストリームの一意的なタイムスロットに出力する工程と
、 (k)前記一連の記述子記憶位置の最後のキャッシュ入り記述子が蓄積されてい
る前記記述子記憶位置の後の記述子記憶位置内の前記出力ポートと関係のある前
記キューの記述子と、前記記述子が指すトランスポートパケット記憶位置に蓄積
されている各トランスポートパケットを、前記第2のキャッシュへの蓄積用の前
記メモリから得る工程と、 をさらに含むことを特徴とする請求項101記載の方法。102. (i) Retrieving each descriptor of the queue associated with the output port from a second cache, each descriptor being stored in a series of descriptor storage locations in the second cache. Retrieving each transport packet from the second cache, also retrieving from the beginning, and also transport packets stored in the transport packet storage location pointed to by the respective retrieved descriptor, (j) retrieving the respective transport packets. In a unique time slot of the transport stream output from the particular output; and (k) the descriptor in which the last cached descriptor of the series of descriptor storage locations is stored. A descriptor of the queue associated with the output port in the descriptor storage location after the storage location, and a transport packet pointed to by the descriptor. Each transport packet stored in the bets storage location, The method of claim 101, wherein the further comprising a, a step of obtaining from said memory for storage in the second cache.
延の要件、独立ビットレート、および、前記プログラムの復号化とプレゼンテー
ションを同期化する独立エンコーダ・システム・タイムクロックのプログラム・
クロック基準タイムスタンプから成る圧縮プログラムデータが入っているトラン
スポートパケットを含め、トランスポートパケットを再多重化する方法であって
、 (a)出力ポートに指定されたキューの一連の記述子記憶位置の各記述子をキャ
ッシュから取出し、各記述子を、前記一連の記述子記憶位置の最初から取出し、
またそれぞれの取出された記述子が指すトランスポートパケット記憶位置に蓄積
されている各トランスポートパケットを前記キャッシュから取出す工程と、 (b)それぞれ取出されたトランスポートパケットを、前記特定の出力ポートか
ら出力されたトランスポートストリームの一意的なタイムスロットに出力する工
程と、 (c)前記一連の記述子記憶位置の最後のキャッシュ入り記述子が蓄積されてい
る前記記述子記憶位置の後の前記キューの記述子記憶位置内の1つまたは複数の
記述子と、前記記述子が指すトランスポートパケット記憶位置に蓄積されている
各トランスポートパケットを、一定のエンド・ツー・エンド通信遅延のある非同
期通信リンクを通じて前記キャッシュへの蓄積用の前記メモリから得る工程と、 を含むことを特徴とする方法。103. Each program has a fixed end-to-end communication delay requirement, an independent bit rate, and a program code for an independent encoder system time clock that synchronizes the decoding and presentation of the program.
A method for remultiplexing transport packets, including transport packets containing compressed program data comprising a clock reference timestamp, comprising the steps of: Retrieving each descriptor from the cache, retrieving each descriptor from the beginning of the series of descriptor locations,
Fetching each transport packet stored in the transport packet storage location pointed to by each fetched descriptor from the cache; and (b) retrieving each fetched transport packet from the specific output port. Outputting to a unique time slot of the output transport stream; and (c) the queue after the descriptor storage location where the last cached descriptor of the series of descriptor storage locations is stored. Asynchronous communication with a fixed end-to-end communication delay between one or more of the descriptors in the descriptor storage location and each transport packet stored in the transport packet storage location pointed to by the descriptor. Obtaining from said memory for storage in said cache via a link. How to with.
いる1つまたは複数のトランスポートパケット記憶位置を指す1つまたは複数の
記述子が入っている記述子記憶位置の追加キューを、前記メモリに提供する工程
と、 (e)前記メモリ内で、前記追加キューのそれぞれの前記記述子記憶位置に書込
まれた記述子データを定期的に調べる工程と、 (f)前記調べられた記述子が指すトランスポートパケット位置内で前記トラン
スポートパケットを処理する工程と、 (g)前記追加キューの1つまたは複数の前記記述子の選択されたものに、前記
出力ポートに指定された前記キューの記述子を割当て、前記1つまたは複数の追
加キューのそれぞれの選択された記述子からの選択された情報を、前記出力ポー
トに指定された前記キューの前記割当てられた記述子にコピーし、前記出力ポー
トに指定された前記キューの前記割当てられた記述子を、前記出力ポートからの
特定の送信順に順序付ける工程と、 をさらに含むことを特徴とする請求項103記載の方法。104. An additional queue of descriptor storage locations containing one or more descriptors pointing to one or more transport packet storage locations where the transport packets to be output are stored. (E) periodically examining the descriptor data written in the memory at each of the descriptor storage locations of the additional queue; and (f) examining the descriptor data in the memory. Processing the transport packet within a transport packet location pointed to by the specified descriptor; and (g) assigning one or more of the descriptors to the selected one of the additional queues to the output port. Allocate a descriptor for the queue and assign selected information from each selected descriptor of the one or more additional queues to the output port Copying to the assigned descriptor of the queue and ordering the assigned descriptors of the queue designated to the output port in a particular transmission order from the output port. 104. The method of claim 103, wherein the method is characterized by:
延の要件、独立ビットレート、および、前記プログラムの復号化とプレゼンテー
ションを同期化する独立エンコーダ・システム・タイムクロックのプログラム・
クロック基準タイムスタンプから成る圧縮プログラムデータが入っているトラン
スポートパケットを含め、トランスポートパケットを再多重化する再多重化装置
であって、 キャッシュと 前記キャッシュが制御を得た一連の記述子記憶位置の1つの未使用の記述子を
、保持される各受信トランスポートパケットに割当て、その場合、前記一連の記
述子記憶位置が、特定の入力ポートに割当てられたキューの一部であり、また、
前記キャッシュが制御を得たトランスポートパケット記憶位置で、前記割当てら
れた記述子が指すトランスポートパケット記憶位置に、それぞれの保持されたト
ランスポートパケットを蓄積するために、前記キャッシュに接続されたデータリ
ンク制御回路と、 前記キャッシュが制御をすでに得た最後の記述子記憶位置の後に前記キューの
1つまたは複数の未使用の記述子記憶位置の制御を得、また、前記1つまたは複
数の記述子記憶位置にあるこれらの記述子が指すトランスポートパケット記憶位
置も制御を得て、記述子記憶位置の前記キューと、トランスポートパケット記憶
位置が、一定しないエンド・ツー・エンド通信遅延のある非同期通信リンクによ
り、前記キャッシュから離されたメモリ内に保存される、前記キャッシュに接続
されたダイレクトメモリ・アクセス回路と、 を備えることを特徴とする多重化装置。105. Each program has a fixed end-to-end communication delay requirement, independent bit rate, and independent encoder system time clock program to synchronize the decoding and presentation of said program.
A remultiplexer for remultiplexing transport packets, including transport packets containing compressed program data comprising a clock reference timestamp, comprising: a cache; and a series of descriptor storage locations from which the cache has obtained control. Is assigned to each received transport packet to be retained, wherein the series of descriptor locations is part of a queue assigned to a particular input port;
Data connected to the cache for storing each retained transport packet in the transport packet storage location pointed to by the assigned descriptor at the transport packet storage location where the cache has obtained control. Link control circuitry; and gaining control of one or more unused descriptor locations in the queue after the last descriptor location in which the cache has already gained control, and the one or more descriptions. The transport packet storage locations pointed to by these descriptors in the child storage locations also gain control, and the queue of descriptor storage locations and the transport packet storage locations can be asynchronous with an uncertain end-to-end communication delay. A communication link connected to the cache stored in a memory remote from the cache; And a direct memory access circuit.
れた記述子のデータを、前記メモリの対応する記述子記憶位置に書込み、またト
ランスポートパケットを、前記割当てられた記述子が指すトランスポートパケッ
ト記憶位置に書込み、さらに、そのデータを、前記非同期通信リンクを通じて、
前記メモリに書込むことを特徴とする請求項105記載の再多重化装置。106. The direct memory access circuit writes the data of the allocated descriptor to a corresponding descriptor storage location of the memory, and transports a transport packet to the transport indicated by the allocated descriptor. Writing to a port packet storage location and further writing the data over the asynchronous communication link
107. The remultiplexing apparatus according to claim 105, wherein writing is performed to said memory.
ューの前記記述子記憶位置に書込まれた前記記述子データを定期的に調べ、前記
調べられた記述子が指すトランスポートパケット位置内で前記トランスポートパ
ケットを処理し、 入力ポートと関係のある前記キューの1つまたは複数の前記記述子の選択された
ものに、前記出力ポートと関係のあるキューの記述子を割当て、入力ポートと関
係のある前記1つまたは複数のキューのそれぞれの選択された記述子からの選択
された情報を、前記出力ポートと関係のある前記キュー内の前記記述子にコピー
し、前記出力ポートに関係のある前記キュー内の前記記述子を、前記出力ポート
からの特定の送信順に順序付けるプロセッサをさらに備えることを特徴とする請
求項106記載の再多重化装置。107. In the memory associated with the input port, periodically examine the descriptor data written to the descriptor storage location of each queue, and the transport pointed to by the examined descriptor Processing the transport packet within a packet location and assigning a descriptor of a queue associated with the output port to a selected one or more of the descriptors of the queue associated with an input port; Copying selected information from each selected descriptor of the one or more queues associated with an input port to the descriptor in the queue associated with the output port; 2. The processor of claim 1 further comprising: a processor for ordering the descriptors in the queue related to a particular transmission order from the output port. 6 remultiplexing apparatus according.
から取出すが、各記述子を、前記第2のキャッシュ内の一連の記述子記憶位置の
最初から取出し、それぞれの取出された記述子が指すトランスポートパケット記
憶位置に蓄積されている各トランスポートパケットを前記第2のキャッシュから
取出し、さらに、それぞれの取出されたトランスポートパケットを、前記特定の
出力ポートから出力されたトランスポートストリームの一意的なタイムスロット
に出力する第2のデータリンク制御回路と、 前記一連の記述子記憶位置の最後のキャッシュ入り記述子が蓄積されている前
記記述子記憶位置の後の記述子記憶位置内の前記出力ポートと関係のある前記キ
ューの記述子と、前記記述子が指すトランスポートパケット位置に蓄積されてい
る各トランスポートパケットを、前記第2のキャッシュへの蓄積用の前記メモリ
から得るために、前記非同期通信リンクに接続された第2のダイレクトメモリア
クセス回路と、 をさらに備えることを特徴とする請求項107記載の再多重化装置。108. Retrieve a second cache and each descriptor of the queue associated with the output port from the second cache, each descriptor being a series of descriptions in the second cache. Fetching each transport packet stored at the transport packet storage location pointed to by the respective fetched descriptor from the beginning of the child storage location from the second cache; and further fetching the respective fetched transport packet. A second data link control circuit for outputting a unique time slot of a transport stream output from the specific output port, and a last cached descriptor of the series of descriptor storage locations being stored. A descriptor of the queue associated with the output port in the descriptor storage location after the descriptor storage location; A second direct memory connected to the asynchronous communication link to obtain each transport packet stored at the transport packet location pointed to by the descriptor from the memory for storage in the second cache. 108. The remultiplexing apparatus according to claim 107, further comprising: an access circuit.
延の要件、独立ビットレート、および、前記プログラムの復号化とプレゼンテー
ションを同期化する独立エンコーダ・システム・タイムクロックのプログラム・
クロック基準タイムスタンプから成る圧縮プログラムデータが入っているトラン
スポートパケットを含め、トランスポートパケットを再多重化する再多重化装置
であって、 キャッシュと 出力ポートに指定されたキューの一連の記述子記憶位置の各記述子を、前記キ
ャッシュから取出すが、各記述子を前記一連の記述子記憶位置の最初から取出し
、それぞれの取出された記述子が指すトランスポートパケット記憶位置に蓄積さ
れた各トランスポートパケットを、前記キャッシュから取出し、前記特定の出力
ポートから出力されたトランスポートストリームの一意的なタイムスロットに、
それぞれの取出されたトランスポートパケットを出力するために、前記キャッシ
ュに接続されたデータリンク制御回路と、 前記一連の記述子記憶位置の最後のキャッシュ入り記述子が蓄積されている記
述子記憶位置の後の前記キューの記述子記憶位置内の1つまたは複数の記述子と
、前記記述子が指すトランスポートパケット位置内に蓄積された各トランスポー
トパケットを、一定しないエンド・ツー・エンド通信遅延のある非同期通信リン
クを通じて、前記キャッシュへの蓄積用の前記メモリから得るために、前記キャ
ッシュに接続されたダイレクトメモリ・アクセス回路と、 を備えることを特徴とする再多重化装置。109. Each program has a fixed end-to-end communication delay requirement, an independent bit rate, and an independent encoder system time clock that synchronizes the decoding and presentation of the program.
A remultiplexer for remultiplexing transport packets, including transport packets containing compressed program data consisting of a clock reference timestamp, for storing a series of descriptors in a cache and a queue designated for an output port. Retrieve each descriptor for a location from the cache, retrieving each descriptor from the beginning of the series of descriptor locations, and storing each transport stored in a transport packet location pointed to by the respective retrieved descriptor. Fetching a packet from the cache, into a unique time slot of the transport stream output from the particular output port,
A data link control circuit connected to the cache for outputting each fetched transport packet; and a descriptor storage location where the last cached descriptor of the series of descriptor storage locations is stored. Subsequent one or more descriptors in the queue's descriptor storage location and each transport packet stored in the transport packet location pointed to by the descriptor are combined with a variable end-to-end communication delay. A direct memory access circuit connected to the cache for obtaining from the memory for storage in the cache via an asynchronous communication link.
たは複数のトランスポートパケット記憶位置を指す1つまたは複数の記述子が入
っている記述子記憶位置の追加キューを保存するために、前記非同期通信リンク
に接続されたメモリと、 前記メモリ内で、前記追加キューのそれぞれの前記記述子記憶位置に書込まれ
た記述子データを定期的に調べ、前記調べられた記述子が指すトランスポートパ
ケット位置内で前記トランスポートパケットを処理し、前記追加キューの1つま
たは複数の前記記述子の選択されたものに、前記出力ポートに指定された前記キ
ューの記述子を割当て、前記1つまたは複数の追加キューのそれぞれの選択され
た記述子からの選択された情報を、前記出力ポートに指定された前記キューの前
記割当てられた記述子にコピーし、前記出力ポートに指定された前記キューの前
記割当てられた記述子を、前記出力ポートからの特定の送信順に順序付けるプロ
セッサと、 をさらに備えることを特徴とする再多重化装置。110. To store an additional queue of descriptor locations containing one or more descriptors pointing to one or more transport packet storage locations where the transport packets to be output are stored. A memory connected to the asynchronous communication link; and periodically examining, in the memory, the descriptor data written to the respective descriptor storage locations of the additional queues, and pointing to the examined descriptor. Processing the transport packet within a transport packet location and assigning a descriptor of the queue designated to the output port to a selected one or more of the descriptors of the additional queue; The selected information from each selected descriptor of one or more additional queues to the queue of the queue designated to the output port. A processor for copying to the assigned descriptor and ordering the assigned descriptors of the queue designated to the output port in a particular transmission order from the output port. Multiplexer.
延の要件、独立ビットレート、および、前記ビデオプログラムの復号化とプレゼ
ンテーションを同期化する独立エンコーダ・システム・タイムクロックのプログ
ラム・クロック基準タイムスタンプから成る圧縮プログラムデータが入っている
トランスポートパケットを含め、トランスポートパケットが入っているトランス
ポートストリームであって、 (a)キャッシュが制御を得た一連の記述子記憶位置の1つの未使用の記述子を
、保持される各受信トランスポートパケットに割当て、その場合、前記一連の記
述子記憶位置が、特定の入力ポートに割当てられたキューの一部である工程と、 (b)前記キャッシュが制御を得たトランスポートパケット記憶位置で、前記割
当てられた記述子が指すトランスポートパケット記憶位置に、それぞれの保持さ
れたトランスポートパケットを蓄積する工程と、 (c)前記キャッシュが制御をすでに得た最後の記述子記憶位置の後に前記キュ
ーの1つまたは複数の未使用の記述子記憶位置の制御を得、また、前記1つまた
は複数の記述子記憶位置にあるこれらの記述子が指すトランスポートパケット記
憶位置の制御も得て、記述子記憶位置の前記キューとトランスポートパケット記
憶位置が、一定しないエンド・ツー・エンド通信遅延のある非同期通信リンクに
より、前記キャッシュから離されたメモリ内に保存される工程と、 によって生成されることを特徴とするトランスポートストリーム。111. Each program has a fixed end-to-end communication delay requirement, independent bit rate, and a program clock for an independent encoder system time clock for synchronizing decoding and presentation of the video program. A transport stream containing a transport packet, including a transport packet containing compressed program data consisting of a reference timestamp, wherein: (a) one of a series of descriptor storage locations for which the cache has obtained control; Assigning an unused descriptor to each received transport packet to be retained, wherein the series of descriptor storage locations is part of a queue assigned to a particular input port; (b) In the transport packet storage location where the cache gained control, Storing each retained transport packet in a transport packet storage location pointed to by the assigned descriptor; and (c) storing the transport packet in the queue after the last descriptor storage location where the cache has already gained control. Gaining control of one or more unused descriptor locations and also gaining control of the transport packet locations pointed to by these descriptors in said one or more descriptor locations; Storing said queue of storage locations and transport packet storage locations in a memory separate from said cache by an asynchronous communication link with variable end-to-end communication delays. A transport stream that features.
延の要件、独立ビットレート、および、前記プログラムの復号化とプレゼンテー
ションを同期化する独立エンコーダ・システム・タイムクロックのプログラム・
クロック基準タイムスタンプから成る圧縮プログラムデータが入っているトラン
スポートパケットを含め、トランスポートパケットの入っているトランスポート
ストリームであって、 (a)出力ポートに指定されたキューの一連の記述子記憶位置の各記述子を、キ
ャッシュから取出すが、各記述子を前記一連の記述子記憶位置の最初から取出し
、それぞれの取出された記述子が指すトランスポートパケット記憶位置に蓄積さ
れた各トランスポートパケットを、前記キャッシュから取出す工程と、 (b)前記特定の出力ポートから出力されたトランスポートストリームの一意的
なタイムスロットに、それぞれの取出されたトランスポートパケットを出力する
工程と、 (c)前記一連の記述子記憶位置の最後のキャッシュ入り記述子が蓄積されてい
る記述子記憶位置の後の前記キューの記述子記憶位置内の1つまたは複数の記述
子と、前記記述子が指すトランスポートパケット位置内に蓄積された各トランス
ポートパケットを、一定しないエンド・ツー・エンド通信遅延のある非同期通信
リンクを通じて、前記キャッシュへの蓄積用のメモリから得る工程と、 によって生成されることを特徴とするトランスポートストリーム。112. Each program has a fixed end-to-end communication delay requirement, an independent bit rate, and a program code for an independent encoder system time clock that synchronizes the decoding and presentation of the program.
A transport stream containing transport packets, including a transport packet containing compressed program data comprising a clock reference timestamp, comprising: (a) a series of descriptor locations in a queue designated for an output port; From the cache, fetching each descriptor from the beginning of the series of descriptor locations, and retrieving each transport packet stored in the transport packet location pointed to by each fetched descriptor. Fetching from the cache; and (b) outputting each fetched transport packet to a unique time slot of a transport stream output from the specific output port; and (c) the series. The last cached descriptor of the descriptor location The one or more descriptors in the descriptor storage location of the queue after the current descriptor storage location, and each transport packet stored in the transport packet location pointed to by the descriptor, Obtaining from a memory for storage in said cache via an asynchronous communication link with a two-to-end communication delay.
ータが入っている、トランスポートストリームのトランスポートパケットを暗号
解読する方法であって、 (a)各トランスポートパケットに実行される一連の1つまたは複数の処理段階
を定め、前記一連の処理段階内で暗号解読処理の段階を順序付ける工程と、 (b)或るキューの記述子を各トランスポートパケットに割当て、それぞれの割
当てられた記述子には、その記述子が割当てられた前記トランスポートパケット
を指すポインタ、1つまたは複数の処理標識、および制御ワード情報用の記憶位
置が入っている工程と、 (c)前記トランスポートパケットのコンテントと関係のある制御ワード情報を
、前記割当てられた記述子のうち選択された記述子の前記制御ワード情報記憶位
置に蓄積する工程と、 (d)前記1つまたは複数の前記処理標識をセットして、前記一連の処理段階の
うちの次の段階の処理が、前記割当てられた記述子のそれぞれに行われることを
示す工程と、 (e)それぞれの割当てられた記述子に順次にアクセスする工程と、 (f)暗号解読予定のトランスポートパケットを指すそれぞれのアクセスされた
記述子では、暗号解読処理が、前記アクセスされた記述子と、前記アクセスされ
た記述子が指すトランスポートパケットに行われることを示すように、前記アク
セスされた記述子の前記1つまたは複数の処理標識をセットする場合に限り、前
記アクセスされた記述子内の前記制御ワード情報を用いて、前記アクセスされた
記述子が指す前記トランスポートパケットを暗号解読する工程と、 を含むことを特徴とする方法。113. A method for decrypting transport packets of a transport stream containing basic stream data of one or more video programs, comprising: (a) a series of steps performed on each transport packet; Defining one or more processing stages and ordering the stages of the decryption process within said sequence of processing stages; and (b) assigning a descriptor of a queue to each transport packet; The descriptor including a pointer to the transport packet to which the descriptor is assigned, one or more processing indicators, and a storage location for control word information; and (c) the transport packet. The control word information related to the content of the Storing in the control word information storage location; and (d) setting the one or more process indicators so that a next one of the series of process steps is performed by the assigned descriptor. (E) sequentially accessing each assigned descriptor; and (f) each accessed descriptor pointing to a transport packet to be decrypted. Setting the one or more processing indicators of the accessed descriptor to indicate that decryption processing is to be performed on the accessed descriptor and the transport packet pointed to by the accessed descriptor. Only in case, the control word information in the accessed descriptor is used to decrypt the transport packet pointed to by the accessed descriptor. Method characterized by comprising that the step.
ドレスであることを特徴とする請求項113記載の方法。114. The method according to claim 113, wherein said control word information is a base address of a control word table.
いて制御ワードテーブルを捜し出して、前記トランスポートパケットのパケット
識別子でインデックスされた前記制御ワードテーブルの1エントリから制御ワー
ドを取出し、その場合、各パケット識別子が、前記トランスポートパケットに納
められた基本ストリームデータを一意的に示す工程をさらに含むことを特徴とす
る請求項114記載の方法。115. (g) searching the control word table using the base address during the decryption step, and retrieving a control word from one entry of the control word table indexed by a packet identifier of the transport packet. 115. The method of claim 114, further comprising the step of retrieving, where each packet identifier uniquely indicates elementary stream data contained in the transport packet.
前記トランスポートパケットの奇数/偶数制御ワード標識を使用する工程をさら
に含むことを特徴とする請求項115記載の方法。116. The locating step comprises: fetching the control word;
The method of claim 115, further comprising using an odd / even control word indicator of the transport packet.
を保存して、前記トランスポートパケットのコンテントを暗号解読する工程をさ
らに含むことを特徴とする請求項114記載の方法。117. The method of claim 114, further comprising the step of: (g) storing a control word table containing the control words and decrypting the contents of the transport packet.
ランスポートパケット記憶位置に、暗号解読されたトランスポートパケットデー
タを書込んで、それにより、前記トランスポートパケットの前回暗号解読データ
に上書きされる工程と、 (h)暗号解読処理が行われることを示す処理標識が入っている各記述子を調べ
た後で、前記処理標識の1つまたは複数をセットして、前記一連の処理段階の次
の段階の処理が、前記記述子と、前記記述子が指すトランスポートパケットに行
われることを示す工程と、 をさらに含むことを特徴とする請求項113記載の方法。118. (g) Write the decrypted transport packet data to the transport packet storage location pointed to by the pointer of the assigned descriptor, thereby decrypting the transport packet last time. (H) after examining each descriptor containing a processing indicator indicating that a decryption process is to be performed, setting one or more of the processing indicators and 114. The method of claim 113, further comprising: indicating that processing next to said processing step is to be performed on a transport packet pointed to by said descriptor.
ータが入っている、トランスポートストリームのトランスポートパケットを暗号
化する方法であって、 (a)各トランスポートパケットに実行される一連の1つまたは複数の段階を定
め、前記一連の段階内で暗号化処理の段階を順序付ける工程と、 (b)或るキューの記述子を各トランスポートパケットに割当て、それぞれの割
当てられた記述子には、その記述子が割当てられた前記トランスポートパケット
を指すポインタ、1つまたは複数の処理標識、および制御ワード情報用の記憶位
置が入っている工程と、 (c)前記トランスポートパケットのコンテントと関係のある制御ワード情報を
、前記割当てられた記述子のうち選択された記述子の前記制御ワード情報記憶位
置に蓄積する工程と、 (d)前記1つまたは複数の前記処理標識をセットして、前記一連の処理段階の
うちの次の段階の処理が、前記割当てられた記述子のそれぞれに行われることを
示す工程と、 (e)それぞれの割当てられた記述子に順次にアクセスする工程と、 (f)暗号化予定のトランスポートパケットを指すそれぞれのアクセスされた記
述子では、暗号化処理が、前記アクセスされた記述子と、前記アクセスされた記
述子が指すトランスポートパケットに行われることを示すように、前記アクセス
された記述子の前記1つまたは複数の処理標識をセットする場合に限り、前記ア
クセスされた記述子内の前記制御ワード情報を用いて、前記アクセスされた記述
子が指す前記トランスポートパケットを暗号化する工程と、 を含むことを特徴とする方法。119. A method for encrypting transport packets of a transport stream containing elementary stream data of one or more video programs, comprising: (a) a series of steps performed on each transport packet; Defining one or more stages and ordering the stages of the encryption process within said sequence of stages; (b) assigning a descriptor of a queue to each transport packet, each assigned descriptor Contains a pointer to the transport packet to which the descriptor is assigned, one or more processing indicators, and a storage location for control word information; and (c) the content of the transport packet. The control word information of the selected one of the assigned descriptors. Storing in a storage location; and (d) setting the one or more processing indicators so that the next one of the series of processing steps is performed on each of the assigned descriptors. (E) sequentially accessing each assigned descriptor; and (f) each accessed descriptor pointing to a transport packet to be encrypted. , Only if the one or more processing indicators of the accessed descriptor are set to indicate what is to be done with the accessed descriptor and the transport packet pointed to by the accessed descriptor. Encrypting the transport packet pointed to by the accessed descriptor using the control word information in the accessed descriptor. A method comprising:
ンテントに対応する制御ワードであることを特徴とする請求項119記載の方法
。120. The method according to claim 119, wherein said control word information is a control word corresponding to the content of each transport packet.
トのパケット識別子でインデックスされた制御ワードテーブルの1エントリから
前記制御ワードを取出し、その場合、各パケット識別子が、前記トランスポート
パケットに納められた基本ストリームデータを一意的に示す工程と、 (h)前記取出された制御ワードを、前記記述子の前記制御ワード記憶位置に蓄
積する工程と、 をさらに含むことを特徴とする請求項120記載の方法。121. (g) fetching the control word from an entry of a control word table indexed by a packet identifier of the transport packet during the allocating step, wherein each packet identifier is And (h) accumulating the fetched control word in the control word storage location of the descriptor. Item 120. The method according to Item 120.
を保存して、前記トランスポートパケットのコンテントを暗号化する工程をさら
に含むことを特徴とする請求項121記載の方法。122. The method of claim 121, further comprising: (i) storing a control word table containing the control words and encrypting the content of the transport packet.
ランスポートパケット記憶位置に、暗号化されたトランスポートパケットデータ
を書込んで、それにより、前記トランスポートパケットの前回暗号化データに上
書きされる工程と、 (h)暗号化処理が行われることを示す1つまたは複数の処理標識が入っている
各記述子を調べた後で、前記処理標識の1つまたは複数をセットして、前記一連
の処理段階の次の段階の処理が、前記記述子と、前記記述子が指すトランスポー
トパケットに行われることを示す工程と、 をさらに含むことを特徴とする請求項119記載の方法。123. (g) Writing encrypted transport packet data to a transport packet storage location pointed to by said pointer of said assigned descriptor, thereby encrypting said transport packet last time. Overwriting the data; and (h) setting one or more of the process indicators after examining each descriptor containing one or more process indicators indicating that an encryption process is to be performed. 120. The method of claim 119, further comprising: indicating that processing at a next stage of the series of processing steps is performed on the transport packet indicated by the descriptor. the method of.
ータが入っている、トランスポートストリームのトランスポートパケットを暗号
解読する再多重化装置あって、 各トランスポートパケットに実行される一連の1つまたは複数の処理段階を定
め、前記一連の処理段階内で暗号解読処理を順序付けるプロセッサと、 或るキューの記述子を各トランスポートパケットに割当て、それぞれの割当て
られた記述子には、その記述子が割当てられた前記トランスポートパケットを指
すポインタ、1つまたは複数の処理標識、および制御ワード情報用の記憶位置が
入っており、また前記1つまたは複数の前記処理標識をセットして、前記一連の
処理段階のうちの次の段階の処理が、前記割当てられた記述子のそれぞれに行わ
れることを示すデータリンク制御回路と、 それぞれの割当てられた記述子に順次にアクセスし、また、暗号解読予定のト
ランスポートパケットを指すそれぞれのアクセスされた記述子では、暗号解読処
理が、前記アクセスされた記述子と、前記アクセスされた記述子が指すトランス
ポートパケットに行われることを示すように、前記アクセスされた記述子の前記
1つまたは複数の処理標識をセットする場合に限り、前記アクセスされた記述子
内の前記制御ワード情報を用いて、前記アクセスされた記述子が指す前記トラン
スポートパケットを暗号解読するデスクランブラと、 を備え、 前記プロセッサが、受取られたトランスポートパケットのコンテントと関係の
ある制御ワード情報も、前記記述子のうち対応する記述子の前記制御ワード記憶
位置に蓄積することを特徴とする再多重化装置。124. A remultiplexer for decrypting transport packets of a transport stream containing basic stream data of one or more video programs, wherein a series of ones performed on each transport packet is provided. A processor that defines one or more processing steps and orders the decryption processing within the series of processing steps; assigns a descriptor of a queue to each transport packet; A pointer to the transport packet to which a descriptor is assigned, one or more processing indicators, and a storage location for control word information; and setting the one or more processing indicators, The next step in the series of processing steps is performed on each of the assigned descriptors. And a data link control circuit indicating, sequentially, each assigned descriptor, and for each accessed descriptor that points to a transport packet to be decrypted, the decryption process includes The accessed descriptor only when the descriptor and the one or more processing indicators of the accessed descriptor are set to indicate what to do with the transport packet pointed to by the accessed descriptor. A descrambler for decrypting the transport packet pointed to by the accessed descriptor using the control word information in the descriptor, wherein the processor associates the transport packet with the content of the received transport packet. Some control word information is also stored in the control word storage location of the corresponding descriptor among the descriptors. Remultiplexing apparatus characterized by accumulation.
ドレスであることを特徴とする請求項124記載の方法。125. The method according to claim 124, wherein said control word information is a base address of a control word table.
御ワードテーブルを捜し出して、前記トランスポートパケットのパケット識別子
でインデックスされた前記制御ワードテーブルの1エントリから制御ワードを取
出し、その場合、各パケット識別子が、前記トランスポートパケットに納められ
た基本ストリームデータを一意的に示すことを特徴とする請求項125記載の再
多重化装置。126. The descrambler searches the control word table using the base address, and extracts a control word from one entry of the control word table indexed by a packet identifier of the transport packet. The remultiplexing apparatus according to claim 125, wherein each packet identifier uniquely indicates basic stream data contained in the transport packet.
奇数/偶数標識を使用して前記制御ワードテーブルをインデックスして、前記制
御ワードを捜し出すことを特徴とする請求項126記載の再多重化装置。127. The remultiplexer of claim 126, wherein the descrambler indexes the control word table using odd / even indicators of the transport packet to locate the control word. apparatus.
ードテーブルを保存して、前記トランスポートパケットのコンテントを暗号解読
することを特徴とする請求項126記載の再多重化装置。128. The remultiplexing apparatus according to claim 126, wherein the processor stores a control word table containing the control word and decrypts the content of the transport packet.
ポインタが指すトランスポートパケット記憶位置に、暗号解読されたトランスポ
ートパケットデータを書込んで、それにより、前記トランスポートパケットの前
回暗号解読データに上書きされ、また、暗号解読処理が行われることを示す処理
標識が入っている各記述子を調べた後で、前記処理標識の1つまたは複数をセッ
トして、前記一連の処理段階の次の段階の処理が、前記記述子と、前記記述子が
指すトランスポートパケットに行われることを示すことを特徴とする請求項12
4記載の再多重化装置。129. The descrambler writes the decrypted transport packet data to a transport packet storage location pointed to by the pointer of the allocated descriptor, thereby writing a previous value of the transport packet. After examining each descriptor that is overwritten with the decryption data and that includes a processing indicator indicating that decryption processing is to be performed, one or more of the processing indicators are set and the series of processing is performed. 13. The method of claim 12, further comprising indicating that processing of a next step is performed on the descriptor and a transport packet indicated by the descriptor.
5. The remultiplexing device according to 4.
ータが入っている、トランスポートストリームのトランスポートパケットを暗号
化する再多重化装置あって、 各トランスポートパケットに実行される一連の1つまたは複数の処理段階を定
め、前記一連の処理段階内で暗号化処理の段階を順序付け、或るキューの記述子
を各トランスポートパケットに割当て、それぞれの割当てられた記述子には、そ
の記述子が割当てられた前記トランスポートパケットを指すポインタ、1つまた
は複数の処理標識、および制御ワード情報用の記憶位置が入っていて、前記トラ
ンスポートパケットのコンテントと関係のある制御ワード情報を、前記割当てら
れた記述子のうち選択された記述子の前記制御ワード情報記憶位置に蓄積し、1
つまたは複数の前記処理標識をセットして、前記一連の処理段階のうちの次の段
階の処理が、前記割当てられた記述子のそれぞれに行われることを示すプロセッ
サと、 それぞれの割当てられた記述子に順次にアクセスし、また、暗号化予定のトラ
ンスポートパケットを指すそれぞれのアクセスされた記述子では、暗号化処理が
、前記アクセスされた記述子と、前記アクセスされた記述子が指すトランスポー
トパケットに行われることを示すように、前記アクセスされた記述子の前記1つ
または複数の処理標識をセットする場合に限り、前記アクセスされた記述子内の
前記制御ワード情報を用いて、前記アクセスされた記述子が指す前記トランスポ
ートパケットを暗号化するスクランブラと、 を備えることを特徴とする再多重化装置。130. A remultiplexer for encrypting transport packets of a transport stream, containing basic stream data of one or more video programs, wherein a series of ones performed on each transport packet. One or more processing steps, ordering the encryption processing steps in the series of processing steps, assigning a descriptor of a queue to each transport packet, and assigning a description to each assigned descriptor. A pointer pointing to the transport packet to which the child is assigned, one or more processing indicators, and a storage location for control word information, containing control word information related to the content of the transport packet. Storing in the control word information storage location of the selected one of the assigned descriptors;
A processor that sets one or more of the processing indicators to indicate that processing of the next stage of the series of processing steps will be performed on each of the allocated descriptors; and a respective allocated description. For each accessed descriptor that sequentially accesses the child and points to the transport packet that is to be encrypted, the encryption process proceeds with the accessed descriptor and the transport pointed to by the accessed descriptor. The control word information in the accessed descriptor is used only when the one or more processing indicators of the accessed descriptor are set to indicate what to do with the packet. And a scrambler for encrypting the transport packet indicated by the specified descriptor.
ンテントに対応する制御ワードであることを特徴とする請求項130記載の再多
重化装置。131. The remultiplexing apparatus according to claim 130, wherein the control word information is a control word corresponding to the content of each transport packet.
ット識別子でインデックスされた制御ワードテーブルの1エントリから前記制御
ワードを取出し、その場合、各パケット識別子が、前記トランスポートパケット
に納められた基本ストリームデータを一意的に示し、さらに、前記取出された制
御ワードを、前記記述子の前記制御ワード記憶位置に蓄積することを特徴とする
請求項131記載の再多重化装置。132. The processor retrieves the control word from one entry of a control word table indexed by a packet identifier of the transport packet, wherein each packet identifier is a basic word contained in the transport packet. 131. The remultiplexing apparatus of claim 131, wherein the remultiplexing device uniquely indicates stream data and further stores the fetched control word in the control word storage location of the descriptor.
ードテーブルを保存して、前記トランスポートパケットのコンテントを暗号化す
ることを特徴とする請求項132記載の再多重化装置。133. The re-multiplexing apparatus according to claim 132, wherein the processor stores a control word table containing the control word and encrypts the content of the transport packet.
インタが指すトランスポートパケット記憶位置に、暗号化されたトランスポート
パケットデータを書込んで、それにより、前記トランスポートパケットの前回暗
号化データに上書きされ、また、暗号化処理が行われることを示す1つまたは複
数の処理標識が入っている各記述子を調べた後で、前記処理標識の1つまたは複
数をセットして、前記一連の処理段階の次の段階の処理が、前記記述子と、前記
記述子が指すトランスポートパケットに行われることを示すことを特徴とする請
求項130記載の再多重化装置。134. The scrambler writes the encrypted transport packet data to a transport packet storage location pointed to by the pointer of the assigned descriptor, whereby the last After examining each descriptor overwritten with encrypted data and containing one or more processing indicators indicating that encryption processing is to be performed, one or more of the processing indicators may be set. 130. The re-multiplexing apparatus according to claim 130, wherein it indicates that processing in a next step of the series of processing steps is performed on the descriptor and a transport packet indicated by the descriptor.
ータが入っている暗号解読されたトランスポートパケットを納めたトランスポー
トストリームであって、 (a)各トランスポートパケットに実行される一連の1つまたは複数の処理段階
を定め、前記一連の段階内で暗号解読処理を順序付ける工程と、 (b)或るキューの記述子を各トランスポートパケットに割当て、それぞれの割
当てられた記述子には、その記述子が割当てられた前記トランスポートパケット
を指すポインタ、1つまたは複数の処理標識、および制御ワード情報用の記憶位
置が入っている工程と、 (c)前記トランスポートパケットのコンテントと関係のある制御ワード情報を
、前記割当てられた記述子のうち選択された記述子の前記制御ワード情報記憶位
置に蓄積する工程と、 (d)1つまたは複数の前記処理標識をセットして、前記一連の処理段階のうち
の次の段階の処理が、前記割当てられた記述子のそれぞれに行われることを示す
工程と、 (e)それぞれの割当てられた記述子に順次にアクセスする工程と、 (f)暗号解読予定のトランスポートパケットを指すそれぞれのアクセスされた
記述子では、暗号解読処理が、前記アクセスされた記述子と、前記アクセスされ
た記述子が指すトランスポートパケットに行われることを示すように、前記アク
セスされた記述子の前記1つまたは複数の処理標識をセットする場合に限り、前
記アクセスされた記述子内の前記制御ワード情報を用いて、前記アクセスされた
記述子が指す前記トランスポートパケットを暗号解読する工程と、 によって生成されることを特徴とするトランスポートストリーム。135. A transport stream containing decrypted transport packets containing elementary stream data of one or more video programs, comprising: (a) a series of streams executed on each transport packet; Defining one or more processing steps and ordering the decryption processing within said sequence of steps; and (b) assigning a descriptor of a queue to each transport packet, and assigning each assigned descriptor a descriptor. Contains a pointer to the transport packet to which the descriptor is assigned, one or more processing indicators, and a storage location for control word information; and (c) the content of the transport packet; Relevant control word information is stored in the control word information of the selected one of the assigned descriptors. And (d) setting one or more of the processing indicators so that the next one of the series of processing steps is performed on each of the assigned descriptors. (E) sequentially accessing each assigned descriptor; and (f) each accessed descriptor pointing to a transport packet to be decrypted, , Only if the one or more processing indicators of the accessed descriptor are set to indicate what is to be done with the accessed descriptor and the transport packet pointed to by the accessed descriptor. Using the control word information in the accessed descriptor to decrypt the transport packet pointed to by the accessed descriptor. A transport stream generated by the transport stream.
ータが入っている暗号化されたトランスポートパケットを納めたトランスポート
ストリームであって、 (a)各トランスポートパケットに実行される一連の1つまたは複数の処理段階
を定め、前記一連の段階内で暗号化処理を順序付ける工程と、 (b)或るキューの記述子を各トランスポートパケットに割当て、それぞれの割
当てられた記述子には、その記述子が割当てられた前記トランスポートパケット
を指すポインタ、1つまたは複数の処理標識、および制御ワード情報用の記憶位
置が入っている工程と、 (c)前記トランスポートパケットのコンテントと関係のある制御ワード情報を
、前記割当てられた記述子のうち選択された記述子の前記制御ワード情報記憶位
置に蓄積する工程と、 (d)1つまたは複数の前記処理標識をセットして、前記一連の処理段階のうち
の次の段階の処理が、前記割当てられた記述子のそれぞれに行われることを示す
工程と、 (e)それぞれの割当てられた記述子に順次にアクセスする工程と、 (f)暗号化予定のトランスポートパケットを指すそれぞれのアクセスされた記
述子では、暗号化処理が、前記アクセスされた記述子と、前記アクセスされた記
述子が指すトランスポートパケットに行われることを示すように、前記アクセス
された記述子の前記1つまたは複数の処理標識をセットする場合に限り、前記ア
クセスされた記述子内の前記制御ワード情報を用いて、前記アクセスされた記述
子が指す前記トランスポートパケットを暗号化する工程と、 によって生成されることを特徴とするトランスポートストリーム。136. A transport stream containing encrypted transport packets containing elementary stream data of one or more video programs, comprising: (a) a series of streams executed on each transport packet; Defining one or more processing steps and ordering the encryption processing within said sequence of steps; (b) assigning a descriptor of a queue to each transport packet, and assigning each assigned descriptor a Contains a pointer to the transport packet to which the descriptor is assigned, one or more processing indicators, and a storage location for control word information; and (c) the content of the transport packet; Relevant control word information is stored in the control word information record of the selected one of the allocated descriptors. And (d) setting one or more of the processing indicators and performing the next one of the series of processing steps on each of the assigned descriptors. (E) sequentially accessing each assigned descriptor; and (f) for each accessed descriptor pointing to a transport packet to be encrypted, the encryption process comprises: Only if the one or more processing indicators of the accessed descriptor are set to indicate what to do with the accessed descriptor and the transport packet pointed to by the accessed descriptor Using the control word information in the accessed descriptor to encrypt the transport packet pointed to by the accessed descriptor. A transport stream characterized by being performed.
Applications Claiming Priority (21)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US733498A | 1998-01-14 | 1998-01-14 | |
US720498A | 1998-01-14 | 1998-01-14 | |
US09/007,203 | 1998-01-14 | ||
US09/007,334 | 1998-01-14 | ||
US09/006,964 | 1998-01-14 | ||
US09/006,963 US6246701B1 (en) | 1998-01-14 | 1998-01-14 | Reference time clock locking in a remultiplexer for video program bearing transport streams |
US09/007,204 | 1998-01-14 | ||
US09/007,210 US6351474B1 (en) | 1998-01-14 | 1998-01-14 | Network distributed remultiplexer for video program bearing transport streams |
US09/007,211 | 1998-01-14 | ||
US09/007,212 US6292490B1 (en) | 1998-01-14 | 1998-01-14 | Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer |
US09/007,198 US6064676A (en) | 1998-01-14 | 1998-01-14 | Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors |
US09/007,198 | 1998-01-14 | ||
US09/007,210 | 1998-01-14 | ||
US09/007,212 | 1998-01-14 | ||
US09/006,963 | 1998-01-14 | ||
US09/006,964 US6111896A (en) | 1998-01-14 | 1998-01-14 | Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment |
US09/007,199 US6148082A (en) | 1998-01-14 | 1998-01-14 | Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams |
US09/007,211 US6351471B1 (en) | 1998-01-14 | 1998-01-14 | Brandwidth optimization of video program bearing transport streams |
US09/007,203 US6195368B1 (en) | 1998-01-14 | 1998-01-14 | Re-timing of video program bearing streams transmitted by an asynchronous communication link |
US09/007,199 | 1998-01-14 | ||
PCT/US1999/000360 WO1999037048A1 (en) | 1998-01-14 | 1999-01-07 | Video program bearing transport stream remultiplexer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002510162A true JP2002510162A (en) | 2002-04-02 |
Family
ID=27580623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000540637A Pending JP2002510162A (en) | 1998-01-14 | 1999-01-07 | Transport stream remultiplexer with video program |
Country Status (10)
Country | Link |
---|---|
EP (1) | EP1046253A4 (en) |
JP (1) | JP2002510162A (en) |
KR (1) | KR20010034133A (en) |
CN (1) | CN100380853C (en) |
AU (1) | AU761704B2 (en) |
BR (1) | BR9906963A (en) |
CA (1) | CA2318415C (en) |
IL (1) | IL137277A (en) |
NO (2) | NO20003599L (en) |
WO (1) | WO1999037048A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001313630A (en) * | 2000-03-29 | 2001-11-09 | Deutsche Thomson Brandt Gmbh | Method and device for changing output delay of audio or video data encoding |
JP2004187306A (en) * | 2002-12-04 | 2004-07-02 | Irdeto Access Bv | Terminal having data terminal and method for retransmitting digital data and data distribution system |
JP2004304467A (en) * | 2003-03-31 | 2004-10-28 | Nec Corp | Stream transformation/transmission device |
JP2008527472A (en) * | 2004-12-22 | 2008-07-24 | インテル・コーポレーション | How to process multimedia streams |
JP2012039513A (en) * | 2010-08-10 | 2012-02-23 | Hitachi Kokusai Electric Inc | Digital broadcast transmission apparatus |
JP2014534672A (en) * | 2011-09-27 | 2014-12-18 | トムソン ライセンシングThomson Licensing | Method and apparatus for QAM modulator channel replication |
KR101565438B1 (en) | 2014-11-25 | 2015-11-03 | 주식회사 사이버이메지네이션 | Method for renewing real time data onscreen of browser, apparaus and system using the same |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948186B1 (en) * | 1999-10-07 | 2005-09-20 | General Instrument Corporation | Multi-tasking message extractor |
US6771657B1 (en) * | 1999-12-09 | 2004-08-03 | General Instrument Corporation | Non real-time delivery of MPEG-2 programs via an MPEG-2 transport stream |
DE19960295B4 (en) * | 1999-12-14 | 2012-06-21 | Rohde & Schwarz Gmbh & Co. Kg | Method and apparatus for changing the information content of a digital video transport stream in selected regions |
CA2394923A1 (en) * | 1999-12-14 | 2001-06-21 | General Instrument Corporation | Hardware filtering of input packet identifiers for an mpeg re-multiplexer |
JP2001211195A (en) * | 2000-01-25 | 2001-08-03 | Fujitsu Ltd | Data communication system |
US7489685B2 (en) * | 2000-02-21 | 2009-02-10 | Panasonic Corporation | Digital broadcast receiving apparatus |
US6801536B1 (en) * | 2000-03-23 | 2004-10-05 | International Business Machines Corporation | Remultiplexing audio/video PES streams from an MPEG transport system |
WO2001072044A1 (en) * | 2000-03-23 | 2001-09-27 | Thomson Licensing S.A. | A system and a process for reconstructing programs from an input transport stream and a corresponding digital receiver |
KR20020026166A (en) * | 2000-03-27 | 2002-04-06 | 요트.게.아. 롤페즈 | Method of inserting data of a second type into an input stream of a first type |
EP1139666B1 (en) * | 2000-03-29 | 2010-06-02 | Thomson Licensing | Method and apparatus for changing the output delay of audio or video data encoding |
EP1150445A3 (en) | 2000-04-24 | 2008-06-04 | Sony Corporation | Method and device for transmitting media data comprising time stamp information, method and terminal device for receiving this data, method and device for receiving digital broadcasts and method and device for calculating the transmission time of the media data, based on the time stamp information |
WO2001097526A1 (en) * | 2000-06-12 | 2001-12-20 | General Instrument Corporation | Apparatus and method for resolution of conflicts in protocol data of multiple data streams |
FR2812500A1 (en) * | 2000-07-31 | 2002-02-01 | Koninkl Philips Electronics Nv | PROCESSING OF A DATA SET |
EP1182878A1 (en) * | 2000-08-22 | 2002-02-27 | Koninklijke Philips Electronics N.V. | Communication system, transmitter, receiver, method using a data storage descriptor |
FI111590B (en) * | 2001-04-20 | 2003-08-15 | Swelcom Oy | Method and apparatus for locating data |
JP4788081B2 (en) * | 2001-08-07 | 2011-10-05 | パナソニック株式会社 | Packet data output device |
US7215679B2 (en) * | 2001-08-30 | 2007-05-08 | Thomson Licensing | Method, apparatus and data structure enabling multiple channel data stream transmission |
US7050505B2 (en) * | 2001-09-13 | 2006-05-23 | General Instrument Corporation | Aliasing and routing of plural MPEG data streams |
US7343487B2 (en) | 2001-10-10 | 2008-03-11 | Nokia Corporation | Datacast distribution system |
US20030156108A1 (en) * | 2002-02-20 | 2003-08-21 | Anthony Vetro | Consistent digital item adaptation |
US7231404B2 (en) | 2003-01-31 | 2007-06-12 | Nokia Corporation | Datacast file transmission with meta-data retention |
US7269836B2 (en) * | 2003-03-24 | 2007-09-11 | International Business Machines Corporation | System and method for providing multiplexing and remultiplexing of MPEG-2 streams |
KR100539886B1 (en) * | 2004-09-10 | 2005-12-28 | 삼성전자주식회사 | Digital broadcasting reception apparatus and method therefor |
KR100665102B1 (en) * | 2004-12-03 | 2007-01-04 | 한국전자통신연구원 | A video coding rate control method considering the length of a transport packet and a video encoding apparatus using the same |
EP1703733B1 (en) | 2005-03-16 | 2011-05-18 | Advanced Digital Broadcast S.A. | System for processing of television data streams and method for processing of television data streams |
JP4123283B2 (en) * | 2006-04-03 | 2008-07-23 | 株式会社日立製作所 | Recording medium recording device |
JP5120479B2 (en) * | 2011-04-28 | 2013-01-16 | 三菱電機株式会社 | Data signal recording apparatus and data signal reproducing apparatus |
KR102174267B1 (en) * | 2013-12-24 | 2020-11-04 | 주식회사 케이티 | Apparatus and method for transforming video packet |
CN115497273B (en) * | 2022-04-22 | 2024-01-09 | 北京临近空间飞行器系统工程研究所 | Binding description method and wireless instruction control method based on binding parameter linked list |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CO4290539A1 (en) * | 1993-12-02 | 1996-04-17 | Discovery Communications Llc | NETWORK MANAGER FOR INDIVIDUAL RECEPTION SECTION AND GLOBAL CABLE RETRANSMISSION FOR TELEVISION SYSTEMS |
US5566208A (en) * | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US5420866A (en) * | 1994-03-29 | 1995-05-30 | Scientific-Atlanta, Inc. | Methods for providing conditional access information to decoders in a packet-based multiplexed communications system |
US5652627A (en) * | 1994-09-27 | 1997-07-29 | Lucent Technologies Inc. | System and method for reducing jitter in a packet-based transmission network |
US5517250A (en) * | 1995-02-28 | 1996-05-14 | General Instrument Corporation Of Delaware | Acquisition of desired data from a packetized data stream and synchronization thereto |
US5650825A (en) * | 1995-03-31 | 1997-07-22 | Matsushita Electric Corporation Of America | Method and apparatus for sending private data instead of stuffing bits in an MPEG bit stream |
DE69633808T2 (en) * | 1995-04-10 | 2005-11-03 | Hewlett-Packard Development Co., L.P., Houston | Interactive video-on-demand system with packet transmission over an ATM trunk |
US5561791A (en) * | 1995-04-10 | 1996-10-01 | Digital Equipment Corporation | Method and apparatus for conditioning timed program independent of transport timing |
US5535209A (en) * | 1995-04-10 | 1996-07-09 | Digital Equipment Corporation | Method and apparatus for transporting timed program data using single transport schedule |
US5574505A (en) * | 1995-05-16 | 1996-11-12 | Thomson Multimedia S.A. | Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals |
US5691986A (en) * | 1995-06-07 | 1997-11-25 | Hitachi America, Ltd. | Methods and apparatus for the editing and insertion of data into an encoded bitstream |
US5790543A (en) * | 1995-09-25 | 1998-08-04 | Bell Atlantic Network Services, Inc. | Apparatus and method for correcting jitter in data packets |
JPH09139937A (en) * | 1995-11-14 | 1997-05-27 | Fujitsu Ltd | Video stream converter |
US5966120A (en) * | 1995-11-21 | 1999-10-12 | Imedia Corporation | Method and apparatus for combining and distributing data with pre-formatted real-time video |
US5640388A (en) * | 1995-12-21 | 1997-06-17 | Scientific-Atlanta, Inc. | Method and apparatus for removing jitter and correcting timestamps in a packet stream |
US5754783A (en) * | 1996-02-01 | 1998-05-19 | Digital Equipment Corporation | Apparatus and method for interleaving timed program data with secondary data |
JPH09298748A (en) * | 1996-05-02 | 1997-11-18 | Matsushita Electric Ind Co Ltd | Method and apparatus for sending private data instead of stuffing bits in an MPEG bitstream |
US6219100B1 (en) * | 1996-05-30 | 2001-04-17 | U.S. Philips Corporation | Communication method between stations |
-
1999
- 1999-01-07 CA CA002318415A patent/CA2318415C/en not_active Expired - Lifetime
- 1999-01-07 KR KR1020007007746A patent/KR20010034133A/en not_active Ceased
- 1999-01-07 WO PCT/US1999/000360 patent/WO1999037048A1/en not_active Application Discontinuation
- 1999-01-07 IL IL137277A patent/IL137277A/en not_active IP Right Cessation
- 1999-01-07 CN CNB998039942A patent/CN100380853C/en not_active Expired - Lifetime
- 1999-01-07 AU AU20304/99A patent/AU761704B2/en not_active Ceased
- 1999-01-07 EP EP99900800A patent/EP1046253A4/en not_active Withdrawn
- 1999-01-07 BR BR9906963-6A patent/BR9906963A/en not_active IP Right Cessation
- 1999-01-07 JP JP2000540637A patent/JP2002510162A/en active Pending
-
2000
- 2000-07-13 NO NO20003599A patent/NO20003599L/en not_active Application Discontinuation
-
2008
- 2008-10-17 NO NO20084376A patent/NO20084376L/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001313630A (en) * | 2000-03-29 | 2001-11-09 | Deutsche Thomson Brandt Gmbh | Method and device for changing output delay of audio or video data encoding |
JP2004187306A (en) * | 2002-12-04 | 2004-07-02 | Irdeto Access Bv | Terminal having data terminal and method for retransmitting digital data and data distribution system |
JP2004304467A (en) * | 2003-03-31 | 2004-10-28 | Nec Corp | Stream transformation/transmission device |
JP2008527472A (en) * | 2004-12-22 | 2008-07-24 | インテル・コーポレーション | How to process multimedia streams |
JP2012039513A (en) * | 2010-08-10 | 2012-02-23 | Hitachi Kokusai Electric Inc | Digital broadcast transmission apparatus |
JP2014534672A (en) * | 2011-09-27 | 2014-12-18 | トムソン ライセンシングThomson Licensing | Method and apparatus for QAM modulator channel replication |
KR101565438B1 (en) | 2014-11-25 | 2015-11-03 | 주식회사 사이버이메지네이션 | Method for renewing real time data onscreen of browser, apparaus and system using the same |
Also Published As
Publication number | Publication date |
---|---|
NO20084376L (en) | 2000-09-13 |
EP1046253A4 (en) | 2005-05-11 |
WO1999037048A1 (en) | 1999-07-22 |
CA2318415A1 (en) | 1999-07-22 |
KR20010034133A (en) | 2001-04-25 |
BR9906963A (en) | 2001-10-30 |
HK1036172A1 (en) | 2001-12-21 |
IL137277A (en) | 2006-10-05 |
CN1293845A (en) | 2001-05-02 |
CN100380853C (en) | 2008-04-09 |
IL137277A0 (en) | 2001-07-24 |
CA2318415C (en) | 2009-12-15 |
AU761704B2 (en) | 2003-06-05 |
NO20003599D0 (en) | 2000-07-13 |
AU2030499A (en) | 1999-08-02 |
EP1046253A1 (en) | 2000-10-25 |
NO20003599L (en) | 2000-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6111896A (en) | Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment | |
US6148082A (en) | Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams | |
JP2002510162A (en) | Transport stream remultiplexer with video program | |
US6064676A (en) | Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors | |
US6195368B1 (en) | Re-timing of video program bearing streams transmitted by an asynchronous communication link | |
US6831892B2 (en) | Bandwidth optimization of video program bearing transport streams | |
US6351474B1 (en) | Network distributed remultiplexer for video program bearing transport streams | |
US6292490B1 (en) | Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer | |
US6246701B1 (en) | Reference time clock locking in a remultiplexer for video program bearing transport streams | |
US6115422A (en) | Protocol and procedure for time base change in an MPEG-2 compliant datastream | |
US6181706B1 (en) | Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register | |
US6356567B2 (en) | Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream | |
US6275507B1 (en) | Transport demultiplexor for an MPEG-2 compliant data stream | |
US5828416A (en) | System and method for interfacing a transport decoder to a elementary stream video decorder | |
US7590237B2 (en) | Time-multiplexed multi-program encryption system | |
US5835493A (en) | MPEG transport stream remultiplexer | |
KR100226528B1 (en) | Decoder for compressed and multiplexed video and audio data | |
US5818539A (en) | System and method for updating a system time constant (STC) counter following a discontinuity in an MPEG-2 transport data stream | |
US6091772A (en) | Black based filtering of MPEG-2 compliant table sections | |
US20040247122A1 (en) | Processing multiple encrypted transport streams | |
US6229801B1 (en) | Delivery of MPEG2 compliant table data | |
US6072771A (en) | Detection of errors in table data | |
HK1036172B (en) | Video program bearing transport stream remultiplexer | |
MXPA00006842A (en) | Video program bearing transport stream remultiplexer |