基于DSP的H.324可視電話研究與實(shí)現(xiàn)
摘要:介紹了H.324可視電話的基本框架,并在分析視音頻編解碼后需要的計(jì)算量和存儲容量的基礎(chǔ)上,針對H.324標(biāo)準(zhǔn)下的H.263、G.723.1、H.245、H.223、V.34各標(biāo)準(zhǔn),采用AD公司的DSP芯片,設(shè)計(jì)了基于DSP的可視電話系統(tǒng)。
本文引用地址:http://m.butianyuan.cn/article/242315.htm關(guān)鍵詞:可視電話 DSP 視頻編碼 音頻編碼
H.324標(biāo)準(zhǔn)的可視電話系統(tǒng)實(shí)現(xiàn)方法,一般有如下同種方式:軟件方式、通用DSP方式及專用處理器和專用芯片方式。
以PC機(jī)為平臺,利用現(xiàn)有的聲卡、視頻要集卡和調(diào)制解調(diào)器作為輸入和輸出設(shè)備,采和基于WINDOWS的多線程技術(shù)軟件實(shí)現(xiàn)H.263視頻器、解碼/發(fā)送、接收、顯示等多個任務(wù)。在實(shí)際應(yīng)用系統(tǒng)時需要考慮到PC的處理能力、與接收端的連接和相應(yīng)的圖像格式等問題,可以在編碼模塊中采用匯編語言,提高執(zhí)行速度,并引入MMX技術(shù),進(jìn)一步提高執(zhí)行速度。它的特點(diǎn)是成本低、配置少,便于移植和升級,但對計(jì)算機(jī)的處理能力、編解碼的算法速率的要求比較高,一般難于達(dá)到實(shí)時要求。
專用處理器和專用芯片是另外一種硬件處理方式,它的優(yōu)點(diǎn)是集成度高,價格低,但擴(kuò)展性差。國外許多公司都熱衷于視頻芯片的研究和開發(fā)。就國外來說,主要的視頻會議芯片供應(yīng)商是:Lucent Technology(AVP-III處理器);8×8 Inc.(VCP 處理器);Texas Instruments(C8x系列處理器)等。專用處理器和專用芯片方式的特點(diǎn)是能得到高的圖像質(zhì)量并能滿足實(shí)時圖像處理的要求。
通用DSP方式是一種硬件實(shí)現(xiàn)方式。采用通用DSP的原因是由于它可通過編程實(shí)現(xiàn)多種功能,當(dāng)針對硬件的軟件功能升級和新的標(biāo)準(zhǔn)算法出現(xiàn)時,只需要局部改變DPS的微碼就可以適應(yīng)不同的應(yīng)用。用DSP實(shí)現(xiàn)H.263時,首先需要估計(jì)編碼、解碼等處理過程所需的計(jì)算量,并且這些計(jì)算量與具體視頻編碼過程有關(guān),選擇時應(yīng)該選用高速DSP。
從以上三種實(shí)現(xiàn)方式來看,DSP具有開發(fā)靈活、適應(yīng)面較寬和擴(kuò)展性強(qiáng)等優(yōu)越性,且目前已經(jīng)能實(shí)時處理H.263算法的高速超強(qiáng)處理能力的DSP芯片有AD21065L、TMS320C55x、TMS320C6x等,所以采用DSP實(shí)現(xiàn)可視電話等視頻圖像處理系統(tǒng)成為開發(fā)者的首選。
1 H.324可視電話基本框架
H.324是ITU的適用于公共電話交換網(wǎng)(PSTN)的低比特率多媒體通信終端的框架標(biāo)準(zhǔn)。它使用V.34調(diào)制解調(diào)器,可以實(shí)時傳送語音、數(shù)據(jù)、視頻圖像或三者的組合。H.324包括甚低碼率視頻編碼的H.263建議、音頻編碼G.723建議、控制協(xié)議H.245和復(fù)接與復(fù)用協(xié)議H.223等。
PSTN的視頻H.324可視電話框圖如圖1所示。
在H.324編解碼系統(tǒng)框圖中,視頻編碼H.263提供低于64kbps的傳輸速率,是H.324的技術(shù)核心。視頻編碼器主要完成對源圖像序列的壓縮,先按塊的方式采用DCT變換,后對變換的DCT系數(shù)進(jìn)行量化,然后進(jìn)入視頻復(fù)接編碼器。在編碼過程中,要求對編碼模式的選擇和碼率的大小進(jìn)行必要的控制;視頻復(fù)接編碼主要完成將每幀圖像數(shù)據(jù)編成四個層次的數(shù)據(jù)結(jié)構(gòu),以便在各層次中插入必要的輔助數(shù)據(jù)信息。同時對交流DCT系數(shù)(AC)進(jìn)行VLC編碼,對直流系數(shù)進(jìn)行固定長度(FLC)的編碼,并對壓縮的編碼數(shù)據(jù)與控制信息復(fù)接。由于H.263的輸出碼率一般非恒定的,所以在實(shí)際應(yīng)用中,受傳輸網(wǎng)絡(luò)帶寬的限制,必須要在發(fā)送端和接收端設(shè)置緩沖區(qū),使得編碼率的碼流變換為固定碼率碼流,防止數(shù)據(jù)的丟失和破壞。緩沖區(qū)的信息傳給編碼控制器,由編碼控制器來控制編碼器中量化器化步長,同時將步輔助信息送到視頻復(fù)接編碼中的各層次,以供解碼器使用。解碼部分可以看作為編碼的逆過程,但并非完全對稱。編碼過程的運(yùn)算量和復(fù)雜度要遠(yuǎn)大于解碼過程。
2 可視電話系統(tǒng)的性能需求
在可視電話設(shè)計(jì)之前,先分別對可視電話的圖像格式、視音頻的編解碼運(yùn)算量和存儲量進(jìn)行分析。
PSTN上的可視電話,由于信道帶寬較窄(傳輸速率最大不超過64kbits/s),故圖像不宜過大。圖像格式上采用QCIF(176×144)格式,幀率為15fps(幀每秒)。以下視音頻編解碼計(jì)算和存儲量均在上述條件下估計(jì)。
H.263視頻編碼計(jì)算量主要集中在:運(yùn)動估計(jì)與預(yù)測編碼、離散余弦變換(DCT)、可變長編碼(VLC),這部分的運(yùn)算量估計(jì)為90MIPS(兆個指令/每秒)。同樣,解碼計(jì)算量主要集中在:運(yùn)動補(bǔ)償(MC)、離散余弦逆變換(IDCT)、可變長解碼(VLD),這部分運(yùn)算量估計(jì)為40MIPS。G.723.1音頻編碼的運(yùn)算量比視頻的運(yùn)算量小得多,大約為30MIPS。
再加上其它一些操作如音視頻混合、數(shù)據(jù)的傳輸、外部器件的控制等,估計(jì)大約為60MIPS。因此DSP的計(jì)算量共為220MIPS左右。
存儲器包括程序存儲器和數(shù)據(jù)存儲器。程序存儲器和一些常數(shù)(DCT系數(shù)、VLC系數(shù)等)開始存于ROM,運(yùn)行之后引導(dǎo)至RAM中,這部分估計(jì)為400Kbytes。
數(shù)據(jù)存儲器主要存放采樣得來的視頻數(shù)據(jù)以及待解碼的數(shù)據(jù)流,也就是視音頻信號的緩沖。QCIF格式的每幀采樣數(shù)據(jù)約為50Kbytes,RAM中至少要存4~5幀,這部分需250Kbytes。為使視音頻同步,音頻數(shù)據(jù)緩沖為50Kbytes左右。
3 基于DSP的可視電話系統(tǒng)的實(shí)現(xiàn)
根據(jù)資源分析,為實(shí)現(xiàn)上述以PSTN為傳輸線路的可視電話,首先選擇合適的視音頻編解碼DSP芯片,再構(gòu)建可視電話硬件流圖,分配存儲資源,然后編寫與移植相關(guān)的協(xié)議軟件,使之適合DSP芯片的高效運(yùn)行。
3.1 視音頻解碼DSP芯片的選擇
視頻編解碼芯片采用AD公司的ADSP-21065L。ADSP-21065L是超級哈佛結(jié)構(gòu)(SHARC)ADSP系列中功能強(qiáng)大的32bit DSP,高性能的核加上集成的外圍器件,使其性價比很高、應(yīng)用范圍很廣,它的主要特性有:
·198 MFLOPS(32bit浮點(diǎn)運(yùn)算);
·180 MOPS(32bit定點(diǎn)運(yùn)算);
·16K 32bit雙端口片內(nèi)存儲器;
·64M 32bit字長的外部擴(kuò)展地址空間;
·2個支持32個時分復(fù)用(FDM)通道的串口;
·10個DMA通道;
·2個時鐘;
·與32bit字長SDRAM的無縫口等。
ADSP-21065L的快速運(yùn)算能力(198MFLOPS)和大的外部存儲空間(64M),使其能完成H.324中的運(yùn)算量大、存儲容量大的部分,如視頻編解碼H.263、視音頻混合H.223和控制H.245。
ADSP-21065L采用多總線使DPS核、I/O端口、內(nèi)部雙口存儲器、外部同步DRAM之間數(shù)據(jù)能夠高速傳輸。這對于視頻數(shù)據(jù)的編碼和傳輸很重要,因?yàn)橐曨l數(shù)據(jù)有量大、傳輸快等特點(diǎn),ADSP-21065L的多總線結(jié)構(gòu)能很好地解決這些問題。而且32bit字長的計(jì)算,能夠提高視音頻的信噪比。
音頻編解碼芯片采用ADSP-2189M,其主要特性有:
·片內(nèi)存儲器高達(dá)1.5Mbit,可配置成32K字的程序存儲器和48K字節(jié)的數(shù)據(jù)存儲器;
·運(yùn)算能力為70MIPS,13ns的指令周期;
·3個總線結(jié)構(gòu)允許在每指令周期進(jìn)行兩個取數(shù)操作,并作運(yùn)算;
·4M的外部擴(kuò)展存儲器;
·2個串口,可以自動緩沖數(shù)據(jù);
·6個外部中斷;
·豐富的指令,低功耗等。
監(jiān)于ADSP-2189M特點(diǎn),以及由前討論的音頻編解碼G.723.1運(yùn)算量和存儲容量的需求,可以讓ADSP-2189M進(jìn)行音頻編解碼G.723.1。此外,ADSP-2189M的多功能串口,可以完成V.34調(diào)制解調(diào)器的任務(wù)。
3.2 可視電話系統(tǒng)的硬件結(jié)構(gòu)
DSP可視電話硬件結(jié)構(gòu)如圖2所示。
圖2中ADSP-21065L是可視電話的核心,其主要作用是完成視頻編碼H.263、多媒體通信的復(fù)用協(xié)議H.223和傳輸控制協(xié)議H.245功能。H.263核心技術(shù)為基于塊DCT和運(yùn)動估計(jì)與預(yù)測技術(shù),前者是通過正交變換消除圖像8×8子塊數(shù)據(jù)中存在的空間冗余,而得到一定的數(shù)據(jù)壓縮;對后者而言,首先對輸入的每一圖像進(jìn)行層次的劃分,直到分為8×8塊作為運(yùn)動估計(jì)算法的基本處理單元,然后進(jìn)行運(yùn)動估計(jì)與預(yù)測,消除圖像序列間的時間冗余,達(dá)到運(yùn)動圖像壓縮的目的。
H.223低位率多媒體通信的復(fù)用協(xié)議,主要由AL和MUX兩部分組成。AL負(fù)責(zé)將從用戶層和I/O層獲取的不同數(shù)據(jù)流(AL-SDU)轉(zhuǎn)換成AL-PDU。MUX負(fù)責(zé)將AL層數(shù)據(jù)送到物理層。AL與MUX層交換的邏輯單元稱為MUX-SDU,每個MUX-SDU實(shí)際上就是AL-PDU。AL根據(jù)接收媒體不同,分3成種:AL1、AL2、AL3。AL1負(fù)責(zé)傳送一般數(shù)據(jù)和控制信息,AL2負(fù)責(zé)音頻,AL3負(fù)責(zé)視頻。由于可能有多個AL-PDU(MUX-SDU)同時到達(dá)復(fù)用層,復(fù)用層根據(jù)一個預(yù)先定義的描述符表將不同的AL-PDU復(fù)合到一個數(shù)據(jù)流中。該描述符表有16項(xiàng),每個表項(xiàng)定義不同的AL-PDU組合方式。
H.245傳輸控制協(xié)議規(guī)定了控制H.324終端正確操作的端端信令。它定義了終端間通信開始時進(jìn)行帶內(nèi)協(xié)商的控制過程、消息的語法和語義,并定義了各種不同的服務(wù)。一些適于所有終端,一些只適于特殊終端。它定義了各種過程以允許音視與數(shù)據(jù)能力的交換;請求特定的音視與數(shù)據(jù)模式的傳送;管理傳輸音視與數(shù)據(jù)信息的信道;為管理雙向信道確定主終端與從終端;攜帶各種控制與指示信息;控制獨(dú)立信道或整個復(fù)用層的位率;測試往返時延等。
ADSP-2189M是起到音頻編碼協(xié)議G.723和調(diào)制解調(diào)器V.34的作用。G.723音頻編碼協(xié)議有5.3kbps與6.3kbps兩種速率,其主題是“5.36.3kbps多媒體傳輸對稱速率音頻編碼器”。G.723編碼器經(jīng)過優(yōu)化增加了有限的復(fù)雜度,獲得了高質(zhì)量的對話。它將語音或其它音頻信號幀用線形預(yù)測綜合分析編碼方法編碼,6.3kbps的激勵信號為MP-MLQ(多脈沖最大相似量化),5.3kbps采用ACELP(算術(shù)碼書激勵線性預(yù)測);幀長30ms,外加一探頭7.5ms,算法延遲共37.5ms,附加延遲則取決于實(shí)現(xiàn)時的處理延遲、通信鏈路的傳輸延遲及復(fù)用協(xié)議的緩沖延遲等。V.34協(xié)議把數(shù)據(jù)流進(jìn)行調(diào)制和解調(diào),使之適用于電話線的傳輸。
CPLD主要用于協(xié)議數(shù)據(jù)的流向和動態(tài)RAM的刷新,用VHDL語言來設(shè)計(jì)邏輯控制和數(shù)據(jù)緩沖。視頻采樣芯片是AD公司的AD7185,它可以直接輸出YUV信號。音頻轉(zhuǎn)換芯片采用AD1819,其特點(diǎn)是對于音頻信號既可做模數(shù)轉(zhuǎn)換,又可做數(shù)模轉(zhuǎn)換。DRAM為1M字節(jié),存取時間為6.7ns。用戶界面采用單片機(jī)89C52,處理界面操作,遠(yuǎn)程控制等。
3.3 存儲資源的分配和軟件的編寫移植問題
根據(jù)應(yīng)用特點(diǎn),合理分配資源特別是存儲資源,一直是DSP設(shè)計(jì)的重要之處。在本系統(tǒng)中,頻繁使用的DCT系數(shù)、VLC系數(shù)等放置于ADSP-21065L的片內(nèi)RAM,而其他數(shù)據(jù)放置了外部RAM中。按具體功能要求,參考資料,開發(fā)出相應(yīng)的C語言下的H.324程序,編譯鏈接生成執(zhí)行文件執(zhí)行并進(jìn)行功能評估,進(jìn)行具體的算法優(yōu)化。評估程序執(zhí)行的效率,具體分析出DCT和運(yùn)動估計(jì)與預(yù)測等耗時大的模塊,根據(jù)ADSP-21065的指令特點(diǎn)和硬件結(jié)構(gòu),采用高效的匯編語言編寫這部分匯編程序,進(jìn)一步提高程序的執(zhí)行效率和充分利用ADSP的系統(tǒng)硬件資源,最終按要求在ADSP實(shí)時實(shí)現(xiàn)H.324程序。
為了保證芯片之間接口的統(tǒng)一,基于PSTN上的可視電話,核心芯片如視音頻編解碼芯片、視音頻數(shù)模轉(zhuǎn)換芯片等,都采用AD公司的產(chǎn)品?;贒SP的可視電話系統(tǒng),其軟件具有可升級性,易于實(shí)現(xiàn)功能的擴(kuò)展及與其他遵從ITU標(biāo)準(zhǔn)和ISO標(biāo)準(zhǔn)的網(wǎng)絡(luò)視頻終端的互通。當(dāng)今電話線上的ADSL通信發(fā)展迅速。由于基于DSP可視電話系統(tǒng)的靈活性,所以只要在其上添加ADSL終端設(shè)備,在軟件上更改碼率控制,提高視音頻質(zhì)量,就可開展寬帶視音頻業(yè)務(wù)了。
評論