本發(fā)明屬于多媒體通信領(lǐng)域,尤其是涉及一種信源信道聯(lián)合編解碼方法及系統(tǒng)。
背景技術(shù):
隨著數(shù)字通信、計算機(jī)網(wǎng)絡(luò)及多媒體技術(shù)的飛速發(fā)展,多媒體通信已經(jīng)成為一種不可避免的趨勢。多媒體通信可分為數(shù)據(jù)處理和數(shù)據(jù)傳輸兩部分,對應(yīng)于視頻應(yīng)用系統(tǒng),一般即為信源編碼和信道編碼。傳統(tǒng)的香農(nóng)分離原則將信源編碼和信道編碼分開考慮,然而目前的研究表明,這種絕對分離的方式在當(dāng)前技術(shù)水平下無法達(dá)到高效可靠傳輸多媒體數(shù)據(jù)的目的,因此需要聯(lián)合考慮信源編碼與信道編碼,實(shí)現(xiàn)信源信道聯(lián)合編碼。
根據(jù)信源-信道編碼耦合的緊密程度可以將信源信道聯(lián)合編碼技術(shù)分為三類:
1.緊耦合的聯(lián)合信源-信道編碼,這種技術(shù)將信源編碼和信道編碼聯(lián)合起來考慮,提出了信源控制的信道編碼或信道優(yōu)化的信源編碼等算法。然而由于這類聯(lián)合編碼方式設(shè)計起來過于復(fù)雜,并且一定要基于某種特性已知的信源編碼器和信道編碼器,因此限制了其應(yīng)用范圍,目前已經(jīng)不是研究的重點(diǎn);
2.松耦合的不平等保護(hù)信源-信道編碼,這種技術(shù)通過調(diào)整信道編碼的保護(hù)粒度來保護(hù)信源輸出的不同重要級別的數(shù)據(jù)。這類聯(lián)合編碼技術(shù)應(yīng)用較多,而且已有部分實(shí)用。但究其根源仍未脫離傳統(tǒng)的香農(nóng)信息論,只是改進(jìn)信道編碼以適應(yīng)信源編碼的輸出碼流而已;
3.介于前兩者之間的參數(shù)聯(lián)合優(yōu)化的信源-信道編碼,這種技術(shù)將己知的信源編碼器和信道編碼器級連起來,保持兩個編碼器之間的獨(dú)立性,但是聯(lián)合優(yōu)化它們的編碼參數(shù),以實(shí)現(xiàn)聯(lián)合編碼的目的。
當(dāng)前,第三類聯(lián)合編碼技術(shù)是信源信道聯(lián)合編碼的主流方向。針對不可靠信道多媒體通信中的信道狀態(tài),通過合理分配原始多媒體數(shù)據(jù)和保護(hù)數(shù)據(jù)之間的傳輸帶寬,實(shí)現(xiàn)信源和信道冗余度的合理分配,進(jìn)而實(shí)現(xiàn)參數(shù)聯(lián)合優(yōu)化的信源信道編碼系統(tǒng)。這種信源信道聯(lián)合編碼技術(shù)一方面可以降低系統(tǒng)的實(shí)現(xiàn)復(fù)雜度,同時可以通過信源和信道之間的速率分配來實(shí)現(xiàn)聯(lián)合編碼的目的,是一種折衷而又有效的編碼方式。
但是,在戰(zhàn)時的無線信道中總是存在著噪聲、干擾、多徑衰落等各種影響,傳輸信道的帶寬占用大,圖像在干擾信道下的傳輸噪聲嚴(yán)重,造成實(shí)時視頻等業(yè)務(wù)的質(zhì)量較差,不能滿足業(yè)務(wù)需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明目的在于提供一種信源信道聯(lián)合編解碼方法及系統(tǒng),以解決現(xiàn)有技術(shù)中傳輸信道的帶寬占用大、圖像在干擾信道下的傳輸噪聲嚴(yán)重,造成實(shí)時視頻等業(yè)務(wù)的質(zhì)量較差的技術(shù)問題,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
為此本發(fā)明提供的技術(shù)方案如下:
一種信源信道聯(lián)合編解碼方法,包括:
發(fā)送端FPGA進(jìn)行圖像數(shù)據(jù)預(yù)處理;
發(fā)送端DSP進(jìn)行圖像壓縮、RS編碼和交織的信源信道聯(lián)合編碼;
接收端DSP進(jìn)行解交織、RS譯碼和圖像解壓縮操作;
接收端FPGA進(jìn)行圖像數(shù)據(jù)還原及輸出。
所述發(fā)送端FPGA進(jìn)行圖像數(shù)據(jù)預(yù)處理,包括:
監(jiān)測圖像數(shù)據(jù)中的幀同步信號,確定視頻起始;
進(jìn)行降采樣和格式變化處理。
所述接收端FPGA進(jìn)行圖像數(shù)據(jù)還原及輸出,包括:
監(jiān)測圖像數(shù)據(jù)的幀同步信號,確定視頻起始;
進(jìn)行升采樣和格式變化處理。
所述進(jìn)行交織的信源信道聯(lián)合編碼,包括:
定義編碼幀結(jié)構(gòu),通過信號設(shè)計將有記憶信道轉(zhuǎn)換為隨機(jī)無記憶信道。
相應(yīng)于上述方法,本發(fā)明還提供了一種信源信道聯(lián)合編解碼系統(tǒng),包括:
發(fā)送端FPGA,用于進(jìn)行圖像數(shù)據(jù)預(yù)處理;
發(fā)送端DSP,用于進(jìn)行圖像壓縮、RS編碼和交織的信源信道聯(lián)合編碼;
接收端DSP,用于進(jìn)行解交織、RS譯碼和圖像解壓縮操作;
接收端FPGA,用于進(jìn)行圖像數(shù)據(jù)還原及輸出。
所述發(fā)送端FPGA包括:
第一檢測單元,用于監(jiān)測圖像數(shù)據(jù)中的幀同步信號,確定視頻起始;
降采樣單元,用于進(jìn)行降采樣;
第一格式化單元,用于進(jìn)行格式變化處理。
所述接收端FPGA包括:
第二檢測單元,用于監(jiān)測圖像數(shù)據(jù)中的幀同步信號,確定視頻起始;
升采樣單元,用于進(jìn)行升采樣;
第二格式化單元,用于進(jìn)行格式變化處理。
所述發(fā)送端DSP包括:
圖像壓縮單元,用于對發(fā)送端FPGA輸出的圖像數(shù)據(jù)進(jìn)行壓縮處理;
RS編碼單元,用于進(jìn)行RS信道編碼;
交織單元,用于塊交織處理。
所述發(fā)送端DSP包括:
解交織單元,用于根據(jù)交織單元的交織深度進(jìn)行解交織處理;
RS譯碼單元,用于根據(jù)RS編碼單元的RS信道進(jìn)行信道譯碼;
圖像解壓縮單元,用于進(jìn)行圖像解壓縮處理,恢復(fù)圖像數(shù)據(jù)。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:
本申請?zhí)峁┑纳鲜龇桨?,針對?fù)雜無線信道下的實(shí)時視頻傳輸,通過圖像壓縮加RS編碼加交織的信源信道聯(lián)合編碼,能夠成功解決圖像在干擾信道下的傳輸問題,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
該方案采用前向糾錯編碼進(jìn)行非均勻保護(hù),同時考慮增加前向糾錯編碼占用額外信道帶寬對信源傳輸碼率的影響,以統(tǒng)一的信源信道聯(lián)合編碼統(tǒng)計率失真模型作為約束,優(yōu)化分配信源信道編碼碼率,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
同時,該方案交織技術(shù)引入聯(lián)合編解碼,自定義編碼幀結(jié)構(gòu),通過信號設(shè)計將原來屬于突發(fā)錯誤的有記憶信道,改造成近似獨(dú)立差錯的隨機(jī)無記憶信道,在圖像傳輸系統(tǒng)中滿足實(shí)際應(yīng)用抗誤碼需求,特別是提升了抗多徑效應(yīng)引來的突發(fā)誤碼能力,有效提高了聯(lián)合編譯碼系統(tǒng)的糾錯能力。
附圖說明
圖1是本發(fā)明提供的一種信源信道聯(lián)合編解碼方法流程示意圖;
圖2是本發(fā)明提供的發(fā)送端FPGA的控制流程圖;
圖3是本發(fā)明提供的發(fā)送端DSP的圖像壓縮控制流程圖;
圖4是本發(fā)明提供的發(fā)送端DSP的RS編碼控制流程圖;
圖5是本發(fā)明提供的接收端DSP的RS的譯碼流程圖;
圖6是本發(fā)明提供的接收端DSP的圖像解壓縮控制流程圖;
圖7是本發(fā)明提供的接收端FPGA的圖像輸出流程圖;
圖8是本發(fā)明提供的一種信源信道聯(lián)合編解碼系統(tǒng)架構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一:
本實(shí)施例提供了一種信源信道聯(lián)合編解碼方法,如圖1所示,為該方法的一種流程示意圖,具體包括以下步驟:
步驟S101,發(fā)送端FPGA進(jìn)行圖像數(shù)據(jù)預(yù)處理;
本實(shí)施例應(yīng)用的實(shí)時視頻信號處理系統(tǒng)中,低層的信號預(yù)處理算法處理的數(shù)據(jù)量大,對處理速度的要求高,但運(yùn)算結(jié)構(gòu)相對比較簡單,適于用FPGA進(jìn)行硬件實(shí)現(xiàn),這樣能同時兼顧速度及靈活性。
其中,所述預(yù)處理的過程可以包括如下子步驟:
S101a,監(jiān)測圖像數(shù)據(jù)中的幀同步信號,確定視頻起始;
系統(tǒng)加電后,首先要配置視頻解碼芯片ADV7180;ADV7180解碼芯片是一種綜合視頻解碼器,它能自動檢測到兼容國際標(biāo)準(zhǔn)NTS C、PAL和SECAM的模擬基帶視頻信號,并將其轉(zhuǎn)換為兼容8位ITU-R BT.656接口標(biāo)準(zhǔn)的視頻數(shù)據(jù)。
外部PAL制式的模擬圖像信號經(jīng)過ADV7180芯片采樣后,量化為720x576大小、YUV格式的8位數(shù)字圖像信號,該圖像(720x576)數(shù)據(jù)幀的定義如下:
a.每個數(shù)據(jù)幀長480字節(jié),均有同步頭;
b.幀結(jié)構(gòu):同步頭3字節(jié);標(biāo)識+索引1字節(jié),其中高4位為圖像標(biāo)識符,0x0表示第1路,0xF表示第2路,低4位為索引計數(shù);數(shù)據(jù)476字節(jié)。
引入狀態(tài)機(jī)機(jī)制接收數(shù)字圖像數(shù)據(jù),監(jiān)測幀同步信號,確定一幀視頻起始,具體為:設(shè)置定位搜索與穩(wěn)定接收兩個狀態(tài);系統(tǒng)加電后,開始序貫緩存3字節(jié)圖像數(shù)據(jù),首先進(jìn)入定位搜索態(tài),在每個時鐘周期判斷緩存數(shù)據(jù)是否符合同步頭字節(jié),如不符合則繼續(xù)定位搜索,如符合則確定為一幀視頻起始位置,設(shè)置幀同步信號有效(高電平有效),有效時間為一個時鐘周期,同時進(jìn)入穩(wěn)定接收態(tài);在穩(wěn)定接收態(tài)時,設(shè)置計數(shù)器統(tǒng)計輸出字節(jié)數(shù),當(dāng)?shù)竭_(dá)幀同步頭位置時,仍然要判斷緩存數(shù)據(jù)是否符合同步頭字節(jié),如符合則繼續(xù)留在穩(wěn)定接收態(tài),設(shè)置幀同步信號有效,如不符合則確定為幀同步失鎖,幀同步信號無效,返回定位搜索態(tài);如此條件轉(zhuǎn)移,循環(huán)往復(fù)。
S101b,進(jìn)行降采樣和格式變化處理。
經(jīng)過幀同步確定一幀視頻起始位置后,同樣采用狀態(tài)機(jī)機(jī)制對圖像的行和列分別進(jìn)行下采樣,只保留偶行和偶列上的像素,而刪除奇行和奇列上的像素,從而變換為標(biāo)準(zhǔn)CIF格式(Common Intermediate Format,352×288像素)圖像數(shù)據(jù),具體為:設(shè)置幀同步檢索與降采樣處理兩個狀態(tài);系統(tǒng)加電后,首先進(jìn)入幀同步檢索態(tài),在每個時鐘周期檢索幀同步信號是否有效,否則繼續(xù)留在幀同步檢索態(tài),有效則進(jìn)入降采樣處理態(tài);在降采樣處理態(tài)時,分別設(shè)置圖像數(shù)據(jù)行、列計數(shù)器,在每個時鐘周期,如判斷計數(shù)值為偶行和偶列時,輸出當(dāng)前時鐘周期的圖像像素值;判斷計數(shù)值為偶行和奇列時,保持前一個時鐘周期的偶列圖像像素值,即不輸出當(dāng)前奇列的圖像像素值;判斷行計數(shù)值為奇行時,不輸出此行的所有圖像像素值;當(dāng)計數(shù)統(tǒng)計到一幀視頻結(jié)束時返回幀同步檢索態(tài);如此條件轉(zhuǎn)移,循環(huán)往復(fù)。
本系統(tǒng)采用基于DSP的EMIF(External Memory Interface,外部存儲器接口)通過EDMA搬移數(shù)據(jù)實(shí)現(xiàn)與FPGA之間數(shù)據(jù)的并行傳輸,大大增加了系統(tǒng)的可靠性。EMIF是一個64bit的擴(kuò)展內(nèi)存接口.最大總線速度為133M,可以支持四個片選空間,通過激活不同存儲空間的使能來實(shí)現(xiàn)對不同空間的訪問。將FPGA看作是DSP的一個外掛存儲器,EMIF實(shí)現(xiàn)方式主要有兩種:其一,根據(jù)實(shí)際需要通過對自帶模塊的時序進(jìn)行修改,這種設(shè)計方法看起來比較簡單,但通過這種方法設(shè)計的程序通常透明度差、靈活度不高,限制了這種方法的使用;其二,采用用戶自編寫的程序來對FPGA進(jìn)行控制,這種方法看起來比第一種方法復(fù)雜,但比較靈活,通用性更強(qiáng).移植性比較好。本系統(tǒng)采用后一種方式實(shí)現(xiàn)DSP對FPGA RAM區(qū)的訪問。同時考慮到EMIF的異步特性,在FPGA內(nèi)采用了乒乓緩存結(jié)構(gòu),設(shè)置了ping和pong兩個緩存區(qū),具體為:程序開始運(yùn)行后,DSP向FPGA發(fā)送開始控制指令,F(xiàn)PGA系統(tǒng)開始工作;FPGA在時鐘信號的控制下打開ping緩存的寫使能,將降采樣后的圖像數(shù)據(jù)寫入FPGA中的ping緩存中;當(dāng)ping緩存寫滿后,關(guān)閉ping緩存寫使能,打開pong緩存寫使能同時發(fā)送中斷信號給DSP;DSP收到中斷后,啟動EDMA將ping存滿的數(shù)據(jù)一次搬移到DSP內(nèi)的緩存中。當(dāng)FPGA中pong緩存寫滿后,關(guān)閉pong緩存寫使能,打開ping緩存寫使能,同時發(fā)中斷給DSP;DSP收到中斷后.開始啟動EDMA將pong存滿的數(shù)據(jù)搬移到DSP內(nèi)部緩存中;這樣周而復(fù)始實(shí)現(xiàn)FPGA到DSP數(shù)據(jù)的緩存和搬移。
步驟S102,發(fā)送端DSP進(jìn)行圖像壓縮、RS編碼和交織的信源信道聯(lián)合編碼;
上述實(shí)時視頻信號處理系統(tǒng)中,高層處理算法的特點(diǎn)是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復(fù)雜,適于用運(yùn)算速度高、尋址方式靈活、通信機(jī)制強(qiáng)大的DSP芯片來實(shí)現(xiàn)。
本步驟中,發(fā)送端DSP首先通過配置EMIF接口,使DSP產(chǎn)生讀時鐘、讀使能信號,接收FPGA輸出的幀中斷、行中斷信號,從而接收并行原始數(shù)字圖像數(shù)據(jù),然后啟動圖像壓縮,壓縮后通過同步串口以恒定碼速率向FPGA輸出圖像壓縮碼流,控制流程如圖3所示。
其中圖像壓縮模塊采用基于塊預(yù)測的混合編碼方案,采用了多預(yù)測模式的幀內(nèi)預(yù)測編碼技術(shù)、精細(xì)的幀間預(yù)測編碼技術(shù)、整數(shù)變換與量化技術(shù)、場景自適應(yīng)性可變長度編碼技術(shù)、環(huán)路濾波器去塊失真效應(yīng)技術(shù),充分提高圖像壓縮效率。
在圖像壓縮模塊工程實(shí)現(xiàn)中針對特定的DSP平臺,一方面采用視頻輸入采樣與壓縮并行技術(shù),將一部分視頻壓縮編碼時間隱藏在視頻采樣輸入時間之內(nèi);一方面采用專用的SIMD指令級優(yōu)化,提高視頻編解碼運(yùn)算速度,從而降低編解碼時延。
其次,在DSP處理器進(jìn)行RS信道編碼。針對復(fù)雜無線信道下的實(shí)時視頻傳輸,采用FEC(Forward Error Correction,前向糾錯編碼)進(jìn)行非均勻保護(hù),同時考慮增加FEC編碼占用額外信道帶寬對信源傳輸碼率的影響,以統(tǒng)一的信源信道聯(lián)合編碼統(tǒng)計率失真模型作為約束,優(yōu)化分配信源信道編碼碼率,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
其中信道編碼可以選擇為RS(255,239)或者RS(255,223),以RS(255,239)為例,參數(shù)定義如下:
域生成多項(xiàng)式為F(x)=x8+x4+x3+x2+1,GF(2);
碼生成多項(xiàng)式為g(x)=(x+α)(x+α2)(x+α3)…(x+α15)(x+α16),GF(28);
RS編碼電路采用除法電路實(shí)現(xiàn)編碼。先把輸入數(shù)據(jù)分成碼長為239個字節(jié)的碼組,然后將每一個碼組進(jìn)行移位后模g(x)的運(yùn)算,最后輸出帶有16個校驗(yàn)信息字節(jié)的編碼后的數(shù)據(jù)。
編碼電路的主要部分是一組線性反饋移位寄存器(LFSR),如圖4所示。電路工作過程如下:
①首先,所有的移存器清為0,門電路接通,開關(guān)電路打到A端。然后開始輸入數(shù)據(jù),進(jìn)行移位,輸入數(shù)據(jù)一方面直接輸出,另一方面自動乘以xn-k次后進(jìn)入g(x)除法電路,從而完成了xn-km(x)的作用。
②k次移位后m(x)全部送入電路,完成了除法作用,此時在移存器內(nèi)保存了余式r(x)的系數(shù),在二進(jìn)制的情況下就是校驗(yàn)元。
③此時門電路關(guān)閉,開關(guān)電路打到B端,再經(jīng)過n-k次移位后,把移存器的校驗(yàn)元全部輸出,與原來的k位信息元組成了一個長為n的碼字C(x)。
④門電路再次接通,開關(guān)電路打到A端,送入第二組信息組重復(fù)上述過程。
最后,在DSP處理器進(jìn)行塊交織處理,交織深度可選。在交織處理中可以自定義編碼幀結(jié)構(gòu),通過信號設(shè)計將有記憶信道轉(zhuǎn)換為隨機(jī)無記憶信道。
為了使譯碼器輸出的突發(fā)錯誤的發(fā)生率最小,減少RS碼字中錯誤符號的相關(guān)性,防止超過RS譯碼器的糾錯能力,采用交織的辦法;在DSP發(fā)送端,編碼序列在送入信道傳輸之前先通過一個“交織寄存器矩陣”。將輸入序列逐行存入寄存器矩陣,存滿以后,按列的次序取出,再送入傳輸信道。
本步驟將交織技術(shù)引入聯(lián)合編解碼,可以自定義編碼幀結(jié)構(gòu),通過信號設(shè)計將原來屬于突發(fā)錯誤的有記憶信道,改造成近似獨(dú)立差錯的隨機(jī)無記憶信道,在圖像傳輸系統(tǒng)中能夠滿足實(shí)際應(yīng)用抗誤碼需求,特別是提升了抗多徑效應(yīng)引來的突發(fā)誤碼能力,可以有效提高聯(lián)合編譯碼系統(tǒng)的糾錯能力。
步驟S103,接收端DSP進(jìn)行解交織、RS譯碼和圖像解壓縮操作;
本步驟與步驟S102對應(yīng),是步驟S102的逆過程,接收端DSP接收交織后的數(shù)據(jù)進(jìn)行信源信道聯(lián)合解碼;
具體包括以下步驟:
首先,在DSP處理器進(jìn)行解交織處理,對應(yīng)發(fā)送端DSP設(shè)計交織深度可選。
接收端DSP收到數(shù)據(jù)后,先將序列存到一個與發(fā)端相同的交織寄存器矩陣,但與發(fā)端存取的次序正好相反,按列的次序存入,存滿以后,按行的次序取出,然后送進(jìn)RS譯碼器。因此送進(jìn)RS譯碼器的序列與RS編碼器輸出的序列次序完全相同,RS譯碼器絲毫感覺不出交織矩陣的存在與否。
其次,在DSP處理器進(jìn)行RS信道譯碼,對應(yīng)發(fā)送端DSP設(shè)計RS(255,239)或者RS(255,223)可選,控制流程如圖5所示?;诎殡S式的譯碼算法是一種實(shí)現(xiàn)RS譯碼的有效算法。它是一種迭代算法,易于DSP編程實(shí)現(xiàn)。該算法包括以下四個步驟:
a、根據(jù)接收碼字求伴隨式S;
b、用迭代法確定錯誤位置多項(xiàng)式Λ(x);
c、用錢氏搜索算法確定錯誤位置多項(xiàng)式Λ(x)的根,即錯誤位置數(shù);
d、用幅尼(Forney)算法求錯誤值,并糾正錯誤。
最后,在DSP處理器進(jìn)行圖像解壓縮處理,恢復(fù)為標(biāo)準(zhǔn)CIF格式(Common Intermediate Format,352×288像素)圖像數(shù)據(jù),控制流程如圖6所示。
其中圖像解壓縮模塊是圖像壓縮模塊的逆過程,除采用可變長度解碼技術(shù)、反量化反變換等技術(shù)恢復(fù)圖像外,還采用視頻解壓縮與外同步顯示輸出并行技術(shù),將一部分視頻解壓縮時間隱藏在信號輸出時間之內(nèi),較大程度降低視頻解碼時延和外同步等待時延。
步驟S104,接收端FPGA進(jìn)行圖像數(shù)據(jù)還原及輸出。
其中,本步驟與步驟S101的所述預(yù)處理對應(yīng),進(jìn)行圖像數(shù)據(jù)還原的過程可以包括如下子步驟:
步驟S104a,通過EMIF接收解壓縮后的圖像數(shù)據(jù),確定視頻起始;
接收端FPGA通過EMIF接收DSP輸出的解壓縮后的CIF格式圖像數(shù)據(jù),同樣基于異步數(shù)據(jù)交換的考慮在FPGA內(nèi)采用了乒乓緩存結(jié)構(gòu),設(shè)置了ping和pong兩個緩存區(qū),具體為:程序開始運(yùn)行后,DSP向FPGA發(fā)送開始控制指令,F(xiàn)PGA系統(tǒng)開始工作;FPGA在時鐘信號的控制下關(guān)閉ping緩存讀使能,打開pong緩存讀使能,同時發(fā)送中斷信號給DSP,DSP收到中斷后啟動EDMA將解壓縮后的圖像數(shù)據(jù)從DSP內(nèi)的緩存中搬移到FPGA的ping緩存中;當(dāng)ping緩存寫滿后,關(guān)閉pong緩存讀使能,打開ping緩存讀使能,生成幀同步信號,同時發(fā)送中斷信號給DSP,DSP收到中斷后啟動EDMA將解壓縮后的圖像數(shù)據(jù)從DSP內(nèi)的緩存中搬移到FPGA的pong緩存中;當(dāng)pong緩存寫滿后,關(guān)閉ping緩存讀使能,打開pong緩存讀使能,生成幀同步信號;這樣周而復(fù)始實(shí)現(xiàn)DSP到FPGA數(shù)據(jù)的緩存和搬移。
步驟S104b,進(jìn)行升采樣和格式變化處理。
具體應(yīng)用實(shí)例如下:
確定一幀視頻起始位置后,采用狀態(tài)機(jī)機(jī)制對圖像的行和列分別進(jìn)行升采樣,保留接收到的CIF格式(352×288像素)圖像像素,同時在奇行和奇列位置上插入圖像像素,從而恢復(fù)為720×576格式的圖像數(shù)據(jù),具體為:設(shè)置幀同步檢索與升采樣處理兩個狀態(tài);系統(tǒng)加電后,首先進(jìn)入幀同步檢索態(tài),在每個時鐘周期檢索幀同步信號是否有效,否則繼續(xù)留在幀同步檢索態(tài),有效則進(jìn)入升采樣處理態(tài);在升采樣處理態(tài)時,分別設(shè)置圖像數(shù)據(jù)行、列計數(shù)器,行、列計數(shù)最大值分別為720、576,在每個時鐘周期,如判斷行計數(shù)值為偶行,列計數(shù)值為偶列時,輸出當(dāng)前時鐘周期的圖像像素值,列計數(shù)值為奇列時,輸出當(dāng)前行相鄰2個偶列圖像像素值相加取平均后得到的圖像像素值;同時需要緩存插值后的相鄰2行偶行的所有圖像像素值;判斷行計數(shù)值為奇行時,按列輸出的圖像像素值為緩存的此奇行相鄰的2行偶行對應(yīng)列的圖像像素值相加取平均后得到的圖像像素值;當(dāng)計數(shù)統(tǒng)計到一幀視頻結(jié)束時返回幀同步檢索態(tài);如此條件轉(zhuǎn)移,循環(huán)往復(fù)。
接收端系統(tǒng)加電后,首先要配置視頻編碼芯片ADV7393;ADV7393是一款低功耗、高質(zhì)量的視頻編碼器。它具有3個高質(zhì)量10位視頻DAC,可以將CVBS、S-Video、YPrPb/RGB的模擬視頻信號以高清(HD)標(biāo)準(zhǔn)輸出。升采樣后的720×576格式圖像數(shù)據(jù)通過ADV7393進(jìn)行數(shù)模轉(zhuǎn)換后輸出到視頻終端。
控制流程如圖7所示。
本實(shí)施例提供的上述方法,針對復(fù)雜無線信道下的實(shí)時視頻傳輸,通過圖像壓縮加RS編碼加交織的信源信道聯(lián)合編碼,能夠成功解決圖像在干擾信道下的傳輸問題,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
該方案采用前向糾錯編碼進(jìn)行非均勻保護(hù),同時考慮增加前向糾錯編碼占用額外信道帶寬對信源傳輸碼率的影響,以統(tǒng)一的信源信道聯(lián)合編碼統(tǒng)計率失真模型作為約束,優(yōu)化分配信源信道編碼碼率,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。同時,該方案交織技術(shù)引入聯(lián)合編解碼,自定義編碼幀結(jié)構(gòu),通過信號設(shè)計將原來屬于突發(fā)錯誤的有記憶信道,改造成近似獨(dú)立差錯的隨機(jī)無記憶信道,在圖像傳輸系統(tǒng)中滿足實(shí)際應(yīng)用抗誤碼需求,特別是提升了抗多徑效應(yīng)引來的突發(fā)誤碼能力,有效提高了聯(lián)合編譯碼系統(tǒng)的糾錯能力。
實(shí)施例二
相應(yīng)于上述方法,本實(shí)施例還提供了一種信源信道聯(lián)合編解碼系統(tǒng),如圖8提供的系統(tǒng)架構(gòu)示意圖,具體包括一下模塊:
發(fā)送端FPGA 801,用于進(jìn)行圖像數(shù)據(jù)預(yù)處理;
發(fā)送端DSP 802,用于進(jìn)行圖像壓縮、RS編碼和交織的信源信道聯(lián)合編碼;
接收端DSP 803,用于進(jìn)行解交織、RS譯碼和圖像解壓縮操作;
接收端FPGA 804,用于進(jìn)行圖像數(shù)據(jù)還原及輸出。
其中,所述發(fā)送端FPGA 801包括:
第一檢測單元,用于監(jiān)測圖像數(shù)據(jù)中的幀同步信號,確定視頻起始;
具體的,第一檢測單元接收來自視頻AD轉(zhuǎn)換芯片的720×576像素圖像數(shù)據(jù),監(jiān)測幀同步信號,確定一幀視頻起始。
降采樣單元,用于進(jìn)行降采樣;具體可以進(jìn)行2倍降采樣處理。
第一格式化單元,用于進(jìn)行格式變化處理,其中變換為標(biāo)準(zhǔn)CIF格式(Common Intermediate Format,352×288像素)圖像數(shù)據(jù),通過EMIF(External Memory Interface,外部存儲器接口)輸出到發(fā)送端DSP。
對應(yīng)發(fā)送端,所述接收端FPGA包括:
第二檢測單元,用于監(jiān)測圖像數(shù)據(jù)中的幀同步信號,確定視頻起始;
升采樣單元,用于進(jìn)行升采樣;
第二格式化單元,用于進(jìn)行格式變化處理。
具體的,接收端FPGA接收DSP輸出的解壓縮恢復(fù)圖像數(shù)據(jù),第二檢測單元監(jiān)測幀同步信號,確定一幀視頻起始后,升采樣單元進(jìn)行2倍升采樣處理,第二格式化單元將升采樣處理的數(shù)據(jù)恢復(fù)為720×576格式圖像數(shù)據(jù)輸出至DA轉(zhuǎn)換芯片。
同時,所述發(fā)送端DSP 802具體可以包括:
圖像壓縮單元,用于對發(fā)送端FPGA輸出的圖像數(shù)據(jù)進(jìn)行壓縮處理;壓縮后數(shù)據(jù)率可以選擇為457kbps;
RS編碼單元,用于進(jìn)行RS信道編碼;針對復(fù)雜無線信道下的實(shí)時視頻傳輸,采用FEC(Forward Error Correction,前向糾錯編碼)進(jìn)行非均勻保護(hù),同時考慮增加FEC編碼占用額外信道帶寬對信源傳輸碼率的影響,以統(tǒng)一的信源信道聯(lián)合編碼統(tǒng)計率失真模型作為約束,優(yōu)化分配信源信道編碼碼率,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
其中信道編碼可以選擇為RS(255,239)或者RS(255,223);
交織單元,用于塊交織處理。其中交織深度可選。在交織處理中可以自定義編碼幀結(jié)構(gòu),通過信號設(shè)計將有記憶信道轉(zhuǎn)換為隨機(jī)無記憶信道。
與發(fā)送端DSP 802對應(yīng),所述發(fā)送端DSP 803具體可以包括:
解交織單元,用于根據(jù)交織單元的交織深度進(jìn)行解交織處理;
RS譯碼單元,用于根據(jù)RS編碼單元的RS信道進(jìn)行信道譯碼,其中RS(255,239)或者RS(255,223)可選
圖像解壓縮單元,用于進(jìn)行圖像解壓縮處理,恢復(fù)圖像數(shù)據(jù)。
本實(shí)施例提供的上述系統(tǒng),針對復(fù)雜無線信道下的實(shí)時視頻傳輸,通過圖像壓縮加RS編碼加交織的信源信道聯(lián)合編碼,能夠成功解決圖像在干擾信道下的傳輸問題,從而提高視頻傳輸?shù)臉I(yè)務(wù)質(zhì)量。
該系統(tǒng)采用FPGA+DSP的硬件架構(gòu),F(xiàn)PGA負(fù)責(zé)原始視頻數(shù)據(jù)的預(yù)處理,DSP負(fù)責(zé)預(yù)處理后的視頻數(shù)據(jù)的信源信道聯(lián)合編解碼。該系統(tǒng)具有靈活的處理結(jié)構(gòu),對不同需求的應(yīng)用都有較強(qiáng)的適應(yīng)能力,尤其適合快速的視頻壓縮與處理任務(wù),為設(shè)計中如何處理軟硬件的關(guān)系提供了一個較好的解決方案。
本說明書中各個實(shí)施例采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。本實(shí)施例為方法實(shí)施例一、二和三對應(yīng)的系統(tǒng)實(shí)施例,其中各個模塊功能的實(shí)現(xiàn)方式可以參見上述方法實(shí)施例,其類同之處相互參見即可,不再贅述。
對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
本發(fā)明中應(yīng)用了具體實(shí)施例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。