一種hevc編碼中的快速失真率的計算方法
【技術領域】
[0001] 本發明設及一種視頻解碼技術,特別設及一種肥VC編碼中的快速失真率的計算方 法。
【背景技術】
[0002] 在肥VC編碼器壓縮視頻的時候,需要大量地獲得當前宏塊壓縮之后的率失真 (sSD)來選擇最優模式,從而獲得最高壓縮比。目前比較好且流行的方法是計算時域率失真 (Spatial domain sum of squared difference),簡稱SSSD。
[0003] 當前計算SSSD的方法是經過DCT、Quantization、inverse Quantization、IDCT才 能獲得,具體地:
[0004] DCT = Y=AXA^
[0005] 如antization:Zij = ;round(Yij/Qstep);
[0006] Inverse 如antization:Vij = Zij XQstep;
[0007] IDCT: W=ATyA;
[0009] 在上述步驟中,DCT與IDCT占據主要的計算量,而運種算法在皿VC編、碼中會反復 多次用到,由于計算過程過于復雜,占用了很大的計算量,在實際應用中對編碼速度的影響 尤為明顯。
【發明內容】
[0010] 基于此,有必要提供一種可簡化計算過程,有效降低計算量,從而節省時間等各種 資源成本的快速失真率的計算方法。
[0011] 根據本發明的一方面,提供了一種肥VC編碼中的快速失真率的計算方法,包括 DCT、如antization、Inverse 如antization和Fssd四個算法步驟,具體地,
[0012] DCT = Y=AXA^
[0013] 如antization:Zij = ;round(Yij/Qstep);
[0014] Inverse 如antization:Vij = Zij XQstep;
[0016] 在其中一個實施例中,算法應用于化>25的肥VC編碼環境。
[0017] 運種皿VC編碼中的快速失真率的計算方法,替代了傳統的SSSD計算方法,從而大 幅降低計算量,節約時間等各方面資源的成本,且本方法在實際的應用范圍內,與傳統SSSD 算法產生的誤差是可忽略的,因此本方法不僅簡化了計算復雜度,還達到了同W往一樣的 效果。
【附圖說明】
[0018] 圖1為當前傳統SSSD的計算方法的邏輯框圖;
[0019] 圖2為本發明一實施方式的一種皿VC編碼中的快速率失真的計算方法的邏輯框 圖;
[0020] 圖3為白噪聲中模擬下4x4,8x8,16x16,32x32的DCT變化下FSSD與SSSD的誤差在QP 取0至51范圍內的分布曲線圖。
【具體實施方式】
[0021] 為了便于理解本發明,下面將用具體實施例對本發明進行更全面的描述。但是,本 發明可W W許多不同的形式來實現,并不限于本文所描述的實施例。相反地,提供運實施例 的目的是使對本發明的公開內容的理解更加透徹全面。
[002引本發明一實施例的HE VC編碼中的快速失真率的計算方法,包括DCT、 如antization、Inverse如antization和Fssd四個算法步驟,具體地,
[002引 DCT:Y=AXAT;
[0024] 如antization:Zij = ;round(Yij/Qstep);
[0025] Inverse 如antization:Vij = Zij XQstep;
[0027] 本實施例所采用的計算方法簡稱FFFD算法。
[0028] FFFD算法與當前計算時域內率失真(spatial domain sum of squared diff erence,簡稱SSSD算法)的計算方法相比,主要區別在于省略了 SSSD算法中的IDCT步 驟,從而大幅節省計算量,提高編碼速度。
[0029] 如圖1所示為當前SSSD算法的邏輯框圖,包括DCT、Quant izat ion、Inverse Quantization、IDCT 和 sssd 等步驟,圖中 Q代表Quantization, IQ 代表1nverse Qu曰ntiz曰tion〇
[0030] 具體地,
[0031 ] DCT = Y=AXA^
[0032] 如antization:Zij = ;round(Yij/Qstep);
[0033] Inverse 如antization:Vij = Zij XQstep;
[0034] IDCT: W=ATyA;
[0036] 如圖2所示為本實施例的FFFD算法的邏輯框圖,圖中Q代表Quantization, IQ代表1nverse Qu曰ntiz曰tion〇
[0037] 通過對比圖1與圖2可得,本實施例計算過程中省略了 IDCT步驟,并從不同的參數 中獲得率失真(SSD)。
[003引根據帕薩瓦爾定理(Parseva]/ S theorem),波形x(t)依時間域t累積的總能量與 該波形的傅立葉變換x(f)在頻域域f累積的總能量相等。推廣到離散域的DCT變換,可^做 W下證明:
[0039] W-維 DCT 為例,
[0040] Transform:y 二Fx,
[0041 ] Quantization:yq二Q[y],
[0042] Inverse-Quantization:Yiq= IQ[yq],
[0043] Inverse-Transform: Xr = F" Viq ?
[0046] 其中,F是一維DCT轉換矩陣。
[0047] 由于DCT變換F是正交歸一矩陣(odhonormal matrix),可得如下證明:
[0049] 即經過DCT變換之后的數值,在頻域內的能量等于原始值在時域內的能量。
[0050] 同樣我們可W得到如下證明:
[0052] 即頻域內的FSSD嚴格等價于時域內的SSSD。
[0053] 實際使用中的率失真(SSD)包括如下幾個部分:
[0054] I、皿VC編碼協議中規定的DCT轉換矩陣是一個整數矩陣。運個整數轉換矩陣數值 是DCT浮點轉換矩陣數值的近似值,所W該整數轉換矩陣并不嚴格正交歸一,從而導致率失 真。運部分稱之為"轉換率失真"。
[0055] 2、皿VC協議中規定的DCT是一個二維轉換的過程,為了保證低復雜度,協議規定在 橫轉換和縱轉換過程中保存的中間值是16bit精度的整點數,在運取整的過程中存在的 rounding的操作,也就會導致精度的損失,產生率失真。運部分稱之為"取整率失真"。
[0056] 3、皿VC協議中規定的量化(如antization)過程是一個有損壓縮過程,根據量化系 數(Quantization Parameter)的大小W對DCT系數做不同精度的取整,在運個過程中會產 生大量的率失真,運個過程也是皿VC視頻壓縮協議能夠達到超高壓縮比的核屯、部分。運部 分稱之為"量化率失真"。
[0057] 在實際使用中,FSSD算法與傳統的時域內獲得的SSSD算法相比存在誤差,主要原 因是在于率失真所產生的上述第1與第2部分,即"轉換率失真"與"取整率失真"。由于省略 了 IDCT ,FSSD算法與SSSD算法相比會包含不同的"轉換律失真"與"取整率失真"。
[0058] 然而在如足夠大的時候,"轉換律失真"與"取整率失真"在整個率失真中的占比相 當小,所W運種情況下,FSSD與SSSD的值差別不大。
[0059] 如圖3所示,為隨機白噪聲矩陣經過皿VC編碼器之后計算的FSSD算法與SSSD算法 之間的誤差。FSSD算法與SSSD算法之間的誤差隨如的增加而突減,當如在25時候,兩者誤差 僅在5 %左右。
[0060] 在視頻壓縮領域中,絕大多數情況下皿VC的QP值都在25 W上來獲得高壓縮比,因 此本實施例的FFFD算法在實際應用中總的誤差是可忽略的。可見,本實施例的皿VC編碼中 的快速失真率的計算方法,替代了傳統的SSSD算法,大幅簡化了計算復雜度,有效控制計算 量,從而節約時間等各方面的資源成本,且本實施例的FFFD算法在實際的應用范圍內,與傳 統SSSD算法產生的誤差是可忽略的,因此相比傳統SSSD算法,FF抑算法具有更優的效果。
[0061] W上所述實施例僅表達了本發明的個別實施方式,其描述較為具體和詳細,但并 不能因此而理解為對本發明專利范圍的限制。應當指出的是,對于本領域的普通技術人員 來說,在不脫離本發明構思的前提下,還可W做出若干變形和改進,運些都屬于本發明的保 護范圍。因此,本發明專利的保護范圍應W所附權利要求為準。
【主權項】
1. 一種皿VC編碼中的快速失真率的計算方法,其特征在于,包括DCT、Quantization、 Inverse如antization和Fssd四個算法步驟,具體地, 所述 dct:y=axat; 所述 Quant i zat ion: Zij = round (Yij/Qstep); 所述Inverse Quantization:Vij = Zij XQstep; 所述 idct:w=aTva; 所述sssd;2. 根據權利要求1所述的一種皿VC編碼中的快速失真率的計算方法,其特征在于,所述 算法應用于化>25的視頻編碼環境。
【專利摘要】本發明公開了一種HEVC編碼中的快速失真率的計算方法,包括DCT、Quantization、Inverse?Quantization和Fssd四個算法步驟,通過這種算法,替代了傳統的SSSD計算方法,從而大幅降低計算量,節約時間等各方面資源的成本,且本方法在實際的應用范圍內,與傳統SSSD算法產生的誤差是可忽略的,因此本方法不僅簡化了計算復雜度,還達到了同以往一樣的效果。
【IPC分類】H04N19/147
【公開號】CN105578187
【申請號】CN201510902770
【發明人】葉天曉, 李日, 萬俊青
【申請人】杭州當虹科技有限公司
【公開日】2016年5月11日
【申請日】2015年12月10日