摘? 要: 概述了多媒體處理芯片" title="處理芯片">處理芯片SAA7146A的主要特點,描述了其內部的主要結構和關鍵功能,介紹了其在視頻音頻處理領域的開發應用,并給出了在視頻圖像多媒體中的相應實例。
關鍵詞: 多媒體? PCI總線? 信號處理? 圖像采集
?
現在,基于PC機的多媒體應用越來越廣泛,各種視頻、音頻信號處理技術日新月異。其中的關鍵技術之一就是計算機與各種外圍多媒體器件的接口問題。PC機可供選擇的總線接口基本上有ISA、PCI、USB三種。其中,ISA總線傳輸率" title="傳輸率">傳輸率很低,只有8MB/s,基本上已被淘汰;USB接口雖然對用戶來說使用很方便,但它的數據傳輸率也不夠高,USB1.1版的數據傳輸率只有12MB/s。由于多媒體信號中的視頻信號的實時處理對數據傳輸率要求很高,較高質量的彩色圖像一般要求在30MB/s以上。因此,具有33.3MHz主頻的32位的數據傳輸率可達132MB/s,而64位的數據傳輸率高達264MB/s的PCI總線便在多媒體尤其是視頻圖像領域獲得了廣泛的應用。在眾多的PCI接口控制芯片中,Philips公司的SAA7146A不僅具有符合PCI協議的控制電路,還集成了功能強大的高性能視頻和音頻等多媒體處理電路,能夠與眾多的視頻編碼器及解碼器、壓縮及解壓縮等視頻芯片和音頻采樣與處理芯片以及其它數字信號處理芯片進行無縫連接" title="無縫連接">無縫連接,完成它們與計算機機PCI總線的數據通信,為視頻桌面系統、圖像、聲音等多媒體的應用帶來極大方便。
1 SAA7146A的主要特點
1.1 視頻處理
(1)支持幀緩沖器與系統虛擬內存之間全尺寸、全速度的視頻傳送,可為任何一款相應的PCI外圍器件提供多種處理方式;(2)支持全帶寬的PCI讀寫操作(最高可達132MB/s);(3)支持虛擬內存(每個DMA通道有4MB);(4)每幀最大" title="最大">最大可處理4095行,每行最大可處理4095個采樣點;(5)具有針對視頻電話和視頻會議應用的圖像鏡像功能;(6)具有視頻圖像翻轉功能;(7)內置亮度、對比度、飽和度控制電路;(8)設置了寄存器編程序列器(RPS),能夠對內部寄存器進行編程控制,可以同時處理兩路異步數據流;(9)內置存儲器管理單元電路(MMU),可支持Windows、Unix等系統的虛擬頁模式存儲器管理功能;(10)具有針對幀緩沖器的矩形裁剪功能,以減少PCI總線負載;
1.2 音頻處理
(1)具有時間片序列處理功能,能夠同時在兩個異步雙向數字音頻接口上實現最大256bit的音頻幀的復雜控制;(2)多種同步模式支持I2S和其它音頻及DSP數據格式;(3)具有音頻輸入級監控功能,可通過軟件實現峰值控制;(4)具有可編程的位時鐘產生電路,從而可支持主動式和從動式兩種應用。
1.3 縮放處理
(1)可對視頻圖像進行隨機縮放,垂直方向可達1:1024,水平方向可達1:256;(2)內置高性能定標器單元(HPS),可提供兩維的數據處理功能,具有相位糾正功能,可改善縮放視頻數據的信號質量,特別適用于圖像壓縮方面的應用;(3)內置的二進制比率定標器單元(BRS)支持CIF和QCIF格式,特別適用于視頻電話和視頻會議。
2 SAA7146A的內部結構及功能
圖1所示為SAA7146A的內部原理框圖,包含了眾多接口,可為視頻、音頻等多媒體數據的傳輸和處理提供廣泛的應用。
?
?
2.1 視頻傳輸及處理
雙D1(8位,CCIR-656)視頻I/O端口可以連接諸如SAA7110和SAA7111A等數字視頻解碼器芯片、SAA7185B等數字視頻編碼器芯片,還能連接視頻壓縮芯片或者是兼容D1(CCIR656)的外部數字相機等。
雙D1視頻I/O端口也可以結合起來并行使用,變成兼容DMSD2的并行16位YUV視頻總線端口,可直接與SAA7110和SAA7111A無縫連接,非常方便。
對視頻信號,SAA7146A設置了兩個處理功能單元。一個是高性能定標器(HPS),可以對視頻信號進行定標、縮放處理,還集成了亮度、對比度、飽和度控制。HPS提供了多種RGB和YUV的數據輸出格式,用戶可以根據需要進行調整。另一個是二進制比率定標器(BRS),它可以將HPS旁路,在實時視頻接口和PCI接口之間提供第二條通道;可以將全尺寸的視頻信號變換成CIF、QCIF或者QQCIF格式信號,反之亦然。
2.2 音頻傳輸及處理
SAA7146A提供了5個數字音頻I/O端口,可以與SAA7360、SAA7366(ADC)、SAA7350和SAA7351(DAC)等音頻采樣處理芯片進行無縫連接,內部設置兩個獨立的接口控制電路,最大可處理2×128bit幀的音頻數據流。
2.3 擴展數據總線接口及I2C總線接口
擴展數據總線接口(DEBI)為外圍多媒體設備提供了8位或者16位的數據傳輸和編程控制功能,可以將外部提供的壓縮MPEG或JPEG數據的集成電路芯片連接到PCI總線,支持立即傳輸和最大可達23MB/s的塊傳輸方式(DMA);
I2C總線接口可以方便地對具有I2C接口的外圍芯片如視頻解碼器SAA7110和SAA7111A、編碼器SAA7185B和SAA7187或者音頻芯片進行通訊和控制。
2.4 PCI總線接口及其控制
符合2.1版的PCI接口電路具有主從功能。對視頻信號的處理提供了三個DMA通道,每個通道設置了128個雙字的FIFO,視頻通道支持典型的如象素、行、場、幀等視頻數據結構;對音頻信號的控制設置了4個DMA通道,每個有24個雙字的FIFO;對擴展數據接口,既能進行單個指令的直接存取(立即模式),也可以通過一個具有32個雙字的FIFO的數據DAM通道進行塊模式的數據流傳輸。
SAA7146A內部還集成了存儲器管理單元(MMU),通過一個用軟件驅動程序設置的存儲在系統內存中的頁表可以將線性地址轉換成物理地址,對每個DAM通道,MMU支持最大4MB的虛擬地址空間。
3 SAA7146A的開發
SAA7146A是基于PCI總線的多媒體接口和控制芯片,眾多的接口能夠連接處理多種多媒體信號。在這些信號中,實時視頻信號的傳輸處理對數據傳輸率的要求最高。而基于PCI總線的SAA7146A除了能處理音頻及其它數據外,還在視頻功能上提供了符合PCI協議的高速傳輸和多種處理能力,使得它在多媒體尤其是在視頻處理領域獲得了廣泛的應用。下面就SAA7146A在視頻處理的應用上給出一個圖像采集處理的開發實例。
??? 圖2所示為一視頻圖像采集處理系統的原理圖,信號來自CCD攝像機。視頻前端解碼器芯片采用SAA7111,它與SAA7146A一樣,都屬于Philips公司開發的視頻處理系列芯片,便于相互通訊和實現無縫連接。傳統的視頻圖像采集處理系統大都要設置視頻存儲器,還要考慮復雜的同步、存儲器讀寫等控制信號的產生和相關邏輯。由于SAA7146A有符合PCI協議的高速數據傳輸率,有和SAA7111兼容的視頻接口和高效的內部處理電路,可以不采用存儲器,只需將解碼器芯片和接口芯片簡單地進行無縫連接就能夠實現實時視頻信號的高速采集和處理,大大簡化了系統的設計。
?
SAA7111是功能強大的可編程視頻輸入處理芯片,它可將攝像機輸出的PAL、NTSC等不同制式的模擬復合全電視信號解碼成亮度、色度信號。輸出的數字視頻信號格式有411YUV(16位)、422YUV(12位)、422YUV或CCIR-656(8位)、565RGB(16位)、888RGB(24位)等可供選擇。此外還提供了象素、時鐘信號、行場等多種同步信號。其所有的可編程功能是通過I2C總線對內部的32個寄存器相應的控制位置相應的數值來完成的,而SAA7146A的I2C接口可以很方便地對其進行編程和控制。由于SAA7146A的實時視頻端口既能當作兩個獨立的D1(8位 CCIR-656)視頻I/O口使用,也能并行地當作一個16位的YUV視頻總線接口使用,每個端口都有自己相應的象素、時鐘、水平和垂直同步信號,因此它支持SAA7111的所有輸出格式,用戶可以通過對SAA7146A內部的視頻端口控制寄存器" title="控制寄存器">控制寄存器和HPS控制寄存器的相應控制位編程進行選擇。只要設置為并行的422的16位YUV信號,就可以將SAA7111的16位VPO總線與SAA7146A的雙D1口直接相連。Y、C信號究竟連接雙端口的哪一個可以通過HPS控制寄存器來進行設置,這里將SAA7111輸出的8位Y信號連接到SAA7146A的D1-A端口。8位C信號連接到D1-B端口,將SAA7111產生的象素信號CREF、時鐘信號LLC2、水平同步信號HS、垂直同步信號VS等控制信息分別連接到SAA7146A用作色度信號端口(這里即為D1-B)的PXQ-B、LLC-B、HS-B、VS-B管腳上以輸入處理422 YUV 16位數字視頻信號所必需的同步、時鐘等控制信號。由于SAA7111的工作模式、控制功能是通過I2C 總線對其內部的寄存器進行編程實現的,因此必須將SAA7111的I2C總線的SDA和SCL信號線與SAA7146A同名的管腳進行連接,然后通過軟件層次對SAA7146A內部的I2C總線控制寄存器進行編程,從而達到通過SAA7146A對SAA7111進行控制的目的。
這樣,通過簡單的無縫連接就完成了一個視頻圖像采集處理系統。余下的工作就是通過軟件完成相關的功能控制和利用SAA7146A內部的兩個視頻處理單元HPS和BRS完成視頻圖像的裁剪、翻轉、捕獲、回放等處理功能,這也只需通過軟件對HPS和BRS控制寄存器進行編程即可實現。
4 SAA7146A的綜合應用
除了在視頻應用領域具有廣泛應用以外,SAA7146A也能夠結合音頻實現多媒體綜合應用。圖3所示為一應用簡例的原理框圖。
?
?
圖中,SAA7360/66將模擬音頻信號進行采樣、A/D變換、編碼后交給SAA7146A,通過PCI局部總線送入計算機進行處理;反過來,SAA7146A也可以將計算機存儲的數字音頻信號通過PCI總線交給SAA7350/7351進行反變換、D/A轉換,轉換成模擬信號后送給揚聲器播放,完成音頻信號的傳輸和處理功能。SAA7111可將PAL、NTSC等不同制式的模擬視頻信號進行采樣,解碼成YUV或其它格式的數字信號,然后交給SAA7146A進行處理,通過PCI總線送給計算機;反過來,SAA7146A也可將計算機的數字視頻信號通過PCI總線交給SAA7185B編碼器進行視頻編碼,變換成模擬視頻信號送給監視器播放,完成視頻信號的傳輸和處理功能;此外,MPEG、JPEG等壓縮/解壓縮芯片可以將原始視頻和音頻信號壓縮后通過SAA7146A送入計算機,將計算機的壓縮信號解壓后送出進行變換和播放。同時,通過I2C 總線,SAA7146A可以方便地通過軟件編程對這些視頻和音頻處理芯片進行控制以完成用戶特定的工作要求。由于SAA7146A有多個獨立的DMA通道分別進行音頻和視頻的處理,內部的工作機制和基于PCI總線的高速數據傳輸率使得它能夠同時完成對音頻和視頻的處理,從而構成一個完善高效的多媒體應用系統。
?
參考文獻
1 PCI Local Bus Specification Revision 2.2. PCI SIG,1998.12
2 SAA7146A Multimedia Bridge,High Performance Scaler and PCI Circuit (SPCI) Data Sheet. Philips, 1998.4
3 SAA7111 Video Input Processor (VIP). Data Sheet. Philips,1998.4
4 肖兒良,紀 爽,盧子峰.可編程視頻輸入處理芯片SAA7111及其在圖像多媒體中的應用.電子技術應用,1999;25(4)
5 何立民. I2C總線應用系統設計.北京:北京航空航天大學出版社,1999