日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

数字电视业务PSI/SI学习

發布時間:2024/1/8 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字电视业务PSI/SI学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數字電視業務PSI/SI學習系列??

一、MPEG-2系統原理

?????????????????????????????第一章?MPEG-2簡介

什么是MPEG和MPEG-2?

??????MPEG是Moving?Picture?Experts?Group?的簡稱,MPEG-2是MPEG和ISO組織設計的一個數字視頻壓縮規范,主要用于DVD和DVB上,當前的標準文檔是ISO13818.

什么是DVB?

DVB是Digtal?Video?Broadcast的簡稱,是歐洲所有國家和其他部分國家和地區使用的數字電視標準.其中美國的ATSC標準也是在DVB標準的基礎上實現的.

什么是TS碼流和PS流?

??????TS是transport?stream的簡稱,就是”傳輸流”.DVB數據廣播采用的數據格式就是TS碼流.

??????PS是program?stream的簡稱,就是”節目流”.DVD中采用的數據格式就是PS流.

??????這兩種流的格式是不同的,TS格式具有很強的錯誤校正功能,適合傳輸,而PS格式適合存儲在媒體中.??在這里,著重描述的是TS碼流格式.

什么是PID?

??????PID是Packet?identification的簡稱,就是”包標志符”.DVB系統把不同的數據打包成不同的數據包,用系統唯一的一個13?bits數字標志該數據的類型.例?如,PID=0x00表示是DVB系統中的PAT包,而PID=0x10表示是DVB系統的NIT包.不同的節目(包括Video和Audio)分別采用?不同的PID,例如,我們在PMT表中如果檢測到PID=0x0120的PID是VIDEO數據,那么表示包號碼是0x0120的所有包都是Video數?據,其他依此類推.

什么是PAT?

??????PAT是Program?Association?Table的簡稱,即”節目關聯表”.PAT屬于DVB系統流中的一個包,包號碼(PID)是0x00.PAT表描述了DVB系統流中包含什么樣的PID,主要是描述當前流的NIT表格的PID號碼是多少,當前流中有多少個不同類型PMT表,每個PMT表對應的頻道號等信息.

什么是PMT?

??????PMT是Program?Map?Table的簡稱,即”節目影射表”.PMT的PID?是服務器自由定義的(但不會和系統保留的PID沖突).這個PID是在PAT表中描述的,比如,如果在PAT表中有0x100項的內容,那么說明所有?PID是0x100的包都是PMT表.不同的頻道有不同的PMT,也就是說,一個不同的PMT代表的是一個不同頻道.PMT表格和PAT表格配合在一起,?就可以檢測出DVB流中所有存在節目的所有PID,因此,數字電視搜臺就是依靠這兩個表格數據完成的.

什么是CAT?

??????CAT是Conditional?Access?Table的簡稱,即”條件訪問表”,PID是0x01.CAT攜帶的是服務器的私有信息(CA系統就需要使用該表格實現節目的解密).

什么是SDT?

??????SDT是Service?Description?Table的簡稱,即”服務器描述表”,PID是0x11.SDT攜帶的是電視臺名稱和電視節目名稱.DVB接收系統接收SDT表中的節目信息,實現比較友好的界面顯示和操作.

什么是NIT和EIT?

??????NIT是Network?Information?Table的簡稱,即”網絡信息表”.

????????EIT是Event?Information?Table的簡稱,即”環境信息表”.

????????NIT可以提供當前流的節目信息,也可以提供和當前流有關聯的流的節目信息.

????????EIT提供的是流節目信息的改變,比如一個節目已經開始,或者已經結束的信息等.

什么是EPG?

??????EPG是Electronic?Programme?Guides的簡稱,即”電子節目指南”.該功能可實現預告近段時間即將播放的節目內容,同時支持基于內容的檢索.

什么是teletext?

??????Teletext就?是我們常說的”圖文電視”,當然在MPEG-2中,圖文電視已經數字化,也就是說,圖文信息已經做為數字化信息在TS流中傳播.但最終,數字化的圖文信息?都將轉化為模擬的VBI信息插入到正常的電視信號中實現圖文電視的顯示.圖文電視有很多標準,比如close?caption,WSS等,歐洲的DVB使?用的teletext標準是ITU-R?System?B?Teletext規格.該規格支持歐洲多種語言,支持簡單圖象和文本的混合顯示.

?????????????????????????????第二章?DVB系統的構成?

[本文不詳細描述DVB系統的硬件構成,只是根據ISO13818中的描述,詳細解釋TS碼流的格式和解復用原理.(夠了,夠了?呵呵)]

DVB的分類

DVB根據應用的不同,主要分為DVB-S,DVB-C,DVB-T,DVB-H等多種規格.不同的規格基本原理都是相同的,不同的主要是調制方式不同:

?DVB-S,S是Satelite的首字母,應用于數字電視衛星廣播,調制方式是QPSK.

?DVB-C,C是Cable的首字母,應用于城市有線廣播.調制方式是QAM所有格式:?16QAM,32QAM,64QAM,128QAM,256QAM.

?DVB-T,T是Terrestrial的首字母,應用于陸地無線廣播,調制方式是QPSK或者16QAM和64QAM.

?DVB-H,H是Handheld的首字母,應用于手持無線廣播,調制方式和DVB-T相同.

?總?的來說,不同的DVB系統只有前端系統是不同的,最終的數字信息都是相同的,也就是都是采用ISO13818描述的規格.前端系統主要是指調制方法和發射?方法等.因此,這里所敘述的內容,全部適用于所有的DVB系統,同時因為美國的ATSC系統也是在DVB系統上的小量更改和小部分功能增加,因此也適用于?ATSC標準.

?基本系統描述如下:

?(1)編碼系統:

??假?設信號源有6個節目,則DVB系統先對這6個節目的所有數據(Video,Audio)進行壓縮處理,然后經過一個叫做"復用"的程序進行節目的復用?(PID分配,即對6個節目分別分配不同的PID號碼)形成叫做"PES"的包,然后再經過TS流處理程序,把這些PES包全部封裝成TS碼流格式,最后?把獲得的TS格式的數字信號經過調制(實現的是頻率的復用),然后經過D/A轉換成模擬信號,再次調制成高頻信號,經傳輸系統發送出去.

?(2)解碼系統

??接?收系統接收到高頻信號,先轉化為中頻信號,然后再經過一個高速的A/D轉換成數字信號,接著經過一個反調制程序,這樣就得到了TS碼流.?TS碼流進入一?個稱為"解復用"的程序,該程序實現自動分析TS流中的表格信息,讀取所有可用的PID信息等,然后提取一個用戶指定的PID(用戶選擇的節目),把該節?目的數字信號全部接收而忽略其他不需要的信號,然后Video,Audio信號分別進入不同的解壓縮程序,分別對Video,Audio信號進行解壓縮和?顯示,如果該節目包含了Teletext和EPG,也有可能同時處理Teletext和EPG,并且把處理的結果和Video信號一起疊加到屏幕上.

Packet的概念

?(1)TS流是基于Packet的位流格式,每個包是188字節或者204字節(一般是188字節,204字節的格式僅僅是在188字節的Packet后部加上16字節的CRC數據,其他格式是一樣的),整個TS流組成如下所示:

???

?

??Packet?1?????Packet?2????......????Packet?n

在實際使用中,因為TS流已經內部具有很強的錯誤處理能力,所以一般使用較多的是188字節一個包的格式,204字節一個包的格式據說一般在高清節目中使用較多.

?所有的Packet格式都是統一的,包括一個Packet?header和Packet?datas.其中Packet?header包含了同步字節(該字節固定是0x47,表示這個包的數據開始是正確的),該Packet的唯一號碼(即PID)和其他一些信息.格式如下(用C格式表示)

typedef?struct

{

?unsigned?sync_byte:8;/*8?bits的同步字節*/

?unsigned?transport_error_indicator:1;/*1?bit的錯誤指示信息,1表示當前Packet至少有1bit的傳輸錯誤,0表示所有數據都正確*/

?unsigned?payload_unit_start_indicator:1;/*負載單元開始標志,請參考ISO13818-1了解該標志作用*/

?unsigned?transport_priority:1;/*1?bit的傳輸優先級標志,1表示高優先級,0表示低優先級*/

?unsigned?PID:13;/*13?bits的Packet?ID號碼,唯一的號碼對應不同的包*/

?unsigned?transport_scrambling_control:2;/*2?bits的加密標志,00表示沒有加密,其他表示已被加密*/

?unsigned?adaptation_field_control:2;/*?2?bits的附加區域控制,請參考ISO13818-1了解該標志作用*/

?unsigned?continuity_counter:4;/*4?bits的包遞增計數器*/

}PACKET_HEADER;

以上結構剛好占用32?bits,即4個字節,因此一個TS流的Packet頭部的4字節是header信息,分析該header信息就可以知道當前Packet的屬性.剩下的184字節有可能是Video數據,也有可能是Audio數據,也有可能是DVB?SI信息,怎?么區分呢?其實很簡單,就是利用header中的PID信息.上一章說了PAT是節目關聯表,它的PID是0x0000.這個PID就是對應這里?header的PID.換句話就是說,如果我們發現一個Packet的PID等于0x0000,那么說明這個Packet是DVB的PAT表格而不是?Video數據或者Audio數據.

實?際上,在信號編碼成TS碼流的時候,不同節目的Video,Audio等數據都分配了不同的PID.例如,一個節目有兩路Video,三路Audio,那?么分配PID的時候可能是Video?1==0x100,Video?2==0x101,Audio?1==0x102,Audio?2==0x103,?Audio?3==0x104,這樣傳輸的TS碼流中的PID就可能有以上的PID.因此,如果我們需要在程序中過濾出第一路Video和第二路?Audio就可以這樣處理了(偽代碼描述):

?void?Process_Packet(unsigned?char*buff)

?{

??int?PID=GETPID(buff);/*從當前的188字節緩沖區中獲取PID信息*/

??if(PID==0x100)?/*PID等于第一路Video的PID,說明當前數據是Video數據*/

??{

???SaveToVideoBuffer(buff+4);/*把header后部的數據存到Video緩沖區,待后部處理*/

??}

??else?if(PID==0x103)/*PID等于第二路Audio的PID,說明當前數據是Audio數據*/

??{

???SaveToAudioBuffer(buff+4);/*把header后部的數據存到Audio緩沖區*/

??}

??else/*其他PID則丟棄,當然如果PID是DVB系統保留的PID如PAT,PMT則必須處理*/

??{

???printf("unknown?PID!\n");

??}???

?}

現?在的問題是,編碼的時候分配好的PID,在解碼的時候是怎么知道什么PID對應什么數據呢?這就是DVB?SI表格的分析與處理了,請參考第三章.這里先?看一個實際的TS碼流的例子.這里的數據是用UltraEdit用16進制格式打開TS碼流文件得到的.文件是Taiwan-551.ts.

這?里僅僅截取了3個Packet的信息,請注意圖中用紅色標注的部分,這就是TS流Packet的4個字節的頭信息.這個TS流是采用每個包共188字節的?格式,因為兩個頭信息的間隔是188個字節(第一個0x47到第二個0x47的間隔).以后的所有的Packet都將是188字節的格式,這是?DVB?TS標準規定的固定大小.那么這三個包分別包含的是什么數據,下面我們可以自己分析一下.

?先?看第一個包,頭信息數據是"0x47?0x07?0xe5?0x12",剛才已經知道了,header信息都是按位操作的(這就是為什么TS碼流也可以叫?做位流的原因),特別要注意的是定義和傳輸的時候都是MSB?first,也就是說,先出現的位是數據的最高位.先轉化成2進制格式:

?01000111?00000111?11100101?00010010

請對照上面的PACKET_HEADER結構:

typedef?struct

{

?unsigned?sync_byte:8;

?unsigned?transport_error_indicator:1;

?unsigned?payload_unit_start_indicator:1;

?unsigned?transport_priority:1;

?unsigned?PID:13;

?unsigned?transport_scrambling_control:2;

?unsigned?adaptation_field_control:2;

?unsigned?continuity_counter:4;

}PACKET_HEADER;

那么對照一下,我們可以發現:

?sync_byte=01000111,就是0x47,這是DVB?TS規定的同步字節,固定是0x47.

?transport_error_indicator=0,表示當前包沒有發生傳輸錯誤.

?payload_unit_start_indicator=0,含義請參考ISO13818-1標準文檔

?transport_priority=0,表示當前包是低優先級.

?PID=00111?11100101即0x07e5,這代表是什么呢,暫時還不知道(實際上是Video?PID,參考下圖)

?transport_scrambling_control=00,表示節目沒有加密

?adaptation_field_control=01即0x01,具體含義請參考ISO13818-1

?continuity_counte=0010即0x02,表示當前傳送的相同類型的包是第3個

依此類推,再看一下第二個包"0x47?0x07?0xe5?0x13",2進制是01000111?00000111?11100101?00010011

?sync_byte=01000111,就是0x47,這是DVB?TS規定的同步字節,固定是0x47.

?transport_error_indicator=0,表示當前包沒有發生傳輸錯誤.

?payload_unit_start_indicator=0,含義請參考ISO13818-1標準文檔

?transport_priority=0,表示當前包是低優先級.

?PID=00111?11100101即0x07e5,這代表是什么呢,暫時還不知道(實際上是Video?PID,參考下圖)

?transport_scrambling_control=00,表示節目沒有加密

?adaptation_field_control=01即0x01,具體含義請參考ISO13818-1

?continuity_counte=0011即0x03,表示當前傳送的相同類型的包是第4個(注意到了吧,以上兩個包的PID都是0x07e5,所以這里的continuity_counte就遞增一次)

第三個包是"0x47?0x07?0xf1?0x18",2進制是01000111?00000111?11110001?00011000.

?sync_byte=01000111,就是0x47,這是DVB?TS規定的同步字節,固定是0x47.

?transport_error_indicator=0,表示當前包沒有發生傳輸錯誤.

