本發(fā)明屬于通信中的信號與信息處理領(lǐng)域,具體是涉及一種視頻圖像壓縮感知編解碼器系統(tǒng)及其編解碼方法。
背景技術(shù):
:現(xiàn)有視頻壓縮編碼器的裝置是基于傳統(tǒng)的香農(nóng)采樣定理實(shí)現(xiàn)的。在該定理要求下,信號的采樣率必須大于輸入信號帶寬的2倍,才能實(shí)現(xiàn)信號的準(zhǔn)確重構(gòu)。所以,為了恢復(fù)視頻圖像,在硬件上,編解碼器需要強(qiáng)大的CPU處理功能,外圍存儲器配置較多,成本較高;軟件上,圖像處理的樣本數(shù)增多,數(shù)據(jù)量龐大。因此,目前的視頻圖像編解碼器的主要問題是:(1)編碼器和解碼器需要高速CPU處理,需要更多的輔助存儲器和外圍擴(kuò)展電路。(2)在視頻編碼過程中,由于圖像變換后大部分的系數(shù)被舍棄,造成了數(shù)據(jù)和系統(tǒng)資源的嚴(yán)重浪費(fèi)。(3)在多用戶環(huán)境下,這種技術(shù)很難達(dá)到信源和信道的優(yōu)化編解碼。例如,H.264視頻采用可變長編碼(VLC)設(shè)計(jì),即使出現(xiàn)單個(gè)編碼錯(cuò)誤,也能傳播很長時(shí)間并導(dǎo)致碼率較大失真。因此,傳統(tǒng)的編解碼器通信系統(tǒng)存在資源優(yōu)化分配的問題。近年來出現(xiàn)的壓縮感知(CompressiveSensing,CS)技術(shù)指出,在已知信號具有稀疏性或可壓縮性的前提下,用于重構(gòu)的樣本數(shù)可以遠(yuǎn)遠(yuǎn)低于傳統(tǒng)的香農(nóng)采樣定理下的樣本數(shù)。視頻圖像通常在某些變換域上具有可壓縮性,而且視頻殘差圖像具有較強(qiáng)的稀疏性,所以CS技術(shù)在視頻編解碼中有著良好的應(yīng)用前景。CS解碼器與傳統(tǒng)解碼器的主要區(qū)別在于,傳統(tǒng)解碼過程是編碼的逆過程,解碼器相對簡單,編碼器較為復(fù)雜,而基于壓縮感知理論的解碼不再是編碼的逆過程,而是一個(gè)求欠定線性方程組解的過程,相對于編碼器來說,解碼器較為復(fù)雜。這種情況有利于環(huán)境惡劣或條件較為嚴(yán)格時(shí)的編碼測量??傊贑S視頻編解碼器結(jié)構(gòu)比傳統(tǒng)的更簡單,且編碼達(dá)到的壓縮比和解碼重構(gòu)圖像的質(zhì)量都較高。技術(shù)實(shí)現(xiàn)要素:基于CS技術(shù)的性質(zhì),為了降低數(shù)據(jù)量和計(jì)算成本,本發(fā)明提出一種視頻圖像壓縮感知編解碼器系統(tǒng)及其編解碼方法。一種視頻圖像壓縮感知編解碼器系統(tǒng),主要包括:用于視頻采集的視頻采集子系統(tǒng)、處理器模塊、FPGA模塊、內(nèi)存模塊DDR、Flash、以太網(wǎng)網(wǎng)口以及UART接口,所述視頻采集子系統(tǒng)、FPGA模塊、內(nèi)存模塊DDR和Flash分別通信連接處理器模塊;所述處理器模塊通過以太網(wǎng)網(wǎng)口、UART接口分別通信連接對端端口和計(jì)算機(jī)控制臺;所述處理器模塊內(nèi)含用于處理系統(tǒng)控制和運(yùn)行操作系統(tǒng)功能的ARM核以及利用CS技術(shù)實(shí)現(xiàn)語音和視頻編解碼功能的DSP核,所述DSP核和ARM核以交互處理的方式運(yùn)行。作為上述方案的進(jìn)一步改進(jìn),所述DSP核和ARM核通過內(nèi)部寄存器的內(nèi)存映射來進(jìn)行交互處理。作為上述方案的進(jìn)一步改進(jìn),所述處理器模塊為TMS320DM6446處理器芯片,該芯片內(nèi)部集成了一個(gè)600MHz工作頻率的DSP核和一個(gè)300MHz工作頻率的ARM926核。作為上述方案的進(jìn)一步改進(jìn),所述DSP核采用二級存儲器結(jié)構(gòu),以平衡二級不同大小、性能的存儲器之間的資源和性能。其中一級存儲器是靠近DSP核處理器的,所以它的處理速度比較快,而二級DSP核處理器的速度就只有一級的一半。在實(shí)際使用時(shí),所有的代碼和數(shù)據(jù)是不可能全部裝入到速度最快的一級緩存中去的,所以通過CS技術(shù)的編解碼處理合理解決了的存儲器資源分配,同時(shí)提高了代碼運(yùn)行效率。一種視頻圖像壓縮感知編解碼器的編解碼方法,主要包括以下步驟:第一,把視頻序列的首幀作為第一個(gè)分組的第一個(gè)關(guān)鍵幀;當(dāng)視頻序列輸入編碼器時(shí),把視頻序列的首幀作為第一個(gè)分組的第一個(gè)關(guān)鍵幀;第二,進(jìn)行閾值判決;從視頻的第二幀開始即進(jìn)行閾值判決,若當(dāng)前幀與參考幀之間的差異系數(shù)小于閾值,則判定為場景變化較小或者沒有場景的變化,該幀就作為非關(guān)鍵幀與當(dāng)前關(guān)鍵幀劃在同一分組;若當(dāng)前幀與參考幀之間的差異系數(shù)大于或等于閾值,則判定為場景變化較大,該幀就作為新的關(guān)鍵幀并劃入新的分組;第三,第二步重復(fù)運(yùn)作,將視頻信號自適應(yīng)地劃分為分組1,分組2,…,分組N,得N個(gè)分組;并對應(yīng)地有關(guān)鍵幀1,關(guān)鍵幀2,…,關(guān)鍵幀N,得N個(gè)關(guān)鍵幀和若干非關(guān)鍵幀;第四,對關(guān)鍵幀整幀圖像進(jìn)行整幀CS編碼、傳輸、解碼,然后重構(gòu)關(guān)鍵幀圖像輸出;對非關(guān)鍵幀則先與參考幀求殘差,然后只對殘差圖像進(jìn)行殘差CS編碼、傳輸、解碼,重構(gòu)殘差圖像后與參考幀相加,得到非關(guān)鍵幀重構(gòu)圖像輸出。在DSP系統(tǒng)中用Flash存儲器保存CS視頻編解碼器程序,并且在上電或復(fù)位時(shí)再將存儲在Flash中的CS程序搬移到DSP片內(nèi)或者片外的DDR中全速運(yùn)行。和傳統(tǒng)的視頻編碼器相比,本發(fā)明有以下幾個(gè)不同點(diǎn):(1)、傳統(tǒng)方式下是以塊作為處理單元的,而基于壓縮感知理論的編碼器是對整幅圖像進(jìn)行處理的;(2)、壓縮感知理論下的圖像樣本數(shù)遠(yuǎn)遠(yuǎn)小于傳統(tǒng)方式下的樣本數(shù)據(jù),因此,CS編解碼器可在一個(gè)DSP中運(yùn)行,節(jié)約了系統(tǒng)的硬件資源;(3)、基于壓縮感知編碼中的測量過程是將高維信號投影到低維空間的一個(gè)非自適應(yīng)過程,事實(shí)上,它可對應(yīng)于傳統(tǒng)方式下的采樣和變換過程,由于得到的每個(gè)測量值包含了傳統(tǒng)方式下的所有樣本的部分信息,所以它能避免傳統(tǒng)方式下因丟棄高頻分量而帶來圖像細(xì)節(jié)丟失的現(xiàn)象;(4)、傳統(tǒng)方式下的幀間編碼需進(jìn)行運(yùn)動(dòng)估計(jì)和補(bǔ)償,而基于壓縮感知的幀間編碼不需這些過程,有利于降低DSP計(jì)算的復(fù)雜度。因此,本發(fā)明有以下優(yōu)點(diǎn):(1)、用DSP(DigitalSignalProcesser)壓縮感知(CompressiveSensing,CS)編解碼器處理整幅圖像數(shù)據(jù),替代傳統(tǒng)編碼方式下以塊作為處理單元的設(shè)計(jì),解決CPU運(yùn)行效率問題;(2)、由于CS技術(shù)的采樣和壓縮同步進(jìn)行,因此,CS編解碼器在DSP中的配置設(shè)計(jì)只針對關(guān)鍵幀和殘差圖像進(jìn)行有效處理,可以節(jié)約DSP視頻系統(tǒng)的硬件和軟件資源;(3)、用CS測量矩陣替代傳統(tǒng)方式下幀間編碼需要進(jìn)行的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償編解碼過程,降低系統(tǒng)運(yùn)算的復(fù)雜度。附圖說明圖1為本發(fā)明視頻圖像壓縮感知編解碼器系統(tǒng)示意圖;圖2為本發(fā)明視頻圖像壓縮感知編解碼器的編解碼方法流程圖;圖3為MBM29LV400BC與DSP連接示意圖;圖4為重構(gòu)視頻圖像的平均PSNR隨N和N1的變化示意圖。具體實(shí)施方式以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。參照圖1~3,本發(fā)明實(shí)施例一種視頻圖像壓縮感知編解碼器系統(tǒng),主要包括:用于視頻采集的視頻采集子系統(tǒng)、處理器模塊、FPGA模塊、內(nèi)存模塊DDR、Flash、以太網(wǎng)網(wǎng)口以及UART接口,所述視頻采集子系統(tǒng)、FPGA模塊、內(nèi)存模塊DDR和Flash分別通信連接處理器模塊;所述處理器模塊通過以太網(wǎng)網(wǎng)口、UART接口分別通信連接對端端口和計(jì)算機(jī)控制臺;所述處理器模塊內(nèi)含用于處理系統(tǒng)控制和運(yùn)行操作系統(tǒng)功能的ARM核以及利用CS技術(shù)實(shí)現(xiàn)語音和視頻編解碼功能的DSP核,所述DSP核和ARM核以交互處理的方式運(yùn)行。作為上述方案的進(jìn)一步改進(jìn),所述DSP核和ARM核通過內(nèi)部寄存器的內(nèi)存映射來進(jìn)行交互處理。作為上述方案的進(jìn)一步改進(jìn),所述處理器模塊為TMS320DM6446處理器芯片,該芯片內(nèi)部集成了一個(gè)600MHz工作頻率的DSP核和一個(gè)300MHz工作頻率的ARM926核。作為上述方案的進(jìn)一步改進(jìn),所述DSP核采用二級存儲器結(jié)構(gòu),以平衡二級不同大小、性能的存儲器之間的資源和性能。其中一級存儲器是靠近DSP核處理器的,所以它的處理速度比較快,而二級DSP核處理器的速度就只有一級的一半。在實(shí)際使用時(shí),所有的代碼和數(shù)據(jù)是不可能全部裝入到速度最快的一級緩存中去的,所以通過CS技術(shù)的編解碼處理合理解決了的存儲器資源分配,同時(shí)提高了代碼運(yùn)行效率。參照圖1~3,一種視頻圖像壓縮感知編解碼器的編解碼方法,主要包括以下步驟:第一,把視頻序列的首幀作為第一個(gè)分組的第一個(gè)關(guān)鍵幀;當(dāng)視頻序列輸入編碼器時(shí),把視頻序列的首幀作為第一個(gè)分組的第一個(gè)關(guān)鍵幀;第二,進(jìn)行閾值判決;從視頻的第二幀開始即進(jìn)行閾值判決,若當(dāng)前幀與參考幀之間的差異系數(shù)小于閾值,則判定為場景變化較小或者沒有場景的變化,該幀就作為非關(guān)鍵幀與當(dāng)前關(guān)鍵幀劃在同一分組;若當(dāng)前幀與參考幀之間的差異系數(shù)大于或等于閾值,則判定為場景變化較大,該幀就作為新的關(guān)鍵幀并劃入新的分組;第三,第二步重復(fù)運(yùn)作,將視頻信號自適應(yīng)地劃分為分組1,分組2,…,分組N,得N個(gè)分組;并對應(yīng)地有關(guān)鍵幀1,關(guān)鍵幀2,…,關(guān)鍵幀N,得N個(gè)關(guān)鍵幀和若干非關(guān)鍵幀;第四,對關(guān)鍵幀整幀圖像進(jìn)行整幀CS編碼、傳輸、解碼,然后重構(gòu)關(guān)鍵幀圖像輸出;對非關(guān)鍵幀則先與參考幀求殘差,然后只對殘差圖像進(jìn)行殘差CS編碼、傳輸、解碼,重構(gòu)殘差圖像后與參考幀相加,得到非關(guān)鍵幀重構(gòu)圖像輸出。在DSP系統(tǒng)中用Flash存儲器保存CS視頻編解碼器程序,并且在上電或復(fù)位時(shí)再將存儲在Flash中的CS程序搬移到DSP片內(nèi)或者片外的DDR中全速運(yùn)行。本實(shí)施例以MBM29LV400BC為Flash存儲器操作CS編解碼程序。MBM29LV400BC與DSP連接如圖3所示。在圖3中,MBM29LV400BC只需作為DSP的外部數(shù)據(jù)存儲器與其進(jìn)行連接,而中間的邏輯電路采用CPLD實(shí)現(xiàn)即可。這里使用16位數(shù)據(jù)寬度,所以引腳通過一個(gè)上拉電阻接到3.3V電源。相應(yīng)的VHDL語言程序?yàn)椋篎LASH_CE<=DSP_DS;FLASH_OE<=(NOTDSP_R_W)ORDSP_MSTRB;FLASH_WE<=DSP_R_WORDSP_MSTRB;為了可以成功通過DSPCCS環(huán)境的編譯和鏈接,在移植經(jīng)過CS技術(shù)處理的程序算法前,需要重新設(shè)置CCS的編譯選項(xiàng)。主要包括如下工作:a)內(nèi)存存儲方式(Endianness)設(shè)置。DM6446是從低位至高位字節(jié)訪問存儲器的,所以該選項(xiàng)選擇little_endian。b)編譯器Flash內(nèi)存模式(MemoryModels)設(shè)置。CS_Flash中的變量和數(shù)據(jù)一般大于32KB,所以選擇FarAggregate選項(xiàng)。c)CS編譯器自動(dòng)優(yōu)化選項(xiàng)設(shè)置。CCS編譯器提供了若干種類的優(yōu)化選項(xiàng)(如-o2、-o3、-pm、-mt等),根據(jù)實(shí)際CS處理程序選擇合適的優(yōu)化選項(xiàng)是代碼移植前的重要工作。在正確設(shè)置CCS的編譯選項(xiàng)后,就可以開始進(jìn)行CS編解碼器的移植工作,即在DM6446中生成基于CS技術(shù)的H.264編解碼器的工程文件,需要依次進(jìn)行下面幾項(xiàng)工作:a)編譯生成算法庫文件*.lib(可以直接在修改*.a64P文件文件后綴名生成)。b)生成DSPServer,即*.out文件(Linux環(huán)境下為DM6446上的可執(zhí)行程序*.x64P)。c)生成CodecEngine的配置文件*.cfg。這個(gè)文件包括CodecEngine的名稱、每個(gè)Engine里包括的codec、每個(gè)codec運(yùn)行的硬件環(huán)境(ARM側(cè)或DSP側(cè))等。d)根據(jù)codec、DSPServer和Engine配置文件*.cfg,通過編譯、鏈接,最終生成ARM側(cè)可執(zhí)行的應(yīng)用程序。該系統(tǒng)主要功能參數(shù)■輸入的頻率范圍:46.25MHz-863.25MHz;■視頻格式:H.264/PAL/NTSC/MPEG-2;■音效系統(tǒng):H.264/MPEG-2/AC-35.1ch/LR;■電壓需求:220±10%AC/50Hz/60Hz;■視訊輸出:1)纜線輸出訊號大?。?.0Vp-p/75′Ω不平衡;2)S輸出信號大?。篩分量:1.0Vp-p/75′Ω3)C分量:0.3Vp-p/75′Ω4)音效輸出:2.0Vp-p/10K′Ω5)傳輸碼率:1Mbps-15Mbps;6)碼流傳輸方式:VBR/CBR(可CS編程);7)功率耗散:約35W;8)輸出接口:以太網(wǎng)/USB/RS232。為了驗(yàn)證CS視頻編解碼器系統(tǒng)配置的有效性,對兩組視頻序列進(jìn)行處理,考慮不同I幀采樣數(shù)N與P幀采樣數(shù)N1組合下的視頻重構(gòu)質(zhì)量。編碼測量過程中的稀疏基采用Daubechies9/7小波基,測量矩陣選用32×32的隨機(jī)擾動(dòng)分塊哈達(dá)瑪(Hadamard)矩陣。重構(gòu)算法采用GPSR(Gradientprojectionforsparsereconstruction)算法。將原始視頻序列經(jīng)過DM642進(jìn)行編碼,生成符合H.264標(biāo)準(zhǔn)格式的文件傳輸?shù)絇C上,并驗(yàn)證其碼流的正確性。測試分辨率為QCIF的YUV視頻序列Foreman和Akiyo,其幀數(shù)均為300,大小為11138KB。以下是分別對兩個(gè)測試對象進(jìn)行測試的結(jié)果。常用的H.264與經(jīng)過本專利的CS技術(shù)處理后的的程序在編碼速度和PSNR上進(jìn)行比較如表1-2所示。表1為:CS技術(shù)處理H.264前后視頻序列的編碼速度對比;表2為CS技術(shù)處理H.264前后視頻序列的PSNR值對比。YUV視頻序列常規(guī)H.264編碼速度(fps)CS處理后編碼速度(fps)foreman.qcif3.1533.45akiyo.qcif5.6149.74表1表2參照圖4,在二組實(shí)驗(yàn)中,連續(xù)的80幀視頻序列被分成8組,每組10幀。每組的第一幀進(jìn)行I幀編碼,組內(nèi)的其余幀采用P幀編碼方式,參考幀選用當(dāng)前幀的前面已解碼重構(gòu)的幀。當(dāng)I幀的采樣數(shù)N從10000到65000進(jìn)行變化,對每種I幀的情況,P幀的采樣數(shù)N1從5000到65000變化。各種情況下,重構(gòu)視頻圖像的平均PSNR隨N和N1的變化如圖4所示??梢?,本專利提出的基于壓縮感知(CS)技術(shù)的視頻編解碼器,結(jié)構(gòu)簡單,軟硬件裝置合理,運(yùn)行結(jié)果穩(wěn)定。CS編解碼器的設(shè)計(jì)充分利用了視頻圖像的相鄰幀間的殘差具有較強(qiáng)的稀疏性的特點(diǎn),在樣本數(shù)很少的情況下,仍取得了較高的壓縮比和較好的圖像重構(gòu)效果。實(shí)驗(yàn)驗(yàn)證時(shí)采用的是對視頻圖像固定分組形式,若采用根據(jù)圖像稀疏度變化情況自適應(yīng)地分組形式,效果將會更好。以上已將本發(fā)明做一詳細(xì)說明,但顯而易見,本領(lǐng)域的技術(shù)人員可以進(jìn)行各種改變和改進(jìn),而不背離所附權(quán)利要求書所限定的本發(fā)明的范圍。當(dāng)前第1頁1 2 3