專利名稱:多格式傳輸流解碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多格式傳輸流解碼器,該多格式傳輸流解碼器是將按照各自不同的格式生成的多個傳輸流作為輸入,對該輸入的多個傳輸流進(jìn)行所希望的處理后,生成新的傳輸流。若進(jìn)一步詳細(xì)敘述,則本發(fā)明涉及多格式傳輸流解碼器,該多格式傳輸流解碼器實時識別依次輸入的構(gòu)成不同格式傳輸流的小包數(shù)據(jù)是否為處理對象,在是處理對象時,對該小包數(shù)據(jù)根據(jù)固有的格式進(jìn)行所希望的處理。
背景技術(shù):
對數(shù)字內(nèi)容進(jìn)行各種處理及編輯而加以附帶利用的要求,以往僅僅對于廣播電臺那樣的內(nèi)容制作或傳送源才有可能實現(xiàn)的。但是,近年來由于數(shù)字技術(shù)的進(jìn)步,作為基礎(chǔ)設(shè)施的數(shù)字傳送系統(tǒng)的質(zhì)量及數(shù)量日益提高和增加。即,由于提供數(shù)字內(nèi)容的傳輸流的豐富、用戶進(jìn)行處理所需要的硬件性能的提高及其所需的成本的降低,因此以往僅僅由廣播電臺等設(shè)施進(jìn)行的傳輸流的編輯及構(gòu)成傳輸流的小包數(shù)據(jù)的編輯在用戶側(cè)也能夠盼望實現(xiàn)的環(huán)境條件正不斷完善。
但是,為了在用戶側(cè)對每個數(shù)字內(nèi)容進(jìn)行所希望的處理,必須有允許訪問下述處理裝置的裝置,即該處理裝置能對于依次輸入的構(gòu)成傳輸流的一個個小包數(shù)據(jù),實時進(jìn)行選擇,再對選擇的小包數(shù)據(jù)進(jìn)行相對應(yīng)的處理或加工。
作為這樣的裝置的一個例子,圖41所示是以往實現(xiàn)的一個裝置,它具有實時識別構(gòu)成傳輸流的一個個小包數(shù)據(jù)并有選擇地進(jìn)行抽取的功能。該圖所示的傳輸解碼器從形成多個節(jié)目的各個節(jié)目的小包數(shù)據(jù)串構(gòu)成的單一傳輸流,僅抽取構(gòu)成特定單一節(jié)目的小包數(shù)據(jù)組,輸出給AV解碼器。即,如后所述,該傳輸解碼器中設(shè)置在構(gòu)成單一傳輸流的多個小包數(shù)據(jù)內(nèi)有選擇地僅抽取特定的小包數(shù)據(jù)的裝置。
該傳輸流解碼器TDAc包含接受從外部傳輸流源(未圖示)供給的傳輸流TS的流輸入器500C、節(jié)目小包濾波器PCF、主存儲器控制器700C、主存儲器900C、以及控制整個傳輸流解碼器TDAc的動作的TD擴(kuò)展器TDCc。
回到圖41,分別說明傳輸流解碼器TDAc的各構(gòu)成要素。流輸入器500C將從外部傳輸流源(未圖示)輸入的傳輸流TS暫時保持在內(nèi)部具有的輸入緩沖器中,以每個傳送單位TSd向節(jié)目小包濾波器PCF傳送。
節(jié)目小包濾波器PCF至少具有三個小包濾波器,它們是根據(jù)對從源輸入器500以每個傳送單位TSd傳送來的全部節(jié)目內(nèi)容小包數(shù)據(jù)Pc的各小包數(shù)據(jù)所附加的小包標(biāo)識符PID有選擇地僅輸出管理小包數(shù)據(jù)PcA的小包濾波器1100_00、有選擇地僅輸出特定節(jié)目的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV的小包濾波器1100_01、以及有選擇地僅輸出該特定節(jié)目的節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS的小包濾波器1100_02。另外,將從輸入的傳輸流TS所包含的全部小包數(shù)據(jù)P抽取的管理小包數(shù)據(jù)PcA與形成特定節(jié)目內(nèi)容的節(jié)目內(nèi)容小包數(shù)據(jù)Pc(PcV及PcA)合起來總稱為選擇單一節(jié)目小包數(shù)據(jù)串Pes。
如上所述,在必須識別節(jié)目小包濾波器PCF所包含的管理小包數(shù)據(jù)PcA抽取用、節(jié)目圖象內(nèi)容小包數(shù)據(jù)PcV抽取用及節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS抽取用的三種小包濾波器的各小包濾波器時,則分別表示為管理小包濾波器1100_00、圖像小包濾波器1100_01及聲音小包濾波器1100_02,在不需要識別時或?qū)λ鼈兛偡Q時,則簡單表示為小包濾波器1100。
在節(jié)目小包濾波器PCF中,根據(jù)抽取的構(gòu)成一個節(jié)目的內(nèi)容種類數(shù)γ(γ為自然數(shù)),即設(shè)置相當(dāng)于應(yīng)抽取的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的種類數(shù)的γ個小包濾波器1100_01~1100_0γ、以及從傳輸流TS抽取管理小包數(shù)據(jù)PcA的一個管理小包濾波器1100_00,一共設(shè)置γ+1個管理小包濾波器1100_00~1100_0γ。為了說明方便起見,在本例中所敘述的情況僅具有管理小包濾波器1100_00、圖象小包濾波器1100_01及聲音小包濾波器1100_02這三種小包濾波器。
傳輸流TS中包含的構(gòu)成多個節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc內(nèi),管理小包數(shù)據(jù)PcA(PAT、PMT1、PMT2、PMT3)、構(gòu)成節(jié)目1的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV(Pc101_1、Pc101_2、……)及節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS(Pc111_1、Pc111_2、……)、按照各自到達(dá)傳輸流解碼器TDAc的順序,利用圖像小包濾波器1100_01及聲音小包濾波器1100_02抽取。
然后,被抽取的節(jié)目內(nèi)容管理表PAT、節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1、PMT2及PMT3、以及節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc111_1、Pc101_2、Pc111_2、……按照到達(dá)傳輸流解碼器TDAc的順序,作為選擇單一節(jié)目小包數(shù)據(jù)串PeS輸出給主存儲器控制器700C。這樣,節(jié)目小包濾波器PCF實時識別輸入的傳輸流TS的一個個小包數(shù)據(jù),具有有選擇地進(jìn)行抽取的功能。
主存儲器700C將節(jié)目小包濾波器PCF輸入的選擇單一節(jié)目小包數(shù)據(jù)串Pes以每個傳送單位TSd暫時加以保持,同時控制主存儲器900C,對于主存儲器900C的各個不同的固定區(qū)域,將每個管理小包數(shù)據(jù)PcA、單一節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PssV及單一節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PssS存入主存儲器900C的規(guī)定區(qū)域。
即,主存儲器900C通過主存儲器控制器700C,將節(jié)目小包濾波器PCF輸入的選擇單一節(jié)目小包數(shù)據(jù)串Pes所包含的各小包數(shù)據(jù)P進(jìn)行選擇,分為管理小包數(shù)PcA、節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV及節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcA的某一個數(shù)據(jù),作為管理小包數(shù)據(jù)PcA、單一節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PssV及單一節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PssS進(jìn)行存儲。
再有,主存儲器控制器700C從主存儲器900C讀出單一節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PssV及單一節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PssS,以每個傳輸單位TSD暫時加以保持,同時作為單一節(jié)目小包數(shù)據(jù)串Pss輸出給以AV解碼器2000C為代表的外部設(shè)備。
另外,傳輸流解碼器TDAc生成表示上述各構(gòu)成要素動作狀態(tài)的狀態(tài)信號SrWC,輸出給TD控制器TDCc。Td控制器TDCc根據(jù)狀態(tài)信號SrWC,生成控制傳輸流解碼器TDAc的各構(gòu)成要素動作的控制信號ScWC,輸出給傳輸流解碼器TDAc。
這樣,TD控制器TDCc控制傳輸流解碼器TDAc的整個動作,從輸入至傳輸流解碼器TDAc的單一傳輸流TS按照輸入的順序僅抽取構(gòu)成單一節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc,作為單一節(jié)目小包數(shù)據(jù)串Pss輸出給AV解碼器2000C等外部設(shè)備。AV解碼器2000C將輸入的單一節(jié)目小包數(shù)據(jù)串Pss所包含的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV及節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS依次進(jìn)行節(jié)目,生成圖像聲音信號Sav,供用戶進(jìn)行收看及收聽。
圖43所示為選擇單一節(jié)目小包數(shù)據(jù)串Pes的一個例子,該選擇單一節(jié)目小包數(shù)據(jù)串Pes是利用傳輸流解碼器TDAc,從圖42所示的具有小包結(jié)構(gòu)的單一傳輸流TS所包含的三個節(jié)目中,僅抽取一個節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)PC(節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV及節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS)及管理小包數(shù)據(jù)PcA(PAT、PMT)而構(gòu)成。
在本例中,僅抽取構(gòu)成節(jié)目1的節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc111_1、Pc101_2、Pc111_2、……及表示這些節(jié)目內(nèi)容小包數(shù)據(jù)的節(jié)目內(nèi)容管理表PAT及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1,作為抽取小包數(shù)據(jù)串Pse,從節(jié)目小包濾波器PCF輸出給主存儲器控制器700C。
另外,有時還抽取表示指定節(jié)目以外的節(jié)目2及節(jié)目3的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT2及PMT3。這樣,從輸入的傳輸流TS中連續(xù)排列的小包數(shù)據(jù)P僅離散地抽取與規(guī)定節(jié)目對應(yīng)的小包數(shù)據(jù)P。
圖44所示為主存儲器900C中的選擇單一節(jié)目小包數(shù)據(jù)串Pes所包含的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的各自存儲狀態(tài)的一個例子。主存儲器900C具有存儲節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV即節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc101_2、Pc101_3、Pc101_4、……的圖像小包存儲區(qū)A(video)、以及存儲節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS即節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc111_2、Pc111_3、Pc111_4……的聲音小包存儲區(qū)A(audio)。
另外,還具有存儲管理小包數(shù)據(jù)PcA的構(gòu)成要素即節(jié)目內(nèi)容管理表PAT的信息的PAT存儲區(qū)A(PAT)以及存儲節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的信息的PMT存儲區(qū)A(PMTα)。若具體來說,則節(jié)目1的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1存入節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT存儲區(qū)A(PMT1)。
節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV即節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc101_2、Pc101_3、Pc101_4、……在圖像小包存儲區(qū)A(video)內(nèi)相互沒有間隔進(jìn)行存儲,通過這樣形成單一節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PssV。同樣,節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS即節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc111_2、Pc111_3、Pc111_4、……在聲音小包存儲區(qū)A(audio)內(nèi)相互沒有間隔進(jìn)行存儲,通過這樣形成單一節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PssS。
這樣,在主存儲器900C內(nèi)構(gòu)成的單一節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PssV及單一節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PssS,利用主存儲器控制器700C,作為圖45所示例子的單一節(jié)目小包數(shù)據(jù)串Pss讀出,輸出給AV解碼器2000C。
另外,關(guān)于傳輸流,估計是眾所皆知的知識,下面參照圖42說明本發(fā)明書中的傳輸。下面說明輸入至傳輸流解碼器TDAc的單一傳輸流TS。傳輸流TS是在圖42中分別用一個框表示的多個小包數(shù)據(jù)P構(gòu)成。對這些小包數(shù)據(jù)P分別附加固有的小包標(biāo)識符(Packet ID)PID,以便對它們進(jìn)行識別。另外,這些小包數(shù)據(jù)P在傳輸流TS中以固定的格式構(gòu)成。
這些小包數(shù)據(jù)P分成幾類,包括α種(α為2及2以上的整數(shù))節(jié)目的每個節(jié)目形成其內(nèi)容的多個節(jié)目內(nèi)容小包數(shù)據(jù)Pc、對每個節(jié)目記有這些節(jié)目內(nèi)容小包數(shù)據(jù)Pc的小包標(biāo)識符PID的節(jié)目內(nèi)容小包數(shù)據(jù)管理表(Program Map Table,節(jié)目映射表)PMT、以及對每個節(jié)目記有對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的節(jié)目內(nèi)容管理表(Program Association Table,節(jié)目關(guān)聯(lián)表)PAT等。
將具有管理這些節(jié)目內(nèi)容小包數(shù)據(jù)Pc的信息的節(jié)目內(nèi)容管理表PAT及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT總稱為管理小包數(shù)據(jù)PcA。另外,在圖42中所示的例子是,至少提供三個不同的節(jié)目1、節(jié)目2及節(jié)目3的情況下(α>=3)的傳輸流TS的結(jié)構(gòu)。
節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc101_2、……是節(jié)目1的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc111_2、……是節(jié)目1的聲音數(shù)據(jù)。同樣,節(jié)目內(nèi)容小包數(shù)據(jù)Pc201_1、Pc201_2、……是節(jié)目2的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc211_1、Pc211_2、……是節(jié)目2的聲音數(shù)據(jù)。
另外,節(jié)目內(nèi)容小包數(shù)據(jù)Pc301_1、Pc301_2、……是節(jié)目3的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc311_1、Pc311_2、……是節(jié)目3的聲音數(shù)據(jù)。如上所述,將具有圖像數(shù)據(jù)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc總稱為節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV,將具有聲音數(shù)據(jù)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc總稱為節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS。
另外,能夠提供的節(jié)目數(shù)(α)當(dāng)然不限定于3,僅僅與提供的節(jié)目數(shù)對應(yīng)的所需要的節(jié)目內(nèi)容小包數(shù)據(jù)Pc包含在傳輸流TS中。再有,根據(jù)節(jié)目的不同內(nèi)容,同樣還可以包含與圖像及聲音以外的信息(例如文字信息)對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc。
若更詳細(xì)敘述,則傳輸流Ts在節(jié)目內(nèi)容小包數(shù)據(jù)Pc之間,以根據(jù)傳送路徑及處理上的主要原因所決定的頻次,將節(jié)目內(nèi)容該表PAT及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT排列而構(gòu)成。在圖42中,在形成節(jié)目1、2及3的全部三類節(jié)目的多個節(jié)目內(nèi)容小包數(shù)據(jù)Pc內(nèi),在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc111_1、Pc201_1、Pc211_1、Pc301_1及Pc311_1之前配置管理小包數(shù)據(jù)PcA,該管理小包數(shù)據(jù)PcA由對每個節(jié)目記有節(jié)目內(nèi)容小包數(shù)據(jù)Pc的小包標(biāo)識符PID的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1、PMT2、PMT、以及表示與這些節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的各小包標(biāo)識符PID對應(yīng)的節(jié)目的節(jié)目內(nèi)容管理表PAT構(gòu)成。
另外,在本說明中,對同一構(gòu)件或信號附加由共同的數(shù)字或英文字母構(gòu)成的符號作為標(biāo)識符來表示,在即使是同一構(gòu)件或信號而需要一個個加以識別時,對該識別符再附加由數(shù)字或英文字母構(gòu)成的后綴作為個別標(biāo)識符來表示。因而,在同一構(gòu)件或信號中不需要一個個識別時,對標(biāo)識符不附加后綴來表示。若具體來說,則節(jié)目內(nèi)容小包數(shù)據(jù)Pc101是節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc101_2、……Pc101_β(β為任意的自然數(shù))的總稱。關(guān)于上述節(jié)目內(nèi)容小包數(shù)據(jù)Pc111、Pc201、Pc211、Pc301及Pc401也相同。
在節(jié)目內(nèi)容管理表PAT中,記有該傳輸流TS所包含的全部節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID。即,節(jié)目1的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID記為100,節(jié)目2的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的標(biāo)記符PID記為200,節(jié)目3的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID記為300,……,節(jié)目α的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID記為α00。
再有,在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_2、Pc111_2、Pc201_2、Pc211_2、Pc301_2及Pc311_2之前,再配置前述的由節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1、PMT2、PMT3及節(jié)目內(nèi)容管理表PAT構(gòu)成的管理小包數(shù)據(jù)PcA。另外,在傳輸流TS包含4個及4個以上的節(jié)目(α>=4)時,在圖42中雖未明示,但當(dāng)然在管理小包數(shù)據(jù)PcA中包含節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT4~PMTα,在傳輸流TS中包含與各節(jié)目相對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc。
根據(jù)傳輸流TS所包含的小包數(shù)據(jù)P的不同種類,管理小包數(shù)據(jù)PcA的配置頻次有很大不同。再有,管理小包數(shù)據(jù)PcA不一定只限于圖42所示例子那樣作為小包數(shù)據(jù)P的一個組合進(jìn)行配置。根據(jù)情況不同,有時在管理小包數(shù)據(jù)PcA的構(gòu)成單位即節(jié)目內(nèi)容管理表PAT、節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT與節(jié)目內(nèi)容小包數(shù)據(jù)Pc的各部分之間還隨機(jī)插入配置其它的小包數(shù)據(jù)P。
如上所述構(gòu)成的以往的傳輸流解碼器,在輸入的傳輸流為單一傳輸流的情況下,對于從該傳輸流僅同時重放單一的節(jié)目并向用戶提示的用途已經(jīng)足夠了。這是由于,AV解碼器只要將輸入進(jìn)來的構(gòu)成單一節(jié)目的單一節(jié)目小包數(shù)據(jù)串Pss所包含的小包數(shù)據(jù)P按照輸入進(jìn)來的順序進(jìn)行解碼即可。
再有,由于輸入的單一傳輸流由固有的格式構(gòu)成,因此這些小包數(shù)據(jù)P全部只要根據(jù)同一格式進(jìn)行解碼即可。但是,對于上述傳輸流解碼器。在以下大致區(qū)別的三種節(jié)目重放形態(tài)中,不管是否將重放的節(jié)目同時向用戶提示,都不能適應(yīng)。
(重放形態(tài)1)
是在僅允許輸入單一傳輸流、即僅備有一個流輸入器的情況下,從該傳輸流同時重放多個節(jié)目的情況。
(重放形態(tài)2)是允許輸入多個傳輸流、即輸入的傳輸流由根據(jù)各自固定的格式生成的小包數(shù)據(jù)構(gòu)成的情況。在本生成形態(tài)中,同時輸入的傳輸流不管是多個還是單一,均可再細(xì)分為下面分類的六種重放形態(tài)。
重放形態(tài)2-1從多個傳輸流的各傳輸流僅重放單一節(jié)目的情況。
重放形態(tài)2-2從多個傳輸流的各傳輸流同時重放多個節(jié)目的情況。
重放形態(tài)2-3從多個傳輸流的一個特定傳輸流僅重放單一節(jié)目的情況。
重放形態(tài)2-3從多個傳輸流的一個特定傳輸流僅重放單一節(jié)目的情況。
重放形態(tài)2-4從多個傳輸流的一個特定傳輸流同時重放多個節(jié)目的情況。
重放形態(tài)2-5從多個傳輸流的幾個特定傳輸流同時重放多個節(jié)目的情況。
重放形態(tài)2-6從多個傳輸流的幾個特定傳輸流僅重放單一節(jié)目的情況。
(重放形態(tài)3)是必須以從傳輸流抽取的選擇單一節(jié)目小包數(shù)據(jù)串Pes所包含的小包數(shù)據(jù)P(Pc、PAT、PMT)為單位進(jìn)行數(shù)據(jù)處理的情況。所謂這種情況的數(shù)據(jù)處理,包括對節(jié)目內(nèi)容小包數(shù)據(jù)Pc、節(jié)目內(nèi)容管理表PAT或節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT本身進(jìn)行加工的情況,或者對每個小包數(shù)據(jù)P分別進(jìn)行規(guī)定處理的情況等。
下面具體敘述對于上述各重放形態(tài)以往的傳輸流解碼器不能適用的理由。
在重放形態(tài)1中,在從單一傳輸流Ts同時重放的多個節(jié)目內(nèi),必須將用戶所希望的特定節(jié)目以用戶所希望的方法進(jìn)行提示。在這種情況下,至少必須準(zhǔn)備使其能夠識別選擇單一節(jié)目小包數(shù)據(jù)串Pes或單一節(jié)目小包數(shù)據(jù)串Pss中混合存在的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的各小包數(shù)據(jù)與對應(yīng)的節(jié)目的關(guān)系,而且加以管理,并且該識別管理結(jié)果能夠作為信息加以利用。
在以往的傳輸流解碼器中,如上所述,由于也能夠抽取多個節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT,因此能夠知道單一傳輸流Ts中包含什么樣的節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc。但是,由于將輸入至節(jié)目小包濾波器PCF的多個節(jié)目內(nèi)容小包數(shù)據(jù)Pc僅根據(jù)構(gòu)成一個特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的小包標(biāo)識符PID這一項來簡單地進(jìn)行濾波后輸出,因此與該特定節(jié)目以外的節(jié)目各自對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc在選擇單一節(jié)目小包數(shù)據(jù)列Pes內(nèi)就不存在。當(dāng)然,不能獲得與各節(jié)目內(nèi)容小包數(shù)據(jù)Pc對應(yīng)的節(jié)目及識別管理結(jié)果的信息。
在重放形態(tài)2中,能夠同時輸入根據(jù)每個傳輸流規(guī)定的格式生成的小包數(shù)據(jù)所構(gòu)成的多個傳輸流TS。即,對于多個流輸入器的各個流輸入器,供給種類、方式或供應(yīng)商等為代表的不同格式的ε種傳輸流TS1~TSε。
在這樣的狀態(tài)下,在從多個傳輸流TS1~TSε的各傳輸流僅重放單一節(jié)目的重放形態(tài)2-1、從多個傳輸流TS1~TSε的一個特定傳輸流僅重放單一節(jié)目的重放形態(tài)2-3、以及從多個傳輸流TS1~TSε的幾個特定傳輸流僅重放單一節(jié)目的重放形態(tài)2-6的無論哪一個形態(tài)中,必須要區(qū)別重放的節(jié)目所屬的傳輸流Ts,識別選擇單一節(jié)目小包數(shù)據(jù)串Pes或單一節(jié)目小包數(shù)據(jù)串Pss中的節(jié)目內(nèi)容小包數(shù)據(jù)Pc與傳輸流TS的關(guān)系,進(jìn)一步對每個識別了的傳輸流Ts再識別小包數(shù)據(jù)的格式。但是,如上所述,在以往的傳輸流解碼器中不能進(jìn)行那樣的區(qū)別及識別。
另外,在從多個傳輸流TS1~TSε的各傳輸流同時重放多個節(jié)目的重放形態(tài)2-2、從多個傳輸流TS1~TSε的一個特定傳輸流同時重放多個節(jié)目的重放形態(tài)2-4、以及從多個傳輸流TS1~TSε的幾個特定傳輸流同時重放多個節(jié)目的重放行改2-5的無論哪一個形態(tài)中,為了在重放的多個節(jié)目內(nèi)提示用戶所希望的節(jié)目,需要傳輸流TS1~TSε及與節(jié)目有關(guān)的選擇單一節(jié)目小包數(shù)據(jù)串Pes所包含的全部小包數(shù)據(jù)P之間的關(guān)系及識別信息。還必須將構(gòu)成不同傳輸流TS的小包數(shù)據(jù)P(分別根據(jù)不同格式構(gòu)成)依次根據(jù)與該小包數(shù)據(jù)P的格式相應(yīng)的模式進(jìn)行節(jié)目。但是,如上所述,在以往的傳輸流解碼器中不能進(jìn)行那樣的識別。
關(guān)于重放形態(tài)3,有時對于與傳輸流TS所包含的節(jié)目相對應(yīng)的小包數(shù)據(jù)P(Pc、PAT、PMT)的各小包數(shù)據(jù),要根據(jù)用戶的要求進(jìn)行不同的處理。例如,某個節(jié)目為了向用戶提示,則將對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc簡單地依次輸出,使AV解碼器2000C進(jìn)行解碼,然后輸出給監(jiān)控器。而別的節(jié)目為了存入外部存儲裝置,則按照該存儲裝置及外圍設(shè)備的傳遞條件,構(gòu)成包含對應(yīng)節(jié)目內(nèi)容小包數(shù)據(jù)Pc的新的傳輸流TSr(未圖示)后輸出。
在這種情況下,為了按照要求的傳送條件,對節(jié)目內(nèi)容小包數(shù)據(jù)Pc進(jìn)行管理,并生成新的傳輸流TSr,就需要上述的識別管理信息。再有,在根據(jù)需要而對小包數(shù)據(jù)P本身進(jìn)行加工時,為了確定作為對象的小包數(shù)據(jù)P,并正確處理加工后的小包數(shù)據(jù)P,也需要上述的識別管理信息。這些條件必須根據(jù)進(jìn)行處理的小包數(shù)據(jù)P的格式進(jìn)行切換。但是,如上所述,在以往的傳輸流解碼器中不能進(jìn)行那樣的識別。
如上所述,以往的傳輸流解碼器適合于從單一傳輸流重放單一節(jié)目的用途。但是,對于單一傳輸流所包含的多個節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc,不能對每個節(jié)目進(jìn)行識別。另外,即使是單一傳輸流,由于不知道能夠輸入小包數(shù)據(jù)處理裝置的多個傳輸流TS1~TSε的哪一個正在輸入,同時不知道構(gòu)成現(xiàn)在輸入的傳輸流TS的小包數(shù)據(jù)格式,因此對小包數(shù)據(jù)不能進(jìn)行所希望的處理。
在多個傳輸流輸入時,對每個節(jié)目不能識別節(jié)目內(nèi)容小包數(shù)據(jù)Pc,再加上還不能區(qū)別傳輸流,不能識別傳輸流與重放節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)的關(guān)系。再有,由于不知道構(gòu)成輸入的傳輸流的小包數(shù)據(jù)格式,因此不能對小包數(shù)據(jù)進(jìn)行所希望的處理。
這樣,在以往的傳輸流解碼器中,不僅輸入的傳輸流是單一還是多個不能使用,而且對于重放多個節(jié)目或?qū)π“鼣?shù)據(jù)進(jìn)行所希望的處理的用途也不能使用。另外,在多個傳輸流輸入時,對于重放單一節(jié)目的用途也不能使用。
再有,無論在上述哪一個重放形態(tài)中,不僅是單一及多個,而且為了對從輸入的傳輸流TS重放的多個節(jié)目的各自內(nèi)容進(jìn)行相應(yīng)的處理,對于每個小包濾波器必須設(shè)置接口,與進(jìn)行適合小包數(shù)據(jù)格式的處理的裝置相對應(yīng)。為此,將導(dǎo)致裝置規(guī)模龐大、結(jié)構(gòu)復(fù)雜、處理負(fù)擔(dān)增大、不能適應(yīng)規(guī)格或要求處理的變化、以至于使成本增加等諸多問題。
本發(fā)明鑒于上述的問題,目的在于提供多格式小包數(shù)據(jù)處理裝置,它實時識別輸入進(jìn)來的每個傳輸流以不同格式生成的一個個小包數(shù)據(jù)是否為規(guī)定的處理對象,在是處理對象時,進(jìn)行適合該小包數(shù)據(jù)的格式的處理。
發(fā)明內(nèi)容
本發(fā)明為了達(dá)到上述的目的,具有下述的特征。
本發(fā)明的第一方面的多格式傳輸流解碼器,將根據(jù)預(yù)先規(guī)定的多個格式的某一個格式生成的、同時由附加了為了對其識別的小包數(shù)據(jù)識別信息的連續(xù)多個第一小包數(shù)據(jù)構(gòu)成的第一傳輸流的至少一個作為輸入,對所述第一小包數(shù)據(jù)有選擇地進(jìn)行用戶所希望的處理,生成第二傳輸流,包括存儲對多個第一小包數(shù)據(jù)的各小包數(shù)據(jù)進(jìn)行預(yù)先規(guī)定的至少一個處理順序的小包數(shù)據(jù)處理順序存儲器、將表示第一小包數(shù)據(jù)內(nèi)成為用戶所希望的處理對象的小包數(shù)據(jù)及處理順序內(nèi)與所希望的處理對應(yīng)的處理順序的處理要求信息輸入的處理要求信息輸入器、對第一傳輸流附加表示規(guī)定格式的傳輸流識別信息的傳輸流識別信息附加器、將第一小包數(shù)據(jù)一個個依次保持同時保持的第一小包數(shù)據(jù)抽取傳輸流識別信息及小包數(shù)據(jù)識別信息的小包數(shù)據(jù)保持識別器、以及將抽取的傳輸流識別信息及小包數(shù)據(jù)識別信息與處理要求信息比較并生成表示保持的第一小包數(shù)據(jù)是否為預(yù)先所希望的處理對象的處理對象判斷信號的處理對象小包數(shù)據(jù)數(shù)據(jù)選定器。
如上所述,在第一方面中,對輸入的傳輸流能夠根據(jù)各固有的格式進(jìn)行適當(dāng)?shù)慕獯a。
本發(fā)明的第二方面是在第一方面中,處理要求信息包含表示第一小包數(shù)據(jù)內(nèi)是用戶所希望的處理對象的小包數(shù)據(jù)的對象小包數(shù)據(jù)識別信息、與處理對象的第一小包數(shù)據(jù)對應(yīng)的對象傳輸流識別信息、以及對處理對象的第一小包數(shù)據(jù)預(yù)先規(guī)定的處理順序內(nèi)與處理對應(yīng)的處理順序信息。
本發(fā)明的第三方面是在第二方面中,處理對象小包數(shù)據(jù)數(shù)據(jù)選定器僅在抽取的傳輸流識別信息及小包數(shù)據(jù)識別信息與各對象傳輸流識別信息及對象小包數(shù)據(jù)識別信息及處理對象的第一小包數(shù)據(jù)一致時,生成表示對第一小包數(shù)據(jù)進(jìn)行所希望的處理的處理對象判斷信號。
本發(fā)明的第四方面是在第三方面中,小包數(shù)據(jù)保持識別器具有將第一小包數(shù)據(jù)的各小包數(shù)據(jù)按照輸入進(jìn)來的順序保持規(guī)定時間的第一小包數(shù)據(jù)保持器、將對第一小包數(shù)據(jù)保持器存儲的第一小包數(shù)據(jù)進(jìn)行處理順序的處理時生成的中間生成物進(jìn)行存儲用的第二小包數(shù)據(jù)保持器、以及將對第一小包數(shù)據(jù)進(jìn)行處理順序的處理時生成的最終生成物進(jìn)行存儲用的第三小包數(shù)據(jù)保持器。
本發(fā)明的第五方面是在第四方面中,在處理對象判斷信號表示保持的第一小包數(shù)據(jù)不是預(yù)先規(guī)定的處理對象時,第一小包數(shù)據(jù)保持器為了存儲其它的第一小包數(shù)據(jù)而打開。
本發(fā)明的第六方面是在第五方面中,還包含在處理對象判斷信號表示保持的第一小包數(shù)據(jù)是預(yù)先規(guī)定的處理對象時對保持的第一小包數(shù)據(jù)根據(jù)處理順序信息進(jìn)行處理的數(shù)據(jù)處理器。
附圖簡要說明
圖1所示為本發(fā)明實施形態(tài)有關(guān)的多格式小包數(shù)據(jù)數(shù)據(jù)的結(jié)構(gòu)方框圖。
圖2為圖1所示的控制器周邊的主要部分詳細(xì)方框圖。
圖3所示為圖1所示的緩沖器單元分配信息存儲器及小包緩沖器的詳細(xì)說明圖。
圖4所示為圖3所示的存儲結(jié)束緩沖器單元編號存儲器的詳細(xì)說明圖。
圖5所示為圖4所示的存儲結(jié)束緩沖器單元編號存儲器的變型例的說明圖。
圖6所示為圖1所示的多格式傳輸流解碼器中各種信號的波形圖。
圖7所示為圖1所示的多格式傳輸流解碼器的主要動作流程圖。
圖8所示為圖7所示的傳輸流TS1~TSε的小包數(shù)據(jù)P存儲子程序的詳細(xì)動作流程圖。
圖9所示為對圖7所示的傳輸流TS1~TSε的小包數(shù)據(jù)P要求處理執(zhí)行子程序的詳細(xì)動作流程圖。
圖10所示為圖9所示的多格式小包數(shù)據(jù)處理子程序的詳細(xì)動作流程圖。
圖11所示為圖10所示的小包緩沖器確認(rèn)子程序的詳細(xì)動作流程圖。
圖12所示為圖10所示的小包數(shù)據(jù)濾波控制子程序的詳細(xì)動作流程圖。
圖13所示為圖10所示的與訪問對象小包數(shù)據(jù)對應(yīng)的處理要求表取得子程序的詳細(xì)動作流程圖。
圖14所示為圖13所示的與訪問對象小包數(shù)據(jù)對應(yīng)的處理要求表取得子程序的變形例的詳細(xì)動作流程圖。
圖15所示為圖10所示的解擾控制子程序的詳細(xì)動作流程圖。
圖16所示為圖10所示的小包模式選擇控制子程序的詳細(xì)動作流程圖。
圖17所示為圖16所示的小包模式選擇控制子程序的變形例的詳細(xì)動作流程圖。
圖18所示為圖10所示的主存儲器控制子程序的詳細(xì)動作流程圖。
圖19所示為圖10所示的流輸出控制子程序的詳細(xì)動作流程圖。
圖20所示為圖19所示的第一流輸出設(shè)定子程序的詳細(xì)動作流程圖。
圖21所示為圖19所示的第二流輸出設(shè)定子程序的詳細(xì)動作流程圖。
圖22所示為圖19所示的流輸出控制子程序的詳細(xì)動作流程圖。
圖23為本發(fā)明的對小包數(shù)據(jù)進(jìn)行處理的說明圖。
圖24為本發(fā)明的對小包數(shù)據(jù)進(jìn)行處理的說明圖。
圖25為本發(fā)明的緩沖器單元最小容量的說明圖。
圖26所示為管理字節(jié)BM的結(jié)構(gòu)說明圖。
圖27所示為輔助數(shù)據(jù)的結(jié)構(gòu)說明圖。
圖28所示為控制表的結(jié)構(gòu)說明圖。
圖29所示為入口表的結(jié)構(gòu)說明圖。
圖30為入口表說明圖。
圖31所示為處理要求表Pdt的結(jié)構(gòu)說明圖。
圖32所示為解擾判斷參數(shù)的相互關(guān)系的說明圖。
圖33所示為控制器與小包分析器之間交換的信號內(nèi)容的說明圖。
圖34所示為DMA總線仲裁器與主存儲器控制器之間交換的信號內(nèi)容的說明圖。
圖35所示為控制器與流輸出器之間交換的信號內(nèi)容的說明圖。
圖36所示為輸入至圖1所示的多格式傳輸流解碼器的二個傳輸流的小包結(jié)構(gòu)示意圖。
圖37所示為在圖1所示的多格式傳輸流解碼器中對從圖36所示的二個輸入傳輸流確定的內(nèi)容小包數(shù)據(jù)進(jìn)行處理的情況的說明圖。
圖38所示為在圖37的處理在存入圖1所示的主存儲器的內(nèi)容小包數(shù)據(jù)的說明圖。
圖39所示為從圖38所示的主存儲器輸出的多個TS多個節(jié)目小包數(shù)據(jù)串的結(jié)構(gòu)說明圖。
圖40所示為輸入至圖1所示的多格式傳輸流解碼器的在ITU-T建議H.220.0中規(guī)定的二個輸入傳輸流的結(jié)構(gòu)說明圖。
圖41所示為考慮到能夠從單一傳輸流提供多個節(jié)目內(nèi)容小包數(shù)據(jù)的數(shù)據(jù)輸出的、以往主要由硬件實現(xiàn)的傳輸流解碼器的結(jié)構(gòu)方框圖。
圖42所示為輸入至圖41所示的以往傳輸流解碼器的傳輸流的結(jié)構(gòu)說明圖。
圖43為利用圖41所示的以往的傳輸流解碼器從單一傳輸流抽取而構(gòu)成的選擇單一節(jié)目小包數(shù)據(jù)的數(shù)據(jù)串的說明圖。
圖44所示為選擇單一節(jié)目小包數(shù)據(jù)的數(shù)據(jù)串存入圖41所示的主存儲器的狀態(tài)的示意圖。
圖45所示為輸入圖41所示的主存儲器或從其輸出的單一節(jié)目小包數(shù)據(jù)的數(shù)據(jù)串的結(jié)構(gòu)說明圖。
實施發(fā)明的最佳形態(tài)為了更詳細(xì)說明本發(fā)明,下面根據(jù)附圖進(jìn)行說明。
圖1所示為本發(fā)明實施形態(tài)例有關(guān)的多格式傳輸流解碼器TD。多格式傳輸流解碼器TD包含從外部的傳輸流源(未圖示)分別接受以小包為單位供給的多個ε(ε>=2)傳輸流TS1~TSε的流輸入器TSR1~TSRε、數(shù)據(jù)緩沖裝置DBA、定時器600、主存儲器控制器700、主存儲器900、TD控制器TDC及附帶處理要求輸入器APR。
下面根據(jù)圖1說明輸入至本發(fā)明的多格式傳輸流解碼器TD的傳輸流流程的簡要情況。另外,關(guān)于本申請復(fù)雜的構(gòu)成要素的詳細(xì)內(nèi)容將在本實施例的最后部分加以敘述。第一流輸入器TSR-1~第ε流輸入器TSR-ε對分別從外部傳輸流源(未圖示)以小包為單位供給的傳輸流TS1~TSε,附加為了分別識別它們用的ID即傳輸流標(biāo)識符TSID。這時,流輸入器TSR-ε識別輸入的傳輸流中小包大小等格式。
傳輸流標(biāo)識符TSID將輸入的多個(1~ε)以內(nèi)的任意傳輸流TS作為I(1≤i≤ε)表示。根據(jù)該考慮方法,將輸入至多格式傳輸流解碼器TD的任意傳輸流TS作為第i傳輸流標(biāo)識符TSi表示。
然后,流輸入器TSR將附加了傳輸流標(biāo)識符TSID的傳輸流TS暫時保持在內(nèi)容具有的輸入緩沖器中,再將它們以每個規(guī)定的傳送單位TSd1~傳送單位TSdε傳送給數(shù)據(jù)緩沖裝置DBA。
TD控制器TDC控制整個多格式傳輸流解碼器TD的動作。
數(shù)據(jù)緩沖裝置DBA包含小包緩沖仲裁器PBA、小包選擇器400、流輸出管理器550、中間處理用緩沖器單元使用存儲器530、小包分析器1000、流輸出器1300及控制器PBAC。小包緩沖仲裁器PBA以小包數(shù)據(jù)P為單位識別從流輸入器TSR以每個傳送單位TSd輸入的傳輸流TS,進(jìn)行緩沖。小包選擇器400判斷緩沖的小包數(shù)據(jù)P是否為所希望的小包數(shù)據(jù)P。
小包緩沖仲裁器PBA包含DMA總線仲裁器210、TSd輸入開始檢測器220、緩沖器單元分配器230、緩沖器單元分配信息存儲器240、寫入對象緩沖器單元指定器250、小包緩沖器控制器260、小包緩沖器270、存儲結(jié)束緩沖器單元編號存儲器控制器280、存儲結(jié)束緩沖器單元編號存儲器290、出錯標(biāo)記設(shè)定器295及小包訪問器300。
DMA總線仲裁器210只具有與輸入的傳輸流TS的數(shù)量ε相同的輸入口組合。這樣,由于對每個輸入的傳輸流TS具有輸入口組合,能夠分別識別輸入至多格式傳輸流解碼器TD的第I傳輸流TSi。
再有,DMA總線仲裁器210對與輸入的傳輸流TS的數(shù)量ε對應(yīng)備有的每個流輸入器TSR1~TSRε,備有輸出數(shù)據(jù)有效信號Sde1~Sdeε的輸出口。
DMA總線仲裁器210根據(jù)第I流輸入器TSRi輸入的第I小包頭部檢測信號Spsi及第I請求信號Srqi,將第I小包頭部檢測信號Spsi輸出給TSd輸入開始檢測器220。
TSd輸入開始檢測器220根據(jù)小包頭部檢測信號Spi及傳送單位TSd,對每個小包數(shù)據(jù)P檢測傳送單位TSd的輸入是否開始,同時將輸入開始的傳送單位TSd供給小包緩沖器控制器260。
小包緩沖器控制器260對寫入要求信號Swd進(jìn)行應(yīng)答,將TSd輸入開始檢測器220供給的傳送單位Tsdi寫入小包緩沖器270分配的緩沖器單元。
小包訪問器300經(jīng)由小包緩沖器控制器260及DMA總線仲裁器210,有選擇地對剛存入小包緩沖器270的緩沖器單元之后的小包數(shù)據(jù)P進(jìn)行訪問,進(jìn)行讀出、比較或編輯等處理后,經(jīng)由DMA總線仲裁器210及小包緩沖器控制器260,對原來的小包數(shù)據(jù)P進(jìn)行重寫更新。
數(shù)據(jù)緩沖裝置DBA在對處理對象小包數(shù)據(jù)P進(jìn)行上述所希望的處理之后,作為選擇多個TS多個節(jié)目小包數(shù)據(jù)串Pemm輸出給主存儲器控制器700。
主存儲器900將從數(shù)據(jù)緩沖裝置DBA輸出的第一傳輸流TS1~第ε傳輸流TSε抽取的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm進(jìn)行存儲,同時對以AV解碼器為代表的外部設(shè)備(未圖示)作為多TS多節(jié)目小包數(shù)據(jù)串Pmsm進(jìn)行輸出。
主存儲器控制器700將選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm及多TS多節(jié)目小包數(shù)據(jù)串Pmsm以每個傳送單位TSd暫時加以保持。主存儲器控制器700還控制主存儲器900的動作,將暫時保持的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm以每個傳送單位TSd輸出給主存儲器900,同時控制主存儲器900,在其內(nèi)部形成多TS多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PmsmV及多TS多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PmsmS。
下面參照圖2及圖3,簡單說明上述的緩沖器單元分配信號存儲器240、小包緩沖器270與存儲結(jié)束緩沖器單元編號存儲器290的關(guān)系。如圖2所示,將小包緩沖器270大致區(qū)分,包含m(m為2ε及2ε以上的整數(shù))個一次緩沖器單元Bc_I1~Bc_Im、n(n為大于m/2的整數(shù))個二次緩沖器單元Bc_M1~BC_Mn、以及一個及一個以上的三次緩沖器單元Bc_O這是由于,對每個輸入的傳輸流TS,需要一個小包數(shù)據(jù)P的存儲用及存儲的小包數(shù)據(jù)P讀出用的不同的一次緩沖器單元BC_I。另外,在輸入第一傳輸流TS1及第二傳輸流TS2的二個(ε=2)傳輸流TS時,一次緩沖器單元Bc_I的個數(shù)m為4(2×2)及4以上的整數(shù)。
另外,二次緩沖器單元Bc_M由于只要與一次緩沖器單元BC_I的讀出用對應(yīng)設(shè)置即可,因此需要數(shù)n為m/2及m/2以上的整數(shù)。再有,三次緩沖器單元Bc_O由于只要在對一個小包數(shù)據(jù)P的處理過程的中間數(shù)據(jù)累積完成后輸出即可,因此只要一個及一個以上就行。
一次緩沖器單元Bc_I1~Bc_Im分別經(jīng)由TSd輸入開始檢測器220及小包緩沖器控制器260,將以傳送單位TSd輸入的小包數(shù)據(jù)P僅存儲第一規(guī)定時間T1,接受對存儲的小包數(shù)據(jù)P的處理。利用小包緩沖器控制器260,讀出一次緩沖器單元Bc_I存儲的小包數(shù)據(jù)P的小包標(biāo)識符PID及傳輸流標(biāo)識符TSID作為抽取小包識別信息PIDe及抽取傳輸流標(biāo)識符TSIDe。
再有,在解擾器1100及段數(shù)據(jù)選擇器1200處理時讀出一次緩沖器單元Bc_I。然后,在一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P內(nèi)被加擾的被加擾數(shù)據(jù)Dsdi輸出給解擾器1100。另外,在一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P是段數(shù)據(jù)時,將要選擇段數(shù)據(jù)Ssdi2輸出給段數(shù)據(jù)選擇器1200。
解擾器1100將一次緩沖器單元Bc_I輸入的被加擾數(shù)據(jù)Dsdi進(jìn)行解擾,生成被解擾數(shù)據(jù)Dsdo。段數(shù)據(jù)選擇器1200將一次緩沖器單元Bc_I輸入的要選擇段數(shù)據(jù)Ssdi2進(jìn)行段數(shù)據(jù)選擇,生成被選擇小包數(shù)據(jù)Ssdo。
二次緩沖器單元Bc_M與解擾器1100連接,將被解擾數(shù)據(jù)Dsdo僅存儲第二規(guī)定時間T2(T2<T1)。再有,段數(shù)據(jù)選擇器1200與二次緩沖器Bc_M連接,讀出存儲的被解擾數(shù)據(jù)Dsdo內(nèi)的解擾的實數(shù)據(jù)作為要選擇段數(shù)據(jù)Ssdi1,進(jìn)行段數(shù)據(jù)選擇,生成被選擇小包數(shù)據(jù)Ssdo。
三次緩沖器單元Bc_O與段數(shù)據(jù)選擇器1200連接,將從要選擇段數(shù)據(jù)Ssdi1或要選擇段數(shù)據(jù)Ssdi2的某一個要選擇段數(shù)據(jù)生成的被選擇小包數(shù)據(jù)Ssdo僅存儲第三規(guī)定時間T3(T3<T2)。
緩沖器單元BC的各單元能夠暫時存儲規(guī)定大小的數(shù)據(jù),即能夠進(jìn)行緩沖。將為此所必需的緩沖器單元Bc的容量稱為最低緩沖器容量MBU。最低緩沖器容量MBU可根據(jù)構(gòu)成小包數(shù)據(jù)P的小包數(shù)據(jù)P的數(shù)據(jù)大小適當(dāng)設(shè)定。若設(shè)定最低緩沖器容量MBU小于小包大小,則雖然能夠?qū)?jié)目內(nèi)容小包數(shù)據(jù)Pc的抽取進(jìn)行更精細(xì)地控制,但DMA總線仲裁器210中的輸入輸出仲裁頻次增大,導(dǎo)致為此而進(jìn)行的控制工時增大,處理效率下降。
另外,若設(shè)定最低緩沖器容量MBU大于小包大小,例如為幾倍左右,則一個緩沖器單元Bc中能夠存儲多個小包數(shù)據(jù)P。但是,在這種情況下,由于不能區(qū)別一個緩沖器單元Bc中存儲的多個小包數(shù)據(jù)P,因此不能以小包數(shù)據(jù)P為單位進(jìn)行控制或訪問。所以,最低緩沖器容量MBU應(yīng)該根據(jù)傳輸流解碼器的內(nèi)部處理速度、小包數(shù)據(jù)P的輸入速率、小包大小及對小包數(shù)據(jù)P的訪問頻次進(jìn)行適當(dāng)設(shè)定。
另外,在本例中,最低緩沖器容量這樣設(shè)定,使其能夠存儲一個小包數(shù)據(jù)P,具體來說設(shè)定為188個字節(jié)。另外,也可以根據(jù)需要,使其能夠存儲對一個小包數(shù)據(jù)P追加為了識別或管理小包數(shù)據(jù)P用的具有規(guī)定字節(jié)數(shù)的輔助數(shù)據(jù)。但是,也可以根據(jù)需要,如上所述使其設(shè)定為小于小包大小,即將一個小包分割存儲在多個緩沖器單元Bc。
另外,最低緩沖器容量MBU不管有無分割,它是對存儲的數(shù)據(jù)加上相當(dāng)于管理信息的管理字節(jié)的量。管理信息中至少包含表示存儲的分割或不分割的數(shù)據(jù)是屬于輸入的多個傳輸流Ts中哪一個傳輸流的傳輸流識別信息。
另外,在將小包分割存儲時,最低緩沖器容量MBU成為小包數(shù)據(jù)P分割后的數(shù)據(jù)的最大大小與包含分割信息及傳輸流小包識別的管理數(shù)據(jù)大小之和。在這種情況下,緩沖器單元Bc的個數(shù)N的最小值即緩沖器單元最少個數(shù)Nmin成為對2ε乘以分割數(shù)D的數(shù)值(緩沖器單元最少個數(shù)Nmin為2εD)。
再有,下面敘述不同小包數(shù)據(jù)P之間的輸入速率的差異。即,在輸入至多格式傳輸流解碼器TD的多個ε的傳輸流TS1~TSε中,各傳輸流所包含的小包數(shù)據(jù)P的輸入速率在多數(shù)情況下下對每個傳輸流TSi都不相同。現(xiàn)在,以輸入二個(ε=2)傳輸流TS1及TS2的情況為例進(jìn)行說明。在將第一傳輸流TS1的節(jié)目1的節(jié)目內(nèi)容小包數(shù)據(jù)Pc101及Pc111、和第二傳輸流TS2的第四節(jié)目內(nèi)容小包數(shù)據(jù)Pc401及Pc411進(jìn)行緩沖時,考慮節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的輸入速率絕對大于節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的輸入速率的情況。
在這種情況下,即使設(shè)節(jié)目內(nèi)容小包數(shù)據(jù)Pc101與Pc401同時到達(dá)多格式傳輸流解碼器TD,由DMA總線仲裁器210r進(jìn)行仲裁,1個小包數(shù)據(jù)(例如節(jié)目內(nèi)容小包數(shù)據(jù)Pc101)的緩沖器比另一個小包數(shù)據(jù)(例如節(jié)目內(nèi)容小包數(shù)據(jù)Pc401)先開始。然后,在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的緩沖器開始后,接著節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的緩沖開始。但是,由于節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的輸入速率絕對大于節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的輸入速率,因此在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的緩沖途中,節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的輸入已經(jīng)結(jié)束。
要適應(yīng)這樣的狀態(tài),為了在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101進(jìn)行緩沖中,對后來輸入的高速率的節(jié)目內(nèi)容小包數(shù)據(jù)Pc411進(jìn)行緩沖,必須備有緩沖器單元Bc。這種情況下的緩沖器單元最少個數(shù)Nmin,雖然根據(jù)輸入的傳輸流TS的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的輸入速率來決定,但若使最低緩沖器容量MBU為一定,則緩沖器單元最少個數(shù)Nmin一般與輸入傳輸流TS的數(shù)量成正比。
另外,在本例中,最低緩沖器容量MBU這樣決定,使其能夠存儲對一個小包數(shù)據(jù)P附加規(guī)定的管理數(shù)據(jù)后的數(shù)據(jù),具體來說取192個字節(jié),使其能夠存放對188個字節(jié)的一個小包數(shù)據(jù)P附加4個字節(jié)的管理數(shù)據(jù)后的數(shù)據(jù)。另外,4個字節(jié)的管理數(shù)據(jù)中,包含上述的傳輸流識別信息,同時還包含表示該小包數(shù)據(jù)P的到達(dá)時間的時間標(biāo)志信息。關(guān)于這一內(nèi)容,將在隨后參照圖16進(jìn)行說明。
另外,下面參照圖3、圖24、圖25、圖26及圖27,說明一次緩沖器單元Bc-I、二次緩沖器單元Bc-M及三次緩沖器單元Bc-O中存儲的數(shù)據(jù)。在圖25中所示的例子的情況是,第一傳輸流TS1的小包數(shù)據(jù)P1由第一格式FMTI構(gòu)成,第二傳輸流TS2的小包數(shù)據(jù)P2由第二格式FMT2構(gòu)成。
隨便說一下,由第一格式是FMT1構(gòu)成的小包數(shù)據(jù)P1(TS1),從頭部開始按照屬性管理字節(jié)BMh、輔助數(shù)據(jù)AXD、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的順序排列而構(gòu)成。若設(shè)屬性管理字節(jié)BMh、輔助數(shù)據(jù)AXD、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的字節(jié)大小分別為M、NI、RI及M,則為了存儲這樣的小包數(shù)據(jù)PI(TS1FMT1),緩沖器單元Bc所要求的最小容量MBU成為2M+N1+R1。
同樣,由第二第格式FMT2構(gòu)成的小包數(shù)據(jù)P2(TS2),從頭部開始按照屬性管理字節(jié)BMh、輔助數(shù)據(jù)AXD、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的順序排列而構(gòu)成。若設(shè)屬性管理字節(jié)BMh、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的字節(jié)大小分別為M、R2及M,則為了存儲這樣的小包數(shù)據(jù)P2(TS2FMT2),緩沖器單元Bc所要求的最小容量MBU成為2M+R2。
再回到圖2,下面以在奇數(shù)號的一次緩沖器單元Bc-I中存儲第一格式FMT1的小包數(shù)據(jù)P、在偶數(shù)號的一次緩沖器單元Bc-I中存儲第二第格式FMT2(段數(shù)據(jù))的小包數(shù)據(jù)P為例進(jìn)行說明。在奇數(shù)號的一次緩沖器單元Bc-I中按照處理管理字節(jié)BMp、復(fù)制數(shù)據(jù)AXD、實數(shù)據(jù)PDI及屬性管理字節(jié)BMh的順序存儲,在偶數(shù)號的一次緩沖器單元Bc-I中按照處理管理字節(jié)BMp、實數(shù)據(jù)PD2及屬性管理字節(jié)BMh的順序存儲。
奇數(shù)號的一次緩沖器單元Bc-I中存儲的輔助數(shù)據(jù)AXD及實數(shù)據(jù)PD作為第一流Ph01從流輸出器1300輸出。偶數(shù)號的一次緩沖器單元Bc-I中存儲的實數(shù)據(jù)Ph02從流輸出器1300輸出。
再有,處理管理字節(jié)BMp及輔助數(shù)據(jù)AXD及實數(shù)據(jù)PD從奇數(shù)號的一次緩沖器單元Bc-I作為被加擾數(shù)據(jù)Dsdi輸出給解擾器1100。解擾器1100將被加擾數(shù)據(jù)Dsdi的輔助數(shù)據(jù)AXD及實數(shù)據(jù)PD進(jìn)行解擾,生成解擾器輔助數(shù)據(jù)AXD’。然后,將處理管理字節(jié)BMp及被解擾輔助數(shù)據(jù)AXD’及被解擾實數(shù)據(jù)PD’作為被解擾數(shù)據(jù)Dsdo輸出給二次緩沖器單元Bc-M。
在二次緩沖器單元Bc-M中,被解擾數(shù)據(jù)Dsdo按照處理管理字節(jié)BMp、被解擾輔助數(shù)據(jù)AXD’及被解擾實數(shù)據(jù)PD’的順序存儲。然后,處理管理字節(jié)BMp、被解擾輔助數(shù)據(jù)AXD’及被解擾實數(shù)據(jù)PD’從二次緩沖器單元Bc-M作為要選擇段數(shù)據(jù)Ssdi1輸出給段數(shù)據(jù)選擇器1200。
段數(shù)據(jù)選擇器1200對要選擇段數(shù)據(jù)Ssdi1進(jìn)行選擇,生成被選擇實數(shù)據(jù)PD”,輸出給三次緩沖器單元Bc-O。
處理管理字節(jié)BMp及輔助數(shù)據(jù)AXD實數(shù)據(jù)PD從偶數(shù)號的一次緩沖器單元Bc-I作為要選擇段數(shù)據(jù)Ssdi2輸出給段數(shù)據(jù)選擇器1200。段數(shù)據(jù)選擇器1200對要選擇段數(shù)據(jù)Ssdi2進(jìn)行選擇,生成被選擇實數(shù)據(jù)PD”,作為被選擇小包數(shù)據(jù)Ssdo輸出三次緩沖器單元Bc-O。
這樣,根據(jù)小包數(shù)據(jù)P的格式處理的被選擇實數(shù)據(jù)PD”存入三次緩沖器單元Bc-O。
緩沖器單元分配信息存儲240具有與小包緩沖器270的一次緩沖器單元Bc-I1~Bc-Im的各單元對應(yīng)的一次緩沖器單元分割信息區(qū)AL1~Aim單元、以及與二次緩沖器單元Bc-M1~Bc-Mn的各單元對應(yīng)的二次緩沖器單元分配信息區(qū)AM1~Amn。緩沖器單元分配信息存儲器240根據(jù)緩沖器單元分配器230供給的一次緩沖器單元分配信息Iba,將表示有無分割的分配識別數(shù)據(jù)寫入分配的與一次緩沖器單元Bc-I對應(yīng)的一次緩沖器單元分配信息區(qū)AI。即,在緩沖器單元分配信息存儲器240中備有與小包緩沖器270的一次緩沖器單元Bc-I1~Bc-Im相同數(shù)量的一次緩沖器單元分配信息區(qū)AI1~AIm。
同樣,緩沖器單元分配信息存儲器240根據(jù)中間處理用緩沖器單元使用存儲器530供給的二次緩沖器單元分配信息mrp,將表示有無分配的分配識別數(shù)據(jù)寫入分配的與二次緩沖器單元Bc-M對應(yīng)的二次緩沖器單元分配信息區(qū)AM。即,在緩沖器單元分配信息存儲器240中備有與小包緩沖器270的二次緩沖器單元Bc-M1~Bc-Mn相同數(shù)量的二次緩沖器單元分配信息區(qū)AM1~Amn。
例如,分配識別數(shù)據(jù)是1及0的二值數(shù)值,初始值為0。然后,在一次緩沖器單元Bc-I1被分配時,與一次緩沖器單元Bc-I1對應(yīng)的一次緩沖器單元分配信息區(qū)AI1中例如寫入1。另外,在寫入一次緩沖器單元Bc_I1的數(shù)據(jù)被讀出后,根據(jù)控制器PBAC輸出的控制信號Sc,在一次緩沖器單元分配信息區(qū)AI1中寫入0,一次緩沖器單元Bc_I1被打開。對于二次緩沖器單元Bc_M,也與上述情況相同。
這樣,小包緩沖器270的各一次緩沖器單元Bc_I1~Bc_Im的各分配狀況就以一次緩沖器單元分配信息區(qū)AI1~AIm中的數(shù)值集合來表示,作為分配一次緩沖器單元信息Iab,供給緩沖器單元分配器230。同樣,二次緩沖器單元Bc_M1~Bc_Mn的各分配狀況就以二次緩沖器單元分配信息區(qū)AM1~AMn中的數(shù)值集合來表示,作為分配二次緩沖器單元信息mWp,供給中間處理用緩沖器單元使用存儲器530。
下面參照圖7,詳細(xì)說明上述多格式傳輸流解碼器TD的主要動作。多格式傳輸流解碼器TD在電源接通后開始其動作。
首先,在步驟#100的“初始化子程序”中,包含存儲結(jié)束緩沖器單元編號存儲器290的寫指針Wp及讀指針RP的值都復(fù)位為0在內(nèi),進(jìn)行裝置的初始化。然后,處理進(jìn)入下一個步驟#200。
在步驟#200的“傳輸流TS1~TSε的提供節(jié)目及能夠處理指示”子程序中,根據(jù)TD控制器TDC的主存儲器900的PAT存儲區(qū)Ar(PAT)及PMT存儲區(qū)Ar(PMT)中對每個傳輸流TS1~TSε分別存儲的節(jié)目內(nèi)容管理表PAT1~PATε及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1~PMTε,生成表示傳送的節(jié)目及多格式傳輸流解碼器TD能夠向用戶提供的處理功能的節(jié)目內(nèi)容提示信號Sp,輸出給附帶處理要求輸入器APR。
附帶處理要求輸入器APR根據(jù)節(jié)目內(nèi)容提示信號Sp,用顯示器等適當(dāng)?shù)娘@示裝置,向用戶一覽提示傳送節(jié)目及提供處理功能。用戶操作附帶處理要求輸入器APR,在提示的節(jié)目及處理功能內(nèi),選擇所希望的節(jié)目及處理功能。
在步驟#300的“對傳輸流TS1~TSε的處理要求檢測”子程序中,附帶處理要求輸入器APR根據(jù)節(jié)目內(nèi)容提示信號Sp,檢測對多個傳輸流TS1~TSε的用戶處理要求,生成處理要求信號Se,輸出給TD控制器TDC。
在步驟#400的“對傳輸流TS1~TSε的處理內(nèi)容決定”子程序中,Td控制器TDC根據(jù)處理要求信號Se,決定在多格式傳輸流解碼器Td一側(cè)應(yīng)該進(jìn)行的具體處理內(nèi)容。具體來說,TD控制器TDC根據(jù)附帶處理要求輸入器APR輸入的處理要求信號Se,生成成為處理對象的節(jié)目、對節(jié)目的處理方法、以及處理所需要的器件等裝置的信息為代表的處理內(nèi)容信息。生成處理內(nèi)容信息。
在步驟#500的“處理對象小包數(shù)據(jù)識別信息小包標(biāo)識符PIDd及傳輸流標(biāo)識符TSIDd生成”子程序中,Td控制器TDC根據(jù)在步驟#400中決定的處理內(nèi)容信息,生成表示應(yīng)處理的小包數(shù)據(jù)P的處理對象小包數(shù)據(jù)識別信息小包標(biāo)識符PIDd及表示應(yīng)處理的小包數(shù)據(jù)P分別屬于的傳輸流TSε的對象傳輸流識別信息TSIDd,輸出給小包選擇器400。
在步驟#600的“傳輸流TS1~TSε的小包數(shù)據(jù)P存儲”子程序中,依次輸入至多格式傳輸流解碼器TD的ε個傳輸流TS1~TSε所包含的小包數(shù)據(jù)P1~Pε開始向數(shù)據(jù)緩沖裝置DBA進(jìn)行緩沖。另外,小包數(shù)據(jù)Pi以小包數(shù)據(jù)P/n單位(n為自然數(shù))存儲在數(shù)據(jù)緩沖裝置DBA的一次緩沖器單元Bc_I的各單元中。關(guān)于本步驟中的處理,將在隨后參照圖8詳細(xì)敘述。在規(guī)定數(shù)量的小包數(shù)據(jù)P結(jié)束存儲的時刻,開始下一個步驟#700的處理。換句話說,在數(shù)據(jù)緩沖裝置DBA的多個一次緩沖器單元Bc_I內(nèi),在小包數(shù)據(jù)P存儲了規(guī)定數(shù)量的緩沖器單元Bc的各單元的狀態(tài)下,開始步驟#700的處理。
在步驟#700的“傳輸流TS1~TSε的處理對象小包數(shù)據(jù)P選擇”子程序中,在依次存入數(shù)據(jù)緩沖裝置DBA的一次緩沖器單元Bc_I的小包數(shù)據(jù)P中,選擇處理對象的小包數(shù)據(jù)。具體來說,是通過判斷存入一個一次緩沖器單元Bc_I的小包數(shù)據(jù)是否在步驟#400中特定的小包數(shù)據(jù)P及是否具有在步驟#500中決定的小包標(biāo)識符PID(處理對象小包數(shù)據(jù)識別信息PIDd),進(jìn)行作為處理對象小包數(shù)據(jù)P的選擇。
在步驟#8000的“對傳輸流TS1~TSε的小包數(shù)據(jù)P的要求處理執(zhí)行”子程序中,對在步驟#700中選擇的小包數(shù)據(jù)P,執(zhí)行在步驟#400中決定內(nèi)容的用戶要求處理。在本實施形態(tài)中,在依次存入一次緩沖器單元Bc_I的多個傳輸流TS1~TSε的小包數(shù)據(jù)P1~Pε中,僅抽取在步驟#700中選擇的特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)P,所示的例子是抽取選擇多個TS多個節(jié)目小包數(shù)據(jù)串Pemm(Pem1、Pem2)、關(guān)于這一情況,將在隨后參照圖26詳細(xì)敘述。另外,要求的處理不限于選擇抽取構(gòu)成特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc,當(dāng)然也能夠用于各種數(shù)字處理。
在#900的“傳輸流TS1~TSε處理后小包數(shù)據(jù)P存儲”子程序中,將步驟#8000中抽取的選擇多個節(jié)目小包數(shù)據(jù)串Pemm輸出給主存儲器控制器700,生成多個節(jié)目小包數(shù)據(jù)串Pmsm。
另外,如上所述,步驟#600主要是利用硬件的被動性處理,步驟#700~#900主要是利用軟件主動性處理。因而,步驟#600與步驟#700~#900最好是作為并行處理來構(gòu)成的。為此,最好在開始步驟#700的對象處理小包數(shù)據(jù)P選擇子程序之前,在步驟#600中,小包數(shù)據(jù)P僅存入適當(dāng)數(shù)量的一次緩沖器單元Bc_I。關(guān)于這一情況,將在隨后參照圖8進(jìn)行說明。
但是,在本圖中所示的是采用將步驟#600、#700、#8000及#900等作為一連串步驟反復(fù)處理的結(jié)構(gòu)。下面簡單說明這樣的結(jié)構(gòu)的動作。在一開始進(jìn)行步驟#600的“傳輸流TS1~TSε的小包數(shù)據(jù)P存儲”子程序時,等待小包數(shù)據(jù)P存入規(guī)定數(shù)量的緩沖器單元Bc后,連續(xù)執(zhí)行步驟#700、#8000及#900的處理。然后,在第二次以后的步驟#600中,在小包數(shù)據(jù)P存入不是規(guī)定數(shù)量而是一個一次緩沖器單元Bc_I之后,執(zhí)行步驟#700~#900的處理。
下面參照圖9所示的流程圖,說明上述步驟#800中利用數(shù)據(jù)緩沖裝置DBA的“對傳輸流TS1~TSε的小包數(shù)據(jù)P要求處理執(zhí)行”的詳細(xì)情況。另外,在本圖中,如有關(guān)圖7的敘述那樣,所示的結(jié)構(gòu)能夠適用于將步驟#600與步驟#700~#900作為并行處理的情況,也能夠適用于作為連續(xù)處理的情況。
首先,在步驟S802中,TD控制器TDC從存儲結(jié)束緩沖器單元編號存儲器290讀出寫指針WP及讀指針RP的各數(shù)值。寫指針WP是唯一表示寫入依次輸入進(jìn)來的第I傳輸流Tsi的小包數(shù)據(jù)Pi的一次緩沖器單元Bc_I的參數(shù),讀指針RP是表示讀出數(shù)據(jù)的對象即一次緩沖器單元Bc_I的參數(shù)。然后,處理進(jìn)入下一個步驟S804。
在步驟S804中,利用TD控制器TDC,判斷在步驟S802中讀出的寫指針WP與讀指針RP的數(shù)值是否相同。在相同的情況下為Yes,即判斷為在多格式傳輸流解碼器TD中,未存放包括傳輸流TS1~TSε在內(nèi)的輸入,則處理返回前述的步驟S804。這是為了防止對緩沖器單元中沒有以完全的形態(tài)存儲的小包數(shù)據(jù)P進(jìn)行訪問。
另外,在步驟S804中,在不相同的情況下為No,即判斷為存在應(yīng)處理的小包單元。這意味著,具有以完全的形態(tài)存儲了小包數(shù)據(jù)P的一次緩沖器單元Bc_I。換句話說,這意味著該小包數(shù)據(jù)P中,相對于用戶要求是處理對象候補(bǔ)的小包數(shù)據(jù)P的至少一個存入小包緩沖器270。然后,處理進(jìn)入下一個步驟S806。
在步驟S806中,決定為了檢驗存儲的小包數(shù)據(jù)P(在該時刻是處理對象候補(bǔ))是否為實際處理對象而訪問的一次緩沖器單元Bc_I。具體來說,TD控制器TDC用讀指針RP指示的緩沖器單元指定區(qū)Rcm讀出緩沖器單元編號Nbcn。然后,處理進(jìn)入下一個步驟S81。
如上所述,通過構(gòu)成步驟S804及S806,能夠適用于將步驟#600與步驟#700~#900作為并行處理的情況,也能夠適用于作用連續(xù)處理的情況。即,在作為并行處理的情況下,在小包緩沖器270中未存儲適當(dāng)數(shù)量的小包數(shù)據(jù)P(最差的情況下,任何一次緩沖器單元Bc_I都沒有完全存儲小包數(shù)據(jù))時,能夠避免想要執(zhí)行用戶所要求的處理的狀態(tài)。另外,在作為連續(xù)處理的情況下,如上所述,對于步驟#600與步驟#700設(shè)置了不同的開始時間,保證規(guī)定數(shù)量的一次緩沖器單元Bc_I的存儲結(jié)束,但由于傳輸流TS的傳輸路徑上的理由等,小包數(shù)據(jù)P的存儲會產(chǎn)生異常,在這樣的情況下也能夠防止因下溢而產(chǎn)生的處理異常。
在步驟S810中,從讀指針RP指示的標(biāo)記存儲區(qū)Fc讀出存儲的出錯標(biāo)記值。然后,處理進(jìn)入下一個步驟S812。
在步驟S812中,根據(jù)讀出的出錯標(biāo)記值,判斷出錯標(biāo)記是否置位。在判斷為Yes、即處理對象候補(bǔ)的小包數(shù)據(jù)P包含錯誤時,處理就繞過上述的步驟#8000、S818及S820,進(jìn)入步驟S822,該一次緩沖器單元Bc_I為了今后輸入進(jìn)來的小包數(shù)據(jù)P進(jìn)行緩沖而打開。
另外,在步驟S812中,在判斷為No、即處理對象候補(bǔ)的小包數(shù)據(jù)P不包含錯誤時,處理經(jīng)過上述的步驟#8000、S818及S820,進(jìn)入步驟S822。即,執(zhí)行前述的步驟#400R決定的處理(#8000),將處理完的小包數(shù)據(jù)P從數(shù)據(jù)緩沖裝置DBA3輸出(S820)后,將該緩沖器單元Bc打開(S822)。
在步驟#8000中,對于作為處理對象的每個第I傳輸流Tsi按照固有的格式構(gòu)成的小包數(shù)Pi,進(jìn)行用戶所希望的處理。然后,處理進(jìn)入下一個步驟S818。另外,關(guān)于本子程序中的處理,將在隨后參照圖10進(jìn)行說明。
在步驟S818中,經(jīng)過上述步驟#8000根據(jù)用戶的要求進(jìn)行了適當(dāng)處理的小包數(shù)據(jù)P,從三次緩沖器單元Bc_O以每個傳送單位TSd讀出,經(jīng)由小包緩沖器控制器260,開始向DMA總線仲裁器210傳送。然后,處理進(jìn)入下一個步驟S820。
在步驟S820中,利用TD控制器TDC,對在步驟S800開始的每個傳送單位TSd的位數(shù)進(jìn)行計數(shù),通過這樣反復(fù)判斷向DMA總線仲裁器210的數(shù)據(jù)傳送是否結(jié)束。另外,在數(shù)據(jù)傳送結(jié)束的時刻,處理進(jìn)入下一個步驟S822。這樣,經(jīng)過上述步驟S802~S820,對一個小包數(shù)據(jù)P結(jié)束用戶的要求處理。然后,處理進(jìn)入下一個步驟S822。
另外,在上述的步驟S810中,若判斷為No、即現(xiàn)在訪問中的小包數(shù)據(jù)P不是根據(jù)上述用戶的要求處理的對象時,處理就繞過上述的步驟#8000、S818及S820,直接進(jìn)入步驟S822。然后,僅選擇是處理對象的小包數(shù)據(jù)P,在步驟#8000中,根據(jù)用戶的要求進(jìn)行處理,再經(jīng)過步驟S818及S820,將步驟#8000的處理結(jié)果所得到的小包數(shù)據(jù)P輸出給數(shù)據(jù)緩沖裝置DBA的外部。
在步驟S822中,TD控制器TDC將與讀指針RP表示的緩沖器單元編號Nbcn相當(dāng)?shù)囊淮尉彌_器單元Bc_I打開。具體來說,將寫入與在上述步驟S806中讀出的緩沖器單元編號Nbcn對應(yīng)的一次緩沖器單元分割信息區(qū)Ain的分配識別數(shù)據(jù)重寫為沒有分配。然后,處理進(jìn)入下一個步驟S824。
在步驟S824中,TD控制器TDC使讀指針RP表示的標(biāo)記存儲區(qū)Fc的出錯標(biāo)記值為低電平,通過這樣將出錯標(biāo)記復(fù)位。然后,處理返回上述的步驟S802。
如上所述,為了對依次輸入的多個傳輸流TS1~TSε所包含的多個節(jié)目進(jìn)行用戶選擇的所希望的處理,僅對不同的傳輸流Ts所包含的所有小包數(shù)據(jù)P內(nèi)的對應(yīng)的小包數(shù)據(jù)P有選擇地進(jìn)行處理。但是,在不同的傳輸流TS中,或者小包數(shù)據(jù)P的輸入速率不同,或者存在具有同一小包標(biāo)識符PID的小包數(shù)據(jù)P,因而多個小包數(shù)據(jù)P同時輸入。
因此,在本實施形態(tài)中,對于輸入的多個傳輸流TS1~TSε的小包數(shù)據(jù)P的各小包數(shù)據(jù),通過附加傳輸流標(biāo)識符TSID及時間標(biāo)志St,這樣將每一個小包數(shù)據(jù)P與小包標(biāo)識符PID組合,就能夠確實進(jìn)行識別。然后,利用寫指針Wp對下述過程進(jìn)行管理,它將一個個能夠識別的多個傳輸流TS1~TSε小包數(shù)據(jù)P的各小包數(shù)據(jù),按照輸入進(jìn)來的順序,在規(guī)定的時間存入規(guī)定的一次緩沖器單元Bc_I。然后,利用讀指針RP對下述過程進(jìn)行管理,它識別存入的小包數(shù)據(jù)P是否為處理對象,在是處理對象時,進(jìn)行處理后加以輸出。
即,利用二次緩沖器單元Bc_M作為處理作業(yè)空間,對存入一次緩沖器單元Bc_I的小包數(shù)據(jù)P進(jìn)行處理,在三次緩沖器單元Bc_O內(nèi)從小包數(shù)據(jù)P的處理生成物再構(gòu)成為小包數(shù)據(jù),然后將再構(gòu)成的小包數(shù)據(jù)輸出給小包緩沖器270的外部。關(guān)于這些作業(yè),將在隨后參照圖10~圖19進(jìn)行說明。
另外,在傳輸流Ts中包含錯誤時,小包數(shù)據(jù)P在緩沖后的處理將產(chǎn)生漏洞,或者導(dǎo)致整個多格式傳輸流解碼器TD的動作效率下降。因此,在本實施形態(tài)中,將存放包含數(shù)據(jù)錯誤的小包數(shù)據(jù)P的一次緩沖器單元Bc_I利用軟件進(jìn)行管理及打開,通過這樣來防止上述的問題。正是通過硬件和軟件的混合結(jié)構(gòu)來控制并保證該一連串的動作。
另外,如上所述,輸入的多個傳輸流TS1~TSε是由分別附加固有的小包標(biāo)識符PID的小包數(shù)據(jù)P而構(gòu)成的。如上所述,對于這樣的傳輸流TS,利用本發(fā)明的多格式傳輸流解碼器TD,能夠?qū)?gòu)成傳輸流TS的全部小包數(shù)據(jù)P分別進(jìn)行不同的處理。
但是,輸入的多個傳輸流TS1~TSε,如同參照圖40說明的以ITU-T建議H.220.0為代表的傳輸流TS那樣,也能夠適用于對每個小包數(shù)據(jù)組附加固有的小包標(biāo)識符PID的情況。對于這樣的傳輸流,用TD控制器TDC生成的處理對象小包數(shù)據(jù)識別信息小包標(biāo)識符PIDd及從一次緩沖器單元Bc_I存儲的小包數(shù)據(jù)P讀出的抽取緩沖器小包識別信息PIDe都表示小包數(shù)據(jù)組。但是,在利用上述的小包選擇器400判斷為匹配時,在屬于具有匹配的小包標(biāo)識符PID的小包數(shù)據(jù)組的全部小包數(shù)據(jù)P內(nèi),僅對屬于同一數(shù)據(jù)流TS的小包數(shù)據(jù)P進(jìn)行同一處理。
如上所述,對于具有圖36所示的小包結(jié)構(gòu)的傳輸流TS,該傳輸流TS的全部小包數(shù)據(jù)P具有小包標(biāo)識符PID,通過指定屬于該小包標(biāo)識符PID的高位適當(dāng)?shù)奈坏膫鬏斄鱐S,將每個傳輸流TS指定的位的小包標(biāo)識符PID為相同的小包數(shù)據(jù)P作為一組,對每個組進(jìn)行固有的處理,這本質(zhì)上與此是相同的。
下面參照圖10,說明上述#8000的多格式小包數(shù)據(jù)處理子程序的詳細(xì)情況。在本子程序中,首先執(zhí)行步驟#8200的“小包緩沖器存儲確認(rèn)”子程序。
在步驟#8200中,在小包數(shù)據(jù)Pi在從流輸入器以小包為單位的小包數(shù)據(jù)存入小包數(shù)據(jù)單元結(jié)束之前,處于等待狀態(tài)。若存儲結(jié)束,則從存儲的緩沖器單元Bc讀出頭部的管理字節(jié)。然后,進(jìn)入下一個步驟#8300的“格式分析”子程序。
在步驟#8300中,判斷在步驟#8200中抽取的管理字節(jié)內(nèi)的格式標(biāo)識符(FID)。若該格式存在,則進(jìn)入該格式的處理。這里,設(shè)格式3為該格式。然后,處理進(jìn)入下一個步驟#8400的“小包數(shù)據(jù)濾波控制”子程序。
在步驟#8400中,根據(jù)上述的步驟#8200及#8300的處理結(jié)果,選擇是取得還是拋棄存儲的小包數(shù)據(jù)(濾波)。從該小包緩沖器單元中存儲的小包數(shù)據(jù)抽取小包標(biāo)識符PID。再抽取管理字節(jié)中的傳輸流標(biāo)識符TSID。在小包選擇器400中設(shè)定該傳輸流標(biāo)識符TSID及小包標(biāo)識符PID,起動小包選擇器400的小包數(shù)據(jù)濾波器。
另外,將該傳輸流標(biāo)識符TSID語小包標(biāo)識符PID合在一起作為小包選擇的比較模式,這是由于在從多傳輸流的其它流輸入器的輸入中,在分配小包標(biāo)識符用于不同用途時,若僅用小包標(biāo)識符進(jìn)行濾波,則有時不要取得的也取得了,因此要與來自流輸入器Tr的輸入對應(yīng)進(jìn)行小包選擇。
例如,在北美地面波數(shù)字廣播(MPEG-TS)中,小包標(biāo)識符PID=000是PAT(Progrum Association Table,節(jié)目關(guān)聯(lián)表)。PAT是具有載明小包標(biāo)識符的數(shù)據(jù)的段,而該標(biāo)識符具有載明接收廣播及解碼所必需的小包標(biāo)識符PID的表映射(PMT)。
另外,在北美衛(wèi)星數(shù)字廣播(DirecTV)中,小包標(biāo)識符(SCID)=000是Null小包。Null是為調(diào)整廣播的位速率而埋入的小包,它不存在信息(在TD中被拋棄的小包)。在美國的商業(yè)應(yīng)用中同時接收地面波數(shù)字及衛(wèi)星數(shù)字廣播時,用多格式傳輸流解碼器TD在根據(jù)傳輸流標(biāo)識符TSID-0與北美地面波連接接收、而在根據(jù)傳輸流標(biāo)識符TSID=1與北美衛(wèi)星連接接收時,為了取得PAT,若僅用小包標(biāo)識符=000來進(jìn)行小包選擇,則連不需要的北美衛(wèi)星的Null小包也取得了。為了避免這種情況,則根據(jù)(傳輸流識別符TSID/PID)=(0/000)的模式來進(jìn)行小包選擇。
為此,控制器PBAC讀取小包選擇的結(jié)果,判斷與作為小包選擇而設(shè)定的模式是否一致。然后,處理進(jìn)入下一個步驟#8500的“與訪問對象小包對應(yīng)的處理要求表分析”子程序。
在步驟#8500中,取得在步驟#8400中用FMT1的小包選擇器400比較并一致的小包,為了進(jìn)行與處理要求相應(yīng)的處理,進(jìn)行前期準(zhǔn)備。在用小包選擇器400比較并一致的情況下,與設(shè)定濾波器模式相對應(yīng),讀出TD控制器TDC設(shè)定的處理要求表Pdt。該處理要求表Pdt是對每個設(shè)定濾波器模式設(shè)定的。用控制器PBAC讀出一致的設(shè)定模式用的處理要求表Pdt。這以后的處理就根據(jù)該取出的處理要求表Pdt的各參數(shù)值來進(jìn)行。然后,處理進(jìn)入下一個步驟#8600的“解擾控制”子程序。
在步驟#8600中,控制器PBAC抽取表示小包數(shù)據(jù)的加擾信息的數(shù)據(jù)即TSC(Transport Scramble Controller[載明規(guī)格名],傳輸加擾控制器),分析用#500_FMT讀出的處理要求表Pdt的參數(shù),判斷是否進(jìn)行解擾處理。在對小包數(shù)據(jù)加擾(用TS(判斷)而且設(shè)定用處理要求表Pdt進(jìn)行解擾(參數(shù)4及參數(shù)7的某一項為“進(jìn)行”)的情況下,用解擾器1100起動解擾處理。在其它的情況下,不起動解擾控制器,處理進(jìn)入下一個步驟#8700的“小包數(shù)據(jù)模式選擇控制”子程序。
在步驟#8700中,控制進(jìn)行小包數(shù)據(jù)模式選擇的段數(shù)據(jù)選擇器1200。段數(shù)據(jù)選擇器1200比較控制器PBAC傳送的小包數(shù)據(jù)是否與TD控制器TDC設(shè)定的設(shè)定模式一致(濾波),進(jìn)行處理以僅取得與該設(shè)定模式一致的數(shù)據(jù)??刂破鱌BAC讀出來自段數(shù)據(jù)器1200的濾波結(jié)果,根據(jù)結(jié)果,分析一致的數(shù)據(jù)的大小,保持該數(shù)據(jù)大小的取得數(shù)據(jù)信息,進(jìn)入接下來為了輸出給主存儲器900的主存儲器控制。另外,還可以對用段數(shù)據(jù)選擇器1200取得的結(jié)果,僅在控制器PBAC追加附加數(shù)據(jù)。在這種情況下,對段數(shù)據(jù)選擇器1200取得的數(shù)據(jù)大小加上控制器PBAC附加的附加俗話劇大小進(jìn)行保持。然后,處理進(jìn)入下一個步驟#8800的“主存儲器控制”子程序。
在步驟#8800中,為了輸出給最終的主存儲器900,進(jìn)行主存儲器控制器700的控制。如前所述,在#8700的“小包數(shù)據(jù)模式選擇控制(Q“業(yè)務(wù)信息選擇控制”?)”子程序之前的處理中,生成最終輸出給主存儲器900的數(shù)據(jù)。同時,控制器PBAC在該時刻之前,對輸出給主存儲器900的數(shù)據(jù)大小及存放數(shù)據(jù)的小包緩沖器的地址進(jìn)行管理。另外,控制器PBAC將處理要求表Pdt的主存儲器輸出信息(參數(shù)5)中具有的輸出信道通知主存儲器控制器700,將這些輸出數(shù)據(jù)傳送給主存儲器控制器700。主存儲器700在根據(jù)該信息指定的輸出信道,將輸出數(shù)據(jù)存入主存儲器900。然后,處理進(jìn)入下一個步驟#8900“流輸出控制”子程序。
在步驟#8900中,從多格式傳輸流解碼器TD通過與主存儲器900不同的路徑進(jìn)行小包數(shù)據(jù)的輸出控制。即,在本發(fā)明有關(guān)的多格式傳輸流解碼器TD中,能夠進(jìn)行多傳輸流及格式處理,同時也能夠輸出多傳輸流。流輸出器1300在步驟#8800中,被設(shè)置作為與存入主存儲器900的同時從別的路徑輸出小包數(shù)據(jù)用的輸出裝置。
在這里,控制該流輸出器1300,與主存儲器輸出的同時,從別的路徑進(jìn)行流輸出的控制,控制器PBAC根據(jù)處理要求表Pdt的流輸出信息(參數(shù)6),判斷是否進(jìn)行流輸出。
在流輸出信息為有效、進(jìn)行流輸出時,將流輸出的小包數(shù)據(jù)傳送給流輸出器1300。傳送給流輸出器1300的數(shù)據(jù)還包含具有時間信息的管理字節(jié)進(jìn)行傳送。
流輸出器1300接受來自控制器PBAC的小包數(shù)據(jù),首先設(shè)置管理字節(jié)的時間信息(ATS)。同時設(shè)置TD控制器TDC設(shè)定的流輸出延遲值,在現(xiàn)在的時間(定時器值)到達(dá)ATS+流輸出延遲值的時刻,將小包數(shù)據(jù)輸出給外部路徑。這時,管理字節(jié)僅用作判斷基準(zhǔn),僅輸出實小包數(shù)據(jù)。
控制器PBAC對于用流輸出器1300的流輸出的結(jié)束情況進(jìn)行管理,若判斷為已經(jīng)結(jié)束,則打開分配的小包緩沖器單元,對接下來的輸入小包數(shù)據(jù)處于能夠再分配的狀態(tài)。
如上所述,是一個小包數(shù)據(jù)從分配一個小包緩沖器單元起的一連串的流程,若該一連串的處理結(jié)束,則再次從步驟#8300起,對接下來的小包緩沖器單元進(jìn)行處理。
這里說明的是從步驟#8300至#8900的流程,但即使在進(jìn)行從步驟#8300至#8900的處理的時間內(nèi)接收輸入流,也在該瞬間按照依次到達(dá)的順序存入小包緩沖器單元。
下面參照圖11,說明上述步驟#8200的“小包緩沖器確認(rèn)”子程序的詳細(xì)情況。
若本子程序開始運(yùn)行,則首先在步驟S8202中,將控制單元本身具有的控制器PBAC用控制表Clt、作為控制用而使用的狀態(tài)信號初始化,將前面的小包使用過的信息暫時復(fù)位。然后,處理進(jìn)入下一個步驟S8204。
在步驟S8204中,從寫入對象緩沖器單元指定器250讀出寫指針WP及讀指針RP。然后,判斷讀出的寫指針WP與讀指針RP是否相同。在判斷為相同時,處理進(jìn)入步驟S9206。另外,在WP與RP不相同時,處理進(jìn)入步驟S8208。
在步驟S8206中,在第I流輸入器TSRi輸入的小包數(shù)據(jù)I向緩沖器270的傳送結(jié)束之前,處于等待狀態(tài)。這是由于寫指針WP若小包存入小包緩沖器,則利用硬件加1,因此在寫指針WP與讀指針RP相同時,用控制器PBAC處理的對象小包不存在。因此,等待小包數(shù)據(jù)存入小包緩沖器。然后,處理進(jìn)行下一個步驟S8208。
在步驟S8208中,已經(jīng)經(jīng)過上述步驟S8204或S8206,確定已經(jīng)確認(rèn)存入處理對象候補(bǔ)的小包數(shù)據(jù)的緩沖器單元Bc。即,從緩沖器單元分配信息存儲器240讀出一次緩沖器單元分配信息Iba。一次緩沖器單元分配信息Iba是現(xiàn)在的RP表示的緩沖器單元編號Nbc。通過該處理,知道控制器PBAC處理的緩沖器單元Bc。然后,處理進(jìn)入下一個步驟S8210。
在步驟S8210中,將讀指針RP加1。讀指針RP用軟件控制。即,由于在步驟S8208中,檢測到取定的處理對象小包緩沖器單元,因此處于能夠存放下一個小包輸入結(jié)束時刻的緩沖器單元編號Nbc的狀態(tài)。然后,處理進(jìn)入下一個步驟S8212。
在步驟S8212中,從存儲結(jié)束緩沖器單元編號存儲器290讀出分配的緩沖器單元編號Nbc。通過這樣,知道存儲結(jié)束緩沖器單元編號存儲器290中保持的、對在步驟S8210中分配的緩沖器單元Bc存儲結(jié)束的小包數(shù)據(jù)存儲結(jié)果。然后,處理進(jìn)入下一個步驟S8214。
在步驟S8214中,將在步驟S8212中讀出的緩沖器單元編號Nbc保存在小包處理所需要的控制表Clt中。圖28所示為控制表Clt的參數(shù)。緩沖器單元編號Nbc保存在控制表Clt的參數(shù)PMc6中(輸入TSP用緩沖器單元)。然后,處理進(jìn)入下一個步驟S8216。
在步驟S8216中,抽取步驟S8212讀出的、已存儲的小包緩沖器單元中的管理字節(jié)。然后,處理進(jìn)入下一個步驟S8218。
在步驟S8218中,在步驟S8216中讀出的管理字節(jié)的信息內(nèi),將FID值保存在控制表Clt的參數(shù)PMc9中(格式標(biāo)識符)。然后,結(jié)束本“小包緩沖器存放確認(rèn)”子程序的處理。
流輸入器TSR在利用TD控制器TDC指定輸入流TS的格式及第一~第ε流輸入器TSR1~TSRε的連接之后,開始供給傳輸流。這時,利用TD控制器TDC,在多格式傳輸流解碼器TD開始動作的時刻起,利用定時器600計時。傳輸流的供給開始,利用圖1的緩沖器單元分配器230分配緩沖器單元Bc,對管理字節(jié)BM的小包到達(dá)時間信息ATS附加小包輸入開始時刻的定時器600的值(時間信息)。
同樣,對格式標(biāo)識符FID附加TD控制器TDC設(shè)定的格式值,對多流標(biāo)識符傳輸流標(biāo)識符TSID附加對于第一~第ε流輸入器TSR1~TSRε的連接是通過指定而連接的第I流輸入器TSRi的編號(I),從而構(gòu)成屬性管理字節(jié)BMh。
流輸出設(shè)定信息HSOUT在小包數(shù)據(jù)輸入時刻不存儲信息。將實數(shù)據(jù)PD依次存入蓋管理字節(jié)之后實數(shù)據(jù)PD指定的小包緩沖器單元。
另外,上述情況是在實數(shù)據(jù)Pd之前附加管理字節(jié),但也可以考慮在圖23及圖24所示的實數(shù)據(jù)Pd之后附加管理字節(jié)的情況。在這種情況下,附加格式標(biāo)識符FID及傳輸流標(biāo)識符TSID的裝置與上述情況相同。小包到達(dá)時間信息ATS是附加利用圖1的緩沖器單元分配器230決定緩沖器單元Bc的分配并對指定緩沖器單元Bc存儲指定大小的小包數(shù)據(jù)結(jié)束時刻的定時器600的值(時間信息)而生成的。以后的處理則利用該附加的管理字節(jié)信息進(jìn)行。
利用在上述步驟#8200“小包緩沖器確認(rèn)”子程序中得到的格式標(biāo)識符FID,執(zhí)行下一個步驟#8300的“格式分析”子程序,識別與輸入的傳輸流TS的各自固有的格式相對應(yīng)的格式處理。
下面參照圖12,說明步驟#8400的“小包數(shù)據(jù)濾波”子程序的詳細(xì)情況。根據(jù)上述步驟#8300的“格式分析”所得到的格式標(biāo)識符FID,決定格式處理。這里雖說明關(guān)于其中一個格式的處理,但當(dāng)然根據(jù)每個傳輸流TS預(yù)先規(guī)定的格式,將進(jìn)行同樣的處理。
首先,在步驟S8402中,抽取小包數(shù)據(jù)內(nèi)的出錯信息。例如在MPEG的情況下,TEI(Transport Error Indicator,傳輸錯誤指示器)相當(dāng)于出錯信息。然后,處理進(jìn)入下一個步驟S8404。
在步驟S8404中,將前述步驟S8216中抽取的管理字節(jié)BM的傳輸流標(biāo)識符TSID保存在控制表Clt的參數(shù)PMc8中。然后,處理進(jìn)入下一個步驟S8406。
在S8406中,根據(jù)在步驟S8402抽取的出錯信息,判斷處理中的小包數(shù)據(jù)是否出錯。在傳輸流是正常傳輸流的情況下,處理進(jìn)入下一個步驟S8408。另外,在處理中的小包數(shù)據(jù)是出錯小包的情況下,處理進(jìn)入步驟S8418。
在步驟S8408中,抽取小包數(shù)據(jù)內(nèi)的小包標(biāo)識符PID。在小包選擇器400中設(shè)定該小包標(biāo)識符PID及前述的步驟S8404中保存的傳輸流標(biāo)識符TSID,并起動小包選擇處理。然后,處理進(jìn)入下一個步驟S8410。
在步驟S8410中,小包選擇器400與步驟S8408的小包選擇處理起動相應(yīng)開始小包選擇處理。小包選擇器400將TD控制器TDC設(shè)定并取得的小包信息與處理中的小包的傳輸流標(biāo)識符TSID/小包標(biāo)識符PID進(jìn)行比較(濾波)。即,比較處理對象傳輸流標(biāo)識符TSIDd與抽取的船速滑溜標(biāo)識符TSIDe,比較處理對象小包數(shù)據(jù)識別信息PIDd與抽取緩沖器小包識別信息PIDe。控制器PBAC在小包選擇器400的小包選擇(濾波)處理結(jié)束之前處于等待狀態(tài)。小包選擇器400若小包選擇處理結(jié)束,則將小包選擇處理已結(jié)束的情況通過控制單元。然后,處理進(jìn)行下一個步驟S8412。
在步驟S8412中,在知道上述步驟S8410的小包選擇結(jié)束后,從小包選擇器400讀出小包選擇的結(jié)果。然后,判斷步驟S8410的比較結(jié)果是否一致。在比較結(jié)果是一致時,處理進(jìn)入下一個步驟S8414。另外,在比較結(jié)果是不一致時,處理進(jìn)入后述的步驟S8416。
在步驟S8414中,將根據(jù)步驟S8412的小包選擇結(jié)果判斷進(jìn)行比較是一致的設(shè)定模式信息(下面稱為入口)保存在控制表Clt的參數(shù)PMc4中。然后,結(jié)束本子程序的處理。
另外,在步驟S8416中,根據(jù)上述的S8414中的比較判斷為不一致,將控制表Clt的參數(shù)PMc1(小包信息)更新為1(小包選擇不一致)。在到達(dá)該例程時,表示處理小包是不要的小包,在以后的小包處理中不用。這樣,結(jié)束本子程序,處理則跳過前述的步驟#8500、#8600及#8800的子程序,進(jìn)入步驟#8900的“流輸出控制”子程序中的后述的“小包單元打開”。
另外,在步驟S8418中,根據(jù)判斷為是上述步驟S8406中的出錯小包,將控制表Clt的參數(shù)PMc(小包信息)更新為2(輸入流出錯)。與前述步驟S8416中的小包選擇結(jié)果不一致的情況相同,在到達(dá)該例程時,表示處理小包是不要的小包,在以后的小包處理中不用。因此,結(jié)束本子程序,處理進(jìn)入#900的“小包單元打開”。
下面參照圖13,說明#8500的“與訪問對象小包數(shù)據(jù)對應(yīng)的處理要求表取得”子程序的詳細(xì)情況。與前述的步驟#8400的“小包數(shù)據(jù)濾波控制”子程序相同,在本子程序中,根據(jù)步驟S8300的“格式分析”子程序所得到的格式標(biāo)識符FID,對每個傳輸流TS的格式設(shè)定處理要求表。另外,下面雖然是以一個格式為例進(jìn)行說明,但當(dāng)然以下所述的處理也能夠適合各每一個格式。另外,如前面已經(jīng)說明的那樣,本子程序處理僅在前述步驟#8400的“小包數(shù)據(jù)濾波控制”子程序的小包選擇處理中判斷為是要取得的小包數(shù)據(jù)的情況下進(jìn)行。
在具體敘述本子程序的處理之前,首先參照圖28(控制表結(jié)構(gòu))及圖31(處理要求表),說明控制表Clt及處理要求表Pdt。步驟#8400中的小包取得是通過比較TD控制器TDC設(shè)定的小包識別符PIDd與輸入小包數(shù)據(jù)的小包標(biāo)識符PIDe(濾波)來進(jìn)行判斷的,這在前面已經(jīng)說明。在圖1的多格式傳輸流解碼器TD中,同樣根據(jù)TD控制器TDC設(shè)定的處理要求表Pdt,決定取得的小包的處理。即,TD控制器TDC將取得小包的小包標(biāo)識符PIDe與對取得小包的處理要求表Ptd組合起來進(jìn)行設(shè)定。
圖31所示為處理要求表Pdt的一個例子。另外,處理要求表Pdt是包含在控制信號ScW中、供給小包緩沖仲裁器PBAc的信息。處理要求表Pdt中主要記有是否進(jìn)行解擾、主存儲器輸出、流輸出的指定及各處理所需要的信息。
處理要求表Pdt包含7個參數(shù),即PMp1、PMp2、PMp3、PMp4、PMp5、PMp6及PMp7。參數(shù)PMp1用0或1的數(shù)值表示,與處理要求表Pdt的使用信息相對應(yīng)。即,參數(shù)PMp1為0,表示處理要求表Pdt是無效的,參數(shù)PMp1為1,表示處理要求表Pdt是有效的。
參數(shù)PMp2與指定輸出給主存儲器900的選擇多個TS多個節(jié)目小包數(shù)據(jù)串Pemm的形式的輸出形式信息相對應(yīng)。
參數(shù)PMp3與例如用0~P表示存儲解擾密鑰的編號的解擾信息。
參數(shù)PMp4用0或1的數(shù)值表示,與解擾允許信息相對應(yīng)。參數(shù)PMp4為0,表示解擾來進(jìn)行,參數(shù)PMp4為1,表示解擾已進(jìn)行。
參數(shù)PMp5與用0~CHN(CHN為任意自然數(shù))表示的主存儲器輸出信息相對應(yīng)。0~CHN表示輸出給主存儲器90時的信道編號。
參數(shù)PMp6用0或1的數(shù)值表示,與流輸出信息相對應(yīng)。參數(shù)PMp6為0,表示處理要求Pdt對流輸出是無效的。參數(shù)PMp6為1,表示處理要求表Pdt對流輸出是有效的。
參數(shù)PMp7用0或1的數(shù)值表示,與流輸出解擾允許信息相對應(yīng)。參數(shù)PMp7為0,表示流輸出時不進(jìn)行解擾。參數(shù)PMp7為1,表示流輸出時進(jìn)行解擾。這樣,在處理要求表Pdt中,對每個傳輸流TS記有根據(jù)用戶的要求應(yīng)該進(jìn)行處理的信息。
下面,圖28所示為控制表Clt的一個例子。另外,控制表Clt是根據(jù)多個信號利用控制器PBAC生成的信息??刂票鞢lt包含10個參數(shù),即PMc1、PMc2、PMc3、PMc4、PMc5、PMc6、PMc7、PMc8、PMc9及PMc10。
參數(shù)PMd1用0、1或2的數(shù)值表示,與小包數(shù)據(jù)信息相對應(yīng)。即,參數(shù)PMc1為0,表示小包數(shù)據(jù)是正常的。參數(shù)PMc1為1,表示小包數(shù)據(jù)選擇不一致,即緩沖器單元Bc中存儲的小包數(shù)據(jù)不是處理對象。參數(shù)PMc1為2,表示輸入流出錯。
參數(shù)PMc2用0或1表示,與加擾信息相對應(yīng)。參數(shù)PMc2為0,表示小包數(shù)據(jù)未加擾。參數(shù)PMc2為1,表示小包數(shù)據(jù)已加擾。
參數(shù)PMc3用0或1表示,與解擾信息相對應(yīng)。參數(shù)PMc3為0,表示未進(jìn)行解擾。參數(shù)PMc3為1,表示進(jìn)行了解擾(?)。
參數(shù)PMc4用0或1表示,與流輸出解擾信息相對應(yīng)。參數(shù)PMc4為0,表示未進(jìn)行解擾。參數(shù)PMc4為1,表示進(jìn)行了解擾。
參數(shù)PMc5與用0~N-1(N為任意自然數(shù))的數(shù)值表示的小包比較結(jié)果(入口)信息相對應(yīng)。0~N-1的各數(shù)值是表示比較結(jié)果的入口編號。
參數(shù)PMc6用0~M(M為任意自然數(shù))的數(shù)值表示,與輸入TSP用緩沖器單元信息相對應(yīng)。0~M的各數(shù)值表示存儲輸入小包數(shù)據(jù)的緩沖器單元Bc的緩沖器單元編號Nbc。
參數(shù)PMc7用0~M(M為任意自然數(shù))的數(shù)值表示,與解擾TSP用緩沖器單元信息相對應(yīng)。0~M的各數(shù)值表示存儲解擾小包數(shù)據(jù)的緩沖器單元Bc的緩沖器單元編號Nbc。
參數(shù)PMc8用1~ε的數(shù)值表示,與表示各個流輸入器TSR1~ε的流標(biāo)識符TSID相對應(yīng)。
參數(shù)PMc9用1~L(L為任意自然數(shù))的數(shù)值表示,與表示每個傳輸流TS所規(guī)定的規(guī)定格式的格式標(biāo)識符FID相對應(yīng)。
參數(shù)PMc10表示記有對該小包數(shù)據(jù)的處理要求一覽表的處理要求表Pdt。這樣,在控制表Clt中記有對處理對象即小包數(shù)據(jù)的控制信息。
如圖13所示,若開始執(zhí)行步驟#8500,則首先在步驟S8502中,從控制信號ScW讀出與所述小包選擇處理所取得的小包數(shù)據(jù)一致的入口所對應(yīng)的處理要求表Pdt。即,讀出控制表Clt的參數(shù)PMc10所記載的處理要求表Pdt。然后,處理進(jìn)入下一個步驟S8504。
在步驟S8504中,對控制表Clt的參數(shù)PMc1~PMc10的對應(yīng)部分附加讀出的處理要求表Pdt中的參數(shù)PMc1~PMc7的值,生成控制表Clt。這即使僅讀出Td控制器TDC設(shè)定的處理要求表Pdt也能夠解決。但是,由于TD控制器TDC有可能動態(tài)更新該處理要求Pdt,再有多格式傳輸流解碼器TD必須用小包取得設(shè)定時的表的信息進(jìn)行處理,因此用控制表Clt進(jìn)行管理。然后,處理進(jìn)入下一個步驟S8506。
在步驟S8506中,在處理管理字節(jié)BMp的流輸出要求信息HSOUT中設(shè)置步驟S8502中取得的處理要求表Pdt的參數(shù)PMp6(流輸出信息)的值。這是因為,在后面的流輸出處理(#8900)中,流輸出器1300根據(jù)該處理管理字節(jié)BMp來判斷流輸出。然后,處理進(jìn)入下一個步驟S8510。
在步驟S8510中,根據(jù)步驟S8502中取得的處理要求表Pdt的表使用信息(PMp1),判斷取得的處理要求表Pdt的信息是否有效。在處理要求表Pdt是有效時,處理要求Pdt的取得結(jié)束,結(jié)束本子程序。另外,在處理要求表Pdt是無效時,處理進(jìn)入步驟S8512。
在步驟S8512中,將控制表Clt的小包信息(PMc1)的值更新為2(小包選擇不一致)。即,在處理要求表Pdt是無效時,將輸入的小包數(shù)據(jù)作為出錯進(jìn)行管理。
以上是步驟#8500的“與訪問對象小包數(shù)據(jù)對應(yīng)的處理要求表取得”子程序的詳細(xì)情況。另外,如圖2所示,說明的是管理字節(jié)BM附加在實數(shù)據(jù)PD的頭部時的處理,但即使在如圖23及圖24所示的管理字節(jié)BM附加在實數(shù)據(jù)PD的后面的情況下,也能夠采用同樣的多格式傳輸流解碼器TD,這種情況下面參照圖14所示的流程進(jìn)行說明。
在管理字節(jié)BM附加在實數(shù)據(jù)PD的后面的情況下,如圖14所示,要在附加在小包數(shù)據(jù)的實數(shù)據(jù)PD的頭部情況(圖13)的流程圖中,在步驟S8506與S8510之間重新設(shè)置步驟S8508的處理。即,在前述的步驟S8508中,更新處理管理字節(jié)BMp中的流輸出要求信息HSOUT。但是,在管理字節(jié)BM附加在實數(shù)據(jù)PD的后面的情況下,如圖23及圖24所示,將設(shè)定流輸出要求信息HSOUT的屬性管理字節(jié)BMh寫入緩沖器單元Bc的頭部作為處理管理字節(jié)BMp。通過這樣,以后的處理能夠同樣進(jìn)行處理。
下面參照圖15、圖28、圖31、圖32及圖33,說明上述步驟#8600的“解擾控制”子程序的詳細(xì)情況。若在上述的步驟#8400及#8500中,選擇訪問對象小包數(shù)據(jù),取得記有對處理小包數(shù)據(jù)的處理內(nèi)容的處理要求表Pdt,則開始本子程序。
首先,在步驟S9602中,抽取處理對象的小包數(shù)據(jù)的加擾判斷字段。在傳輸流TS是基于MPEG的情況下,TSC(Transport Scramble Control,傳輸加擾控制)充當(dāng)加擾判斷字節(jié)。利用該加擾判斷字段,能夠直到對訪問對象小包數(shù)據(jù)有無加擾。然后,處理進(jìn)入下一個步驟S8604。
在步驟S8604中,讀出前述步驟#8500中取得的處理要求表Pdt的解擾允許(參數(shù)PMp4)及流輸出解擾允許(參數(shù)PMp7)。然后,處理進(jìn)入下一個步驟S8606。
在步驟S8606中,根據(jù)步驟S8602中讀出的加擾判斷字段、步驟S8604中讀出的解擾允許(PMp4)及流輸出解擾允許(PMp7),判斷是否進(jìn)行加擾處理。首先,在用加擾判斷字段能夠判斷對小包數(shù)據(jù)未進(jìn)行加擾時,處理進(jìn)入S8610C。在用加擾判斷字段能夠判斷對小包數(shù)據(jù)進(jìn)行了加擾時,處理進(jìn)入步驟S8608。
在步驟S8608中,用步驟S8604中讀取的解擾允許(參數(shù)4)及流輸出解擾允許(參數(shù)7)判斷是否進(jìn)行解擾處理。即,若參數(shù)PMp4及參數(shù)PMp7的至少某一個值為1,則判斷為進(jìn)行解擾。然后,處理進(jìn)入步驟S8610B。另外,若參數(shù)PMp4及參數(shù)PMp7的值都不是1,則判斷為不進(jìn)行解擾。然后,處理進(jìn)入步驟S8610A。
在步驟S8610A中,根據(jù)上述步驟S8608中不進(jìn)行解擾的判斷,設(shè)定控制表Clt的加擾信息(PMc2)、解擾信息(PMc3)及流輸出解擾信息(PMc4)的值。然后,結(jié)束本子程序的處理。
在步驟S8610C中,根據(jù)上述步驟S8606在小包數(shù)據(jù)未進(jìn)行加擾的判斷,設(shè)定控制表Clt的加擾信息(PMc2)、解擾信息(PMc3)及流輸出解擾信息(PMc4)的值。然后,結(jié)束本子程序的處理。
在步驟S8610B中,根據(jù)上述步驟S8608中進(jìn)行解擾的判斷,設(shè)定控制表Clt的加擾信息(PMc2)、解擾信息(PMc3)及流輸出解擾信息(PMc4)的值。然后,處理進(jìn)入下一個步驟S8612。
下面參照圖32,說明判斷可否進(jìn)行解擾。在該圖中,從左面起設(shè)置加擾判斷字段欄、參數(shù)PMp4欄、參數(shù)PMp7欄、解擾進(jìn)行欄、參數(shù)PMc2欄、參數(shù)PMc3欄、參數(shù)PMc4欄及重寫加擾判斷字段欄。另外,如上所述,參數(shù)PMp4及PMp7是構(gòu)成處理要求表Pdt的參數(shù),參數(shù)PMc2、PMc3及PMc4是構(gòu)成控制表Clt的參數(shù)。
加擾判斷字段欄的值從被加擾數(shù)據(jù)Dsdi抽取。參數(shù)PMp4及參數(shù)PMp7從控制信號ScW所包含的處理要求表Pdt抽取。解擾進(jìn)行欄根據(jù)加擾判斷字段欄、參數(shù)PMp4及參數(shù)PMp7欄的值,存儲未進(jìn)行或進(jìn)行的某一項。
參數(shù)PMc2根據(jù)加擾判斷字段及參數(shù)PMp4的值,設(shè)置0(未加擾)或1(加擾)的某一個值。
參數(shù)PMc3根據(jù)參數(shù)PMp4及解擾進(jìn)行的值,設(shè)置0(解擾未進(jìn)行)或1(解擾進(jìn)行)的某一個值。
參數(shù)PMc4根據(jù)參數(shù)PMp7及解擾進(jìn)行的值,設(shè)置0(解擾未進(jìn)行)或1(解擾進(jìn)行)的某一個值。
重寫加擾判斷字段根據(jù)加擾判斷字段及參數(shù)PMp4的值,設(shè)置0(重寫)或1(不重寫)的某一個值。
根據(jù)前述的步驟S8606及S8608中設(shè)定的信息,按照圖32所示的關(guān)系,設(shè)置控制表Clt的加擾信息(PMc2)、解擾信息(PMc3)及流輸出解擾信息(PMc4)。
在步驟S8612中,重寫小包數(shù)據(jù)內(nèi)的加擾判斷字段的值。這里進(jìn)行重寫,使得將加擾有變?yōu)榧訑_無。然后,處理進(jìn)入下一個步驟S8614。
在步驟S8614中,讀出小包緩沖器的中間處理用緩沖器單元允許信息。該中間處理用緩沖器單元允許信息表示在中間處理用緩沖器單元允許信息為允許的情況下,相當(dāng)于允許的小包緩沖器單元是正在使用中。然后,處理進(jìn)入下一個步驟S8616。
在步驟S8616中,根據(jù)步驟S8614中讀出的中間處理用緩沖器單元允許信息,判斷是否有未使用緩沖器單元Bc。在沒有未使用緩沖器單元Bc時,在該部分成為能夠使用的緩沖器單元之前,處于等待狀態(tài)。然后,處理進(jìn)入下一個步驟S8618。
在步驟S8618中,從步驟S8616中判斷為未使用的緩沖器單元Bc中,決定存儲解擾處理的輸出數(shù)據(jù)的中間處理用緩沖器單元Bc_M。使與該中間處理用緩沖器單元Bc_M對應(yīng)的中間處理用緩沖器單元允許信息為允許。通過這樣,表示中間處理用緩沖器單元Bc_M是正在使用中,防止因禁止以外的處理使用該中間處理用緩沖器單元Bc_M。然后,處理進(jìn)入下一個步驟S8620。
在步驟S8620中,在控制表Clt的解擾小包數(shù)據(jù)用緩沖器單元信息(PMc7)中設(shè)置上述步驟S8618中分配的中間處理用緩沖器單元Bc_M的緩沖器單元編號Nbc。然后,處理進(jìn)入下一個步驟S8622。
在步驟S8622中,從存儲該小包數(shù)據(jù)P的緩沖器單元Bc,向步驟S8618中分配的中間處理用緩沖器單元Bc_M傳送解擾傳送后的數(shù)據(jù)。實際上,在有加擾的小包數(shù)據(jù)P中,存在未進(jìn)行加擾的部分(主要是頭部部分)及進(jìn)行加擾的部分(主要是稱為凈負(fù)荷的實數(shù)據(jù)PD的部分)。這里,將不進(jìn)行加擾的頭部部分從小包緩沖器Bc向中間處理用緩沖器單元Bc_M傳送數(shù)據(jù)(復(fù)制)。為此,在設(shè)定傳送源地址、傳送對象地址及傳送字節(jié)數(shù)之后,開始傳送。然后,處理進(jìn)入下一個步驟S8624。(在前后預(yù)先進(jìn)行緩沖器單元RC_I、Bc_M及Bc_O的定義,參照圖2)在步驟S8624中,等待步驟S8622中開始傳送的未加擾部分的傳送結(jié)束。然后,處理進(jìn)入下一個步驟S8626。
在步驟S8626中,將進(jìn)行了加擾的對象數(shù)據(jù)部分進(jìn)行解擾處理。解擾處理是用圖1的解擾器1100進(jìn)行。下面參照圖33,說明利用解擾器1100進(jìn)行解擾處理所需要的設(shè)定。
如圖10所示,首先讀出處理小包的處理要求表Pdt的解擾信息(PMp3)。解擾信息中表示用TD控制器TDC設(shè)定的解擾用密鑰存儲的地點(diǎn)。然后,處理進(jìn)入下一個步驟S8628。
在步驟S8628中,將與上述步驟S8626中讀出的解擾信息相應(yīng)的密鑰數(shù)據(jù)置入解擾器1100的解擾密鑰。然后,處理進(jìn)行下一個步驟S8630。
在步驟S8630中,設(shè)定該小包數(shù)據(jù)P的解擾器1100的小包緩沖器讀出地址、小包緩沖器讀出傳送大小、小包緩沖器寫入開始地址及小包緩沖器寫入傳送大小。另外,如圖33所示的例子那樣,解擾密鑰、小包緩沖器讀出地址、小包緩沖器讀出傳送大小、小包緩沖器寫入開始地址及小包緩沖器寫入傳送大小作為解擾指示控制數(shù)據(jù)Dcrl,從控制器PBAC供給小包分析器1000的解擾器1100。然后,解擾對象數(shù)據(jù)開始向解擾器1100傳送。處理進(jìn)入下一個步驟S8632。
在步驟S8632中,傳送至解擾器1100的加擾數(shù)據(jù)開始解擾。然后,處理進(jìn)入下一個步驟S8634。
在步驟S8632中,等待利用解擾器1100對加擾數(shù)據(jù)進(jìn)行解擾除了結(jié)束。若解擾處理結(jié)束,解擾器1100作為解擾結(jié)束通知數(shù)據(jù)Dcrlo發(fā)出傳送結(jié)束通知。通過這樣,控制器PBAC能夠判斷解擾除了已經(jīng)結(jié)束。在解擾處理結(jié)束時刻,步驟#8600中的全部處理將結(jié)束。另外,在解擾結(jié)束的時刻,如圖2所示,在傳送源附加的管理字節(jié)BM及解擾的小包數(shù)據(jù)1’存入中間處理用小包緩沖器單元_M1。
下面參照圖16及圖33的[段選擇器的輸入信息及數(shù)粗豪信息]、圖28的[控制表結(jié)構(gòu)]及圖31的[處理要求表結(jié)構(gòu)],說明步驟#8700“小包模式選擇處理的詳細(xì)情況。在步驟#8600的“解擾控制”子程序的處理后,對解擾處理的小包數(shù)據(jù),利用段數(shù)據(jù)選擇器1200進(jìn)行小包模式選擇處理。在該段數(shù)據(jù)選擇器1200中,摘要是比較設(shè)定的模式與小包數(shù)據(jù),對小包進(jìn)行取捨(進(jìn)行濾波)。在段數(shù)據(jù)選擇器1200中,除了標(biāo)準(zhǔn)的段數(shù)據(jù)以外,當(dāng)然也能夠適合傳輸流小包數(shù)據(jù)、PES小包、基本碼流等標(biāo)準(zhǔn)。這里作為一個例子,說明對段數(shù)據(jù)利用段數(shù)據(jù)選擇器1200進(jìn)行小包模式選擇的方法。
首先,在步驟S8702中,讀出控制表Clt。然后,處理進(jìn)入下一個步驟S8704。
然后,根據(jù)步驟#8400的“小包數(shù)據(jù)濾波”子程序中取得的小包標(biāo)識符PID,抽取進(jìn)行濾波的入口。即,讀出步驟#8400中保存在控制表Clt中的入口。然后,讀出與入口對應(yīng)的入口表TE。
另外,圖6所示為入口表TE的結(jié)構(gòu)。入口表TE是根據(jù)解擾結(jié)束通知數(shù)據(jù)Dcrlo用控制器PBAC生成的信息。在入口表TE中記有對一個小包及一個小包以上連續(xù)的數(shù)據(jù)進(jìn)行濾波時表示以小包為單位的結(jié)束/繼續(xù)狀態(tài)的狀態(tài)信息、以及在超過小包繼續(xù)時剩下的繼續(xù)字節(jié)數(shù)的信息。
入口表TE包含二個參數(shù),即PMe1即PMe2。參數(shù)PMe1用0或1的數(shù)據(jù)表示,與狀態(tài)信息相對應(yīng)。即,狀態(tài)信息PMe1為0,表示該數(shù)據(jù)以一個小包結(jié)束,在該小包數(shù)據(jù)后還沒有數(shù)據(jù)。
參數(shù)PMe2表示在參數(shù)PMe1為1(有后續(xù))時剩下的長度。如圖07所示,控制器PBAC對規(guī)定數(shù)M的入口表TE進(jìn)行管理。
在步驟S8704中,控制器PBAC讀出該入口的入口表TE內(nèi)的狀態(tài)值。然后,處理進(jìn)入下一個步驟S8706。
在步驟S8706中,根據(jù)步驟S8702中讀出的控制表Clt的小包信息(參數(shù)PMc1),判斷小包數(shù)據(jù)的狀態(tài)。在參數(shù)PMc不是0、即緩沖器單元Bc中存儲的小包數(shù)據(jù)不是處理對象(參數(shù)PMc1=1,小包選擇不一致)時,或存儲的小包數(shù)據(jù)中有錯誤(參數(shù)PMc1=2,輸入流出錯)時,不進(jìn)行選擇。在這種情況下,處理進(jìn)入步驟#8900的“流輸出控制”子程序,不進(jìn)行任何處理,將該緩沖器單元Bc打開。通過該處理,小包被拋棄,什么也沒有輸出。另外,在小包是正常(參數(shù)PMc=0)時,處理進(jìn)入下一個步驟S8708。
在步驟S8708中,計算出傳送至段濾波器選擇器1200的數(shù)據(jù)的頭部地址。然后,處理進(jìn)入下一個步驟S8710。
在步驟S8710中,讀出處理要求表Pdt,抽取輸出形式信息(參數(shù)PMp2)。通過這樣,確定對象小包數(shù)據(jù)規(guī)定的固有小包格式。在本說明書中,以段輸出指定的為例,說明以后的處理。然后,處理進(jìn)入下一個步驟SS8712。
在步驟S8712中,根據(jù)步驟S8702中讀出的控制表Clt的加擾信息(參數(shù)PMc2),判斷處理對象候補(bǔ)的小包數(shù)據(jù)是否為加擾狀態(tài)。在判斷為是加擾狀態(tài)(PMc2=1有加擾)時,處理進(jìn)入步驟#8900的“流輸出控制”子程序,對處理對象候補(bǔ)的小包數(shù)據(jù)不進(jìn)行任何處理,將該緩沖器單元Bc打開。通過該處理,緩沖器單元Bc中存儲的對象候補(bǔ)的小包數(shù)據(jù)P被拋棄,不輸出加擾數(shù)據(jù)。
另外,在步驟S8712中,在判斷為處理對象候補(bǔ)的小包數(shù)據(jù)是未進(jìn)行加擾的狀態(tài)(PMc2=0無加擾)時,處理進(jìn)入步驟S8714。另外,這里所示的是不輸出加擾數(shù)據(jù)的例子,但在也想輸出加擾數(shù)據(jù)時,通過采用跳過該步驟S8712后進(jìn)入步驟S8714的結(jié)構(gòu),就能夠在不改變圖1所示的多格式傳輸流解碼器TD的結(jié)構(gòu)的情況下很容易實現(xiàn)。
在步驟S8714中,根據(jù)入口表TE的參數(shù)PMe1,能夠判斷處理對象小包數(shù)據(jù)的狀態(tài),即是否有后續(xù)。在判斷為有后續(xù)(PMe1=1)時,必須在讀出處理對象候補(bǔ)小包數(shù)據(jù)的信息之后,對后續(xù)的小包數(shù)據(jù)進(jìn)行濾波器處理。為此,處理進(jìn)入步驟S8740。
另外,在步驟8714中,在判斷為該小包數(shù)據(jù)是段模式的開始(PMe1=0)時,根據(jù)該處理對象小包數(shù)據(jù)進(jìn)行段濾波器模式選擇。為此,處理進(jìn)入下一個步驟S8716。
在步驟S8716中,進(jìn)行處理對象候補(bǔ)的小包數(shù)據(jù)是段段模式的開始時的處理。
首先,抽取表示小包數(shù)據(jù)的段數(shù)據(jù)長度的段長度字段(MPEG情況下為步驟Section-length)。然后,處理進(jìn)入下一個步驟S8718。
在步驟S8718中,在輸入至段數(shù)據(jù)選擇器1200的段數(shù)據(jù)長度信息中設(shè)定步驟S8716中抽取的段數(shù)據(jù)長度。然后,處理進(jìn)入下一個步驟S8720。
圖33所示的段數(shù)據(jù)選擇器1200的輸入信息及輸出信息。控制器PBAC在步驟S8718中設(shè)定步驟S8704中讀出的狀態(tài)(PMe1)、步驟S8708中計算的傳送數(shù)據(jù)的傳送地址、傳送大小及傳送對象地址,作為段選擇指示控制數(shù)據(jù)Scrl。傳送對象地址是設(shè)定圖2所示的輸出用區(qū)域即三次緩沖器單元Bc-O的頭部地址。若設(shè)定結(jié)束,則再將傳送起動命令包含段選擇指示控制數(shù)據(jù)Scrl,輸出給的選擇器1200。
在步驟S8720中,根據(jù)步驟S8718中輸出的段選擇指示控制數(shù)據(jù)Scrl,起動段數(shù)據(jù)選擇器1200。然后,處理進(jìn)入下一個步驟S8722。
在步驟S8722中,在段數(shù)據(jù)選擇器1200的選擇處理結(jié)束之前,處于等待狀態(tài)。如圖33所示,段數(shù)據(jù)選擇器1200生成由濾波結(jié)果(Mpe1)、濾波通過數(shù)據(jù)大小、剩余長度值及傳送結(jié)束通知構(gòu)成的輸出段選擇指示控制數(shù)據(jù)Scrlo,輸出給控制器PBAC。根據(jù)該傳送結(jié)束通知,檢測段數(shù)據(jù)選擇器1200已經(jīng)選擇處理結(jié)束。然后,處理進(jìn)入下一個步驟S8724。
在步驟8724中,讀出用段數(shù)據(jù)選擇器1200選擇的選擇結(jié)果。從段數(shù)據(jù)選擇器1200輸出的輸出段選擇結(jié)束信號Scrlo,讀出段選擇結(jié)果即濾波后的狀態(tài)、濾波通過數(shù)據(jù)大小及剩余長度的信息。然后,處理進(jìn)入下一個步驟S8726。
在步驟S8726中,根據(jù)步驟S8724中讀出的濾波后的狀態(tài)(段選擇結(jié)束信號Scrlo),判斷該處理對象候補(bǔ)小包數(shù)據(jù)即段數(shù)據(jù)的結(jié)束/繼續(xù)狀態(tài)。在判斷為正在繼續(xù)(狀態(tài)=1)時,處理進(jìn)入S8750。另外,在判斷為數(shù)據(jù)結(jié)束(狀態(tài)=0)時,處理進(jìn)入步驟S8728。
在步驟S8728中,根據(jù)步驟S8726中的判斷為段數(shù)據(jù)選擇后小包數(shù)據(jù)已經(jīng)結(jié)束,將入口表TE的狀態(tài)更新為無后續(xù)(PMe1=0)。另外,將剩余長度值更新為0(PMe2=0)。然后,在段數(shù)據(jù)選擇后的小包數(shù)據(jù)結(jié)束時,結(jié)束本子程序的處理。
在步驟S8740中,進(jìn)行步驟S8714中判斷為正在繼續(xù)的段數(shù)據(jù)的處理。即,入口表TE的狀態(tài)表示有后續(xù)(PMe1=1)時,讀出入口表TE的剩余長度值(PMe2)。然后,處理進(jìn)入步驟S8742。
在步驟S8742中,在圖33所示的輸出段選擇結(jié)束信號Scrlo的狀態(tài)信息中設(shè)定已經(jīng)讀出的狀態(tài)(PMe1),同樣在輸出段選擇結(jié)束信號Scrlo的段數(shù)據(jù)長字段信息中設(shè)定剩余長度值(PMe2),然后輸出。然后,處理返回前述的步驟S8720,如已經(jīng)說明的那樣,設(shè)定段選擇指示控制數(shù)據(jù)Scrlo信號,起動段數(shù)據(jù)選擇器1200。
另外,在步驟S8750中,進(jìn)行在步驟S8726中段數(shù)據(jù)選擇后判斷為小包數(shù)據(jù)正在繼續(xù)時的處理。即,如圖33所示,將輸出段選擇結(jié)束信號Scrlo的剩余長度值更新為入口表TE的剩余長度值(PMe2)。然后,處理進(jìn)入下一個步驟S8752。
在步驟S8752中,將圖33所示的輸出段選擇結(jié)束信號Scrlo的濾波后的狀態(tài)更新為入口表TE的狀態(tài)。在這種情況下,更新為有后續(xù)(PMe1=1)。這樣,通過更新表的內(nèi)容,在接下來處理后續(xù)的段數(shù)據(jù)時,能夠判斷繼續(xù)的小包數(shù)據(jù)。然后,結(jié)束本子程序。
如上所述,執(zhí)行步驟#8700的“段數(shù)據(jù)模式選擇”子程序的結(jié)果,是在輸出用區(qū)域即三次緩沖器單元Bc-O中存儲輸出的數(shù)據(jù)。
下面用圖2及圖17,說明格式3的數(shù)據(jù)大小大于小包單元的小包數(shù)據(jù)的處理情況。
在本發(fā)明的傳輸流解碼器中,在輸入數(shù)據(jù)的小包數(shù)據(jù)大于小包單元時,分割為小包單元最大緩沖器容量以下的數(shù)據(jù)大小,對1個小包存入多個小包單元。
若設(shè)格式3的小包數(shù)據(jù)大小為K,則若K/N為最大小包容量以下,則能夠進(jìn)行處理。另外,N表示分割數(shù)。
TD控制器設(shè)定這樣的K/N的數(shù)據(jù)大小。這里,具體來說所示的是K=480、最大數(shù)據(jù)容量=192、N=3時的例子,但即使是該例子以外來分割小包數(shù)據(jù),若滿足上述限制條件,則同樣能夠處理。
若TD控制器設(shè)定160的數(shù)據(jù)大小,則流輸入器在480個字節(jié)內(nèi),在輸入了160個字節(jié)的時刻,附加管理字節(jié),以164個字節(jié)為單位,小包緩沖器控制器對小包單元通知存儲結(jié)束信號。對于接下來的從第161個字節(jié)至320個字節(jié)的輸入及從第321個字節(jié)至480個字節(jié)的輸入也進(jìn)行同樣的處理,存入緩沖器單元。下面用圖17,說明這樣存儲的分割小包數(shù)據(jù)的處理情況。
在步驟S8750中,將每個上述分割小包數(shù)據(jù)存入小包單元的成為數(shù)據(jù)單位的頭部數(shù)據(jù)寫入小包緩沖器單元O區(qū)域的頭部地址。這是對后級的AV數(shù)據(jù)通知以該160個字節(jié)為單位進(jìn)行數(shù)據(jù)分割,通過這樣同時通知表示AV解碼處理的處理開始的信號。若該頭部數(shù)據(jù)的寫入結(jié)束,則進(jìn)入步驟S8752。
然后,在步驟S8752中,從存儲的小包單元將該分割數(shù)據(jù)傳送至小包緩沖器單元O區(qū)域的上述步驟S8750中寫入的頭部數(shù)據(jù)的下一個地址。若開始傳送,則進(jìn)入步驟S8754。
在步驟S8754中,等級步驟S8752中傳送的分割小包數(shù)據(jù)的傳送結(jié)束。若傳送結(jié)束,則結(jié)束該小包的處理。
在該步驟S8754結(jié)束的時刻的小包緩沖器單元O區(qū)域中,如圖2所示,處于存儲與頭部數(shù)據(jù)相應(yīng)的160個字節(jié)的分割數(shù)據(jù)的狀態(tài)。通過對其按照達(dá)到順序進(jìn)行處理,就對原來的小包數(shù)據(jù)插入表示分割界線的頭部數(shù)據(jù),輸出給后級的AV數(shù)據(jù)。另外,這里所示的是與特定的AV解碼器的接口相對應(yīng)的處理。但在其他的AV解碼器那樣將輸入的數(shù)據(jù)照原樣輸出的情況下,當(dāng)然通過省略步驟S8750的處理,也能夠很容易適應(yīng)將輸入數(shù)據(jù)輸出的情況。
下面參照圖18,說明步驟#8800的“主存儲器控制”子程序的詳細(xì)情況。另外,本子程序?qū)τ趫D2所具有的全部格式是進(jìn)行同樣的處理。另外,以上的說明由于輸入的小包是用管理字節(jié)BMh來識別小包分析器270準(zhǔn)備的緩沖器中的終端,因此若輸入小包小于緩沖器,則與其它大小無關(guān),能夠進(jìn)行處理。
在步驟S8802中,讀出控制表Clt的處理要求表Pdt(PMc10)。然后,處理進(jìn)入下一個步驟S8804。
在步驟S8804中,從步驟S8802中讀出的處理要求表Pdt讀出主存儲器輸出信息(PMp5)。在該主存儲器輸出信息中設(shè)定輸出給主存儲器900的有限輸出信道,對各輸出信道用起始地址SP及結(jié)束地址EP進(jìn)行劃分。另外,各信道具有寫指針WPc及讀指針RPc。利用TD控制器TDC設(shè)定該起始地址SP、結(jié)束地址EP、寫指針WPc的初始值及讀指針RPc的初始值。然后,處理進(jìn)入下一個步驟S8808。
在步驟S8808中,判斷該輸出信道可否使用。即,由TD控制器TDC指示該輸出信道允許使用。控制器PBAC判斷該輸出信道是否能夠使用(允許傳送)。在TD控制器TDC不允許處理要求表Pdt指定的輸出信道輸出時,控制器PBAC不進(jìn)行傳送。在這種情況下,進(jìn)#900的流輸出控制流程。不進(jìn)行任何處理,打開相應(yīng)的小包緩沖器單元,利用該處理,即使如圖2所示。在輸出用區(qū)域(小包單元O)存儲了數(shù)據(jù),小包也拋棄,不進(jìn)行任何輸出。另外,在允許的情況下,處理進(jìn)入步驟S8810。
在步驟S8810中,讀出對步驟S8804中設(shè)定的主存儲器輸出用心道TD控制器TDC設(shè)定的起始地址SP。然后,處理進(jìn)入下一個步驟S8812。
在步驟S8812中,讀出對步驟S8804中設(shè)定的主存儲器輸出用信道TD控制器TDC設(shè)定的結(jié)束地址EP。然后,處理進(jìn)入下一個步驟S8814。
在步驟S8814中,在圖35所示的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm的存儲起始地址(起始地址SP)中設(shè)定步驟S8810中讀出的SP。然后,處理進(jìn)入下一個步驟S8816。
在步驟S8816中,在圖35所示的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm的存儲結(jié)束地址(結(jié)束地址EP)中設(shè)定步驟S8812中讀出的EP。然后,處理進(jìn)入下一個步驟S8818。
在步驟S8818中,讀出對步驟S8804的主存儲器輸出用信道TD控制器TDC設(shè)定的寫入地址(寫指針WPc)。然后,處理進(jìn)入下一個步驟S8820。
在步驟S8820中,讀出對步驟S8804的主存儲器輸出用信道TD控制器TDC設(shè)定的讀出地址(讀指針RPc)。然后,處理進(jìn)入下一個步驟S8822。
在步驟S8822中,讀出圖35所示的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm的剩下的設(shè)定。剩下的設(shè)定是小包緩沖器傳送開始地址及小包傳送大小。設(shè)定圖2所示的輸出用區(qū)域(小包單元-O)頭部地址作為小包緩沖器傳送開始地址。小包傳送大小是通過前述段數(shù)據(jù)選擇器1200的數(shù)據(jù)大小。因此,讀出圖33所示的輸出段選擇結(jié)束信號Scrlo的濾波通過數(shù)據(jù)大小,設(shè)定小包傳送大小。在以上的設(shè)定之后,發(fā)出傳送起動命令,主存儲器控制器700起動。然后,處理進(jìn)入下一個步驟S8824。
在步驟S8824中,在步驟8822中起動的主存儲器控制器700的處理結(jié)束之前,處于等待狀態(tài)。控制器PBAC根據(jù)圖35所示的輸出信號Pctrlo的傳送結(jié)束通知,檢測主存儲器控制器700的處理結(jié)束。然后,處理進(jìn)入下一個步驟S8826。
在步驟S8826中,在利用主存儲器控制器700進(jìn)行傳送控制后,根據(jù)圖35所示的輸出信號Pctrlo的溢出信息,判斷是否引起溢出。引起溢出的狀態(tài)是在傳送小包數(shù)據(jù)而寫指針WPc前進(jìn)時超過讀指針RPc的情況。在引起溢出時,處理進(jìn)入步驟S8834。在傳送正常結(jié)束(溢出信息為無溢出)時,處理進(jìn)入步驟S8828。
在步驟S8828中,讀出圖35所示的輸出信號Pctrlo的傳送后寫入地址(寫指針WPc)。然后,處理進(jìn)入下一個步驟S8830。
在步驟S8830中,用步驟S8828中讀出的傳送后寫入地址(寫指針WPc)更新該輸出信道的寫指針WPc。通過這樣,寫指針WPc前進(jìn),能夠?qū)⒅鞔鎯ζ?00中存儲了數(shù)據(jù)的情況通知TD控制器TDC。然后,處理進(jìn)入下一個步驟S8832。
然后,在步驟S8832中,利用狀態(tài)信號SrW通知主存儲器900傳送已結(jié)束,本子程序的處理結(jié)束。
在步驟S8834中,對步驟S8826中的判斷為溢出狀態(tài)進(jìn)行應(yīng)答,利用狀態(tài)信號SrW通知主存儲器900已溢出,本子程序的處理結(jié)束。
下面參照圖1、圖19、圖35、圖28及圖31,說明上述步驟#8900的“流輸出控制”子程序的詳細(xì)情況。另外,流輸出控制也與主存儲器控制處理相同,對于圖2所示的全部格式是進(jìn)行同樣的處理。在流輸出處理中,如在這之前已說明的處理那樣,除了所需要的小包數(shù)據(jù)在緩沖器單元Bc之間傳送處理外,另外從已經(jīng)存儲的緩沖器單元Bc向流輸出器1300輸出數(shù)據(jù)。即,向該主存儲器900的輸出及流輸出是通過同時處理來進(jìn)行的。
本發(fā)明的多格式傳輸流解碼器TD是對應(yīng)于多傳輸流輸入的。同樣,關(guān)于流輸出也能夠輸出多傳輸流。這里說明二個傳輸流TS1及TS2的多傳輸流輸出的方法。
首先,在步驟S8902中,讀出控制表Clt。然后,處理進(jìn)入下一個步驟S8904。
在步驟S8904中,根據(jù)步驟S8902中讀出的控制表Clt的小包信息(PMc1),判斷現(xiàn)在緩沖器單元Bc中存儲的小包數(shù)據(jù)是否為流輸出對象。在利用小包標(biāo)識符PID的小包數(shù)據(jù)選擇是不一致時(小包數(shù)據(jù)信息=1)或輸入流出錯時,處理進(jìn)入步驟S8958,轉(zhuǎn)移至緩沖器單元Bc的打開處理。
另外,在步驟S8904中,在判斷為小包數(shù)據(jù)是正常(小包數(shù)據(jù)信息=0)時,處理進(jìn)入步驟#10000的“第一流輸出設(shè)定”子程序。另外,關(guān)于步驟#10000的處理,將在后面參照圖20進(jìn)行敘述,而從步驟#10000的內(nèi)部,處理產(chǎn)生分支,進(jìn)行步驟#11000的“第二流輸出設(shè)定”子程序。然后,在步驟#10000及步驟#11000分別進(jìn)行之后,處理進(jìn)入下一個步驟#13000的“流輸出控制”子程序,進(jìn)行流輸出。從步驟#11000的內(nèi)部,處理產(chǎn)生分支,進(jìn)入前述的步驟S8958,這將在隨后參照圖21進(jìn)行詳細(xì)敘述。
在本例中,所示的是將與輸出給主存儲器900的小包數(shù)據(jù)相同的小包數(shù)據(jù)進(jìn)行流輸出(圖1的Pho1及pho2)時的處理。但是,在用接受輸出流的電路能夠判斷小包數(shù)據(jù)時,也可以考慮將輸入流照原樣從流輸出器1300輸出那樣的用途。在適應(yīng)這樣的用途時,通過省略該步驟S8904,能夠與全部小包數(shù)據(jù)輸出相對應(yīng)。
下面參照圖20,說明步驟#10000的“第一流輸出設(shè)定”子程序的詳細(xì)情況。在上述的步驟S8904中,在判斷為小包數(shù)據(jù)是正常時,本子程序開始進(jìn)行。
首先,在步驟S10006中,讀出第一流輸出(圖1的Pho1)的流輸出設(shè)定。然后,處理進(jìn)入下一個步驟S10008。另外,流輸出器1300根據(jù)TD控制器TDC能夠設(shè)定的流輸出設(shè)定進(jìn)行動作。在流輸出設(shè)定中有流輸出信息及流標(biāo)識符等二個設(shè)定。所謂流輸出信息,是流輸出處理是否進(jìn)行流輸出的信息。所謂流標(biāo)識符,是規(guī)定將第一~第ε流輸入器TSR1~TSRε的哪一個流數(shù)據(jù)(TSi)輸出給流輸出器1300的信息,是前述的對象傳輸流識別信息TSIDd。
在步驟S10008中,取出步驟S10006中讀出的流輸出信息。然后,處理進(jìn)入下一個步驟S10010。
在步驟S10010中,判斷步驟S10008中取出的用TD控制器TDC設(shè)定的流輸出信息中,是否設(shè)定進(jìn)行高速輸出。在設(shè)定高速輸出(流輸出信息=1)時,處理進(jìn)入步驟S10012。另外,在沒有設(shè)定高速輸出(流輸出信息=0)時,處理進(jìn)入步驟#11000的“第二流輸出設(shè)定”子程序。
在步驟S10012中,取出步驟S10006中讀出的流標(biāo)識符TSIDd。然后,處理進(jìn)入下一個步驟S10014。
在步驟S10014中,讀出步驟S10002中讀出控制表Clt的抽取傳輸流標(biāo)識符TSIDe。然后,處理進(jìn)入下一個步驟S10016。
在步驟S10016中,判斷步驟S10006中取出的對象傳輸流識別信息TSIDd與步驟S10012中取出的抽取傳輸流標(biāo)識符TSIDe是否一致。在判斷為一致時,處理進(jìn)入將傳輸流輸出用的步驟S10018。在判斷為不一致時,傳輸流不輸出給流輸出器1300,處理進(jìn)入步驟S10036的“第二流輸出設(shè)定”子程序。
在步驟S10018中,讀出控制表Clt的緩沖器單元編號(PMc6)。在控制器PBAC中,根據(jù)加擾信息(PMc2)、流輸出解擾信息(PMc4)、輸入小包數(shù)據(jù)用緩沖器單元信息(PMc6)及解擾小包數(shù)據(jù)用緩沖器單元信息(PMc7),判斷緩沖器單元編號。然后,處理進(jìn)入下一個步驟S10020。
在步驟S10020中,將步驟S10018中決定的緩沖器單元編號寫入輸出順序緩沖器單元編號存儲器520。然后,處理進(jìn)入下一個步驟S10022。
在步驟S10022中,將輸出順序緩沖器單元編號存儲器控制器510的寫指針WPc僅加1。利用該處理,對寫指針WPc及讀指針RPc進(jìn)行管理,通過這樣能夠適當(dāng)進(jìn)行流輸出。讀指針RPc若流輸出器1300處于相應(yīng)的寫指針WPc的小包數(shù)據(jù)的輸出結(jié)束,則讀指針RPc僅加1。這樣,第一流輸出設(shè)定結(jié)束。然后,處理進(jìn)入步驟S10026,開始第二流輸出的判斷。
下面參照圖21,說明步驟#11000的“第二流輸出設(shè)定”子程序的詳細(xì)情況。本子程序中的步驟S10026~步驟S10042的處理分別與步驟#10000的“第一流輸出設(shè)定”子程序中的步驟S10006~S10022相對應(yīng)。不同之點(diǎn)在于,本步驟作為第二流是與高速輸出相對應(yīng)。因此,在圖21中,在步驟S10026~步驟S10042的各步驟中,標(biāo)明高速輸出以代替第二流。所以省略關(guān)于各步驟處理的說明。
但是,在步驟S11032及步驟S11036中都判斷為No時,處理進(jìn)入步驟#1100。這樣,在“第二流輸出設(shè)定”子程序之后,通過依次追加設(shè)置同樣內(nèi)容的“第I流輸出設(shè)定”子程序,就能夠進(jìn)行任意數(shù)量的流輸出。
下面參照圖22,說明步驟#12000的“流輸出控制”子程序的詳細(xì)情況。如上所述,若步驟#10000或#11000的處理結(jié)束,則本步驟的處理開始。
首先,在步驟S12046中,進(jìn)行該緩沖器單元Bc的傳送設(shè)定。圖35所示的傳送開始地址或傳送字節(jié)數(shù)指定步驟S10014或步驟S11034中判斷的緩沖器單元Bc編號的頭部地址。存儲的小包數(shù)據(jù)的傳送字節(jié)數(shù),根據(jù)將傳輸流識別信息TSIDe與利用控制器PBAC進(jìn)行管理的格式信息進(jìn)行比較的格式進(jìn)行設(shè)定。設(shè)定后,發(fā)出流輸出的傳送起動命令,開始流輸出用的數(shù)據(jù)傳送。然后,處理進(jìn)入下一個步驟S12048。
在步驟S12048中,根據(jù)讀指針RPc判斷第一傳輸流的小包數(shù)據(jù)從緩沖器單元向流輸出器1300的傳送是否結(jié)束。即,若讀指針RPc利用流輸出器1300而前進(jìn),則判斷為傳送結(jié)束。在判斷為傳送結(jié)束時,處理進(jìn)入下一個步驟S12050。另外,在沒有判斷為傳送結(jié)束時,在判斷為傳送結(jié)束之前不處于等待狀態(tài),處理進(jìn)入步驟S12052。
在步驟S12050中,與利用步驟S12048判斷為第一傳輸流的小包數(shù)據(jù)的傳送結(jié)束相應(yīng),該緩沖器單元打開。然后,處理進(jìn)入下一個步驟S12052。
在步驟S12052中,與上述步驟S12048中的相同,根據(jù)讀指針RPc判斷第二傳輸流的小包數(shù)據(jù)從緩沖器單元向流輸出器1300的傳送是否結(jié)束。若判斷為結(jié)束,則處理進(jìn)入下一個步驟S12054。
在步驟S12054中,與步驟S12054相同,該緩沖器單元打開。然后,結(jié)束本子程序的處理。
另外,在步驟S12052中,在沒有判斷為傳送結(jié)束時,處理就結(jié)束本子程序的處理。
下面參照圖36、圖37、圖38、圖39及圖40,說明上述的多格式傳輸流解碼器TD的基本概念。在本實施形態(tài)中,用于將多個傳輸流TS1~TSε所包含的多個節(jié)目內(nèi)容數(shù)據(jù)有選擇地根據(jù)傳輸流TS所固有的格式進(jìn)行加工的用途。
圖36說明輸入至本發(fā)明有關(guān)的多格式傳輸流解碼器的、各提供多個節(jié)目內(nèi)容的二個(ε=2)的傳輸流TS 1及Ts2的結(jié)構(gòu)。在該圖中,所示的是至少提供3個不同的節(jié)目1、節(jié)目2、節(jié)目3、……、節(jié)目α1的第一傳輸流TS1的結(jié)構(gòu)例子、以及至少提供六個不同的節(jié)目1、節(jié)目2、節(jié)目4、節(jié)目5、節(jié)目6、……節(jié)目α2的第二傳輸流TS2的結(jié)構(gòu)例子。
另外,第二傳輸流TS2中的節(jié)目1、節(jié)目2及節(jié)目3與傳輸流TS1中的節(jié)目1、節(jié)目2及節(jié)目3基本上是不同的,但也可以是相同的。另外,第二傳輸流TS24中的節(jié)目1、節(jié)目2及節(jié)目3因紙面的關(guān)系未圖示。
在該圖中也如參照圖42說明的那樣,構(gòu)成傳輸流TS的小包數(shù)據(jù)P的各小包數(shù)據(jù)分別作為一個方框來表示。對每個小包數(shù)據(jù)分別附加固有的小包標(biāo)識符PID。
這樣,輸入至本發(fā)明有關(guān)的多格式傳輸流解碼器的多個傳輸流TS的多傳輸流重復(fù)存在具有相同節(jié)目編號的節(jié)目。再有,由于對小包數(shù)據(jù)P對每個傳輸流TS附加小包標(biāo)識符PID,因此在多個傳輸流TS的各傳輸流中,重復(fù)存在具有同一小包標(biāo)識符PID的小包數(shù)據(jù)P。
在第一傳輸流TS1中,節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc101_2、……是構(gòu)成節(jié)目1的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc111_2、……是構(gòu)成節(jié)目1的聲音數(shù)據(jù)。同樣,節(jié)目內(nèi)容小包數(shù)據(jù)Pc201_1、Pc201_2、……是節(jié)目2的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc211_1、Pc211_2、……是節(jié)目2的聲音數(shù)據(jù)。再有,節(jié)目內(nèi)容小包數(shù)據(jù)Pc301_1、Pc301_2、……是節(jié)目3的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc311_1、Pc311_2、……是節(jié)目3的聲音數(shù)據(jù)。
在第二傳輸流TS2中,節(jié)目內(nèi)容小包數(shù)據(jù)Pc401_1、Pc401_2、……是構(gòu)成節(jié)目4的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc411_1、Pc411_2、……是構(gòu)成節(jié)目4的聲音數(shù)據(jù)。同樣,節(jié)目內(nèi)容小包數(shù)據(jù)Pc501_1、Pc501_2、……是節(jié)目5的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc511_1、Pc511_2、……是節(jié)目5的聲音數(shù)據(jù)。再有,節(jié)目內(nèi)容小包數(shù)據(jù)Pc601_1、Pc601_2、……是節(jié)目6的圖像數(shù)據(jù),節(jié)目內(nèi)容小包數(shù)據(jù)Pc611_1、Pc611_2、……是節(jié)目6的聲音數(shù)據(jù)。
另外,當(dāng)然輸入的傳輸流TS也可以是3及3以上,各傳輸流TS能夠提供的節(jié)目數(shù)也可以3及3以上。另外,傳輸流TS中包含根據(jù)提供的節(jié)目數(shù)而對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc。根據(jù)節(jié)目的內(nèi)容,同樣還包含與圖像及聲音以外的數(shù)據(jù)(例如文字信息)相對應(yīng)的節(jié)目內(nèi)容小包數(shù)據(jù)Pc。
另外,在第一傳輸流TS1及第二傳輸流TS2中,還根據(jù)節(jié)目內(nèi)容小包數(shù)據(jù)Pc之間的傳送路徑及處理上的主要原因所決定的頻次,排列節(jié)目內(nèi)容管理表PAT及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT而構(gòu)成。
關(guān)于第一傳輸流TS1,節(jié)目1、2及3的節(jié)目內(nèi)容內(nèi),在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc111_1、Pc201_1、Pc211_1、Pc301_1及Pc311_1之前,配置記有全部節(jié)目內(nèi)容的小包標(biāo)識符PID的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1、PMT2及PMT3、以及表示這些節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的各小包標(biāo)識符PID及對應(yīng)節(jié)目的節(jié)目內(nèi)容管理表PAT。
在節(jié)目內(nèi)容管理表PAT中這樣描述,即節(jié)目1的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為100,節(jié)目2的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為200,節(jié)目3的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為300,……,節(jié)目α1的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為α100。
關(guān)于第二傳輸流TS2,節(jié)目4、5及6的全部三種節(jié)目內(nèi)容內(nèi),在節(jié)目內(nèi)容小包數(shù)據(jù)Pc401_1、Pc411_1、Pc501_1、Pc511_1、Pc601_1及Pc611_1之前,配置記有全部節(jié)目內(nèi)容的小包標(biāo)識符PID的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1、PMT2及PMT3、以及表示這些節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的各小包標(biāo)識符PID及對應(yīng)節(jié)目的節(jié)目內(nèi)容管理表PAT。
在節(jié)目內(nèi)容管理表PAT中這樣描述,即節(jié)目4的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為400,節(jié)目5的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為500,節(jié)目6的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為600,……,節(jié)目α2的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的小包標(biāo)識符PID為α200。
另外,由于傳輸流TS所包含的小包數(shù)據(jù)P的不同種類,其到達(dá)頻次有很大不同,因此節(jié)目內(nèi)容管理表PAT、節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT、節(jié)目內(nèi)容小包數(shù)據(jù)Pc及其它小包在同一傳輸流TS的內(nèi)部也有時是隨機(jī)插入配置,這與輸入單一傳輸流TS的情況相同。
另外,在圖36中,由于畫圖上的關(guān)系,看起第一傳輸流TS1與第二傳輸流TS2好像以小包為單位同步,但大多數(shù)情況下是不同步的。因而,有時第一傳輸流TS1中的節(jié)目內(nèi)容小包數(shù)據(jù)Pc與第二傳輸流TS2中的節(jié)目內(nèi)容小包數(shù)據(jù)Pc同時輸入多格式傳輸流解碼器TD,但也有時不是同時輸入。再有,由于構(gòu)成第一傳輸流TS1及第二傳輸流TS2的小包數(shù)據(jù)P分別根據(jù)每個傳輸流TS所固有的格式生成的,因此若傳輸流TS不同,則多數(shù)情況下小包數(shù)據(jù)P的大小也不同。
圖37所示的情況是,利用本發(fā)明有關(guān)的多格式傳輸流解碼器從具有圖36所示的小包結(jié)構(gòu)的第一傳輸流TS1抽取第一選擇多節(jié)目小包數(shù)據(jù)串Pem1,從第二傳輸流TS2抽取第二選擇多節(jié)目小包數(shù)據(jù)串Pem2。在本例中,第一選擇多節(jié)目小包數(shù)據(jù)串Pem1包含節(jié)目1及節(jié)目2的小包數(shù)據(jù)P,第二選擇多節(jié)目小包數(shù)據(jù)串Pem2包含節(jié)目3及節(jié)目4的小包數(shù)據(jù)P,換句說話,對構(gòu)成第一傳輸流TS1的節(jié)目1及節(jié)目2的小包數(shù)據(jù)P的各小包數(shù)據(jù)進(jìn)行所希望的處理后,作為第一選擇多節(jié)目小包數(shù)據(jù)串Pem1抽取,同樣,對構(gòu)成第二傳輸流TS2的節(jié)目3及節(jié)目4的小包數(shù)據(jù)P的各小包數(shù)據(jù)進(jìn)行所希望的處理后,作為第二選擇多節(jié)目小包數(shù)據(jù)串Pem2抽取。然后,將第一選擇多節(jié)目小包數(shù)據(jù)串Pem1與第二選擇多節(jié)目小包數(shù)據(jù)串Pem2混合,作為選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm輸出給主存儲器控制器700。
主存儲器控制器700屬于對輸入的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm所包含的多個傳輸流TS的節(jié)目內(nèi)容小包數(shù)據(jù)Pc進(jìn)行仲裁,輸出給主存儲器900。結(jié)果,在主存儲器900的內(nèi)部形成多TS多節(jié)目小包數(shù)據(jù)串Pmsm。這是由于,傳輸流TS所包含的小包數(shù)據(jù)P若傳輸流TS不同,則其小包數(shù)據(jù)大小、傳送速率及到達(dá)時刻等不同,因此有時不同的傳輸流TS所包含的小包數(shù)據(jù)P同時輸入。
另外,在圖36及圖37所示的例子中,由于每個傳輸流TS抽取具有不同節(jié)目編號的節(jié)目,因此在選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm中,看起來好像不存在節(jié)目編號或小包標(biāo)識符PID重復(fù)的小包數(shù)據(jù)P。但是,在第一傳輸流TS1及第二傳輸流TS2中抽取相同節(jié)目編號的節(jié)目的情況下,在選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm中,存在具有相同節(jié)目編號的不同節(jié)目內(nèi)容小包數(shù)據(jù)Pc。另外,關(guān)于小包標(biāo)識符PID,由于它與節(jié)目編號無關(guān),是每個傳輸流TS中附加給該小包數(shù)據(jù)串P所固有的,因此在選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm中存在具有同一小包標(biāo)識符PID的不同小包數(shù)據(jù)P。
另外,也有時抽取指定節(jié)目以外的表示傳輸流TS1的節(jié)目3的節(jié)目內(nèi)容小包數(shù)據(jù)管理表MT3或第二傳輸流TS2的節(jié)目6的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT6。這樣,從輸入的傳輸流TS中連續(xù)排列的小包數(shù)據(jù)P僅離散地抽取與規(guī)定的多個節(jié)目相對應(yīng)的小包數(shù)據(jù)P,同時按照到達(dá)多格式傳輸流解碼器TD的順序輸出。
圖38所示的一個例子是,從通過在外部設(shè)置的調(diào)諧器單元輸入至多格式傳輸流解碼器TD的傳輸流Ts1及TS2抽取的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm所包含的小包數(shù)據(jù)P的各小包數(shù)據(jù)在主存儲器900中的存儲狀態(tài)。另外,在該圖中,在多格式傳輸流解碼器TD中,主存儲器900以外的構(gòu)成要素用TD’表示。
主存儲器900具有存儲構(gòu)成多TS多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PmsmV的節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc401_1、Pc201_1及Pc501_1、……的圖像小包存儲區(qū)A(video)、以及存儲構(gòu)成多TS多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PmsmS的節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc411_1、Pc211_1及Pc511_1、……的聲音小包存儲區(qū)A(audio)。
主存儲器900還具有存儲節(jié)目內(nèi)容管理表PAT的信息及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的PAT存儲區(qū)Ar(PAT)。但是,與主存儲器900的PAT存儲器A(PAT)不同,在PAT存儲區(qū)Ar(PAT)中,細(xì)分為應(yīng)該專用存儲輸入的傳輸流TS1~TSε的各傳輸流的區(qū)域。在這樣的構(gòu)成中,主存儲器900具有對每個傳輸流TS分別存儲節(jié)目內(nèi)容管理表PAT存儲器Ar(PAT)、以及對每個傳輸流TS分別存儲節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT的信息的PMT存儲區(qū)Ar(PMT)。
另外,PMT存儲區(qū)Ar(PMT)當(dāng)然僅備有傳輸流TS所包含的節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT(節(jié)目)的種類(α)。通過這樣的構(gòu)成,由于能夠識別對輸入的每個傳輸流TS讀入的管理小包數(shù)據(jù)PcA并進(jìn)行管理,因此對每個傳輸流能夠容易知道與今后傳送的節(jié)目有關(guān)的信息。
通過將節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV的節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc401_1、Pc201_1及Pc501_1、……相互沒有間隔地存入圖像小包存儲區(qū)A(video)內(nèi),形成節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV(多TS多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PmsmV)。同樣,通過將節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS的節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc411_1、Pc2111_1及Pc511_1、……相互沒有間隔地存入聲音小包存儲區(qū)A(audio)內(nèi),形成節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS(多TS多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PmsmS)。
圖39所示為選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm生成的多TS多節(jié)目小包數(shù)據(jù)串Pmsm的結(jié)構(gòu)的一個例子。在本例中,抽取第一傳輸流TS1的節(jié)目1的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV的節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc101_2、……及節(jié)目2的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV即節(jié)目內(nèi)容小包數(shù)據(jù)Pc節(jié)目201_1、Pc201_2、……。然后,抽取第二傳輸流TS2的節(jié)目4的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV即節(jié)目內(nèi)容小包數(shù)據(jù)Pc401_1、Pc401_2、……及節(jié)目5的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV即節(jié)目內(nèi)容小包數(shù)據(jù)Pc501_1、Pc501_2、……,按照例如節(jié)目內(nèi)容小包數(shù)據(jù)Pc101_1、Pc401_1、Pc201_1、Pc501_1、Pc101_2、Pc401_2、Pc201_2、Pc501_2、……的順序,作為多TS多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PmsmV輸出給主存儲器900。
同樣,抽取第一傳輸流TS1的節(jié)目1及節(jié)目2的節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS即節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc111_2、……及節(jié)目內(nèi)容小包數(shù)Pc211_1、Pc211_2、……,同時抽取傳輸TS2的節(jié)目3及節(jié)目4的節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS即節(jié)目內(nèi)容小包數(shù)據(jù)Pc411_1、Pc411_2、……及節(jié)目內(nèi)容小包數(shù)據(jù)Pc511_1、Pc511_2、……,按照節(jié)目內(nèi)容小包數(shù)據(jù)Pc111_1、Pc411_1、Pc211_1、Pc511_1、Pc111_2、Pc411_2、Pc211_2、Pc511_2……順序,作為多TS多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PmsmS聲音流,輸出給主存儲器900。
至此已經(jīng)說明了用分別具有固有的小包標(biāo)識符PID的小包數(shù)據(jù)構(gòu)成的傳輸流TS的情況。但是,以ITU-T建議H.220.0為代表的傳輸流TS對于構(gòu)成它們的全部小包數(shù)據(jù)P的各小包數(shù)據(jù)P,沒有附加固有的小包標(biāo)識符PID。對于按照構(gòu)成該傳輸流TS的小包數(shù)據(jù)P的每個內(nèi)容分類的每個所謂小包數(shù)據(jù)組,賦予固有的小包標(biāo)識符PID。
圖40所示的例子是對每個那樣的小包數(shù)據(jù)組附加小包標(biāo)識符PID的二個傳輸流TS1及TS2的小包結(jié)構(gòu)。與圖36所示的例子相同,在圖40中所示的也是至少提供三個不同的節(jié)目1、節(jié)目2、節(jié)目3、……、節(jié)目α1的第一傳輸流TS1的結(jié)構(gòu)例子、以及至少提供六個不同的節(jié)目1、節(jié)目2、節(jié)目3、節(jié)目4、節(jié)目5、節(jié)目6、……、節(jié)目α2的第二傳輸流TS2的結(jié)構(gòu)例子。
在第一傳輸流TS1中,節(jié)目1的圖像數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc101,聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc111。節(jié)目2的圖像數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc201,聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc201,聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc211。節(jié)目3的圖像數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc301,聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc311。
關(guān)于第二傳輸流TS2,也與第一傳輸流TS1相同,節(jié)目4的圖像數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc401;聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)PC411。節(jié)目5的圖像數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc401,聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc511。節(jié)目6的圖像數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc601,聲音數(shù)據(jù)規(guī)定為節(jié)目內(nèi)容小包數(shù)據(jù)Pc611。
這樣,對于構(gòu)成傳輸流TS的全部小包數(shù)據(jù)P的各小包數(shù)據(jù)P,沒有附加固有的小包標(biāo)識符PID,而對每種該小包數(shù)據(jù)P附加固有的小包標(biāo)識符PID,除此以外,圖40所示的傳輸流TS也與參照圖36說明的傳輸流TS同樣構(gòu)成。
下面說明對具有這樣小包結(jié)構(gòu)的多個傳輸流TS1~TSε采用上述多格式傳輸流解碼器TD時的動作。對于按照每個小包數(shù)據(jù)P的內(nèi)容分類的每個小包數(shù)據(jù)組附加固有的標(biāo)識符PID,這與僅指出圖36所示的傳輸流TS的小包數(shù)據(jù)P的小包標(biāo)識符PID高三位實質(zhì)上是相同的。即,在本例中,也從第一傳輸流TS1抽取節(jié)目內(nèi)容小包數(shù)據(jù)Pc101及節(jié)目內(nèi)容小包數(shù)據(jù)Pc201,同時從第二傳輸流TS2抽取節(jié)目內(nèi)容小包數(shù)據(jù)Pc401及節(jié)目內(nèi)容小包數(shù)據(jù)Pc501,通過這樣能夠生成與圖38所示的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV實質(zhì)上相同的節(jié)目圖像內(nèi)容小包數(shù)據(jù)。
同樣,小包標(biāo)識符PID為201的全部小包數(shù)據(jù)P規(guī)定節(jié)目2的圖像數(shù)據(jù)即節(jié)目內(nèi)容小包數(shù)據(jù)Pc201。小包標(biāo)識符PID為211的全部小包數(shù)據(jù)P規(guī)定節(jié)目2的聲音數(shù)據(jù)即節(jié)目內(nèi)容小包數(shù)據(jù)Pc211。
再有,小包標(biāo)識符PID為301的全部小包數(shù)據(jù)P規(guī)定節(jié)目3的圖像數(shù)據(jù)即節(jié)目內(nèi)容小包數(shù)據(jù)Pc301。小包標(biāo)識符Pid為311的全部小數(shù)據(jù)P規(guī)定節(jié)目3的聲音數(shù)據(jù)即節(jié)目內(nèi)容小包數(shù)據(jù)Pc311。
這樣,對于構(gòu)成傳輸流TS的全部小包數(shù)據(jù)P的各小包數(shù)據(jù)P,沒有附加固有的小包標(biāo)識符PID,而對每種該小包數(shù)據(jù)P附加固有的小包標(biāo)識符PID,除此以外,本圖所示的傳輸流TS也與參照圖36說明的傳輸流TS同樣構(gòu)成。另外,原則上具有同一小包標(biāo)識符PID的多個小包數(shù)據(jù)P,在流生成時是按照其提示的順序排列。結(jié)果,在接收側(cè),對依次輸入的傳輸流TS的全部小包數(shù)據(jù)P的各小包數(shù)據(jù)P,按照每個小包標(biāo)識符PID接收的順序進(jìn)行規(guī)定的處理,通過這樣能夠抽取信息。
下面說明對具有這樣小包結(jié)構(gòu)的傳輸流TS采用上述本發(fā)明實施形態(tài)有關(guān)的多格式傳輸流解碼器TD時的動作。對于按照每個小包數(shù)據(jù)P的內(nèi)容分類的每個小包數(shù)據(jù)組附加固有的標(biāo)識符PID,這與圖36所示的傳輸流TS中僅指出小包數(shù)據(jù)P的小包標(biāo)識符PID的高三位實質(zhì)上是相同的。即,在本例中,也通過抽取節(jié)目內(nèi)容小包數(shù)據(jù)Pc101及節(jié)目內(nèi)容小包數(shù)據(jù)Pc201,能夠生成與圖38所示的節(jié)目圖像內(nèi)容小包數(shù)據(jù)PcV實質(zhì)上相同小包結(jié)構(gòu)的多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串。同樣,通過抽取節(jié)目內(nèi)容小包數(shù)據(jù)Pc111及小包數(shù)據(jù)Pc211,能夠生成與圖38所示的節(jié)目聲音內(nèi)容小包數(shù)據(jù)PcS實質(zhì)上相同小包結(jié)構(gòu)的多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串。
另外,構(gòu)成第一傳輸流TS1的小包數(shù)據(jù),是按照第一傳輸流TS1所固有的規(guī)定格式生成的。同樣,構(gòu)成第二傳輸流TS2的小包數(shù)據(jù),是按照第二傳輸流TS2所固有的規(guī)定格式生成的。關(guān)于這一點(diǎn),將在隨后參照圖5進(jìn)行說明。
這如上所述,構(gòu)成第一傳輸流TS1的小包數(shù)據(jù)及構(gòu)成第二傳輸流TS2的小包數(shù)據(jù)是按照各傳輸流所固有的格式構(gòu)成的。因此,對于構(gòu)成第一傳輸流TS1的小包數(shù)據(jù)與構(gòu)成第二傳輸流TS2的小包數(shù)據(jù),常常其大小是不相同的。另外,還由于,在第一傳輸流TS1及第二傳輸流TS2中,即使其小包大小是相同的,但各小包數(shù)據(jù)不一定同時刻到達(dá)多格式傳輸流解碼器TD。
即,若傳輸流TS不同,則變成有可能遲到達(dá)的小包數(shù)據(jù)P超過先到達(dá)的小包數(shù)據(jù)P輸出給主存儲器900。在這樣的情況下,通過按照到達(dá)的順序作為混合選擇多節(jié)目小包數(shù)據(jù)串Pems輸出,就不可能在存儲器900中正確形成多TS多節(jié)目小包數(shù)據(jù)串Pmsm。因而,在這樣的狀態(tài)下,多TS多節(jié)目小包數(shù)據(jù)串Pmsm中必須有傳輸流TS中的小包數(shù)據(jù)P的時間序列信息,以便能夠重放從不同傳輸流TS抽取的小包數(shù)據(jù)P。
這樣,在主存儲器900內(nèi)構(gòu)成的多TS多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PmsmV及多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PmsmS,利用主存儲器控制器700,作為圖38所示的多TS多節(jié)目小包數(shù)據(jù)串Pmsm讀出,向多格式傳輸流解碼器TD的外部輸出。
因此,在本實施形態(tài)中具有數(shù)據(jù)緩沖功能,該數(shù)據(jù)緩沖功能將依次輸入進(jìn)來的構(gòu)成傳輸流TS的全部小包數(shù)據(jù)P一個一個進(jìn)行緩沖中,同時識別一個一個進(jìn)行緩沖的小包數(shù)據(jù)P,判斷該小包數(shù)據(jù)P是否為用戶所希望的處理對象,并實時控制對該小包數(shù)據(jù)P的訪問及處理。再有,為了保證實時處理時間內(nèi)的訪問或加工時間,將對象小包數(shù)據(jù)在緩沖器單元內(nèi)僅確保規(guī)定時間,這一情況是通過軟件控制來保證的,而關(guān)于除此之外的被動性處理作為委托給硬件控制來完成。結(jié)果,提供的多格式傳輸流解碼器能夠從小包數(shù)據(jù)P為單位進(jìn)行更靈活的識別管理,在對識別的小包數(shù)據(jù)P按照每個固有的格式適當(dāng)進(jìn)行處理后,也容易對過程的處理時序進(jìn)行調(diào)整。
再回到圖1,詳細(xì)說明多格式傳輸流解碼器的各構(gòu)成要素。第一流輸入器TSR-1~第三流輸入器TSR-ε對分別從外部的傳輸流源(未圖示)以小包為單位供給的傳輸流TSI~TSε為了分別識別各傳輸流用的TD即傳輸流標(biāo)識符TSID。
定時器600開始起動多格式傳輸流解碼器TD,同時開始計時,將各小包數(shù)據(jù)P到達(dá)的時間信息TT輸出給流輸出器1300及流輸入器TSR。
傳輸流標(biāo)識符TSID將輸入的多個(1~)傳輸流內(nèi)的任意傳輸流TS作為I(1≤i≤ε)表示。根據(jù)該管理方法,將輸入至多格式傳輸流解碼器TD的任意傳輸流TS作為第I傳輸流標(biāo)識符TSi來表示。
另外,即使第I傳輸流TSi作為傳輸流TS是同一格式,但有時構(gòu)成傳輸流的小包數(shù)據(jù)P的格式不同,因此再利用格式標(biāo)識符FID來管理小包數(shù)據(jù)P的格式,關(guān)于這種情況將在隨后參照圖28進(jìn)行詳細(xì)說明。
然后,流輸入器TSR將附加了傳輸流標(biāo)識符TSID的傳輸流TS暫時保持在內(nèi)部具有的輸入緩沖器,然后將它們按照每個規(guī)定的傳送單位TSd1~傳送單位TSdε,傳送給數(shù)據(jù)緩沖裝置DBA。再有,第一流輸入器TSR1r~第ε流輸入器TSRε在分別輸入進(jìn)來的第一傳輸流TS1~第ε傳輸流TSε中有數(shù)據(jù)錯誤時,對其進(jìn)行檢測后,將第一出錯信號E1~第出錯信號Eε輸出給數(shù)據(jù)緩沖裝置DBA內(nèi)的出錯標(biāo)記設(shè)定器295。另外,傳送單位TSd1~TSdε的大小可考慮到數(shù)據(jù)緩沖裝置DBA中的仲裁負(fù)荷及傳送效率來適當(dāng)決定。
數(shù)據(jù)緩沖裝置DBA對第一流輸入器TSR1~第ε流輸入器TSRε供給的傳送單位TSd1~TSdε的第一傳輸流TS1~第ε傳輸流TSε以小包數(shù)據(jù)P為單位進(jìn)行管理及存儲,在對處理對象小包數(shù)據(jù)P進(jìn)行所希望的處理后,作為選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm輸出給主存儲器控制器700。
主存儲器900將從數(shù)據(jù)緩沖裝置DBA輸出的第一傳輸流TS1~第ε傳輸流TSε抽取的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm加以存儲,同時作為多TS多節(jié)目小包數(shù)據(jù)串Pmsm輸出給以AV解碼器為代表的外部設(shè)備(未圖示)。
主存儲器控制器700將選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm及多TS多節(jié)目小包數(shù)據(jù)串Pmsm以每個傳送單位TSd暫時保持。主存儲器控制器700再控制主存儲器900的動作,將暫時保持的選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm以每個傳送單位TSd輸出給主存儲器900,同時控制主存儲器900,在其內(nèi)部形成多TS多節(jié)目圖像內(nèi)容小包數(shù)據(jù)串PmsmV及多TS多節(jié)目聲音內(nèi)容小包數(shù)據(jù)串PmsmS。
TD控制器TDC預(yù)先存儲了輸入至多格式傳輸流解碼器TD的每種傳輸流TS的數(shù)據(jù)結(jié)構(gòu)信息。然后,TD控制器TDC生成表示實際輸入的傳輸流TS的數(shù)據(jù)結(jié)構(gòu)的傳輸流結(jié)構(gòu)信號Sts,數(shù)促會給流輸入器TSR,通過這樣來控制流輸入器TSR,使其相應(yīng)于輸入的傳輸流TS進(jìn)行適當(dāng)?shù)膭幼?。在這種情況下,用戶也可以利用附帶處理要求輸入器APR等,指示TD控制器TDC所存儲的結(jié)構(gòu)信息。
用戶也可以利用附帶處理要求輸入器APR等,將實際輸入的傳輸流TS的結(jié)構(gòu)信息提供TD控制器TDC,以代替預(yù)先將傳輸流TS的數(shù)據(jù)結(jié)構(gòu)信息存入TD控制器TDC。再有,也可以這樣構(gòu)成多格式傳輸流解碼器TD,使其讀入實際輸入的傳輸流TS,并檢測其數(shù)據(jù)結(jié)構(gòu)。
TD控制器TDC是控制整個多格式傳輸流解碼器TD的動作。另外,多格式傳輸流解碼器TD生成表示上述各構(gòu)成要素動作狀態(tài)的狀態(tài)信號SrW,輸出給TD控制器TDC。TD控制器TDC根據(jù)狀態(tài)信號SrW,生成控制多格式傳輸流解碼器TD的各構(gòu)成要素動作的控制信號ScW,對多格式傳輸流解碼器TD進(jìn)行控制。另外,由于狀態(tài)信號SrW及控制信號ScW的生成和多格式傳輸流解碼器Td的控制是眾所周知的技術(shù),因此省略其說明。
數(shù)據(jù)緩沖裝置DBA包含小包緩沖仲裁器PBA、小包選擇器400、流輸出管理器500、中間處理用緩沖器單元使用存儲器530、小包分析器1000、流輸出器1300及控制器PBAC。小包緩沖仲裁器PBA將從流輸入器TSR以每個傳送單元TSd輸入的傳輸流TS以小包數(shù)據(jù)P為單位進(jìn)行識別并進(jìn)行緩沖。小包選擇器400判斷緩沖的小包數(shù)據(jù)P是否為所希望的小包數(shù)據(jù)P。
中間處理用緩沖器單元使用存儲器530根據(jù)后述的二次緩沖器單元分配信息mrp,分配供給存儲從小包緩沖器270的一次緩沖器單元Bc_I讀出后被解擾的被加擾數(shù)據(jù)Dsdi的二次緩沖器單元Bc_M。然后,表示分配的二次緩沖器單元Bc_M的分配二次緩沖器單元信息mwp,輸出給緩沖器單元分配信息存儲器240。另外,關(guān)于小包緩沖器270,將在隨后參照圖3、圖4及圖5進(jìn)行說明。
下面參照圖2主要說明流輸出管理器500、小包分析器1000及流輸出器1300。小包分析器1000包含解擾器1100及段數(shù)據(jù)選擇器1200。解擾器1100根據(jù)控制器PBAC輸入的解擾指示控制數(shù)據(jù)Dcrl,將DMA總線仲裁器210輸入的被加擾數(shù)據(jù)Dsdi進(jìn)行解擾,生成被解擾數(shù)據(jù)Dsdo,同時生成解擾結(jié)束通知數(shù)據(jù)Dcrlo。被解擾數(shù)據(jù)Dsdo輸入至DMA總線仲裁器210,解擾結(jié)束通知數(shù)據(jù)Dcrlo輸入至控制器PBAC。
段數(shù)據(jù)選擇器1200對DMA總線仲裁器210輸入的要選擇段數(shù)據(jù)Ssdi進(jìn)行段選擇,生成被選擇小包數(shù)據(jù)Ssdo。被選擇小包數(shù)據(jù)Ssdo輸出給DMA總線仲裁器210。段數(shù)據(jù)選擇器1200再對控制器PBAC輸入的段選擇指示控制數(shù)據(jù)Scrl進(jìn)行選擇,生成段選擇結(jié)束信號Scrlo。段選擇結(jié)束信號scrlo輸入至控制器PBAC。
流輸出管理器500包含輸出順序緩沖器單元編號存儲器控制器510及輸出順序緩沖器單元編號存儲器520。輸出順序緩沖器單元存儲器控制器510與小包緩沖器控制器260連接,相互交換流輸出管理信號Shf,同時生成流輸出緩沖器單元決定信號Hrp。輸出順序緩沖器單元編號存儲器520根據(jù)輸出順序緩沖器單元編號存儲器控制器510輸入的流輸出緩沖器單元決定信號Hrp,對小包緩沖器270的流輸出所使用的緩沖器單元編號進(jìn)行管理。
流輸出器1300根據(jù)定時器600輸入的時間信息TT及控制器PBAC輸入的流輸出指示控制數(shù)據(jù)Hcrl,將DMA總線仲裁器210輸入的流輸出數(shù)據(jù)Hsdi作為第一流Pho1及第二流Pho2輸出。
小包緩沖仲裁器PBA包含DMA總線仲裁器210、TSd輸入開始檢測器220、緩沖器的一分配器230、緩沖器單元分配信息存儲器240、寫入對象緩沖器單元指定器250、小包緩沖器控制器260、小包緩沖器270、存儲結(jié)束緩沖器單元編號存儲器控制器280、存儲結(jié)束緩沖器單元編號存儲器290、出錯標(biāo)記設(shè)定器295及小包訪問器300。
DMA總線仲裁器210具有接受來自第一流輸入器TSR1輸出的第一小包頭部檢測信號Sps1、第一請求信號Srq1及第一傳送單位TSd1的輸入的第一輸入口組合。同樣,具有接受來自第ε流輸入器TSRε輸出的第ε小包頭部檢測信號Spsε第ε請求信號Srgε及第ε傳送單位TSdε的輸入的第ε輸入口組合。即,DMA總線仲裁器210具有僅與輸入的傳輸流TS的數(shù)量ε相同的輸入口組合。這樣,通過對每個輸入的傳輸流TS具有輸入口組合,能夠分別識別輸入至多格式傳輸流解碼器TD的第I傳輸流TSi。
再有,DMA總線仲裁器210具有對第一流輸入器TSR1輸出第一數(shù)據(jù)有效信號Sde1的第一輸出口。同樣,DMA總線仲裁器210具有對第ε流輸入器TSR輸出第ε數(shù)據(jù)有效信號Sdeε的第一輸出口。即,DMA總線仲裁器210備有對按照輸入的傳輸流TS的數(shù)量ε而準(zhǔn)備的每個流輸入器TSR1~TSRε輸出數(shù)據(jù)有效信號Sde1~Sdeε的輸出口。
DMA總線仲裁器210主要是在第一流輸入器TSR1~第ε流輸入器TSR與小包緩沖器控制器260之間對第一傳輸流TS1~第ε傳輸流TSε的以傳送單位TSd1~TSdε的輸入輸出進(jìn)行仲裁。即,DMA總線仲裁器210根據(jù)第I流輸入器TSRi輸入的第I小包頭部檢測信號Spsi及第I請求信號Srqi,將第I小包頭部檢測信號Spsi輸出給TSd輸入開始檢測器220。第I流輸入器TSRi對DMA總線仲裁器210輸入的第I數(shù)據(jù)有效信號Sdei進(jìn)行應(yīng)答,供給第I傳送單位Tsdi。進(jìn)而,DMA總線仲裁器210將小包緩沖器控制器260輸入的選擇多節(jié)目小包數(shù)據(jù)串Pem輸出給主存儲器控制器700。
TSd輸入開始檢測器220根據(jù)小包頭部檢測信號Sps及傳送單位TSd,對每個小包數(shù)據(jù)P檢測傳送單位TSd的輸入已經(jīng)開始,同時將輸入開始的傳送單位TSd供給小包緩沖器控制器260。Tsd輸入開始檢測器為了存儲輸入開始的小包數(shù)據(jù)P,生成要求分配一個小包緩沖器270的緩沖器單元的緩沖器單元要求信號Sba,輸出給緩沖器單元分配器230。然后,若緩沖器單元Bc被分配,則TSd輸入開始檢測器220生成表示是能夠開始對該分配緩沖器單元寫入節(jié)目內(nèi)容小包數(shù)據(jù)Pc的狀態(tài)的寫入允許信號Sw,輸出給寫入對象緩沖器單元指定器250。
緩沖器單元分配器230對緩沖器單元要求信號Sba進(jìn)行應(yīng)答,根據(jù)后述的分配一次緩沖器單元信息Iab,分配供輸入開始的小包數(shù)據(jù)P存儲用的緩沖器單元。然后,生成表示分配的緩沖器單元的一次緩沖器單元分配信息Iba,輸出給緩沖器單元分配信息存儲器240。
緩沖器單元分配信息存儲器240將緩沖器單元分配器230輸入的一次緩沖器單元分配信息Iba進(jìn)行存儲。進(jìn)而,緩沖器單元分配信息存儲器240將該一次緩沖器單元分配信息Iba供給寫入對象緩沖器單元指定器250及存儲結(jié)束緩沖器單元編號存儲器控制器280。另外,緩沖器單元分配信息存儲器240進(jìn)一步根據(jù)一次緩沖器單元分配信息Iba,生成表示構(gòu)成小包緩沖器270的各緩沖器單元Bc的分配狀況的分配一次緩沖器單元信號Iab,反饋給緩沖器單元分配器230。
寫入對象緩沖器單元指定器250對TSd輸入開始檢測器220輸入的寫入允許信號Sw進(jìn)行應(yīng)答,生成指示對用緩沖器單元分配信息存儲器240輸入的一次緩沖器單元分配信號Iba表示的被分配的緩沖器單元寫入傳送單位TSd的寫入要求信號Swd,輸出給小包緩沖器控制器260。
小包緩沖器控制器260對寫入要求信號Swd進(jìn)行應(yīng)答,將TSd輸入開始檢測器220供給的傳送單位Tddi寫入小包緩沖器270的被分配的緩沖器單元。這時,DMA總線仲裁器210將是來自TSRi1的數(shù)據(jù)通知小包緩沖器控制器260。即,對于TSd預(yù)先附加表示它是輸入至多格式傳輸流解碼器TD的多個ε個傳輸流TS1~TSε的哪一個傳輸流TSi的數(shù)據(jù)的標(biāo)記,這將在后面說明,小包緩沖器控制器260比較緩沖器單元中存儲的數(shù)據(jù)所附加的這些信息與DMA總線仲裁器210通知的信息,通過這樣區(qū)別并存儲正確的傳輸流信息。
再有,小包緩沖器控制器260對寫入被分配的緩沖器單元的數(shù)據(jù)字節(jié)數(shù)進(jìn)行計數(shù),通過這樣檢測出已寫入一個小包數(shù)據(jù)P大小的傳送單位Tsdi,生成表示來自DMA總線仲裁器210的一個小包數(shù)據(jù)P的數(shù)據(jù)傳送結(jié)束的傳送結(jié)束信號Stf,輸出給存儲結(jié)束緩沖器單元編號存儲器控制器280。另外如上所述,包含輸入傳輸流TSi的一個小包數(shù)據(jù)Pi的數(shù)據(jù)大小的規(guī)定格式信息預(yù)先包含在多格式傳輸流解碼器TD內(nèi)存儲的數(shù)據(jù)結(jié)構(gòu)信息中。
存儲結(jié)束緩沖器單元編號存儲器控制器280根據(jù)緩沖器單元分配信息存儲器240輸入的一次緩沖器單元分配信息Iba及小包緩沖器控制器260輸入的傳送結(jié)束信號Stf,生成表示寫入一個小包數(shù)據(jù)P的緩沖器單元的緩沖器單元編號信號Sbn、以及將表示寫入緩沖器單元編號Nbc的存儲區(qū)的寫指針Wp進(jìn)1的寫指針更新信號Swp,輸出給存儲結(jié)束緩沖器單元編號存儲器290。
出錯標(biāo)記設(shè)定器295根據(jù)第一流輸入器TSR1~第2流輸入器TSRε輸入的第一出錯信號E1~第ε出錯信號Eε、以及小包緩沖器控制器260輸入的傳送結(jié)束信號Stf,生成使出錯標(biāo)記置位的出錯標(biāo)記信號Fe,該出錯標(biāo)記是表示在出錯標(biāo)志存儲器290EF的出錯標(biāo)志區(qū)Fc中存儲了包含數(shù)據(jù)錯誤的小包數(shù)據(jù)P的緩沖器單元Bcm的出錯標(biāo)記,然后輸出給存儲結(jié)束緩沖器單元編號存儲器290。
即,對寫指針Wp所示的緩沖器單元指定區(qū)域Rcm,記錄緩沖器單元編號信號Sbn所示的緩沖器單元編號Nbc,同時對寫指針Wp所示的標(biāo)記存儲區(qū)Fcm,記入出錯標(biāo)記信號Fe所示的標(biāo)記值。然后,將寫指針Wp的位置進(jìn)1,同時指示記錄緩沖器單元編號Nbc的緩沖器單元指定區(qū)Rcm的下一個區(qū)域、以及記入標(biāo)記值的標(biāo)記存儲區(qū)Fcm的下一個區(qū)域。
在存儲結(jié)束緩沖器單元編號存儲器290中,應(yīng)該記入緩沖器單元編號Nbcn的緩沖器單元指定區(qū)Rcm及根據(jù)出錯標(biāo)記信號Fe應(yīng)該寫入標(biāo)記值的標(biāo)記存儲區(qū)Fcm是由同一個寫指針Wp指示的。而且,應(yīng)該讀出記入的緩沖器編號Nbcn的緩沖器單元指定區(qū)Rcm及應(yīng)該讀出標(biāo)記值的標(biāo)記存儲區(qū)Fcm是由同一個讀指針RP指示的。讀指針RP是根據(jù)控制器PBAC輸出的控制信號Sc前進(jìn)的。
另外,在本實施形態(tài)中,存儲結(jié)束緩沖器單元編號存儲器290如在隨后參照圖3說明的那樣,由于最好是用環(huán)形存儲器構(gòu)成,因此這樣對緩沖器單元每結(jié)束一次寫入,則寫指針Wp就進(jìn)1,通過這樣能夠適當(dāng)更新存儲結(jié)束緩沖器單元編號存儲器290的存儲器中存儲的緩沖器單元編號Nbc。
另外,小包訪問器300經(jīng)由小包緩沖器控制器260及DMA總線仲裁器210,有選擇地訪問剛存入小包緩沖器270的緩沖器單元之后的小包數(shù)據(jù)P,在進(jìn)行讀出、參照或編輯等處理后,或者經(jīng)由DMA總線仲裁器210及小包緩沖器控制器260,將原來的小包數(shù)據(jù)P重寫更新等。
為此,小包緩沖器控制器260讀取后述的讀指針Rp指示的緩沖器單元中存儲的小包數(shù)據(jù)P的小包標(biāo)識符PID,抽取緩沖器小包識別信息PIDe,同時輸出給DMA總線仲裁器210。
另外,小包緩沖仲裁器PBA生成表示上述各構(gòu)成要素的動作狀態(tài)的狀態(tài)信號Sr,輸出給控制器PBAC??刂破鱌BAC根據(jù)狀態(tài)信號Sr,生成控制小包緩沖仲裁器PBA的各構(gòu)成要素動作的控制信號Sc,輸出給小包緩沖仲裁器PBA。另外,由于狀態(tài)信號Sr及生成控制信號Sc1的控制器PBAC的控制是眾所周知的技術(shù),因此省略其說明。
小包緩沖仲裁器PBA將第一流輸入器TSR1以傳送單位TSd1輸入的傳輸流TS1~第ε流輸入器TSRε以傳送單位TSd2輸入的傳輸流TSi以小包即小包數(shù)據(jù)P為單位進(jìn)行識別管理,并進(jìn)行緩沖??刂破鱌BAC控制小包緩沖仲裁器PBA的動作。
另外,在本發(fā)明中,將傳輸流TS所含的小包數(shù)據(jù)P分別存入緩沖器單元Bc,同時識別存儲的小包數(shù)據(jù)P的內(nèi)容,能夠?qū)υ撔“鼣?shù)據(jù)P進(jìn)行訪問及處理,還能夠?qū)υ撔“鼣?shù)據(jù)P按照其格式進(jìn)行所希望的處理。
下面參照圖2及圖3,簡單說明上述的緩沖器單元分配信息存儲器240、小包緩沖器270及存儲結(jié)束緩沖器單元編號存儲器290的關(guān)系,如圖2所示,小包緩沖器270大致區(qū)分包含m個(m為2ε以上(含2ε)的整數(shù))個一次緩沖器單元Bc_I1~Bc_Im、n(n為大于m/2的整數(shù))個二次緩沖器單元Bc_M1~BC_Mn、以及一個以上(含一個)三次緩沖器單元Bc_O。
這是由于,對于每個輸入的傳輸流TS,需要一個小包數(shù)據(jù)P的存儲用及存儲的小包數(shù)據(jù)P的讀出用的不同一次緩沖器單元Bc_I。另外,在第一傳輸流TS1及第二傳輸流TS2的二個(ε=2)傳輸流TS輸入時,一次緩沖器單元Bc_I的個數(shù)m為4(即2×2)以上(含4)的整數(shù)。
另外,二次緩沖器單元Bc_M由于只要與一次緩沖器Bc_I的讀出對應(yīng)設(shè)置即可,因此需要數(shù)n為m/2以上(含m/2)的整數(shù)。再有,三次緩沖器單元Bc_O由于只要在累積完成對一個小包數(shù)據(jù)P的處理過程的中間數(shù)據(jù)后輸出即可,因此可以是一個以上(含一個)。
一次緩沖器單元Bc_I1~Bc_Im分別將經(jīng)由TSd輸入開始檢測器220及小包緩沖器控制器260以傳送單位TSd輸入的小包數(shù)據(jù)P僅存儲第一規(guī)定時間T1,接受對存儲的小包數(shù)據(jù)P的處理。利用小包緩沖器控制器260,讀出一次緩沖器單元BcI中存儲的小包數(shù)據(jù)P的小包標(biāo)識符PID及傳輸流標(biāo)識符TSID,作為抽取小包識別信息PIDe及抽取傳輸流標(biāo)識符TSIDe。
再有,一次緩沖器單元Bc_I與解擾器1100及段數(shù)據(jù)選擇器1200連接。然后,將一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P內(nèi)被加擾的被加擾數(shù)據(jù)Dsdi輸出給解擾器1100。另外,在一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P是段數(shù)據(jù)時,要選擇段數(shù)據(jù)Ssdi2輸出給段數(shù)據(jù)選擇器1200。
解擾器1100將一次緩沖器單元Bc_I輸入的被加擾數(shù)據(jù)Dsdi進(jìn)行解擾,生成被解擾數(shù)據(jù)Dsdo。段數(shù)據(jù)選擇器1200將一次緩沖器單元Bc_I輸入的要選擇段數(shù)據(jù)Ssdi2進(jìn)行段數(shù)據(jù)選擇,生成被選擇小包數(shù)據(jù)Ssdo。
二次緩沖器單元Bc_M與解擾器1100連接,將被解擾數(shù)據(jù)Dsdo僅存儲第二規(guī)定時間T2(T2<T1)。再有,段數(shù)據(jù)選擇器1200與二次緩沖器單元Bc_M連接,讀出存儲的被解擾數(shù)據(jù)Dsdo內(nèi)的被解擾的實數(shù)據(jù),作為要選擇段數(shù)據(jù)Ssdi1,并進(jìn)行段數(shù)據(jù)選擇,生成被選擇小包數(shù)據(jù)Ssdo。
三次緩沖器單元Bc_O與段數(shù)據(jù)選擇器1200連接,將從要選擇段數(shù)據(jù)Ssdi1或要選擇段數(shù)據(jù)Ssdi2的某一個數(shù)據(jù)生成的被選擇小包數(shù)據(jù)Ssdo僅存儲第三規(guī)定時間T3(T3<T2)。
緩沖器單元Bc的各單元能夠暫時存儲規(guī)定大小的數(shù)據(jù),即進(jìn)行緩沖。將為此所必需的緩沖器單元Bc的容量稱為最低緩沖器容量MBU。最低緩沖器容量MBU可根據(jù)構(gòu)成小包數(shù)據(jù)P的小包數(shù)據(jù)P的數(shù)據(jù)大小適當(dāng)設(shè)定。若設(shè)定最低緩沖器容量MBU小于小包大小,則雖能夠?qū)?jié)目內(nèi)容小包數(shù)據(jù)Pc的抽取進(jìn)行更精細(xì)的控制,但DMA總線仲裁器210中的輸入輸出仲裁頻次增大,導(dǎo)致為此所需的控制工時增大,處理效率變差。另外,若設(shè)最低緩沖器容量MBU大于小包大小,例如幾倍左右,則一個緩沖器單元Bc也能夠存儲多個小包數(shù)據(jù)P。但是,這種情況由于不能區(qū)別一個緩沖器單元Bc中存儲的多個小包數(shù)據(jù)P,因此不能以小包數(shù)據(jù)P為單位進(jìn)行控制或訪問。因而,最低緩沖器容量MBU應(yīng)該根據(jù)傳輸流解碼器的內(nèi)部處理速度、小包數(shù)據(jù)P的輸入速率、小包大小及對小包數(shù)據(jù)P的訪問頻次適當(dāng)設(shè)定。
另外,在本例中,最低緩沖器容量MBU設(shè)定為使其能夠存儲一個字節(jié)數(shù)據(jù)P,具體來說設(shè)定為188個字節(jié)。另外,也可以根據(jù)需要,能夠?qū)σ粋€小包數(shù)據(jù)追加具有識別或管理小包數(shù)據(jù)P用的規(guī)定字節(jié)數(shù)的輔助數(shù)據(jù)后進(jìn)行存儲。但是,也可以根據(jù)需要,如上所述設(shè)定為小于小包大小,即將一個小包分割存儲在幾個緩沖器單元Bc。
另外,最低緩沖器容量MBU不管有無分割,它是對存儲的數(shù)據(jù)加上相當(dāng)于管理信息的管理字節(jié)的容量。管理信息中至少包含表示存儲的分割或未非割數(shù)據(jù)屬于輸入的多個傳輸流TS的哪一個傳輸流的傳輸流識別信息。
另外,在將小包分割存儲的情況下,最低緩沖器容量MBU為小包數(shù)據(jù)P分割后的數(shù)據(jù)最大大小與包含分割信息及傳輸流小包識別信息的管理數(shù)據(jù)大小之和。在這種情況下,緩沖器單元Bc的個數(shù)N的最小值即緩沖器單元最少個數(shù)Nmin為2ε乘以分割數(shù)D的值(緩沖器單元最少個數(shù)Nmin為2εD)。
下面再敘述不同小包數(shù)據(jù)P之間的輸入速率不同的情況。即,輸入至多格式傳輸流解碼器TD的多個(ε個)傳輸流TS1~TSε的各傳輸流所含的小包數(shù)據(jù)P的輸入速率,多數(shù)情況下對于每個傳輸流TSi是不同的?,F(xiàn)在以二個(ε=2)傳輸流TS1及TS2輸入的情況為例進(jìn)行說明。下面考慮在將第一傳輸流TS1的節(jié)目1的節(jié)目內(nèi)容小包數(shù)據(jù)Pc101及Pc111、以及第二傳輸流TS2的第四節(jié)目內(nèi)容小包數(shù)據(jù)Pc401及Pc411進(jìn)行緩沖時,節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的輸入速率絕對大于節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的輸入速率的情況。
在這種情況下,即使設(shè)節(jié)目內(nèi)容小包數(shù)據(jù)Pc101與Pc401同時到達(dá)多格式傳輸流解碼器TD,也由于DMA總線仲裁器210r進(jìn)行仲裁,一方(例如節(jié)目內(nèi)容小包數(shù)據(jù)Pc101)比另一方(例如節(jié)目內(nèi)容小包數(shù)據(jù)Pc401)先開始緩沖。然后,在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的緩沖開始之后,接著節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的緩沖開始。但是,由于節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的輸入速率絕對大于節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的輸入速率,因此在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的輸入速率,因此在節(jié)目內(nèi)容小包數(shù)據(jù)Pc401的緩沖途中,節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的輸入就結(jié)束。
要適應(yīng)這樣的狀態(tài),在節(jié)目內(nèi)容小包數(shù)據(jù)Pc101的緩沖中,必須備有后輸入的高速率節(jié)目內(nèi)容小包數(shù)據(jù)Pc411進(jìn)行緩沖用的緩沖器單元Bc。這種情況的緩沖器單元最少個數(shù)Nmin雖根據(jù)輸入傳輸流TS的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的輸入速率來決定,但若設(shè)最低緩沖器容量MBU為一定,則緩沖器單元最少個數(shù)Nmin一般與輸入傳輸流TS的數(shù)量成正比,并增加與輸入傳輸流之間輸入速率明顯不同的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的數(shù)量相應(yīng)的部分。
另外,在本例中,最低緩沖器容量MBU這樣規(guī)定,使其能夠存儲對一個小包數(shù)據(jù)P附加規(guī)定管理數(shù)據(jù)的大小,具體來說使其能夠存儲對188個字節(jié)的一個小包數(shù)據(jù)P的附加4個字節(jié)的管理數(shù)據(jù)的大小,即設(shè)定為192個字節(jié)。另外,四個字節(jié)的管理數(shù)據(jù)包含上述的傳輸流識別信息,同時還包含表示該小包數(shù)據(jù)P的到達(dá)時間的時間標(biāo)記信息。關(guān)于這種情況,將在隨后參照圖16進(jìn)行說明。
另外,關(guān)于一次緩沖器單元Bc_I、二次緩沖器單元Bc_M及三次緩沖器單元Bc_O中存儲的數(shù)據(jù),下面參照圖3、圖24、圖25、圖26及圖27進(jìn)行說明。在圖25中所示的例子是,第一傳輸流TS1的小包數(shù)據(jù)P1根據(jù)第一格式FMT1構(gòu)成,第二傳輸流TS2的小包數(shù)據(jù)P2根據(jù)第二格式FMT2構(gòu)成。
順便說一下,根據(jù)第一格式FMT1構(gòu)成的小包數(shù)據(jù)P1(TS1),是從頭部開始按照屬性管理字節(jié)BMh、輔助數(shù)據(jù)AXD、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的順序排列構(gòu)成的。若設(shè)屬性管理字節(jié)BMh、輔助數(shù)據(jù)AXD、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的字節(jié)大小分別為M、N1、R1及M,則為了存儲這樣的小包數(shù)據(jù)P1(TS1FMT1),緩沖器單元Bc所要求的最小容量MBU為2M+N1+R1。
同樣,根據(jù)第二格式FMT2構(gòu)成的小包數(shù)據(jù)P2(TS2),是從頭部開始按照屬性管理字節(jié)BMh、實數(shù)據(jù)PDM及處理管理字節(jié)BMp的順序排列構(gòu)成的。若設(shè)屬性管理字節(jié)BMh、輔助數(shù)據(jù)AXO、實數(shù)據(jù)PDB及處理管理字節(jié)BMp的字節(jié)大小分別為M、R2及M,則為了存儲這樣的小包數(shù)據(jù)P2(TS2FMT2),緩沖器單元Bc所要求的最小容量MBU為2M+R2。
下面參照圖26及圖27說明管理字節(jié)BM的結(jié)構(gòu)。如圖26所示,管理字節(jié)BM中有2類,即屬性管理字節(jié)BMh及處理管理字節(jié)BMp。屬性管理字節(jié)BMh包含小包到達(dá)時間信息ATS(Arrival Time Stamp,到達(dá)時間標(biāo)記)、格式標(biāo)識符FID(Format IDefication)、多流標(biāo)識符傳輸流標(biāo)識符TSIP(TS Idefication)及流輸出要求信息存儲區(qū)HSOUTR(HiSpeed OUTput Region,高速輸出)。
利用流輸入器TSR附加小包到達(dá)時間信息ATS、格式標(biāo)識符FID及多流識別符傳輸流識別符TSID。在本發(fā)明有關(guān)的多格式傳輸流解碼器TD中,為了進(jìn)行多流及多格式的小包數(shù)據(jù)控制,在將小包數(shù)據(jù)P存入緩沖器單元Bc時,可以對實數(shù)據(jù)PD附加控制器PBAC為了進(jìn)行小包處理所必需的信息后進(jìn)行存儲。
如圖27所示,輔助數(shù)據(jù)AXD包含輔助數(shù)據(jù)信息VALID、流輸出I/F用時間信息HSTS(HiSpeed Time Stamp,高速時間標(biāo)記)及流出錯信息ERR。輔助數(shù)據(jù)AXD是在根據(jù)與接受流輸出單元流輸出器1300輸出的數(shù)據(jù)的設(shè)備連接的連接I/F標(biāo)準(zhǔn)進(jìn)行處理時所必需的信息。
輔助數(shù)據(jù)信息VALID是表示現(xiàn)在的輔助數(shù)據(jù)AXD是否為接受側(cè)的設(shè)備能夠使用的信息,輔助數(shù)據(jù)AXD為有效時,設(shè)為Active。該輸出I/F用時間信息HSTS是27MHz系統(tǒng)的時間信息,是根據(jù)管理字節(jié)BM的小包到達(dá)時間信息ATS利用控制器PBAC生成。流出錯信息ERR是表示流輸出的該流是否出錯流的信息,在是出錯流時,設(shè)為Active。
再回到圖2,以在奇數(shù)號的一次緩沖器單元Bc_I中存儲第一格式FMT1的小包數(shù)據(jù)P、在偶數(shù)號的一次緩沖器單元Bc_I中存儲第二格式FMT2(段數(shù)據(jù))的小包數(shù)據(jù)P的情況為例進(jìn)行說明。在奇數(shù)號的一次緩沖器單元Bc_I中,按照處理管理字節(jié)BMp、輔助數(shù)據(jù)AXD、實數(shù)據(jù)PD1及屬性管理字節(jié)BMh的順序存儲。在偶數(shù)號的一次緩沖器單元Bc_I中,按照處理管理字節(jié)BMp、實數(shù)據(jù)PD2及屬性管理字節(jié)BMh的順序存儲。
在奇數(shù)號的一次緩沖器單元Bc_I中存儲的輔助數(shù)據(jù)AXD及實數(shù)據(jù)PD作為第一流Pho1從流輸出器1300輸出。在偶數(shù)號的一次緩沖器單元Bc_I中存儲的實數(shù)據(jù)PD作為第二流Pho2從流輸出器1300輸出。
再有,處理管理字節(jié)BMp及輔助數(shù)據(jù)AXD及實數(shù)據(jù)PD從奇數(shù)號的一次緩沖器單元Bc_I作為被加擾數(shù)據(jù)Dsdi輸出給解擾器1100。解擾器1100將被加擾數(shù)據(jù)Dsdi的輔助數(shù)據(jù)AXD及實數(shù)據(jù)Pd進(jìn)行解擾,生成被解擾輔助數(shù)據(jù)AXD’。然后,將處理管理字節(jié)BMp及被解擾輔助數(shù)據(jù)AXD’及被解擾實數(shù)據(jù)PD’作為被解擾數(shù)據(jù)Dsdo輸出給二次緩沖器單元Bc_M。
在二次緩沖器單元Bc_M中,被解擾數(shù)據(jù)Dsdo按照處理管理字節(jié)BMp、被解擾輔助數(shù)據(jù)AXD’及被解擾實數(shù)據(jù)PD’的順序進(jìn)行存儲。然后,處理管理字節(jié)BMp、被解擾輔助數(shù)據(jù)AXD’及被解擾實數(shù)據(jù)PD’從二次緩沖器單元Bc_M作為要選擇段數(shù)據(jù)Ssdi1輸出給段數(shù)據(jù)選擇器1200。
段數(shù)據(jù)選擇器1200對要選擇段數(shù)據(jù)Ssdi1進(jìn)行選擇,生成被選擇實數(shù)據(jù)PD”,輸出給三次緩沖器單元Bc_0。
處理管理字節(jié)BMp及輔助數(shù)據(jù)AXD及實數(shù)據(jù)PD從偶數(shù)號的一次緩沖器單元Bc_I作為要選擇段數(shù)據(jù)Ssdi2輸出給段數(shù)據(jù)選擇器1200。段數(shù)據(jù)選擇器1200對要選擇段數(shù)據(jù)Ssdi2進(jìn)行選擇,生成被選擇實數(shù)據(jù)PD”,作為被選擇小包數(shù)據(jù)Ssdo輸出給三次緩沖器單元Bc_O。
這樣,根據(jù)小包數(shù)據(jù)P的格式進(jìn)行處理的被選擇實數(shù)據(jù)PD”存入三次緩沖器單元Bc_O。
緩沖器單元分配信息存儲器240具有與小包緩沖器270的一次緩沖器單元Bc_I1~Bc_Im的各單元對應(yīng)的一次緩沖器單元分配信息區(qū)AI1~Aim、以及與二次緩沖器單元Bc_M1~Bc_Mn的各單元對應(yīng)的二次緩沖器單元分配信息區(qū)AM1~AMn。緩沖器單元分配信息存儲器240根據(jù)緩沖器單元分配器230供給的一次緩沖器單元分配信息Iba,對與分配的一次緩沖器單元Bc_I對應(yīng)的一次緩沖器單元分配信息區(qū)AI寫入表示有無分配的分配識別數(shù)據(jù)。即,在緩沖器單元分配信息存儲器240中備有與小包緩沖器270的一次緩沖器單元Bc_I1~Bc_Im相同數(shù)量的一次緩沖器單元分配信息區(qū)AI1~AIm。
同樣,緩沖器單元分配信息存儲器240根據(jù)中間處理用緩沖器單元使用存儲器530供給的二次緩沖器單元分配信息mrp,對與分配的二次緩沖器單元Bc_M對應(yīng)的二次緩沖器單元分配信息區(qū)AM寫入表示有無分配的分配識別數(shù)據(jù),即,在緩沖器單元分配信息存儲器240中備有與小包緩沖器270的二次緩沖器單元Bc_M1~Bc_Mn相同數(shù)量的二次緩沖器單元分配信息區(qū)AM1~AMn例如,分配識別數(shù)據(jù)為1與0的二值數(shù)據(jù),初始值為0。然后,在一次緩沖器單元Bc_I1被分配時,對與一次緩沖器單元Bc_I1對應(yīng)的一次緩沖器單元分配信息區(qū)AI1例如寫入1。另外,在將寫入一次緩沖器單元Bc_I1的數(shù)據(jù)讀出后,根據(jù)控制器PBAC輸出的控制信號Sc,對一次緩沖器單元分配信息區(qū)AI1寫入0,一次緩沖器單元Bc_I1被打開。關(guān)于二次緩沖器單元Bc_M,這也同樣。
這樣,小包緩沖器270的各一次緩沖器單元Bc_I1~Bc_Im的各自分配狀況用一次緩沖器單元分配信息區(qū)AI1,AIm中的數(shù)值集合來表示,作為分配一次緩沖器單元信息Iab,供給緩沖器單元分配器230。同樣,二次緩沖器單元Bc_M1~Bc_Mn的各自分配狀況用二次緩沖器單元分配信息區(qū)AM1~AMn中的數(shù)值集合來表示,作為分配二次緩沖器單元信息mwp,供給中間處理用緩沖器單元使用存儲器530。
如圖3所示,存儲結(jié)束緩沖器單元編號存儲器290包含緩沖器單元編號存儲器290BCN及出錯標(biāo)記存儲器290EF。緩沖器單元編號存儲器290BCN具有存儲表示小包緩沖器270的一次緩沖器單元Bc_I1~Bc_Im的一個特定單元的緩沖器單元編號NbcN的緩沖器單元指定區(qū)Rc(Rc1~RcM)。另外,M為2以上(含2)而且N以下(含N)的自然數(shù)。存儲結(jié)束緩沖器單元編號存儲器290組好它的用環(huán)形存儲器構(gòu)成的緩沖器單元指定區(qū)Rc1~RcM連續(xù)而且循環(huán)進(jìn)行記錄。結(jié)果,與緩沖器單元分配信息存儲器240的情況不同,不需要備有與緩沖器單元分配信息存儲器240的一次緩沖器單元Bc_I1~Bc_Im相同數(shù)量的區(qū)域,只要備有M個緩沖器單元指定區(qū)Rc1~RcM即可。
應(yīng)該記入緩沖器單元編號Nbcn的緩沖器單元指定區(qū)Rcm(m為1以上(含1)M以下(含M)的自然數(shù))是利用寫指針WP指示的。而且,應(yīng)該讀出記入的緩沖器單元編號Nbcn的緩沖器單元指定區(qū)Rcm是利用讀指針Rp指示的。寫指針WP表示與讀指針RP所示的位置相比為下一個或相同的緩沖器單元指定區(qū)Rcm。寫指針WP如上所述,根據(jù)存儲結(jié)束緩沖器單元編號存儲器控制器280輸出的寫指針更新信號Swp前進(jìn),而讀指針RP根據(jù)控制器PBAC輸出的控制信號Sc前進(jìn)。
在寫指針WP比讀指針RP的位置前進(jìn)1時,讀指針RP所示的緩沖器單元指定區(qū)Rcm中所示的緩沖器單元Bcn,意味著將數(shù)據(jù)存儲結(jié)束而處于可讀出的狀態(tài)。在寫指針WP與讀指針RP表示同一位置時,意味著沒有處于數(shù)據(jù)可讀出狀態(tài)的緩沖器單元Bcn。
出錯標(biāo)記存儲器290EF具有與緩沖器單元編號存儲器290BCN的緩沖器單元指定區(qū)Rc1~RcM的各指定區(qū)對應(yīng)的標(biāo)記存儲區(qū)Fc(Fc1~FcM)。出錯標(biāo)記存儲器290EF基本上與存儲結(jié)束緩沖器單元編號存儲器290相同,最好由環(huán)形存儲器構(gòu)成,根據(jù)出錯標(biāo)記設(shè)定器295輸入的出錯標(biāo)記信號Fe,在標(biāo)記存儲區(qū)Fc1~FcM中連續(xù)而且循環(huán)記錄標(biāo)記值。
圖4中說明存儲結(jié)束緩沖器單元編號存儲器290的變形例。本變形例中的存儲結(jié)束緩沖器單元編號存儲器290R,簡單地說是緩沖器單元編號存儲器290BCN的緩沖器單元指定區(qū)RC與出錯標(biāo)記存儲器290EF的標(biāo)記存儲區(qū)Fc一體化而構(gòu)成緩沖器單元屬性存儲區(qū)Rcp(Rcp1~RcpM)。而且,緩沖器單元編號信號Sbn與出錯標(biāo)記信號Fe結(jié)合成一體,作為表示各緩沖器單元Bc的數(shù)據(jù)存儲狀況的屬性數(shù)據(jù)Pbc,記錄在緩沖器單元屬性存儲區(qū)Rcp。另外,通過這樣利用一種數(shù)據(jù)來管理一次緩沖器單元Bc_I的狀態(tài),能夠力圖更提高一次緩沖器單元Bc_I的獲得及打開處理的效率。
下面參照圖5所示的波形圖,以2個(ε=2)傳輸流TS1及TS2輸入的情況為例,簡單說明第一流輸入器TSR1及第二流輸入器TSR1、DMA總線仲裁器210及小包緩存器控制器260的動作。
以130個字節(jié)的數(shù)據(jù)構(gòu)成的小包數(shù)據(jù)P1,其每一個字節(jié)與具有規(guī)定頻率的第一輸入傳送時鐘Ck1同步輸入至第一流輸入器TSR1。同樣,以188個字節(jié)的數(shù)據(jù)構(gòu)成的小包數(shù)據(jù)P2構(gòu)成第二傳輸流TS2,其每一個字節(jié)與具有規(guī)定頻率的第二輸入傳送時鐘Ck2同步輸入至第二流輸入器TSR2。另外,小包數(shù)據(jù)P的取得同步用的同步字節(jié)Bsync,在第二傳輸流TS2中包含在該小包數(shù)據(jù)P2的頭部,而在第一傳輸流TS1中,小包數(shù)據(jù)P1中不包含該同步字節(jié)Bsync。
在本例中所示的是第一輸入傳送時鐘Ck1與地?zé)彷斎雮魉蜁r鐘Ck2是相同的情況。但是,輸入傳送時鐘Ck的頻率是每個輸入的傳輸流TS規(guī)定的。因此,當(dāng)然有的情況下,第一輸入傳送時鐘Ck1與第二輸入傳送時鐘Ck2的頻率是不相同的。雖然也有的情況下,傳輸流TS是以一個比特為單位輸入至流輸入器TSR的,但由于處理內(nèi)容與輸入數(shù)據(jù)單位無關(guān),基本上是相同的,因此下面僅說明以一個字節(jié)為單位輸入的情況。另外,在該圖中所示的例子是,在第二傳輸流TS2中檢測出數(shù)據(jù)錯誤,而另一方面在第一傳輸流TS1中未檢測出數(shù)據(jù)錯誤的情況。
第一流輸入器TSR1對每個小包數(shù)據(jù)P1,在檢測出最初一個字節(jié)的同步數(shù)據(jù)的時刻,檢測出小包數(shù)據(jù)P1的小包頭部。然后,每檢測出小包頭部,就生成第一小包頭部檢測信號Sps1,輸出給DMA總線仲裁器210。
第一流輸入器TSR1再在檢測出小包頭部的時刻,根據(jù)時間信息TT,生成表示小包數(shù)據(jù)P1到達(dá)時刻的時間標(biāo)記St及表示該小包數(shù)據(jù)P1是第一傳輸流TS1的傳輸流標(biāo)識符TSID(1)。另外,傳輸流標(biāo)識符TSID換句話說,表示該傳輸流TS是輸入至DMA總線仲裁器210的第一輸入口組合,還表示是從第一流輸入器TSR1輸入。
另外,時間標(biāo)記St即對一個傳輸流TS分配一次緩沖器單元Bc_I的時刻的時間信息TT,存入緩沖器單元Bc的頭部。再有,設(shè)定大小的小包數(shù)據(jù)存入分配的一次緩沖器單元Bc_I的存儲結(jié)束時刻的時間TT,存儲在該一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P的最后尾部。
另外,時間標(biāo)記St的字節(jié)數(shù)雖可以根據(jù)多格式傳輸流解碼器TD中的處理精度任意決定,但在本例中最好用三個字節(jié)表示。另外,傳輸流標(biāo)識符TSID的字節(jié)數(shù)由于只要能識別輸入至多格式傳輸流解碼器TD的全部傳輸流TS就足夠了,因此在本例中用一個字節(jié)表示。第一流輸入器TSR1將時間標(biāo)記St與傳輸流標(biāo)識符TSID合在一起,合成管理信息IM,附加在輸入的小包數(shù)據(jù)P1的頭部,生成第一傳送單位TSd1。
第二流輸入器TSR2也與第一流輸入器TSR1相同,對每個小包數(shù)據(jù)P2,在檢測出最初一個字節(jié)的同步數(shù)據(jù)的時刻,檢測出小包數(shù)據(jù)P2的小包頭部。然后,每檢測出小包頭部,就生成第二小包頭部檢測信號Sps2,輸出給DMA總線仲裁器210。
第二流輸入器TSR2再在檢測出小包頭部的時刻,生成表示小包數(shù)據(jù)P2到達(dá)時刻的時間標(biāo)記St及表示該小包數(shù)據(jù)P2是第二傳輸流TS2的傳輸流標(biāo)識符TSID(2)。另外,傳輸流標(biāo)識符TSID換句話說,表示該傳輸流TS是輸入至DMA總線仲裁器210的第二輸入口組合,還表示是從第二流輸入器TSR2輸入。
第二流輸入器TSR2將時間標(biāo)記St與傳輸流標(biāo)識符TSID合在一起,生成管理信息IM,附加在輸入的小包數(shù)據(jù)P2的頭部,生成第二傳送單位TSd2。
這樣,通過將時間標(biāo)記St及傳輸流標(biāo)識符TSID作為管理信息IM附加給小包數(shù)據(jù)P,能夠正確識別各不同的傳輸流TS所含的小包數(shù)據(jù)P。再有,如上所述,在不同的小包數(shù)據(jù)P之間因輸入速率不同而引起的所謂后到達(dá)的小包數(shù)據(jù)P在先到達(dá)的小包數(shù)據(jù)P結(jié)束輸入之前就結(jié)束輸入的情況,即產(chǎn)生所謂超前小包的情況下,也能夠根據(jù)管理信息IM按照輸入的順序正確處理這些小包。
第一流輸入器TSR1還從小包頭部數(shù)起,每隔8個字節(jié),對DMA總線仲裁器210生成要求接受第一傳送單位TSd1的輸入的第一請求信號Srq1,輸出給DMA總線仲裁器210。換句話說,第一傳送單位TSd1是8個字節(jié),對各小包(188個字節(jié))每隔8個字節(jié)輸出傳送第一傳送單位TSd1用的第一請求信號Srq1。
即,在檢測出第一傳輸流TS1的小包數(shù)據(jù)P1頭部的時刻,由于生成3個字節(jié)的時間標(biāo)記St及一個字節(jié)的傳輸流標(biāo)識符TSID構(gòu)成的共計四個字節(jié)的管理信息IM,因此在從頭部輸入四個字節(jié)的時刻,第一流輸入器TSR1生成第一請求信號Srq1。另外,對于第五個字節(jié)以后,每隔八個字節(jié)生成第一請求信號Srq1。即,各小包數(shù)據(jù)P的第一個輸出的傳送單位TSd的最初四個字節(jié),是利用多格式傳輸流解碼器TD生成的管理信息Im,而不是傳輸流TS的小包數(shù)據(jù)P的本身的數(shù)據(jù)。
另外,在必須對多個傳輸流TS1~TSε的各傳輸流進(jìn)行識別時,則表示為時間標(biāo)記Sti、傳輸流標(biāo)識符TSIDi及管理信息Imi。I是表示輸入至流輸入器TSR1~TSRε的哪一個的傳輸流TS的自然數(shù)(1≤i≤ε)。具體來說,關(guān)于第一傳輸流TS1,則表現(xiàn)為第一小包頭部檢測信號Sps1、第一請求信號Srq1、第一數(shù)據(jù)有效信號Sde1、第一傳送單位TSd1、時間標(biāo)記St1、傳輸流識別符TSID1及第一流輸入器TSR1。
同樣,關(guān)于第二傳輸流TS2,則表現(xiàn)為第二小包頭部檢測信號Sps2、第二請求信號Srq2、第二數(shù)據(jù)有效信號Sde2、第二傳送單位TSd2、時間標(biāo)記St2、第二小包頭部檢測信號Sps2、傳輸流標(biāo)識符TSID2及流輸入器TSR2。但是,小包數(shù)據(jù)P2的最初第二傳送單位TSd2中與小包數(shù)據(jù)P1的最初第一傳送單位TSd1不同,它含有同步字節(jié)Bsync。
即,在檢測出第二傳輸流TS2的小包數(shù)據(jù)P2的頭部即同步字節(jié)Bsync的時刻,由于生成三個字節(jié)的時間標(biāo)記St及一個字節(jié)的傳輸流標(biāo)識符TSID構(gòu)成的共計四個字節(jié)的管理信息IM,因此在從頭部的頭部字節(jié)Bsync起輸入四個字節(jié)的時刻,第二流輸入器TSR2生成第二請求信號Srq2。另外,對于第五個字節(jié)以后,每隔八個字節(jié)生成第二請求信號Srq2。
DMA總線仲裁器210對第一請求信Srq1進(jìn)行應(yīng)答,對其輸入輸出進(jìn)行仲裁,作好從第一流輸入器TSR1輸入第一傳送單位TSd1的準(zhǔn)備。然后,在準(zhǔn)備完成的時刻(比第一請求信號Srq1推遲時間Ta),生成第一數(shù)據(jù)有效信號Sde1,輸出給第一流輸入器TSR1。該時間Ta是因包含數(shù)據(jù)緩沖裝置DBA的內(nèi)部處理時間引起而自然決定的,允許因數(shù)據(jù)緩沖裝置DBA的狀態(tài)不同而有少許變動。
如參照圖1說明的那樣,第一流輸入器TSR1對第一數(shù)據(jù)有效信號Sde1進(jìn)行應(yīng)答,將內(nèi)部緩沖器存儲的小包數(shù)據(jù)P1的數(shù)據(jù)每隔八個字節(jié)作為第一傳送單位TSd1輸出給DMA總線仲裁器210。
采用與有關(guān)第一流輸入器TSR1及DMA總線仲裁器210所說明的同樣的方法,第二流輸入器TSR2生成第二小包頭部檢測信號Sps2及第二請求信號Srq2,輸出給DMA總線仲裁器210。DMA總線仲裁器210對第二請求信號Srq2進(jìn)行應(yīng)答,將第二數(shù)據(jù)有效信號Sde2輸出給第二流輸入器TSR2。
第二流輸入器TSR2生成第二傳送單位TSd2,同時對第二數(shù)據(jù)有效信號Sde2進(jìn)行應(yīng)答,將生成的第二傳送單位TSd2輸出給DMA總線仲裁器210。
DMA總線仲裁器210將第一流輸入器TSR1及第二流輸入器TSR2輸入的第一小包頭部檢測信號Sps1、第二小包頭部檢測信號Sps2、第一傳送單位TSd1及第二傳送單位TSd2輸出給TSd輸入開始檢測器220。
TSd輸入開始檢測器220根據(jù)DMA總線仲裁器210輸入的第一小包頭部檢測信號Sps1及第一傳送單位TSd1,對每個小包數(shù)據(jù)P1檢測出第一傳送單位TSd1的輸入已經(jīng)開始,同時將第一傳送單位TSd1供給小包緩沖器控制器260。
同樣,TSd輸入開始檢測器220根據(jù)DMA總線仲裁器210輸入的第二小包頭部檢測信號Sps2及第二傳送單位TSd2,對每個小包數(shù)據(jù)P2檢測出第二傳送單位TSd2的輸入已經(jīng)開始,同時將第二傳送單位TSd2供給小包緩沖器控制器260。
如上所述,TSd輸入開始檢測器220每檢測出第一傳送單位TSd1或第二傳送單位TSd2的輸入開始,則為了存儲現(xiàn)在開始輸入的小包數(shù)據(jù)P,生成要求分割一個小包緩沖器270的一次緩沖器單元Bc_I1~Bc_Im的緩沖器單元要求信號Sba,輸出給緩沖器單元分配器230。再有,生成表示處于能夠?qū)Ψ峙涞木彌_器單元開始寫入的狀態(tài)的寫入允許信號Sw,輸出給寫入緩沖器單元指定器250。
小包緩沖器控制器260將經(jīng)由DMA總線仲裁器210及TSd輸入開始檢測器220輸入的第一傳送單位TSd1及迭傳送單位TSd2,根據(jù)寫入對象緩沖器單元指定器250輸入的寫入要求信號Swd,寫入小包緩沖器270的被分配的緩沖器單元Bc。然后,在寫入一個小包數(shù)據(jù)P大小的第一傳送單位TSd1或第二傳送單位TSd2的時刻,生成傳送結(jié)束信號Stf,輸出給存儲結(jié)束緩沖器單元編號存儲器控制器280。
如上所述,在對被分配的一次緩沖器單元Bc_I開始小包數(shù)據(jù)P的寫入后,例如在第11個字節(jié)第一傳輸流TS1中有數(shù)據(jù)出錯時,流輸入器TSR1生成第一出錯信號E1,輸出給出錯標(biāo)記設(shè)定器295。
出錯標(biāo)記設(shè)定器295生成在接受了第一出錯信號E1的時刻為高電平狀態(tài)、在接受了傳送結(jié)束信號Stf的時刻為低電平狀態(tài)的二值信號即第一鎖存出錯信號LE1。同樣,出錯標(biāo)記設(shè)定器295生成在接受了第二出錯信號E2的時刻為高電平狀態(tài)、在接受了傳送結(jié)束信號Stf的時刻為低電平狀態(tài)的二值信號即第二鎖存出錯信號LE2。這些第一鎖存出錯信號LE1及第二鎖存出錯信號LE2作為出錯標(biāo)記信號Fe輸出給存儲結(jié)束緩沖器單元編號存儲器290。
在圖5所示的例中最130個字節(jié)的小包數(shù)據(jù)P1(TS1)及188個字節(jié)的小包數(shù)據(jù)P2(TS2)同時輸入至多格式傳輸流解碼器TD時,大小比較小的小包數(shù)據(jù)P1的傳送比小包數(shù)據(jù)P2先結(jié)束。結(jié)果,在第二傳輸流TS2的最初小包數(shù)據(jù)P2繼續(xù)傳送的期間,第一傳輸流TS1的下一個小包數(shù)據(jù)P1到達(dá)多格式傳輸流解碼器TD,產(chǎn)生所謂小包數(shù)據(jù)超前的情況。
另外,該超前即使在小包數(shù)據(jù)的大小相同的情況下,在輸入傳送時鐘Ck的頻率不同時也會產(chǎn)生。再有,若輸入傳送時鐘Ck的頻率差足夠大,則大小比較大的小包數(shù)據(jù)有時也能夠超前于大小比較小的小包數(shù)據(jù)。
下面參照圖7,詳細(xì)說明上述的多格式傳輸流解碼器TD的主要動作。多格式傳輸流解碼器TD在電源接通后開始其動作。
首先,在步驟#100的“初始化子程序”中,包含存儲結(jié)束緩沖器單元編號存儲器290的寫指針Wp及讀指針RP的值都復(fù)位為0在內(nèi),進(jìn)行裝置的初始化。然后,處理進(jìn)入下一個步驟#200。
在步驟#200的“傳輸流TS1~TSε的提供節(jié)目及能夠處理提示”子程序中,根據(jù)在TD控制器TDC的主存儲器900的PAT存儲區(qū)Ar(PAT)及PMT存儲區(qū)Ar(PMT)對每個傳輸流TS1~TSε分別存儲的節(jié)目內(nèi)容管理表PAT1~PATε及節(jié)目內(nèi)容小包數(shù)據(jù)管理表PMT1~PMTε,生成表示傳送的節(jié)目及多格式傳輸流解碼器TD能夠向用戶提供的處理功能的節(jié)目內(nèi)容提示信號Sp,輸出給附帶處理要求輸入器APR。
附帶處理要求輸入器APR根據(jù)節(jié)目內(nèi)容提示信號Sp,用顯示器等適當(dāng)?shù)娘@示裝置,向用戶一覽提示傳送節(jié)目及提供處理功能。用戶操作附帶處理要求輸入器APR,在提示的節(jié)目及處理功能內(nèi),選擇所希望的節(jié)目及處理功能。
在步驟#300的“對傳輸流TS1~TSε的處理要求檢測”子程序中,附帶處理要求輸入器APR根據(jù)節(jié)目內(nèi)容提示信號Sp,檢測對多個傳輸流TS1~TSε的用戶處理要求,生成處理要求信號Se,輸出給TD控制器TDC。
在步驟#400的“對傳輸流TS1~TSε的處理內(nèi)容決定”子程序中,Td控制器TDC根據(jù)處理要求信號Se,決定在多格式傳輸流解碼器TD一側(cè)應(yīng)該進(jìn)行的具體處理內(nèi)容。具體來說,TD控制器TDC根據(jù)附帶處理要求輸入器APR輸入的處理要求信號Se,生成作為處理對象的節(jié)目、對節(jié)目的處理方法、及處理所需要的器件等裝置的信息為代表的處理內(nèi)容信息。生成處理內(nèi)容信息。
在步驟#500的“處理對象小包數(shù)據(jù)十倍信心小包標(biāo)識符PIDd及傳輸流標(biāo)識符TSIDd生成”子程序中,TD控制器TDC生成根據(jù)步驟#400中決定的處理內(nèi)容信息表示應(yīng)該處理的小包數(shù)據(jù)P的處理對象小包數(shù)據(jù)識別信息小包標(biāo)識符PIDd、以及表示應(yīng)該處理的小包數(shù)據(jù)P的各小包數(shù)據(jù)所屬的傳輸流TSε的對象傳輸流識別信息TSIDd,輸出給小包選擇器400。
在步驟#600的“傳輸流TS1~TSε的小包數(shù)據(jù)P存儲”子程序中,依次輸入至多格式傳輸流解碼器TD的ε個傳輸流TS1~TSε所含的小包數(shù)據(jù)P1~Pε開始向數(shù)據(jù)緩沖裝置DBA的緩沖。另外,小包數(shù)據(jù)Pi以小包數(shù)據(jù)P/n為單位(n為自然數(shù))存入數(shù)據(jù)緩沖裝置DBA的一次緩沖器單元Bc_I的各單元。關(guān)于本步驟的處理,將在隨后參照圖8詳細(xì)敘述。在規(guī)定數(shù)量的小包數(shù)據(jù)P存儲結(jié)束的時刻,開始下一個步驟#700的處理。換句話說,在數(shù)據(jù)緩沖裝置DBA的多個一次緩沖器單元Bc_I內(nèi),小包數(shù)據(jù)P存儲了緩沖器單元Bc的規(guī)定數(shù)量單元的狀態(tài)下,開始步驟#700的處理。
在步驟#700的“傳輸流TS1~TSε的處理對象小包數(shù)據(jù)P選擇”子程序中,在依次存入數(shù)據(jù)緩沖裝置DBA的一次緩沖器單元Bc_I的小包數(shù)據(jù)P中,選擇處理對象的小包數(shù)據(jù)P。具體來說,判斷一個一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P是否為步驟#400中決定的小包數(shù)據(jù)P,判斷是否具有步驟#500中決定的小包標(biāo)識符PID(處理對象小包數(shù)據(jù)識別信息PIDd),通過這樣進(jìn)行作為處理對象小包數(shù)據(jù)P的選擇。
在步驟#8000的“對傳輸流TS1~TSε的小包數(shù)據(jù)P的要求處理進(jìn)行”子程序中,對步驟#700中選擇的小包數(shù)據(jù)P,進(jìn)行步驟#400中決定的內(nèi)容的用戶要求處理。在本實施形態(tài)中所示的例子是,依次存入一次緩沖器單元Bc_I的多個傳輸流TS1~TSε的小包數(shù)據(jù)P1~Pε中,僅抽取步驟#700中選擇的特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)P,抽取選擇多Ts多節(jié)目小包數(shù)據(jù)串Pemm(Pem1、Pem2),關(guān)于這種情況,將在隨后參照圖26進(jìn)行詳細(xì)敘述。另外,當(dāng)然要求處理不限于構(gòu)成特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的選擇抽取,可以適用于各種數(shù)字處理。
在#900的“傳輸流TS1~TSε的處理后小包數(shù)據(jù)P存儲”子程序中,步驟#8000中抽取的選擇多節(jié)目小包數(shù)據(jù)串Pemm輸出給主存儲器控制器700,生成多節(jié)目小包數(shù)據(jù)串Pmsm。
另外,如上所述,步驟#600是主要利用硬件的被動性處理,步驟#700~#900是主要利用軟件的主動性處理。因此,步驟#600與步驟#700~#900最好是作為并行處理而構(gòu)成。為此,在開始步驟#700中的對象處理小包數(shù)據(jù)P選擇子程序之前,最好在步驟#600中,對適當(dāng)數(shù)量的一次緩沖器單元Bc_I存入小包數(shù)據(jù)P。關(guān)于這一點(diǎn),將在隨后參照圖8進(jìn)行說明。
但是,在該圖中所示的是將步驟#600、#700、#8000及#900作為一連串的重復(fù)處理的結(jié)構(gòu)。下面簡單說明這樣的結(jié)構(gòu)中的動作。在開始進(jìn)行步驟#600的“傳輸流TS1~TSε的小包數(shù)據(jù)P存儲”子程序時,在等待對規(guī)定數(shù)量的緩沖器單元Bc存入小包數(shù)據(jù)P之后,連續(xù)進(jìn)行步驟#700、#8000及#900的處理。然后,在第二次以后的步驟#600中,在不是對規(guī)定數(shù)量而是對一個一次緩沖器單元Bc_I存儲小包數(shù)據(jù)P之后,進(jìn)行步驟#700~#900的處理。
這種情況下的所謂規(guī)定數(shù)量根據(jù)數(shù)據(jù)緩沖裝置DBA的一連串動作速度決定的,使其對于利用軟件進(jìn)行的步驟#700~#900的處理不引起允許以外的下溢或溢出,這樣來決定的。因此,規(guī)定數(shù)量的最小值為1。實際上,保證對規(guī)定數(shù)量的一次緩沖器單元Bc_I存入小包數(shù)據(jù)P,是用從步驟#600開始之后到步驟#700開始為止的時間進(jìn)行管理的。
圖37所示為上述步驟#700的“傳輸流TS1~TSε的處理對象小包數(shù)據(jù)P選擇”子程序與步驟#8000的“對傳輸流TS1~TSε的小包數(shù)據(jù)P的要求處理進(jìn)行”子程序的關(guān)系的示意圖。對依次輸入至多格式傳輸流解碼器TD的傳輸流TS的全部小包數(shù)據(jù)P,分別判斷是否為步驟#700中的處理對象。然后,僅對判斷為是處理對象的小包數(shù)據(jù)P(在圖37中用粗線箭頭表示),在步驟#8000中根據(jù)用戶的要求進(jìn)行處理。
如上所述,在本實施形態(tài)中,根據(jù)用戶要求的處理是從第一傳輸流TS1抽取節(jié)目1及節(jié)目2后,進(jìn)行所希望的處理,并從第二傳輸流TS2抽取節(jié)目4及節(jié)目5后,進(jìn)行所希望的處理。因此,在步驟#700中,在一次緩沖器單元Bc_I中存儲的全部小包數(shù)據(jù)P內(nèi),關(guān)于第一傳輸流TS1,僅選擇具有傳輸流標(biāo)識符TSID(1)及100多號和200多號的小包標(biāo)識符PID的節(jié)目內(nèi)容小包數(shù)據(jù)Pc、以及管理小包數(shù)據(jù)PcA。
同樣,關(guān)于第二傳輸流TS2,僅選擇具有傳輸流標(biāo)識符TSID(2)及400多號和500多號的小包標(biāo)識符PID的節(jié)目內(nèi)容小包數(shù)據(jù)Pc、以及管理小包數(shù)據(jù)PcA。然后,所選擇的節(jié)目內(nèi)容小包數(shù)據(jù)Pc及管理小包數(shù)據(jù)PcA,在步驟#8000中,利用一次緩沖器單元Bc_I、二次緩沖器單元Bc_M及三次緩沖器單元Bc_O進(jìn)行所希望的處理后,從緩沖器單元Bc(三次緩沖器單元Bc_O)向數(shù)據(jù)緩沖裝置DBA的外部作為選擇多TS多節(jié)目小包數(shù)據(jù)串Pemm輸出。
另外,在步驟#8000中,若用戶的要求處理是特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc的加工,則在上述的例中,在所選擇的管理小包數(shù)據(jù)PcA及節(jié)目內(nèi)容小包數(shù)據(jù)Pc內(nèi),僅對形成特定節(jié)目的節(jié)目內(nèi)容小包數(shù)據(jù)Pc進(jìn)行加工。關(guān)于這一點(diǎn),將在隨后參照圖10、圖11、圖12、圖13、圖14、圖15、圖16、圖17及圖18進(jìn)行詳細(xì)敘述。
下面參照圖8,詳細(xì)說明上述步驟#600的“傳輸流TS1~TSε的小包數(shù)據(jù)P存儲”子程序的動作。與輸入至多格式傳輸流解碼器TD的傳輸流TS1~TSε的各傳輸流對應(yīng),各備有一組步驟S602、S604、S606、S608、S610、S612及S614。即,存在步驟S602_1~S602_ε、步驟S604_1~S604_ε、步驟S606_1~S606_ε、步驟S608_1~S608_ε、步驟S610_1~S610_ε、步驟S612_1~S612_ε及步驟S614_1~S614_ε。
下面對作為輸入至多格式傳輸流解碼器TD的第一傳輸流TS1~第ε傳輸流TSε的代表的第I傳輸流標(biāo)識符TSi有關(guān)的動作進(jìn)行說明。另外,圖8中僅具體表示I為1的情況及I為ε的情況。
首先,在步驟S602_I中,從外部傳輸流供給源將第I傳輸流TSi輸入至流輸入器TSRi。然后,處理進(jìn)入下一個步驟S604_I。
在步驟S604_I中,第I流輸入器TSRi檢測輸入的第I傳輸流TSi的小包頭部。具體來說,第I流輸入器TSRi根據(jù)TD控制器TDC輸入的傳輸流結(jié)構(gòu)信號Sts,并根據(jù)輸入進(jìn)來的第I傳輸流TSi的結(jié)構(gòu),檢測輸入進(jìn)來的小包數(shù)據(jù)P的頭部。然后,處理進(jìn)入下一個步驟S606_1。
在步驟S606_1中,第I流輸入器TSRi開始檢測輸入進(jìn)來的第I傳輸流TSi中是否包含數(shù)據(jù)出錯。另外,在本步驟中開始的數(shù)據(jù)出錯檢測在后述的步驟S644中結(jié)束之前,與其它步驟S612_I~S640中的處理平行繼續(xù)進(jìn)行,在檢測出數(shù)據(jù)出錯的時刻,生成表示有數(shù)據(jù)出錯的傳輸流TS的出錯信號Ei’(1≤i′≤ε,i’也以與I相同)后輸出。然后,處理分支成為步驟S608_I及步驟S610_I。
在步驟S608_I中,第I流輸入器TSRi生成第I小包頭部檢測信號Spsi。然后,處理進(jìn)入后述的步驟S622。
另一方面,在步驟S610_I中,第I流輸入器TSRi根據(jù)檢測出第I傳輸流TSi的頭部字節(jié)的時間,生成時間標(biāo)記Sti,生成與DMA總線仲裁器210的輸入口組合相關(guān)聯(lián)的傳輸流標(biāo)識符TSIDi,然后,生成管理信息IMi。然后,處理進(jìn)入下一個步驟S612_I。
在步驟S612_I中,第I流輸入器TSRi將小包頭部以后的小包數(shù)據(jù)存入內(nèi)置的輸入緩沖器。若第I傳送單位TSdi部分的存儲結(jié)束,則處理進(jìn)入下一個步驟S614_I。另外,第I流輸入器TSRi中內(nèi)置的輸入緩沖器的容量必須根據(jù)輸入流的傳送速率等適當(dāng)確定,使得不漏掉輸入小包數(shù)據(jù)。當(dāng)然,至少必須大于第I傳送單位TSdi。
在步驟S614_I中,第I流輸入器TSRi將第I請求信號Srqi輸出給DMA總線仲裁器210。然后,處理進(jìn)入下一個步驟S616。
這樣,對于輸入至多格式傳輸流解碼器TD的全部傳輸流TS1~TSε(1≤i≤ε)的各傳輸流,將上述的S604_I、S606_I、S610_I、S612_I及S614_I作為一組,平行進(jìn)行這作為一組的處理。結(jié)果,全部傳輸流TS1~TSε的小包數(shù)據(jù)P1~Pε在到達(dá)多格式傳輸流解碼器TD的時刻,成為緩沖對象。
然后,在步驟S616中,DMA總線仲裁器210根據(jù)第一請求信號Srq1~第ε請求信號Srqε的各請求信號,準(zhǔn)備從第一流輸入器TSR1~第ε流輸入器TSRε的各流輸入器以第一小包數(shù)據(jù)P1~第ε傳輸流TSε的各傳送單位TSd的輸入,并進(jìn)行仲裁。然后,允許第一傳送單位TSd1~第ε傳送單位TSdε內(nèi)的某一個輸入。然后,處理進(jìn)入下一個步驟S618。
在步驟S618中,DMA總線仲裁器210將步驟S616中的仲裁結(jié)果、即將允許第I傳送單位TSdi的輸入的第I數(shù)據(jù)有效信號Sdei輸出給第I流輸入器TSRi。然后,處理進(jìn)入下一個步驟S620。
在步驟S620中,根據(jù)步驟S618中輸出的第I數(shù)據(jù)有效信號Sdei,從第I流輸入器TSRi開始將第I傳送單位TSdi向DMA總線仲裁器210傳送。另外,第I傳送單位TSdi經(jīng)由DMA總線仲裁器210,輸出給TSd輸入開始檢測器220。然后,處理進(jìn)入下一個步驟S622。
在步驟S622中,TSd輸入開始檢測器20根據(jù)在步驟S608_I中輸入開始的第I小包頭部檢測信號Spsi,檢測出第I傳送單位TSdi的輸入已經(jīng)開始。TSd輸入開始檢測器220根據(jù)前述的步驟S618中輸出的第一數(shù)據(jù)有效信號Sdei,在檢測出一個小包數(shù)據(jù)P部分的數(shù)據(jù)以第I傳送單位TSdi連續(xù)多次輸入進(jìn)來的最初數(shù)據(jù)的時刻,檢測出第I傳送單位TSdi的輸入開始。
即,在第一數(shù)據(jù)有效信號Sde1輸出的狀態(tài)下,檢測出第一傳送單位TSd1的輸入開始,在第二數(shù)據(jù)有效信號Sde2輸出的狀態(tài)下,檢測出第二傳送單位TSd2的輸入開始。TSd輸入開始檢測器220在步驟S616的仲裁結(jié)果、即第I小包頭部檢測信號Spsi輸入后傳送單位TSd開始輸入的時刻,檢測出第I流輸入器TSRi輸入進(jìn)來的小包頭部的輸入開始。然后。處理進(jìn)入下一個步驟S624。
在步驟S624中,TSd輸入開始檢測器220生成緩沖器單元要求信號Sba,輸出給緩沖器單元分配器230,同時生成寫入允許信號Sw,輸出給寫入對象緩沖器單元指定器250。然后,處理進(jìn)入下一個步驟S626。
在步驟S626中,緩沖器單元分配器230根據(jù)緩沖器單元分配信息存儲器240供給的分配一次緩沖器單元Iab,分配供寫入步驟S612_I中開始傳送的傳送單位TSd的緩沖器單元Bc。然后,處理進(jìn)入下一個步驟S628。
在步驟S628中,緩沖器單元分配器230生成表示步驟S612_I中分配的一次緩沖器單元Bc_I的一次緩沖器單元分配信息Iba,輸出給緩沖器單元分配信息存儲器。然后,處理進(jìn)入下一個步驟S630。
在步驟S630中,緩沖器單元分配信息存儲器240根據(jù)一次緩沖器單元分配信息Iba,生成分配一次緩沖器單元信息Iba,生成分配一次緩沖器單元信息Iab后加以存儲。然后,處理進(jìn)入下一個步驟S632。
在步驟S632中,緩沖器單元分配信息存儲器240將緩沖器單元分配器230輸入的一次緩沖器單元分配信號Iba輸出給寫入對象緩沖器單元指定器250及存儲結(jié)束緩沖器單元編號存儲器控制器280。然后,處理進(jìn)入下一個步驟S634。
在步驟S634中,TSd輸入開始檢測器220生成允許對小包緩沖器270的一次緩沖器單元Bc_I寫入傳送單位TSdi的寫入允許信號Sw,輸出給寫入對象緩沖器單元指定器250。然后,處理進(jìn)入下一個步驟S636。
在步驟S636中,寫入對象緩沖器單元指定器250對寫入允許信號Sw進(jìn)行應(yīng)答,生成對一次緩沖器單元分配信息Iba指示的、被分配的一次緩沖器單元Bc_I要求寫入(存儲)的寫入要求信號Swd,輸出給小包緩沖器控制器260。然后,處理進(jìn)入下一個步驟S638。
在步驟S638中,小包緩沖器控制器260將經(jīng)由TSd輸入開始檢測器220供給的傳送單位Tsdi,對寫入要求信號Swd(一次緩沖器單元分配信息Iba)及步驟S616的仲裁結(jié)果所指示的一次緩沖器單元Bc_I以小包數(shù)據(jù)P的傳送單位TSdi進(jìn)行寫入(存儲)。然后,處理進(jìn)入下一個步驟S640。
在步驟S640中,對每個傳送單位TSdi從第I流輸入器TSRi向DMA總線仲裁器210輸出第I請求信號Srqi(步驟S614_I)。DMA總線仲裁器210對第I請求信號Srqi進(jìn)行應(yīng)答,并進(jìn)行仲裁(步驟S616),輸出給與第I數(shù)據(jù)有效信號Sdei對應(yīng)的第I流輸入器TSRi(步驟S618)。第I流輸入器TSRi對第I數(shù)據(jù)有效信號Sdei進(jìn)行應(yīng)答,開始小包數(shù)據(jù)P的下一個第I傳送單位TSdi的傳送。這一連串的動作對輸入的傳輸流TS1~TSε的各傳輸流重復(fù)進(jìn)行。
在這期間,小包緩沖器控制器260將寫入一次緩沖器單元Bc_I的數(shù)據(jù)字節(jié)數(shù)對每個第I傳送單位TSdi不同的I的值(不同的傳輸流)進(jìn)行計數(shù),檢測出各一個小包數(shù)據(jù)P部分的傳送單位TSdi對緩沖器單元的存儲結(jié)束(S640)?,F(xiàn)在,已經(jīng)以第I傳輸流TSi為代表說明了與第一傳輸流TS1~第ε傳輸流TSε有關(guān)的動作,但如上所述,多個(不同的傳輸流標(biāo)識符TSID)傳輸流TS是同時輸入至多格式傳輸流解碼器TD。
因此,必須將I值不同的多個傳送單位TSdi同時存入各自的一次緩沖器單元Bc_I。因此,在步驟S640中,要檢測那樣的一個一個的一次緩沖器單元Bc_I中傳送單位TSdi的存儲結(jié)束。
再進(jìn)一步,生成傳送結(jié)束信號Stf,輸出給存儲結(jié)束緩沖器單元編號存儲器控制器280。計數(shù)的數(shù)值根據(jù)TD控制器TDC中預(yù)先存儲的表示傳輸流結(jié)構(gòu)信息的傳輸流TS的小包數(shù)據(jù)P的數(shù)據(jù)大小求得。然后,處理進(jìn)入下一個步驟S642。
在步驟S642中,出錯標(biāo)記設(shè)定器295對小包緩沖器控制器260輸出的傳送結(jié)束信號Stf進(jìn)行應(yīng)答,在上述步驟S606_I~S640之間,根據(jù)第一流輸入器TSR1~第ε流輸入器TSRε的某一個輸出的出錯信號Ei’(1≤i′≤ε,I’與I可以相同,也可以不相同),向?qū)懼羔榃P表示的標(biāo)記存儲區(qū)Fcm寫入出錯標(biāo)記值。即,在步驟S606_I~S640之間,在對正存儲在一次緩沖器單元Bc_I中的小包數(shù)據(jù)P檢測出數(shù)據(jù)出錯時,在傳送結(jié)束信號Stf輸入的時刻,向標(biāo)記存儲區(qū)Fcn寫入與出錯標(biāo)記置位相當(dāng)?shù)闹怠?br>
另一方面,在步驟S606_I~S640之間,在沒有檢測出數(shù)據(jù)出錯、并且小包數(shù)據(jù)P存入一次緩沖器單元Bc_I時,在步驟S644中,在傳送結(jié)束信號Stf輸入的時刻,向標(biāo)記存儲器Fcn寫入與出錯標(biāo)記未置位相當(dāng)?shù)闹怠A硗?,若設(shè)標(biāo)記存儲區(qū)Fc的初始值為出錯標(biāo)記未置位,則在步驟S644中,向標(biāo)記存儲區(qū)Fcn什么也不寫入。
在這種情況下,關(guān)于寫入出錯標(biāo)記置位的標(biāo)記存儲區(qū)Fc的復(fù)位,將在隨后參照圖9進(jìn)行說明。然后,處理進(jìn)入下一個步驟S644。
在步驟S644中,將步驟S606_I中開始的利用第I流輸入器TSRi進(jìn)行的第I傳輸流TS的數(shù)據(jù)出錯檢測結(jié)束。然后,處理進(jìn)入下一個步驟S646。
在步驟S646中,存儲結(jié)束緩沖器單元編號存儲器控制器280根據(jù)傳送結(jié)束信號Stf及一次緩沖器單元分配信息Iba,生成表示一個小包數(shù)據(jù)P的數(shù)據(jù)存儲已經(jīng)結(jié)束的一次緩沖器單元Bc_I的緩沖器單元編號信號Sbn。即,緩沖器單元編號信號Sbn相當(dāng)于在傳送結(jié)束信號Stf輸入時一次緩沖器單元分配信息Iba所表示的一次緩沖器單元Bc_I的緩沖器單元編號Nbc。然后,處理進(jìn)入下一個步驟S648。
在步驟S648中,存儲結(jié)束緩沖器單元編號存儲器290將緩沖器單元編號信號Sbn所表示的緩沖器編號Nbc記錄在寫點(diǎn)WP所指示的區(qū)域。同樣,存儲結(jié)束緩沖器單元編號存儲器290向出錯標(biāo)記信號Fe所表示的標(biāo)記存儲區(qū)Fcn寫入出錯標(biāo)記值。然后,處理進(jìn)入下一個步驟S650。
在步驟S650中,存儲結(jié)束緩沖器單元編號存儲器控制器280將寫指針更新信號Swp輸出給存儲結(jié)束緩沖器單元編號存儲器290,將存儲結(jié)束緩沖器單元存儲器控制器280的寫指針WP進(jìn)1。然后,結(jié)束本步驟#600中的“傳輸流TS1~TSε的小包數(shù)據(jù)P存儲”子程序。
利用上述的步驟,在步驟#600中,在保持輸入至多格式傳輸流解碼器TD的多個傳輸流TS1~TSε的各傳輸流所含的小包數(shù)據(jù)P的各小包數(shù)據(jù)與傳輸流TS的從屬關(guān)系及與不同的傳輸流TS的時間關(guān)系的信息的狀態(tài)下,能夠順序地而且實時地進(jìn)行緩沖。
另外,關(guān)于該的步驟S644中的出錯標(biāo)記值的寫入,下面參照圖6所示的波形圖,更具體地說明各構(gòu)成要素的動作。在圖6所示的例中,在第二傳輸流TS2的從最初小包數(shù)據(jù)P的第二個字節(jié)到第二個小包數(shù)據(jù)P的第三個字節(jié)的期間,相當(dāng)于從上述的步驟S606_I到步驟640的期間。然后,第二流輸入器TSR1在最初小包數(shù)據(jù)P2的第11個字節(jié)檢測出數(shù)據(jù)出錯,將出錯信號E2(I’=2)輸出給出錯標(biāo)記設(shè)定器295。由于仲裁期間Ta變動,上述期間當(dāng)然在各小包頭部檢測信號Sps~傳送結(jié)束信號Stf的發(fā)生范圍內(nèi)變動。
出錯標(biāo)記設(shè)定器295將出錯信號E鎖存,生成鎖存出錯信號LE,然后進(jìn)行保持。然后,在傳送結(jié)束信號Stf輸入的時刻,若鎖存出錯信號LE及傳送結(jié)束信號Stf都為高電平,則生成向存儲結(jié)束緩沖器單元編號存儲器290的標(biāo)記存儲器Fc寫入標(biāo)記置位的出錯標(biāo)記信號Fe。
另一方面,在輸入的傳輸流TS中未檢測出數(shù)據(jù)出錯時,由于傳送結(jié)束信號Stf輸入時刻鎖存出錯信號LE為低電平,因此不生成向存儲結(jié)束緩沖器單元編號存儲器290ra的標(biāo)記存儲器Fc寫入標(biāo)記置位的出錯標(biāo)記信號Fe。
這樣,即使在同時輸入的任意數(shù)的傳輸流TS的某一個中包含數(shù)據(jù)出錯時,也能夠以小包緩沖器270的一次緩沖器單元Bc_I中存儲的小包數(shù)據(jù)P為單位,對有無數(shù)據(jù)出錯進(jìn)行識別及管理。結(jié)果,通過丟棄輸入傳輸流TS所含的數(shù)據(jù)出錯部分或再一次取入,就能夠正確獲得傳輸流TS傳送的信息。
再有,對傳送結(jié)束信號Stf進(jìn)行應(yīng)答,向存儲結(jié)束緩沖器單元編號存儲器290的標(biāo)記存儲器Fc進(jìn)行出錯標(biāo)記值的寫入,這是在本實施形態(tài)那樣多個傳輸流TS1~TSε同時輸入的情況。其理由是為了防止下面的情況,即如上所述,由于不同的傳輸流TS的小包數(shù)據(jù)P的輸入速率之差,在后到達(dá)的小包數(shù)據(jù)P的緩沖比先到達(dá)的小包數(shù)據(jù)P的緩沖更快結(jié)束時,本來對先到達(dá)的小包檢測出數(shù)據(jù)出錯,卻向存儲了后到達(dá)而先結(jié)束緩沖的小包的一次緩沖器單元Bc_I對應(yīng)的標(biāo)記存儲區(qū)Fc誤記入出錯標(biāo)記置位。
工業(yè)上的實用性如上所述,本發(fā)明是在分別由多種小包數(shù)據(jù)構(gòu)成的多信道節(jié)目內(nèi)容復(fù)用的多個傳輸流輸入的傳輸流解碼器中,能夠從任意的傳輸流有選擇地抽取任意的小包數(shù)據(jù)。結(jié)果,能夠提供對傳輸流能夠以小包數(shù)據(jù)為單位進(jìn)行處理以得到用戶所希望的效果的接口。
權(quán)利要求
1.一種多格式傳輸流解碼器,將根據(jù)預(yù)先規(guī)定的多個格式的某一個格式生成的、同時由附加了為了對其識別的小包數(shù)據(jù)識別信息的連續(xù)多個第一小包數(shù)據(jù)構(gòu)成的第一傳輸流的至少一個作為輸入,對所述第一小包數(shù)據(jù)有選擇地進(jìn)行用戶所希望的處理并生成第二傳輸流,其特征在于,包括存儲對所述多個第一小包數(shù)據(jù)的各小包數(shù)據(jù)進(jìn)行預(yù)先規(guī)定的至少一個處理順序的小包數(shù)據(jù)處理順序存儲裝置,將表示所述第一小包數(shù)據(jù)內(nèi)成為所述用戶所希望的處理對象的小包數(shù)據(jù)及所述處理順序內(nèi)與所希望的處理對應(yīng)的處理順序的處理要求信息輸入的處理要求信息輸入裝置,對所述第一傳輸流附加表示規(guī)定格式的傳輸流識別信息的傳輸流識別信息附加裝置,將所述第一小包數(shù)據(jù)一個個依次保持、同時從該保持的第一小包數(shù)據(jù)抽取所述傳輸流識別信息及所述小包數(shù)據(jù)識別信息的小包數(shù)據(jù)保持識別裝置,以及將抽取的傳輸流識別信息及所述小包數(shù)據(jù)識別信息與所述處理要求信息比較并生成表示所述保持的第一小包數(shù)據(jù)是否為預(yù)先所述所希望的處理對象的處理對象判斷信號的處理對象小包數(shù)據(jù)數(shù)據(jù)選定裝置。
2.如權(quán)利要求1所述的多格式傳輸流解碼器,其特征在于,所述處理要求信息,包含表示所述第一小包數(shù)據(jù)內(nèi)是所述用戶所希望的處理對象的小包數(shù)據(jù)的對象小包數(shù)據(jù)識別信息,與該處理對象的第一小包數(shù)據(jù)對應(yīng)的對象傳輸流識別信息,以及對該處理對象的第一小包數(shù)據(jù)預(yù)先規(guī)定的處理順序內(nèi)與處理對應(yīng)的處理順序信息。
3.如權(quán)利要求2所述的多格式傳輸流解碼器,其特征在于,所述處理對象小包數(shù)據(jù)數(shù)據(jù)選定裝置僅在所述抽取的傳輸流識別信息及所述小包數(shù)據(jù)識別信息與各所述對象傳輸流識別信息及對象小包數(shù)據(jù)識別信息及該處理對象的第一小包數(shù)據(jù)一致時,生成表示所述保持的第一小包數(shù)據(jù)是所述希望的處理對象的處理對象判斷信號。
4.如權(quán)利要求3所述的多格式傳輸流解碼器,其特征在于,所述小包數(shù)據(jù)保持識別裝置,具有將所述第一小包數(shù)據(jù)的各小包數(shù)據(jù)按照輸入進(jìn)來的順序、保持僅規(guī)定時間的第一小包數(shù)據(jù)保持裝置,將對所述第一小包數(shù)據(jù)保持裝置存儲的第一小包數(shù)據(jù)進(jìn)行所述處理順序的處理時生成的中間生成物進(jìn)行存儲用的第二小包數(shù)據(jù)保持裝置,以及將對所述第一小包數(shù)據(jù)進(jìn)行所述處理順序的處理時生成的最終生成物進(jìn)行存儲用的第三小包數(shù)據(jù)保持裝置。
5.如權(quán)利要求4所述的多格式傳輸流解碼器,其特征在于,在所述處理對象判斷信號表示所述保持的第一小包數(shù)據(jù)不是預(yù)先規(guī)定的處理對象時,所述第一小包數(shù)據(jù)保持裝置為了存儲其它的第一小包數(shù)據(jù)而打開。
6.如權(quán)利要求4所述的多格式傳輸流解碼器,其特征在于,還包括在所述處理對象判斷信號表示所述保持的第一小包數(shù)據(jù)是預(yù)先規(guī)定的處理對象時,對該保持的第一小包數(shù)據(jù)根據(jù)所述處理順序信息進(jìn)行處理的數(shù)據(jù)處理裝置。
全文摘要
在對各不同格式的第一傳輸流進(jìn)行所希望的處理后生成第二傳輸流的多格式傳輸流解碼器中,處理要求信息輸入器(APR)將處理對象小包數(shù)據(jù)(Pi)及表示處理內(nèi)容的處理要求信息(ScW)輸入,流識別信息附加器(TSRi)對第一傳輸流(TSi)附加流識別信息(TSID),小包數(shù)據(jù)保持識別器(DBA)一個個保持第一小包數(shù)據(jù)(Pi),同時將該第一小包數(shù)據(jù)(Pi)的流識別信息(TSIDe)及小包數(shù)據(jù)識別信息(PIDe)與處理要求信息(ScW)比較,判斷是否為處理對象。
文檔編號H04L12/56GK1625884SQ0280686
公開日2005年6月8日 申請日期2002年9月10日 優(yōu)先權(quán)日2001年9月14日
發(fā)明者岡本曉, 后藤昌一, 山田干彥, 溝端教彥 申請人:松下電器產(chǎn)業(yè)株式會社