?payload_unit_start_indicator=0,含義請參考ISO13818-1標準文檔

?transport_priority=0,表示當前包是低優先級.

?PID=00111?11100101即0x07f1,這代表是什么呢,暫時還不知道(實際上是Audio?PID,參考下圖)

?transport_scrambling_control=00,表示節目沒有加密

?adaptation_field_control=01即0x01,具體含義請參考ISO13818-1

?continuity_counte=1000即0x08,表示當前傳送的相同類型的包是第9個

請看解碼程序<<Seekfor?MPEG-2?decoder>>讀取該文件的結果:

?

上圖我們可以發現,Taiwan-551.ts有一個節目叫"DIMO",它的Video?PID是0x07e5,Audio?PID是0x07e6

還有一個節目叫"Service?1",沒有Video?PID,它的Audio?PID是0x07f1(說明是一個廣播節目而非電視節目)

這個數據剛好和我們剛才的分析是吻合的.

但?是我想大家還有疑問,為什么0x07e5代表Video?PID,0x07e6代表其中一個Audio?PID呢?這就是剛才提到的,這是TS流在編碼的?時候就分配好了的.但是,在解碼的時候是怎么知道0x07e5就代表的是Video而不是Audio呢?這就是第三章的內容:DVB?SI/PSI分析和?處理.

?????????????????????????第三章?DVB?SI/PSI分析和處理

SI是Specific?Information的簡稱,PSI是program?Specific?Information.該機制允許DVB傳送各種各樣的訊息,比如節目名稱,電視臺名稱,各種PID,私有信息,甚至單獨傳送數據實現數據通信等.這些功能的實現都歸功于SI/PSI.

?在DVB?標準中,定義了一個標準的PID用來實現SI/PSI.這些PID是系統保留的,因此DVB編碼的時候并不會用這些PID做為Video?PID或者?Audio?PID或者其他PID.在一個簡單的解復用程序中,只需要提供處理PAT,PMT表格的程序即可實現解復用,當然如果需要更友好的界面和實現?更復雜的功能(如CA)則必須處理其他的SI表.在這里僅僅分析PAT,PMT,SDT表格,其他SI表格的分析,請參考ISO13818-1(MPEG-2系統層標準)和EN300468(DVB?SI標準)文檔.

?DVB定義的SI保留的PID分別是:

??

上表格的PID就是DVB保留的PID,分配的其他PID一定不會占用這些PID.解復用程序需要使用到的表格只有PAT,PMT,SDT,而CA應用還需要使用CAT,EPG應用還需要使用NIT,EIT,TDT,TOT等表格.所以在需要解復用的時候,偽代碼需要這樣寫:

??void?Process_Packet(unsigned?char*buff)

??{

???int?PID=GETPID(buff);

???if(PID==0x0000)?/*這是PAT表*/

???{

????Process_PAT(buff+4);/*處理PAT表*/

???}

???else?if(PID==......)/*Video?或者Audio*/

???{

???}

???else/*其他不支持的PID*/

???{

????printf("Unknown?PID!");

???}

??}

?所?有的表格都開始于Packet中的184字節的數據部分,但有的時候一個表格沒有184字節,這時在Packet中就可能插入一些無效信息用來填充使整個?Packet依然保持是188字節.也可能用頭信息中的payload_unit_start_indicator標志表格有個偏移位置(當?payload_unit_start_indicator=0表示表格數據直接從Packet區的第四個字節開始,否則表示有一個偏移量位置開始,具體?請參考ISO13818-1,第4字節到偏移量間的數據是系統填充的無效數據).

?下面針對解復用程序詳細分析一下PAT,PMT和SDT三類表格的格式.

PAT,?Program?Association?Table,節目關聯表

?PAT表攜帶以下信息:

(1)?TS流ID---?transport_stream_id,該ID標志唯一的流ID

(2)?節目頻道號--?program_number,該號碼標志TS流中的一個頻道,該頻道可以包含很多的節目(即可以包含多個Video?PID和Audio?PID)

(3)?PMT的PID---?program_map_PID,表示本頻道使用的哪個PID做為PMT的PID,因為可以有很多的頻道,因此DVB規定PMT的PID可以由用戶自己定義.

PAT表定義如下:

?

各字段含義如下:

?table_id:8?bits,標志本表格的類型,應該是0x00

?section_syntax_indicator:1?bit,段語法標志,應該是'1'

?'0':固定的'0',這是為了防止和ISO13818Video流格式中的控制字沖突而設置的.

?Reserved:保留的2bits,保留位一般都是'0'

?section_length:12bits的段大小,單位是Bytes.

?transport_stream_id:16bits的當前流ID,DVB內唯一.(事實上很多都是自定義的TS?ID)

?version_number:5bits版本號碼,標注當前節目的版本.這是個非常有用的參數,當檢測到這個字段改變時,說明TS流中的節目已經變化了,程序必須重新搜索節目.

?current_next_indicator:1bit:當前還是未來使用標志符,一般情況下為'0'

?section_number:8bits當前段號碼

?last_section_number:8bits最后段號碼(section_number和last_section_number的功能是當PAT內容>184字節時,PAT表會分成多個段(sections),解復用程序必須在全部接收完成后再進行PAT的分析)

?從for()開始,就是描述了當前流中的頻道數目(N),每一個頻道對應的PMT?PID是什么.解復用程序需要和上圖類似的循環來接收所有的頻道號碼和對應的PMT?PID,并把這些信息在緩沖區中保存起來.在后部的處理中需要使用到PMT?PID.

?CRC_32:本段的CRC校驗值,一般是會忽略的.N是一個變量,計算方法是N=(section_length-9)/4.

?從以上分析我們可以發現,PAT表主要包含頻道號碼和每一個頻道對應的PMT的PID號碼,這些信息我們在處理PAT表格的時候會保存起來,以后會使用到這些數據.例如我們可以定義這樣的數據結構保存這些信息:

?typedef?struct

?{

??int?channel_number;/*頻道號*/

??int?pmt_pid;/*對應channel_number頻道號的PMT的PID*/

?}PMT_ITEM;

?PMT_ITEM?pmt[64];/*定義最多64個頻道,這個結構在分析PAT表格的時候會更新*/

PMT,?Program?Map?Table,節目影射表

?如果一個TS流中含有多個頻道,那么就會包含多個PID不同的PMT表.檢測是否PMT的偽代碼如下:

?void?Process_Packet(unsigned?char*buff)

?{

??int?I;

??int?PID=GETPID(buff);

??if(PID==0x0000)/*PAT表格*/

??{

???Process_PAT(buff+4);

??}

??else?if(PID==.....)/*Video?PID或者Audio?PID*/

??{

??}

??else

??{

???/*在這里檢測PID是否是PMT的PID*/

???for(i=0;i<64;i++)

???{

????if(PID==pmt[i].pmt_pid)/*PID等于在PAT檢測到的PMT?PID相同*/

????{

?????Process_PMT(buff+4);/*說明當前Packet是PMT,進入處理*/

?????break;

????}?

???}

??}

?}

PMT表中包含的數據如下:

(1)?當前頻道中包含的所有Video數據的PID

(2)?當前頻道中包含的所有Audio數據的PID

(3)?和當前頻道關聯在一起的其他數據的PID(如數字廣播,數據通訊等使用的PID)

PMT定義如下:

?

各字段含義如下:

?table_id:8bits的ID,應該是0x02

?section_syntax_indicator:1bit的段語法標志,應該是'1'

?'0':固定是'0',如果不是說明數據有錯.

?reserved:2bits保留位,應該是'00'

?section_length:16bits段長度,從program_number開始,到CRC_32(包含)的字節總數.

?program_number:16bits的頻道號碼,表示當前的PMT關聯到的頻道.換句話就是說,當前描述的是program_number頻道的信息.

?reserved:2bits保留位,應該是'00'

?version_number:版本號碼,如果PMT內容有更新,則version_number會遞增1通知解復用程序需要重新接收節目信息,否則version_number是固定不變的.

?current_next_indicator:當前未來標志符,一般是0

?section_number:當前段號碼

?last_section_number:最后段號碼,含義和PAT中的對應字段相同,請參考PAT部分.

?reserved:3bits保留位,一般是'000'.

?PCR_PID:13bits的PCR?PID,具體請參考ISO13818-1,解復用程序不使用該參數.

reserved:4bits保留位,一般是'0000'

program_info_length:節目信息長度(之后的是N個描述符結構,一般可以忽略掉,這個字段就代表描述符總的長度,單位是Bytes)

緊接著就是頻道內部包含的節目類型和對應的PID號碼了.

stream_type:8bits流類型,標志是Video還是Audio還是其他數據.

reserved:3?bits保留位.

elementary_PID:13bits對應的數據PID號碼(如果stream_type是Video,那么這個PID就是Video?PID,如果stream_type標志是Audio,那么這個PID就是Audio?PID)

reserved:4?bits保留位.

ES_info_length:和program_info_length類似的信息長度(其后是N2個描述符號)

CRC_32:32bits段末尾是本段的CRC校驗值,一般忽略.

從以上的分析可以看出,只要我們處理了PMT,那么我們就可以獲取頻道中所有的PID信息,例如當前頻道包含多少個Video,共多少個Audio,和其他數據,還能知道每種數據對應的PID分別是什么.

這樣如果我們要選擇其中一個Video和Audio收看,那么只需要把要收看的節目的Video?PID和Audio?PID保存起來,在處理Packet的時候進行過濾即可實現.

比較全面實現解復用的偽代碼如下:

int?Video_PID=0x07e5,Audio_PID=0x07e6;/*一般是在PMT檢索后由用戶自己設置這兩個全局值*/

void?Process_Packet(unsigned?char*buff)

{

?int?I;

?int?PID=GETPID(buff);/*獲取當前Packet的PID*/

?if(PID==0x0000)/*0x0000表示是PAT*/

?{

??Process_PAT(buff+4);

?}

?else?if(PID==Video_PID)/*和Video_PID相等,說明當前Packet是一個Video?Packet*/

?{

??SaveToVideoBuffer(buff+4);/*保存到Video緩沖區*/

?}

?else?if(PID==Audio_PID)/*和Audio_PID相等,說明當前Packet是一個Audio?Packet*/

?{

??SaveToAudioBuffer(buff+4);/*保存到Audio緩沖區*/

?}

?else

{

?for(?i=0;i<64;i++)

?{

??if(PID==pmt[i].pmt_pid)

??{

???Process_PMT(buff+4);

???Break;

??}

?}

}?

?

}

以上偽代碼可以實現基本的解復用:檢測所有的頻道,檢測所有stream的PID,選擇特定的節目進行播放.只要讀取每個Packet的188字節的內容,然后每次都調用Process_Packet()即可實現簡單的解復用.

介紹到這里,我們就可以總結一下DVB搜臺的原理了.(好!洗耳恭聽!)

??機?頂盒先調整高頻頭到一個固定的頻率(如498MHZ),如果此頻率有數字信號,則COFDM芯片(如MT352)會自動把TS流數據傳送給MPEG-?2?decoder.?MPEG-2?decoder先進行數據的同步,也就是等待完整的Packet的到來.然后循環查找是否出現PID==?0x0000的Packet,如果出現了,則馬上進入分析PAT的處理,獲取了所有的PMT的PID.接著循環查找是否出現PMT,如果發現了,則自動進?入PMT分析,獲取該頻段所有的頻道數據并保存.如果沒有發現PAT或者沒有發現PMT,說明該頻段沒有信號,進入下一個頻率掃描.

??從以上描述可以看出,機頂盒搜索頻率是隨機發生的,要使每次機頂盒都能搜索到信號,則要求TS流每隔一段時間就發送一次PAT和PMT.事實上DVB傳輸系統就是這么做的.因此無論何時接入終端系統,系統都能馬上搜索到節目并正確解復用實現播放.不僅僅如此,其他數據也都是交替傳送的.比如第一個Packet可能是PAT,第二個Packet可能是PMT,而第三個Packet可能是Video?1,第四個Packet可能是Video?2,

只要系統傳輸速度足夠快(就是稱之為"碼率"的東東),實現實時播放是沒有任何問題的.

?到這里雖然實現了解復用,但可以看出,使用的PID都是枯燥的數字,如果調臺要用戶自己輸入數字那可是太麻煩了,而且還容易輸入錯誤,操作非常不直觀,即使做成一個菜單讓用戶選擇也是非常的呆板.針對這個問題,DVB系統提出了一個SDT表格,該表格標志一個節目的名稱,并且能和PMT中的PID聯系起來,這樣用戶就可以通過直接選擇節目名稱來選擇節目了.

SDT,?Service?description?section,服務描述段

?SDT可以提供的信息包括:

(1)?該節目是否在播放中

(2)?該節目是否被加密

(3)?該節目的名稱

SDT定義如下:

?

各字段定義如下:

?table_id:8bits的ID,可以是0x42,表示描述的是當前流的信息,也可以是0x46,表示是其他流的信息(EPG使用此參數)

?section_syntax_indicator:段語法標志,一般是'1'

?reserved_future_used:2bits保留未來使用

?reserved:1bit保留位,防止控制字沖突,一般是'0',也有可能是'1'

?section_length:12bits的段長度,單位是Bytes,從transport_stream_id開始,到CRC_32結束(包含)

?transport_stream_id:16bits當前描述的流ID

?reserved:2bits保留位

?version_number:5bits的版本號碼,如果數據更新則此字段遞增1

?current_next_indicator:當前未來標志,一般是'0',表示當前馬上使用.

?original_netword_id:16bits的原始網絡ID號

?reserved_future_use:8bits保留未來使用位

?接下來是N個節目信息的循環:

??service_id:16?bits的服務器ID,實際上就是PMT段中的program_number.

??reserved_future_used:6bits保留未來使用位

??EIT_schedule_flag:1bit的EIT信息,1表示當前流實現了該節目的EIT傳送

??EIT_present_following_flag:1bits的EIT信息,1表示當前流實現了該節目的EIT傳送

