本發明涉及通信編譯碼領域的一種聯合信源信道譯碼方法,特別是涉及一種基于麻花辮網格的聯合信源信道變長譯碼算法。
背景技術:
C.E.Shannon提出的“香農”分離理論是當前通信系統中編碼設計的理論依據,它指出可以通過將信源編碼和信道編碼分別最優設計使整個系統最優化。實際中通信系統受時延和譯碼復雜度的限制,分離編碼系統的性能受到了限制,無法達到最優。
聯合信源信道譯碼通過將信源信道的編碼或譯碼作為一個整體考慮,可以縮小次優系統與最優系統之間的性能差距。
變長編碼由于其高壓縮率,被廣泛應用于多種圖像、視頻等多媒體數據壓縮標準中。而由于變長編碼數據對差錯非常敏感,所以隨著無線通信的日益普及,變長編碼數據的可靠傳輸問題正在成為研究的熱點,而基于變長編碼信源的聯合信源信道編譯碼也越來越引起人們的關注。
起源于了Turbo碼譯碼的迭代譯碼技術可以降低譯碼復雜度,并可以按照實際需求靈活的在復雜度和性能之間折衷。近來迭代譯碼技術已經被引入到聯合信源信道譯碼領域,在信源信道迭代譯碼方案中,軟輸入、軟輸出信源譯碼和軟輸入、軟輸出信道譯碼器互相交換軟信息,進行迭代譯碼。當前主流的軟輸入、軟輸出信源變長譯碼沿用了網格譯碼方法。目前有兩種主流的網格圖,分別是符號級網格和比特級網格。基于符號級網格能實現最優變長譯碼,可以方便的利用符號間的關聯,得到符號級和比特級的軟輸出,但基于符號級網格的譯碼復雜度很高,還無法在實際中應用。基于比特級網格,可以得到比特級軟信息,譯碼復雜度低,但是其性能比基于符號級網格的變長譯碼性能要差。
技術實現要素:
針對當前基于符號級網格的變長譯碼復雜度過高和基于比特級網格的譯碼性能較差的特點,本發明提出了一種基于麻花辮網格的聯合信源信道變長譯碼算法,可以在保證損失較少性能的前提下降低符號級變長譯碼的復雜度。
本發明解決其技術問題所釆用的技術方案是:將變長編碼的比特序列用新型的麻花辮網格圖表示,基于麻花辮網格提出了一種的軟輸入、軟輸出變長譯碼算法,在聯合信源信道迭代譯碼器中,信源變長譯碼采用基于麻花辮網格的變長譯碼算法進行譯碼。
麻花辮網格具有單狀態鏈式結構,網格中每條分支代表變長編碼序列中一個可能存在的變長碼字。網格中每個狀態代表一段變長碼序列的開始或結束,如果有一條或多條分支在n時刻開始或者在n時刻結束,則n時刻有且只有一個狀態,反之n時刻不存在狀態。基于麻花辮網格可采用軟輸入、軟輸出變長譯碼算法進行譯碼,在前向遞推運算中,計算n時刻的前項遞推值用到的其他各個前項遞推值可以是不同時刻的,在后向遞推運算中,計算n時刻的后項遞推值用到的其他各個后項遞推值也可以是不同時刻的,在計算第n比特的似然比時,將經過第n時刻的所有分支分為兩類,第一類在n時刻對應的比特是1,第二類在n時刻對應的比特是0,第一類各分支的后驗概率之和與第二類各分支的后驗概率之和的比值作為第n比特的似然比。
本發明的有益效果是:在保證性能損失較少的前提下,降低了基于變長編碼信源的聯合信源信道譯碼的復雜度;可以在相對于傳統的分離譯碼方法只增加少量復雜度和存儲空間的條件下,很大程度提高了對變長編碼序列的譯碼性能。無線信道中傳輸的圖像、視頻等變長編碼數據,可以采用基于麻花辮網格的聯合信源信道變長譯碼算法進行譯碼。
附圖說明
圖1:麻花辮網格。
在圖1中設有包含4個元素的符號集U={A,B,C,D},各符號經變長編碼后的被映射成相應的變長碼字,分別為:c(A)=0,c(B)=10,c(C)=110,c(D)=111。圖中1表示為狀態Sn,代表一段變長碼字序列的開始或者結束;圖中2,3,4,5分別表示不同符號對應的分支,每條分支對應比特序列中一個可能存在的變長碼字。分支2對應符號A,也即碼字0;分支3對應符號B,也即碼字10;分支4對應符號C,也即碼字110;分支5對應符號D,也即碼字111。
圖2:聯合信源信道編解碼模型。
圖中6表示變長編碼器;7表示交織器;8表示一個反饋系統卷積碼編碼器;9表示有噪信道;10表示聯合信源信道迭代譯碼器;11表示符號序列u;12表示u經變長編碼器6編碼后輸出比特序列v;13表示v經過交織器7交織的版本v’;14表示v’經反饋系統卷積碼編碼器8編碼后輸出的比特序列x;15表示迭代譯碼器的輸入序列y;16表示聯合信源信道迭代譯碼器10根據15得到的對信源符號序列11的估計序列U’。
圖3:聯合信源信道迭代譯碼器結構。
圖3是圖2中聯合信源信道迭代譯碼器110的詳細結構。圖3中7表示交織器;17表示卷積碼譯碼器(即軟輸入、軟輸出反饋系統卷積碼譯碼器18表示變長譯碼器(即基于麻花辮網格的符號級軟輸入、軟輸出變長譯碼器19表示解交織器;15表示迭代譯碼器的輸入序列y;21表示卷積碼外信息(即反饋系統卷積碼譯碼器17輸出的軟信息22表示變長碼先驗信息(即變長譯碼器18的軟輸入信息)23表示變長碼外信息(即變長譯碼器18輸出的軟信息);24表示卷積碼先驗信息(即反饋系統卷積碼譯碼器17的軟輸入信息);16表示估計序列U(即聯合信源信道譯碼器10根據迭代譯碼器的輸入序列y15得到的對信源符號序列u11的估計序列)
圖4:前項遞推運算。
圖中25表示n-3時刻的前項遞推值以αn-3,26表示n-2時刻的前項遞推值αn-2,27表示n-1時刻的前項遞推值αn-1,28表示n時刻的前項遞推值αn,29表示開始于n-3時刻的c(C)=110對應的遞推因子γc,n-3,30表示開始于n-3時刻的c(D)=111對應的遞推因子γD,n-3,31表示開始于N-2時刻的c(B)=10對應的遞推因子γB,n-2,32表示開始于n-1時刻的c(A)=0對應的遞推因子γA,n-1,33表示乘法器,34表示加法器。由本圖可得到計算前項遞推值αn所用到的各個變量,并得到表示n時刻的前項遞推值公式(1):
αn=αn-1×γA,n-1+αn-2×γB,n-2+αn-3×γC,n-3+αn-3×γD,n-3 (1)
具體實施方式
1.符號級變長譯碼
a)麻花辮網格
將變長編碼的比特序列用圖1所示的新型的麻花辮網格圖表示:麻花辮網格具有單狀態鏈式結構,在麻花辮網格中,每條分支都代表了變長編碼序列中一個可能存在的變長碼字。圖1中分支2對應符號A,也即碼字0;分支3對應符號B,也即碼字10;分支4對應符號C也即碼字110;分支5對應符號D,也即碼字111。圖1中每個狀態S代表一段變長碼序列的開始或結束。如果有一條或多條分支從n時刻開始或者在n時刻結束,則在n時刻存在且只存在一個狀態,記做Sn;反之n時刻不存在狀態。
b)基于麻花辮網格的變長譯碼算法
在圖1中設有包含4個元素的符號集U={A,B,C,D},各符號經變長編碼后的被映射成相應的變長碼字,分別為:c(A)=0,c(B)=10,c(C)=110,c(D)=111。i是U中的符號,在圖2中變長編碼器6將符號i映射成一個變長碼字,其長度為記作為l(i)。設在圖3中卷積碼譯碼器17輸入端的輸入序列y15中的信息位序列為w,將w用麻花辮網格表示。圖1麻花辮網格中每個狀態S1對應一個前項遞推值αn時刻的狀態記作Sn;,相應的前項遞推值為αn,每條分支對應一個遞推因子γ。對于起始于n時刻的符號i的分支,其遞推因子記作γi,n。為方便說明,用un表示符號序列中的某符號,并且它對應的變長碼字在比特序列中的起始位置為n,則麻花辮網格中起始于n時刻的符號i對應的分支的后驗概率P(Un=i|w),按)(2)式分解αn,γI,n+1,βn+l(i)和常數C四項的乘積。計算中C可以忽略。
p(un=i|w)=c*βn+l(i)*γi,n*αn ⑵
計算時,將α1和βn+l的初始值設為1,其余所有狀態α和β的值都利用遞推因子γ遞推運算得來的。如圖4所示,圖中n-3時刻的前項遞推值αn-325與開始于n-3時刻的c(C)=110對應的遞推因子γC,n-329相乘,25與開始于n-3時刻的c(D)=111對應的遞推因子γd,n-330相乘,n-2時刻的前項遞推值αn-226與開始于n-2時刻的對應的遞推因子c(B)=1031相乘,n-1時刻的前項遞推值n-127與開始于n-1時刻的c(A)=0對應的遞推因子γa,n-132相乘,然后各項之和作為n時刻的前項遞推值αn-28;以上運算可表示為式中的前項遞推運算。
公式
βn項由(4)式的后項遞推運算得來,其過程與圖4所描述的前向遞推運算類似:
γi,n項如下計算,其中是w的子序列:
C)符號序列估計
基于麻花辮網格,本發明提出了對變長編碼序列的最大似然序列估計方法。該序列估計方法將前項迭代值α作為路徑量度,將迭代因子γ作為分支量度,可以得到到達每個狀態的
最大似然路徑,而到達麻花辮網格最后一個狀態的最大似然路徑即符號估計序列U’。
2.信源信道迭代譯碼器
A)編碼模型
本發明中編碼端結構如圖2所示。由變長編碼器6和反饋系統卷積碼編碼器8串行級聯而成,兩個編碼器用交織器7隔開。
B)信源信道迭代譯碼器
在接收端,聯合信源信道迭代譯碼器結構如圖3所示,圖中卷積碼譯碼器17,變長譯碼器18,交織器7和解交織器19。在圖3中卷積碼譯碼器17和變長譯碼器18可以相互交換軟信息,迭代譯碼。
在圖3中卷積碼譯碼器17根據迭代譯碼器的輸入序列y15和卷積碼先驗信息24進行譯碼,并輸出卷積碼外信息21。卷積碼外信息21經解交織19后得到變長碼先驗信息22,變長譯碼器18根據變長碼先驗信息22進行譯碼。
圖3中變長碼外信息23經交織器7交織后得到卷積碼先驗信息24,再被送入卷積碼譯碼器17用于譯碼,如此迭代譯碼。當滿足一定條件后圖3所示的聯合譯碼器將終止迭代,由變長譯碼器18進行符號序列判決并輸出估計序列U’。