基于SAA6752的MPEG-2的編碼系統(tǒng) 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢(xún) 收藏 摘要:介紹了PHILIPS公司的第二代實(shí)時(shí)MPEG-2編碼芯片SAA6752的主要功能及性能特點(diǎn),提出了一種基于SAA6752的MPEG-2編碼系統(tǒng),并且對(duì)該編碼系統(tǒng)的硬件框圖和軟件編程進(jìn)行了簡(jiǎn)要說(shuō)明。關(guān)鍵詞:SAA6752 MPEG-2編碼系統(tǒng) 數(shù)字電視世界范圍內(nèi)得到了非常迅速的發(fā)展,電視廣播的全部流程,即從節(jié)目的提攝、制作、傳輸?shù)讲宄龅日谥鸩綄?shí)現(xiàn)數(shù)字化。MPEG視頻/音頻壓縮標(biāo)準(zhǔn)的出現(xiàn),解決了電視信號(hào)數(shù)字化后信息量過(guò)大而信道帶寬有限的問(wèn)題;數(shù)字視頻硬件產(chǎn)品的不斷進(jìn)步,促進(jìn)了各種數(shù)字視頻產(chǎn)品的推出,給觀眾帶來(lái)了高品質(zhì)的畫(huà)面和音響效果。這一切,都預(yù)示著電視廣播全面步入了數(shù)字化的時(shí)代。 目前世界上的數(shù)字電視系統(tǒng)標(biāo)準(zhǔn)有歐洲的DVB系統(tǒng)、美國(guó)的ATSC系統(tǒng)和日本的ISDB系統(tǒng)。這幾種系統(tǒng)在視頻壓縮上都采用MPEG-2標(biāo)準(zhǔn)[2],我國(guó)也正在積極地制定自己的數(shù)字電視標(biāo)準(zhǔn)。本文將介紹PHILIPS公司生產(chǎn)的芯片SAA6752,它能在開(kāi)發(fā)歐洲D(zhuǎn)VB標(biāo)準(zhǔn)常規(guī)數(shù)字電視和DVD的前端系統(tǒng)的產(chǎn)品過(guò)程中,實(shí)現(xiàn)MPEG-2編碼。 1 SAA6752的主要特點(diǎn) SAA6752又稱(chēng)為EMPRESS,是PHILIPS公司第二代實(shí)時(shí)MPEG-2編碼芯片。它將音頻、視頻編碼和復(fù)用集成在一個(gè)芯片中,具有很強(qiáng)的功能,外部只需加入簡(jiǎn)單的相關(guān)芯片就能實(shí)現(xiàn)整個(gè)編碼系統(tǒng),從而降低系統(tǒng)成本。同時(shí),所有的視頻、音頻壓縮算法都運(yùn)行在EMPRESS的內(nèi)部MIPS處理器上,編碼軟件都已固化在芯片中,無(wú)需額外的軟件開(kāi)發(fā),系統(tǒng)主控芯片通過(guò)I2C總線就可以設(shè)定必要的編碼參數(shù)。此外,由于它較好地解決了視頻編碼中的主要問(wèn)題——噪音過(guò)濾和運(yùn)動(dòng)預(yù)測(cè),所以可以在低碼率情況下實(shí)現(xiàn)高品質(zhì)視頻編碼,從而達(dá)到在存儲(chǔ)介質(zhì)上可以存儲(chǔ)更多視頻和音頻信息的目的。 該芯片主要提供以下功能[1]: (1)視頻壓縮 %26;#183;實(shí)時(shí)MPEG-2編碼(符合MP@ML) %26;#183;支持分辨率:D1、2/3D1、1/2D1和SIF %26;#183;在所有模式下支持IPB、IP和I幀編碼 %26;#183;支持的碼率:1.5~25Mbps(對(duì)于只有I幀編碼) 1.5~15Mbps(對(duì)于只有IP幀編碼) 1.5~15Mbps(對(duì)于只有IPB幀編碼) %26;#183;支持CBR(Constant Bi Rate)和VBR(Variable Bit Rate) %26;#183;具有可編程的GOP(Grup of Picture)結(jié)構(gòu) (2)音頻壓縮 %26;#183;AC-3音頻編碼:碼率為256kbps或385kbps %26;#183;MPEG-1 Layer2音頻編碼(16或20位):碼率為256kbps或384kbps (3)系統(tǒng)復(fù)用 %26;#183;符合MPEG系統(tǒng)標(biāo)準(zhǔn)(ISO 13818-1)的視頻和音頻流的復(fù)用 %26;#183;產(chǎn)生和輸出符合DVD、D-VHS和DVB標(biāo)準(zhǔn)的MPEG-2傳輸流(TS)、MPEG-2節(jié)目流(PS)、打包的基本流(PES)和基本流(ES) %26;#183;產(chǎn)生和插入MPEG時(shí)間標(biāo)記(PTS/DTS/SCR/PCR)2 基于SAA6752的MPEG-2編碼系統(tǒng) 2.1 系統(tǒng)框圖 因?yàn)镾AA6752沒(méi)有片內(nèi)CPU,為了實(shí)現(xiàn)編碼功能,所以必須由一個(gè)片外CPU對(duì)其進(jìn)行控制。而對(duì)SAA6752的所有控制(例如碼率控制、PS流和TS流輸出等)均是通過(guò)I2C總線[3]完成的,因而非常簡(jiǎn)單。圖1給出了基于SAA6752的MPEG-2編碼系統(tǒng)的方框圖。 該編碼系統(tǒng)主要分為視頻輸入部分、音頻輸入/輸出部分、EMPRESS部分、復(fù)位部分、輸出接口、電源部分以及I2C和UART接口。 2.1.1 視頻輸入部分 視頻輸入部分提供兩路模擬輸入接口,一路為CVBS信號(hào),另一路為YC信號(hào)。該部分可以由PHILIPS SAA7114完成,對(duì)其所有的控制均通過(guò)I2C總線完成。 2.1.2 音頻輸入/輸出部分 由于EMPRESS提供了音頻I2S接口,該部分主要完成模擬擬音頻轉(zhuǎn)換為數(shù)字音頻12S信號(hào)的功能。 2.1.3 EMPRESS部分 由于SAA6752采用多個(gè)處理器模塊,各個(gè)處理器和控制模塊之間相互獨(dú)立,所以模塊之間的數(shù)據(jù)傳送主要通過(guò)FIFO存儲(chǔ)器或外部SDRAM來(lái)實(shí)現(xiàn)。該系統(tǒng)采用16Mbit或64Mbit SDRAM。EMPRESS SAA6752可以產(chǎn)生打包的基本流,其碼流可以根據(jù)不同的應(yīng)用進(jìn)行設(shè)定,一種是對(duì)應(yīng)于DVD格式的PES流,其碼詣可變的;另一種是對(duì)應(yīng)于TS的PES流,其碼率是恒定的。 2.1.4 復(fù)位部分 該系統(tǒng)提供兩種復(fù)位方式:一種是硬復(fù)位;另一種是利用I2C控制軟件實(shí)現(xiàn)軟復(fù)位。 2.1.5 輸出接口部分 該系統(tǒng)提供兩種TS并行輸出接口:一種是TTL接口;另一種是標(biāo)準(zhǔn)LVDS接口。 2.2 軟件編程 為了控制EMPRESS的編碼,I2C接口線被用來(lái)將該系統(tǒng)與計(jì)算機(jī)相連以實(shí)現(xiàn)計(jì)算機(jī)控制EMPRESS芯片的目的,同時(shí)初始化SAA7114。所有的相關(guān)操作均是通過(guò)I2C總線訪問(wèn)寄存器實(shí)現(xiàn)的。在I2C控制軟件中,需要確定EMPRESS和SAA7114的I2C讀寫(xiě)地址。 EMPRESS的I2C讀寫(xiě)地址: (1)當(dāng)EMPRESS的I2C選擇信號(hào)為低時(shí),其I2C寫(xiě)地址為40H,讀地址為41H。 (2)當(dāng)EMPRESS的I2C選擇信號(hào)為高時(shí),其I2C寫(xiě)地址為42H,讀地址為43H。 SAA7114的I2C讀寫(xiě)地址: (1)當(dāng)SAA7114的I2C選擇信號(hào)為低時(shí),其I2C寫(xiě)地址為40H,讀地址為41H。 (2)當(dāng)SAA7114的I2C選擇信號(hào)為高時(shí),其I2C寫(xiě)地址為42H,讀地址為43H。 為了防止EMPRESST和SAA7114的I2C地址發(fā)生沖突,將EMPRESS的I2C選擇信號(hào)設(shè)置為低電平,則EMPRESS的I2C寫(xiě)地址定義為40H;將SAA7114的I2C選擇信號(hào)設(shè)置為高電平,則SAA7114的I2C寫(xiě)地址定義為42H。 控制軟件應(yīng)實(shí)現(xiàn)以下的I2C接口函數(shù): (1)Void I2C_Read_One_Byte(int address,int subaddress,int value) 該函數(shù)主要實(shí)現(xiàn)對(duì)給定寄存器一個(gè)字節(jié)的讀取,address確定需要訪問(wèn)的芯片,subaddress確定需要訪問(wèn)的寄存器,value為返回寄存器值。 (2)I2C_Write_One_Byte(int address,int subaddress,int value) 該函數(shù)主要實(shí)現(xiàn)對(duì)給定寄存器一個(gè)字節(jié)的寫(xiě)入,address確定需要訪問(wèn)的芯片,subaddress確定需要訪問(wèn)的寄存器,value為要寫(xiě)入寄存器值。 (3)I2C_Read_Muiti_Bytes(int address,int subaddress,int count,int *buffer) 該函數(shù)主要實(shí)現(xiàn)對(duì)給定寄存器多個(gè)字節(jié)的讀取,address確定需要訪問(wèn)的芯片,subaddress確定需要訪問(wèn)的寄存器,buffer為返回多個(gè)寄存器值。 (4)I2C_Write_Multi_Bytes(int address,int subaddress,int count,int *buffer) 該函數(shù)主要實(shí)現(xiàn)對(duì)給定寄存器多個(gè)字節(jié)的寫(xiě)入,address確定需要訪問(wèn)的芯片,subaddress確定需要訪問(wèn)的寄存器,buffer為要寫(xiě)入多個(gè)寄存器值。 通過(guò)調(diào)用這些函數(shù),就可由I2C接口為EMPRESS和SAA7114的片內(nèi)寄存器進(jìn)行設(shè)置。 使用I2C控制軟件,可以任意修改參數(shù)(PID、碼率等)產(chǎn)生和輸出所需要的TS、PS、PES、ES流。在設(shè)定輸出碼率為5~9Mbit/s時(shí),可以得到較高品質(zhì)的視頻圖像。 SAA6752采用噪聲過(guò)濾和運(yùn)動(dòng)估計(jì)技術(shù),使得基于SAA6752的MPEG-2編碼系統(tǒng)在低碼率壓縮情況下,對(duì)于有干擾的輸入信號(hào)仍能提供高質(zhì)量編碼效果。這特別適合于以較低碼率壓縮的作用,例如DVD視頻刻錄和個(gè)人視頻刻錄(Personal Video Recording)。 在保證高編碼質(zhì)量的同時(shí),基于SAA6752的MPEG-2編碼系統(tǒng)設(shè)計(jì)非常簡(jiǎn)單,易于實(shí)現(xiàn)。當(dāng)使用該芯片設(shè)計(jì)MPEG-2編碼系統(tǒng)時(shí),只需在外圍添加視頻模/數(shù)轉(zhuǎn)換芯片、音頻模/數(shù)轉(zhuǎn)換芯片和外部SDRAM,普通的模擬視頻和音頻信號(hào)就可以被壓縮成高質(zhì)量的MPEG-2視頻流和MPEG-1 layer2或AC-3音頻流,復(fù)用成為PS或TS,提供給存儲(chǔ)或廣播媒介。由于所有的視頻和音頻編碼算法和軟件都是運(yùn)行在片內(nèi)處理器中,因而只需較少的系統(tǒng)控制資源。而主控芯片只要通過(guò)I2C總線設(shè)置編碼參數(shù)即可,無(wú)需用戶(hù)具有較多的MPEG編碼經(jīng)驗(yàn)或投入過(guò)多的設(shè)計(jì)成本,縮短了設(shè)計(jì)周期。 因此,用SAA6752設(shè)計(jì)低成本高品質(zhì)的編碼系統(tǒng),可以被廣泛應(yīng)用于新的消費(fèi)類(lèi)數(shù)字視頻產(chǎn)品中。
評(píng)論