??running_status:3bits的運行狀態信息:1-還未播放?2-幾分鐘后馬上開始,3-被暫停播出,4-正在播放,其他---保留

??free_CA_mode:1bits的加密信息,'1'表示該節目被加密.

??緊?接著的是描述符,一般是Service?descriptor,分析此描述符可以獲取servive_id指定的節目的節目名稱.具體格式請參考?EN300468中的Service?descriptor部分.分析完畢,則節目名稱和節目號碼已經聯系起來了.機頂盒程序就可以用這些節目名稱代替?PID讓用戶選擇,從而實現比較友好的用戶界面!

?下面參考一下<<Seekfor?MPEG2?decoder>>中的界面和顯示信息.

?

上?圖是<<Seekfor?MPEG2?decoder>>打開三個不同的碼流文件(*.ts)形成的PID信息和節目名稱.用戶?可以通過切換節目名稱的下拉列表框切換節目,也可以通過"視頻流"和"音頻流"下拉列表框切換Video和Audio!這些數據都是通過分析PAT,?PMT和SDT得到的.

?????????????????????????第四章?Teletext原理

歐洲采用的Teletext?標準叫做"ITU-R?System?B?Teletext",標準文檔是EN300472和EN300706.該標準支持以下特性:

(1)?24X40的文本字符顯示,也支持簡單的圖象信息的顯示.

(2)?支持多頁碼,應用程序可以自由切換到任意選定的頁.

(3)?支持多語言,可以在teletext中指定所使用的語言.

(4)?文本支持自定義背景色,自定義前景色.支持長度,寬度加倍(double?width,double?height)

(5)?所有數據采用了奇偶校驗和漢明碼編碼,具有比較強的錯誤處理功能.

(6)?格式基本兼容模擬TTX,支持VBI插入teletext數據.

Teletext數?據是在TS流中和Video,Audio數據一起傳送的.EN300472規定采用以下方法識別teletext數據的PID:如果PMT段中的?stream_type==0xbd(private_stream_1),那么這個數據流就是teletext或者subtitle數據(統稱為VBI?數據,具體區分還需要在teletext分析中處理),VBI數據開始于PES包的數據部分.

?Teletext在PES包中的格式如下:

??各字段含義:

??data_identifier:數據標志符,如果是teletext必須等于0x10~0x1f.

??data_unit_id:用來標志是teletext數據還是subtitle數據.0x02表示是teletext,0x03表示是subtitle.

??data_field()是標準的teletext格式的數據包,參考下圖.實際上,一個data_field就是teletext的一行數據.

?data_field()的格式如下:

??各字段含義如下:

??reserved_future_use:2bits保留未來使用

??field_parity:1bit的奇偶標志,'1'表示是偶數場(下半場),'0'表示奇數場(上半場)

??line_offset:5bits,在VBI插入時指定的場線數據.(以上兩個參數在使用VBI硬件插入才需要使用)

??framing_code:8bits的幀同步代碼,必須是0xe4.

??magazine_and_packet_address:16bits,指定當前傳送的雜志號碼和包號碼,采用的是漢明8/4編碼.

其中的包號碼(Packet?address)實際上代表的是TTX頁面的行號碼(0-24).

??data_block:320bits,40Bytes的數據塊,全部采用奇偶校驗,對應TTX頁面的40列,范圍是0x00-0x7f(最高位是奇偶校驗位).把這部分的數據全部提取出來,就可以獲得一個行的全部數據(TTX是24行X40列).

?因此,解teletext的軟件一般采用這樣的流程:

(1)?分析PMT表,獲取代表teletext的PID,標注為TTX_pid;

(2)?在解復用程序中過濾PID==TTX_pid的數據,解出PES的數據部分.

(3)?把第二步得到的數據部分全部保存到一個緩沖區,直到所有的數據全部緩沖完畢.

(4)?解出packet?address,該數據代表當前的行號(0-24).如果是0,則本個data?block包含的是主頁面代碼和

子頁面代碼.如果不是0(1-24),則說明data?block是對應頁的列數據(40個字節的ASCII),把這些數據解出保存到緩沖區.(這里必須和PID過濾一樣,過濾主頁面號碼和子頁面號碼,即沒有選擇的頁面忽略掉)

(5)?循環第(4)步直到所有的列數據全部解出.

(6)?把緩沖區中的24X40的數據顯示出來.一般是在RAM中定義一個unsigned?char?TTX_DATA[24][40]數組保存.

Teletext是如何支持自定義前景色和背景色等特性的呢?實際上非常簡單,就包含在每一行數據的40個字節中.我們知道可顯示ASCII的范圍是0x20~0x7f,小于0x20的代碼在teletext中做為控制字符(需要在顯示程序中處理),具體規定如下:

?0x00-0x07:設置前景色,顏色分別是黑,紅,綠,黃,藍,洋青,洋藍,白(設置后生效,也就是說,顯示程序遇到這些代碼,在隨后的顯示中必須改變前景色到對應的顏色)

?0x08:開始閃爍功能,設置后生效.

?0x09:結束閃爍功能,設置后生效

?0x0a:BOX結束,設置后生效.

?0x0b:BOX開始,設置后生效.

?0x0c:正常象素大小,設置后生效.

?0x0d:寬度加倍,設置后生效.

?0x0e:長度加倍,設置后生效.

?0x0f:寬度和長度都加倍,設置后生效.

?0x10-0x17:設置馬塞克顏色,顏色代碼同0x00-0x07,設置后生效.

?0x18:以后固定是顯示空,直到遇到其他顏色屬性.設置后生效.

?0x19-0x1b:請參考EN300706標準.

?0x1c:設置黑背景色.設置后馬上生效.

?0x1d:設置新的背景色,下一個字符指定背景顏色,代碼同0x0-0x07.

?0x1e:保持馬塞克功能,設置后生效.

?0x1f:取消馬塞克功能,設置后生效.

以?上所描述的控制字符作用范圍僅僅是一行.也就是說如果遇到新行,則設置全部恢復默認設置,EBU?teletext的默認設置是:黑背景色,白前景色,無?閃爍,無BOX,正常的象素大小,無任何馬塞克功能.因此,teletext的顯示程序必須一個字符一個字符的分析數據,直到所有的數據全部顯示完畢.

?實際上,EBU?teletext使用了4個規格,包括V1.0,V1.5,V2.5,V3.5.V1.0只支持ASCII文本和基本屬性,其他規格還支持簡單圖象和Objects,請參考EN300706獲取更多的信息.

?EBU?teletext格式使用了漢明編碼方法,具體編碼格式請參考EN300706.

?下面可以參考一下<<Seekfor?MPEG-2?decoder>>中處理teletext的效果:

(1)?菜單上的數字是主頁面,下一級菜單是子頁面:

(2)teletext文字疊加在Video上的透明顯示效果:

(3)teletext文字疊加在Video上不透明的顯示效果:

?(4)切換到其他頁面的顯示效果:

????????????????????????????第五章??EPG原理

EPG就?是"電子節目指南",相當于一個節目菜單的功能.在一個TS流中,可以提供當前流的所有信息,如頻率,調制方式,頻道號,所有節目的PID,名稱等信息,?也可以根據需要提供其他相關聯的TS流(例如同一電視臺同步播放的其他頻率的節目信息)的信息.解碼器接收這些信息,形成一個固定格式的菜單讓用戶選擇需?要收看的頻道或節目,這就是"EPG".不僅如此,EPG還可以對節目進行分類,比如節目可以是電影,也可以是新聞,這樣,把屬于電影的節目歸在一起,把?屬于新聞的節目歸在一起,這樣對用戶來說檢索節目就變得非常的方便.

?EPG的實現也歸功于DVB的SI信息.和EPG功能相關的SI有NIT(網絡信息表),EIT(環境信息表),SDT(服務描述表),BAT(群組關聯表),TDT(日期時間表)和TOT(時間偏移表).下面簡單分析這些表所攜帶的信息.

NIT,Network?Information?Table,網絡信息表

?NIT提供如網絡名稱(相當于電視臺名稱),傳輸參數(如頻率,調制方式等).這個表格一般是解碼器內部使用的數據,當然也可以做為EPG的一個顯示數據提供給用戶做為參考.

?NIT格式如下:

?

?各字段含義如下:

??table_id:8?bits標志,應該是0x40或0x41.當table_id==0x40時候,這個NIT描述的是當前流的網絡信息,否則描述的是其他流的網絡信息(一般是電視臺同步播放的其他TS流信息).

??section_syntax_incicator:1bit的段語法標志,應該是'1'

??reserved_future_use:1bit保留未來使用位,一般是'0'

??reserved:2bits保留位,一般是'00',這是防止控制字沖突而設置的.

??section_length:12bits段長度,從network_id開始,到CRC_32(包含)結束的字節總數.

??network_id:16bits的網絡ID號碼,DVB內唯一的一個號碼,標志不同的電視臺.

??Reserved:2bits保留意見位.

??version_number:5bits的版本號碼,當NIT內容有任何改變時,該字段會遞增1(提醒解碼器更新NIT信息).

??current_next_indicator:1bit的當前下次使用標志,一般是'0'

??section_number:8bits的當前段號碼.

??last_section_number:8bits的當前段號碼.

??reserved_future_use:4bits保留未來使用,現在應該是'0000'.

??network_descriptors_length:12bits網絡描述符長度,單位是字節.

??descriptor():N個不同的描述符結構,一般是網絡名稱描述符,解碼器在此獲取當前的網絡名稱(即電視臺名稱)

??reserved_future_use:4bits未來保留位,當前應是'0000'.

??transport_stream_loop_length:12bits的字節總數,就是隨后的循環的字節總數.

??transport_stream_id:16bits的網絡ID

??original_network_id:16bits原始網絡ID.如果original_network_id==?transport_stream_id說明該TS流是直播節目,否則說明該TS流是轉播節目.

??transport_descriptors_length:12bits的描述符長度,隨后的N個描述符占用的字節總數.

??descriptor(),N個描述符,可以有多個連續但不相同的描述符號,如網絡名稱描述符,傳輸系統參數描述符,解碼器分析這些描述符獲取網絡的不同信息.

??CRC_32:整個段的CRC校驗值,一般可以忽略.

EIT,?Event?Information?Table,環境信息表

?環?境信息表提供如下信息:節目段的標識號、起始時間、節目長度、播放狀態、是否加密;指向特定信息的鏈接信息;節目段多語種的簡短介紹;節目段的詳細介紹;?兩段同樣節目段的時間偏移;基本碼流類型,如視頻的幅型比、伴音的類型、字幕的類型等;使用的加密系統;節目類型,如電影/戲劇、新聞、綜藝、體育、少?兒、音樂、藝術、社會政治、文教等;節目限定年齡的級別;給出實現交互式回傳信道的電話號碼;為滿足各節目段的碼率而提供的緩存大小信息及私有數據等.

?環境信息表中提供了類似于廣播電視報所提供的節目表的內容,在SI中,只有EIT才有可能被加密。根據EIT及其它表所提供的信息,可以出五花八門的電子節目指南。-如:按節目類型檢索、按時間檢索及對某類節目的鎖定等.

?EIT表格定義如下:

??

?各字段定義如下:

??table_id:8bits的表ID,如果當前表是重現/跟隨信息,則table_id是0x4e(當前流)或0x4f(其他流),否則如果是時間段信息,則table_id是0x50~0x5f(當前流)或者0x60~0x6f(其他流).

??section_syntax_indicator:1bit的段語發標志符,應該是'1'

??reserved_future_use:1bit未來保留位,應該是'0'

??reserved:2bits的保留位,應該是'00'

??section_length:12bits的段長度,單位是bytes,從service_id開始到CRC_32(含)結束.

??service_id:16bits的頻道號,同PMT中的program_number;

??reserved:同上.

??version_number:5bitsEIT版本號碼.內容有更新則此字段遞增1,表示需要更新EIT信息.

??current_next_indicator:1bit的當前下次應用標志,一般是'0'

??section_number:8bits當前段號碼.

??last_section_number:8bits最后段號碼.

??transport_stream_id:16bits的TS流ID.

??original_network_id:16bits的原始網絡ID.

??segment_last_section_number:未知功能.

??last_table_id:未知功能.

?隨后是N個Event的信息:

??event_id:16bits環境ID,流唯一數字.

??start_time:40bits的開始時間.UTC格式.

??duration:24bits的持續時間(節目長度),BCD格式.

??running_status:2bits運行狀態,定義和PMT中的running_status相同.

??free_CA_mode:1bit的是否加密標志,'0'表示沒有加密.

?descriptors_loop_length:12bits描述符總長度,單位Bytes.

??descriptors():N個描述符列表.

TDT和TOT提供的是系統時間信息,結構較簡單,請參考EN300468文檔!

RST,Running?Status?Table,播放狀態表

?RST提供的是TS流中的節目播放狀態(是否正在播放等)的信息.

?RST格式定義如下:

?

?各字段含義如下:

??table_id:8bits表ID標志,應該是0x71.

??section_syntax_indicator:1bit的段語法標志,應該是'1'.

??reserved_future_user:1bit未來保留位

??reserve:2bits保留位.

??section_length:12bits段長度,單位Bytes.實際就是隨后的for()循環中所有的字節數目.

??transport_stream_id:16bits的TS?ID,DVB內唯一.

??original_network_id:16bits原始網絡ID.

??serviced_id:16bits節目號,和PMT內的program_number相同含義.

??event_id:16bits環境ID,同EIT定義.

??reserved_future_use:5bits未來保留位.

??running_status:3bits運行狀態.0x01表示不在播放中,0x02表示即將播放,0x03表示播放被暫停,0x04表示正在正常播放,其他屬于未定義狀態.

?實?際上,以上標準SI表提供出的EPG信息是比較少的,實際上有用的EPG信息都是包含在描述符中,就是Table結構內部的descriptor()字段?中.DVB系統提供了很多標準的descriptor(),不同的描述符展示不同的信息.具體的描述符結構請參考EN300468.

?標準描述符簡單介紹如下:

