專利名稱:適用于無線網(wǎng)可靠傳輸?shù)碾p向可解變長數(shù)據(jù)塊視頻編碼的制作方法
技術領域:
本發(fā)明提出一種適用于無線網(wǎng)可靠傳輸?shù)碾p向可解變長數(shù)據(jù)塊視頻編碼方法。采用創(chuàng)新的容錯視頻編碼方案,提出了基于比特流重組的雙向可解變長數(shù)據(jù)塊編碼的概念、理論和實現(xiàn)方法,應用于無線網(wǎng)視頻傳輸系統(tǒng)中。
背景技術:
隨著移動通信和多媒體技術的發(fā)展,無線多媒體傳輸應用日趨廣泛。由于無線信道頻帶窄、差錯率高并有衰減效應,為視頻信號的傳輸帶來了巨大的挑戰(zhàn)。國際標準的視頻編碼方法雖可取得較高的壓縮比但同時大大增加了碼流的錯誤敏感性,在無線網(wǎng)上傳輸時不能得到很好的質量。無論是H.263++附錄V還是MPEG-4,都沒有實現(xiàn)完全的雙向解碼,如果要實現(xiàn)完全的雙向解碼,則會增加較多的編碼冗余和編解碼的復雜性。因此,需要研究在保證一定編碼效率的前提下具有一定容錯性能的視頻編碼方法,以便得到較好的端到端服務質量。
本發(fā)明對現(xiàn)有的容錯視頻編解碼方法進行分析和比較,根據(jù)無線信道的特點,確定了以容錯熵編碼和可靠的解碼方法作為主要研究方向,提出了一種適用于無線網(wǎng)可靠傳輸?shù)碾p向可解變長數(shù)據(jù)塊視頻編碼方法。該方法不僅可以實現(xiàn)完全的雙向解碼,大大限制了錯誤的擴散,同時還可以糾正一定突發(fā)長度的錯誤,特別適用于具有衰減特性的無線信道。相對于其他的容錯方法,該方法具有不增加碼率和較低計算復雜度(低的編碼冗余及編解碼復雜度)等優(yōu)點,大大提高了在不可靠信道上傳輸視頻信號的質量。
發(fā)明內容
適用于無線網(wǎng)可靠傳輸?shù)碾p向可解變長數(shù)據(jù)塊視頻編碼。以變長編碼數(shù)據(jù)塊為單位的雙向可解碼流,對于基于圖像塊的混合編碼算法來講,編碼以塊(或宏塊)為單位,屬于每個塊的編碼數(shù)據(jù)(除了使用預測編碼的運動矢量等參數(shù))都可以獨立解碼。屬于每個宏塊的碼流稱為一個數(shù)據(jù)塊,而數(shù)據(jù)塊的長度是可變的,因此也被稱為變長數(shù)據(jù)塊。我們將通過將正向可解的數(shù)據(jù)塊碼流與反向可解的數(shù)據(jù)塊碼流進行延遲的異或操作,從而使碼流雙向可解,而延遲的比特數(shù)則必須大于或等于碼流中最長的一個數(shù)據(jù)塊長度。這就是我們所提出的雙向可解變長數(shù)據(jù)塊視頻編碼方法。這種方法除了可實現(xiàn)對碼流的雙向解碼外,還可以糾正一定突發(fā)性錯誤長度的信道錯誤。對于錯誤檢測,我們利用信源解碼器固有的錯誤檢測功能及自然圖像的平滑特性進行錯誤檢測,在正向解碼過程中,使用信源解碼器所具有的錯誤檢測能力以確定碼流是否出現(xiàn)錯誤及錯誤的大概位置。然后解碼器將尋找下一個重同步碼,同時調用反向解碼過程,恢復錯誤之后的數(shù)據(jù)。雙向可解變長數(shù)據(jù)塊視頻編碼方法的優(yōu)勢在于能夠對碼流雙向解碼,在正向解碼過程所丟失的宏塊數(shù)據(jù)可在反向解碼過程中正確解出,反之亦然。即使不能完全糾正錯誤,也可以限制錯誤的擴散,將錯誤的影響大大降低,而且具有較低的編解碼復雜度及編碼冗余等優(yōu)點。
下面結合附圖對本發(fā)明專利進一步說明圖1是雙向可解變長數(shù)據(jù)塊編碼方法的視頻編碼過程在圖1中1-9表示接收的屬于第i個宏塊的碼流(MBi),箭頭→正表示正向可解碼過程,10-18表示第i個宏塊的反向碼流 箭頭←反表示反向可解碼過程,19表示異或運算,L表示延遲的比特數(shù)為最長數(shù)據(jù)塊(具有最多的比特)的長度,而最下端為最后生成的碼流用最終表示,可以看出,它是正向碼流與反向碼流的組合。另外,延遲的異或操作可使至少第一個宏塊的碼流是正向可解碼的,而最后一個宏塊的碼流是反向可解的。這在解碼時是必不可少的條件。
圖2是雙向可解變長數(shù)據(jù)塊視頻編碼方法的正向解碼過程在圖2中,1-9表示接收的屬于第i個宏塊的碼流(MBi),箭頭→正表示正向可解碼過程。10-18表示第i個宏塊的反向碼流 箭頭←反表示反向可解碼過程。19表示異或運算,L表示延遲的比特數(shù)為最長數(shù)據(jù)塊(具有最多的比特)的長度,。緩存表示解碼緩存區(qū)。
圖3是雙向可解變長數(shù)據(jù)塊視頻編碼方法的反向解碼過程在圖3中,1-9表示接收的屬于第i個宏塊的碼流(MBi),并用箭頭→正表示正向可解碼過程。10-18表示第i個宏塊的反向碼流 并用箭頭←反表示反向可解碼過程。19表示異或運算,L表示延遲的比特數(shù)為最長數(shù)據(jù)塊(具有最多的比特)的長度,緩存表示解碼緩存區(qū)。
具體實施方案雙向可解變長數(shù)據(jù)塊視頻編碼方法的編碼過程如圖1所示,具體實施方案是首先,使用基本的H.263編碼器將塊組中的每一個宏塊(假設塊組中共有m個宏塊)進行編碼,而每個宏塊的起始比特位置亦被保留,并記做Si(第i個宏塊)。而編完整個塊組后的比特位置被記為k,則每個宏塊所占的比特數(shù)記做為Ni如果i<m,則Ni=Si+1-Si;如果i=m,則Ni=k-si。接著屬于每個宏塊的碼流將被反向放置,并被保存到另外一個緩沖區(qū)中。然后調用一個延遲的異或操作,以生成最后的碼流,延遲的比特數(shù)(用L來代表)為最長數(shù)據(jù)塊(具有最多的比特)的長度。例如,如果MBi(圖1中1-9)的碼流為[101110001],則 的碼流為[100011101]。圖1中19表示異或運算(即模2加法),圖1最下端為最后生成的碼流,可以看出,它是正向碼流與反向碼流的組合。另外,延遲的異或操作可使至少第一個宏塊的碼流是正向可解碼的,而最后一個宏塊的碼流是反向可解的。這在解碼時是必不可少的條件。
在解碼端分兩種情況一種情況為正向解碼過程,具體實施方案如圖2所示。在此過程中,解碼器首先將接收碼流中的前L個比特放入解碼緩沖區(qū)(圖2的最下端)。然后解碼器解出第一個宏塊,而屬于第一個宏塊的碼流則被反向放置在另外一個緩沖區(qū)內(在圖2的中間)。接著接收碼流同反向放置的碼流進行延遲的異或操作,其結果就被放入解碼緩沖區(qū)。之后,解碼器就可解出第二個宏塊,重復該過程,直到解完塊組中所有的宏塊。第二種情況為反向解碼過程,具體實施方案如圖3所示。在此過程中,解碼器將把接收碼流中最后的L個比特放入解碼緩沖區(qū)。則解碼器可解出最后一個宏塊,而屬于此宏塊的碼流則被反向放置在另一個緩沖區(qū)中。以下的解碼過程同正向解碼過程類似。
在雙向解碼過程中正向解碼使用向前檢測錯誤的方法,反向解碼使用向后檢測錯誤的方法,以確定碼流是否出現(xiàn)錯誤及錯誤的大概位置;解碼器對碼流進行正向解碼時,如果沒有檢測到錯誤,則不需要調用反向解碼過程,而是繼續(xù)對后面的塊組數(shù)據(jù)解碼。如果檢測到錯誤,則解碼器將尋找到下一個重同步碼,并調用反向解碼過程,解出錯誤之后的宏塊。因此,在正向解碼過程所丟失的宏塊數(shù)據(jù)可在反向解碼過程中正確解出,反之亦然。經(jīng)過雙向解碼過程之后,被破壞或丟失的宏塊數(shù)據(jù)將被恢復,而最后的結果與沒有發(fā)生錯誤時的解碼圖像一樣。
權利要求
1.一種視頻編碼方法,適用于無線網(wǎng)可靠傳輸?shù)碾p向可解變長數(shù)據(jù)塊視頻編碼,其特征是以變長編碼數(shù)據(jù)塊為單位的雙向可解碼流,對于基于圖像塊的混合編碼算法,編碼以塊(或宏塊)為單位,屬于每個塊的編碼數(shù)據(jù)(除了使用預測編碼的運動矢量等參數(shù))都可以獨立解碼。
2.根據(jù)權利要求1所述的視頻編碼方法,其特征是屬于每個宏塊的碼流稱為一個數(shù)據(jù)塊,而數(shù)據(jù)塊的長度是可變的,正向可解的數(shù)據(jù)塊碼流與反向可解的數(shù)據(jù)塊碼流進行延遲的異或操作,從而使碼流雙向可解,而延遲的比特數(shù)則必須大于或等于碼流中最長的一個數(shù)據(jù)塊長度。
3.根據(jù)權利要求1所述的視頻編碼方法,其特征是在雙向解碼過程中,正向解碼使用向前檢測錯誤的方法,反向解碼使用向后檢測錯誤的方法,以確定碼流是否出現(xiàn)錯誤及錯誤的大概位置;在對碼流進行正向解碼時,如果沒有檢測到錯誤,則不要調用反向解碼過程,而是繼續(xù)對后面的塊組數(shù)據(jù)解碼;如果檢測到錯誤,則解碼器將尋找下一個重同步碼,同時調用反向解碼過程,解出錯誤之后的宏塊,正向解碼過程所丟失的宏塊數(shù)據(jù)可在反向解碼過程中正確解出,反之亦然。
全文摘要
一種適用于無線網(wǎng)可靠傳輸?shù)碾p向可解變長數(shù)據(jù)塊視頻編碼方法。以變長編碼數(shù)據(jù)塊為單位的雙向可解碼流,對于基于圖像塊的混合編碼算法,編碼以塊(或宏塊)為單位,屬于每個塊的編碼數(shù)據(jù)(除了使用預測編碼的運動矢量等參數(shù))都可以獨立解碼。屬于每個宏塊的碼流稱為一個數(shù)據(jù)塊,而數(shù)據(jù)塊的長度是可變的,正向可解的數(shù)據(jù)塊碼流與反向可解的數(shù)據(jù)塊碼流進行延遲的異或操作,從而使碼流雙向可解,而延遲的比特數(shù)則必須大于或等于碼流中最長的一個數(shù)據(jù)塊長度。在正向解碼過程中,使用信源解碼器所具有的錯誤檢測能力以確定碼流是否出現(xiàn)錯誤及錯誤的大概位置。然后解碼器將尋找下一個重同步碼,同時調用反向解碼過程,解出錯誤之后的數(shù)據(jù)。
文檔編號H04N7/64GK1625263SQ200310117120
公開日2005年6月8日 申請日期2003年12月3日 優(yōu)先權日2003年12月3日
發(fā)明者凃國防, 高紹帥, 張燦 申請人:中國科學院研究生院