摘? 要: 提出了一個(gè)利用小波視頻編解碼專用芯片搭建的視頻壓縮解壓縮卡,對(duì)其硬件實(shí)現(xiàn)做了具體描述。
關(guān)鍵詞: 小波變換? ADV612專用芯片? IIC總線? 視頻采集與壓縮
?
小波變換作為一種信號(hào)分析方法,具有多尺度、多分辨率分析和時(shí)域局部化與頻域局部化等優(yōu)點(diǎn)。小波變換是一種頻率上伸縮自由的變換。當(dāng)信號(hào)帶寬較窄時(shí),它可以通過(guò)縮小的方式使得對(duì)窄帶信號(hào)的刻劃較為精細(xì);當(dāng)信號(hào)帶寬較寬時(shí),它可以通過(guò)放大的方式使描述能夠滿足精度需要。因而小波變換是一種不受帶寬約束的圖像壓縮方法。與傳統(tǒng)的基于DCT變換的編碼方法相比,基于小波變換的圖像編碼是對(duì)整幅圖像進(jìn)行變換,充分利用了圖像整體相關(guān)性并消除了傳統(tǒng)分塊編碼方法帶來(lái)的方塊效應(yīng)。小波級(jí)數(shù)可以在不同分辨率下逼近某一函數(shù),實(shí)現(xiàn)多分辨率分解。多分辨率分解使我們可以在不同的刻畫精度上對(duì)源圖像進(jìn)行逼近,在不同層次上對(duì)原圖像進(jìn)行壓縮,突破了傳統(tǒng)編碼方法的壓縮比限制,從而獲得很高的壓縮比。小波變換的優(yōu)越性能使其在視頻圖像編碼領(lǐng)域得到廣泛應(yīng)用,目前,利用小波變換進(jìn)行圖像編碼的專用芯片已經(jīng)問(wèn)世。
本文介紹ANALOG公司最新推出的小波視頻編解碼專用芯片ADV612,并描述基于ADV612 的視頻壓縮卡的設(shè)計(jì)與實(shí)現(xiàn)。
1 小波視頻編解碼專用芯片ADV612
1.1 ADV612系統(tǒng)功能介紹
ADV612是本文所描述的視頻卡的核心部件,是由ANALOG公司推出的小波視頻編解碼專用芯片。ADV612采用了高密度CMOS集成電路技術(shù),整個(gè)芯片由數(shù)字視頻I/O接口、高清晰取景框控制、小波變換與幀抽取、片內(nèi)SRAM、片內(nèi)DRAM控制器、自適應(yīng)量化器與熵編碼器、FIFO壓縮數(shù)據(jù)緩存與主機(jī)接口等功能模塊搭成,如圖1所示。
?
?
數(shù)字視頻I/O接口支持CCIR601國(guó)際標(biāo)準(zhǔn)格式。編碼時(shí),數(shù)字視頻從數(shù)字視頻接口輸入,經(jīng)幀抽取和小波變換,送入量化器進(jìn)行量化。量化后的數(shù)據(jù)送入熵編碼器,進(jìn)行游程編碼和霍夫曼編碼,產(chǎn)生最后的壓縮數(shù)據(jù)流,送入集成于片內(nèi)的512×32位大小的FIFO緩存。當(dāng)片內(nèi)FIFO的數(shù)據(jù)量達(dá)到主機(jī)的預(yù)設(shè)值時(shí),ADV612發(fā)出中斷,通知主機(jī)取走數(shù)據(jù)。解碼過(guò)程與之相反,壓縮數(shù)據(jù)由主機(jī)送入FIFO,解碼后產(chǎn)生CCIR601格式的數(shù)字視頻數(shù)據(jù),從數(shù)字視頻接口輸出。
1.2 ADV612的特性
1.2.1 高清晰度取景框功能
ADV612支持一種稱為高清晰度取景框的功能。該功能允許一幀中某一矩形區(qū)域相對(duì)于其他區(qū)域(我們稱之為背景)有較低的壓縮比,或完全不進(jìn)行壓縮。矩形區(qū)域的位置和大小以及與背景的對(duì)比度由主機(jī)通過(guò)ADV612的主機(jī)接口輸入控制字來(lái)控制。該功能為用戶在不影響壓縮比的情況下選取某一感興趣的區(qū)域作高清晰度顯示提供了捷徑,從而使整個(gè)系統(tǒng)特別適用于監(jiān)控場(chǎng)合。
1.2.2 精確的碼流控制
ADV612的自適應(yīng)量化器允許主機(jī)控制量化步長(zhǎng)。主機(jī)通過(guò)對(duì)前一幀圖像子帶編碼數(shù)據(jù)的統(tǒng)計(jì)計(jì)算出下一幀的量化步長(zhǎng),在下一幀壓縮開(kāi)始前將其寫入量化步長(zhǎng)寄存器。通過(guò)量化步長(zhǎng)控制,主機(jī)可以獲得穩(wěn)定的壓縮碼流輸出。這對(duì)帶寬有限的網(wǎng)絡(luò)傳輸特別有利,使其不會(huì)因?yàn)閳D像內(nèi)容的劇烈變化而引起壓縮碼流的突變,造成網(wǎng)絡(luò)擁塞。
1.2.3 硬件編碼實(shí)現(xiàn)小波變換
考慮到小波變換龐大的計(jì)算量,ADV612的小波變換模塊采用硬件編碼的方法實(shí)現(xiàn)了以Morlet小波為正交小波基的小波變換和小波逆變換,保證了視頻信號(hào)能夠?qū)崟r(shí)處理。片內(nèi)集成了一片SRAM,用作變換時(shí)的高速數(shù)據(jù)緩存。
1.3 ADV612的主機(jī)接口
為存儲(chǔ)主機(jī)設(shè)定的ADV612編解碼過(guò)程中所需參數(shù)和反映工作狀態(tài),ADV612在片內(nèi)集成了若干控制字寄存器和狀態(tài)寄存器??刂谱旨拇嫫骱蜖顟B(tài)寄存器稱為間接寄存器,ADV612將控制字寄存器和狀態(tài)寄存器統(tǒng)一編址。主機(jī)不能直接訪問(wèn)間接寄存器。
為訪問(wèn)間接寄存器和片內(nèi)FIFO,ADV612設(shè)置了一組可由主機(jī)直接訪問(wèn)的寄存器,稱為直接寄存器。共有四個(gè)32位直接寄存器:間接地址寄存器、間接數(shù)據(jù)寄存器、壓縮數(shù)據(jù)寄存器、中斷控制和狀態(tài)寄存器。間接地址寄存器存放欲訪問(wèn)的間接寄存器的地址;間接數(shù)據(jù)寄存器存放從間接寄存器讀出的或欲寫入間接寄存器的數(shù)據(jù);壓縮數(shù)據(jù)寄存器是片內(nèi)FIFO的映射,讀寫該寄存器就會(huì)將數(shù)據(jù)讀出或?qū)懭隖IFO中;中斷控制和狀態(tài)寄存器的高16位是控制位,設(shè)置引起ADV612向主機(jī)發(fā)出中斷的條件,低16位是狀態(tài)位,反映觸發(fā)當(dāng)前中斷的原因。
ADV612的主機(jī)接口包括:32位數(shù)據(jù)總線(D31~D0)、兩位地址線(ADR1,ADR0)、片選信號(hào)(CS)、讀信號(hào)(RD)、寫信號(hào)(WR)、響應(yīng)信號(hào)(ACK)和中斷輸出(INT)。兩位地址線用來(lái)選擇四個(gè)直接寄存器:
ADR1,ADR0= (0,0)?? 間接地址寄存器
????????????????(0,1)?? 間接數(shù)據(jù)寄存器
????? ?????????(1,0)?? 壓縮數(shù)據(jù)寄存器
????????????????(1,1)?? 中斷控制和狀態(tài)寄存器
ADV612使用響應(yīng)信號(hào)(ACK)通知主機(jī)本次操作成功與否,響應(yīng)信號(hào)拉低表示操作成功,可進(jìn)行下一個(gè)操作。
1.4 ADV612的典型電路
ADV612的典型電路如圖2所示。
?
2 視頻卡的設(shè)計(jì)與實(shí)現(xiàn)
視頻卡由模擬視頻采集量化、視頻壓縮解壓縮、控制信號(hào)發(fā)生、8位到32位復(fù)用、視頻模擬輸出、PCI總線接口等多個(gè)單元模塊構(gòu)成,如圖3所示。
?
2.1 視頻采集量化單元
從視頻輸入插座輸入的全電視信號(hào)首先經(jīng)過(guò)該單元。該單元先對(duì)模擬信號(hào)進(jìn)行嵌位和抗混疊濾波。經(jīng)過(guò)濾波的信號(hào)送A/D轉(zhuǎn)換電路實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,數(shù)字視頻進(jìn)入Y/C分離電路進(jìn)行Y/C分離。分離的Y、UV信號(hào)分別送入亮度控制和色度對(duì)比度控制電路。在亮度控制電路與色度控制電路中,亮度和色度的信號(hào)電平根據(jù)用戶預(yù)設(shè)值得到增強(qiáng)或削弱。經(jīng)過(guò)亮度色度處理過(guò)的Y、U、V信號(hào)在YUV到Y(jié)CrCb的轉(zhuǎn)換電路中轉(zhuǎn)換成國(guó)際標(biāo)準(zhǔn)的CCIR-601的視頻數(shù)據(jù)流輸入到視頻壓縮解壓縮單元。視頻采集量化單元框圖如圖4所示。
?
2.2 視頻模擬輸出單元
進(jìn)入該單元的視頻信號(hào)經(jīng)過(guò)YCrCb到Y(jié)UV轉(zhuǎn)換電路,由YCrCb信號(hào)轉(zhuǎn)化成Y、UV信號(hào)分別輸出。Y信號(hào)進(jìn)入同步電路疊加視頻同步信號(hào),UV信號(hào)進(jìn)入峰值電路加入峰值信號(hào)。加入視頻同步的Y信號(hào)和加入峰值的UV信號(hào)在混合電路混合,YUV數(shù)字視頻經(jīng)過(guò)D/A轉(zhuǎn)換電路轉(zhuǎn)換為模擬全電視信號(hào),從模擬口輸出。視頻模擬輸出單元如圖5所示。
視頻采集量化單元與視頻模擬輸出單元都需要主機(jī)設(shè)定控制字,控制視頻信號(hào)的處理過(guò)程,如亮度、色度電平控制,帶通濾波的頻帶選擇等。視頻采集量化單元與視頻模擬輸出單元的控制字接口均采用IIC總線接口,且兩個(gè)單元都是IIC總線的從設(shè)備。IIC總線是由飛利浦公司開(kāi)發(fā)的串行總線,通過(guò)一根時(shí)鐘線和一根數(shù)據(jù)線,總線上的IIC主設(shè)備就可以與IIC從設(shè)備通信。視頻卡用89C51單片機(jī)的兩個(gè)串口模擬IIC總線的時(shí)鐘線和數(shù)據(jù)線,單片機(jī)的控制信號(hào)由控制發(fā)生電路產(chǎn)生。
2.3 視頻壓縮解壓縮單元
視頻壓縮解壓縮單元由ADV612和一片256K×16Bit的DRAM構(gòu)成,完成數(shù)字視頻的編解碼。ADV612的主機(jī)接口直接掛接在PCI接口單元的用戶總線上。ADV612的片內(nèi)FIFO通過(guò)PCI接口電路映射主機(jī)內(nèi)存地址空間中的一片512×32位大小的連續(xù)內(nèi)存,ADV612的直接寄存器則映射主機(jī)I/O空間的連續(xù)的4個(gè)I/O地址。ADV612所需的RD、WR、CS、ADR1、ADR0均由控制發(fā)生電路產(chǎn)生??刂瓢l(fā)生電路由一片EPLD完成。它翻譯PCI接口單元電路的讀寫、片選、中斷信號(hào),并對(duì)地址信號(hào)進(jìn)行譯碼,產(chǎn)生ADV612所需的片選與讀寫信號(hào)和IIC讀寫控制器89C51所需的讀寫和中斷等控制信號(hào),同時(shí)它將89C51和ADV612的響應(yīng)信號(hào)發(fā)給PCI接口單元電路。視頻壓縮解壓縮單元電路如圖6所示。
?
2.4 復(fù)用單元電路
復(fù)用單元電路由8位到32位數(shù)據(jù)復(fù)用和復(fù)用數(shù)據(jù)緩存兩部分組成,如圖7所示。
復(fù)用單元電路在視頻卡處于解壓縮狀態(tài)時(shí)才開(kāi)始工作。復(fù)用電路由一片EPLD構(gòu)成,它將8位的視頻數(shù)據(jù)在視頻時(shí)鐘的驅(qū)動(dòng)下復(fù)用成為32位寬度的數(shù)據(jù)。復(fù)用的目的是充分利用PCI總線的32位的數(shù)據(jù)總線。復(fù)用后的數(shù)據(jù)寫入作為數(shù)據(jù)緩存的雙口RAM中。雙口RAM的一個(gè)端口由復(fù)用電路控制,復(fù)用電路產(chǎn)生數(shù)據(jù)、地址、片選和寫信號(hào);另一個(gè)端口的地址信號(hào)和讀信號(hào)來(lái)自PCI接口電路。當(dāng)雙口RAM中的數(shù)據(jù)量達(dá)到預(yù)設(shè)值時(shí),EPLD發(fā)出中斷,通知主機(jī)取走雙口RAM中的數(shù)據(jù)。
2.5 PCI接口單元電路
PCI接口單元電路完成PCI總線到板上局部邏輯電路的橋接器的功能。它一方面實(shí)現(xiàn)與PCI總線接口的各種協(xié)議和規(guī)范;另一方面將PCI總線信號(hào)翻譯為對(duì)局部邏輯電路的操作,產(chǎn)生對(duì)局部邏輯的各種控制如中斷、片選、讀寫等,同時(shí)也將局部邏輯的響應(yīng)信號(hào)翻譯為PCI總線的響應(yīng),將中斷信號(hào)轉(zhuǎn)化成為對(duì)PCI總線的中斷,通知主機(jī)局部邏輯電路需要主機(jī)參與操作。
3 壓縮卡的性能
視頻卡能夠工作在編碼和解碼兩種狀態(tài):編碼時(shí)能夠?qū)崟r(shí)采集攝像頭從模擬視頻輸入口輸入的全電視信號(hào),對(duì)模擬視頻信號(hào)進(jìn)行量化和壓縮;解碼時(shí)能夠?qū)崟r(shí)解壓縮主機(jī)送來(lái)的壓縮數(shù)據(jù)流,輸出的數(shù)字視頻信號(hào)可通過(guò)D/A轉(zhuǎn)換成全電視信號(hào)輸出到模擬視頻接口。壓縮卡具有如下性能:用戶可控制高清晰區(qū)域的位置和壓縮程度;精確的碼流控制,輸出壓縮碼率穩(wěn)定;高速的數(shù)據(jù)傳輸,與主機(jī)交互的峰值速率可達(dá)132MB/s。小波壓縮解壓縮卡的性能參數(shù)的大范圍可調(diào)使系統(tǒng)可在各種不同的網(wǎng)絡(luò)帶寬下工作。表1為視頻卡性能參數(shù)表。
?
參考文獻(xiàn)
1 Grossman A, Morlet J. Decomposition of Hardy Functions into Square Integrable Wavelets of Constant Shape.Siam. J. Math.Anal.1984;15(4):723~736?
2 Vetterli M, Kovacevic, J. Wavelets And Subband Coding.Prentice Hall,1995 (ISBN 0-13-097080-8)
4 侯伯亨,顧 新.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì). 西安:西安電子科技大學(xué)出版社.1997
5 曾繁泰,馮保初.PCI總線與多媒體計(jì)算機(jī).北京:電子工業(yè)出版社,1997