(1)?Bouquet?name?descriptor:組名稱描述符,提供一個組的名稱符號.

(2)?CA?identifier?descriptor:CA系統控制字描述符,提供CA的加密字.

(3)?Component?descriptor:組件描述符號,提供系統內所有組件的名稱等信息.

(4)?Content?descriptor:內容描述符號,提供系統節目的內容信息(實現按內容檢索功能)

(5)?Country?availability?descriptor:有效國家列表描述符號,提供該服務允許使用的國家名稱列表.

(6)?Data?broadcast?descriptor:數據廣播描述符,提供數據廣播信息.

(7)?Data?broadcast?id?descriptor:數據廣播標志描述符號.

(8)?Cable?delivery?system?descriptor:DVB-C傳輸系統參數描述符,提供DVB-C參數信息.

(9)?Satellite?delivery?system?descriptor:DVB-S傳輸系統參數描述符,提供DVB-S參數信息.

(10)?Terrestrial?delivery?system?descriptor:DVB-T傳輸系統參數描述符,提供DVB-T參數信息.

(11)?Extended?event?descriptor:擴展環境描述符號.

(12)?Frequency?list?descriptor:頻率列表描述符,提供所有的頻率信息.

(13)?Linkage?descriptor:可連接描述符.

(14)?Local?time?offset?descriptor:當前時間信息.

(15)?Mosaic?descriptor:馬塞克描述符.

(16)?Multilingual?bouquet?name?descriptor:多語言代碼組名稱描述符.

(17)?Multilingual?component?descriptor:多語言組件描述符號.

(18)?Multilingual?network?name?descriptor:多語言網絡名稱描述符.

(19)?Multilingual?service?name?descriptor:多語言服務名稱描述符.

(20)?NVOD?reference?descriptor:VOD點播參考描述符.

(21)?Network?name?descriptor:網絡名稱描述符.

(22)?Private?data?specifier?descriptor:私有數據描述符.

(23)?Short?smoothing?buffer?descriptor:傳輸速率描述符.

(24)?Service?descriptor:服務器描述符,提供電視臺名稱和電視節目名稱等信息.

(25)?Service?list?descriptor:節目列表描述符,提供所有的節目頻道號和節目類型.

(26)?Service?move?descriptor:節目刪除描述符.

(27)?Short?event?descriptor:短消息描述符.

(28)?Stream?identifier?descriptor:流標志描述符.

(29)?Stuffing?descriptor:填充數據描述符.

(30)?Subtitling?descriptor:子字幕描述符.

(31)?Telephone?descriptor:電話號碼描述符.

(32)?Teletext?descriptor:圖文信息描述符.

(33)?Time?shifted?event?descriptor:時間消逝環境描述符.

以?上描述符結構定義在EN300468,所有的描述符都插入到不同的SI表中,因此描述符的分析應該結合不同的SI表來進行.但是這種插入又是有規律的,如?NIT表只可能插入Terrestrial?delivery?system?descriptor之類或者?Network?name?descriptor,絕對不可能插入Service?descriptor!具體插入的什么描述符,只能通過描述符的第一個?字節descriptor_tag來判斷.

?因?為EPG的實現是非常靈活的,不同的應用需要不同的EPG功能,因此在<<Seekfor?MPEG-2?decoder>>中?沒有加入EPG功能.然而實際上,EPG功能比較容易實現,但因為EPG錯綜復雜的SI,寫EPG功能之前還是需要仔細理清思路才能實現的.?

二?DVB碼流中業務信息與電子節目指南

怎樣在眾多的數字電視節目中快速地找到用戶所需要的節目,是數字電視應用所要解決的問題。在DVB接收機中通常都使用電子節目指南(EPG)這一工具來達到快速查找節目的目的,生成EPG的數據來源于DVB碼流中的有業務信息SI信息。

在數字電視中,所有視頻、音頻、文字、圖片等經數字化處理后都變成了數據,并按照MPEG-2的標準打包,形成固定長度(188個字節)的傳送包,然后將這些數據包進行復用,形成傳送碼流(TS),通常一個頻道對應一個TS流,一個頻道的TS流由多個節目及業務組成。在TS流中如果沒有引導信息,數字電視的終端設備將無法找到需要的碼流,所以在MPEG-2中,專門定義了PSI信息,其作用是自動設置和引導接收機進行解碼。PSI信息在復用時通過復用器插入到TS流中,并用特定的PID(包標識符)進行標識。

在MPEG-2標準中定義的節目信息PSI,是對單一碼流的描述,由于系統通常存在多個碼流,為了使使用者能在多碼流中快速地找出自己需要的業務,在DVB對MPEG-2的PSI進行了擴充,在PSI四個表的基礎上再增加了九個表,形成SI。SI是對整個系統所有碼流的描述,描述系統傳輸內容、廣播數據流的編排和時間表等的數據,它包括PSI信息。

一、節目信息(PSI)

PSI由節目關聯表(PAT)、條件接收表(CAT)、節目映射表(PMT)和網絡信息表(NIT)組成,這些表插入到TS中傳輸。PSI指定了如何從一個攜帶多個節目的傳送流中正確找到特定的節目,當接收機要接收某一個指定節目時,它首先從節目關聯表中取得這個節目的節目映射表的PID值,然后從TS中找出與此PID值相對應的節目映射表,從這個節目映射表中獲得構成這個節目的基本碼流的PID值,根據這個PID值濾出相應的視頻、音頻和數據等基本碼流,解碼后復原為原始信號,刪除含有其余PID的傳送包。MPEG-2傳送流的結構如圖1所示。

圖2是PAT與PMT的關系及結構圖。

圖3是CAT與NIT的結構圖。

從上面的幾幅圖中可知,要保證傳送流能正常接收,在該流中至少有一個完整有效的PAT。CAT描述了節目的加密方式,它包含了節目的EMM識別PID,只有授權的解碼器才能由CAT收到密鑰,解碼出相應的數據流。NIT包含節目的頻道調諧參數、頻率、符號率等物理傳輸網信息,這些信息使得接收機可以按照用戶的選擇以很少的延時或無延時地改變頻道、調諧參數,正確地解碼出TS。由于PSI數據的完整性十分重要,因此在每個PSI段中均需要加校驗碼。

二、業務信息(SI)

PSI數據只提供了單個TS的信息,使接收機能對單個TS中的不同節目流進行解碼,但它不能提供多個TS的有關業務和節目的類型、什么節目、什么時間開始等信息,因此DVB系統對PSI進行了擴展,提供了其它不同信息種類的多種表格,形成SI。在實用中,我們將SI所提供的數據通過有序地組織起來,生成類似節目報的形式,它能在電視機上即時瀏覽,這樣將大大方便用戶的使用,這就是電子節目指南EPG。

SI定義了不9個表

1、業務群關聯表(BAT):它提供了業務群相關的信息,給出了業務群的名稱以及每個業務群中的業務列表。

2、業務描述表(SDT):它包含了描述系統中業務的數據,例如業務名稱,起始時間、持續時間等。

3、事件信息表(EIT):它包含了與事件或節目相關的數據,EIT是生成EPG的主要表。

4、運行狀態表(RST):它給出了事件的狀態(運行/非運行),運行狀態表更新這些信息,允許自動適應切換事件。

5、時間和日期表(TDT):它給出了與當前的時間和日期相關的信息,由于這些信息更新頻繁,所以需要單獨使用一個表。

6、時間偏移表(TOT):它給出了與當前時間、日期和本地時間偏移相關的信息,由于這些信息更新頻繁,所以需要單獨使用一個表。

7、填充表(ST):它用于使現有的段無效,例如在一個傳輸系統的邊界。

8、選擇信息表(SIT):它僅用于碼流片段中,如記錄一段碼流,它包含了描述該碼流片段業務信息間段的地方。

9、間斷信息表(DIT):它僅用于碼流片段,如記錄的一段碼流中,它將插入到碼流片段業務信息間斷的地方。

這里值得一提的是,NIT在MPEG-2標準中未予以規定,而是由SI規定。

以上這些表在傳送流中以數據段的形式傳送,不同的信息表在傳送流中通過賦予不同的特定的PID來進行區分(如表1所示)。而具有相同PID的不同信息表則進行由表標識符TABLE?ID來區分,在接收端通過查這些特定的PID來找到它們。這里說明一下,TS中有兩種標識符,一種是包標識符,一種是表標識符。例如SI中的SDT的每一個表都對一個特定TS中的業務進行描述,這些業務可能是這個表所存在的TS的一部分,也可能是其它TS的一部分,這些SDT的PID都是相同的,這時候我們就可以通過不同的表標識符來區分它們,從而識別出那一個表所描述的業務是那一個TS的。

表1

PID值

PAT

0X0000

CAT

0X0001

PMT

0X0002

NIT

0X0010

SDT、BAT

0X0011

EIT

0X0012

TDT、TOT

0X0014

?

SI中的各表在實際使用中并不都需要傳送,其中NIT、SDT、EIT、TDT是必需傳送的,其它表則按照需要進行選擇傳送。

三、電子節目指南(EPG)

在DVB系統中,EPG可使用戶方便、快捷、直觀地找到需要的節目,根據《數字電視廣播業務規范》對EPG的要求,EPG應提供節目單和當前節目播放等基本功能,還提供節目附加信息、節目分類、節目預訂和家長分級控制等功能。EPG的這些功能均可通過SI來實現,也就是說SI是實現EPG功能的前提。在SI中,最重要的是NIT、EIT和SDT,利用這3個表中的數據就可以構成功能不同的EPG。

NIT的作用在上面已經說過,SDT的作用是提供對每個業務的描述,使用戶能方便地了解每個業務的內容。對于每一個TS都有一個SDT與之對應。EIT實際上是一個節目表,對于每一個節目都存在一個獨立的EIT。

EPG包含兩個部分:一是播出前端的EPG編輯器;二是用戶端接收機相應的控制軟件,兩部分一一對應,每個接收機的相關部分必須要按照前端定義的數據結構來定制,從而接收顯示前端送出的業務信息。

SI一般在復用器合成TS時插入,有3種插入方式。

1、??將各表數據通過復用器廠家提供的應用軟件接口由復用器插入到節目碼流中。

2、??將各表數據按MPEG-2標準打包,通過碼流播出卡輸出,再將之送入復用器的異步串行口與節目碼流復用。

3、??通過條件接收加擾器提供的接口插入,因此可通過局域網將數據表送入加擾器,由加擾器向碼流中插入SI。

四、接收機與EPG

DVB接收機又稱機頂盒,它是接收DVB節?目的用戶端設備。打開接收機,通常都有一個開機畫面,這個畫面實際上是一個存儲于機頂盒內的一個菜單選擇頁面,它是由稱為裝載器的控制軟件生成的用戶操作?界面,用戶可通過遙控器進行選擇操作。每個有線電視營運商所開發的這個界面都有所不同,但功能是一樣的,其主要內容是營運商提供業務(節目)的分類和系統?設置及一些輔助功能。這些內容構成了頁面的最上層主菜單,其下一層菜單則通常由SI生成的EPG所構成。

主菜單中的系統設置是為引導接收機快速準確地接收到DVB節目而設的,其有最基本的有三個操作:信息檢測、節目搜索、軟件下載。

1、信息檢測:它主要顯示目前DVB系統的主頻及相關參數,如主頻頻率、碼率、調制方式、誤碼率、信號電平等,供維護人員檢測參考。

這里說明一下,所謂主頻是指SI所在碼流的調制頻率。

2、節目搜索:接收機在節目搜索時首先搜索主頻頻率,找出SI信息,然后生成EPG,又由EPG生成一個節目列表,這個節目列表包括節目名稱、節目說明、節目播出時間等,并將這個節目列表作為下一層菜單,每個下層菜單項都指向相應節目所在的TS流,達到用戶能方便快捷地收看到所需節目的目的。

節目搜索分兩種方式:一種是手動搜索,一種是自動搜索。手動搜索方式是通過人工輸入主頻頻率或DVB系統內所有TS流的調制頻率來引導接收機接收;自動方式是由軟件設置好相關的接收參數,由軟件來引導接收機接收。

3、?軟件下載:在前面說過,接收機的裝載器必須要按照前端定義的數據結構來定制,當前端需要變更播出節目時(如增加或減少節目的播出,調整播出節目的類別等)?或更改主頻頻率時,接收機的裝載器也應作相應的變更。所以,當前端要作節目變更時,營運商必須要同時變更接收機的裝載器,并向所有接收機發出軟件更新信?息,用戶收到信息后,就可用軟件下載功能來更新接收機的裝載器了。

????綜上所述,構成一個DVB系統最基本的業務信息應該包括PSI和SI業務信息。EPG由SI生成,DVB接收機靠EPG來引導接收和選擇收看DVB節目。

三?兩篇很好的EPG相關文章

???1?基于DVB-SI的數字有線電視機頂盒節目指南的設計實現

?????????????????????????????????????????????????????????王景存 王瑞胡

?????????????????????????????????????????????????????????北京科技大學信息工程學院

????????????????????????????????????????????????????????武漢科技大學信息科學與工程學院??

摘要?本文介紹了電子節目指南信息的構成以及MPEG-2?PSI和DVB-SI信息規范,提出了一種EPG信息的存儲結構和節目數據庫的生成方案,并據此講述了如何在數字有線電視機頂盒中生成電子節目指南EPG。

  關鍵詞?機頂盒?MPEG-2?PSI節目專用信息?DVB-SI業務信息?電子節目指南?

