數字電視在世界范圍內得到了非常迅速的發展,電視廣播的全部流程,即從節目的拍攝、制作、傳輸到播出等正在逐步實現數字化。MPEG視頻/音頻壓縮標準的出現,解決了電視信號數字化后信息量過大而信道帶寬有限的問題;數字視頻硬件產品的不斷進步,促進了各種數字視頻產品的推出,給觀眾帶來了高品質的畫面和音響效果。這一切,都預示著電視廣播全面步入了數字化的時代。
目前世界上的數字電視系統標準有歐洲的DVB系統、美國的ATSC系統和日本的ISDB系統。這幾種系統在視頻壓縮上都采用MPEG-2標準[2],我國也正在積極地制定自己的數字電視標準。本文將介紹PHILIPS公司生產的芯片SAA6752,它能在開發歐洲DVB標準常規數字電視和DVD的前端系統的產品過程中,實現MPEG-2編碼。
1 SAA6752的主要特點
SAA6752又稱為EMPRESS, 是PHILIPS公司第二代實時MPEG-2編碼芯片。它將音頻、視頻編碼和復用集成在一個芯片中,具有很強的功能,外部只需加入簡單的相關芯片就能實現整個編碼系統,從而降低系統成本。同時,所有的視頻、音頻壓縮算法都運行在EMPRESS的內部MIPS處理器上,編碼軟件都已固化在芯片中,無需額外的軟件開發,系統主控芯片通過I2C總線就可以設定必要的編碼參數。此外,由于它較好地解決了視頻編碼中的主要問題——噪音過濾和運動預測,所以可以在低碼率情況下實現高品質視頻編碼,從而達到在存儲介質上可以存儲更多視頻和音頻信息的目的。
該芯片主要提供以下功能[1]:
(1)視頻壓縮
?實時MPEG-2編碼 (符合MP@ML)
?支持分辨率: D1、2/3D1、1/2D1和SIF
?在所有模式下支持IPB、IP和I幀編碼
?支持的碼率: 1.5~25Mbps(對于只有I幀編碼)
1.5~15Mbps(對于只有IP幀編碼)
1.5~15Mbps(對于只有IPB幀編碼)
?支持CBR(Constant Bit Rate)和VBR(Variable Bit Rate)
?具有可編程的GOP(Group of PICture)結構
(2)音頻壓縮
?AC-3音頻編碼:碼率為256kbps或384kbps
?MPEG-1 Layer 2音頻編碼(16或20位):碼率為256kbps或384kbps
(3)系統復用
?符合MPEG系統標準(ISO 13818-1)的視頻和音頻流的復用
?產生和輸出符合DVD、D-VHS和DVB標準的MPEG-2傳輸流(TS)、 MPEG-2節目流(PS)、打包的基本流(PES)和基本流(ES)
?產生和插入MPEG時間標記(PTS/DTS/SCR/PCR)
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接口,該部分主要完成模擬音頻轉換為數字音頻I2S信號的功能。
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。
為了防止EMPRESS和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設計低成本高品質的編碼系統,可以被廣泛應用于新的消費類數字視頻產品中。
上一篇:以tps73系列單片機為核心的便攜式電子產品解析方案
下一篇:如何利用單片機從LCD顯示屏上讀出所測得電阻值
推薦閱讀
史海拾趣
隨著Eclipse項目的不斷發展,越來越多的知名公司加入到這一開源社區中,如Oracle、Red Hat等。這些公司不僅為Eclipse貢獻了代碼,還提供了資金支持。Eclipse的功能日益完善,逐漸成為了Java開發領域的佼佼者。同時,Eclipse也支持其他編程語言,如C/C++、Python等,進一步擴大了其用戶群體。
在環保和可持續發展成為全球共識的背景下,FCT electronic公司積極響應這一趨勢,致力于推動綠色環保和可持續發展。公司采用了環保材料和工藝,減少了對環境的污染;同時,FCT electronic公司還加強了廢物回收和資源利用方面的工作,實現了資源的循環利用和節約。這些努力不僅使FCT electronic公司在環保方面取得了顯著成績,也為公司的可持續發展奠定了堅實基礎。
隨著科技的飛速發展,Collins Electronics Corp意識到技術創新是企業持續發展的關鍵。他們投入大量資源進行研發,推出了一系列具有創新技術的電子產品。其中,他們開發的一款新型高頻無線電收發器,因其傳輸速度快、信號穩定而廣受好評。這項技術不僅為公司帶來了可觀的利潤,還推動了整個電子行業的技術進步。
EIC公司一直秉持著環保責任和社會責任感。公司在生產過程中積極采用環保材料和工藝,減少廢棄物排放和能源消耗。同時,EIC還積極參與社會公益活動,為社會做出了積極貢獻。這些舉措不僅提升了公司的社會形象,也為公司的可持續發展奠定了堅實的基礎。
EIC公司自創立之初,就致力于離散半導體技術的研發與創新。在成立初期,公司面臨了技術瓶頸和市場接受度的雙重挑戰。然而,EIC的研發團隊通過不懈努力,成功研發出了一款高性能、低功耗的離散半導體產品,這一技術突破不僅為公司贏得了市場認可,也為后續的產品線擴展奠定了堅實的基礎。隨著技術的不斷進步和產品線的不斷豐富,EIC逐漸在電子行業中樹立起了自己的品牌形象。
隨著汽車智能化的發展,ECT看到了車載連接器市場的巨大潛力。從2013年開始,公司開始布局車載連接器領域,并成功開發出多款適用于不同車型和場景的車載連接器產品。這一拓展不僅為ECT帶來了新的增長點,也進一步鞏固了公司在電子連接器行業的領先地位。
剛才看到一篇好文章,轉帖如下: 看到不少網友都在問怎樣提高自己的能力,我在這里想談一下我自己當年的學習過程。 我學的是計算機系的通訊工程專業,主要的發展方向是做計算機網絡偏軟件這一塊,這點從我的畢業設計課題《賓館客房管理系統》就能看 ...… 查看全部問答∨ |
今天我做了個,用AT89S52做的計算器/并可以顯示電壓電流的開發板.也算是51單片機的高級應用,現在就把電路圖傳一下. 明天去打板玩玩. [ 本帖最后由 青葉漂零 于 2009-3-22 09:16 編輯 ]… 查看全部問答∨ |
// 打開 驅動 hFlashFile = CreateFile(TEXT("COM1:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, 0); 我想請問我如何在com驅動中知道我打開的是COM1,還是其他COM,比如COM2/3 我想在驅動中獲得打開了什么,然后我好根據 ...… 查看全部問答∨ |
|
升級原來單片機的手持設備,用ARM7替換。原來字庫存放在一片AM29F040 FLASH里。 現在用ARM跑,我覺得字不是很多,字比較少,大概200種。想用程序來寫。請教思路。 前提是字模提取的方法不變,只是把存放到FLASH的字庫用 程序來替換。 ...… 查看全部問答∨ |
|
浮點運算一直是通用CPU、DSP和GPU的專長,現在卻越來越多的被FPGA實現,這主要是受醫療成像、無線或者國防設備等需要大動態范圍同時又需要簡化設計的新興應用所拉動,本文介紹了用FPGA實現 ...… 查看全部問答∨ |