新四季網

一種視頻傳輸的差錯控制方法及系統的製作方法

2023-09-22 20:20:20

專利名稱:一種視頻傳輸的差錯控制方法及系統的製作方法
技術領域:
本發明涉及視頻傳輸差錯控制技術,具體的說涉及一種視頻傳輸的差錯控制方法 及系統。
背景技術:
隨著多媒體、網絡技術及移動通信技術的迅速發展,移動終端,例如手機的視頻傳 輸等大容量傳輸應用成了必然的趨勢。但是在無線行動網路信道中,誤碼的產生、數據的丟 失總是難以避免。而且壓縮後的視頻數據對碼元錯誤非常敏感,少量碼元的錯誤就可能導 致大批碼元無法正確解碼。進而導致手機終端重建圖像質量嚴重下降,甚至無法重建圖像。 因而,對誤碼進行錯誤控制成為手機視頻通信中的一個重要技術,也是當前研究的熱點方 向之一。在一些特殊應用場合,如實時手機視頻業務或手機視頻廣播(手機電視業務),當 視頻傳輸錯誤發生(數據丟失)時,由於不能接受重傳的時間延遲,或者沒有反向控制信 道,不能通過自動請求重傳(ARQ)重新傳輸錯誤的視頻數據,則只能採取手機解碼端的誤 碼掩蓋儘量減小錯誤對當前幀和後續幀的影響。手機終端的誤碼掩蓋技術的出發點是利用手機視頻信號中的空域和時域的冗餘 信息,當傳輸錯誤發生時,接收端可以參考已經正確解碼的視頻數據並通過算法重建錯誤 區域以改善圖像質量。需要指出的是,手機終端的錯誤掩蓋只針對解碼過程,不需要對發送 端進行修改,因此不會改變視頻碼流結構,具有較好的適應性。手機終端的誤碼掩蓋的依據是自然景物的低頻特性,即視頻圖像在空間和時間上 的高度相關性和平滑性,因此可分別在空域、時域內進行插值掩蓋。空域插值是對受損宏 塊進行紋理恢復的一個比較有效的辦法,它通過相鄰宏塊正確的宏塊進行空域像素內插得 到,它不需要宏塊的運動信息。插值的方法有很多種,目前公認的經典插值算法包括雙線性 插值和方向插值等空域插值算法等。然而上述算法都有一定的局限性,雙線性插值算法將 受損的視頻宏塊始終作為平滑圖像來對待,如果受損的視頻宏塊具有豐富的高頻信息,或 者有圖像邊界穿越丟失宏塊的時候,該算法插值結果將導致圖像的紋理丟失,畫面變的模 糊,畫面質量並不能顯著提高,甚至有可能導致下降;方向插值算法通過檢測受損區域周圍 的邊緣信息,預測受損區域內的邊緣走向並沿此方向進行方向插值,但當受損區域周圍邊 緣較亂時也可能引起虛假邊緣,造成視覺效果較差。綜上所述,現有的空域插值算法,仍然 存在著缺陷,無法得到理想的視頻解碼質量。