1?引言?

  目前數字電視已經進入快速發展階段,與數字電視相關的業務也將大幅度增長。當節目運營商將大量的節目信息通過有線網絡提供給用戶,用?戶在欣賞高質量節目源的同時如何才能方便快捷地找到這些業務或信息就成了開發者們需要解決的一個關鍵問題。電子節目指南(EPG,Electronic?Program?Guide)正是為了方便用戶對信息的獲取而制作的運行于用戶端綜合接收解碼器(IRD,Integrated?Receiver?Decoder)的應用程序,它通過電視屏幕向用戶提供由文字、圖形、圖像組成的人機交互界面,負責電視節目和各種業務的導航[1]。用戶通過電子節目指?南,能夠了解到節目的相關信息(包括節目時間、播放時間、內容梗概等),并且實現對節目的快速檢索和訪問。?

  EPG的形成依賴于節目播出前端將符合DVB(Digital?Video?Broadcasting)標準的業務信息(SI,Service?Information)插入到承載節目信息的傳送流(TS,Transport?Stream)中,這些SI信息攜帶了EPG所需的全部數據。

2?電子節目指南信息的組成和傳輸?

  電子節目指南信息(以下簡稱EPG信息)由兩部分組成:基本EPG信息和擴展EPG信息。?

  基本EPG信息是指完全可以用《數字廣播業務信息規范(GY/Z174-2001)》中的網絡信息表NIT、業務群關聯表BAT、業務描述表SDT、事件信息表EIT等進行描述的EPG信息。?

  擴展EPG信息是指在基本EPG信息之外,通過數據輪播傳遞的EPG信息,這些信息的入口采用EPG映射表EMT進行描述,信息的內容被封裝成具有多級目錄結構的文件系統,稱為擴展EPG內容信息(XECI)。?

 一個EPG系統至少應該包括基本EPG信息[?2?]。?

  本文也僅就基本EPG信息進行論述。?

  “數據廣播業務信息規范”中NIT、BAT、SDT、EIT和EMT表都被分成一個或若干個段(section)來表示,然后插入到?TS包中。段是一種用來把SI信息表和EPG信息表映射為TS包的語法結構,這些信息符合GB/T?17975.1定義的專用段語法結構。段可直接映射到TS包中。段可能起始于TS包有效負載的起始處,但這并不是必須的,因為TS包有效負載的第一個段的?起始位置是由pointer_field字段指定的[?3?]。

3?MPEG-2?PSI節目專用信息與DVB-SI信息簡介?

  在數字電視中,所有的音、視頻信號和數據信息經過編碼后,在進入傳輸系統前,必須按照MPEG-2標準打包,形成固定長度的TS包,?包長為188字節或204字節。對于這些長度相同的包,如果沒有引導信息,IRD是無法找到所需要的碼流的。為此在MPEG-2標準中專門定義了節目專用?信息(PSI,Program?Specification?Information),其作用在于自動設置和引導IRD進行解碼[?4?]。?

  PSI信息由以下四種表組成:?(1)節目關聯表PAT;?(2)節目映射表PMT;?(3)網絡信息表NIT;?(4)條件訪問表CAT。?

  在實際應用中,解碼器IRD要對某一路特定碼流進行解碼時,首先要找到PAT表,根據PAT表找到所需的節目及該節目對應的PMT表?的PID。PMT表中可能包含多個數字碼流,每個碼流都有一個唯一的PID與之對應。如果要解碼的是視頻碼流,則在PMT表中找到video?PID值,再從TS流中過濾出PID值與之匹配的TP包并送到視頻解碼器。?

  MEPG-2的PSI信息提供了相關節目組成和相互關系的信息,從而使得接收端IRD可以對多路傳輸流進行解析,但是這些信息在實?際應用中仍顯得不夠,它不能提供節目的名稱、節目的開始時間、持續時間及節目的附加信息等。為此在DVB中擴展定義了SI業務信息。PSI信息基本上都是?與現行流(AS,Actual?Stream)相關的,而SI信息則可以包括不在現行流中的一些業務和事件信息,從而允許用戶進行更多的選擇和了解更多的其它業務信息。?

與PSI定義的四種表不同,SI中定義了9種表,其中構成基本EPG信息的最重要的表是網絡信息表NIT、業務描述表SDT和事件信息表EIT。?SI?表傳送的信息都是通過描述符(descriptor)的形式給出的。?

  每個描述符都以descriptor_tag(用于唯一標識descriptor的類型)和descriptor_length開始。不同的描述符用于描述不同SI表中承載的信息[?6?]。

4?系統介紹?

  本EPG系統是在STMicroelectronic公司所提供的機頂盒開發方案上實施的,其主控制芯片采用STi5518,內部集?成有32位主CPU、專用DVB傳輸流解復用和解擾模塊、MEPG-2音、視頻解碼單元、數字視頻編碼器及各種接口等。與之配套的軟件開發平臺選用的也是?該公司開發的STLite/OS20嵌入式操作系統,支持多任務、存儲器管理、進程調度、定時器管理等實時特性。該系統能實時接收用戶通過遙控按鍵或前面?板觸發的交互信號,實現節目基本信息的瀏覽、節目列表的生成、節目之間的跳轉以及節目預告信息的查詢等。

5?系統設計及實現

5.1?EPG信息的存儲結構?

  TS流里攜帶的EPG數據信息通過IRD接收以后都以樹狀鏈表的結構存儲在PROG_INFO_STRUCT和TRANSPONDER_INFO_STRUCT這樣兩個結構中。?

  在本機頂盒有關節目操作的各項功能中,絕大部分都與節目數據庫有關,比如自動節目搜索時,需要建立節目數據庫,并為搜索到的節目在數?據庫中建立相應的數據單元,用于存儲該節目的各種信息;在切換節目時,需要根據不同節目中音、視頻數據的PID值從而選擇不同的碼流進行音、視頻解碼等。?

  節目數據庫主要來自PSI表的內容。?

  在具體的軟件實現過程中,節目數據庫的建立主要通過ParsePAT()、ParsePMT()兩個函數來實現。ParsePAT()函數調用的結果是得到有線傳輸系統中不同的節目PID,而ParsePMT則獲取各個節目中音、視頻碼流的PID值?

5.2?節目跳轉的實現?

  系統響應用戶在不同節目之間的切換時,需要將用戶選定節目的音、視頻碼流從復用的多路節目碼流中提取出來并分別送到音、視頻解碼器進?行解碼。它依賴于硬件可編程傳輸接口(PTI,Programmable?Transport?Interface)來實現。在系統生成的節目數據庫結構中的stProgNo變量存儲有轉發器號TransponderId及節目的音、視頻PID值。

5.3?事件信息的獲取?

  事件信息表EIT按時間順序提供每個業務中包含的事件的信息。(這里的事件相當于傳統意義上的節目,而業務則指的是提供節目源的某個?電視臺,如業務“中央電視臺-1”的事件“新聞聯播”。)EIT包含兩種不同類型的表,分別為EIT?present/following(簡稱EIT?p/f)和EIT?Schedule(EIT-S)。EIT?p/f給出了指定業務中當前和后一個事件的信息,而EIT-S則包含一周內或更長時間的節目預告信息。任何構成EIT的event?information?section均在PID為0x0012的TS包中傳輸,它給出了業務中事件的名稱、事件開始時間、持續時間及其他一些信息。?

  ?以下以EIT?p/f為例來講述事件信息的獲取方式:?

在EIT?p/f中,每個業務service都用兩個section分別來描述當前(present)和后續(following)信息,其中的section?number為0?的用來描述當前事件,而section?number為1的section則用來描述后續事件。?

  在節目信息結構PROG_INFO_STRUCT中,定義了EVENT_INFO_BASIC類型的二維數組?event_info_database[2]用來存放一個業務中的present和following事件的信息。這些信息包括事件的名稱、事件的開始?時間、事件的持續時間。?

  事件的日期和時間在TS流里是按照MJD(Modified?Julian?Date,修正的儒略日期)+?UTC(Universal?Time?Co-ordinate,通用時間坐標)的格式并以16進制的形式給出的。在MJD+UTC和local?MJD+local?time之間的轉換可參照GY/Z174-2001來進行。如TS流里的數據為0xCE1F?0056?0001?0600,則轉換以后得到的信息為:該事件的播出時間為2003年5月8日,星期四,開始時間為00:56:00,持續時間為01:06:00。?

而事件的名稱則通過解析描述符short_event_descriptor來實現。并將得到的信息存儲在event_info_database結構中。?

  所有解析得到的信息最終都將存儲在節目數據庫中,提供給顯示模塊直接調用。

6?結束語?

  真正完整意義上的EPG的功能是十分強大的,它不僅能提供節目表單和當前節目播放等基本功能,還可提供節目預定和家長分級控制等高級?功能。本文從實用的角度給出了一個基本EPG系統的實現方案。另外我們也實現了EPG交互式應用中的SI增值業務如天氣預報、新聞、股票數據等的接收,以?菜單觸發的形式提供給用戶一個由文本和圖形組成的反饋信息。?

  王景存,北京科技大學信息工程學院,副教授,博士;?

  王瑞胡,武漢科技大學信息科學與工程學院,碩士研究生,研究方向:數字信號處理。?

?????????

???????????????????

????????????2?數字電視的電子節目指南(EPG)及其系統

數字電視由于傳輸數字化,多種業務可以混合在一起通過一個信道傳輸。因此,數字電視已經不是單一的電視業務,而是指通過電視傳輸通道傳輸的數字業務,包括?視頻、音頻、圖像、數據等。全球數字電視已經進入快速發展階段??梢灶A見,在今后幾年,與數字電視相關的業務將大幅度增長。隨之而來的問題是,當數字電視?能為用戶提供數倍于目前節目量的節目及多種業務時,用戶怎樣才能便捷地找到所要的節目和信息呢?電子節目指南(EPG)顯然是必不可少的工具。

 ?  ?電子節目指南給用戶提供一個容易使用的、界面友好的、可以快速訪問節目的一種方式,用戶還可以通過該功能收看一個或多個頻道,甚至所有頻道近期將播放的節?目。同時,EPG可提供分類功能,可以幫助用戶瀏覽和選擇各種類型的節目。當然電子節目指南對業務提供商也有很重要的意義。?

數字電視的信息

1、節目說明信息

 ?  ?在數字電視中,所有的信息和信號,包括視頻、音頻、文字、圖片等經數字化后都變成了數據。數據在傳輸前要按照有關標準(一般是MPEG-2)打包,形成固?定長度的傳送(TS)包,MPEG-2的TS包長為188字節,然后再通過網絡快速傳輸到目的地。對于這些長度相同的TS包,如果沒有引導信息,接收端解?碼器是無法找到需要的碼流的。因此,在MPEG-2中專門定義了PSI。PSI的作用是自動設置和引導解碼器進行解碼。?PSI由節目關聯表(PAT)、條件接收表(CAT)、節目映射表(PMT)和網絡信息表(NIT)組成,每個表分成若干段映射(變換)到TS中傳輸。

 ?  ?PSI的幾個表包含了解碼和重現節目所需信息,其主要作用是找到節目和要解壓縮的碼流。其中PAT是所有表的根,它的PID值為0。實際應用中,解碼器要?對一特定碼流解碼時,首先要找到PAT。然后在PAT中找到所需節目(比如節目1),根據節目1相應的PMT的PID(如22),找到節目1的PMT。?PMT中可能包括多個數字碼流(包括視頻碼流、音頻碼流和數據碼流),每個碼流也有一個PID。如果要解碼的是視頻碼流,則在PMT中找到視頻碼流的?PID是54,再到TS中去找PID是54的包,并把所有PID是54的包送到視頻解碼器。在PAT中,節目0總是為NIT預留的。

   ?這里PID值是十進制的,在有關標準中分配的PID值是十六進制的,即用0×開頭的值表示。如十進制的22、54,在十六進制中分別是0×16、0×36。

2、業務信息

 ?  ?PSI數據提供接收機能自動設置的信息,使之能對復用流中的不同節目流進行解碼。但是PSI表不能提供有關業務和節目的識別信息。因此,DVB組織對?MPEG-2的PSI進行了擴展,提供了不同信息種類的多種表格,稱之為SI。SI是用來描述傳送系統、傳送內容和廣播數據流時間表等數據,它幫助綜合接?收解碼器(IRD)自動調諧,給用戶提供附加信息,使IRD能自動設置可供選擇的業務。?

   ?SI由業務群關聯表(BAT)、業務描述表(SDT)、事件信息表(EIT)等9個表提供,它們分成若干段映射到TS包中傳輸。

   ?在PSI中,網絡信息表(NIT)的內容是專用的且未作規定,但在SI表中專門定義了NIT的語法和語義,擴展了NIT的數據格式,旨在提供更多有關物理網絡的信息。

 ?  ?與PSI中PAT、PMT、CAT不同的是,SI的9個表在實際使用中并不都是強制性傳送的。在實際(現行)傳送系統中,NIT、SDT、EIT及TDT?的傳送是強制性的。在其它傳送系統中,NIT、SDT、EIT是可選傳送的。BAT、RST、TOT在任何情況下都是可選傳送的。ST、SIT和DIT則?是需要時才存在。

?

   ?除攜帶時間表信息的EIT外,所有的PSI和SI表都不能加擾,以免影響解碼器正常工作。

   ?在實際應用中,節目播出前端將符合標準定義的PSI和SI表插入TS包,構成數字電視廣播碼流,傳輸給用戶。接收端解碼器根據PSI解復用和解碼所需的碼流,利用SI提供的數據構成各種功能的EPG。解碼器根據包標識符(PID)和表標識符找到所需的碼流和數據。

   ?在插入TS之前,PSI和SI表被分成一段或若干段。段是用來把PSI和SI變換為TS包的語法結構,其長度是可變的。EIT的段限長4096字節,其余PSI和SI表的段限長1024字節。每段包含以下元素:表標識符、表標識符擴展、版本號和當前/后續指示符。

   ?PSI和SI表分段映射到TS包后,帶有相應的包標識符,用以指示TS包的性質。表標識符是為了標識段是屬于什么表的。

 ?  ?PSI表只能在確切知道節目是什么、在什么時間播出時才能找到要解碼的碼流,并不提供有關節目是什么、在什么時間開始等信息,也沒有多種碼流的選擇信息。?在數字電視業務不斷增加的情況下,用戶在選擇業務時會感到很不方便。如果能將用戶所需信息有序組織起來,提供類似節目報、又能在電視機上即時瀏覽的功能,?將大大方便用戶使用。EPG正好能起到這種作用。

   ?根據《數字電視廣播業務信息規范》對EPG的要求,EPG應提供節目單和當前節目播放等基本功能,還可提供節目附加信息、節目分類、節目預訂和家長分級控制等高級功能。

   ?在交互電視中,EPG更復雜,應能提供諸如節目內容背景資料、視角切換、天氣預報、游戲等功能。

   ?EPG的這些功能均可通過SI提供的數據來實現。也就是說SI是實現EPG功能的前提。在SI表中,最重要的是NIT、EIT和SDT,利用這3個表中的數據就可以構造出功能不同的EPG。

