两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

帶有視頻程序的傳輸流再分多路復(fù)用器的制作方法

文檔序號:7683121閱讀:133來源:國知局

專利名稱::帶有視頻程序的傳輸流再分多路復(fù)用器的制作方法
技術(shù)領(lǐng)域
:本發(fā)明屬于通信系統(tǒng)。尤其是,本發(fā)明屬于選擇性地多路復(fù)用包含一個或多個程序(諸如實(shí)時音頻-視頻程序)的位流。調(diào)節(jié)程序?qū)S眯畔⒑陀嘘P(guān)其它程序的信息,從而使得可在位流的接收端對程序進(jìn)行識別、提取和實(shí)時再現(xiàn)。
背景技術(shù)
:近來,已提出了有效地壓縮音頻-視頻程序以便存儲和發(fā)送的技術(shù)。例如,見IS(AIECIS13818-1,2,3:信息技術(shù)-移動圖像及相關(guān)的音頻信息的通用編碼系統(tǒng)、視頻和和音頻("MPEG-2");IS0\IECIS11172-1,2,3:信息技術(shù)-用于高達(dá)約1.5兆位/秒的數(shù)字存儲媒體的移動畫面及相關(guān)視頻的通用編碼系統(tǒng)、視頻和音頻("MPEG-1");杜比AC-3;運(yùn)動JPEG等。這里,按照MPEG-2的說法,術(shù)語程序指具有公共時間基準(zhǔn)且打算同步呈現(xiàn)的有關(guān)音頻—視頻信號的集合。MPEG-1和MPEG-2為分層流而設(shè)。即,音頻-視頻程序由一個或多個經(jīng)編碼的位流或"流元(elementarystream)"("ES")構(gòu)成,流元諸如經(jīng)編碼的視頻ES和經(jīng)編碼的音頻ES、經(jīng)第二語言編碼的音頻ES、閉路字幕文本(closedcaptiontext)ES等。對每個ES,尤其是對每個音頻和視頻ES分開地進(jìn)行編碼。然后,把經(jīng)編碼的ES組合成為諸如程序流"PS"或傳輸流"TS"等系統(tǒng)層流。PS或TS的目的在于使得可從一程序中提取經(jīng)編碼的ES,分離每個ES并對其進(jìn)行分開的解碼,并同步地呈現(xiàn)經(jīng)編碼的ES??砂裈S或PS封裝在一較高的通道層中或以為前向糾錯而設(shè)的存儲格式來封裝。流元通常以例如384kbps的恒定位速率對音頻ES進(jìn)行編碼。另一方面,以可變的位速率依據(jù)MPEG-1或MPEG-2對視頻ES進(jìn)行編碼。這意味著,每一經(jīng)壓縮/編碼的圖像的位數(shù)依圖像而不同(這些圖像是以恒定的速率呈現(xiàn)或顯示的)。視頻編碼包含從空間上和時間上對視頻圖像進(jìn)行編碼的步驟??臻g編碼包括亮度和色度象素?cái)?shù)據(jù)的離散余弦變換、量化、(曲折)掃描、游程長度編碼和可變長度編碼塊。時間編碼涉及估計(jì)宏塊(例如,由亮度塊和覆蓋在其上的每個色度塊形成的4x4陣列)的運(yùn)動來識別運(yùn)動矢量,對宏塊進(jìn)行運(yùn)動補(bǔ)償來形成預(yù)測誤差宏塊,對預(yù)測誤差宏塊進(jìn)行空間編碼以及對運(yùn)動矢量進(jìn)行可變長度編碼。僅對一些圖像(叫做I圖像)進(jìn)行空間編碼,而對諸如P和B圖像等其它圖像進(jìn)行空間和運(yùn)動補(bǔ)償編碼(即,從其它圖像進(jìn)行時間預(yù)測)。經(jīng)編碼的I圖像所具有的位通常比經(jīng)編碼的P圖像的位多,經(jīng)編碼的P圖像所具有的位通常比經(jīng)編碼的B圖像的位多。在任一種情況下,甚至同一類型的經(jīng)編碼圖像可能具有不同的位數(shù)。MPEG-2限定了對經(jīng)編碼的視頻ES的緩沖器尺寸約束。尤其是,假定解碼器的緩沖器具有預(yù)定的最大存儲容量。經(jīng)編碼的視頻ES不得使解碼器的緩沖器上溢(在某些情況下,不得使解碼器的緩沖器下溢)。為使能對預(yù)測圖像(來自預(yù)測這些預(yù)測圖像的基準(zhǔn)圖像)的解碼,MPEG-2具體地限定了相對于視頻ES的位速率從解碼器的緩沖器中除去每個圖像的壓縮數(shù)據(jù)的時間、圖像顯示速率和某些圖像重新排序的約束。如果給定這些約束,則可調(diào)節(jié)(與以宏塊為基礎(chǔ)對宏塊進(jìn)行調(diào)節(jié)一樣頻繁)在壓縮圖像時所產(chǎn)生的位數(shù),以保證視頻ES不引起視頻ES編碼器的緩沖器下溢或上溢。傳輸流這里以TS示出本發(fā)明。為了簡潔,省略對PS的討論。然而,本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)理解本發(fā)明的某些方面對PS的可應(yīng)用性。每個ES的數(shù)據(jù)形成可變長度程序流元或"PES"包(packet)。PES包包含單個ES的數(shù)據(jù),但也可包含不止一個解碼單元的數(shù)據(jù)(例如,可包含不止一個壓縮圖像、不止一個壓縮音頻幀等)。在TS的情況下,首先把PES包分成許多有效負(fù)載(payload)單元,并把它們插入固定長度(188字節(jié)長)的傳輸包中。每個傳輸包可攜帶單一類型的有效負(fù)載數(shù)據(jù),例如單一ES的PES包數(shù)據(jù)。每個TS設(shè)有包括包標(biāo)識符或"PID"的四字節(jié)標(biāo)頭。此PID類似于唯一地指示傳輸包的內(nèi)容的標(biāo)簽(tag)。因而,把一個PID指派給特定程序的視頻ES,把另一個不同的PID指派給特定程序的音頻ES坐相對于單個編碼器系統(tǒng)的定時時鐘對每個程序的ES進(jìn)行編碼。同樣,依次使這些ES的解碼和同步呈現(xiàn)相對于同一編碼器系統(tǒng)定時時鐘同步。因而,解碼器必須能恢復(fù)原始的編碼器系統(tǒng)定時時鐘,以便能以及時且相互同步的方式對每個ES進(jìn)行解碼并呈現(xiàn)每個經(jīng)解碼的ES。為此,把系統(tǒng)定時時鐘的時間標(biāo)記(叫做程序時鐘基準(zhǔn)或"PCR")插入選中的傳輸包的有效負(fù)載中(具體來說,在適應(yīng)(adaption)字段中)。解碼器從傳輸包中提取PCR并使用PCR來恢復(fù)編碼器系統(tǒng)定時時鐘。PES包可包含解碼時間標(biāo)記或"DTS"禾卩/或呈現(xiàn)時間標(biāo)記或"PTS"。DTS指示相對于所恢復(fù)的編碼器系統(tǒng)定時時鐘應(yīng)對下一解碼單元(即,經(jīng)壓縮的音頻幀、經(jīng)壓縮的視頻圖像等)進(jìn)行解碼的時間。PTS指示相對于所恢復(fù)的編碼器系統(tǒng)定時時鐘應(yīng)呈現(xiàn)或顯示下一呈現(xiàn)單元(即,經(jīng)解壓縮的音頻幀、經(jīng)解壓縮的圖像等)的時間。與PS不同,TS可具有攜帶不止一個程序的程序數(shù)據(jù)的傳輸包。已在相對于不同的編碼器系統(tǒng)定時時鐘的不同編碼器處對每個程序進(jìn)行了編碼。TS使得解碼器可恢復(fù)解碼器想要解碼的程序的專用系統(tǒng)定時時鐘。為此,TS必須攜帶不同組PCR組,即其中的一組PCR用于恢復(fù)每個程序的編碼器系統(tǒng)定時時鐘。TS還攜帶了傳輸包中的程序?qū)S眯畔⒒?PSI)。PSI用于識別想要程序的數(shù)據(jù)或有助于程序解碼的其它信息。設(shè)有程序關(guān)聯(lián)表或"PAT",在具有PID0x0000的傳輸包中攜帶有此關(guān)聯(lián)表。PAT把每個程序號與攜帶該程序的程序定義傳輸包的PID相關(guān)。程序定義(l)指示哪些ES構(gòu)成程序定義所對應(yīng)的程序,(2)識別這些ES中每一個的PID,(3)指示攜帶該程序的PCR的傳輸包的PID,(4)識別攜帶ES專用命名控制消息(例如,解擾或解密密鑰)和其它信息??偟膩碚f,TS的所有程序定義都叫做程序映射表(PMT)。因而,解碼器可從傳輸包中提取PAT數(shù)據(jù)并使用PAT來識別攜帶想要程序的程序定義的傳輸包的PID。然后,解碼器可從傳輸包中提取想要的程序的程序定義數(shù)據(jù),并識別攜帶構(gòu)成該想要的程序的ES數(shù)據(jù)的傳輸包的PID以及攜帶PCR的傳輸包的PID。然后,使用所識別的這些PID,解碼器可從TS的傳輸包中提取想要的程序的ES的ES數(shù)據(jù)及該程序的PCR。解碼器從想要程序的PCR中恢復(fù)編碼器系統(tǒng)定時時鐘,并在相對于所恢復(fù)的編碼器系統(tǒng)定時時鐘的時間對ES數(shù)據(jù)進(jìn)行解碼并呈現(xiàn)。任選地設(shè)置在TS中的其它類型信息包括命名控制消息(ECM)、命名管理消息(EMM)、有條件訪問(access)表(CAT)和網(wǎng)絡(luò)信息表(NIT)(CAT和NIT也是PSI型的)。ECM是用于控制解碼器翻譯ECM所屬ES的能力的ES專用消息。例如,可對ES進(jìn)行加擾,解擾密鑰或控制字可以是ECM。把與特定ES相關(guān)的ECM置于它們自己的傳輸包中,并標(biāo)上獨(dú)有的PID。另一方面,EMM是用于控制一組解碼器(這組解碼器位于一個叫做"有條件訪問系統(tǒng)"的系統(tǒng)中)翻譯一部分TS的能力的全系統(tǒng)消息。把EMM置于它們自己的傳輸包中,并標(biāo)上對E羅所屬的有條件訪問系統(tǒng)所獨(dú)有的PID。為使解碼器對有條件訪問系統(tǒng)(解碼器是該系統(tǒng)的一部分,即該解碼器是該組解碼器的一個成員)的E畫定位,每當(dāng)存在E顧時就設(shè)置一CAT。NIT保存了各種網(wǎng)絡(luò)參數(shù)。例如,如果在解碼器接收器可調(diào)諧到的不同載波頻率上調(diào)制多個TS,則NIT可指示在哪個載波頻率(攜帶TS)調(diào)制每個程序。與視頻ES相類似的,MPEG-2要求,由具有預(yù)定尺寸來存儲程序ES和PS工數(shù)據(jù)的TS緩沖器的解碼器對TS進(jìn)行解碼。MPEG-2還限定了數(shù)據(jù)流入和流出這種緩沖器的速率。最重要的是,MPEG-2要求,TS不能上溢或下溢TS緩沖器。為了進(jìn)一步防止緩沖器上溢或下溢,MPEG-2要求,從編碼器傳輸?shù)浇獯a器的數(shù)據(jù)需經(jīng)歷恒定的端-端延遲,并保持適當(dāng)?shù)某绦蚝虴S位速率。此外,為了保證對ES進(jìn)行及時地解碼和呈現(xiàn),TS中PCR的相對到達(dá)時間不應(yīng)與此PCR所指示的相對時間改變得太多。換句話說,每個PCR指示當(dāng)接收到包含PCR—部分的最后一個字節(jié)時系統(tǒng)定時時鐘(在解碼器處所恢復(fù)的)應(yīng)具有的時間。因而,下一個PCR的接收時間應(yīng)與每個PCR所指示的時間相關(guān)。再分多路復(fù)用通常,想要對TS進(jìn)行"再分多路復(fù)用"。再分多路復(fù)用涉及選擇性地修改TS的內(nèi)容,諸如增加TS的傳輸包、從TS中刪除傳輸包、重新排列TS中傳輸包的順序和/或修改包含在傳輸包中的數(shù)據(jù)。例如,有時想要把包含第一程序的傳輸包加到包含其它程序的TS中。這種操作涉及的步驟比簡單地增加第一程序的傳輸包要多。至少,必須修改諸如PAT和PMT等PSI,從而它能正確地引用(reference)TS的內(nèi)容。然而,必須進(jìn)一步修改TS,以保持其中所攜帶的每個程序的端-端延遲。具體來說,不可以改變每個程序的位速率,以防止TS和視頻解碼器的緩沖器下溢和上溢。此外,必須除去引入TS的PC的任何時間的未對準(zhǔn),這些未對準(zhǔn)是改變帶有(bearing)同一程序的PCR的相繼傳輸包的相對接收間隔/速率的結(jié)果。已有技術(shù)已提出了一種用于MPEG-2TS的再分多路復(fù)用器。所提出的再分多路復(fù)用器是一塊復(fù)雜的專用硬件,它在接收每個輸入的待多路復(fù)用TS的點(diǎn)到輸出最后一個經(jīng)再分多路復(fù)用的輸出TS的點(diǎn)之間提供完全的同步——單個系統(tǒng)定時時鐘控制傳輸包的接收、緩沖、修改、傳送、重新裝配和輸出并使這些操作同步。雖然這種再分多路復(fù)用器能對TS進(jìn)行再分多路復(fù)用,但再分多路復(fù)用器的體系結(jié)構(gòu)是復(fù)雜的,而且需要統(tǒng)一同步的專用平臺。本發(fā)明的一個目的是提供一種靈活的再分多路復(fù)用體系結(jié)構(gòu),例如它可存在于可能異步的任何平臺上。對單個程序的視頻和音頻進(jìn)行壓縮并產(chǎn)生帶有單個程序的TS的程序編碼器是公知的。如上所述,MPEG-2給任何時刻可在視頻解碼器緩沖器中存在的TS的位速率和位數(shù)加上了非常強(qiáng)的約束。難于對ES尤其是視頻ES進(jìn)行編碼并保證位速率在所有的時刻保持完全恒定。再者,必須把某些開銷帶寬分配給每個程序,以保證不因es編碼器產(chǎn)生意外的過量編碼信息而省略ES數(shù)據(jù)。另一方面,程序編碼器偶爾沒有在特定傳輸包時隙輸出任何經(jīng)編碼的程序數(shù)據(jù)。這可能因?yàn)槌绦蚓幋a器為防止解碼器緩沖器的上溢而減少在該時刻待輸出的位數(shù)而發(fā)生?;蛘撸@可能因?yàn)槌绦蚓幋a器未曾預(yù)料到對ES進(jìn)行編碼需要較長的時間因而在該瞬時沒有可獲得的數(shù)據(jù)而發(fā)生。為了保持TS的位速率并防止TS解碼器緩沖器的下溢,把空的傳輸包插入傳輸包時隙中。在待再分多路復(fù)用的TS中存在空的傳輸包通常是必須簡單接受的一個約束。本發(fā)明的一個目的是優(yōu)化包含空傳輸包的TS的帶寬。有時,經(jīng)由異步通信鏈路來傳送TS或ES數(shù)據(jù)。本發(fā)明的一個目的是對此未定時或異步傳送的數(shù)據(jù)進(jìn)行"重新定時"。本發(fā)明的還有一個目的是通過對這些傳輸包的發(fā)送進(jìn)行定時而把從這些異步通信鏈路發(fā)送的傳輸包的抖動(jitter)減到最少。本發(fā)明的還有一個目的是使用戶可動態(tài)地(即,實(shí)時地)改變經(jīng)再分多路復(fù)用的內(nèi)容成為再分多路復(fù)用TS,而不停止輸出的再分多路復(fù)用TS中的傳輸包的流動。本發(fā)明的另一個目的是在一網(wǎng)絡(luò)上分布再分多路復(fù)用功能。例如,一個目的是把一個或多個TS或ES源置于可能異步的通信網(wǎng)絡(luò)(諸如以太網(wǎng)LAN)的任意節(jié)點(diǎn)處以及把再分多路復(fù)用器置于這種網(wǎng)絡(luò)的另一個節(jié)點(diǎn)處。
發(fā)明內(nèi)容依據(jù)本發(fā)明實(shí)現(xiàn)了這些和其它目的。本發(fā)明的一個示例應(yīng)用是對符合MPEG-2的一個或多個傳輸流(TS)進(jìn)行再分多路復(fù)用。TS是包含一個或多個經(jīng)壓縮/編碼的音頻-視頻程序的數(shù)據(jù)的位流。每個TS形成固定長度的傳輸包的序列。每個經(jīng)壓縮的傳輸包括諸如數(shù)字視頻信號和/或數(shù)字音頻信號的一個或多個經(jīng)壓縮的流元(ES)的數(shù)據(jù)。傳輸包還攜帶了每個程序的程序時鐘基準(zhǔn)(PCR),這些PCR是使各個程序的解碼和呈現(xiàn)被同步的編碼器系統(tǒng)定時時鐘的時間標(biāo)記。每個程序具有預(yù)定的位速率,且將在具有預(yù)定尺寸的TS緩沖器和預(yù)定解碼器緩沖器的解碼器處被解碼。以此方式對每個程序進(jìn)行編碼,從而防止這些緩沖器的上溢和下溢。示例地,在TS的選中傳輸包中還攜帶了有助于TS的解碼的程序?qū)S眯畔?PSI)。依據(jù)一個實(shí)施例,再分多路復(fù)用器節(jié)點(diǎn)設(shè)有一個或多個適配器,每個適配器包括一高速緩沖存儲器、連到該高速緩沖存儲器的數(shù)據(jù)鏈路控制電路和連到該高速緩沖存儲器的直接存儲器訪問電路。適配器是具有特殊特性的同步接口。數(shù)據(jù)鏈路控制電路具有用于接收傳輸流的輸入端口和用于發(fā)送傳輸流的輸出端口。直接存儲器訪問電路可連到具有可變端-端通信延遲的異步通信鏈路(諸如再分多路復(fù)用器節(jié)點(diǎn)的一條總線)。使用異步通信鏈路,直接存儲器訪問電路可訪問再分多路復(fù)用器節(jié)點(diǎn)的存儲器。存儲器可存儲一個或多個描述符存儲單元(storagelocation)的隊(duì)列,諸如指派給輸入端口的一個隊(duì)列和指派給輸出端口的一個隊(duì)列。存儲器還可在傳輸包存儲單元中存儲傳輸包,對于這些單元描述符存儲在每個隊(duì)列點(diǎn)的描述符存儲單元中。示例地,再分多路復(fù)用器節(jié)點(diǎn)包括連到總線的處理器,該處理器用于處理傳輸包和描述符。當(dāng)使用適配器來輸入傳輸流時,數(shù)據(jù)鏈路控制電路把對輸入端口所分配的隊(duì)列中的描述符存儲單元序列之一中未使用的描述符分配給待保留的每個接收到的傳輸包。所分配的描述符位于高速緩沖存儲器已從中獲得控制的描述符存儲單元。數(shù)據(jù)鏈路控制電路把每個保留的傳輸包存儲在高速緩沖存儲器已從中獲得控制并由所分配的描述符所指向的傳輸包存儲單元處。直接存儲器訪問電路獲得對存儲器巾該隊(duì)列的一個或多個未使用描述符存儲單元(位于高速緩沖存儲器已從中獲得控制的最后一個描述符存儲單元后)的控制。直接存儲器訪問電路還獲得對一個或多個描述符存儲單元中的這些描述符所指向的存儲器中的傳輸包單元的控制。在使用適配器來輸出傳輸包時,數(shù)據(jù)鏈路控制電路從高速緩沖存儲器檢索(retrieve)指派給輸出端口的隊(duì)列的描述符存儲單元序列中的每個描述符。從序列的開始依次檢索描述符。數(shù)據(jù)鏈路控制電路還從高速緩沖存儲器檢索存儲在檢索的描述符所指向的傳輸包存儲單元中的傳輸包。數(shù)據(jù)鏈路控制電路以從輸出端口輸出的傳輸流的獨(dú)有時隙輸出每個檢索的傳輸包(即,每時隙一個傳輸包)。直接存儲器訪問電路從存儲器中獲得指派給存儲單元(位于其中存儲有該序列的最后一個高速緩存描述符的描述符存儲單元后)的輸出端口的隊(duì)列的描述符,以存儲在高速緩沖存儲器中。直接存儲器訪問電路還獲得存儲在所獲得的描述符指向的傳輸包單元中的每個傳輸包。依據(jù)另一個實(shí)施例,(還)使用每個描述符來記錄指示在輸入端口處何時接收到傳輸包接收時間標(biāo)記,或指示將從輸出端口發(fā)送初始包的時間的派送時間標(biāo)記。在輸入端口接收到傳輸包的情況下,數(shù)據(jù)鏈路控制電路把接收時間標(biāo)記記錄在分配給每個接收到并保留的傳輸包的描述符中,以指示接收到該傳輸包的時間。按接收的順序把描述符保存在接收隊(duì)列中。在從輸出端口輸出傳輸包的情況下,數(shù)據(jù)鏈路控制電路從發(fā)送隊(duì)列中依次檢索每個描述符及每個檢索的描述符指向的傳輸包。在相應(yīng)于記錄在每個檢索的描述符中的派送時間的時刻,數(shù)據(jù)鏈路控制電路以相應(yīng)于記錄在檢索的描述符中的派送時間的輸出傳輸流的時隙來發(fā)送每個檢索的描述符指向的被檢索的傳輸包。示例地,再分多路復(fù)用器節(jié)點(diǎn)處理器檢查接收隊(duì)列中的每個描述符以及包含指向待輸出傳輸包的描述符的其它隊(duì)列。處理器分配與輸出端口(從中將發(fā)送由每個經(jīng)檢查的描述符(如果有的話)所指向的傳輸包)有關(guān)的發(fā)送隊(duì)列的描述符。處理器依據(jù)例如描述符指向的傳輸包的接收時間及傳輸包的接收和輸出之間的內(nèi)部緩沖器延遲,把派送時間指派給對發(fā)送隊(duì)列所分配的描述符。此外,處理器還按派送吋間的升序?qū)Πl(fā)送隊(duì)列的描述符進(jìn)行排序。還提供了獨(dú)有的PCR歸一化處理。處理器調(diào)度將在相應(yīng)于再分多路復(fù)用器節(jié)點(diǎn)中的預(yù)定延遲的特定派送時間處以某一時隙輸出的每個傳輸包。如果被調(diào)度的傳輸包包含PCR,則根據(jù)本地基準(zhǔn)時鐘相對于從中產(chǎn)生PCR的系統(tǒng)定時時鐘的程序的偏移(drift)(如果存在任何偏移)來調(diào)節(jié)PCR。數(shù)據(jù)鏈路控制電路(發(fā)送帶有此被調(diào)節(jié)PCR的傳輸包)進(jìn)一步根據(jù)傳輸包的調(diào)度派送時間與相對于外部時鐘發(fā)生該時隙的實(shí)際時間之差來調(diào)節(jié)每個經(jīng)調(diào)節(jié)的PCR時間標(biāo)記。示例地,如果要以同一時隙輸出不止一個傳輸包,則以分開的連續(xù)時隙來輸出每個這樣的傳輸包。處理器計(jì)算傳輸包中每個PCR的估計(jì)調(diào)節(jié),此傳輸包被調(diào)度到以與使用預(yù)定延遲所確定的時隙不同的時隙輸出。所估計(jì)的調(diào)節(jié)以處理器實(shí)際調(diào)度帶有待輸出PCR的傳輸包的時隙與預(yù)定延遲所確定的時隙之間的輸出時間差為基礎(chǔ)。處理器依據(jù)此估計(jì)的調(diào)節(jié)來調(diào)節(jié)PCR。依據(jù)一個實(shí)施例,描述符還用于控制對傳輸包的加擾或解擾。在解擾的情況下,處理器定義了將在每個傳輸包上所進(jìn)行的一個或多個處理步驟的序列并對該序列內(nèi)的解擾處理排序。處理器把與傳輸包的內(nèi)容有關(guān)的控制字信息存入所分配的描述符的控制字信息存儲單元中。數(shù)據(jù)鏈路控制電路把描述符分配給每個接收到的并保留的傳輸包,每個這樣的描述符包括一個或多個處理指示及控制字信息的存儲單元。數(shù)據(jù)鏈路控制電路設(shè)定所分配的描述符的一個或多個處理指示,以指示可在每個所分配的描述符上執(zhí)行的序列的下一處理步驟。提供了依次訪問每個所分配的描述符的解擾器。如果把訪問到的描述符的處理指示設(shè)定為指示可對訪問到的描述符(和訪問到的描述符所指向的傳輸包)進(jìn)行解擾處理,則解擾器對此描述符及其指向的傳輸包進(jìn)行處理。具體來說,如果描述符指向一待解擾的傳輸包,則解擾器使用訪問到的描述符中的控制字信息對傳輸包進(jìn)行解擾。解擾器可位于(接收)適配器上,在此情況下,解擾器的處理發(fā)生在數(shù)據(jù)鏈路控制電路的處理(例如,描述符分配、接收時間記錄等)后,但發(fā)生在直接存儲器訪問電路的處理(例如,傳送到存儲器)前?;蛘?,解擾器可以是連到異步通信接口的分開的器件,在此情況下,解擾器的處理發(fā)生在直接存儲器訪問電路的處理后,但發(fā)生在處理器的處理(例如,估計(jì)的離開時間計(jì)算、PID重新映射等)前。在任一種情況下,控制字信息都是處理器所保存的PID可索引控制字表的基址。在加擾的情況下,處理器限定了將在每個傳輸包上執(zhí)行的一個或多個處理步驟的序列,并對該序列內(nèi)的加擾處理進(jìn)行排序。處理器把發(fā)送隊(duì)列的發(fā)送描述符分配給每個待發(fā)送的傳輸包,并把與傳輸包有關(guān)的控制字信息存入所分配的描述符中的選中描述符的控制字信息存儲單元中。然后,處理器設(shè)定描述符的一個或多個處理指示,以指示可對每個所分配的描述符進(jìn)行的序列中的下一處理步驟。提供了依次訪問每個所分配的描述符的加擾器。加擾器處理每個訪問到的描述符及訪問到的描述符指向的傳輸包,但此處理僅在把訪問到的描述符的處理指示設(shè)定為指示可對訪問到的描述符(和訪問到的描述符所指向的傳輸包)進(jìn)行加擾處理時進(jìn)行。具體來說,如果訪問到的描述符指向待加擾的傳輸包,則加擾器使用訪問到的描述符中的控制字信息對訪問到的描述符所指向的傳輸包進(jìn)行加擾。加擾器可位于(發(fā)送)適配器上,在此情況下,加擾器的處理發(fā)生在直接存儲器訪問電路的處理(例如,從存儲器傳送到高速緩沖存儲器等)后,但發(fā)生在數(shù)據(jù)鏈路控制電路的處理(例如,以正確的時隙輸出、最后一個PCR校正等)前。或者,加擾器可以是連到異步通信接口的分開的器件,在此情況下,解擾器的處理發(fā)生在處理器的處理(例如,發(fā)送隊(duì)列描述符分配、派送時間指派、PCR校正等)后,但發(fā)生在直接存儲器訪問電路的處理前。如同解擾,控制字信息可以是處理器所保存的PID可索引控制字表的基址。然而,控制字信息最好是用來對傳輸包進(jìn)行加擾的控制字本身。此外,依據(jù)一個實(shí)施例,提供了對帶有經(jīng)由異步通信鏈路接收到的數(shù)據(jù)的視頻程序進(jìn)行重新定時的方法。異步通信接口(例如,以太網(wǎng)接口、ATM接口等)連到再分多路復(fù)用器節(jié)點(diǎn)處理器(例如,經(jīng)由總線),以接收來自具有變化的端-端發(fā)送延遲的通信鏈路的帶有視頻程序的位流。該處理器根據(jù)接收到的位流中所攜帶的程序的多個時間標(biāo)記來確定攜帶有接收到的位流的同一程序的數(shù)據(jù)的一個或多個接收到的包中每個包應(yīng)在輸出的TS中出現(xiàn)的時間。諸如發(fā)送適配器等同步接口在依據(jù)所確定時間的時間處,選擇性地發(fā)送輸出的TS(具有恒定的端-端延遲)中攜帶有被接收數(shù)據(jù)的選中傳輸包。示例地,再分多路復(fù)用器節(jié)點(diǎn)存儲器存儲包含從接收隊(duì)列中接收到的位流中接收到的數(shù)據(jù)的包。處理器識別包含存儲在接收隊(duì)列中的程序的數(shù)據(jù)的每個包,此識別是在包含該程序的連續(xù)時間標(biāo)記的第一和第二特定包之間進(jìn)行。處理器根據(jù)此第一和第二時間標(biāo)記之差來定該程序的(傳輸)包速率。處理器把指派給第一特定包的發(fā)送時間及(傳輸)包速率與所識別的包同第一包的偏差之積的總和作為發(fā)送時間指派給每個所識別的包。依據(jù)另一個實(shí)施例,提供了依據(jù)變化的用戶指定動態(tài)而無縫地改變再分多路復(fù)用的方法。諸如第一適配器等接口依據(jù)對再分多路復(fù)用的TS內(nèi)容的初始用戶指定從TS中選擇性地僅提取一些特定的傳輸包。諸如第二適配器等第二接口依據(jù)對再分多路復(fù)用的TS內(nèi)容的初始用戶指定,把從所提取的傳輸包和包含PSI的傳輸包(如果有的話)中選中的那些傳輸包重新裝配成輸出的再分多路復(fù)用的TS。此外,第二適配器輸出重新裝配的經(jīng)再分多路復(fù)用的TS作為連續(xù)位流。處理器動態(tài)地接收對再分多路復(fù)用的TS內(nèi)容的一個或多個新的用戶指定,它們指定了以下的一個或多個(1)待提取的不同傳輸包和/或(II)待重新裝配的不同傳輸包,與此同時第一和第二適配器提取傳輸包進(jìn)行重新裝配,并輸出再分多路復(fù)用的TS。與之響應(yīng)處理器使第一和第二適配器動態(tài)地停止依據(jù)初始用戶指定對傳輸包所進(jìn)行的提取或重新裝配,且動態(tài)地開始依據(jù)新的用戶指定對傳輸包所進(jìn)行的提取或重新裝配,而不在所輸出的再分多路復(fù)用的傳輸流中引入不連續(xù)。例如,處理器可按每個新的用戶指定而產(chǎn)生引用不同傳輸包的替代PSI,以由第二適配器進(jìn)行重新裝配。示地,可使用此無縫再分多路復(fù)用的改變技術(shù)來自動地保證在再分多路復(fù)用的TS總是輸出每個選中程序的正確的ES信息,盡管構(gòu)成該程序的ES中可能有任何變化??稍O(shè)置產(chǎn)生用戶指定的控制器,該用戶指定指示將在輸出TS中輸出的輸入TS的一個或多個程序。第一適配器連續(xù)地捕獲-輸入TS的程序定義。處理器從俘獲的程序定義(這些流元構(gòu)成每個程序)中進(jìn)行連續(xù)地確定。第二適配器在輸出的TS中輸出傳輸包,每個傳輸包包含每個ES(這些ES被確定為構(gòu)成由用戶指定要輸出的每個程序)的ES數(shù)據(jù),而不在輸出的TS中引入不連續(xù)。因而,即使構(gòu)成每個程序的ES的PID改變(數(shù)目或值),但在輸出的TS中總是輸出每個程序的正確的完整ES數(shù)據(jù)。依據(jù)再一個實(shí)施例,提供了一種優(yōu)化其中插入空傳輸包的TS的端口的方法。第一接口(適配器)以預(yù)定位速率接收TS,該TS包括帶有可變壓縮程序數(shù)據(jù)的傳輸包以及一個或多個空的傳輸包。當(dāng)不能獲得插入在各個傳輸包時隙處接收到的TS中的帶有壓縮程序數(shù)據(jù)的傳輸包時,把每個空的傳輸包插入接收到的TS的一個時隙中。處理器以其它帶有待再分多路復(fù)用數(shù)據(jù)的傳輸包來替換一個或多個空的傳輸包。帶有這種替換數(shù)據(jù)的傳輸包可包含PSI數(shù)據(jù)或者甚至突發(fā)(bursty)事務(wù)處理(transactional)數(shù)據(jù),這些突發(fā)事務(wù)處理數(shù)據(jù)對以連續(xù)方式呈現(xiàn)信息沒有位速率或發(fā)送等待時間(latency)的要求。示例地,處理器從接收到的TS中提取選中的一些傳輸包,并丟棄每個未選中傳輸包(包括每個空傳輸包)。由處理器和第一適配器把選中的傳輸包存儲在存儲器中。如上所述,處理器調(diào)度每個所存儲的傳輸包,從而在以接收到每個所存儲的傳輸包的時間為依據(jù)的時間在輸出的傳輸流中輸出。第二接口(適配器)以相應(yīng)于此調(diào)度的時隙輸出每個所存儲的傳輸包。如果沒有要調(diào)度在輸出TS的時隙之一處輸出的傳輸包,則第二適配器輸出空傳輸包。然而,與每個輸入的TS相比,空的傳輸包在輸出的TS中占據(jù)較少的帶寬。依據(jù)附加的實(shí)施例,提供了一種在異步通信鏈路上及時地輸出帶有壓縮程序數(shù)據(jù)的位流的方法。同步接口(適配器)提供了包含傳輸包的位流。處理器把派送時間指派給一個或多個選中傳輸包中的每一個,以保持一程序(每個被選中的傳輸包攜帶有該程序的數(shù)據(jù))的預(yù)定位流,并引起每個選中傳輸包的平均等待時間。在以每個派送時間為依據(jù)的時間,異步通信接口接收一個或多個命令,并通過在近似于這些派送時間的時候發(fā)送相應(yīng)的選中傳輸包作為響應(yīng),從而把選中傳輸包的抖動減到最少。示例地,如下產(chǎn)生命令。處理器對包含以上派送時間的發(fā)送描述符進(jìn)行排隊(duì)而成為發(fā)送隊(duì)列。處理器指派再分多路復(fù)用器節(jié)點(diǎn)的適配器代表異步接口服務(wù)于發(fā)送隊(duì)列。當(dāng)描述符的派送時間等于適配器處的基準(zhǔn)時鐘的時間時,所指派的適配器的數(shù)據(jù)鏈路控制電路使得每個命令發(fā)出??墒褂眠@些技術(shù)中的各種技術(shù)來使能網(wǎng)絡(luò)分布式再分多路復(fù)用。網(wǎng)絡(luò)設(shè)有一個或多個通信鏈路和通過通信鏈路互連成一通信網(wǎng)絡(luò)的多個節(jié)點(diǎn)。目的地節(jié)點(diǎn)經(jīng)由通信鏈路之一接收包含一個或多個程序的數(shù)據(jù)的第一位流,第一位流的各部分具有一個或多個預(yù)定的位速率。目的地節(jié)點(diǎn)可以是如上所述的再分多路復(fù)用器節(jié)點(diǎn),在任何情況下它都包括處理器。處理器至少選擇接收到的第一位流的一部分用以發(fā)送,并調(diào)度第一位流的選中部分的發(fā)送,從而以所述第一位流的選中部分的預(yù)定速率為依據(jù)的速率在TS中輸出第一位流的選中部分?;蛘撸ㄐ沛溌芳械匦纬晒蚕硗ㄐ琶襟w。把這些節(jié)點(diǎn)分割成用于把一個或多個位流發(fā)送到此共享通信媒體上的第一組一個或多個節(jié)點(diǎn)以及用于接收從共享通信媒體發(fā)送的位流的第二組一個或多個節(jié)點(diǎn)。第二組節(jié)點(diǎn)選擇所發(fā)送的位流的部分并發(fā)送作為包含選中部分的位流的一個或多個再分多路復(fù)用的丁S。每個所發(fā)送的再分多路復(fù)用的TS不同于發(fā)送位流中接收到的位流。設(shè)置了選擇第一和第二組節(jié)點(diǎn)并使選中的節(jié)點(diǎn)依據(jù)多個不同的信號流模式之一經(jīng)由共享通信媒體傳送位流,這些信號流模式包括不同于節(jié)點(diǎn)至共享通信媒體的拓?fù)溥B接的至少一個信號流模式。最后,還提供了一種使得在再分多路復(fù)用系統(tǒng)中接收或發(fā)送傳輸包的多個電路中的每一個處的基準(zhǔn)時鐘同步的方法。接收傳輸包的每個電路處的基準(zhǔn)時鐘指示在該處接收到每個傳輸包的時間。發(fā)送傳輸包的每個電路處的基準(zhǔn)時鐘指示何時從該處發(fā)送每個傳輸包。指定使這些基準(zhǔn)時鐘相互同步的主基準(zhǔn)時鐘。周期性地獲得主基準(zhǔn)時鐘的當(dāng)前時間。依據(jù)其它基準(zhǔn)時鐘處的各個時間與主基準(zhǔn)時鐘的當(dāng)前時間之差來相互調(diào)節(jié)基準(zhǔn)時鐘,從而使各基準(zhǔn)時鐘的時間與主基準(zhǔn)時鐘的相應(yīng)時間匹配。因而,依據(jù)本發(fā)明,提供了一種更靈活的再分多路復(fù)用系統(tǒng)。此增加的靈活性增強(qiáng)了再分多路復(fù)用也降低了整個系統(tǒng)的成本。附圖概述圖1示出依據(jù)本發(fā)明一個實(shí)施例的再分多路復(fù)用環(huán)境。圖2示出依據(jù)本發(fā)明一個實(shí)施例的使用異步平臺的再分多路復(fù)用器節(jié)點(diǎn)。圖3示出一流程圖,該流程圖示意地示出依據(jù)本發(fā)明的一個實(shí)施例,如何根據(jù)傳輸包在再分多路復(fù)用節(jié)點(diǎn)中的PID對傳輸包進(jìn)行處理。圖4示出依據(jù)本發(fā)明一個實(shí)施例的網(wǎng)絡(luò)分布式再分多路復(fù)用器。本發(fā)明的較佳實(shí)施方式為了清楚,把對本發(fā)明的描述分成幾部分。再分多路復(fù)用器環(huán)境和概述圖1示出依據(jù)本發(fā)明一個實(shí)施例的基本再分多路復(fù)用環(huán)境10。控制器20使用例如任何遠(yuǎn)程過程調(diào)用(RPC)協(xié)議向再分多路復(fù)用器30提供指令??墒褂玫腞PC的例子包括數(shù)字分布式計(jì)算環(huán)境協(xié)議(DEC)和開放式網(wǎng)絡(luò)計(jì)算協(xié)議(ONC)。DEC和ONC是利用協(xié)議堆棧的網(wǎng)絡(luò)協(xié)議,這些協(xié)議堆棧使客戶進(jìn)程(clientprocess)可執(zhí)行位于同一平臺(例如,控制器20)或另一遠(yuǎn)程平臺(例如,在再分多路復(fù)用器30中)的子程序。換句話說,客戶進(jìn)程可通過簡單的子程序調(diào)用來發(fā)出控制指令。DCE或ONC進(jìn)程向再分多路復(fù)用器30發(fā)出適當(dāng)?shù)男盘柡兔钜詫?shí)行想要的控制。控制器20可以是諸如PC兼容計(jì)算機(jī)等計(jì)算機(jī)形式。控制器20包括連到總線24的諸如一個或多個IntelPentium11「"集成電路等處理器21、主存儲器23、磁盤存儲器25、監(jiān)視器和鍵盤/鼠標(biāo)器27以及一個或多個I/O器件29。I/O器件29是依據(jù)如何實(shí)現(xiàn)再分多路復(fù)用器30而與再分多路復(fù)用器30進(jìn)行通信的任何適當(dāng)?shù)?/0器件29。這種1/0器件29的例子包括RS-422接口、以太網(wǎng)接口、調(diào)制解調(diào)器和USB接口。以一個或多個網(wǎng)絡(luò)連接的"黑盒"來實(shí)現(xiàn)再分多路復(fù)用器30。在以下所述的示例再分多路復(fù)用器的體系結(jié)構(gòu)中,再分多路復(fù)用器30的黑盒可以是通過諸如以太網(wǎng)、ATM或DS3通信鏈路等通信鏈路互連的獨(dú)立PC兼容計(jì)算機(jī)。例如,再分多路復(fù)用器30包括一個或多個黑盒,每個黑盒是通過以太網(wǎng)網(wǎng)絡(luò)(IOBASE-T、100BASE-T或1000BASE-T等)互連的獨(dú)立PC兼容計(jì)算機(jī)。如圖所示,在再分多路復(fù)用器30處接收到一個或多個待再分多路復(fù)用的TS,即TS1、TS2和TS3。由于再分多路復(fù)用器30的再分多路復(fù)用操作的結(jié)果,從再分多路復(fù)用器30輸出一個或多個TS,即TS4和TS5。再分多路復(fù)用的TS(示例的TS4和TS5)包括來自輸入TS(TS1、TS2和TS3)的至少一些信息(至少一個傳輸包)。還設(shè)置至少一個存儲器件40,例如磁盤存儲器或服務(wù)器。存儲器件40可產(chǎn)生作為輸入的待再分多路復(fù)用的信息的TS或數(shù)據(jù),以經(jīng)再分多路復(fù)用器30再分多路復(fù)用成為輸出的TS(TS4或TS5)。同樣,存儲器件40可存儲再分多路復(fù)用器30所產(chǎn)生的TS信息或數(shù)據(jù),諸如從輸入的TS(TS1、TS2或TS3)中提取或復(fù)制的傳輸包,在再分多路復(fù)用器30處接收到的其它信息或由再分多路復(fù)用器30所產(chǎn)生的信息。還示出一個或多個數(shù)據(jù)注入源50和一個或多個數(shù)據(jù)提取目的地60。這些源50和目的地60本身可以實(shí)現(xiàn)為PC兼容計(jì)算機(jī)。然而,源50還可以是諸如攝像機(jī)、視頻磁帶播放裝置、通信解調(diào)器/接收機(jī)等器件,目的地60可以是顯示接收器、視頻磁帶記錄裝置、通信調(diào)制器/發(fā)射機(jī)等器件。數(shù)據(jù)注入源50把TS、ES或其它數(shù)據(jù)提供給再分多路復(fù)用器30,用以例如把它們再分多路復(fù)用成為輸出的TS,TS4禾IV或TS5。同樣,數(shù)據(jù)提取目的地60接收來自再分多路復(fù)用器30的TS、ES或其它數(shù)據(jù),例如從輸入TS(TS1、TS2和/或TS3)中所提取的。例如,可設(shè)置一用于產(chǎn)生每個輸入的待再分多路復(fù)用的TS(TS1、TS2和TS3)的數(shù)據(jù)注入源50,可設(shè)置一用于接收每個輸出的經(jīng)再分多路復(fù)用的TS(TS4和TS5)的數(shù)據(jù)提取目的地60??砂循h(huán)境10看作一網(wǎng)絡(luò)。在此情況下,可把環(huán)境10中的控制器20、每個數(shù)據(jù)注入源50、存儲器件40、數(shù)據(jù)提取目的地60和再分多路復(fù)用器30的每個"網(wǎng)絡(luò)的黑盒"看作該通信網(wǎng)絡(luò)的一個節(jié)點(diǎn)。每個節(jié)點(diǎn)可由同步或異步通信鏈路連接。此外,把器件20、40、50和60從再分多路復(fù)用器30分離僅僅是為了方便。在另一個實(shí)施例中,器件20、40、50和60是再分多路復(fù)用器30的一部分。再分多路復(fù)用器的體系結(jié)構(gòu)圖2示出再分多路復(fù)用器30的網(wǎng)絡(luò)黑盒或節(jié)點(diǎn)IOO(以下叫做"再分多路復(fù)用器節(jié)點(diǎn)"IOO)之一的基本體系結(jié)構(gòu)。圖2所示的特定再分多路復(fù)用器節(jié)點(diǎn)100可用作整個再分多路復(fù)用器30?;蛘?,從以下討論中很明顯的是,再分多路復(fù)用器節(jié)點(diǎn)100的不同部分可分布于分開的節(jié)點(diǎn)中,這些節(jié)點(diǎn)通過同步或異步通信鏈路相互互連。在又一個實(shí)施例中,具有與圖2所示相同的體系結(jié)構(gòu)的多個再分多路復(fù)用器節(jié)點(diǎn)IOO經(jīng)由同步或異步通信鏈路相互互連,且可被編程為一致地行動。在這里把后兩個實(shí)施例叫做網(wǎng)絡(luò)分布式再分多路復(fù)用器。示例地,再分多路復(fù)用器節(jié)點(diǎn)100是WindowsNT"兼容的PC計(jì)算機(jī)平臺。再分多路復(fù)用器節(jié)點(diǎn)100包括一個或多個適配器110。每個適配器110連到總線130,示例的總線是PCI兼容總線。主存儲器120也連到總線130。諸如IntelPentium1I"'集成電路等處理器也連到總線130。應(yīng)注意,圖2所示的單個總線體系結(jié)構(gòu)可以是更復(fù)雜的多總線結(jié)構(gòu)的簡化表示。此外,可存在不止一個處理器160,這些處理器在進(jìn)行以下所述的處理功能時相互協(xié)作。示例地,設(shè)有兩個接口140和150。這兩個接口140和150連到總線130,雖然事實(shí)上它們也可直接連到1/0擴(kuò)充總線(未示出),繼而此1/0擴(kuò)充總線經(jīng)由1/0橋路(未示出)連到總線130。示例地,接口140是諸如以太網(wǎng)接口等異步接口。這意味著,不保證經(jīng)由接口140發(fā)送的數(shù)據(jù)準(zhǔn)確地在任何時間出現(xiàn),該數(shù)據(jù)可能經(jīng)歷可變端-端延遲。另一方面,接口150是諸如T1接口等異步接口。使得在連到接口150的通信鏈路上的通信與接口150處所保持的時鐘信號同步。在特定時間經(jīng)由接口150發(fā)送數(shù)據(jù),該數(shù)據(jù)經(jīng)歷恒定的端-端延遲。圖2還示出,再分多路復(fù)用器節(jié)點(diǎn)100可具有任選的加擾器/解擾器(它們可實(shí)現(xiàn)為加密器/解密器)170禾P/或全球定位衛(wèi)星(GPS)接收機(jī)180。加擾器/解擾器170用于對傳輸包中的數(shù)據(jù)進(jìn)行加擾或解擾。GPS接收機(jī)180用于接收統(tǒng)一時鐘信號,以使再分多路復(fù)用器節(jié)點(diǎn)100同步。以下更詳細(xì)地描述這些器件的目的和操作。每個適配器110是專門類型的同步接口。每個適配器110具有一個或多個數(shù)據(jù)鏈路控制電路112、基準(zhǔn)時鐘發(fā)生器113、一個或多個描述符和傳輸包高速緩沖存儲器114、任選的加擾器/解擾器115和一個或多個DMA控制電路116。這些電路可以是一個或多個處理器的一部分。最好,它們使用有限狀態(tài)自動機(jī)即在一個或多個ASIC或門陣列(PGA、FPGA等)中實(shí)現(xiàn)。以下將描述這些電路中每一個電路的目的。示例地,基準(zhǔn)時鐘發(fā)生器113是以27MHZ計(jì)數(shù)的32位翻轉(zhuǎn)計(jì)數(shù)器??稍跀?shù)據(jù)鏈路控制電路112處接收到基準(zhǔn)時鐘發(fā)生器113所產(chǎn)生的系統(tǒng)時間。此外,處理器160可如下直接訪問基準(zhǔn)時鐘發(fā)生器113。處理器160可從基準(zhǔn)時鐘發(fā)生器113的1/0寄存器讀取當(dāng)前系統(tǒng)時間。處理器160可把特定值裝入基準(zhǔn)時鐘發(fā)生器113的同一1/0寄存器。最后,處理器160可在調(diào)節(jié)寄存器中設(shè)定基準(zhǔn)時鐘發(fā)生器的計(jì)數(shù)頻率,從而基準(zhǔn)時鐘發(fā)生器113以特定范圍內(nèi)的頻率進(jìn)行計(jì)數(shù)。高速緩沖存儲器114的目的是暫時存儲待輸出的下一個或多個來自適配器110的待命輸出的傳輸包或最近在適配器110處接收到的最后一個或多個傳輸包。使用高速緩沖存儲器114使得可以最少的等待時間(最顯著的是不發(fā)生通過總線130的傳送等待時間)接收和存儲或檢索和輸出傳輸包。高速緩沖存儲器114還存儲每個傳輸包的描述符數(shù)據(jù)。以下更詳細(xì)地描述這些描述符的目的和結(jié)構(gòu)。此外,高速緩沖存儲器114存儲在正常操作下可由處理器160下載和修改的過濾器映射(filtermap)。示例地,高速緩沖存儲器114還可存儲入以下更詳細(xì)描述的用于加擾或解擾的控制字信息。除了處理器160以外,高速緩沖存儲器114還被數(shù)據(jù)鏈路控制電路112、DMA控制電路116和任選的加擾器/解擾器115訪問。眾所周知,高速緩沖存儲器114可擁有主存儲器120中數(shù)據(jù)的全真或修改的拷貝。同樣,在需要時,高速緩沖存儲器114應(yīng)獲得主存儲器中任何數(shù)據(jù)的修改拷貝而不是其擁有的舊拷貝。主存儲器120也是如此。利用"所有權(quán)協(xié)議",從而只有單個器件(諸如高速緩沖存儲器114或主存儲器120)才有許可在任一時刻修改數(shù)據(jù)存儲單元的內(nèi)容。這里,當(dāng)高速緩沖器存儲器具有修改這些存儲單元內(nèi)容的專有控制時就說成高速緩沖存儲器114獲得對數(shù)據(jù)存儲單元的控制。通常,高速緩沖存儲器114獲得對存儲單元以及存儲在其中的數(shù)據(jù)的全真復(fù)制拷貝的控制,修改其拷貝,但推遲把數(shù)據(jù)的修改寫到主存儲器直到以后。這意味著,當(dāng)高速緩沖存儲器把數(shù)據(jù)寫到主存儲器中的存儲單元時,高速緩沖存儲器114放棄對主存儲器120的控制。DMA控制電路116用于在主存儲器120與高速緩沖存儲器114之間傳送傳輸包數(shù)據(jù)和描述符。DMA控制電路116可把足夠數(shù)目的傳輸包(及其描述符)保存在高速緩沖存儲器114中,以使數(shù)據(jù)鏈路控制電路12連續(xù)地(即,以連續(xù)的時隙)輸出在輸出TS中的傳輸包。函A控制電路116還可獲得對高速緩沖存儲器U4中的足夠數(shù)目的描述符存儲單元及其指向的包存儲單元的控制。DMA控制電路116獲得對高速緩沖存儲器114的這些描述符和傳輸包存儲單元的控制。這使得可在接收到入局的傳輸包(即,從連續(xù)時隙)時把它們連續(xù)地分配給描述符和傳輸包存儲單元。數(shù)據(jù)鏈路控制電路H2用于接收來自入局TS的傳輸包或在出局TS上發(fā)送傳輸包。在接收到傳輸包時,數(shù)據(jù)鏈路控制電路112僅濾出和保留從入局TS中接收到的在可下載過濾器映射(由處理器160所提供)中所指定的選中傳輸包。數(shù)據(jù)鏈路控制電路112丟棄每個其它的傳輸包。數(shù)據(jù)鏈路控制電路112把下一未使用描述符分配給接收到的傳輸包,并把接收到的傳輸包存儲在高速緩沖存儲器114中,以傳送到所分配的描述符指向的傳輸包存儲單元。此外,數(shù)據(jù)鏈路控制電路112從基準(zhǔn)時鐘發(fā)生器113中獲得相應(yīng)于傳輸包的接收時間的基準(zhǔn)時間。數(shù)據(jù)鏈路控制電路112把此時間作為接收時間標(biāo)記記錄在指向其中存儲有傳輸包的傳輸包存儲單元的描述符中。在發(fā)送包時,數(shù)據(jù)鏈路控制電路112從高速緩沖存儲器114檢索出局傳輸包的描述符,并以在基準(zhǔn)時鐘發(fā)生器113近似等于各描述符中所指示的派送時間時發(fā)生的出局TS的時隙發(fā)送相應(yīng)的傳輸包。此外,數(shù)據(jù)鏈路控制電路112在必要時在輸出的傳輸包中進(jìn)行任何最終的PCR校正,從而傳輸包中所指示的PCR與出局TS中的傳輸包的精確對準(zhǔn)同步。處理器160用于接收來自外部控制器20(圖l)的控制指令,并把命令發(fā)送到適配器IIO和接口140和150以控制它們。與之響應(yīng),對于這些指令,處理器160產(chǎn)生PID過濾器映射并把它下載到高速緩沖存儲器114,或者修改已存在于高速緩沖存儲器114中的PID過濾器,以便使數(shù)據(jù)鏈路控制電路112在選擇性地提取想要的傳輸包時使用。此外,處理器160產(chǎn)生用于處理每個接收到的傳輸包(根據(jù)其PID)的中斷接收處理程序。接收中斷處理程序可使處理器160重新映射傳輸包的PID、估計(jì)傳輸包的離開時間、提取傳輸包中的信息以進(jìn)行進(jìn)-步處理等。此外,處理器160制定和執(zhí)行發(fā)送中斷程序,該程序使處理器對傳輸包進(jìn)行適當(dāng)?shù)嘏判蛞暂敵?,對每個傳輸包產(chǎn)生離開時間,粗略地校正傳輸包中的PCR以及把PS工插入輸出的TS中。處理器160還可有助于以下更詳細(xì)所述進(jìn)行加擾和解擾。主存儲器120用于存儲傳輸包及與其相關(guān)的描述符。如下組織主存儲器120的存儲單元。設(shè)置緩沖器122,它包含用作傳輸包池的多個可再使用的傳輸包存儲單元。把描述符存儲單元129組織成為多個環(huán)124。每個環(huán)124是一描述符存儲單元129的序列,從起始存儲器地址或環(huán)的頂部124-1到結(jié)尾存儲器地址或環(huán)的底部124-2。對從再分多路復(fù)用器節(jié)點(diǎn)100發(fā)送的每個出局TS設(shè)置一個環(huán)124,對在再分多路復(fù)用器節(jié)點(diǎn)100處接收到的每個入局TS設(shè)置一個環(huán)124??扇缫韵赂敿?xì)所述來設(shè)置其它環(huán)124。在每個環(huán)124中實(shí)現(xiàn)一隊(duì)列,這是通過給隊(duì)列頭部或隊(duì)列中的第一個已使用/分配的描述符存儲單元129指定一指針124-3并給隊(duì)列尾部或隊(duì)列中的最后一個已使用/分配的描述符存儲單元129指定一指針124-4來實(shí)現(xiàn)的。把描述符存儲單元129分配給以剛好接在尾部124-4后的未使用/未分配描述符存儲單元129為起始的入局傳輸包。從頭部124-3所指向的描述符存儲單元129起始并按序進(jìn)到尾部124-4的隊(duì)列中檢索出局傳輸包的描述符存儲單元129。每當(dāng)?shù)竭_(dá)處于環(huán)124-2末尾的描述符存儲單元129的描述符時,以位于環(huán)124-1頂部的描述符存儲單元129的描述符繼續(xù)從描述符存儲單元129中分配或檢索描述符。如圖所示,存儲在每個描述符存儲單元129中的每個描述符包括許多字段129-1、129-2、129-3、129-4、129-5、129-6、129-7、129-8、129-9和129-10。簡而言之,這些字段中每個字段的目的如下。字段129-l用于存儲命令屬性。處理器160可使用命令屬性字段的各位來控制適配器110的傳輸包發(fā)送和描述符數(shù)據(jù)檢索。例如,處理器160可在環(huán)124的底部124-2所指向的描述符存儲單元129中的描述符的字段129-1中預(yù)設(shè)一位,以指示頂部指針124-1所指向的描述符存儲單元129是接在底部指針124-2所指向的描述符存儲單元129后。字段129-2用于存儲軟件狀態(tài)位。這些位既不能被適配器110訪問也不能被它修改,這些位可被處理器160用于不涉及適配器110的任何目的。字段129-3用于存儲待輸出的出局傳輸包的字節(jié)數(shù)(通常對MPEG-2傳輸包為188字節(jié),但在描述符依據(jù)不同傳輸協(xié)議或"集中"和"分散"支持(把包分成多個存儲單元片或從存儲在多個包存儲單元的片進(jìn)行裝配)而指向包時,可把字節(jié)數(shù)設(shè)定為更大或更小的數(shù)目)。字段129-4用于存儲描述符所對應(yīng)的傳輸包存儲單元的指針。這在圖2中利用從環(huán)124的描述符存儲單元129中的描述符至傳輸包池122的指定存儲單元的箭頭來示出。字段129-5用于存儲接收到的入局傳輸包的接收時間或存儲待發(fā)送的出局傳輸包的派送時間。字段129-6用于存儲可能發(fā)生的各種異常/差錯??墒褂迷撟侄蔚奈粊碇甘究偩€130的差錯、數(shù)據(jù)鏈路控制電路112連接到的通信鏈路上的數(shù)據(jù)鏈路差錯、短或長包(少于或超過188字節(jié))的接收等。字段129-7用于存儲指示描述符的不同狀態(tài)方面的狀態(tài)位,諸如描述符是否有效、是否無效地指向一出錯包等。例如,假定多個器件必須相繼處理描述符和/或其指向的包。在此情況下,最好提供四個狀態(tài)位??砂亚皟晌辉O(shè)定到值0、1、2或3。值O指示描述符無效。值1指示描述符有效并可被最后一個器件處理,該器件必須處理描述符和/或其指向的包。值2指示描述符有效且可被倒數(shù)第二個器件處理,該器件必須處理描述符和/或其指向的包。值3指示描述符有效且可被倒數(shù)第三個器件處理,該器件必須處理描述符和/或其指向的包。后兩位指示是否己從主存儲器120中取得描述符送入高速緩沖存儲器114以及是否已在適配器IO處完成對描述符的處理并把它存儲在主存儲器120中。可如以下更詳細(xì)地所述來設(shè)置其它狀態(tài)位。字段129-8包含指示接收到的入局傳輸包的字節(jié)數(shù)的傳送計(jì)數(shù)。字段129-9用于存儲加擾/解擾控制字或用于加擾或解擾的其它信息。例如,處理器160可在此字段129-9存儲一控制字(加密/解密密鑰)或存儲在高速緩沖存儲器114中的控制字表的基址。字段129-10用于存儲經(jīng)調(diào)度估計(jì)的離開時間,實(shí)際離開時間或?qū)嶋H接收時間。如以下更詳細(xì)所述,處理器160使用該字段對接收到的入局傳輸包進(jìn)行排序以輸出或記錄入局傳輸包的接收時間。示例地,為了在單個輸入端處接收傳輸包,需要一數(shù)據(jù)鏈路控制電路112、一DMA控制電路116和一環(huán)124,為了從單個輸出端發(fā)送傳輸包,需要一數(shù)據(jù)鏈路控制電路112、一DMA控制電路116和一環(huán)124。這里把存儲在與輸入端有關(guān)的隊(duì)列中的描述符叫做接收描述符,把存儲在與輸出端有關(guān)的隊(duì)列中的描述符叫做發(fā)送描述符。如下所述,以上所指的送入和輸出端可以是數(shù)據(jù)鏈路控制電路112連接到的通信鏈路的輸入或輸出端或再分多路復(fù)用器節(jié)點(diǎn)100中的另一接口140或150的通信鏈路的輸入或輸出端。把適配器IIO示作僅有單個數(shù)據(jù)鏈路控制電路112和單個DMA控制電路116。這只是為了說明——可在同一適配器110上設(shè)置多個數(shù)據(jù)鏈路控制電路112和DMA控制電路116?;蛘?,此外,可在再分多路復(fù)用器節(jié)點(diǎn)100中設(shè)置多個適配器110?;緜鬏敯邮铡⒃俜侄嗦窂?fù)用和發(fā)送現(xiàn)在考慮再分多路復(fù)用器節(jié)點(diǎn)IOO的操作。給操作人員提供如何操作再分多路復(fù)用器節(jié)點(diǎn)100的許多選擇。在再分多路復(fù)用器節(jié)點(diǎn)100的第一種操作方式中,假設(shè)操作人員希望把兩個TS(即,TS1和TS2)的程序信息選擇性地組合成為第三TS,即TS3。在此情況下,假設(shè)操作人員最初不知道這兩個待再分多路復(fù)用的TS(TS1和TS2)中包含什么程序,ES還是PID。此外,示例地,在第一適配器110處接收TS1,在第二適配器110處接收TS2,以及從同一再分多路復(fù)用器的節(jié)點(diǎn)100的第三適配器110發(fā)送TS3。從以下的描述可以理解,TS1和TS2中的每一個可改為經(jīng)由同一節(jié)點(diǎn)或不同節(jié)點(diǎn)處的同步或異步接口接收,可經(jīng)由任意結(jié)構(gòu)的網(wǎng)絡(luò)把TS1和TS2的選中部分傳送到第三節(jié)點(diǎn),以在第三節(jié)點(diǎn)處選擇性地組合而形成TS3??砂岩罁?jù)此方式的操作歸納為(l)獲取輸入的待再分多路復(fù)的TS(TS1和TS2)的內(nèi)容信息(程序,ES、PAT、PMT、CAT、N工T等及其PID);(2)把此內(nèi)容信息報(bào)告給操作人員,從而操作人員可制定用戶規(guī)定;以及(3)接收用于構(gòu)成輸出的經(jīng)再分多路復(fù)用的TS(TS3)的用戶規(guī)定,并依據(jù)此用戶規(guī)定從輸入的待多路復(fù)用的TS(TS1和TS2)的內(nèi)容動態(tài)地構(gòu)成經(jīng)再分多路復(fù)用的TS(TS3)。為了使能內(nèi)容信息的獲取,傳輸處理器160把一接收隊(duì)列分配給分別接收TS(TS1和TS2)的第一和第二適配器110中的每一個。為了獲取TS(TS1和TS2)的內(nèi)容,最初在TS1或TS2的適配器IIO處不丟棄傳輸包。因而,處理器160把一過濾器映射裝入接收TS(TS1和TS2)的第一和第二適配器110中每一個的高速緩沖存儲器114,使得可保留每個傳輸包并傳送到主存儲器120。當(dāng)在各適配器110處接收到TS(例如,TS1)的每個傳輸包時,數(shù)據(jù)鏈路控制電路112把下一個未使用的描述符(接在存儲在接收隊(duì)列尾部124-4處的描述符存儲單元中描述符后)分配給接收到的入局傳輸包。數(shù)據(jù)鏈路控制電路112把每個接收到的傳輸包存儲在所分配的描述符指向的高速緩沖存儲器114中的傳輸包存儲單元中。DMA控制電路116把每個傳輸包寫到主存儲器120中池122的相應(yīng)存儲單元,并把分配給這些傳輸包的描述符的描述符數(shù)據(jù)寫到接收隊(duì)列的各描述符存儲單元。此外,面A控制電路116可獲得對接收隊(duì)列中接著的幾個未分配描述符存儲單元129(接在DMA控制電路116先前已獲得控制的描述符129序列的存儲單元后)、存儲在其中的描述符的拷貝和這些描述符指向的傳輸包存儲單元的控制。把對這些未使用、未分配的描述符和傳輸包存儲單元的控制提供給高速緩沖存儲器114,以被數(shù)據(jù)鏈路控制電路112使用(即,分配給將來從TS1接收到的傳輸包)。在DMA控制電路116把i21個傳輸包和分配給它們的描述符的數(shù)據(jù)寫到池122和接收隊(duì)列中,DMA控制電路116產(chǎn)生一中斷。示例地,操作人員可使用控制器20來選擇數(shù)字i并通過處理器160來設(shè)定。中斷使得處理器160對每個接收到的傳輸包執(zhí)行適當(dāng)?shù)慕邮?PID"處理器子程序(handlersubroutine)?;蛘撸墒褂弥T如輪詢或基于定時器的過程等另一種技術(shù)啟動處理器160對每個接收到的傳輸包執(zhí)行接收P工D處理器子程序。為了清楚,在這里使用中斷范例來說明本發(fā)明。參考圖3,示例地,處理器160具有用于在再分多路復(fù)用會話(session)期間接收或發(fā)送TS的每個適配器110(或其它器件)的一組PID處理器子程序。圖3示出兩種類型的PID處理器子程序組,即接收PID處理器子程序組和發(fā)送PID處理器子程序組。每個函A控制電路116產(chǎn)生可識別的不同中斷,從而使處理器160確定使用哪一組PID處理器子程序。響應(yīng)于DMA控制電路116的中斷,處理器160執(zhí)行步驟S2,依據(jù)該步驟S2,處理器160檢查在中斷適配器110的接收隊(duì)列中最近存儲的描述符所指向的每個傳輸包的PID。對于每個PID,處理器160咨詢中斷處理器160的適配器IIO(或其它器件)所專用的接收PID處理器子程序402的指針表。假設(shè),接收TS1的第一適配器110中斷處理器160,在此情況下,處理器160確定咨詢接收該TS(TS1)的適配器110所專用的接收PID處理器子程序402的指針表。接收PID處理器子程序的指針表包括8192個表目,包括被每個可許可PID(依據(jù)MPEG-2,這些PID有13位)索弓l(index)的一個表目。每個被索引的表目包含將被處理器160執(zhí)行的子程序的指針或地址RIVO、RIV1、…、RIV8191。使用每個傳輸包的PID,處理器160可給接收PID處理器子程序402的指針表的表目加上索引,以識別將對該特定傳輸包執(zhí)行的子程序的指針。利用指針表402,把由各指針指向并被處理器160所執(zhí)行的每個子程序具體地映射到每個PID,以實(shí)現(xiàn)用戶規(guī)定。有利的是,由指針表402依據(jù)用戶規(guī)定預(yù)先確定每個子程序并進(jìn)行簡單的映射。每個子程序由一個或多個基本構(gòu)件塊處理的集合構(gòu)成?;緲?gòu)件塊處理的一些例子包括(1)PAT獲取最初,該處理包含在由RIVO指向的子程序即PID0x0000的接收PID處理器子程序中。在執(zhí)行該處理時,示例地,處理器160提取當(dāng)前被處理的傳輸包中所攜帶的PAT部分(section),并把此PAT部分裝入保持在存儲器中的PAT中。注意,可使用PAT的多個版本,因?yàn)門S中所攜帶的程序可隨時間而改變。處理器160能識別PAT的不同版本并分開地聚集PAT的每個版本的拷貝并保持在主存儲器120中。處理器160能根據(jù)包含在各種PAT部分中的信息在任何時間識別目前在使用PAT的哪一個版本。處理器160還使用每個更新的PAT部分中所攜帶的信息來識別此時TS中所攜帶的程序的程序號以及此類程序號的PMT部分的PID或程序定義。使用這些程序號,處理器160可修改接收PID處理器子程序的指針表402,以插入適當(dāng)PID的指針(給帶有PMT部分的傳輸包作標(biāo)簽),以執(zhí)行包含用于獲取PMT部分/程序定義的處理的子程序。(2)PMT部分/程序定義獲取在此處理中,處理器160提取包含在目前處理的傳輸包中的PMT部分或程序定義,并以所提取的程序定義或PMT部分?jǐn)?shù)據(jù)更新PMT的各部分。同PAT—樣,可利用PMT的多個版本,處理器160可確定在哪一個PMT中存儲所提取的PMT部分或程序定義數(shù)據(jù)。處理器160可使用PMT信息來更新P工D過濾器映射(用來丟棄未包含在經(jīng)再分多路復(fù)用的TS中的程序的傳輸包),識別用于對ES進(jìn)行解擾的控制字并選擇用于處理包含在傳輸包(具有在PMT中所識別的PID)中的PCR的子程序。(3)PID重新映射這使得處理器160以不同的PID改寫相應(yīng)包的PID。這是保證PID指派的唯一性所需的。即,如果要把攜帶不同內(nèi)容(例如,不同ES的數(shù)據(jù)、不同PSI流的數(shù)據(jù)等)的傳輸包再分多路復(fù)用成為同一輸出的再分多路復(fù)用TS(并由其攜帶),則MPEG-2要求給這些攜帶不同內(nèi)容的傳輸包標(biāo)上互不相同的PID。否則,解碼器或其它器件不能區(qū)分?jǐn)y帶不同類型數(shù)據(jù)的傳輸包來進(jìn)行提取、解碼等。在TS1中使用某一PID給帶有第一類型數(shù)據(jù)的傳輸包作標(biāo)簽并在TS2中使用同一PID給帶有第二類型數(shù)據(jù)的傳輸包作標(biāo)簽是可能的。如果要把第一和第二類型的傳輸包包含在輸出的再分多路復(fù)用的TS(TS3)中,則應(yīng)以新的PID對兩種類型的傳輸包中的至少一種重新作標(biāo)簽以保證唯一性。(4)傳輸包丟棄如名稱所示,處理器160簡單地丟棄這些傳輸包。為此,處理器160解除分配指向丟棄傳輸包的描述符??赏ㄟ^處理器160調(diào)節(jié)該隊(duì)列的描述符存儲單元129中所存在的描述符的順序,以除去刪除的傳輸包的描述符(例如,處理器識別接在環(huán)124中的待刪除傳輸包的描述符后的所有已分配的描述符,并把每一個移至剛好在前的那個描述符的描述符存儲空間),這樣來實(shí)現(xiàn)描述符的解除分配D描述符的解除分配在接收隊(duì)列中產(chǎn)生了用以重新分配的描述符存儲空間129。(5)PCR標(biāo)志(flag)設(shè)定PMT對每個程序指示攜帶PCR的傳輸包的PID。然而,這些傳輸包中只有一些攜帶有PCR。簡單地,這可以通過處理器160確定在傳輸包中是否設(shè)定適當(dāng)?shù)闹甘?傳輸包標(biāo)題中的adaption—field—control(適應(yīng)—字段—控制)位和適應(yīng)字段中的PCR__flag(PCR—標(biāo)志)位)來確定。如果處理器160確定存在PCR,則處理器160在有關(guān)各包的描述符129的屬性字段129-1中設(shè)定一PCR標(biāo)志位。以下更詳細(xì)地描述此屬性標(biāo)志位的目的。此外,示例地,處理器160計(jì)算基準(zhǔn)時鐘發(fā)生器113相對于程序(其PCR為樣本)的編碼器系統(tǒng)定時時鐘的當(dāng)前的偏移??赏ㄟ^以下公式來確定偏移偏移^ARTS12-APCR12AARTS12二RTS2-RTS1;以及△PCR12=PCR1-PCR2這里APCR12是該程序的各相繼PCR之差,PCR2是當(dāng)前處理的傳輸包中的PCR,PCR1是先前接收到的該程序的PCR,△RTS12是相繼接收時間標(biāo)記之差;RTS2是對包含PCR2的當(dāng)前所處理的傳輸包所記錄的接收時間標(biāo)記,以及RTS1是包含PCR1的傳輸包的先前接收時間標(biāo)記。在計(jì)算了偏移后,把PCR1和PTS1分別設(shè)定為等于PCR2和PTS2。如下所述使用此偏移來調(diào)節(jié)PCRA(在必要時)。(6)估計(jì)的離開時間計(jì)算依據(jù)此處理,處理器160估計(jì)傳輸包的(理想)離開時間。示例地,此處理包含在接收中斷處理程序中,以把每個接收到的入局傳輸包再分多路復(fù)用成為出局TS。可從傳輸包的接收時間(字段129-5中)和再分多路復(fù)用節(jié)點(diǎn)IOO處的已知內(nèi)部緩沖延遲來估計(jì)所估計(jì)的離開時間。處理器160把所期望的離開時間寫入字段129-10。(7)加擾/解擾控制字信息插入通常,在加擾或解擾技術(shù)中,實(shí)際上需要動態(tài)變化的控制字(諸如加密或解密密鑰)對傳輸包中的數(shù)據(jù)進(jìn)行加擾或解擾。普通的加擾和解擾技術(shù)依據(jù)此使用奇數(shù)和偶數(shù)密鑰,一個密鑰用于對ES數(shù)據(jù)進(jìn)行加密,在TS中同期地傳送隨后將使用的下一個密鑰。然后,發(fā)送指示現(xiàn)在應(yīng)使用最近傳送的密鑰的信號。加擾/解擾控制字可以是ES專用的或可用于一組ES(整個"有條件訪問系統(tǒng)"上)。可把解擾或加擾控制字保持在再分多路復(fù)用器節(jié)點(diǎn)100處的PID可編索引表中。如以下更詳細(xì)所述,處理器160在執(zhí)行此處理時可把控制字表的基址或控制字本身插入描述符的字段129-9。最初,處理器160選擇用于獲取每個接收到的TS(TS1和TS2)的PAT并且其后丟棄每個經(jīng)處理的傳輸包的PID處理程序。在接收PAT期間,獲得諸如程序定義/PMT部分、NIT和CAT等帶有其它PSI的PID的傳輸包以及諸如ES流、ECM流、E顧流等其它流的PID等。示例地,用于PAT的PID的接收PID處理器子程序選擇用于獲取PMT、NIT、CAT等的接收PID處理器子程序。這可容易地通過使這些子程序可用并簡單地改變指向這些PID處理器子程序的表402中表目的指針(可通過適當(dāng)?shù)淖R別PID編索弓I)來實(shí)現(xiàn)。注意,即使在接收TSl和TS2的傳輸包并進(jìn)行處理時,也可動態(tài)地實(shí)行這種簡單的PID處理器子程序選擇處理。以下更詳細(xì)地描述其優(yōu)點(diǎn)。最終,獲取有關(guān)每個TS(TS1和TS2)的足夠數(shù)量的PSI,以使操作人員產(chǎn)生將在再分多路復(fù)用TS(TS3)中輸出的信息的用戶規(guī)定。示例地,處理器160例如使用異步接口140把獲取的PSI信息發(fā)送到控制器20。把用于選擇用戶規(guī)定的足夠的信息發(fā)送到控制器20。此信息可以是選擇性的,例如,剛好是示出包含在其中的程序號的每個TS的通道映射及不同類型的ES(以諸如視頻、音頻、第二音頻呈現(xiàn)、關(guān)閉的圖片說明文本等來描述)?;蛘撸撔畔⒖梢允歉F舉的,例如包括每個程序的PID、其ES的ECM等,控制器20以相干而有用的方式把該信息簡單地顯示給操作人員。使用所提供的信息,操作人員產(chǎn)生用戶規(guī)定以輸出到待再分多路復(fù)用的TS(TS3)中。此用戶規(guī)定可指定(1)待保留并在再分多路復(fù)用TS(TS3)中輸出的每個TS(TS1和TS2)中的程序號,(2)待保留或丟棄的保留程序的ES,(3)待解擾和/或加擾的ES、ES組、程序或程序組以及將在對每個ES、ES組、程序或程序組進(jìn)行加擾時使用的控制字的源,(4)待注入或包含在輸出的再分多路復(fù)用TS(TS3)中的任何新的ECM或EMM,以及(5)并非從以上選擇中自動暗示的任何新PSI信息,這些選擇諸如待置于輸出的TS(TS3)中的NIT或CAT、待重新映射的特定PID及其應(yīng)重新映射到的新PID、指派給在再分多路復(fù)用器節(jié)點(diǎn)處產(chǎn)生并在TS(TS3)中所攜帶的其它信息(例如,如下所述的突發(fā)數(shù)據(jù))的PID等。然后,例如經(jīng)由異步接口140把用戶規(guī)定從控制器20發(fā)送到再分多路復(fù)用器節(jié)點(diǎn)100。處理器160接收此用戶規(guī)定,并通過對每個接收到的待再分多路復(fù)用的TS(TS1和TS2)的適當(dāng)PID選擇適當(dāng)?shù)慕邮誔ID處理器子程序來響應(yīng)。例如,對于標(biāo)注包含待保留數(shù)據(jù)的傳輸包用的每個PID,處理器160選擇一子程序,在子程序中,處理器160插入估計(jì)離開時間的過程。對于標(biāo)注包含被加擾數(shù)據(jù)的傳輸包用的每個PID,處理器160選擇一子程序,該子程序包含用于選擇適,的控制字并把該控制字插入與此傳輸包有關(guān)的描述符中的過程。對于標(biāo)注包含PCR的傳輸包用的每個PID,處理器160可選擇一子程序,該子程序包含用于設(shè)定PCR標(biāo)志并計(jì)算偏移等的過程。以下更詳細(xì)地描述用戶規(guī)定和/或PSI數(shù)據(jù)的動態(tài)調(diào)節(jié)。處理器160把一發(fā)送隊(duì)列分配給發(fā)送經(jīng)再分多路復(fù)用的TS的每個器件,即輸出TS(TS3)的第三適配器110。此外,處理器160把PID過濾器映射裝入接收TS(TS1和TS2)的第一和第二適配器110的每個高速緩沖存儲器114,此丁S(TS1和TS2)具有適當(dāng)?shù)闹?,這些值用于保留待在再分多路復(fù)用的TS(TS3)中輸出的那些傳輸包、用于保留包含PSI的其它傳輸包、用于保持TS1和TS2的內(nèi)容的跟蹤(track)以及用于丟棄每個其它(eachother)傳輸包。除了選擇接收PID處理器子程序、分配發(fā)送隊(duì)列以及裝載適當(dāng)?shù)腜工D過濾器映射修改以外,示例地,處理器160對輸出經(jīng)再分多路復(fù)用的TS的每個適配器(或其它器件)選擇一組發(fā)送PID處理器子程序。這如圖3所示。發(fā)送PID處理器子程序以PID和發(fā)送TS為基礎(chǔ)進(jìn)行選擇。如上所述,響應(yīng)于接收可識別的中斷(例如,來自發(fā)送諸如TS3等輸出TS的適配器110的數(shù)據(jù)鏈路控制電路112),處理器160執(zhí)行步驟S4。在步驟S4,處理器160檢查來自接收隊(duì)列(和/或包含還未被調(diào)度輸出的傳輸包的描述符的其它可能的隊(duì)列)的描述符,并識別指向?qū)闹袛噙m配器110輸出的傳輸包的高達(dá)j^l個描述符。示例地,數(shù)目j可以是可編程的,且有利地可把它設(shè)定為等于從特定適配器110(每次特定適配器110中斷處理器160之間,從該特定適配器110發(fā)送一輸出TS)所發(fā)送的傳輸包的數(shù)目k。在執(zhí)行步驟S4時,處理器160檢查指向旨在特定輸出TS的傳輸包的描述符的每個接收隊(duì)列。處理器160通過咨詢發(fā)送PID處理器子程序404的指針表來確定哪些傳輸包指針輸出TS。如同表402,表404對于每個P工D包括一個表目并用0x0000到OxlFFF對每個P工D索引。每個被索引的表目包含TIVO、TIV1-----TIV8181(待響應(yīng)于各PID執(zhí)行的子程序)的指針或地址。處理器160依據(jù)從控制器20接收到的用戶規(guī)定制定發(fā)送PID處理器子程序404的指針表,如以下所述來修改此指針表。以下是可組合成發(fā)送PID處理器子程序的示例過程(1)什么也沒有(nothing):如果不在向處理器160發(fā)出發(fā)送中斷的器件的再分多路復(fù)用TS(或其它流)中輸出當(dāng)前傳輸包,則此傳輸包的PID映射到僅包含此過程的子程序。依據(jù)此過程,處理器160簡單地跳過此傳輸包及其描述符。不把被檢査的描述符計(jì)為待從中斷處理器160的特定適配器110輸出的j個傳輸包之一。(2)用于發(fā)送的順序描述符如果要在向處理器發(fā)出發(fā)送中斷的器件的再分多路復(fù)用TS(或其它流)中輸出當(dāng)前傳輸包,則此傳輸包的PID映射到包含此過程(以及可能的其它過程)的子程序。依據(jù)此過程,處理器160把一發(fā)送描述符分配給此傳輸包。然后,處理器160把指向該傳輸包的接收描述符中的相關(guān)信息拷貝到此新分配的發(fā)送描述符中。然后,以發(fā)送隊(duì)列中與請求中斷的器件有關(guān)的適當(dāng)順序?qū)λ峙涞陌l(fā)送描述符進(jìn)行排序,以進(jìn)行發(fā)送。尤其是,處理器160把新分配的描述符指向的包的估計(jì)離開時間與記錄在發(fā)送隊(duì)列中的其它描述符中的實(shí)際派送時間(將發(fā)送傳輸包的實(shí)際時間)相比較。如果可能,把此描述符置于發(fā)送隊(duì)列中實(shí)際派送時間比此描述符的估計(jì)離開時間晚的每個描述符前及實(shí)際派送時間比此描述符的估計(jì)離開時間早的每個描述符后??赏ㄟ^把實(shí)際派送時間比待插入描述符的估計(jì)離開時間晚的發(fā)送描述符序列中的每個發(fā)送描述符拷貝到該隊(duì)列中各后續(xù)的下一描述符存儲單元129來實(shí)現(xiàn)此插入。然后,可把所分配的發(fā)送描述符的數(shù)據(jù)存入可通過拷貝該序列獲得的描述符存儲單元129中。(3)實(shí)際派送時間確定處理器160可確定所分配的描述符指向的傳輸包的實(shí)際派送時間,此確定根據(jù)該傳輸包的估計(jì)離開時間。通過確定用于發(fā)送傳輸包(新分配和插入的發(fā)送描述符指向該傳輸包)的輸出再分多路復(fù)用TS(TS3)的傳輸包時隙來設(shè)定實(shí)際派送時間。即,選中在時間上最接近估計(jì)的離開時間的輸出TS(TS3)的傳輸包時隙。假定將在被選中的傳輸包時隙的時間(相對于適配器ll.O(這些適配器如下所述相互同步)的基準(zhǔn)時鐘發(fā)生器113所建立的內(nèi)部基準(zhǔn)時間)處輸出該傳輸包。指派有關(guān)各傳輸包時隙的時間作為實(shí)際派送時間。然后,把此實(shí)際派送時間存入發(fā)送描述符的字段129-5。如下所述,實(shí)際派送時間實(shí)際上是第三適配器IIO(該適配器輸出經(jīng)再分多路復(fù)用的TS,即TS3)的數(shù)據(jù)鏈路控制電路112提交相應(yīng)傳輸包以輸出的近似時間。傳輸包的實(shí)際輸出時間與處理器160所不知的外部時鐘所建立的傳輸包時隙的對準(zhǔn)有關(guān)??蓪?shí)施如下所述的附加步驟,以消除此不對準(zhǔn)而引起的PCR的抖動(dejitter)??紤]從中接收包的TS(g卩,TS1或TS2)的位速率可能不同于輸出的TS(即,TS3)的位速率。此外,將從內(nèi)部緩沖傳輸包至一預(yù)定延遲(與接收和發(fā)送隊(duì)列的長度有關(guān))。然而,假設(shè)在輸出的再分多路復(fù)用TS(TS3)的同一傳輸包時隙接收到的不同TS的傳輸包之間不存在爭用,則所有的傳輸包將在多路復(fù)用器假定100中引起近似相同的等待時間。由于平均等待時間是相同的,所以不會在傳輸包中引入抖動?,F(xiàn)在考慮在幾乎相同的時間從不同TS(即TS1和TS2)中接收兩個傳輸包并在再分多路復(fù)用的TS(TS3)中輸出這兩個傳輸包的情況。這兩個傳輸包可能具有不同的估計(jì)離開時間,盡管如此,此估計(jì)離開時間相應(yīng)于(在時間上最接近于)輸出的再分多路復(fù)用TS(TS3)的同一傳輸包時隙。把具有最早估計(jì)離開時間(或接收時間)的傳輸包指派給此時隙和此時隙的實(shí)際派送時間。給另一傳輸包指派輸出的再分多路復(fù)用TS(TS3)的下一傳輸包時隙及其實(shí)際派送時間。注意,指派給下一時隙的傳輸包所引起的等待時間不同于該程序的其它傳輸包所引起的平均等待時間。因而,示例地,處理器160設(shè)法消除此傳輸包引起的等待時間,包括調(diào)節(jié)此傳輸包的PCR(如果其中包含PCR)。(4)PCR偏移和等待時間調(diào)節(jié)示例地,此過程包含在由包含PCR的傳輸包的PID來索引的表404的指針?biāo)赶虻淖映绦蛑?。處理?60確定僅在未把一傳輸包指派給在時間上最接近該傳輸包的估計(jì)離開時間的輸出再分多路復(fù)用TS(TS3)的傳輸包時隙(對該程序的其它傳輸包也如此)時以及在各接收描述符中設(shè)定PCR標(biāo)志時才需要PCR等待時間調(diào)節(jié)。校正PCR中因指派給不理想時隙引起的時間偏離。此調(diào)節(jié)等于傳輸包的時隙偏離理想時隙的時隙數(shù)乘以時隙的時間。如下所述調(diào)節(jié)所有PCR的偏移,除非輸入和輸出TS在時間上精確對準(zhǔn)或此PCR是從異步通信鏈路接收到的。在前一情況下,內(nèi)部時鐘的偏移不影響輸出PCR的定時。在后一情況下,如下所述使用不同的偏移調(diào)節(jié)。在其它所有的情況下,輸出接收到的PCR的時間均受到接收該傳輸包的適配器110和發(fā)送此傳輸包的適配器110的基準(zhǔn)時鐘發(fā)生器113相對于PCR的程序時鐘的偏移的影響。即,給包含PCR的傳輸包標(biāo)上從基準(zhǔn)時鐘發(fā)生器113獲得的接收時間標(biāo)記。此接收時間標(biāo)記用來確定估計(jì)離開時間和實(shí)際派送實(shí)際。如以下詳細(xì)地所述,相對于發(fā)送TS(TS3)的適配器110上的基準(zhǔn)時鐘發(fā)生器113和保持同步的所有適配器110的所有基準(zhǔn)時鐘發(fā)生器113,依據(jù)傳輸包的實(shí)際派送時間來派送傳輸包。然而,雖然基準(zhǔn)時鐘發(fā)生器113都相互同步,但基準(zhǔn)時鐘發(fā)生器113仍舊要經(jīng)受相對于產(chǎn)生傳輸包及其PCR的編碼器系統(tǒng)定時時鐘的偏移。此偏移可影響從再分多路復(fù)用器節(jié)點(diǎn)IOO輸出的輸出再分多路復(fù)用TS(諸如TS3)中的每3個PCR的時間。依據(jù)本發(fā)明,再分多路復(fù)用器節(jié)點(diǎn)ioo校正這些偏移。如上所述,用于每個程序的PCR的接收處理器子程序的部分將保持對偏移的當(dāng)前測量。保持測量基準(zhǔn)時鐘發(fā)生器113相對于每個程序的編碼器系統(tǒng)定時時鐘的偏移。對于每個PCR,從PCR中減去PCR的程序的當(dāng)前偏移(即,基準(zhǔn)時鐘發(fā)生器113與該程序的編碼器系統(tǒng)定時時鐘之間的偏移)。通過如上所述分配隊(duì)列、選擇PID處理器子程序及修改PID過濾器映射,可如下進(jìn)行再分多路復(fù)用。在第一適配器110的數(shù)據(jù)鏈路控制電路112處接收到TS1的傳輸包。同樣,在第二適配器110的數(shù)據(jù)鏈路控制電路112處接收到TS2的傳輸包。第一和第二適配器110中每一個中的數(shù)據(jù)鏈路控制電路112咨詢存儲在當(dāng)?shù)氐?thereat)高速緩沖存儲器114中的本地PID過濾器映射,并選擇性地丟棄具有指示將不保留傳輸包的PID的每個傳輸包。每個數(shù)據(jù)鏈路控制電路112從高速緩沖存儲器114中檢索下一未使用/未分配的描述符,并確定與此描述符有關(guān)的傳輸包存儲單元。(如以上和以下所述,DMA控制電路116連續(xù)地獲得對指派給數(shù)據(jù)鏈路控制電路112的接收隊(duì)列的一個或多個后續(xù)未使用/未分配描述符構(gòu)成的序列及這些描述符指向的傳輸包存儲單元的控制。)這些后續(xù)未使用、未分配描述符接在存儲在尾部指針129-4所指向的描述符存儲單元129中的描述符后,數(shù)據(jù)鏈路控制電路112可獲得此尾部指針129-4。(如上所述,如果尾部指針129-4等于環(huán)地址的底部129-2,則被尾部指針129-4指向的描述符將具有由處理器160在字段129-7中所設(shè)定的描述符環(huán)命令位的結(jié)尾。這將使數(shù)據(jù)鏈路控制電路112使用環(huán)繞式尋址技術(shù)來分配存儲在描述符存儲等于129中環(huán)地址頂部129-1的描述符。)數(shù)據(jù)鏈路控制電路112獲得相應(yīng)于接收到傳輸包的第一字節(jié)的時間的基準(zhǔn)時鐘發(fā)生器113的時間,并把該值作為接收時間標(biāo)記存儲在所分配的描述符的字段129-5中。數(shù)據(jù)鏈路控制電路112把接收到的傳輸包的字節(jié)數(shù)存儲在字段129-8中。此外,如果在接收傳輸包時發(fā)生任何差錯(例如,丟失TS1的數(shù)據(jù)鏈路載波(carrier)、短包、長包、出錯包等),則數(shù)據(jù)鏈路控制電路112通過設(shè)定129-6的適當(dāng)異常位來指示這些差錯。然后,數(shù)據(jù)鏈路控制電路112在狀態(tài)字段129-7中設(shè)定一位指示已處理描述符129或己處理描述符129的差錯,并把該傳輸包存儲在字段129-4中的指針?biāo)赶虻母咚倬彌_存儲器114中的傳輸包存儲單元中。(注意,在長包的情況下,可把不止一個后續(xù)未使用未分配描述符構(gòu)成的序列分配給接收到的傳輸包,可把過剩的數(shù)據(jù)存儲在與這些描述符有關(guān)的包存儲單元中??稍诿枋龇械谝粋€的屬性字段129-1中設(shè)定適當(dāng)?shù)募?分散位,以指示這個包的數(shù)據(jù)超過了與描述符中第一個有關(guān)的單個傳輸包存儲空間。還可在描述符中最后一個的屬性字段129-1中設(shè)定相應(yīng)的位,以指示它是多描述符傳送中的最后一個描述符。這種長的包通常發(fā)生在適配器來自不同于TS的流的包時。)DMA控制電路116把此傳輸包寫入主存儲器120的傳輸包池122中其相應(yīng)傳輸包存儲單元內(nèi)。DMA控制電路116還把指向?qū)懭氲膫鬏敯拿枋龇臄?shù)據(jù)寫到指派給各適配器110的接收隊(duì)列的各描述符存儲單元129。注意,DMA控制電路116可通過確定哪些描述符的字段129-7中設(shè)定有處理完成狀態(tài)位來識別要把哪些傳輸包寫到主存儲器120以及這些描述符指向的傳輸包存儲單元。注意,DMA控制電路116可在每次寫完成時一個接一個地寫入描述符和傳輸包的數(shù)據(jù)?;蛘?,DMA控制電路116可允許累積某閾值數(shù)目的傳輸包和描述符。然后,DMA控制電路116寫入i》l個多個完成的描述符和傳輸包的序列的數(shù)據(jù)。在一個實(shí)施例中,把加擾器/解擾器電路115置于適配器110上。在此情況下,在DMA控制電路116把傳輸包的數(shù)據(jù)寫到主存儲器120前,加擾器/解擾器電路115對必須進(jìn)行解擾的每個傳輸包進(jìn)行解擾。以下對此進(jìn)行更詳細(xì)的描述。當(dāng)DMA控制電路116把描述符數(shù)據(jù)和傳輸包寫到主存儲器130時,DMA控制電路116中斷處理器160。這些中斷可由DMA控制電路116在把每i》l個描述符的數(shù)據(jù)寫到主存儲器130時啟動。中斷使得處理器160執(zhí)行每個傳輸包(PID和輸入TS特定)的接收PID處理器子程序之一。如上所述,由表402中指針的適當(dāng)變更來選擇接收PID處理器子程序,從而處理器160(尤其是)丟棄將不在再分多路復(fù)用TS中輸出的傳輸包,把估計(jì)離開時間寫入指向的輸出傳輸包的描述符中并在指向包含PCR的傳輸包的描述符中設(shè)定PCR標(biāo)志位。此外,選中的接收PID處理器子程序最好引起處理器160連續(xù)地獲取和更新PSI表,調(diào)節(jié)PID過濾器映射,并選擇實(shí)行某用戶規(guī)定所需的附加接收PID處理器子程序。例如,用戶規(guī)定可指定將在再分多路復(fù)用TS(TS3)中連續(xù)地輸出的特定程序號。然而,由于達(dá)到事件邊界使得構(gòu)成該程序的ES經(jīng)歷改變。最好,處理器160將通過監(jiān)測PAT和PMT的變化來檢測ES構(gòu)成中的這些改變,并將根據(jù)連續(xù)地在再分多路復(fù)用TS(TS3)中輸出選中程序的ES的需要來改變PID過濾器映射并選擇接收PID處理器子程序,而無論該程序的構(gòu)成是經(jīng)常的。在進(jìn)行以上與接收傳輸包有關(guān)的功能的同時,第三適配器110上的DMA控制電路116和數(shù)據(jù)鏈路控制電路112也進(jìn)行與在TS3中發(fā)送傳輸包有關(guān)的某些功能。每當(dāng)此第三適配器110的數(shù)據(jù)鏈路控制電路112輸出k》1個傳輸包時,數(shù)據(jù)鏈路控制電路112產(chǎn)生一發(fā)送中斷。示例地,k可由處理器160選擇。在對輸出的再分多路復(fù)用TS(TS3)執(zhí)行適當(dāng)?shù)陌l(fā)送PID處理器子程序的處理器160處接收此發(fā)送中斷。尤其是,處理器160檢查位于每個隊(duì)列頭部處的描述符,此每個隊(duì)列包含指向?qū)⒃赥S3中輸出的傳輸包的的描述符。如上所述,兩個接收隊(duì)列包含指向?qū)⒃赥S3中輸出的傳輸包的描述符,包括一有關(guān)第一適配器110(接收TS1)的接收隊(duì)列和一有關(guān)第二適配器IIO(接收TS2)的接收隊(duì)列。如下所述,處理器160可分配包含指向待在TS3中輸出的傳輸包的描述符的附加隊(duì)列。處理器160識別指向待在TS3中輸出的后續(xù)j個傳輸包的描述符。這是通過執(zhí)行該組(與第三適配器110有關(guān)且可通過接收隊(duì)列頭部中的傳輸包的PID而索弓I)的發(fā)送PID處理器子程序來實(shí)現(xiàn)。如上所述,如果將不從第三適配器IIO(產(chǎn)生中斷)輸出相應(yīng)于處理器160所檢查的隊(duì)列中的一個描述符的傳輸包,則此傳輸包的PID將對什么也不作的第三適配器110的發(fā)送PID處理器子程序索引。如果要從第三適配器IIO(產(chǎn)生中斷)輸出相應(yīng)于處理器160所檢查的隊(duì)列中的一個描述符的傳輸包,則此傳輸包的PID將對一發(fā)送PID處理器子程序的指針?biāo)饕?,該發(fā)送PID處理器子程序?qū)?1)對該傳輸包分配-一發(fā)送描述符,(2)按照正確的發(fā)送順序?qū)τ嘘P(guān)第三適配器110的發(fā)送隊(duì)列中的發(fā)送描述符進(jìn)行排序,(3)對所分配的描述符和傳輸包指派一實(shí)際派送時間,以及(4)在必要時對傳輸包的偏移和等待時間進(jìn)行粗的PCR校正。示例地,處理器160檢查(接收)隊(duì)列中的描述符,直到識別指向?qū)⒃赥S3中輸出或來自第三適配器110的傳輸包的j個描述符。從頭部124-3到尾部124-4依次檢查這些描述符。如果可獲得具有候選描述符的多個隊(duì)列用以檢査,則處理器160可按照估計(jì)離開時間的順序或可慮及描述符指向的傳輸包的內(nèi)容的某些其它適當(dāng)?shù)捻樞?如下所述),以輪流(round-robin)方式來檢查這些隊(duì)列。DMA控制電路116從主存儲器120中檢索有關(guān)TS3或第三適配器110的隊(duì)列的j》l個描述符構(gòu)成的序列的數(shù)據(jù)。按照從頭部指針124-3到尾部指針124-4的順序,從隊(duì)列的描述符存儲單元129中檢索這些描述符。DMA控制電路116還從主存儲器120中檢索來自每個如此檢索的描述符所指向的池122的傳輸包存儲單元中的傳輸包。DMA控制電路116把如此檢索的描述符和傳輸包存入高速緩沖存儲器114中。數(shù)據(jù)鏈路控制電路112按照從頭部指針124-3的順序,從高速緩沖存儲器114中連續(xù)檢索發(fā)送隊(duì)列中的每個描述符和該描述符指向的傳輸包存儲單元中的傳輸包。當(dāng)?shù)谌m配器110的基準(zhǔn)時鐘發(fā)生器113的時間等于被檢索的描述符的派送時間字段129-5中所指示的時間時,數(shù)據(jù)鏈路控制電路112在TS3中發(fā)送該描述符(位于頭部指針124-3所指向的存儲單元中)指向的傳輸包。此派送時間只近似于發(fā)送時間,因?yàn)楸仨毰cTS3的傳輸包時隙邊界對準(zhǔn)地發(fā)送每個傳輸包。以處理器160不知道的外部時鐘為基準(zhǔn)來設(shè)定這種邊界。注意,由于某種原因,每個傳輸包的PCR可能稍稍抖動。相應(yīng)地,數(shù)據(jù)鏈路控制電路112此外最終還依據(jù)包含此PCR的傳輸包的精確發(fā)送時間來校正此PCR。具體來說,此精確發(fā)送時間小于估計(jì)的傳輸包離開時間。數(shù)據(jù)鏈路控制電路112使用預(yù)先鎖定于TS3的時隙邊界的傳輸時隙邊界時鐘,以對所估計(jì)的PCR進(jìn)行細(xì)調(diào)(即,通過把派送時間與實(shí)際發(fā)送時間之差加到傳輸包的PCR)。注意,數(shù)據(jù)鏈路控制電路112可使用此描述符的PCR標(biāo)志位來確定該傳輸包中是否存在PCR(繼而確定是否校正它)。在發(fā)送一傳輸包后,數(shù)據(jù)鏈路控制電路112在指向所發(fā)送的傳輸包的描述符的字段129-7中設(shè)定適當(dāng)?shù)臓顟B(tài)信息并解除分配該描述符。然后,DMA控制電路116把此狀態(tài)信息寫入發(fā)送隊(duì)列的適當(dāng)?shù)拿枋龇鎯卧?。在另一種操作方式中,操作人員已完全知道待再分多路復(fù)用的輸入TS的內(nèi)容。在此情況下,操作人員簡單地準(zhǔn)備用戶規(guī)定并把此用戶規(guī)定從控制器20發(fā)送到再分多路復(fù)用器節(jié)點(diǎn)IOO(或當(dāng)多個節(jié)點(diǎn)在網(wǎng)絡(luò)分布式再分多路復(fù)用器100中操作時發(fā)送到多個再分多路復(fù)用器節(jié)點(diǎn)100)。盡管如此,最好,連續(xù)地獲取有關(guān)待再分多路復(fù)用的輸入TS的內(nèi)容(諸如PAT、PMT等)的不同類型信息。這使得可即時地把此內(nèi)容報(bào)告給操作人員(經(jīng)由處理器160和控制器20),例如使得產(chǎn)生經(jīng)修改的用戶規(guī)定以及依據(jù)此修改的用戶規(guī)定動態(tài)地調(diào)節(jié)再分多路復(fù)用,而不必停止輸入待再分多路復(fù)用的TS、輸出經(jīng)再分多路復(fù)用的TS或上述再分多路復(fù)用器100的再分多路復(fù)用處理。除了以上的基本再分多路復(fù)用功能以外,再分多路復(fù)用器節(jié)點(diǎn)100可進(jìn)行更多的先進(jìn)功能。以下單獨(dú)地描述這些功能。動態(tài)再分多路復(fù)用和程序?qū)S眯畔⒉迦肴缟纤觯僮魅藛T可使用控制器20來產(chǎn)生指定保留或丟棄的程序和ES、程序或ES的加擾或不加擾(或這兩者)、PID的重新映射等的用戶規(guī)定說明。此外,處理器160最好連續(xù)地獲取內(nèi)容信息(例如,PAT、PMT、CAT、NIT、ECM表等的數(shù)據(jù))。這使得可對用戶規(guī)定進(jìn)行動態(tài)地實(shí)時或"飛行中(onthefly)"的修改,并依據(jù)新的用戶規(guī)定而無縫地改變再分多路復(fù)用。具體來說,操作人員可改變用戶規(guī)定并使再分多路復(fù)用器30依據(jù)新的用戶規(guī)定無縫地切換到再分多路復(fù)用。無論如何,再分多路復(fù)用器30保證每個輸出的經(jīng)再分多路復(fù)用的TS始終是包含不中斷的傳輸包序列或串的連續(xù)位流。因而,如此修改輸出的再分多路復(fù)用的TS的內(nèi)容,而不會在輸出的再分多路復(fù)用TS中引入不連續(xù),即在輸出的傳輸包串中不發(fā)生中斷或在輸出的位流中不發(fā)生中止。以上無縫修改可能受到使用可編程處理器160的影響,該處理器控制傳輸包在輸入和輸出適配器110或接口140和150與諸如解擾器/解擾器170等其它電路之間的流動??紤]到保留或丟棄不同組ES的選擇可能簡單地受到處理器160調(diào)節(jié)處理器160對每個PID選中的適當(dāng)PID過濾器映射和PID處理器子程序的影響。處理器160通過改變響應(yīng)于指派給這些ES或程序的PID所執(zhí)行的PID處理器子程序而使它們包括適當(dāng)?shù)募訑_或解擾過程(如以上和以下所述),可實(shí)現(xiàn)對某些ES或程序是進(jìn)行加擾還是解擾的選擇。處理器160通過給新的輸出端口分配發(fā)送描述符隊(duì)列、對不需要的輸出端口解除發(fā)送描述符隊(duì)列的分配、對每個新輸出端口的發(fā)送PID處理器子程序產(chǎn)生指針表404并丟棄每個被解除分配的發(fā)送隊(duì)列的發(fā)送PID處理器子程序的每個指針表404,可實(shí)現(xiàn)對輸出端口的不同選擇,以輸出所輸出的再分多路復(fù)用TS的不同組合。處理器160以相同的方式,通過分配和解除接收隊(duì)列的分配并對被分配的接收隊(duì)列的接收PID處理程序產(chǎn)生指針表402和丟棄被解除分配的接收隊(duì)列的接收PID的處理程序的指針表402,可實(shí)現(xiàn)對輸入端口的不同選擇。除了選擇用以輸出的正確的傳輸包以外,示例地,再分多路復(fù)用器節(jié)點(diǎn)100還對每個輸出的再分多路復(fù)用TS提供正確的PSI。這是如下實(shí)現(xiàn)的。處理器20(圖2)對輸出的TS產(chǎn)生用戶規(guī)定說明??紤]再分多路復(fù)用器節(jié)點(diǎn)100對兩個TS(即,TS1和TS2)進(jìn)行再分多路復(fù)用以產(chǎn)生第三TS(即,TS3)的上述例子。示例地,表1給出了TS1和TS2中每一個的內(nèi)容。<table>tableseeoriginaldocumentpage35</column></row><table><table>tableseeoriginaldocumentpage36</column></row><table>最好,控制器20對處理器160進(jìn)行編程以使用如上所述的接收PID處理器子程序的獲取過程來提取表1所示的信息。假定用戶規(guī)定說明指定僅保留程序A、B、F和G并把它們在再分多路復(fù)用的輸出TS(TS3)中輸出。用戶在控制器20(圖1)處例如使用鍵盤/鼠標(biāo)器27(圖l)來指示此規(guī)定。控制器20確定此用戶規(guī)定是否有效。尤其是,控制器20確定每個輸出再分多路復(fù)用的TS(諸如TS3)是否有足夠的帶寬來輸出所有被指定的程序A、B、F和G及有關(guān)的PSI(即,程序定義a、b、f、g和如下所述的新的替代PAT3)。如果這些位速率信息不是已知的,則可從處理器160中獲得。例如,處理器可執(zhí)行PID處理器子程序,以從指派給帶有每個程序的PCR的每個傳輸包的接收時間標(biāo)記中確定每個程序的位速率(或傳輸包速率)。如上所述,總之處理器160為進(jìn)行PCR調(diào)節(jié)的目的而獲得這些信息。如果用戶規(guī)定無效,則處理器20不下載此用戶規(guī)定。如果規(guī)定有效,則控制器20把此用戶規(guī)定下載到處理器160。假設(shè),TS3的帶寬可滿足用戶規(guī)定。如果輸入的TS(TS1和TS2)的PAT和PMT還未被獲取,則處理器160獲取其PAT和PMT。根據(jù)PAT1和PAT2中的信息,處理器160構(gòu)成一替代的PAT3,它僅包括指示有關(guān)程序A、B、F和G的程序定義a、b、f和g的PID的PAT1和PAT2的表目。再者,這可使用用于PAT1和PAT2的PID的適當(dāng)PID處理器子程序來實(shí)現(xiàn),且最好連續(xù)地執(zhí)行以保證把在PAT1和PAT2中所反映的對程序的任何改變并入替代PAT3中。處理器160產(chǎn)生包含此新的替代PAT3的傳輸包序列并把它們存入包緩沖器122。處理器160還產(chǎn)生指向帶有PAT3的這些傳輸包的描述符的PAT隊(duì)列,該隊(duì)列最好實(shí)現(xiàn)為環(huán)124。有利的是,PAT3傳輸包的PAT描述符隊(duì)列專用于僅存儲替代PAT信息。此外,處理器160產(chǎn)生估計(jì)的離開時間并把它們存儲在指向PAT3傳輸包的PAT隊(duì)列的描述符中?,F(xiàn)在,處理器160可響應(yīng)于發(fā)送中斷以與任何接收隊(duì)列相同的方式服務(wù)于PAT3描述符隊(duì)列。即,當(dāng)數(shù)據(jù)鏈路控制電路112發(fā)送k21個包并中斷處理器160時,處理器160將從PAT3隊(duì)列以及接收隊(duì)列中提取描述符。這里,把包含指向待輸出傳輸包(發(fā)送隊(duì)列中的發(fā)送描述符還未被分配)的所有隊(duì)列統(tǒng)一地叫做"連接隊(duì)列"。然后,處理器160構(gòu)成適當(dāng)?shù)倪^濾器映射并把一過濾器映射傳送到接收TS1的第---適配器110并把第二過濾器映射傳送到接收TS2的第二適配器110。例如,第一過濾器映射可指示提取和保留具有PID:PID(VA)、PID(DA)、PID(a)、PID(VB)、PID(AB)和PID(b)(以及相應(yīng)于TS1中的PSI的其它可能的PID)的傳輸包。同樣,第二過濾器映射可指示提取和保留具有PID:PID:PID(VF)、PID(AF)、PID(DF)、PID(f)、PID(VG)、PID(A1G)、PID(A2G)、PID(DG)、PID(ECMG)和PID(g)(以及相應(yīng)于TS2中的PSI的其它可能的PID)的傳輸包。對此響應(yīng),接收TS1和TS2的第一和第二數(shù)據(jù)鏈路控制電路112依據(jù)處理器160所提供的過濾器映射僅從TS1和TS2中提取這些傳輸包。如上所述,第一和第二數(shù)據(jù)鏈路控制電路112把這些所提取的包存儲在高速緩沖存儲器114中并對其分配描述符。第一和第二DMA控制電路116周期性地把所提取的傳輸包及其描述符的數(shù)據(jù)寫到主存儲器120。把由第一DMA控制電路116寫入的描述符的數(shù)據(jù)存儲在第一數(shù)據(jù)鏈路控制電路112的第一接收隊(duì)列的各描述符存儲單元129中,把由第二DMA控制電路116寫入的描述符的數(shù)據(jù)存儲在第二數(shù)據(jù)鏈路控制電路112的第二接收隊(duì)列的描述符存儲單元中。此外,第三DMA控制電路116從有關(guān)TS3的發(fā)送隊(duì)列中檢索描述符及其相應(yīng)的傳輸包,并把它們存儲在高速緩沖存儲器114中。第三數(shù)據(jù)鏈路控制電路112從高速緩沖存儲器114中檢索每個描述符并把它們在TS3中發(fā)送。第三數(shù)據(jù)鏈路控制電路112在發(fā)送了k21個傳輸包后產(chǎn)生中斷。這使得處理器160訪問與第三數(shù)據(jù)鏈路控制電路112有關(guān)的發(fā)送隊(duì)列的發(fā)送PID處理器子程序的指針表。在執(zhí)行適當(dāng)?shù)陌l(fā)送PID處理器子程序時,處理器160把TS3中未使用的發(fā)送描述符分配給可獲得的連接隊(duì)列(即,第一接收隊(duì)列、第二接收隊(duì)列和PAT3隊(duì)列)中的描述符,并從這些連接隊(duì)列中拷貝如此分配的描述符的有關(guān)信息。按照有關(guān)接收描述符的估計(jì)派送時間的順序在TS3發(fā)送隊(duì)列中分配發(fā)送描述符。注意,可動態(tài)的插入任何類型的PSI,包括新的程序定義、E薩、ECM、CAT或NIT?,F(xiàn)在考慮產(chǎn)生新的用戶規(guī)定說明同時依據(jù)前一個用戶規(guī)定發(fā)生再分多路復(fù)用的情況。如上所述,控制器20開始驗(yàn)證是否有足夠的帶寬滿足新的用戶規(guī)定。如果有,則把新的用戶規(guī)定下載到處理器160。新的用戶規(guī)定可能需要處理器160提取不同的程序和ES,對PID進(jìn)行不同地映射,或者產(chǎn)生(a)新的PSI、(b)帶有此新的PSI的傳輸包以及(c)指向帶有此新的PSI的傳輸包的描述符。在修改包含在TS3中的程序或ES的情況下,處理器160依據(jù)新的用戶規(guī)定修改PID過濾器映射,以保留待保留的傳輸包并丟棄待丟棄的傳輸包。把這些新的過濾器映射傳送到各高速緩沖存儲器114,這些高速緩沖存儲器114立即動態(tài)地切換到依據(jù)新的用戶規(guī)定提取傳輸包。處理器160還通過修改與新的待保留傳輸包的PID有關(guān)的接收PID處理器子程序指針表402的指針,為新的待保留傳輸包選擇適當(dāng)?shù)慕邮誔ID處理器子程序。還可對由現(xiàn)在待被丟棄的傳輸包的PID索引的接收PID處理器子程序指針表402的指針進(jìn)行修改。在新的PID重新映射的情況下,處理器160選擇適當(dāng)?shù)淖映绦騺韴?zhí)行新的PID重新映射。這種改變可能需要產(chǎn)生新的PSI,例如新的PAT。處理器160選擇適當(dāng)?shù)腜ID處理器子程序來產(chǎn)生新的PSI。例如,在新的PAT的情況下,PID處理器子程序可由TS1和TS2的PAT的PID來觸發(fā)。處理器160產(chǎn)生新的PSI并把此新的PSI插入傳輸包。把各PSI隊(duì)列中的描述符分配給這些新的PSI傳輸包。處理器160停止服務(wù)于指向包含舊PSI的傳輸包的任何PSI描述符隊(duì)列(即,進(jìn)行刷新和從中傳送傳輸包),而是服務(wù)于新的PSI描述符隊(duì)列。在每一個改變時,即可獲得每個新選中的PID處理器子程序(每個PSI插入修改或每個新的PID過濾器映射)時,適當(dāng)?shù)臄?shù)據(jù)鏈路控制電路112或處理器160無縫地改變其操作。直到實(shí)行這些改變時,數(shù)據(jù)鏈路控制電路112或處理器160才在先前的用戶規(guī)定下繼續(xù)操作。在每個改變發(fā)生時進(jìn)行排序時必須注意,從而輸出的再分多路復(fù)用TS總是符合MPEG-2。例如,最好延遲對TS中的PID映射、PID過濾、程序、ES、ECM等(它們影響PMT或PAT)進(jìn)行的任何改變,直到可在TS中輸出PMT(或其特定程序定義)和/或PAT的新版本以及在TS中指示切換到新的PMT、程序定義或PAT的指示時。同樣,如果包含或丟失一有條件訪問系統(tǒng)的EMM,則延遲此EMM的引入,直到在TS中可發(fā)送CAT的新版本。對資源的內(nèi)部處理管理想要對改變進(jìn)行附加的慎重排序,諸如在改變用于保留具有此PID的傳輸包的各適配器110的P工D過濾器映射前,把一指針存儲到待被保留的傳輸包(它先前被丟棄了)的PID索引的適當(dāng)接收PID處理器子程序指針表中的接收PID處理器子程序等。以下是依據(jù)新的用戶規(guī)定修改再分多路復(fù)用的一個例子。假定用戶提供了指示應(yīng)丟棄程序B和F而應(yīng)保留程序C和D的新的用戶規(guī)定。與之響應(yīng),控制器20在依據(jù)新的用戶規(guī)定修改再分多路復(fù)用的TS(TS3)時,首先確定在輸出的再分多路復(fù)用TS(TS3)中是否有足夠的帶寬來容納所有的新程序數(shù)據(jù)以及必須為其產(chǎn)生的新PSI。假設(shè)有,則把此新的用戶規(guī)定下載到再分多路復(fù)用器節(jié)點(diǎn)100。處理器160修改第一適配器110中的PID過濾器映射,從而丟棄具有PID(PID(VB)、PID(AB)、P工D(b))的傳輸包,并保留具有PID(PID(VC)、PID(AC)、PID(ECMC)、PID(c)、PID(VD)、PID(A1D)、PID(A2D)、PID(DD)和PID(d)的傳輸包。同樣,處理器160修改第二適配器110中的PID過濾器映射,從而丟棄具有PID(PID(VF)、PID(AF)、PID(DF)和PID(f))的傳輸包。處理器160選擇包括用于PID(PID(VC)、PID(AC)、PID(ECMC)、PID(c)、PID(VD)、PID(A1D)、PID(A2D)、PID(DD)和PID(d))的PID處理器子程序,包括用于PID(PID(c)和PID(d)中每一個的程序定義更新處理、用于PID(ECMC)的控制字更新處理、用于程序C的每一個加擾ES(例如,PID(VC))的解擾控制字信息插入處理。處理器160例如在執(zhí)行第一和第二適配器110中每一個的PID(O)的PID處理器子程序期間,還產(chǎn)生包括程序定義a、b、c、d和g的不同替代PAT3。現(xiàn)在考慮提供了指示應(yīng)對程序A的VA視頻ES進(jìn)行加擾的另一個新用戶規(guī)定的情況。再者,控制器20首先確定TS3中是否有足夠的帶寬來容納帶有VA的傳輸包的ECM和程序A的新程序定義。假設(shè)有,則把此新的用戶規(guī)定下載到再分多路復(fù)用器節(jié)點(diǎn)100。處理器160分配用于存儲指向包含VA的ECM的傳輸包的描述符的隊(duì)列。處理器160為PID(VA)選擇適當(dāng)?shù)腜ID處理器子程序,包括把加擾控制字插入指向包含VA的傳輸包的描述符中。處理器160還產(chǎn)生包含作為VA的ECM的控制字的傳輸包并分配指向這些傳輸包的描述符。這可使用定時器驅(qū)動的中斷處理器子程序來實(shí)現(xiàn)?;蛘?,由處理器160執(zhí)行的附加硬件(未示出)或軟件周期性地產(chǎn)生控制字并在這些控制字準(zhǔn)備好時中斷處理器160。處理器160通過把一可獲得的控制字置于一個或多個傳輸包中、把一ECM隊(duì)列的ECM描述符分配給這些傳輸包并把新的控制字裝入適當(dāng)?shù)目刂谱直碇?,對這些中斷作出響應(yīng)。此外,處理器160還選擇用于PID(a)的接收PID處理器子程序,包括提取程序定義a中的信息并添加有關(guān)ECMA的信息(例如,PID(ECMA),其加密的ES等)。加擾/解擾控制與加擾和解擾有關(guān)的一個問題是對每個傳輸包選擇正確的控制字或密鑰。即,可以PID專用控制字或?qū)S糜谝唤MPID的控制字對經(jīng)加擾的傳輸包數(shù)據(jù)進(jìn)行加擾??稍诳刂谱謺r時改變時使用旋轉(zhuǎn)控制字方案。簡言之,可存在與每個TS有關(guān)的大量控制字(例如,密鑰)并周期性地改變這些控制字。在解擾的情況下,必須提供連續(xù)地接收用于每個待解擾ES或ES組的控制字并在每一時刻選擇適當(dāng)?shù)目刂谱值臋C(jī)構(gòu)。在加擾的情況下,必須提供用于選擇ES或ES組加擾用的正確控制字并足夠超前于如此形成的任何經(jīng)加擾的ES數(shù)據(jù)把此ES加擾用的控制字插入輸出的再分多路復(fù)用TS中的機(jī)構(gòu)。可使用這些描述符及其在接收和發(fā)送隊(duì)列中的排序來簡化TS的加擾和解擾。尤其是,每個接收描述符具有其中可存儲有關(guān)加擾或解擾的信息的字段129-9,這些信息諸如在對傳輸包進(jìn)行加擾時所使用的控制字或適當(dāng)控制字表(包含用于對傳輸包進(jìn)行加擾或解擾的控制字)的指針。首先考慮在對一傳輸包進(jìn)行解擾時所執(zhí)行的步驟。包含待解擾的傳輸包的TS包含帶有ECM(ES專用有條件訪問)和EMM(專用于整個ES組的有條件訪問)的傳輸包。在標(biāo)有E畫所對應(yīng)的ES組所獨(dú)有的PID的傳輸包中攜帶有EMM,在標(biāo)有每個ECM所對應(yīng)的特定ES所獨(dú)有的PID的傳輸包中攜帶有ECM。可參考CAT把EMM的PID同E麗所對應(yīng)的特定ES組相關(guān)。可參考PMT把ECM的PID同ECM所對應(yīng)的每個特定ES相關(guān)。處理器160選擇PID處理器子程序,用以(1)恢復(fù)在TS中發(fā)送的每個CAT和PMT并識別當(dāng)前所使用的CAT或PMT的版本,(2)參考PMT,恢復(fù)被攜帶有ECM所對應(yīng)的ES的傳輸包的P工D索引的ECM表。接著,處理器160定義將在每個傳輸包和描述符上執(zhí)行的一系列處理步驟。即,處理器160定義接收適配器110的數(shù)據(jù)鏈路控制電路112、(任選)接收適配器110的解擾器115、接收適配器110的DMA控制電路116、(任選)解擾器170和處理器160可處理一接收描述符或一接收描述符指向的包的特定順序。為此,處理器160可把適當(dāng)?shù)目刂菩畔魉偷窖b置112、115和116中的每一個,以使它們按照如下所述定義的一系列處理步驟的特定順序來處理傳輸包及指向該傳輸包的描述符。如果使用適配器110的解擾器115,則如下定義該序列中的處理順序。適配器110的數(shù)據(jù)鏈路控制電路112接收傳輸包并給未按照如上所述的PID過濾器映射丟棄的那些傳輸包中選中的傳輸包分配接收描述符。在把每個保留的傳輸包存入高速緩沖存儲器114中后,示例地,數(shù)據(jù)鏈路控制電路112設(shè)定指向該傳輸包的描述符中的狀態(tài)位129-7指示現(xiàn)在按照所定義的處理步驟序列的順序可由下一個裝置來處理該傳輸包。解擾器115周期性地在高速緩沖存儲器114中檢査接著的一個或多個描述符,其狀態(tài)位129-7被設(shè)定為指示已許可解擾器115修改傳輸包。示例地,解擾器115在已處理了ni》1個描述符后訪問高速緩沖存儲器114。解擾器115從先前被解擾器115訪問的描述符開始依次訪問高速緩沖存儲器114的每個描述符,直到已訪問了ri^l個描述符或直到到達(dá)這一描述符,其狀態(tài)位129-7被設(shè)定為指示已按照所定義的處理步驟序列的順序?qū)γ枋龇捌渲赶虻膫鬏敯鼒?zhí)行了前一步驟的處理。在處理描述符和傳輸包時,解擾器115使用當(dāng)前被檢查的描述符指向的傳輸包的PID來索引位于高速緩沖存儲器114中的解擾映射。示例地,處理器160如下所述周期性地更新高速緩沖存儲器114中的解擾映射。由位于描述符直到129-9中的基址來提供解擾映射的位置。示例地,處理器160在分配接收描述符隊(duì)列時把解擾映射的基址裝入每個描述符的直到129-9。解擾映射的被索引表目指示是否對傳輸包進(jìn)行加擾以及在加擾時可使用對傳輸包進(jìn)行解擾的一個或多個控制字。解擾映射的被索引表目可包含相應(yīng)于傳輸包的PID的控制字或指向其中存儲有各控制字的存儲單元的指針。如果解擾映射的被索引表目指示不對被訪問的描述符指向的傳輸包進(jìn)行解擾,則解擾器115簡單地把描述符的狀態(tài)位129-7設(shè)定為指示可按照所定義的處理步驟序列的順序?qū)γ枋龇捌渲赶虻膫鬏敯鼒?zhí)行下一處理步驟。如果解擾映射的被索引表目指示將要對傳輸包進(jìn)行解擾,則解擾器115獲得相應(yīng)于該傳輸包的PID的控制字并使用該控制字對傳輸包數(shù)據(jù)進(jìn)行解擾。注意,典型的解擾方案使用如上所述的旋轉(zhuǎn)(即,奇數(shù)和偶數(shù))控制字。在對一傳輸包進(jìn)行解擾時所使用的正確的奇數(shù)或偶數(shù)控制字由傳輸包中的控制位來指示,諸如傳輸—加擾—控制位。解擾器115在對正確的控制字進(jìn)行索引時使用這些位以及傳輸包的PID。g卩,由PID和奇數(shù)/偶數(shù)指示符來索引由處理器160構(gòu)成和保持的映射。然后,解擾器115把經(jīng)解擾的傳輸包數(shù)據(jù)存儲在由當(dāng)前檢查的描述符所指向的傳輸包存儲單元,從而改寫該傳輸包的預(yù)解擾數(shù)據(jù)。然后,解擾器115把該描述符的狀態(tài)位129-7設(shè)定為指示可按照所定義的處理步驟序列的順序?qū)γ枋龇捌渲赶虻膫鬏敯鼒?zhí)行下一處理步驟。DMA控制電路116周期性地把傳輸包數(shù)據(jù)和指向該傳輸包的描述符的數(shù)據(jù)從高速緩沖存儲器114寫到主存儲器130的各個存儲單元122和129。這樣做時,DMA控制電路116周期性地檢査高速緩沖存儲器114中由接在DMA控制電路116所處理的最后一個描述符后(按照接收隊(duì)列的順序)的一個或多個描述符構(gòu)成的序列。如果被檢查的描述符的狀態(tài)位129-7指示可對被檢查的描述符執(zhí)行DMA控制電路116的處理,則DMA控制電路116把該描述符中的適當(dāng)狀態(tài)位129-7設(shè)定為指示可按照所定義的處理步驟序列的順序?qū)Υ嗣枋龇捌渲赶虻膫鬏敯鼒?zhí)行下一處理步驟。然后,DMA控制電路116把該描述符的數(shù)據(jù)及其指向的傳輸包的數(shù)據(jù)寫到主存儲器130。然而,如果狀態(tài)位129-7被設(shè)定為指示仍將對描述符執(zhí)行DMA控制電路116所執(zhí)行的處理之前的處理步驟,則DMA控制電路116避免處理該描述符及其指向的傳輸包。示例地,在被使能時,DMA控制電路116檢査描述符,直到DMA控制電路116寫入i^l個描述符的序列及這些描述符指向的傳輸包的數(shù)據(jù),或直到碰到這樣的描述符,其狀態(tài)位129-7指示仍舊按照所定義的處理步驟序列的順序?qū)υ撁枋龇麍?zhí)行前一處理步驟。每當(dāng)DMA控制電路116傳送了i》l個傳輸包時,DMA控制電路發(fā)出一中斷。處理器160通過執(zhí)行適當(dāng)?shù)慕邮誔ID處理器子程序,響應(yīng)于例如DMA控制電路116所發(fā)出的中斷。處理器160從處理器160所處理的最后一個描述符開始檢查相應(yīng)于從中接收到中斷的適配器iio的接收隊(duì)列中的一個或多個描述符。示例地,處理器160僅對這樣的描述符執(zhí)行適當(dāng)?shù)慕邮誔ID處理器子程序,這些描述符的狀態(tài)位129-7被設(shè)定為指示可對描述符執(zhí)行處理器160的處理。每當(dāng)處理器160被中斷時,示例地,處理器160處理描述符及其指向的傳輸包,直到對i^l個傳輸包執(zhí)行了PID處理器子程序或直到碰到這樣的一個描述符,其適當(dāng)?shù)臓顟B(tài)位129-7被設(shè)定為指示仍舊對該描述符執(zhí)行前一處理步驟(按照所定義的處理步驟序列的順序)的處理。。在執(zhí)行適當(dāng)?shù)慕邮誔ID處理器子程序期間,處理器160恢復(fù)所有ES的所有控制字并更新被解擾器U5(或如下所述的170)所使用的解擾和控制字表或映射。在旋轉(zhuǎn)控制字方案中,處理器160在控制字表或映射中保持用于每個PID的多個(即,奇數(shù)和偶數(shù))密鑰。處理器160還可進(jìn)行使能對經(jīng)解擾的傳輸包進(jìn)行后續(xù)的加擾的處理(如下所述)。在處理了接收描述符后,處理器160通過把這些描述符的狀態(tài)位129-7設(shè)定為指示描述符無效(繼而數(shù)據(jù)鏈路控制電路112是下一個處理這些描述符的裝置)、擦除或重新設(shè)定描述符的選中字段并使首部指針123-3進(jìn)到下一描述符存儲單元129來解除這些描述符的分配?,F(xiàn)在考慮在適配器110上未設(shè)置或不使用解擾器115的情況。取而代之,使用位于總線130上的解擾器170。執(zhí)行與先前非常類似的過程。然而,在此情況下,如此改變所定義序列的處理步驟的順序,從而DMA控制電路116在數(shù)據(jù)鏈路控制電路之后并在解擾器之前處理描述符(及其相應(yīng)的傳輸包),解擾器170在DMA控制電路116之后但在處理器160之前處理描述符(及其相應(yīng)的傳輸包)。繼而,在數(shù)據(jù)鏈路控制電路112把描述符分配給傳輸包并設(shè)定適當(dāng)?shù)臓顟B(tài)位129-7以使能對它們所執(zhí)行的下一處理步驟后,DMA控制電路116處理該描述符及其指向的傳輸包。如上所述,DMA控制電路116把狀態(tài)位129-7設(shè)定為指示可對描述符執(zhí)行下一處理步驟,并把該傳輸包和描述符寫到主存儲器130。解擾器170周期性地檢查接收隊(duì)列中的描述符,以識別其狀態(tài)位129-7被設(shè)定為指示可對描述符及其指向的傳輸包進(jìn)行解擾處理(按照所定義的處理步驟序列的順序)的描述符。解擾器170與以上對解擾器115所討論的類似的方式處理這些被識別的傳輸包。在處理了這些傳輸包后,解擾器170把一個或多個狀態(tài)位129-7設(shè)定為指示現(xiàn)在可對描述符及其指向的傳輸包執(zhí)行下一個處理步驟(按照所定義的處理步驟序列的順序)。處理器160響應(yīng)于DMA控制電路116所發(fā)出的中斷進(jìn)行如上所述的處理,包括執(zhí)行適當(dāng)?shù)慕邮誔ID處理器子程序。最好,與中斷處理器160的適配器110有關(guān)的接收隊(duì)列的隊(duì)列長度相對于解擾器170的處理時間足夠長,從而使處理器160檢査和處理解擾器170已完成處理的描述符。換句話說,處理器160和解擾器170最好不要嘗試同時訪問相同的描述符。再者,處理器160在接收隊(duì)列中與解擾器170不同的點(diǎn)處開始處理描述符。現(xiàn)在考慮有關(guān)加擾的處理。如同解擾處理,使用描述符中的狀態(tài)位129-7,按照所定義的處理步驟序列的順序?qū)γ總€描述符和這些描述符指向的傳輸包所進(jìn)行的處理步驟進(jìn)行排序。與解擾不同,加擾最好在處理器160已把發(fā)送描述符分配給待加擾的傳輸包后進(jìn)行。這樣,可以兩種方式中的一種來使用控制字字段129-9。如同解擾,可把加擾映射的基址置于控制字描述符字段129-9中。然而,由于加擾發(fā)生在處理器160處理發(fā)送隊(duì)列中的描述符后,所以最好把正確的控制字本身置于控制字描述符字段129-9中。首先考慮由發(fā)送適配器110的加擾器115進(jìn)行加擾的加擾處理。處理器160獲得包含控制字(最好被加密)的ECM傳輸包。把這些ECM傳輸包在各個相應(yīng)的連接隊(duì)列中排隊(duì),并對它們進(jìn)行調(diào)度以在正確的時間輸出。即,對這些ECM傳輸包進(jìn)行調(diào)度,以足夠超前于它們所解擾的傳輸包把這些ECM傳輸包插入輸出的TS中,以使解碼器在接收其所解擾的傳輸包前恢復(fù)該控制字。在發(fā)送包含控制字的ECM傳輸包后的適當(dāng)時間,處理器160改變控制字表以使用相應(yīng)于最近發(fā)送的控制字的新密鑰對數(shù)據(jù)進(jìn)行加密。當(dāng)從輸出適配器發(fā)送傳輸包時,處理器160執(zhí)行與被檢査的連接隊(duì)列中的描述符所指向的傳輸包的PID有關(guān)的發(fā)送PID處理器子程序。對于這些待加擾的傳輸包中的每一個,發(fā)送PID處理器子程序包括用于把控制字信息插入有關(guān)該傳輸包的描述符中的處理??刂谱中畔⒖珊唵蔚氖菍⒃谧R別傳輸包加擾用控制字時所使用的加擾映射的基址。然而,控制字信息還可以是將在傳輸包加擾中所使用的正確的控制字。處理器160還可來回切換(toggle)傳輸包中的諸如傳輸一加擾—控制位等位,以指示應(yīng)使用最近發(fā)送的控制字中的哪一個對解碼器處的傳輸包進(jìn)行解密或解擾。此外,示例地,處理器160把新分配的發(fā)送描述符的一個或多個狀態(tài)位129-7設(shè)定為指示應(yīng)對此發(fā)送描述符及其指向的傳輸包進(jìn)行下一處理步驟(按照所定義的處理步驟序列的順序)。發(fā)送適配器110的DMA控制電路116周期性地從發(fā)送隊(duì)列中檢索描述符數(shù)據(jù)及這些描述符指向的傳輸包。這樣做時,DMA控制電路116檢查接在DMA控制電路116把描述符數(shù)據(jù)傳送到高速緩沖存儲器114的最后一個描述符后面的發(fā)送隊(duì)列中的描述符。DMA控制電路116僅傳送這些發(fā)送描述符的數(shù)據(jù),這些發(fā)送描述符的狀態(tài)位129-7被設(shè)定為指示現(xiàn)在可執(zhí)行DMA控制電路116的處理(按照所定義的處理步驟序列的順序)。例如,躍A控制電路116可檢查發(fā)送描述符,直到已識別許可DMA控制電路116處理的某一數(shù)目kd個發(fā)送描述符,或直到識別了這樣的一個描述符,其狀態(tài)位129-7被設(shè)定為指示仍舊對發(fā)送描述符及其指向的傳輸包執(zhí)行前一處理步驟。在把這些發(fā)送描述符的數(shù)據(jù)以及這些發(fā)送描述符指向的傳輸包傳送到高速緩沖存儲器114后,函A控制電路116把這些所傳送的發(fā)送描述符的狀態(tài)位129-7設(shè)定為指示可對這些發(fā)送描述符及其指向的傳輸包執(zhí)行下一處理步驟(按照所定義的處理步驟序列的順序)。接著,加擾器115在高速緩沖存儲器114內(nèi)的描述符中周期性地檢查要處理的一個或多個描述符的序列及其指向的傳輸包。加擾器115僅處理那些被訪問的描述符,這些描述符具有被設(shè)定為指示可對這些描述符執(zhí)行加擾處理步驟(按照所定義的處理步驟序列的順序)的一個或多個狀態(tài)129-7。加擾器115訪問控制字信息字段129-9并使用其中的信息對每個待加擾的傳輸包進(jìn)行加擾。如上所述,可以兩種方式中的一種來使用控制字信息。如果控制字信息是一加擾映射的基址,則加擾器115使用該基址和此傳輸包的PID信息對加擾映射進(jìn)行索引。加擾映射被索引的表目指示是否要對傳輸包進(jìn)行加擾以及在要進(jìn)行加擾時加擾傳輸包用的控制字?;蛘撸侄?29-9中的控制字信息本身指示是否要對此傳輸包進(jìn)行加擾以及在要進(jìn)行加擾時加擾傳輸包所使用的控制字。如果不要對被處理描述符的傳輸包進(jìn)行加擾,則加擾器115簡單地把適當(dāng)?shù)臓顟B(tài)位129-7設(shè)定為指示現(xiàn)在可對發(fā)送描述符及其指向的傳輸包執(zhí)行下一處理步驟(按照所定義的處理步驟序列的順序)。如果要對被處理的描述符的傳輸包進(jìn)行加擾,則加擾器首先對此傳輸包數(shù)據(jù)進(jìn)行加擾,把此傳輸包存儲在高速緩沖存儲器中代替未加擾的傳輸包,然后設(shè)定適當(dāng)?shù)臓顟B(tài)位129-7。數(shù)據(jù)鏈路控制電路112在高速緩沖存儲器114內(nèi)的發(fā)送描述符中周期性地檢查發(fā)送描述符,這些描述符具有被設(shè)定為指示可對這些描述符執(zhí)行數(shù)據(jù)鏈路控制電路112的處理的一個或多個狀態(tài)位129-7。對于這些發(fā)送描述符,數(shù)據(jù)鏈路控制電路112以這些描述符中所指示的實(shí)際派送時間發(fā)送這些描述符所指向的傳輸包。然后,數(shù)據(jù)鏈路控制電路112解除這些描述符的分配(并把狀態(tài)位129-7設(shè)定為無效)。示例地,每當(dāng)數(shù)據(jù)鏈路控制電路112發(fā)送k21個描述符的序列時,數(shù)據(jù)鏈路控制電路112產(chǎn)生被處理器160接收的發(fā)送中斷。在不存在或不使用加擾器115的情況下,示例地,取而代之使用加擾器170。如此改變所述處理步驟的序列,從而加擾器170在處理器160后但在DMA控制電路116前處理每個發(fā)送描述符及其指向的傳輸包,DMA控制電路116在加擾器170后但在數(shù)據(jù)鏈路控制電路110前處理每個發(fā)送描述符及其指向的傳輸包。帶寬優(yōu)化如上所述,通常在帶有程序的TS中插入空傳輸包。這些空傳輸包的存在是由于程序編碼器通常必須給每個程序分配多余的帶寬。這是因?yàn)閷r時產(chǎn)生的每個ES所產(chǎn)生的編碼數(shù)據(jù)的數(shù)量只能控制這么多。沒有此"開銷帶寬",經(jīng)編碼的ES數(shù)據(jù)會頻繁地超過對其所分配的帶寬量,從而使得在TS中遺漏經(jīng)編碼的ES數(shù)據(jù)。或者,ES編碼器(尤其是視頻ES編碼器)不一定總是在發(fā)生傳輸包時隙時可獲得被輸出的數(shù)據(jù)。例如,特定圖形的編碼可能意外地占據(jù)比先前所預(yù)期的更長的時間,從而在產(chǎn)生經(jīng)編碼的視頻ES數(shù)據(jù)時引起延遲。這些時隙被空的傳輸包所填充。雖然在再分多路復(fù)用器節(jié)點(diǎn)100中必須容忍空傳輸包的存在,但想要減少這些浪費(fèi)帶寬的空傳輸包的數(shù)目。然而,在這樣做時,不應(yīng)改變每個程序的位速率且應(yīng)使這些程序的端-端延遲保持恒定。依據(jù)一個實(shí)施例,利用了一種技術(shù)從而以其它待再分多路復(fù)用的傳輸包數(shù)據(jù)(如果這些其它傳輸包數(shù)據(jù)可獲得的話)來替換空傳輸包。這是如下實(shí)現(xiàn)的。首先考慮處理器160現(xiàn)有多個連接隊(duì)列,這些隊(duì)列包含待調(diào)度傳輸包的描述符,即還未傳送到發(fā)送隊(duì)列的接收隊(duì)列、PSI隊(duì)列、其它數(shù)據(jù)隊(duì)列等中的描述符。如上所述,這些描述符可指向與接收到的入局TS有關(guān)的傳輸包或處理器160所產(chǎn)生的諸如PAT流、PMT流、E醒流、ECM流、NIT流、CAT流等其它有關(guān)程序的流。然而,現(xiàn)有的可以是其它類型的待調(diào)度傳輸包及其描述符129,諸如帶有非時間敏感的"突發(fā)"或"竭盡全力(besteffort)"的獨(dú)有數(shù)據(jù)的傳輸包。例如,這些額外的傳輸包可包含事務(wù)處理計(jì)算機(jī)數(shù)據(jù),例如在Web瀏覽器和Web服務(wù)器之間傳送的數(shù)據(jù)。(再分多路復(fù)用器節(jié)點(diǎn)100可以是一服務(wù)器、一終端或簡單地是一連到"因特網(wǎng)"的通信系統(tǒng)中的一個中間節(jié)點(diǎn)。可使用調(diào)制解調(diào)器、適配器140或150等來實(shí)現(xiàn)這種與因特網(wǎng)的連接。)這些數(shù)據(jù)沒有恒定的端-端延遲的要求。而是,只要可獲得帶寬,這些數(shù)據(jù)就可以突發(fā)脈沖串(burst)來發(fā)送。處理器160首先使得每個空的傳輸包被丟棄。這可通過由處理器160使用丟棄所有空傳輸包的接收PID處理器子程序來實(shí)現(xiàn)。示例地,該技術(shù)是在從適配器110以外(諸如接口140或150)的裝置接收到空傳輸包時使用的。或者,如果空傳輸包是從適配器110接收到的,則處理器160可把一PID過濾器映射提供給數(shù)據(jù)鏈路控制電路112以丟棄每個空傳輸包。接著,依據(jù)接收PID處理器子程序,給將在TS中輸出的每個入局傳輸包指派一作為傳輸包的接收時間(記錄在其描述符中)的函數(shù)的估計(jì)離開時間以及再分多路復(fù)用器節(jié)點(diǎn)100內(nèi)的內(nèi)部緩沖延遲。在包含待調(diào)度傳輸包的每個連接隊(duì)列中,所指派的離開時間不可能是輸出的TS的連續(xù)傳輸包發(fā)送時間(相應(yīng)于相鄰時隙)。再者,將在統(tǒng)一輸出TS中輸出的傳輸包的兩個連續(xù)描述符的估計(jì)離開時間可能隔開輸出的再分多路復(fù)用TS(其中將發(fā)送這些傳輸包)的一個或多個傳輸包發(fā)送時間(或時隙)。最好,把指向帶有程序數(shù)據(jù)的傳輸包的描述符、指向帶有PSI、ECM或EMM的傳輸包的描述符以及指向突發(fā)數(shù)據(jù)的描述符都保持在相互分開的連接隊(duì)列中。在實(shí)現(xiàn)中,給每個連接隊(duì)列指派一服務(wù)優(yōu)先級,該優(yōu)先級與在其中排隊(duì)的描述符所指向的傳輸包中的數(shù)據(jù)類型有關(guān)。最好,給從多路復(fù)用器節(jié)點(diǎn)外部(例如,經(jīng)由接收適配器110或接口140或150)接收到的程序數(shù)據(jù)指派最高的優(yōu)先級。還可給存儲再分多路復(fù)用器節(jié)點(diǎn)100所產(chǎn)生的PSI、ECM或EMM流的連接隊(duì)列指派同一優(yōu)先級。最后,給具有指向這種傳輸包(包含沒有特定連續(xù)性、傳播延遲或位速率要求的突發(fā)數(shù)據(jù))的描述符的連接隊(duì)列指派最低優(yōu)先級。此外,與程序、PSI、ECM和E醒數(shù)據(jù)不同,不給帶有突發(fā)數(shù)據(jù)的傳輸包的描述符指派估計(jì)離開時間或不把該時間記錄在其中。在執(zhí)行發(fā)送PID處理器子程序時,處理器160把有關(guān)待調(diào)度傳輸包的描述符從它們各自的連接隊(duì)列傳送到一發(fā)送隊(duì)列。在這樣做時,處理器160最好在對較低優(yōu)先級的連接隊(duì)列訴諸服務(wù)前,服務(wù)于給定優(yōu)先級的每個連接隊(duì)列(即,檢査其中的描述符)。在檢查描述符時,處理器160確定優(yōu)先級高的連接隊(duì)列(即,包含帶有程序PSI、ECM或E醒數(shù)據(jù)的傳輸包的描述符)的任何被檢査描述符是否指向必須在下一實(shí)際派送時間發(fā)送的傳輸包,此確定根據(jù)指派給這些傳輸包的估計(jì)離開時間。如果是這樣,則處理器160把一發(fā)送描述符分配給每個這樣的傳輸包,把連接隊(duì)列描述符中的有關(guān)信息拷貝到所分配的發(fā)送隊(duì)列描述符中,并給對發(fā)送描述符所分配的每個傳輸包指派適當(dāng)?shù)呐伤蜁r間。如上所述,偶爾,兩個或多個傳輸包競爭同一實(shí)際離開時間(即,輸出的再分多路復(fù)用TS的同一傳輸包時隙),在此情況下,把一傳輸包序列指派給連續(xù)時隙和實(shí)際離開時間。在必要時,對這些傳輸包進(jìn)行PCR調(diào)節(jié)。在其它時間,當(dāng)處理器160服務(wù)于連接隊(duì)列時,較高優(yōu)先級的連接隊(duì)列的傳輸包的估計(jì)離開時間都不會使處理器160把該傳輸包指派給輸出的再分多路復(fù)用TS中的下一可獲得的時隙和實(shí)際派送時間。通常,這會在輸出的再分多路復(fù)用TS中產(chǎn)生空時隙。然而,在此情況下,處理器160最好服務(wù)于較低優(yōu)先級的連接隊(duì)列。處理器160檢査較低優(yōu)先級的連接隊(duì)列(按照從頭部指針124-3開始的順序),選擇性地把發(fā)送描述符指派給這些被檢查的描述符指向的一個或多個傳輸包構(gòu)成的序列中的每一個,以及把被檢查的描述符的有關(guān)信息拷貝到所分配的發(fā)送描述符上。處理器160選擇性地把(另外的)空時隙分配給這些被檢査的描述符指向的每個傳輸包,并把有關(guān)所指派的時隙的實(shí)際派送時間存儲在所分配的相應(yīng)發(fā)送描述符中。偶爾,沒有被優(yōu)先級高或低的連接隊(duì)列中的描述符所指的傳輸包可分配給輸出的再分多路復(fù)用TS的時隙。這發(fā)生的原因可能是優(yōu)先級高的傳輸包的估計(jì)離開時間都不相應(yīng)于時隙的實(shí)際派送時間以及不對帶有突發(fā)數(shù)據(jù)的傳輸包進(jìn)行緩沖來等待再分多路復(fù)用器節(jié)點(diǎn)IOO處的發(fā)送?;蛘?,對帶有突發(fā)數(shù)據(jù)的傳輸包進(jìn)行緩沖,但處理器160由于以下所討論的原因而選擇不在此特定時刻對其指派發(fā)送描述符。在此情況下,發(fā)送隊(duì)列中的描述符將具有相應(yīng)于輸出的再分多路復(fù)用TS的不連續(xù)傳輸包時隙序列的實(shí)際發(fā)送時間。當(dāng)發(fā)送適配器110的數(shù)據(jù)鏈路控制電路112碰到這樣的不連續(xù)時,數(shù)據(jù)鏈路控制電路112在未被指派傳輸包的每個空時隙發(fā)送一空的傳輸包(利用發(fā)送描述符實(shí)際派送時間)。例如,假設(shè)發(fā)送隊(duì)列中與第一和第二傳輸包有關(guān)的兩個連續(xù)描述符的派送時間指示將在第一傳輸包時隙處發(fā)送第一傳輸包以及將在第六傳輸包時隙處發(fā)送第二傳輸包。數(shù)據(jù)鏈路控制電路112在第一傳輸包時隙發(fā)送第一傳輸包。在第二、第三、第四和第五傳輸包時隙中的每一個時隙處,數(shù)據(jù)鏈路控制電路112自動地發(fā)送一空傳輸包。在第六傳輸包時隙處,數(shù)據(jù)鏈路控制電路112發(fā)送第二傳輸包。注意,突發(fā)或竭盡全力數(shù)據(jù)通常沒有嚴(yán)格的接收緩沖器約束。即,大多數(shù)突發(fā)或竭盡全力數(shù)據(jù)接收器和接收器應(yīng)用程序不規(guī)定最大緩沖器尺寸,數(shù)據(jù)填充速率等。取而代之,可利用諸如發(fā)送控制協(xié)議(TCP)等傳輸協(xié)議,從而在接收器緩沖器填充時,接收器簡單地丟棄隨后接收到的數(shù)據(jù)。接收器不確認(rèn)接收到所丟棄的包,源重新發(fā)送未被確認(rèn)接收到的帶有數(shù)據(jù)的包。這有效地節(jié)制了至接收器的有效數(shù)據(jù)發(fā)送速率。雖然此節(jié)制技術(shù)可有效地實(shí)現(xiàn)至接收器的準(zhǔn)確數(shù)據(jù)發(fā)送速率,但它有兩個問題。首先,網(wǎng)絡(luò)必須支持雙向通信。所有的有線電視網(wǎng)絡(luò)中只有一部分且沒有直接的廣播衛(wèi)星網(wǎng)絡(luò)支持發(fā)送器與接收器之間(不存在電話返回路徑)的雙向通信。在任何支持雙向通信的情況下,從接收器到發(fā)送器的返回路徑的帶寬基本上小于從發(fā)送器到接收器的前向路徑,且該返回路徑通常必須由多個接收器共享。因而,把TCP積極地用作節(jié)制機(jī)構(gòu)利用了返回路徑(它還必須用于其它接收器至發(fā)送器的通信)中的大部分。此外,不想要地浪費(fèi)了發(fā)送被丟棄的傳輸包的前向路徑的帶寬。最好,突發(fā)或竭盡全力數(shù)據(jù)的插入不應(yīng)使這些緩沖器上溢。示例地,假設(shè)某一(或典型的)接收器緩沖器的占有率及其中的數(shù)據(jù)的未決性,PID處理器子程序可控制插入突發(fā)數(shù)據(jù)的速率,以實(shí)現(xiàn)某一平均速率,從而不超過某一峰值速率或甚至簡單地防止接收器緩沖器上溢。因而,甚至在處理器160可獲得插入一個或多個空的傳輸包時隙的突發(fā)或竭盡全力數(shù)據(jù)(不能獲得其它插入其中的數(shù)據(jù))時,處理器160可選擇僅把突發(fā)數(shù)據(jù)插入某些空的傳輸包時隙中,選擇把突發(fā)數(shù)據(jù)插入交替或隔開的傳輸包時隙中,或選擇不把突發(fā)數(shù)據(jù)插入任何空傳輸包時隙中,從而調(diào)整至假定的接收器突發(fā)數(shù)據(jù)緩沖器的數(shù)據(jù)發(fā)送,或防止該緩沖器的上溢。此外,旨在多個不同接收器的傳輸包本身可以是交錯的(interleaved),而與它們何時產(chǎn)生無關(guān),以保持接收器的某一數(shù)據(jù)發(fā)送速率。在任何情況下,再分多路復(fù)用器節(jié)點(diǎn)100都提供了優(yōu)化TS的帶寬的簡單方法。丟棄入局TS中的所有空傳輸包。如果可獲得傳輸包,則把它們插入通常會分配給被丟棄的空傳輸包的時隙中。如果不能獲得傳輸包,則通過正常派送時間指派過程給這些時隙留下空隙。如果傳輸包的派送時間都不指示應(yīng)在輸出的再分多路復(fù)用TS的下一可獲得的時隙處發(fā)送該傳輸包,則數(shù)據(jù)鏈路控制電路112自動地把空傳輸包插入這一時隙。這種帶寬優(yōu)化方案的優(yōu)點(diǎn)是雙重的。第一,就輸出的再分多路復(fù)用TS而言實(shí)現(xiàn)了帶寬增益?,F(xiàn)在把通常在空的傳輸包上所浪費(fèi)的帶寬用于發(fā)送信息。第二,可在TS中輸出竭盡全力或突發(fā)數(shù)據(jù),而不對其具體地分配帶寬(或分配少得多的帶寬)。例如,假設(shè)一輸出的再分多路復(fù)用TS的帶寬為20Mbits/sec。要對帶有四個程序的TS(每個為5Mbits/sec)進(jìn)行再分多路復(fù)用并把它們輸出到20Mbits/sec的再分多路復(fù)用TS。然而,可把帶有這四個程序的TS中每一個帶寬的大約5%分配給空的包。這樣,傳送帶有竭盡全力或突發(fā)數(shù)據(jù)的傳輸包可獲得(名義上)高達(dá)1Mbit/sec,然而對于端-端延遲的恒定性沒有任何保證或限制。對未定時的數(shù)據(jù)進(jìn)行重新定時如上所述,可經(jīng)由異步接口140接收待再分多路復(fù)用的程序數(shù)據(jù)。因未把接口140及其所連的通信鏈路設(shè)計(jì)成在任何特定時間發(fā)送數(shù)據(jù)及將在所傳送的數(shù)據(jù)中引入可變端-端延遲從而會引起問題。在比較中,可對經(jīng)由異步通信鏈路(諸如連到接收適配器IIO)在再分多路復(fù)用器節(jié)點(diǎn)100處接收到的程序數(shù)據(jù)進(jìn)行這樣的假設(shè),即將輸出其所有接收到的傳輸包而沒有抖動。這是因?yàn)樗羞@些包在再分多路復(fù)用器節(jié)點(diǎn)IOO處都引起同一延遲(即,內(nèi)部緩沖延遲),或者如果它們不引起同一延遲(因如上所述的時隙競爭的結(jié)果),則知道是附加的延遲,調(diào)節(jié)這些PCR以除去這些附加延遲所引入的任何抖動。此外,進(jìn)一步校正PCR的內(nèi)部時鐘機(jī)構(gòu)相對于每個程序的系統(tǒng)定時時鐘的偏移,以及校正PCR的調(diào)度輸出時間與實(shí)際輸出時間之間相對于輸出的TS的時隙邊界的不對準(zhǔn)。然而,在從接口140接收到傳輸包的情況下,在再分多路復(fù)用器節(jié)點(diǎn)IOO處以可變位速率以及不恒定的抖動時間接收這些傳輸包。因而,如果把傳輸包的實(shí)際接收時間用作估計(jì)傳輸包的離開的基礎(chǔ),則抖動仍將保持。抖動的PCR不僅在解碼器處造成解碼和呈現(xiàn)不連續(xù),而且它們還使緩沖器上溢和下溢。這是因?yàn)槊總€程序的位速率被仔細(xì)地調(diào)整(假設(shè)將把這些數(shù)據(jù)從解碼器緩沖器中移去以用于解碼,并相對于程序的系統(tǒng)定時時鐘進(jìn)行呈現(xiàn))。依據(jù)一個實(shí)施例,如下所述來克服這些問題。處理器160識別接收到的TS的每個程序的PCR。使用這些PCR,處理器160確定PCR對之間的每個程序的傳輸包的分段傳輸包速率。給定每個程序的每個(交錯的)傳輸包序列的傳輸包速率,則處理器160可根據(jù)應(yīng)接收到每個傳輸包的時間來指派估計(jì)離開時間。示例地,當(dāng)接口140接收到程序數(shù)據(jù)時,把接收到的程序數(shù)據(jù)從接口140傳送到主存儲器120的包緩沖器122。具體來說,接口140以某種形式的接收隊(duì)列來存儲接收到的程序數(shù)據(jù)。最好,接收到的程序數(shù)據(jù)為傳輸包的形式。接口140在接收到數(shù)據(jù)時周期性地中斷處理器160。接口140可在每當(dāng)接收到任何數(shù)量的數(shù)據(jù)時中斷處理器160,或者可在接收到一定數(shù)量的數(shù)據(jù)后中斷處理器160。如適配器100,專門為接口140設(shè)計(jì)接收PID處理器子程序指針表402。被這些指針?biāo)赶虻淖映绦蛟谠S多方面類似于被與接收適配器110有關(guān)的接收PID處理器子程序指針表中的指針?biāo)赶虻淖映绦?。然而,這些子程序至少在以下方面是不同的。首先,異步接口140不必分配具有圖2所示格式的描述符,而且也不必以傳輸包的形式來接收程序數(shù)據(jù)。例如,程序數(shù)據(jù)可以是PES包數(shù)據(jù)或PS包數(shù)據(jù)。在這種情況下,示例地,處理器160對所保留的傳輸包的PID執(zhí)行的子程序包括用于把程序數(shù)據(jù)插入傳輸包中的處理。此外,可設(shè)置把指派給該適配器140的隊(duì)列的接收描述符分配給每個接收到的傳輸包。處理器160把指向相應(yīng)傳輸包的存儲單元的指針存儲在每個所分配的描述符的指針字段129-4中。示例地,最初,使實(shí)際接收時間字段129-5是空白的。此外,包含PCR的每個傳輸包還包括以下處理。在第一次接收到帶有任何程序的PCR的傳輸包時,處理器160從任何適配器110的基準(zhǔn)時鐘發(fā)生器113(或被同步鎖定于適配器110的基準(zhǔn)時鐘發(fā)生器113的任何其它基準(zhǔn)時鐘發(fā)生器113)中獲得一時間標(biāo)記。如下所述,基準(zhǔn)時鐘113被同步鎖定。把獲得的時間標(biāo)記指派給第一個曾經(jīng)接收到的帶有一程序的PCR的傳輸包作為該傳輸包的接收時間。注意,在此第一接收到的帶有PCR的傳輸包之前可能已接收到其它待再分多路復(fù)用的傳輸包??砂言俜侄嗦窂?fù)用器節(jié)點(diǎn)ioo處的已知內(nèi)部緩沖延遲添加到此接收時間標(biāo)記上,以產(chǎn)生被指派給傳輸包(包含一特定程序的第一曾經(jīng)接收到的PCR)的估計(jì)離開時間。在接收到帶有一特定程序的PCR的第二后續(xù)傳輸包后,處理器160可估計(jì)具有異步接口140接收的該程序的PCR之間的傳輸包速率。這是如下實(shí)現(xiàn)的。處理器160形成該程序的兩個相繼PCR之差。然后,處理器把此差值除以同一程序中包含第一PCR的傳輸包和包含該程序的第二PCR的傳輸包之間的傳輸包數(shù)目。這產(chǎn)生了該程序的傳輸包速率。處理器160通過把該程序的傳輸包速率乘以每個這樣的傳輸包與包含第一PCR的傳輸包的偏移或偏離來估計(jì)程序的這些PCR之間程序的每個傳輸包的離開時間。此偏移是通過從計(jì)算估計(jì)離開時間的傳輸包隊(duì)列位置中減去帶有第一PCR的傳輸包的傳輸包隊(duì)列位置來確定的。(注意,一傳輸包的隊(duì)列位置相對于所有接收到的流的所有接收到的傳輸包。)然后,處理器160把指派給包含第一PCR的傳輸包的估計(jì)離開時間加到如此產(chǎn)生的積中。示例地,處理器160把每個這樣的傳輸包的估計(jì)離開時間存入指向它們的描述符的字段129-10。在把一估計(jì)離開時間標(biāo)記指派給一程序的傳輸包后,處理器160可丟棄不想要在TS中輸出的傳輸包(依據(jù)用戶規(guī)定)。然后,對TS中攜帶的每個程序的每一對相繼PCR連續(xù)地重復(fù)以上過程。然后,在處理器160執(zhí)行發(fā)送PID處理器子程序期間,可把具有估計(jì)離開時間的描述符的數(shù)據(jù)傳送到適當(dāng)?shù)陌l(fā)送隊(duì)列。注意,可能在接收到該程序的第一PCR之前接收到該程序最初的一些傳輸包。對于這些傳輸包,僅把傳輸包速率估計(jì)為該程序的第一和第二PCR之間的傳輸包速率(即使這些包不在第一和第二PCR的傳輸包之間)。然后,如上所述確定估計(jì)離開時間。如同從諸如適配器IIO等同步接口接收到PCR,對經(jīng)由異步接口140接收到的PCR,校正每個程序時鐘與用來指派估計(jì)接收時間標(biāo)記及輸出傳輸包的本地基準(zhǔn)時鐘113之間的偏移。與從適配器110接收到的傳輸包不同,從接口140接收到的傳輸包沒有為它們所記錄的實(shí)際接收時間標(biāo)記。這樣,不存在可從中準(zhǔn)確地測量偏移的有關(guān)每個傳輸包的基準(zhǔn)時鐘。取而代之,處理器160使用再分多路復(fù)用器節(jié)點(diǎn)100中的發(fā)送隊(duì)列長度的測量或其中的當(dāng)前延遲來估計(jì)偏移。理想地,發(fā)送隊(duì)列長度應(yīng)不從再分多路復(fù)用器節(jié)點(diǎn)100中的預(yù)定己知延遲而改變。發(fā)送隊(duì)列長度的任何改變都是適配器110的基準(zhǔn)時鐘發(fā)生器113相對于該程序的程序時鐘的偏移的指示。這樣,處理器160依據(jù)當(dāng)前發(fā)送隊(duì)列長度與所期望的理想發(fā)送隊(duì)列長度之差來向上或向下調(diào)節(jié)偏移的測量。例如,每當(dāng)把一發(fā)送描述符分配給一傳輸包時,處理器160測量當(dāng)前發(fā)送隊(duì)列長度并把它從再分多路復(fù)用器節(jié)點(diǎn)100中的理想發(fā)送隊(duì)列長度中減去。此差值就是偏移。使用如此計(jì)算的偏移來調(diào)節(jié)PCR和攜帶這些PCR的傳輸包的估計(jì)離開時間。即,從經(jīng)由異步接口接收到的傳輸包的PCR中減去如此計(jì)算的偏移,該接口置于相應(yīng)于該傳輸包的估計(jì)離開時間的時隙之后的時隙。同樣,可在指派實(shí)際派送時間前從帶有PCR的傳輸包的估計(jì)離開時間中減去此偏移。注意,此估計(jì)的偏移僅用于從異步接口140接收到的傳輸包,而不用于經(jīng)由諸如適配器IIO等同步接口接收到的其它傳輸包?,F(xiàn)在考慮競爭的問題。當(dāng)兩個(或更多)接收到的傳輸包爭著要指派給輸出的再分多路復(fù)用TS的同一傳輸包時隙(和實(shí)際派送時間)時,把一傳輸包指派給該時隙,并把另一傳輸包指派給下一時隙。如果另一傳輸包包含PCR,則以該P(yáng)CR偏離其理想時隙的時隙數(shù)來調(diào)節(jié)此PCR,以反映指派給后來的時隙。輔助輸出定時如上所述,接口140在任何特定時間都不接收傳輸包。同樣,接口140在任何特定時間都不發(fā)送傳輸包。然而,即使接口140及相連的通信鏈路都不提供恒定的端-端延遲,但想要盡可能地減少端-端延遲的變化。再分多路復(fù)用器節(jié)點(diǎn)IOO提供把這種變化減到最小的方式。依據(jù)一個實(shí)施例,處理器160對將經(jīng)由接口140輸出的每個傳輸包分配被指派給接口140的發(fā)送隊(duì)列的一個發(fā)送描述符。這可使用指派給接口140的輸出端口的發(fā)送隊(duì)列中適當(dāng)?shù)囊唤M發(fā)送PID處理器子程序。此外,處理器160指派一用于管理從此接口140的數(shù)據(jù)輸出的適配器110。雖然,在技術(shù)上把發(fā)送隊(duì)列"指派"給接口140,但實(shí)際上,由被指派用來管理從接口140的輸出的適配器110的DMA控制電路116獲得對指派給接口140的描述符隊(duì)列的描述符的控制。數(shù)據(jù)鏈路控制電路112訪問這些描述符,如下所述,這些描述符可保存在高速緩沖存儲器114中。因而,實(shí)際上,由檢查該隊(duì)列的數(shù)據(jù)鏈路控制電路112所產(chǎn)生的中斷來觸發(fā)指派給此隊(duì)列并由處理器160來執(zhí)行的這組發(fā)送PID處理器子程序。如上所述,響應(yīng)于此中斷,處理器160檢查待調(diào)度的描述符,即在連接隊(duì)列中,從待從接口140的輸出端口輸出的這些連接隊(duì)列中選擇一個或多個描述符并把發(fā)送描述符分配給位于有關(guān)接口140的輸出端口的發(fā)送隊(duì)列尾部處的連接隊(duì)列的選中描述符。與輸出如上所述的傳輸包不同,處理器160還可收集有關(guān)連接隊(duì)列的選中描述符的傳輸包,且實(shí)際上把它們組織成為類似于隊(duì)列的緩沖器(如果這些緩沖器是接口140所必需的話)。如上所述,畫A控制電路116獲得對接在DMA控制電路116獲得控制的最后一個描述符后的一個或多個描述符的序列的控制,該序列與接口140的輸出端口有關(guān)。(注意,是否檢索相應(yīng)于這些描述符的傳輸包都無關(guān)。由于數(shù)據(jù)鏈路控制電路112控制接口140處的傳輸包輸出,所以不從連到該數(shù)據(jù)鏈路接口112的輸出接口中輸出傳輸包?;蛘撸瑪?shù)據(jù)鏈路控制電路112完全可如上所述進(jìn)行操作,從而產(chǎn)生輸出TS的鏡象(mirror)拷貝。在此情況下,還必須提供可被適配器110訪問的每個傳輸包的第二拷貝)。如上所述,數(shù)據(jù)鏈路控制電路112檢索高速緩沖存儲器114中的每個描述符,并根據(jù)記錄在字段129-5中的指示派送時間來確定相對于基準(zhǔn)時鐘發(fā)生器113所指示的時間要在何時發(fā)送相應(yīng)的傳輸包。大致在基準(zhǔn)時鐘發(fā)生器113的時間等于此派送時間時,數(shù)據(jù)鏈路控制電路112對處理器160產(chǎn)生一中斷,以指示現(xiàn)在應(yīng)發(fā)送傳輸包。這可以是與數(shù)據(jù)鏈路控制電路112在發(fā)送k21個傳輸包時所產(chǎn)生的相同的中斷。然而,此中斷最好是每k=l個傳輸包時產(chǎn)生的。與之響應(yīng),處理器160檢查發(fā)送PID處理器子程序的適當(dāng)指針表,并執(zhí)行正確的發(fā)送PID處理器子程序。在執(zhí)行此發(fā)送PID處理器子程序時,處理器160發(fā)出使接口140發(fā)送一傳輸包的命令或中斷。這使得大致在基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間與相應(yīng)于傳輸包的描述符中寫入的派送時間匹配時從接口140的輸出端口發(fā)送剛好下一傳輸包。注意,某些總線和中斷等待時間將發(fā)生在時間鏈路控制電路112發(fā)出中斷和接口140輸出傳輸包之間。此外,某些等待時間可能發(fā)生在與接口140相連的通信鏈路上(由于它因沖突等而變得繁忙)。通過處理器160慎重地選擇傳輸包的派送時間,可在一定程度上適應(yīng)平均數(shù)量的等待時間。無論如何,傳輸包的輸出可相當(dāng)接近于正確時間,縱使此接近程度小于使用適配器IIO或接口150可實(shí)現(xiàn)的程度。此外,處理器160還如上所述把一個或多個描述符傳送到指派給接口140的輸出端口的發(fā)送隊(duì)列。適配器間基準(zhǔn)時鐘鎖定利用多個時鐘發(fā)生器的任何同步系統(tǒng)的特定問題在于每個發(fā)生器的時間或計(jì)數(shù)與其它時鐘發(fā)生器不完全相同。更有甚者,每個時鐘發(fā)生器的計(jì)數(shù)可能偏離(例如,因制造公差、溫度、功率變化等的結(jié)果)。這種擔(dān)心在環(huán)境10中也存在。每個再分多路復(fù)用器節(jié)點(diǎn)100、數(shù)據(jù)注入器(injector)50、數(shù)據(jù)提取器60、控制器20等都可具有一基準(zhǔn)時鐘發(fā)生器,諸如再分多路復(fù)用器節(jié)點(diǎn)100中適配器110的基準(zhǔn)時鐘發(fā)生器113。希望鎖定同一TS信號流動路徑中的至少每個節(jié)點(diǎn)50、60或100的基準(zhǔn)時鐘發(fā)生器,從而它們具有相同時間。在廣播環(huán)境中,使產(chǎn)生、編輯或發(fā)送程序信息的所有設(shè)備同步是有用的。在模擬廣播中,這可使用黑短脈沖串(blackburst)發(fā)生器或SMPTE時間代碼發(fā)生器。這種同步使實(shí)時視頻饋送能夠無縫接合,且減少了有關(guān)把異步視頻饋送耦合在一起的噪聲。在再分多路復(fù)用器節(jié)點(diǎn)100中,對同步的需求更為重要。這是因?yàn)楦鶕?jù)一個基準(zhǔn)時鐘來調(diào)度接收到的傳輸包的離開,且實(shí)際上根據(jù)第二基準(zhǔn)時鐘來檢索接收到的傳輸包的派送。假設(shè)再分多路復(fù)用器節(jié)點(diǎn)ioo中的傳輸包所引起的任何等待時間都相同。然而,此假設(shè)僅在估計(jì)包離開所依據(jù)的基準(zhǔn)時鐘與實(shí)際派送傳輸包所依據(jù)的基準(zhǔn)時鐘之間只存在可忽略的偏移時才有效。依據(jù)一個實(shí)施例,提供了多種鎖定即讓基準(zhǔn)時鐘發(fā)生器113同步的技術(shù)。在每一種技術(shù)中,相對于"主"基準(zhǔn)時鐘發(fā)生器周期性地調(diào)節(jié)每個"從"基準(zhǔn)時鐘發(fā)生器的時間。依據(jù)第一種技術(shù),把一適配器110的一個基準(zhǔn)時鐘發(fā)生器113指定為主基準(zhǔn)時鐘發(fā)生器。每個其它的適配器110的每個其它的基準(zhǔn)時鐘發(fā)生器113指定為從基準(zhǔn)時鐘發(fā)生器。處理器160周期性地獲得每個基準(zhǔn)時鐘發(fā)生器113(包括主基準(zhǔn)時鐘發(fā)生器和從基準(zhǔn)時鐘發(fā)生器)的當(dāng)前系統(tǒng)時間。示例地,這是使用在特定時間周期內(nèi)"休眠"(即,空閑)、喚醒并使處理器160獲得每個基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間的過程來實(shí)現(xiàn)的。處理器160把每個從基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間與主基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間相比較。根據(jù)這些比較,處理器160調(diào)節(jié)每個從基準(zhǔn)時鐘發(fā)生器113,以使它們相對于主基準(zhǔn)時鐘發(fā)生器113同步。此調(diào)節(jié)可簡單地通過對基準(zhǔn)時鐘發(fā)生器113進(jìn)行重新加載、把調(diào)節(jié)的時間值加到基準(zhǔn)時鐘發(fā)生器113的系統(tǒng)時間上或(過濾)加速或減緩電壓控制振蕩器(它把時鐘脈沖提供給基準(zhǔn)時鐘發(fā)生器113的計(jì)數(shù)器)的脈沖來實(shí)現(xiàn)的。最后一種調(diào)節(jié)形式類似于MPEG-2系統(tǒng)規(guī)定中所述的鎖相回路反饋調(diào)節(jié)。現(xiàn)在考慮主基準(zhǔn)時鐘發(fā)生器和從基準(zhǔn)時鐘發(fā)生器不在同一節(jié)點(diǎn)中而是通過一通信鏈路相連的情況。例如,主基準(zhǔn)時鐘發(fā)生器可位于第一再分多路復(fù)用器節(jié)點(diǎn)100中,從基準(zhǔn)時鐘發(fā)生器可位于第二再分多路復(fù)用器100中,其中第一和第二再分多路復(fù)用器節(jié)點(diǎn)通過一在第一和第二再分多路復(fù)用器節(jié)點(diǎn)100的各適配器IIO之間延伸的通信鏈路相連。周期性地,響應(yīng)于定時器過程,處理器160發(fā)出獲得主基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間的命令。適配器100通過把此當(dāng)前時間提供給處理器160來響應(yīng)。然后,處理器160經(jīng)由此通信鏈路把此當(dāng)前時間發(fā)送到每個其它的從基準(zhǔn)時鐘。然后,例如如上所述調(diào)節(jié)從基準(zhǔn)時鐘。應(yīng)注意,可把任何時間源或時間服務(wù)器用作主基準(zhǔn)時鐘發(fā)生器。經(jīng)由具有恒定端-端延遲的專用通信鏈路把該主基準(zhǔn)時鐘發(fā)生器的時間發(fā)送到包含從基準(zhǔn)時鐘的每個其它節(jié)點(diǎn)。如果一再分多路復(fù)用器30的兩個或多個節(jié)點(diǎn)20、40、50、60或100在地理上分開很大的距離,則使每個節(jié)點(diǎn)的基準(zhǔn)時鐘發(fā)生器與任何其它節(jié)點(diǎn)的基準(zhǔn)時鐘發(fā)生器同步是不可能的。這是因?yàn)樵谝煌ㄐ沛溌飞习l(fā)送的任何信號可能經(jīng)歷某些有限的傳播延遲。這種延遲在傳輸包尤其是帶有同步時間標(biāo)記的傳輸包的發(fā)送中引起等待時間。取而代之,使用一與再分多路復(fù)用器30的每個節(jié)點(diǎn)等距離的基準(zhǔn)時鐘源是可能的。眾所周知,美國政府保持地面和衛(wèi)星基準(zhǔn)時鐘發(fā)生器。這些源在公知的載波信號上可靠地發(fā)送時間。諸如再分多路復(fù)用器節(jié)點(diǎn)100等每個節(jié)點(diǎn)可設(shè)有諸如GPS接收器180等接收器,該接收器能接收廣播的基準(zhǔn)時鐘。每個節(jié)點(diǎn)20、40、50、60或100處的處理器160(或其它電路)從接收器180周期性地獲得基準(zhǔn)時鐘。處理器160可把獲得的時間傳送到適配器110,以裝入基準(zhǔn)時鐘發(fā)生器113中。然而,最好,處理器160向適配器110發(fā)出獲得基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間的命令。然后,處理器160發(fā)出根據(jù)從接收器180獲得的時間與基準(zhǔn)時鐘發(fā)生器113的當(dāng)前時間之間的不同來調(diào)節(jié)(例如,加速或減緩)基準(zhǔn)時鐘發(fā)生器113的電壓控制振蕩器的命令。網(wǎng)絡(luò)化再分多路復(fù)用給出如上所述的操作,可在一網(wǎng)絡(luò)上分配再分多路復(fù)用的各種功能。例如,可通過各種通信鏈路、適配器UO和接口140和150使多個再分多路復(fù)用器節(jié)點(diǎn)100互連??捎煽刂破?0(圖l)控制這些再分多路復(fù)用器節(jié)點(diǎn)100中的每一個以共同起到單個再分多路復(fù)用器30的作用。為了方便或靈活性起見,可能想要這種網(wǎng)絡(luò)分布式再分多路復(fù)用器30。例如,可把一再分多路復(fù)用器節(jié)點(diǎn)100連到多個文件服務(wù)器或存儲器件40(圖1)??砂训诙俜侄嗦窂?fù)用器節(jié)點(diǎn)IOO連到多個其它輸入源,諸如攝像機(jī)或解調(diào)器/接收器??砂衙總€其它的再分多路復(fù)用器節(jié)點(diǎn)100連到一個或多個發(fā)送器/調(diào)制器或記錄器?;蛘?,可如此連接再分多路復(fù)用器節(jié)點(diǎn)100以提供冗余功能繼而在一再分多路復(fù)用器節(jié)點(diǎn)100失效或把它有目的地從服務(wù)中取出的情況下的容錯??紤]圖3所示的第一網(wǎng)絡(luò)再分多路復(fù)用器30'。在此情況下,經(jīng)由諸如100BASE-TX以太網(wǎng)等異步網(wǎng)絡(luò)把多個再分多路復(fù)用器節(jié)點(diǎn)100'、100"、IOO'"相互連接起來。前兩個再分多路復(fù)用器節(jié)點(diǎn)100'、IOO"中的每一個接收四個TS(TS10-TS13或TS14-TS17)并產(chǎn)生單個再分多路復(fù)用的輸出TS(TS18或TS19)。第三再分多路復(fù)用器節(jié)點(diǎn)IOO'"接收TS(TS18和TS19)并產(chǎn)生輸出再分多路復(fù)用TS(TS20)。在圖3所示的例子中,再分多路復(fù)用器節(jié)點(diǎn)IOO'"經(jīng)由其適配器IOO(圖2)接收從解調(diào)器/接收器實(shí)時發(fā)送的TS(TS10-TS13)。另一方面,再分多路復(fù)用器IOO"經(jīng)由同步接口150(圖2)從一存儲器件接收預(yù)先存儲的TS(TS14--TS17)。再分多路復(fù)用器節(jié)點(diǎn)100'和IOO"中的每一個經(jīng)由至再分多路復(fù)用器節(jié)點(diǎn)IOO'"的異步(IOOBASE-TX以太網(wǎng))接口140(圖2)的異步(100BASE-TX以太網(wǎng))接口140(圖2)把其各自的輸出再分多路復(fù)用TS即TS18或TS19發(fā)送到再分多路復(fù)用器節(jié)點(diǎn)100'"。有利的是,再分多路復(fù)用器節(jié)點(diǎn)100'和IOO"中的每一個使用上述輔助輸出定時技術(shù),把這種通信所引起的端-端延遲的變化減到至少。在任何情況下,再分多路復(fù)用器節(jié)點(diǎn)IOO'"使用上述對未定時數(shù)據(jù)進(jìn)行重新定時的技術(shù)來估計(jì)TS18和TS19中每個程序的位速率并對TS18和TS19去抖動(dejitter)。任選地,在系統(tǒng)30'的至少一個通信鏈路上還可包括突發(fā)器件200。例如,如同在LAN中,可與其它終端一起共享通信媒體來進(jìn)行普通數(shù)據(jù)處理。然而,還為了把數(shù)據(jù)注入TS(例如,TS20)中和/或從中提取數(shù)據(jù)而設(shè)置突發(fā)器件200。例如,突發(fā)器件200可以是提供因特網(wǎng)訪問的服務(wù)器、Web服務(wù)器、Web終端等。當(dāng)然,這僅僅是網(wǎng)絡(luò)分布式再分多路復(fù)用器的一個例子。其它配置也是可能的。例如,連接有這些節(jié)點(diǎn)的網(wǎng)絡(luò)的通信協(xié)議可以是TAM、DS3等。應(yīng)注意網(wǎng)絡(luò)分布式再分多路復(fù)用器30'的兩個重要的性質(zhì)。第一,在所示的特定網(wǎng)絡(luò)中,任何輸入端口可接收來自任何輸出端口的諸如突發(fā)數(shù)據(jù)或TS數(shù)據(jù)等數(shù)據(jù)。即,再分多路復(fù)用器節(jié)點(diǎn)100'可接收來自再分多路復(fù)用器節(jié)點(diǎn)100〃或IOO'"或突發(fā)器件200的數(shù)據(jù),再分多路復(fù)用器節(jié)點(diǎn)IOO"可接收來自再分多路復(fù)用器節(jié)點(diǎn)100'或IOO'"或突發(fā)器件200的數(shù)據(jù),再分多路復(fù)用器節(jié)點(diǎn)100〃'可接收來自再分多路復(fù)用器100'或100〃或突發(fā)器件200中任一個的數(shù)據(jù),突發(fā)器件200可接收來自再分多路復(fù)用器節(jié)點(diǎn)100'、IOO"或100〃'中任一個的數(shù)據(jù)。第二,執(zhí)行數(shù)據(jù)提取和丟棄的再分多路復(fù)用器節(jié)點(diǎn),即再分多路復(fù)用器節(jié)點(diǎn)IOO'"可在同一通信鏈路上接收來自不止一個源即再分多路復(fù)用器100'或100"或突發(fā)器件200的數(shù)據(jù)。由于這兩個性質(zhì),所以從源節(jié)點(diǎn)到再分多路復(fù)用器內(nèi)的目的地節(jié)點(diǎn)的傳輸包的"信號流動模式"與節(jié)點(diǎn)連接的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)無關(guān)。換句話說,網(wǎng)絡(luò)分布式再分多路復(fù)用器30'中的傳輸包所遍歷的節(jié)點(diǎn)和通信鏈路路徑與節(jié)點(diǎn)通過通信鏈路的精確物理連接無關(guān)。因而,可使用非常普通的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)一一可以基本上任意的拓?fù)浣Y(jié)構(gòu)(總線、環(huán)、鏈、樹、星形等)來連接再分多路復(fù)用器節(jié)點(diǎn)100,而這些再分多路復(fù)用器節(jié)點(diǎn)仍能對TS進(jìn)行再分多路復(fù)用,以實(shí)現(xiàn)實(shí)際任何類型的節(jié)點(diǎn)-節(jié)點(diǎn)信號流動模式。例如,節(jié)點(diǎn)100'、100"、IOO'"和200以總線拓?fù)浣Y(jié)構(gòu)連接。還可實(shí)現(xiàn)以下用于所發(fā)送的數(shù)據(jù)的信號流動模式中的任一種從節(jié)點(diǎn)100'到節(jié)點(diǎn)100",然后到節(jié)點(diǎn)IOO'";從節(jié)點(diǎn)100'和100〃'中的每一個平行地到達(dá)節(jié)點(diǎn)200;從節(jié)點(diǎn)200和100'平行地到達(dá)節(jié)點(diǎn)100",然后從節(jié)點(diǎn)ioo"到節(jié)點(diǎn)100〃'等。在此類型的發(fā)送中,可能需要時分多路復(fù)用來交錯不同組通信節(jié)點(diǎn)之間的信號流。例如,在圖3所示的信號流中,在共享的通信媒體上時分多路復(fù)用TS18和TS19。以上討論旨在對本發(fā)明進(jìn)行說明。本領(lǐng)域內(nèi)的技術(shù)人員可設(shè)計(jì)出大量的替代實(shí)施例,而不背離以下權(quán)利要求書的精神和范圍。權(quán)利要求1.一種用于優(yōu)化傳輸流的帶寬的方法,其特征在于包括以下步驟(a)以給定的位速率接收一傳輸流,所述傳輸流包括帶有可變壓縮程序數(shù)據(jù)的傳輸包和一個或多個空傳輸包,所述空傳輸包中的每一個占據(jù)了所述接收到的傳輸流的一時隙,從而保持所述傳輸流的所述給定位速率,以代替帶有所述壓縮程序數(shù)據(jù)的傳輸包,(b)以帶有另一待再分多路復(fù)用非空數(shù)據(jù)的傳輸包來選擇性地替換一個或多個所述空傳輸包;以及(c)獨(dú)立地隨時間確定在所接收的傳輸流中由帶有程序數(shù)據(jù)的傳輸包所承載的信息量,將至少一個所選擇的帶有程序數(shù)據(jù)的傳輸包調(diào)度作為在輸出再分多路復(fù)用位流中的輸出,所述調(diào)度被執(zhí)行以在給定位速率上發(fā)送所述程序數(shù)據(jù)用于適當(dāng)?shù)亟邮蘸徒獯a。2.如權(quán)利要求l所述的方法,其特征在于,所述帶有另一待再分多路復(fù)用數(shù)據(jù)的傳輸包包括程序?qū)S眯畔ⅰ?.如權(quán)利要求1所述的方法,其特征在于,所述帶有另一待再分多路復(fù)用數(shù)據(jù)的傳輸包具有對以連續(xù)方式呈現(xiàn)信息來說沒有位速率或發(fā)送等待時間要求的事務(wù)處理數(shù)據(jù)。4.如權(quán)利要求3所述的方法,其特征在于,所述步驟(b)進(jìn)一步包括有選擇地分配帶有數(shù)據(jù)的傳輸包給所述輸出的傳輸流的時隙從而將帶有所述數(shù)據(jù)的傳輸包的發(fā)送位速率調(diào)整至一接收器緩沖器。5.如權(quán)利要求l所述的方法,其特征在于,進(jìn)一步包括(d)對所選擇的含有非空數(shù)據(jù)的傳輸包進(jìn)行調(diào)度以在輸出的傳輸流中輸出;以及(e)丟棄至少一個所接收的空傳輸包,并調(diào)度所述帶有待再分多路復(fù)用數(shù)據(jù)的傳輸包作為在輸出的傳輸流中的輸出來代替所述至少一個丟棄的空傳輸包。6.如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括-(f)在對所述存儲的傳輸包中相應(yīng)的一個進(jìn)行調(diào)度的所述輸出的傳輸流的每個時隙處,輸出為所述時隙而調(diào)度的所述相應(yīng)的被存儲傳輸包,以及(g)如果在所述時隙中的一個處沒有被調(diào)度輸出的傳輸包,則輸出一空傳輸包,其中與在步驟(a)中接收到的每個傳輸流中占據(jù)的所述空傳輸包相比,所述輸出的傳輸流的所述空傳輸包占據(jù)所述輸出傳輸流的較少帶寬。7.如權(quán)利要求l所述的方法,其特征在于,進(jìn)一步包括(d)獨(dú)立地確定所述傳輸包的給定位速率,將至少一個所選擇的帶有程序數(shù)據(jù)的傳輸包調(diào)度作為在輸出再分多路復(fù)用位流中的輸出,所述調(diào)度被執(zhí)行以在給定位速率上發(fā)送所述程序數(shù)據(jù)用于適當(dāng)?shù)亟邮蘸徒獯a。8.如權(quán)利要求7所述的方法,其特征在于,所述給定位速率僅在所述程序的程序時鐘基準(zhǔn)值對之間恒定。9.如權(quán)利要求l所述的方法,其特征在于,還包括步驟(d)獨(dú)立地確定程序時鐘基準(zhǔn)在至少一個所選擇的所述帶有程序數(shù)據(jù)的傳輸包中接收的精確時間,調(diào)度所選擇的帶有程序數(shù)據(jù)的傳輸包作為在輸出再分多路復(fù)用位流中的輸出,所述調(diào)度被執(zhí)行以發(fā)送所述程序時鐘基準(zhǔn)值與所述輸出再分多路復(fù)用傳輸流以在相對于所述程序的其它帶有數(shù)據(jù)的傳輸包的正確時間處解碼。10.—種用于優(yōu)化傳輸流的帶寬的再分多路復(fù)用器,其特征在于包括用于接收具有給定的位速率的傳輸流的第一接口,所述傳輸流包括帶有可變壓縮程序數(shù)據(jù)的傳輸包和一個或多個空傳輸包,所述空傳輸包中的每一個占據(jù)了所述接收到的傳輸流的一時隙,從而保持所述傳輸流的所述給定位速率,以代替帶有所述壓縮程序數(shù)據(jù)的傳輸包,以帶有另一待再分多路復(fù)用非空數(shù)據(jù)的傳輸包來選擇性地替換一個或多個所述空傳輸包的處理器;以及其中,所述處理器還用于獨(dú)立地隨時間確定在所接收的傳輸流中由帶有程序數(shù)據(jù)的傳輸包所承載的信息量,將至少一個所選擇的帶有程序數(shù)據(jù)的傳輸包調(diào)度作為在輸出再分多路復(fù)用位流中的輸出,所述調(diào)度被執(zhí)行以在給定位速率上發(fā)送所述程序數(shù)據(jù)用于適當(dāng)?shù)亟邮蘸徒獯a。11.如權(quán)利要求io所述的再分多路復(fù)用器,其特征在于,所述帶有另一待再分多路復(fù)用數(shù)據(jù)的傳輸包包括程序?qū)S眯畔ⅰ?2.如權(quán)利要求10所述的再分多路復(fù)用器,其特征在于,所述帶有另一待再分多路復(fù)用數(shù)據(jù)的傳輸包具有對以連續(xù)方式呈現(xiàn)信息來說沒有位速率或發(fā)送等待時間要求的事務(wù)處理數(shù)據(jù)。13.如權(quán)利要求12所述的再分多路復(fù)用器,其特征在于,所述處理器有選擇地分配帶有數(shù)據(jù)的傳輸包給所述輸出的傳輸流的時隙從而將帶有所述數(shù)據(jù)的傳輸包的發(fā)送位速率調(diào)整至一接收器緩沖器。14.如權(quán)利要求10所述的再分多路復(fù)用器,其特征在于,所述第一接口和所述處理器還用于對所選擇的含有非空數(shù)據(jù)的傳輸包進(jìn)行調(diào)度以在輸出的傳輸流中輸出,并丟棄至少一個所接收的空傳輸包,并調(diào)度所述帶有待再分多路復(fù)用非空數(shù)據(jù)的傳輸包作為在輸出的傳輸流中的輸出來代替所述至少一個丟棄的空傳輸包。15.如權(quán)利要求14所述的再分多路復(fù)用器,其特征在于,進(jìn)一步包括第二接口,用于輸出所述輸出的傳輸流,在對所述存儲的傳輸包中相應(yīng)的一個進(jìn)行調(diào)度的所述輸出的傳輸流的每個時隙處,輸出為所述時隙而調(diào)度的所述相應(yīng)的被存儲傳輸包,以及如果在所述時隙中的一個處沒有被調(diào)度輸出的傳輸包,則所述第二接口輸出一空傳輸包,其中,與接收到的每個傳輸流中占據(jù)的所述空傳輸包相比,所述輸出的傳輸流的所述空傳輸包占據(jù)所述輸出傳輸流的較少帶寬。16.如權(quán)利要求10所述的再分多路復(fù)用器,其特征在于,所述處理器用于獨(dú)立地確定所述傳輸包的給定位速率,將至少一個所選擇的帶有程序數(shù)據(jù)的傳輸包調(diào)度作為在輸出再分多路復(fù)用位流中的輸出,所述調(diào)度被執(zhí)行以在給定位速率上發(fā)送所述程序數(shù)據(jù)用于適當(dāng)?shù)亟邮蘸徒獯a。17.如權(quán)利要求16所述的再分多路復(fù)用器,其特征在于,所述給定位速率僅在所述程序的程序時鐘基準(zhǔn)值對之間恒定。18.如權(quán)利要求10所述的再分多路復(fù)用器,其特征在于,所述處理器用于獨(dú)立地確定程序時鐘基準(zhǔn)在至少一個所選擇的所述帶有程序數(shù)據(jù)的傳輸包中接收的精確時間,調(diào)度所選擇的帶有程序數(shù)據(jù)的傳輸包作為在輸出再分多路復(fù)用位流中的輸出,所述調(diào)度被執(zhí)行以發(fā)送所述程序時鐘基準(zhǔn)值與所述輸出再分多路復(fù)用傳輸流以在相對于所述程序的其它帶有數(shù)據(jù)的傳輸包的正確時間處解碼。全文摘要一種方法和系統(tǒng)(30,30′,100,100′,100″,100″′)使用即時地輸出傳輸包的基于描述符的系統(tǒng)(122,124,129-4),使用用于對來自任何異步處理(160,120,130,S2,402,S4,404)的傳輸包的同步接收和發(fā)送去耦合的描述符和傳輸包高速緩存技術(shù)(116,122,124,114),使用用于管理加擾和解擾控制字(129-9)、通過以傳輸包數(shù)據(jù)替換空傳輸包來優(yōu)化傳輸流的帶寬的描述符以及使用用于鎖定多個內(nèi)部基準(zhǔn)時鐘發(fā)生器(113)的技術(shù)(180),對帶有視頻程序的數(shù)據(jù)(TS1-TS5,TS10-TS20)進(jìn)行再分多路復(fù)用。文檔編號H04N7/24GK101287111SQ200810005830公開日2008年10月15日申請日期1999年1月7日優(yōu)先權(quán)日1998年1月14日發(fā)明者R·格拉塔蓋普,R·羅比內(nèi)特,W·斯萊特里申請人:天溪有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
灌南县| 廉江市| 土默特右旗| 西平县| 永州市| 兴宁市| 会理县| 临沧市| 乌兰察布市| 清流县| 乐东| 饶平县| 新余市| 青浦区| 皋兰县| 天等县| 调兵山市| 普安县| 望江县| 巩留县| 巩义市| 华亭县| 昌邑市| 宁南县| 万山特区| 七台河市| 龙川县| 嘉峪关市| 鄂尔多斯市| 揭阳市| 桐柏县| 双城市| 罗山县| 镇巴县| 金平| 公主岭市| 土默特右旗| 高阳县| 邹平县| 莱州市| 邵武市|