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