3、網絡信息表

   ?在PSI中定義的NIT的傳送是可選的。在SI中,要求在實際(現行)傳送流中,NIT的傳送是強制性的。?

   ?NIT指出了傳送當前業務的物理網絡信息及該網絡的特性,例如業務是通過何種傳送系統(衛星或地面或有線)傳送的、傳送系統的有關參數等。任一網絡由獨立分配的網絡標識符值唯一標識。?

   ?NIT主要攜帶網絡標識符、網絡名稱和傳送系統參數等信息。

   ?傳送系統有兩個標識,即網絡標識符和原始網絡標識符。當NIT在產生TS的網絡上傳送時,網絡標識符和原始網絡標識符取同一值。在原始網絡標識符中的每個業務標識符都是唯一的。含于TS中的某個業務轉移到另一傳送系統時,網絡標識符改變,原始網絡標識符保持不變。

   ?衛星傳送系統的參數有:軌道位置、軌道的東西標志、頻率、調制方式、極化方式、符號率及前向糾錯(FEC)內碼。

   ?有線傳送系統參數包括:頻率、調制方式、FEC外碼、符號率、FEC內碼?!?/p>

   ?地面傳送系統參數我國還未定義。

   ?NIT中提供的上述數據是供解碼器自動搜索頻道用的,也可以顯示出來為用戶提供參考數據。另外,還可以傳輸一些可選信息,如多語種提供網絡名稱、業務列表等。

?

4、業務描述表?

   ?SDT的每一個子表都對一個特定TS流中的業務進行描述。這些業務可能是實際TS流的一部分,也可能是其它TS流的一部分,可以通過不同的表標識符來區分。(業務如CCTV1等)

   ?SDT可分成若干業務描述段,任何構成SDT的段都要由PID為0×0011的TS包傳送。

   ?SDT提供業務所屬的業務群、業務使用的加密系統、與其它業務的鏈接信息、該業務的準用國家、業務名稱和業務提供者、業務是否允許NVOD,以及多畫面的控制、實現交互式回傳信道的電話號碼和多語種業務名稱等信息。

   ?為了更容易獲得有關業務,一般遵循這樣一些規則:對于實際TS,SDT的傳送是強制性的,而且在一特定TS的SDT中,SI碼流至少應列出該TS中的所有業務信息;其它TS的SDT應當列出該TS的所有業務。

5、事件信息表?(事件如新聞聯播等)

   ?EIT按時間順序提供每個業務中包含的事件的信息,其類型通過表識別符進行區別,見《數字電視廣播業務信息規范》中的表2。任何構成EIT段均在PID為0×0012的傳送包中進行傳送

   ?當前/后續事件信息表(EIT?present/following)只包含給定業務中的當前和后續一個事件的信息,但在NVOD情況下可以有多于兩個事件描述信息。而EIT?Schedule(EIT-S)則包含一周內或更長時間的節目預告信息.

   ?EIT提供的信息包括:事件的標識號、起始時間、節目長度;播放狀態、是否加密;事件的詳細介紹;兩段同樣事件的時間偏移;事件多語種的簡短介紹;節目限定的級別等。

   ?在所有PSI和SI表中,只有EIT的時間表可以被加擾。

電子節目指南的構成

   ?根據NIT、SDT和EIT等SI表提供的信息,可以構成各種各樣的EPG,使用戶能通過多種方式找到所要的信息。

   ?在數字電視系統中,對于電視臺和用戶來說,增加EPG功能是非常必要的,而EPG所需的信息正是由SI提供的。

 ?  ?實際上SI表提供的各種信息是通過描述符來實現的?!稊底蛛娨晱V播業務信息規范》中的表12列出了描述符在SI表中最可能出現的位置,從中可以看到,同一?類信息允許出現在多個SI表中,而且表示的是標識符最可能出現的位置,并沒有限制在其它表中使用該標識符;此外,SI表提供的各種信息并不都是強制性的。?這樣就為EPG前端系統和SI編輯器的開發提供了較大的空間和靈活性,同時也表明EPG是一種定制系統,它的功能與節目業務提供商打算向用戶提供什么樣的?服務有關。?

   ?EPG包含兩個部分:一是播出前端的EPG編輯器;二是用戶端數字電視接收機中相應的接收/顯示/控制軟件。兩部分一一對應,如果一個廠家的接收機產品要?進入一個業已采用某種EPG前端產品(數據結構封裝)的傳輸網絡(用戶群體),則必須按照前端定義的數據結構來改造其接收機的相關部分,從而接收顯示前端?送出的業務信息。而在EPG前端編輯器中,根據所需的功能,將采用適當的描述符來提供有關的信息。?

EPG系統的組成

   ?EPG系統分為前端子系統和接收端子系統,前端子系統主要負責SI數據的組織和生成,一般來說,由一個專門的SI復用器(SI?Server?)來完成這部分工作,并把生成的SI數據與節目等的其它數據流進行系統層復用,在TS流中傳輸。

   ?接收端子系統主要負責SI數據的接收、解析等。

?

綜合接收解碼器(Integrated?Receive?Decoder,IRD)從接收的TS流中解析出SI數據,并在本地建立SI數據庫,用戶通過EPG界面與SI數據庫進行交互。為了方便用戶的隨機接入,?SI數據是重復發送的,有關它的重傳速率在EN?300?468[1]中有詳細的規定。接收端不停地接收、解析來自發端的SI數據,當發端的SI數據改變時,SI數據庫更新,否則接收的SI數據被丟棄。?

?

 ?  ?EPG的應用程序運行于數字電視的機頂盒中,應用程序管理器負責EPG應用的管理,上層的EPG?API屏蔽了下層的軟硬件實體,使編寫EPG應用程序時可以不考慮底層的具體實現,只需要調用相應的API函數,下層的DVB-SI?API也是起同樣的作用。下層的解復用模塊接收TS流,解出DVB?SI數據流,再經SI數據解析模塊,生在SI信息表,存于本地數據庫中,由DVB-SI?API提供的接口向上層提供服務。

   ?國內外的EPG系統的實現方案,概括起來主要有以下兩種:

 ?  ?(1)本地應用方案:這種實現方案要求節目列表及詳細信息作為業務信息的形式復用于MPEG-2傳輸層中,數據經信道傳輸后,在接收端的解碼器對這些數據?進行解碼,并在接收機RAM中形成專用的EPG數據庫,EPG應用將檢索數據庫并根據用戶輸入的指令顯示用戶關心的節目信息。目前大多數廠商提供的EPG?采用該種實現方案。

   ?(2)交互式實現方案:這種實現方案首先要求數字電視機頂盒的軟件系統中有中間件(以HTML引擎為例),在發送端的EPG服務器將把HTML頁面的形式?組織,通過數據廣播信道傳輸到機頂盒,機頂盒通過HTML引擎顯示這些頁面,如同在PC世界中的瀏覽網頁。用戶與EPG的交互分成兩種形式,對于沒有回傳?信道的情況下,HTML頁面通過Data?Carousel發送,實現本地交互;而對于有回傳信道的情況下,機頂盒將根據用戶的輸入從網絡中獲取新的所需頁面。該方案以OpenTV為代表。

   ?上述兩種實現方案都要求業務信息或HTML頁面隨著時間遷移或節目修改而做相應變更,對于本地應用和本地交互方案還要求數據有一定的重傳率,以保證EPG的隨機接入。

   ?比較上述兩種實現方案,前者的EPG顯示形式是由接收機中的EPG應用完全決定的,發送端只提供必須的信息條目,比較容易實現;后者的EPG顯示形式完全由EPG服務器提供的頁面決定,即由發送端決定。?

EPG系統的關鍵技術?

 ?  ?實現EPG系統主要有以下幾個關鍵技術:發端的SI數據的組織和生成,接收端SI數據的接收和解析,接收端SI數據庫的建立,EPG界面的顯示等。其中有?些是用硬件實現,如SI數據的接收和解析;有些則用軟件實現,如SI數據庫的建立和EPG界面的顯示。具體如下:

1、SI數據的組織和生成

 ?  ?發端的SI數據的組織和生成,由發端的SI服務器(SI?Server)完成這部分功能,接收端的SI解析與此功能相反,主要負責SI數據表的重建。SI數據的組織要符合DVB-SI中的語法定義和MPEG-2?的語法定義,同時要縱觀傳輸網絡中的所有業務信息。信息內容應與PSI和SI表中的信息相對應,它可按照Network-Transport?Stream-Service-Event的分層順序描述,同時內嵌Transport?Stream-Program(Service)-Element?Stream的分層順序。?

?

2、SI數據庫的建立?

 ?  ?SI數據必須按照一定的數據結構進行存儲,這樣才能方便、快捷地對其進行檢索和數據的提取。特別是對EPG系統,運行于機頂盒的實時操作系統中,需要對用?戶的交互進行實時的動作。SI數據庫建立的好壞對其性能有重要的影響。SI數據主要有:網絡信息、傳輸流信息、業務(節目)信息,業務的事件信息等,并且?大量的信息都是通過描述子來傳輸的,所以可用樹狀鏈表來存儲數據,構成從網絡、傳輸流、業務、事件的樹狀結構,傳送不同信息的描述子用繼承于同一基類的描?述子類來表示。?

3、EPG系統的顯示技術?

   ?當電視節目和EPG應用同時啟動時,用戶看到的可能是節目畫面和EPG界面的疊加,用戶所看到的電視畫面從前到后可以分為三層,依次為圖形層、視頻層和背景層。

 ?  ?這里的圖形層也就是下面所說的OSD(On?Screen?Display)層,OSD界面顯示技術指在圖像畫面上疊加文字顯示,使屏幕為用戶提供更多的附加信息。視頻層為當前正在收看的節目(解碼出來的活動圖?像);背景層為沒有播放電視節目和啟動EPG菜單時的屏幕圖像。EPG畫面在圖形層上構建,EPG畫面是由許多EPG圖形元素(如按鈕、文本框、選擇按?鈕、組件容器等)疊加而成。界面的狀態轉移是通過消息驅動的機制來實現的,在消息響應函數中進行消息處理。見到的屏幕圖像是這三層的疊加(blend)后?的圖像。

   ?EPG界面顯示的總體思想是:SI數據與圖形元素分離。包括以下幾部分:SI數據的檢索與提取,EPG界面所需的圖形元素庫,狀態轉移控制器,OSD層繪?制引擎,OSD層圖、視頻層、背景層及這三層的Blend操作。SI數據檢索模塊快速的檢索本地SI數據庫,提供EPG界面當前輸入焦點所需的數據信息;?OSD層圖形元素庫提供界面所需的圖形元素,該庫存于本地機頂盒的ROM中;狀態轉移控制器接收用戶遙控器的輸入,提供當前顯示所需的活動焦點,控制狀態?轉移地流向;OSD層圖像是指EPG界面圖形元素合成后的圖像;OSD繪制引擎決定顯示的相應算法,接收各模塊提供的數據,完成OSD層圖形的繪制,最后?是OSD層、視頻層和背景層的blend操作。

   ?數字電視的優勢不僅僅是提供高質量的視頻、音頻節目,更重要的是采用數字化處理后,提供了業務的靈活性和多樣性。其中電子節目指南,它描述節目的播出時間?和簡要內容,可幫助觀眾方便快速地尋找自己感興趣的節目。將為觀眾收看電視帶來極大的幫助,因此。必須重視數字電視的電子節目指南系統的研究和內容的制作。

???

?????轉:http://blog.163.com/hweizhou@126/blog/static/347885762007112911523013/

總結

以上是生活随笔為你收集整理的数字电视业务PSI/SI学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

