基于SAA6752的MPEG-2的編碼系統
2 基于SAA6752的MPEG-2編碼系統 2.1 系統框圖 因為SAA6752沒有片內CPU,為了實現編碼功能,所以必須由一個片外CPU對其進行控制。而對SAA6752的所有控制(例如碼率控制、PS流和TS流輸出等)均是通過I2C總線[3]完成的,因而非常簡單。圖1給出了基于SAA6752的MPEG-2編碼系統的方框圖。 該編碼系統主要分為視頻輸入部分、音頻輸入/輸出部分、EMPRESS部分、復位部分、輸出接口、電源部分以及I2C和UART接口。 2.1.1 視頻輸入部分 視頻輸入部分提供兩路模擬輸入接口,一路為CVBS信號,另一路為YC信號。該部分可以由PHILIPS SAA7114完成,對其所有的控制均通過I2C總線完成。 2.1.2 音頻輸入/輸出部分 由于EMPRESS提供了音頻I2S接口,該部分主要完成模擬擬音頻轉換為數字音頻12S信號的功能。 2.1.3 EMPRESS部分 由于SAA6752采用多個處理器模塊,各個處理器和控制模塊之間相互獨立,所以模塊之間的數據傳送主要通過FIFO存儲器或外部SDRAM來實現。該系統采用16Mbit或64Mbit SDRAM。EMPRESS SAA6752可以產生打包的基本流,其碼流可以根據不同的應用進行設定,一種是對應于DVD格式的PES流,其碼詣可變的;另一種是對應于TS的PES流,其碼率是恒定的。 2.1.4 復位部分 該系統提供兩種復位方式:一種是硬復位;另一種是利用I2C控制軟件實現軟復位。 2.1.5 輸出接口部分 該系統提供兩種TS并行輸出接口:一種是TTL接口;另一種是標準LVDS接口。 2.2 軟件編程 為了控制EMPRESS的編碼,I2C接口線被用來將該系統與計算機相連以實現計算機控制EMPRESS芯片的目的,同時初始化SAA7114。所有的相關操作均是通過I2C總線訪問寄存器實現的。在I2C控制軟件中,需要確定EMPRESS和SAA7114的I2C讀寫地址。 EMPRESS的I2C讀寫地址: (1)當EMPRESS的I2C選擇信號為低時,其I2C寫地址為40H,讀地址為41H。 (2)當EMPRESS的I2C選擇信號為高時,其I2C寫地址為42H,讀地址為43H。 SAA7114的I2C讀寫地址: (1)當SAA7114的I2C選擇信號為低時,其I2C寫地址為40H,讀地址為41H。 (2)當SAA7114的I2C選擇信號為高時,其I2C寫地址為42H,讀地址為43H。 為了防止EMPRESST和SAA7114的I2C地址發生沖突,將EMPRESS的I2C選擇信號設置為低電平,則EMPRESS的I2C寫地址定義為40H;將SAA7114的I2C選擇信號設置為高電平,則SAA7114的I2C寫地址定義為42H。 控制軟件應實現以下的I2C接口函數: (1)Void I2C_Read_One_Byte(int address,int subaddress,int value) 該函數主要實現對給定寄存器一個字節的讀取,address確定需要訪問的芯片,subaddress確定需要訪問的寄存器,value為返回寄存器值。 (2)I2C_Write_One_Byte(int address,int subaddress,int value) 該函數主要實現對給定寄存器一個字節的寫入,address確定需要訪問的芯片,subaddress確定需要訪問的寄存器,value為要寫入寄存器值。 (3)I2C_Read_Muiti_Bytes(int address,int subaddress,int count,int *buffer) 該函數主要實現對給定寄存器多個字節的讀取,address確定需要訪問的芯片,subaddress確定需要訪問的寄存器,buffer為返回多個寄存器值。 (4)I2C_Write_Multi_Bytes(int address,int subaddress,int count,int *buffer) 該函數主要實現對給定寄存器多個字節的寫入,address確定需要訪問的芯片,subaddress確定需要訪問的寄存器,buffer為要寫入多個寄存器值。 通過調用這些函數,就可由I2C接口為EMPRESS和SAA7114的片內寄存器進行設置。 使用I2C控制軟件,可以任意修改參數(PID、碼率等)產生和輸出所需要的TS、PS、PES、ES流。在設定輸出碼率為5~9Mbit/s時,可以得到較高品質的視頻圖像。 SAA6752采用噪聲過濾和運動估計技術,使得基于SAA6752的MPEG-2編碼系統在低碼率壓縮情況下,對于有干擾的輸入信號仍能提供高質量編碼效果。這特別適合于以較低碼率壓縮的作用,例如DVD視頻刻錄和個人視頻刻錄(Personal Video Recording)。 在保證高編碼質量的同時,基于SAA6752的MPEG-2編碼系統設計非常簡單,易于實現。當使用該芯片設計MPEG-2編碼系統時,只需在外圍添加視頻模/數轉換芯片、音頻模/數轉換芯片和外部SDRAM,普通的模擬視頻和音頻信號就可以被壓縮成高質量的MPEG-2視頻流和MPEG-1 layer2或AC-3音頻流,復用成為PS或TS,提供給存儲或廣播媒介。由于所有的視頻和音頻編碼算法和軟件都是運行在片內處理器中,因而只需較少的系統控制資源。而主控芯片只要通過I2C總線設置編碼參數即可,無需用戶具有較多的MPEG編碼經驗或投入過多的設計成本,縮短了設計周期。 因此,用SAA6752設計低成本高品質的編碼系統,可以被廣泛應用于新的消費類數字視頻產品中。












評論