發明內容
本發明要解決的主要技術問題是,提供了一種視頻傳輸的差錯控制方法及系統, 能夠優化視頻傳輸圖像的解碼質量,改善視頻解碼效果。為解決上述技術問題,本發明採用了如下技術方案一種視頻傳輸的差錯控制方法,包括誤碼掩蓋過程,所述誤碼掩蓋過程包括
4
對受損宏塊進行邊緣集中程度的量化分析,以將所述受損宏塊區分為平滑塊或邊 緣塊;對平滑塊,採用雙線性差值算法進行誤碼掩蓋;對邊緣塊,採用方向插值算法進行 誤碼掩蓋。在本發明所述方法的一種實施例中,所述對受損宏塊進行邊緣集中程度的量化分 析包括配置邊緣方向類;計算所述受損宏塊的各個周圍像素的邊緣方向,並將各個周圍 像素歸類到對應的邊緣方向類;判斷各個周圍像素是否穿越所述受損宏塊,如是,則相應累加到該周圍像素所屬 的邊緣方向類的個數計數中,並將該周圍像素的邊緣方向累加到所屬邊緣方向類的幅度計 數中;根據各個邊緣方向類的個數計數得出方向信息熵並據所述方向信息熵判斷所述 受損宏塊是否為邊緣集中;根據各個邊緣方向類的幅度計數判斷所述受損宏塊是否為強邊 緣穿越;如果所述受損宏塊為邊緣集中或者強邊緣穿越,判定該受損宏塊為邊緣塊,否則, 判定該受損宏塊為平滑塊。在本發明所述方法的一種實施例中,所述邊緣方向類包括8個,8個邊緣方向類 Dk,k e
,由8條穿過同一圓心並兩兩間隔22. 5°的直線劃分而成,所述根據各個邊 緣方向類的個數計數得出方向信息熵並據所述方向信息熵判斷所述受損宏塊是否為邊緣 集中按如下方式進行判斷方向信息熵是否小於熵閾值,如是,則判斷所述受損宏塊為邊緣
集中;所述方向信息熵根據下式得到-Hmoie =p(k\p(k) =k—,
其中,Hmode為方向信息熵,P(k)為邊緣方向類Dk對應的方向概率,Nk為邊緣方向類Dk對 應的像素個數。在本發明所述方法的一種實施例中,所述邊緣方向類包括8個,8個邊緣方向類 Dk, k e
,由8條穿過同一圓心並兩兩間隔22. 5°的直線劃分而成,所述根據各個邊 緣方向類的幅度計數判斷所述受損宏塊是否為強邊緣穿越按如下方式進行判斷各個邊緣 方向類中是否存在有幅度超過預設的邊緣強度閾值的邊緣方向類,如是,則判斷所述受損 宏塊為強邊緣穿越。在本發明所述方法的一種實施例中,所述受損宏塊為8X8矩形塊,所述受損宏塊 的周圍像素為該受損宏塊相鄰8個宏塊中的正確解碼宏塊或已經誤碼掩蓋過的宏塊中與 所述受損宏塊相鄰的8X4或4X8區域內的像素。在本發明所述方法的一種實施例中,所述方向插值算法為基於區域分割的方向插 值算法,包含將受損宏塊分割為至少兩個區域,對受損宏塊的一像素,通過相同區域的邊 界參考像素進行方向插值進行恢復。在本發明所述方法的一種實施例中,所述將受損宏塊分割為至少兩個區域按如下 方式進行在所述受損宏塊的鄰域內設立兩個圈層,並在該兩個圈層上分別取一系列連續劇 烈變化的像素點進行邊緣檢測,並選擇檢測出的邊緣點中梯度最大的邊緣點作為匹配及連
5線邊緣點;重複將未進行匹配的匹配及連線邊緣點中的位於不同圈層且屬性距離最小的兩 點進行連線匹配直至匹配完成或只有一個圈層上含有匹配及連線邊緣點;將連線匹配的兩個邊緣點進行連線形成邊緣連線,並以邊緣連線所在的直線作為 邊緣線,如果兩條邊緣連線位於同一條直線上,則合併為同一條邊緣線,如果兩條邊緣線斜 率相同或相近,則以其中邊緣強度較大的邊緣連線所在的直線作為邊緣線;按邊緣線的邊緣強度從大到小順序對受損宏塊進行區域分割,如兩條邊緣線相 交,邊緣強度小的邊緣線不穿越邊緣強度大的邊緣線。在本發明所述方法的一種實施例中,還包括誤碼檢測過程對視頻的每一幀進行 掃描判斷是否有受損宏塊,如有,根據預設原則選擇誤碼掩蓋方式後進入誤碼掩蓋過程;否 則,結束流程。在本發明所述方法的一種實施例中,所述根據預設原則選擇誤碼掩蓋方式包括 受損宏塊延伸到下邊界,採用自上而下的掩蓋方式;受損宏塊從上邊界開始,採用自下而上 的掩蓋方式;受損宏塊既不在上邊界也不在下邊界,採用上下交替的掩蓋方式。本發明還提供了一種視頻傳輸的差錯控制系統,包括誤碼掩蓋模塊,所述誤碼掩 蓋模塊包括邊緣分析單元,用於對受損宏塊進行邊緣集中程度的量化分析,以將所述受損宏 塊區分為平滑塊或邊緣塊;誤碼掩蓋單元,用於對平滑塊,採用雙線性差值算法進行誤碼掩蓋;對邊緣塊,採 用方向插值算法進行誤碼掩蓋。本發明通過對受損宏塊的邊緣集中程度的量化分析,從而可以適應性的選擇雙線 性差值算法或者方向插值算法進行誤碼掩蓋,從而實現了對視頻傳輸圖像解碼質量的優 化,改善了視頻解碼效果。


圖1為本發明實施例的受損宏塊的檢測區域選擇圖;圖2為本發明實施例的邊緣方向的分類圖;圖3為本發明實施例的平滑塊的誤碼掩蓋圖;圖4為本發明實施例的差錯控制過程中的掃描方式和掩蓋方式圖;其中,圖4_a表 示了對一幀圖像進行定列、定行的掃描;圖4-b表示了在受損塊到達下邊緣時的掃描方式; 圖4-c表示了受損塊從上邊緣開始時的掃描方式;圖4-d表示了受損塊在中間連續時的掃 描方式;圖5為本發明實施例的邊緣檢測過程圖;其中圖5-a為在邊界像素上進行邊緣檢 測;圖5-b為檢測跳變邊緣點;圖5-c為獲取真正邊緣點;圖5-d為邊緣點匹配、連線;圖6為本發明實施例的受損宏塊的區域分割圖;圖7為本發明實施例的區域內方向插值圖;圖7_a顯示了帶兩個邊緣線的丟失宏 塊;圖7-b顯示了沿邊緣線確定的兩個參考像素;圖7-c顯示了丟失像素在同一區域內的 參考象素的選擇;圖8為本發明實施例的誤碼檢測中的宏塊狀態6
圖9為本發明實施例的手機視頻解碼過程中的誤碼檢測流程圖;圖10為本發明實施例的手機視頻傳輸差錯控制流程圖。
具體實施例方式下面通過具體實施方式
結合附圖對本發明作進一步詳細說明。本發明主要是在視頻傳輸過程中出現數據丟失時,通過空域誤碼掩蓋方法提高圖 像的解碼質量。在進行誤碼掩蓋時,提供了一種有效的自適應算法選擇機制,既可以較為清 晰地恢復圖像信息,又可以在一定程度上避免虛假邊緣的產生。其關鍵在於對丟失的視頻 信息的邊緣集中程度進行量化分析,從而可以自適應性的選擇合適的算法。其中,對丟失的 視頻信息的邊緣集中程度的量化分析是利用信息熵理論,通過方向信息熵的設計來完成對 目標的判斷。在誤碼掩蓋時,一般以宏塊為單位進行,稱需要進行誤碼掩蓋的宏塊為受損宏 塊,受損宏塊包括丟失宏塊和出錯宏塊,丟失宏塊指該宏塊數據完全丟失,出錯宏塊指該宏 塊內數據部分丟失或者出現錯誤。但3者並沒有明顯的差別,本文對這3者並不做嚴格區 分,可以認為3者的含義是相同的。上述的自適應空域誤碼掩蓋,包括兩個過程,一是自適應切換過程,二是切換後的 算法應用過程。在自適應切換過程中,可以根據丟失宏塊周圍的邊緣信息自適應地選擇雙線性插 值算法或者方向插值算法進行空域誤碼掩蓋。首先對丟失宏塊周圍的像素點的梯度方向 進行分類並計算邊緣強度,再得到各個邊緣方向類的幅度計數累加值,而後比較可變閾值 Bth,以此判斷是否存在強邊緣穿越,以及方向信息熵H與熵閾值Hth的大小來自適應的選 擇誤碼掩蓋算法。在切換後的算法應用過程中,在本發明實施例中,對於方向插值算法進行了改進, 提供了一種「改進的基於區域分割多方向插值算法」,基於區域分割的多方向插值算法可以 有效地解決視頻傳輸過程中估計丟失宏塊內的邊緣方向不精確的問題,該算法首先對丟失 宏塊周圍的像素點進行邊緣檢測,然後對丟失宏塊進行區域劃分,在區域分割基礎上完成 對丟失宏塊內像素點的方向插值。邊緣檢測是利用圖像中物體邊界上的像素點,通過Sobel 算子(索貝爾算子,圖像處理中的算子,主要用作邊緣檢測)計算灰度的變化率和變化方 向,得到較為精確的邊緣方向信息;丟失宏塊進行區域劃分,將像素點分割到不同的區域, 各區域採用與其邊緣相同的方向進行加權插值。梯度方向即像素點的灰度變化方向,對梯度方向進行分類是為了有效的統計像素 梯度方向可能存在的概率,同時為進一步計算信息熵提供必要準備;信息熵計算可以有效 的反映圖像邊緣方向的集中程度,它的大小將直接決定插值算法的選擇。邊緣強度反映了 圖像的平滑程度。下面結合附圖首先介紹本發明實施例所採用的差錯控制算法。本發明實施例的差錯控制基本流程包括解碼時首先判斷視頻中的每一幀是否有 數據丟失。如果有,則對受損宏塊進行邊緣集中程度的量化分析,以將受損宏塊區分為平滑 塊或邊緣塊;對於平滑塊,採用雙線性插值算法;對於邊緣塊,則採用方向插值算法,例如 採用前文提出的基於區域分割的方向插值算法,利用穿過受損宏塊的相鄰塊邊緣信息將受 損宏塊分割成若干區域,針對不同區域採用不同的插值策略,這樣能更好的恢復圖像信息,
7又能避免虛假邊緣和錯誤邊緣的產生。1.基於邊緣像素的方向分類和丟失宏塊的判定(1)選擇受損宏塊周圍的檢測區域。如圖1所示,將受損宏塊劃分為8X8大小矩 形塊,取受損宏塊周圍相鄰8個宏塊中的8X4或4X8區域參與邊緣檢測,圖1中示出的斜 線部分為檢測區域,按以下方式進行邊緣檢測的選擇1)如果相鄰8X8宏塊為正確解碼宏塊或者是已經掩蓋過的宏塊,則該8X4或 4X8宏塊中的每一個像素均參與邊緣方向的檢測;2)如果相鄰8X8宏塊為未掩蓋宏塊,則該8X4或4X8宏塊中的每一個像素均不 參與邊緣方向的檢測。(2)對圖像中的邊緣方向進行分類。如圖2所示,將一個圓平面等分成16個區域, 每個區域的兩條邊緣線之間的夾角為22. 5°,取這16個區域的平分線(即各區域的邊緣 線)方向作為整個檢測區域內所有像素點可能的邊緣方向,即每一個平分線方向代表著一 個區域內的邊緣方向,又在同一條直線上方向相反的兩個方向被看作-劃分區域對應8個邊緣方向類,分別為0°,22.5°,45° , ... ,157. 5C
-個方向,因此16 1 ,也即,由8條穿過
同一圓心並兩兩間隔22. 5°的直線劃分出8個邊緣方向類,為了以後表述的方便,將這8彳 方向類分別記為D0,D1,...,D7。(3)計算受損宏塊周圍像素的邊緣信息。按照式⑴中的Sobel算子計算每-像素點P(x,y)的邊緣強度G(x,y)和邊緣方向A(x,y),邊緣強度G(x,y)和邊緣方向A (x, y)分別反映了該像素點灰度的變化強度及走向,Gx(x, y)和Gy(x,y)是邊緣強度G(x,y) 在χ和y方向上的分量,P (χ,y)為受損宏塊周圍的一像素點。
『Gx(x,y) = P(x,y)*Hx(x,y) Gy(x,y) = P(x,y)*Hy(x,y)j G(x, y) = ^Gx(x,y)2 +Gy(x,y)2其中, (4)將像素P(x,y)的邊緣方向A(x,y)劃歸到上述8個邊緣方向類中對應方向類 中。由於8個邊緣方向類的範圍在,180° ),而邊緣方向A(x,y)的取值範圍在(-90°, 90° ),因此需要將邊緣方向A(x,y)進行變形為
Αχ,y)=
arctas-
G(x,y)G(x,y)
「Gx(x,y)本 0, arctan-
Q(U) 9
Gx{x,y) Gx{x,y)=o
>0
180+arctaa
Gx(x,y)
Gx(^y)
、—s 2 /Iv
8
此時邊緣方向A(x,y) e [0°,180° ),然後把該方向劃歸到DO,D1,. . .,D7中的
某一個,劃分採用如下方法把像素的邊緣方向值除以一個基準值,然後對商值下取整,作 為邊緣方向類的索引值。
,A(x,y)-11.25° 1 ,o 可以證明k e
,且六&,y)的對應k值均勻分布0 7之間,這樣就可以將 像素P(x,y)邊緣方向A(x,y)歸類到對應邊緣方向類Dk (0彡k彡7)中。然後需要判斷該 邊緣方向是否穿越受損宏塊MB,為此,從像素P(x,y)出發作一條平行於方向Dk的直線,如 果該直線穿越受損宏塊,則將像素P(χ,y)所屬的邊緣方向類Dk對應的個數計數器Nk累加 1,幅度計數器81^累加上像素?0^,7)對應邊緣方向A(x,y);如果該直線未穿越受損宏塊則 將像素P(x,y)的邊緣方向A(x,y)捨棄。(5)當受損宏塊鄰域內所有的像素點被檢測完後,計算各邊緣方向類Dk所穿越受 損宏塊的方向概率P (k)。由於方向Dk對應的像素點有Nk個(0彡k彡7),則Dk所對應的 方向概率P(k)為 統計了邊緣方向類Dk中的每個方向對應的方向概率P(k)後,計算方向信息熵 Hmode,定義為 利用拉格朗日乘數法可以證明,當8個方向分類的概率相同時,方向信息熵Hmode 取最大值3,且方向概率越分散,Hmode值越大。因此Hmode越大,表明受損宏塊鄰域內邊緣 方向越分散,Hmode越小,則表明邊緣方向集中程度越高。(6)判斷是否有強邊緣穿越受損宏塊。當Bk(O彡k彡7)超過(6)式中設定的可 變的邊緣強度閾值Bth時,即認為有強邊緣穿越受損宏塊,將Bk所對應的邊緣方向類Dk看 作是穿過丟失宏塊的強邊緣方向,然後統計出8個邊緣方向類B0、Bi, ..., B7中穿越受損 宏塊的強邊緣方向個數,並記為N(0 < N < 8)。邊緣強度閾值Bth定義為
M 其中,M為參與邊緣檢測宏塊的個數。(7)當Hmode彡2. 4且N = O時,說明受損的視頻宏塊是沒有明顯邊緣集中的宏塊 或者沒有強邊緣穿越,則將這些受損宏塊判定為平滑塊,對於平滑塊採用雙線性插值算法 進行誤碼掩蓋。其中,2. 4即熵閾值,熵閾值為一可調整的常數,在本例中取值為2. 4。當Hmode 1時,說明邊緣集中或者有強邊緣穿過受損的視頻宏塊,則 將這些受損宏塊判定為邊緣塊,對於邊緣塊採用前文提出的基於區域分割的方向插值算法 進行誤碼掩蓋。2.平滑塊的誤碼掩蓋對於平滑塊的誤碼掩蓋,採用的是雙線性插值算法。如圖3所示,設pl,p2,p3,p4是受損塊4個邊界上離P點最近的像素點,pi到ρ的距離為Di (i = 1,2,3,4),W為塊的邊 界尺寸,則P點像素值為 3.邊緣塊的誤碼掩蓋對於邊緣塊的誤碼掩蓋,採用基於區域分割的方向插值算法。該方法的基本思想 是首先在受損宏塊的鄰域內設立兩個矩形圈層,並在這兩個矩形圈層上尋找邊緣點,然後 利用相鄰塊的邊緣點信息估計出受損宏塊的邊緣方向和邊緣強度;接著根據各方向的邊緣 強度把受損宏塊劃分割成若干區域;最後針對不同區域採用不同的插值策略。該方法充分 利用了受損宏塊的邊緣信息來尋找穿越受損宏塊的邊緣。(1)對受損宏塊周圍像素點進行邊緣檢測以手機視頻圖像為例,如圖4_a所示,首先對手機視頻圖像中的每一幀先定列,再 定行進行掃描,通過掃描來確定受損塊,確定三種不同的掩蓋方式如圖4-b所示,當出錯 宏塊到達下邊緣,此時採用至上而下的掩蓋方式;如圖4-c所示,當出錯宏塊從上邊緣開 始,此時採用至下而上的掩蓋方式;如圖4-d所示,當出錯宏塊在中間連續,此時採用上下 到中間,交替進行的掩蓋方式。然後進行邊緣檢測,邊緣檢測就是求像素點P(X,y)梯度的局部最大值和方向,邊 緣檢測中用到的是Sobel算子,因此像素P(x,y)的梯度大小G(x,y)和梯度方向A(x,y)可 由(1)式求得。如果梯度大小G(x,y)大於預先設定的梯度閾值大小Gth,則說明該像素點 就是要找的邊緣檢測點。如圖5_a所示,在受損宏塊的鄰域內設立的兩個矩形圈層上尋找邊緣點。如圖5_b所示,在所設定的兩個矩形邊界線上,取一系列連續劇烈變化的像素點 進行邊緣檢測。對於矩形圈層中的每一個像素點都計算出邊緣強度G(x,y),一般的,連續 的一系列像素點的邊緣強度的差別應該是很小的(圖5-b中分別通過黑色、交叉線、斜線表 示),即一個像素相鄰的左邊像素和右邊像素的邊緣強度差別應該很小,如果出現較大的差 異(這個差異的界定可以根據實際需要來自行確定),則可以認為是出現像素跳變。如果出 現跳變,則在發生跳變處的兩邊選擇連續若干像素點,選擇梯度最大的一個點作為邊緣點 放到邊緣點集合中。如圖5-c所示,梯度最大的邊緣點被選擇為用於進行匹配和連線的邊 緣點,這樣可以得到兩個矩形圈層上的一組用於邊緣匹配和連線的集合F。這些邊緣點成為 匹配及連線邊緣點。(2)邊緣點匹配和連線邊緣進入宏塊存在著兩種可能的情況。第一種情況是一個邊緣沿著某一方向通過 一個邊緣點進入受損宏塊並通過另一個邊緣點離開此宏塊,即存在著兩個邊緣有著相同或 者相似的邊緣梯度方向。第二種情況是兩個邊緣在受損宏塊內部相交,這時就需要量化分 析兩個邊緣的強弱,並判斷邊緣的大小。基於以上兩種可能存在的情況,圖像的邊緣f (X,y)定義為
10Jl, G(x,y)>Gthf(x,y) = \其中,Gth為梯度閾值。邊緣點的屬性向量定義為p' (x, y) = (Gx (χ, y), Gy (χ, y), A (χ, y), P (χ, y)) (9)則兩個邊緣點之間的屬性差異可以通過下面的計算得到diff(p 『 (X1J1), ρ' (x2, y2)) = I Gx (xi; Y1)-Gx (x2, y2) | + |Gy(xi; yi)-Gy(x2, y2) +|A(Xl,yi)-elj2| +IA (x2 J2Hu H P(Xl,yi)-P(X2,y2)(10)其中,θ lj2是兩個邊緣點p(xl,yl)和p(x2,y2)連線的傾斜角。如圖5_d所示,在所有邊緣點中,如果兩個匹配及連線邊緣點分別在兩個不同的 矩形圈層上且他們之間的屬性距離最小,則這兩個邊緣點連線進行匹配。然後將剩餘的邊 緣點作為新的集合F,重複上述過程直到集合F中所有的邊緣點都被匹配完成,或者只有一 個圈層上含有邊緣點。最後對匹配的邊緣點進行連線。將兩個匹配的邊緣點的連線稱為邊緣點連線,而將該邊緣點連線所在的直線稱為 邊緣線,區域分割通過邊緣線來進行。連線中還要進行邊緣線的合併,如果兩條邊緣點連線 在同一條直線上,則直接合併為一條邊緣線;如果兩條邊緣點連線斜率相同或相近,則取邊 緣強度大的邊緣點連線所在直線為邊緣線,另一條邊緣點連線去除。需要注意的是,合併之 後,邊緣線的強度為兩段邊緣點連線強度之和,其計算方式參見式8。其中,斜率相近是指 兩條邊緣點連線傾斜角相差在5°以內,即認為斜率相近,可以進行邊緣線合併,當然該值 也可以根據需要進行調整,例如也可以將傾斜角在10°以內認為是斜率相近,取邊緣強度 大的邊緣點連線所在直線為邊緣線,另一條邊緣點連線去除。(3)對受損宏塊進行區域分割根據(10)式的結果,當有邊緣點連線穿越受損宏塊時,此邊緣點連線的方向可以 通過求其上的兩點邊緣Mi和Nj的連線的斜率來得到,如圖6所示,Mi (i = 1,2,3,4)為外 矩形圈層上的點,Nj(j = 1,2,3,4)為內矩形圈層上的點。定義邊緣強度為Fv = Σ f^y)其中,S為邊緣MiNj上所有像素點的集合,f(x,y)的大小由(8)式得到。根據前 面提到的邊緣進入宏塊存在著兩種可能的情況,對受損宏塊進行區域分割,分割遵循如下 原則1)如果兩條邊緣MiNj和Mi,Nj,有相同或者相近的斜率或者在同一條直線上,則 將這兩條邊緣合併,看作為同一條邊緣,並用邊緣強度較大邊緣所在的直線進行區域分割。 如圖6所示,邊緣Mmi和M2N2被合併為一條邊緣線L12,M3N3和M4N4不合併,被看成是邊 緣L3和邊緣L4。2)對於合併後的所有邊緣按邊緣強度從大到小排列,邊緣強度大的邊緣連線優先 被劃分,邊緣強度小的邊緣連線後被劃分。如圖6所示,邊緣強度L12 > L3 > L4,因此劃分 順序為L12, L3和L4。
11
3)如果兩條邊緣相交,邊緣強度小的邊緣連線不能穿越邊緣強度大的邊緣連線。 如圖6所示,L3不能穿越L12,L4不能穿越L12和L3。根據以上3條原則就可以得到受損宏塊的區域劃分。(4)對受損宏塊內的像素點進行方向插值在受損宏塊被分割成若干個區域後,就可以對每個區域內丟失的像素點分別進行 插值。如圖7-a所示,受損宏塊MB中的像素ρ通過相同區域的邊界參考像素來恢復。假設 有η個邊緣穿過受損宏塊,每一個邊緣Li (1 ^n)都可以用一個線性方程來表示Y-Yi-Iiii (X-Xi) = 0,1 彡 i 彡 η (12)其中mi是該邊緣(即指邊緣線,下同)的斜率,(xi, yi)第i個邊緣與受損宏塊 相交所對應的邊緣點坐標。如果該邊緣與受損宏塊MB中對應著有一對匹配的邊緣點(xi, yi)和(xj,yj),則 mi = (Yj-Y1)Z(Xj-X1)0 否則,mi = GrUi,y》/GcUi,yi),Gr (xi,yi)和 Gc (xi, yi)分別表示像素點(xi,yi)的邊緣強度在y方向和χ方向上的分量,具體參考式 (1)。如果邊緣和受損宏塊有兩個交點,這可以用這兩個交點確定斜率mi ;如果邊緣和丟失 宏塊只有一個交點,則用這個交點的邊緣強度在y方向的分量Gr(xi,yi)除以χ方向上的 分量Gc(xi,yi)來得到斜率mi。這是因為根據區域劃分原則,該邊緣只對應有一個邊緣點。對於每一個丟失的像素P,找到其所對應的參考像素點進行插值。如圖7_b所示, 沿著每一個邊緣方向,過像素ρ做與邊緣平行的直線,該直線與丟失宏塊的邊界的交點就 是要找的參考像素點。注意,僅那些和像素點P在同一個區域內的參考像素點可以被用來 進行插值計算,而與像素P不在同一區域內的參考像素點則不能被使用。測試每一個邊緣的線性方程來消除不可靠的參考像素點,具體的方法表示如 下設(px,py)表示丟失的像素P的坐標,(rx,ry)表示某一參考像素點坐標。參考像 素與P在同一區域內若且唯若對於每一個邊緣Li (1 ^ i ^ η), [py-yi-mi (ρχ-χ )]與 [ry-yi-mi (rx-xi)]都有相同的符號。如圖7_b所示,pl,p2為可靠的參考像素點,p3,p4 為不可靠的參考像素點。在消除了不可靠的參考像素點之後,每一個區域內的任意丟失像素ρ均可以利用
參考像素點通過方向插值來得到 yPk_ 其中,pk是第k個可靠的參考像素,dk是Pk和P之間距離。圖7-C顯示了求丟失 像素P的過程,Pl, P2為參考像素。經過以上步驟就可以完成對丟失宏塊的誤碼掩蓋。4.手機視頻解碼過程誤碼檢測在手機終端解碼過程,誤碼檢測也是一個比較重要的問題。在網絡傳輸發生數 據丟包的情況下,為了保證視頻解碼的質量和解碼的實時性,需要在手機終端引入誤碼檢 測機制,來檢測和恢復丟失的數據信息。對於所有存放在緩衝區內的網絡封裝層(NEL, Network Encapsulation Layer)數據單元,因為其本身含有的壓縮信息是正確的,且傳輸 數據也沒有丟失,因此經過解碼都可以得到正確的宏塊信息,而誤碼檢測就是要確定這些宏塊在幀中的對應位置,以便找到那些丟失的宏塊,並進行掩蓋。誤碼檢測可以採取如下的方法對於所有解碼的宏塊進行狀態標記,如圖8所示, 2表示完好宏塊,1表示已掩蓋宏塊,0表示丟失宏塊,對於每一個未解碼的幀,設所有宏塊 的初始狀態為0。當一個NEL數據單元被解碼以後分析比較其本身所含的幀數N與解碼器 分析得到的幀數M是否相同。1.如果N = M且該NEL數據單元不是最後一個,則說明正在對當前幀(第M幀) 進行解碼,則更新相應宏塊的狀態為2,並繼續對下一個NEL數據單元進行解碼和判斷。2.如果N > M,則說明視頻序列的第M幀已經解碼完成。這時需要對第M幀內的 所有宏塊的狀態進行判斷,找出丟失宏塊,並標記掩蓋的順序。掃描方式按照從上到下,從 左到右(圖4-a所示)進行。每一列丟失宏塊的掩蓋順序可以分三種情況,分別如圖4-b、 圖4-c、圖4-d所示,第一種情況,如果丟失宏塊連續出現且一直延續到下邊界,則採用自上 而下的方式進行掩蓋;第二種情況,如果丟失宏塊連續出現且從上邊界開始,則採用自下而 上的方式進行掩蓋;第三種情況,如果丟失宏塊既不在上邊界也不在下邊界,則採用上下交 替方式進行。然後對於每一個丟失宏塊用前述誤碼掩蓋算法進行處理。其中,在判斷為I 幀時,前述自適應切換來選擇雙線性插值或方向插值這兩種空域掩蓋之一來進行;而在不 是I幀時,則採用時域掩蓋方法來進行,掩蓋完成後更新該宏塊的狀態為1,如此循環直到 所有的丟失宏塊均被掩蓋。最後對M加1,並繼續判斷N和M的大小。3.如果N = M且NEL數據單元全部被解碼時,則需要對最後一幀進行掩蓋,掩蓋的 方法和步驟2中使用的方法一致。4.如果N<M,說明最後一幀已經被掩蓋,退出誤碼檢測。這樣就可以完成整個誤 碼檢測和掩蓋的過程,並得到最終的重建視頻序列。圖9給出了手機視頻解碼過程中的誤碼檢測流程。如圖10所示,本發明實施例的手機視頻傳輸的差錯控制方法的具體步驟包括1.誤碼檢測。對解碼的手機視頻圖像中的每一幀先定列,再定行進行掃描。2.判斷是否有視頻宏塊被損壞,如果沒有,則跳轉到步驟13 ;如果有,則繼續執行
步驟3 。
3.根據丟失宏塊的情況,選擇3種誤碼掩蓋的方式中的一種1)自上而下的掩蓋; 2)自下而上的掩蓋;3)交叉掩蓋。4.根據誤碼掩蓋方式選中丟失的宏塊進行掩蓋1)計算丟失宏塊周圍像素點的 邊緣梯度方向和邊緣強度;2)對邊緣梯度方向進行分類。5.計算邊緣方向的概率Pk,並利用邊緣方向計算方向信息熵Hmode。確定邊緣強 度閾值Bth並與每個邊緣方向幅度計算器Bk(0 ≤ Bk ≤ 7)進行比較,確定強邊緣個數N。6.判斷Hmode是否大於等於2.4 (熵閾值Hth)且N等於0,如果成立,則繼續執行 步驟7,否則跳轉到步驟8。7.利用雙線性插值算法對丟失像素進行插值,然後跳轉到步驟12。8.利用改進的基於區域分割的方向插值算法對丟失像素進行插值。9.對丟失宏塊進行邊緣檢測。10.對丟失宏塊進行區域分割11.對丟失宏塊內的像素點進行方向插值。
12.判斷當前幀中是否所有丟失宏塊都已經掩蓋。如果是,執行步驟13,否則跳轉 到步驟3。13.誤碼掩蓋結束。本發明通過對雙線性插值算法和改進的基於區域分割的方向插值算法的動態選 擇,解決了手機視頻解碼後清晰度不夠和解碼後產生虛假邊緣的問題,提高了圖像的解碼 質量,優化手機視頻解碼的過程。兩個算法之間的動態選擇,是通過對丟失宏塊周圍相鄰像 素邊緣方向信息熵的判斷來進行。由於手機視頻傳輸的內容本身並不大,另外改算法的時 間複雜度在可控的範圍之內,因此對手機視頻播放器的解碼速度並不會有根本上的影響, 本發明具有以下技術效果1.實現對手機視頻傳輸圖像解碼質量的優化。通過對丟失宏塊周圍相鄰像素邊緣 方向信息熵的量化判斷,解決了受損區域周圍邊緣較亂時可能引起虛假邊緣的問題。2.改進了經典的方向插值算法,解決了方向插值算法對任何圖像區域總是沿特定 的方向進行插值,從而造成解碼圖像失真的問題,採用根據圖像區域的不同紋理信息,對丟 失宏塊採取區域分割然後再插值的這樣更為合理的方法加以優化。相比經典的空域算法, 視頻解碼的效果較好,可以應用的場景更多;相比時域算法而言,由於複雜度較低,這就保 證了解碼的速度,使得其在手機和實時視頻通信上能夠有較為廣泛的應用。以上內容是結合具體的實施方式對本發明所作的進一步詳細說明,不能認定本發 明的具體實施只局限於這些說明。對於本發明所屬技術領域的普通技術人員來說,在不脫 離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬於本發明的保護 範圍。
權利要求
一種視頻傳輸的差錯控制方法,其特徵在於,包括誤碼掩蓋過程,所述誤碼掩蓋過程包括對受損宏塊進行邊緣集中程度的量化分析,以將所述受損宏塊區分為平滑塊或邊緣塊;對平滑塊,採用雙線性差值算法進行誤碼掩蓋;對邊緣塊,採用方向插值算法進行誤碼掩蓋。
2.如權利要求1所述的方法,其特徵在於,所述對受損宏塊進行邊緣集中程度的量化 分析包括配置邊緣方向類;計算所述受損宏塊的各個周圍像素的邊緣方向,並將各個周圍像素 歸類到對應的邊緣方向類;判斷各個周圍像素是否穿越所述受損宏塊,如是,則相應累加到該周圍像素所屬的邊 緣方向類的個數計數中,並將該周圍像素的邊緣方向累加到所屬邊緣方向類的幅度計數 中;根據各個邊緣方向類的個數計數得出方向信息熵並據所述方向信息熵判斷所述受損 宏塊是否為邊緣集中;根據各個邊緣方向類的幅度計數判斷所述受損宏塊是否為強邊緣穿 越;如果所述受損宏塊為邊緣集中或者強邊緣穿越,判定該受損宏塊為邊緣塊,否則,判定 該受損宏塊為平滑塊。
3.如權利要求2所述的方法,其特徵在於,所述邊緣方向類包括8個,8個邊緣方向類 Dk,ke W,7],由8條穿過同一圓心並兩兩間隔22.5°的直線劃分而成,所述根據各個邊 緣方向類的個數計數得出方向信息熵並據所述方向信息熵判斷所述受損宏塊是否為邊緣 集中按如下方式進行判斷方向信息熵是否小於熵閾值,如是,則判斷所述受損宏塊為邊緣7ν集中;所述方向信息熵根據下式得到-Hmode = -Σ^)*1ο§2p(k\p{k) = N ^n I…..Ν ,k=0iV0 ^iV1 + IN7其中,Hmode為方向信息熵,P(k)為邊緣方向類Dk對應的方向概率,Nk為邊緣方向類Dk對 應的像素個數。
4.如權利要求2所述的方法,其特徵在於,所述邊緣方向類包括8個,8個邊緣方向類 Dk, k e
,由8條穿過同一圓心並兩兩間隔22. 5°的直線劃分而成,所述根據各個邊 緣方向類的幅度計數判斷所述受損宏塊是否為強邊緣穿越按如下方式進行判斷各個邊緣 方向類中是否存在有幅度超過預設的邊緣強度閾值的邊緣方向類,如是,則判斷所述受損 宏塊為強邊緣穿越。
5.如權利要求2-4任一所述的方法,其特徵在於,所述受損宏塊為8X 8矩形塊,所述受 損宏塊的周圍像素為該受損宏塊相鄰8個宏塊中的正確解碼宏塊或已經誤碼掩蓋過的宏 塊中與所述受損宏塊相鄰的8 X 4或4 X 8區域內的像素。
6.如權利要求1-4任一所述的方法,其特徵在於,所述方向插值算法為基於區域分割 的方向插值算法,包含將受損宏塊分割為至少兩個區域,對受損宏塊的一像素,通過相同 區域的邊界參考像素進行方向插值進行恢復。
7.如權利要求6所述的方法,其特徵在於,所述將受損宏塊分割為至少兩個區域按如 下方式進行在所述受損宏塊的鄰域內設立兩個圈層,並在該兩個圈層上分別去一系列連續劇烈變 化的像素點進行邊緣檢測,並選擇檢測出的邊緣點中梯度最大的邊緣點作為匹配及連線邊 緣佔.重複將未進行匹配的匹配及連線邊緣點中的位於不同圈層且屬性距離最小的兩點進 行連線匹配直至匹配完成或只有一個圈層上含有匹配及連線邊緣點;將連線匹配的兩個邊緣點進行連線形成邊緣連線,並以邊緣連線所在的直線作為邊緣 線,如果兩條邊緣連線位於同一條直線上,則合併為同一條邊緣線,如果兩條邊緣線斜率相 同或相近,則以其中邊緣強度較大的邊緣連線所在的直線作為邊緣線;按邊緣線的邊緣強度從大到小順序對受損宏塊進行區域分割,如兩條邊緣線相交,邊 緣強度小的邊緣線不穿越邊緣強度大的邊緣線。
8.如權利要求1-4所述的方法,其特徵在於,還包括誤碼檢測過程對視頻的每一幀進 行掃描判斷是否有受損宏塊,如有,根據預設原則選擇誤碼掩蓋方式後進入誤碼掩蓋過程; 否則,結束流程。
9.如權利要求8所述的方法,其特徵在於,所述根據預設原則選擇誤碼掩蓋方式包括 受損宏塊延伸到下邊界,採用自上而下的掩蓋方式;受損宏塊從上邊界開始,採用自下而上 的掩蓋方式;受損宏塊既不在上邊界也不在下邊界,採用上下交替的掩蓋方式。
10.一種視頻傳輸的差錯控制系統,其特徵在於,包括誤碼掩蓋模塊,所述誤碼掩蓋模 塊包括邊緣分析單元,用於對受損宏塊進行邊緣集中程度的量化分析,以將所述受損宏塊區 分為平滑塊或邊緣塊;誤碼掩蓋單元,用於對平滑塊,採用雙線性差值算法進行誤碼掩蓋;對邊緣塊,採用方 向插值算法進行誤碼掩蓋。
全文摘要
本發明公開了一種視頻傳輸的差錯控制方法及系統,所述方法包括誤碼掩蓋過程,所述誤碼掩蓋過程包括對受損宏塊進行邊緣集中程度的量化分析,以將所述受損宏塊區分為平滑塊或邊緣塊;對平滑塊,採用雙線性差值算法進行誤碼掩蓋;對邊緣塊,採用方向插值算法進行誤碼掩蓋。本發明優化了視頻傳輸圖像解碼質量,改善了視頻解碼效果。
文檔編號H04N7/68GK101931821SQ20101023260
公開日2010年12月29日 申請日期2010年7月21日 優先權日2010年7月21日
發明者程超 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