女女av在线 | 免费手机黄色网址 | 国产精品久久久久久久久久久不卡 | 日韩二区三区在线 | 国产精品嫩草影视久久久 | 国产精品18久久久久久首页狼 | 激情综合啪 | 精品国产一区二区三区四 | 免费一级片在线 | 精品视频成人 | 中文字幕一区二区三区久久 | av动态图片 | 奇米网网址 | 国产91精品一区二区绿帽 | 国产精品美女久久久久久久 | 日韩久久久久久久久 | 午夜精品999 | 成人h动漫在线看 | 月丁香婷婷 | 欧美做受高潮 | www.久久免费| 国模精品一区二区三区 | 亚洲黄在线观看 | 综合激情av | 国产精品自在线拍国产 | 日韩视频一区二区三区 | 日本久久高清视频 | 国产亚洲亚洲 | 又黄又爽又无遮挡的视频 | 国产首页 | 日日爱网址 | 久草网站| 午夜精品久久久99热福利 | 丁香在线观看完整电影视频 | 久久激情五月婷婷 | 天天视频色 | 亚洲精品视频在线播放 | 射射射综合网 | 久草爱视频 | 人人狠狠综合久久亚洲 | 亚洲欧洲在线视频 | 色婷婷www| 操夜夜操 | 午夜av片 | 久久久精品欧美一区二区免费 | 久久深夜福利免费观看 | 狠狠色噜噜狠狠 | 欧美韩国在线 | 麻豆视频www| av久久久久久| 精品久久免费看 | 一区二区精品在线 | 久久视频精品在线 | 亚洲精品66| 精品久久久久久亚洲 | av亚洲产国偷v产偷v自拍小说 | 色综合天天射 | 99 精品 在线| 日日摸日日添夜夜爽97 | 嫩草91影院 | 成年人黄色av | 91免费在线| 综合色久| 久久午夜羞羞影院 | 日韩av免费大片 | 亚洲精品免费在线播放 | 综合伊人久久 | 91亚色免费视频 | 精品久久久久久久久久国产 | 天天射天天操天天 | 亚色视频在线观看 | 97视频一区 | 久久久精品国产一区二区电影四季 | 亚洲美女视频在线 | 91av视频在线观看免费 | 91网址在线观看 | 九九热av | 狠狠网站 | 欧美成人999 | 丰满少妇在线观看网站 | 久草免费在线观看 | 91av片| 五月激情丁香婷婷 | 免费在线黄色av | 久久精品黄色 | 最近中文字幕mv免费高清在线 | 久久免费视频这里只有精品 | 天天综合网在线观看 | 午夜视频在线观看一区二区 | 麻豆超碰 | 伊人国产视频 | 少妇精69xxtheporn | 五月天综合网站 | 依人成人综合网 | 久久免费精品一区二区三区 | 久久国产经典视频 | 久草精品视频在线看网站免费 | 日韩av手机在线看 | 看片网站黄 | www天天操 | 97超碰资源站 | 夜夜嗨av色一区二区不卡 | 韩国一区二区三区视频 | 久久夜色电影 | 黄色一级大片在线免费看产 | 国产成人高清在线 | 色狠狠一区二区 | 日本性高潮视频 | 1024手机在线看 | 国产福利久久 | 精品一区二区6 | 99久久99久久精品国产片 | 日日爱影视 | 国产性xxxx | 日韩免费在线观看网站 | 成人a在线| 久久久精品综合 | 午夜av色 | 精品欧美一区二区精品久久 | 国产网站在线免费观看 | 国产99久久99热这里精品5 | 欧美色图亚洲图片 | 国产第页 | 在线天堂中文在线资源网 | 久久精品中文字幕一区二区三区 | 免费黄色网址网站 | 日韩三级免费观看 | 999久久久免费精品国产 | 人人射人人爱 | 免费人成在线观看网站 | 98久9在线 | 免费 | 99精品在线播放 | 少妇按摩av | 日韩精品极品视频 | 91av手机在线 | 亚洲综合精品视频 | 日狠狠 | 亚洲精品久久久久999中文字幕 | 久久色中文字幕 | 色丁香久久 | 在线观看黄a | 亚洲精品午夜久久久 | 精品国产福利在线 | 美女视频黄在线 | 成人一区二区三区在线观看 | 播五月综合 | 天天操人人要 | 久久午夜精品影院一区 | av天天澡天天爽天天av | 就要色综合 | 国产91小视频 | 久久久久久美女 | 激情视频91| 黄色一级动作片 | 91精品一区二区在线观看 | 国产精彩视频 | 色婷婷狠狠五月综合天色拍 | 操久久免费视频 | 日韩一区正在播放 | 激情五月综合网 | 久草在线免费资源站 | 美女黄频在线观看 | 国产精品久久久久久久久久 | 伊人天天色 | 日本黄区免费视频观看 | 精品久久一级片 | 久久精品成人热国产成 | 国产精品99久久久久久小说 | 人人爱人人做人人爽 | 亚洲成人av在线播放 | 午夜久久久久久久久久影院 | 国产一区二区三区四区在线 | 久草久草久草久草 | 探花视频免费观看高清视频 | 免费69视频 | 黄色aaa级片| 久久久影院一区二区三区 | 国产成人黄色av | 婷婷午夜激情 | 成人黄色小说视频 | 一区二区三区高清在线观看 | 久久精品国产一区二区电影 | 免费无遮挡动漫网站 | 国产91精品一区二区麻豆网站 | 99视频一区 | 久久99网站| 国产精品免费视频一区二区 | 天堂视频中文在线 | 国产在线v | 在线99视频| 在线草| 一级黄色片毛片 | 国产综合视频在线观看 | 久久久久久久网站 | 精品免费在线视频 | 欧美电影在线观看 | 色吧久久| 欧美色888 | 婷五月天激情 | 一区国产精品 | 国产精品国产自产拍高清av | 日韩特级黄色片 | 91视频91蝌蚪| 国产福利在线不卡 | 午夜成人影视 | 欧美日韩一区二区三区在线免费观看 | 久久999精品 | 91人人爽人人爽人人精88v | 欧美色综合天天久久综合精品 | 黄色av一区二区三区 | 国产精品久久久久久久免费大片 | 在线免费黄色毛片 | а天堂中文最新一区二区三区 | 国产中文字幕视频在线观看 | 国产日韩中文字幕在线 | 91在线播放视频 | 日日夜日日干 | 婷婷资源站 | 国产成人61精品免费看片 | 免费看片色| 91mv.cool在线观看 | 婷婷丁香激情 | 久久久免费国产 | 91视频最新网址 | 奇米影音四色 | 久国产在线播放 | 亚洲视频免费在线看 | 欧美精品亚洲精品日韩精品 | 久热电影 | 亚洲国产午夜精品 | 亚洲最大av网站 | 成人一区二区在线观看 | 99视频精品在线 | 亚洲综合成人在线 | 999久久久免费精品国产 | 婷婷色站 | 久久综合狠狠综合久久激情 | 国产精品一区二区三区在线 | 国产精品欧美久久久久无广告 | 中文字幕一区二区在线观看 | 亚洲国产中文字幕在线视频综合 | 97免费在线观看 | 国产一级片网站 | 国产黄色精品网站 | 亚洲在线观看av | 国产免费又黄又爽 | 狠狠色伊人亚洲综合成人 | 色视频在线免费 | 国产成a人亚洲精v品在线观看 | 黄色国产成人 | 欧美日韩在线视频一区 | 韩国一区二区三区在线观看 | 丝袜美腿在线视频 | 久久狠狠婷婷 | 国产日韩在线视频 | 国产在线精品区 | 久久久久久久久影院 | 精品国产99| 国产91精品久久久久 | 丁香综合五月 | 国产一区二区三精品久久久无广告 | 日本精品视频免费 | 在线a亚洲视频播放在线观看 | 欧美日韩高清一区二区 | 久久久久久久久久久影视 | 91在线播| 91av视频免费在线观看 | av资源中文字幕 | 午夜婷婷网 | 久草青青在线观看 | 色视频网站在线观看一=区 a视频免费在线观看 | 天天射天天搞 | 美女网站在线观看 | 天干啦夜天干天干在线线 | adn—256中文在线观看 | 国产永久免费观看 | 亚洲第一中文网 | 久草电影在线观看 | 国产精品入口麻豆www | 久久成人精品视频 | 亚洲精品综合欧美二区变态 | 成人精品视频 | 在线日韩一区 | 成人黄色电影免费观看 | 成人免费视频免费观看 | 国产精品久久久久久69 | 精品特级毛片 | 久久久久久久福利 | 婷婷国产一区二区三区 | www四虎影院 | 免费黄在线观看 | 99视频导航 | 亚洲人成综合 | 日韩成人精品一区二区三区 | 91九色视频在线观看 | 日韩成人高清在线 | 麻豆视频在线免费看 | 亚洲成人精品在线 | 国产视频1| 国产精品视频app | 在线99| 午夜av片 | 久久你懂的 | 一区二区三区免费网站 | 色综合久久综合 | 国产乱码精品一区二区三区介绍 | 国产午夜三级一二三区 | 日本特黄特色aaa大片免费 | 国产成人精品一区一区一区 | 在线观看亚洲国产 | 久久精品亚洲 | 91在线视频免费播放 | 精品二区视频 | 日韩有码在线观看视频 | 在线a人v观看视频 | 国产99久久精品一区二区永久免费 | 91人人射 | 亚洲国产精品久久久久婷婷884 | 亚洲精品91天天久久人人 | 色婷婷成人网 | 色a4yy| 91成人在线观看高潮 | 日日日操操 | 久久欧美在线电影 | 99热 精品在线 | 337p欧美| 三级a视频 | 福利视频网站 | 中文字幕成人一区 | 99这里只有久久精品视频 | 国产精品九九九 | 九九欧美 | 日本精品视频在线观看 | 韩国精品福利一区二区三区 | 精品久久久久久综合日本 | 九九影视理伦片 | 久久精品网站视频 | 五月婷婷,六月丁香 | va视频在线 | 欧美日韩三级在线观看 | 久久91网| 五月婷婷香蕉 | www.在线看片.com | 一区二区精 | 人人爱夜夜操 | 操少妇视频 | 人人爱夜夜操 | 精品视频123区在线观看 | 美女福利视频一区二区 | 99视频黄| 视频在线在亚洲 | 丝袜精品视频 | 成人免费在线电影 | 免费视频18| 麻豆国产在线播放 | 久久久精品亚洲 | 亚洲夜夜综合 | 国产区免费在线 | 91漂亮少妇露脸在线播放 | 国产精品久久久久久久久岛 | 韩国av三级 | 五月婷婷导航 | 日本久久久久久久久 | 香蕉精品视频在线观看 | 操操操夜夜操 | 91久久在线观看 | www.色爱 | 欧美一级片 | 国产精品成人在线 | 天天摸天天舔天天操 | 日韩精品在线免费观看 | 亚洲经典中文字幕 | 亚洲一区 av | 久久高清国产视频 | 免费看短 | 伊人婷婷在线 | 久久精品理论 | 天天av资源 | 麻豆一精品传二传媒短视频 | 狠狠躁夜夜躁人人爽视频 | 中文字幕av在线电影 | av资源免费在线观看 | 349k.cc看片app| 中文字幕在线观看第三页 | 色狠狠狠 | 2019国产精品| 色噜噜色噜噜 | 久草视频在 | 婷婷综合电影 | 国产高清视频在线播放一区 | 五月天天天操 | 国产成人精品一二三区 | 91最新在线 | 中文在线a天堂 | 2024国产精品视频 | 国产精品99久久久久的智能播放 | 999国内精品永久免费视频 | 国产成人一区二区三区免费看 | 99热在| avv天堂| 日本中文字幕在线一区 | 成人国产网站 | 久久免视频 | 4438全国亚洲精品在线观看视频 | 亚洲精品一区二区三区四区高清 | 久草在在线| 久久精品永久免费 | 黄色三级免费网址 | 国产精品视频地址 | 欧美亚洲专区 | 欧美色图88 | 亚洲aaa毛片| 日韩专区av | 久久精品视频在线看 | 国产一区精品在线观看 | 日韩免费电影在线观看 | 午夜av色 | av在线免费播放 | 狠狠黄 | 狠狠久久综合 | 色99中文字幕 | 国产剧情在线一区 | 欧美亚洲久久 | 久久婷婷国产 | 91色综合| 亚洲 欧洲 国产 日本 综合 | 欧美日本国产在线观看 | 久久视频在线观看免费 | 欧美一级视频免费 | av黄色影院 | 国产精品久久久av | 五月天九九 | 伊香蕉大综综综合久久啪 | 日韩av在线一区二区 | 久久精品一区二区 | av在线成人| 久久精品久久久精品美女 | 91精品婷婷国产综合久久蝌蚪 | 国产高清免费av | 国产精品一区二区三区在线播放 | 亚洲激情六月 | 四虎影视精品永久在线观看 | 欧美日韩午夜在线 | 欧美一级看片 | 在线观看的av | 99视频免费| 日本精品一区二区在线观看 | 国产精品电影在线 | 亚洲电影影音先锋 | av一级二级 | 久久久色 | 97香蕉超级碰碰久久免费软件 | 亚洲一级片 | 在线视频亚洲 | 婷婷国产在线观看 | 国产色小视频 | 中文字幕国产一区二区 | 久久久精品99 | 亚洲精品美女免费 | 国产成人精品女人久久久 | 亚洲人久久 | 久久久久久国产精品久久 | 国产精品美 | 97在线视频免费观看 | 日韩区欠美精品av视频 | 黄色a大片 | 久久免费视频8 | 亚洲视频电影在线 | 精品国产一区二区三区男人吃奶 | 激情丁香综合五月 | 欧美日韩成人一区 | 中文资源在线官网 | 色婷五月| 奇人奇案qvod| 丁香在线视频 | 精品国产伦一区二区三区免费 | 天天色天天操天天爽 | 免费无遮挡动漫网站 | 国产日韩中文字幕在线 | 日韩欧美视频免费在线观看 | 亚洲国产激情 | 国产五月色婷婷六月丁香视频 | 成年人国产在线观看 | 香蕉一区| 中文字幕免费 | 国产91aaa| 玖玖视频精品 | 久色网| 国产精品久久久久国产a级 激情综合中文娱乐网 | 91麻豆精品国产91久久久久 | 五月婷婷综合久久 | 一区在线免费观看 | 日韩一级理论片 | 国产男女爽爽爽免费视频 | 日日爽视频 | 99国产一区二区三精品乱码 | 国产一区在线视频播放 | 午夜精品福利影院 | 国精产品999国精产 久久久久 | 天天综合在线观看 | 欧美一区二区三区免费观看 | 美女久久久久久久久久 | 97超碰免费| 亚洲视频 视频在线 | 日韩精品一区二区三区免费观看视频 | avove黑丝 | 亚洲欧洲成人精品av97 | 麻豆视频免费在线观看 | 天天爽天天爽夜夜爽 | 男女靠逼app | 国产夫妻av在线 | 亚洲精品h | 欧美日韩免费在线视频 | 在线观看网站你懂的 | 国产精品精 | 亚洲人成人在线 | 欧美国产日韩一区二区三区 | 热久久免费视频精品 | 中文字幕色播 | 中文字幕成人网 | 日韩精品国产一区 | 公与妇乱理三级xxx 在线观看视频在线观看 | 精品久久久久久久久久久久久久久久 | 天天干天天操天天入 | 国产精品尤物 | 天天干天天拍天天操天天拍 | 成年人视频在线观看免费 | 狠狠色丁香婷婷 | 中日韩免费视频 | 国内精品久久久久久久久久久 | 麻豆精品传媒视频 | 国产精品久久在线 | 99c视频高清免费观看 | 精品国产99 | 五月开心网 | 九九热在线精品视频 | 四虎影视久久久 | 亚洲aⅴ一区二区三区 | 欧美日韩免费一区二区三区 | 日韩理论在线观看 | 91av欧美| 国产日韩欧美在线 | 高清免费在线视频 | 97高清免费视频 | 色在线国产 | 国产美女精品人人做人人爽 | 高清中文字幕 | 在线视频日韩一区 | 一级性视频 | 奇米网777| 免费av成人在线 | 亚洲国产精品久久久久婷婷884 | 四虎影视成人永久免费观看视频 | 91麻豆高清视频 | 999成人 | 久久久久女人精品毛片 | 91在线免费看片 | 精品国产乱码久久久久久1区二区 | 亚洲美女精品区人人人人 | 91精品国产亚洲 | av亚洲产国偷v产偷v自拍小说 | 精品播放| 国产高清不卡 | 蜜臀av一区二区 | www.狠狠插.com | 狠狠做深爱婷婷综合一区 | 日韩亚洲在线观看 | 免费观看成年人视频 | 国产免费观看视频 | 正在播放五月婷婷狠狠干 | 国产在线播放一区二区 | 天天干天天操天天射 | 91精品国自产在线观看 | 成人夜晚看av | 狠狠干美女 | 天天色天天色天天色 | 麻豆一二三精选视频 | 2019中文最近的2019中文在线 | 国产美女免费看 | 日日草天天干 | 天天摸日日摸人人看 | 日韩二区三区在线 | 超碰在线97国产 | 色噜噜在线观看视频 | 亚洲成人精品在线观看 | 国产亚洲高清视频 | 国产亚洲资源 | 天天天操天天天干 | 国产免费又黄又爽 | 亚洲在线a| 国产精品高 | 中文字幕视频在线播放 | 激情深爱五月 | 欧美一级性生活 | av看片在线观看 | www.亚洲精品 | 99久久婷婷国产综合亚洲 | 婷婷色视频 | 国产一区私人高清影院 | 亚洲黄色在线播放 | 99热这里是精品 | 一区二区激情视频 | 韩日精品在线 | 在线国产精品视频 | 亚州人成在线播放 | 国产视频亚洲精品 | 高清在线一区二区 | 欧美日韩精品在线观看视频 | 999成人 | 九九九九精品九九九九 | 91亚洲精品久久久蜜桃借种 | 亚洲毛片一区二区三区 | 色噜噜在线观看视频 | 国产视频亚洲视频 | 国产精品久久久免费 | 九九视频在线观看视频6 | 国产精品网在线观看 | 二区三区精品 | 国产69精品久久99的直播节目 | 欧美在线一 | 91香蕉视频污在线 | 网站在线观看你们懂的 | 草久久久久久久 | 国产精品免费人成网站 | 久久久国产精品视频 | 国产精品精品国产色婷婷 | 精品国产一区二区三区四区在线观看 | 国产精品久久久av久久久 | 在线国产高清 | 黄色小网站在线观看 | 久草视频播放 | 91久久久久久国产精品 | 精品日韩在线 | 久久国产日韩 | 五月的婷婷| 黄色中文字幕 | 日韩欧美综合精品 | 久久亚洲福利 | 免费三级骚 | 99精品视频在线播放免费 | 国产亚洲成人网 | 在线免费国产 | 亚洲精品人人 | 最新av网站在线观看 | 成人av在线资源 | 91精品国产麻豆国产自产影视 | 在线观看亚洲免费视频 | 国产精品成人在线观看 | 69人人| 亚洲最大av网站 | 久久免费精品一区二区三区 | 国产最新91 | 日日躁夜夜躁aaaaxxxx | 精品一区二区日韩 | 久久久综合 | 午夜精品视频免费在线观看 | 国产精品黄色影片导航在线观看 | 友田真希av | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 欧洲av不卡| 激情伊人 | 国产免费视频在线 | 亚洲蜜桃av| 天天天天色综合 | 国产免费黄视频在线观看 | 日本特黄一级片 | 亚洲在线网址 | 亚洲欧美经典 | 国产精品网址在线观看 | 天堂在线一区 | 麻豆一精品传二传媒短视频 | 五月天国产精品 | 麻豆免费观看视频 | 狠狠干狠狠艹 | 亚洲欧美激情精品一区二区 | 中文视频在线看 | 亚洲欧美国产视频 | 国产区精品区 | 三级黄色在线 | 色干干 | 日本成址在线观看 | 99久久精品免费看国产一区二区三区 | 超碰97国产在线 | 成人av在线网| 超碰97国产| 国产精彩在线视频 | 91福利免费| 国产色久| 欧美激情视频在线观看免费 | 麻豆一区二区 | 久久精品免费 | 天堂av在线免费观看 | 中文字幕av一区二区三区四区 | 一级性视频 | 午夜.dj高清免费观看视频 | 日韩精品视频网站 | 天天综合区 | 成年人视频在线免费播放 | 91精品黄色 | 亚洲欧美在线视频免费 | 99久久久久久国产精品 | 欧美99热| 这里只有精品视频在线 | 精品国产a| 国产在线播放一区二区三区 | 我爱av激情网 | 亚洲最大av网站 | 久久精品亚洲 | 免费的国产精品 | 麻豆影视网 | 美女视频黄是免费的 | 色噜噜日韩精品一区二区三区视频 | 91精品在线观看入口 | 亚洲精品国产高清 | 国产只有精品 | 一区二区三区动漫 | 国产免费久久久久 | 深夜国产福利 | a天堂在线看 | 午夜男人影院 | 中文字幕在线观看日本 | 91中文在线| 精品一区 在线 | 午夜精品久久久久久久99水蜜桃 | 久久1电影院| 中文字幕在线日本 | 精品日韩中文字幕 | 国产精品久久久久一区二区三区共 | 欧美色噜噜 | 欧美日韩免费看 | 免费看久久久 | 99国产成+人+综合+亚洲 欧美 | 激情婷婷久久 | 精品美女久久久久久免费 | 婷婷5月色 | 久久视精品 | 国产拍揄自揄精品视频麻豆 | 国产精品国产亚洲精品看不卡15 | 四虎在线影视 | 成人黄色片免费看 | 国产午夜精品久久久久久久久久 | 日韩电影中文字幕 | 97超碰精品 | 成人黄色电影在线播放 | 国产欧美中文字幕 | 国产精品自产拍在线观看网站 | 欧美最猛性xxxxx(亚洲精品) | 国产精品精品国产 | 亚洲精品影院在线观看 | 最近高清中文在线字幕在线观看 | 在线国产视频观看 | 超碰在线天天 | 最近中文字幕大全 | 成人免费视频免费观看 | 九九九热精品免费视频观看 | 日本一区二区三区视频在线播放 | 日日爱影视 | 日韩一区二区三区视频在线 | 久久精品影片 | 黄色av大片| 国产玖玖精品视频 | 久久国产精品一二三区 | 激情网色 | 色播五月激情五月 | 久久久久人人 | 91黄色在线看 | 日本久久中文字幕 | 中文字幕av全部资源www中文字幕在线观看 | 日韩欧美高清在线观看 | 国产96在线视频 | 国产 在线观看 | 91中文在线视频 | 午夜aaaa | 91精品视频在线免费观看 | 久草在线免 | 少妇按摩av| 视频精品一区二区三区 | www色网站 | 91在线看视频 | 中文在线字幕免费观看 | 欧美有色 | 国产成人精品一区二区三区福利 | 亚州激情视频 | 久久成人高清视频 | 日产乱码一二三区别免费 | 中文字幕在线网址 | 天天操福利视频 | 干干夜夜 | 国产免费一区二区三区最新6 | 一区二区三区 中文字幕 | 日韩有码第一页 | 国产精品一区二区久久精品爱微奶 | 久久久久国产精品免费免费搜索 | 亚洲激情六月 | 蜜臀av性久久久久av蜜臀三区 | 欧美性生活大片 | 亚洲黄色免费观看 | 国产69久久 | 久99久视频 | 免费视频成人 | 人人精久 | 91成人网在线 | 久久久久久久久久伊人 | 99精品国产一区二区三区不卡 | 久久久国产精品人人片99精片欧美一 | 欧美 日韩 成人 | 国产精品黄色av | 国产一级免费在线观看 | 麻豆视频在线播放 | 香蕉在线观看视频 | 日韩在线高清免费视频 | av色图天堂网 | 国产精品欧美日韩在线观看 | 91视频免费 | 99久久爱| av导航福利 | 最新国产在线视频 | 亚洲春色成人 | 国产一区免费在线 | 欧美激情在线看 | 亚洲人成在线电影 | 精品色综合 | 久久欧美综合 | 日韩电影一区二区三区 | 亚洲视屏 | 天天爱天天射 | 国产亚洲精品中文字幕 | 国产精品精品国产色婷婷 | 久久精品999 | 一区二区三区日韩精品 | 日韩视频免费在线观看 | 激情网综合 | 干干干操操操 | 国产高清 不卡 | 免费视频91 | 亚洲jizzjizz日本少妇 | 国产精品久久久网站 | 日韩久久久久久 | 91大神电影 | 亚洲一区网 | 黄色片网站大全 | 日韩中文字幕免费在线观看 | 五月天激情视频 | 欧美激情第一页xxx 午夜性福利 | 日韩视频在线观看视频 | 成年人看片 | 久草在| 极品嫩模被强到高潮呻吟91 | 日韩欧美在线观看一区 | 欧美另类老妇 | 999久久久免费视频 午夜国产在线观看 | 欧美精品一区在线 | 99精品在线视频播放 | 成人h动漫精品一区二 | 色妞久久福利网 | 激情久久久 | 中文视频一区二区 | 精品国产色 | 精品久久久久久久久久国产 | 亚洲国产成人精品久久 | 五月婷婷,六月丁香 | 国产91区 | 久久久久中文 | 激情欧美日韩一区二区 | 五月天电影免费在线观看一区 | 中文字幕第 | 午夜精品福利一区二区 | 又黄又爽又刺激视频 | 欧洲亚洲精品 | 色播五月激情五月 | 欧美a√在线 | 欧美激情综合五月 | www.色午夜| 国内精品视频在线 | 欧美孕交vivoestv另类 | 亚洲资源一区 | 人成电影网 | 精品极品在线 | 国产精品不卡一区 | 欧美色久 | 人人看97 | 伊人久久av | 在线黄色观看 | 色综合久久久久网 | 韩国av在线 | 欧美性脚交 | 精品99免费视频 | 日韩最新在线 | 狠狠狠综合 | 人人天天夜夜 | 久久久久久久久久久久久国产精品 | 亚洲成人999| 精品产品国产在线不卡 | 久久精品在线 | 日日操天天操狠狠操 | 成人一级影视 | 免费看一级一片 | 免费国产一区二区视频 | 国产在线视频一区二区三区 | 久久96国产精品久久99漫画 | 综合久久综合久久 | 国产精品久久久久久久久久尿 | 日韩在线观看小视频 | 亚洲乱码精品久久久久 | 亚洲精品视频免费观看 | 亚洲精品在线一区二区三区 | 国产视频2 | 四虎www.| 亚洲高清激情 | 视频在线在亚洲 | 91在线免费视频观看 | 91精品国产自产在线观看 | 国内外成人免费在线视频 | 蜜桃av久久久亚洲精品 | 午夜精品福利一区二区三区蜜桃 | 成人午夜影视 | 久久久性| 91在线小视频 | 成人全视频免费观看在线看 | 三级av在线 | 欧美在线视频一区二区 | 国产成人一区二区三区久久精品 | 91视频链接| 欧美一区免费在线观看 | 丁香六月婷婷激情 | 日韩av在线看 | 国产黄色片一级三级 | 欧美午夜a| 国产视频在线免费 | 国产精品女人久久久 | 亚洲精品成人网 | 亚洲精品久久久久58 | 美女免费视频网站 | 综合网天天| 久久ww| 91爱爱免费观看 | 国产精品综合久久久 | 久亚洲 | 亚洲天堂色婷婷 | 亚洲一区二区三区四区在线视频 | 国产一区二区在线免费观看 | 久久综合狠狠综合久久狠狠色综合 | 国产一级在线免费观看 | 九九久久久 | a级国产片 | 久久久久久高潮国产精品视 | www.狠狠干| 中文字幕一区二区三区四区 | 亚洲午夜久久久久 | 人人干人人干人人干 | 97在线免费观看 | 日韩欧美成 | 亚洲精品免费在线观看视频 | 深爱激情五月婷婷 | 狠狠色噜噜狠狠狠狠2021天天 | 人人插人人做 | 国产成人av电影在线观看 | 在线视频 精品 | 日韩av一区二区在线影视 | 亚洲视频免费在线看 | 日本三级香港三级人妇99 | 91女人18片女毛片60分钟 | 国产精品岛国久久久久久久久红粉 | 99久久99热这里只有精品 | 国产小视频免费在线观看 | 国产 中文 日韩 欧美 | 国产精品免费看久久久8精臀av | 96精品视频 | 日韩在线观看 | 一区二区三区在线电影 | 国产96在线视频 | 欧美性极品xxxx做受 | 开心色插 | 在线观看国产区 | 国产精品久久久久久久免费 | 精品a级片 | 亚洲成人精品av | 中文字幕在线看视频国产中文版 | 国产精品久久久久久久久久白浆 | 久久免视频| 69国产盗摄一区二区三区五区 | av色网站| 高清不卡毛片 | 日韩在线观看中文 | 免费a级大片 | 日韩精品无码一区二区三区 | 在线小视频你懂的 | 一区二区三区免费网站 | 成人观看视频 | 在线看片成人 | 亚洲码国产日韩欧美高潮在线播放 | 亚洲高清在线精品 | av成人免费网站 | 日韩簧片在线观看 | 在线观看91精品国产网站 | 又黄又刺激视频 | 亚洲综合欧美精品电影 | 成人黄色毛片 |