基于塊搜索和正交匹配追蹤的視頻變換編碼方法
【專利摘要】本發(fā)明公開了一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,包括:對(duì)當(dāng)前編碼塊進(jìn)行運(yùn)動(dòng)估計(jì)以獲得時(shí)間預(yù)測值,并基于所述時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差;基于當(dāng)前編碼塊的空間鄰域和時(shí)間預(yù)測,搜索當(dāng)前編碼塊的最佳匹配塊,并利用聚類算法獲得正交匹配追蹤OMP變換的詞典;以當(dāng)前編碼塊的殘差在OMP變換的詞典上進(jìn)行OMP變換,獲得變得系數(shù),完成視頻變換編碼。該方法可以達(dá)到更好的能量聚集度,從而提升壓縮效率,同時(shí),該變換的計(jì)算復(fù)雜度比信號(hào)依賴的變換要低,便于解碼。
【專利說明】
基于塊搜索和正交匹配追蹤的視頻變換編碼方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及視頻編碼技術(shù)領(lǐng)域,尤其設(shè)及一種基于塊捜索和正交匹配追蹤的視頻 變換編碼方法。
【背景技術(shù)】
[0002] 近年來,隨著高清、超高清視頻的普及,視頻原始數(shù)據(jù)量急劇增加,給存儲(chǔ)和傳輸 帶來巨大壓力。如何進(jìn)一步提高視頻編碼的壓縮效率是一個(gè)至關(guān)重要的問題。
[0003] 目前廣泛采用的視頻編碼標(biāo)準(zhǔn),如H. 264和肥VC(High Efficiency Video Coding,高性能視頻編碼),都基于混合視頻編碼框架,一般由W下幾部分組成,預(yù)測 (Prediction)、變換(Transform)、量化(Quantization)和賭編碼巧ntropy Coding)。其中, 變換技術(shù)用于處理當(dāng)前編碼塊的預(yù)測殘差,使其能量集中在少數(shù)幾個(gè)系數(shù)上(而其他系數(shù) 為零),從而去除殘差中的空間冗余。在皿VC標(biāo)準(zhǔn)中,規(guī)定主要采用離散余弦變換(DCT),部 分采用離散正弦變換(DST)。運(yùn)些變換的基函數(shù)都是固定的,并不會(huì)隨著當(dāng)前編碼塊的殘差 而改變。因此,在處理具有不同特性的殘差時(shí),DCT/DST并不總是能夠得到很好的能量聚集, 使得編碼效率低下。
[0004] 針對(duì)固定變換基函數(shù)存在的問題,Lan等提出了信號(hào)依賴的變換(SDT) [C丄an, J.Xu,G.Shi,F.Wu, "Exploiting non-local correlation via signal-dependent tr曰nsform(SDT)IEEE Journal of Selected Topics in Signal Processing, vol. 5, no . 7,pp. 1298 -1308,2011 ],該方法的主要思路是通過塊捜索找出與當(dāng)前編碼塊可能相似 的圖像塊,利用運(yùn)些相似塊采用Karhunen-Logve變換化LT)求得一組正交基函數(shù),再對(duì)當(dāng)前 塊的殘差進(jìn)行變換。因此,每個(gè)編碼塊的基函數(shù)都可能各不相同,較好地適應(yīng)了殘差的不同 特性。然而該方法存在的問題是化T的計(jì)算復(fù)雜度非常高,可能造成視頻解碼計(jì)算速度慢而 無法滿足實(shí)際應(yīng)用的需求。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供一種基于塊捜索和正交匹配追蹤的視頻變換編碼方法,可W 提升壓縮效率且盡量減少變換的計(jì)算復(fù)雜度。
[0006] 本發(fā)明的目的是通過W下技術(shù)方案實(shí)現(xiàn)的:
[0007] -種基于塊捜索和正交匹配追蹤的視頻變換編碼方法,包括:
[0008] 對(duì)當(dāng)前編碼塊進(jìn)行運(yùn)動(dòng)估計(jì)W獲得時(shí)間預(yù)測值,并基于所述時(shí)間預(yù)測值獲得當(dāng)前 編碼塊的殘差;
[0009] 基于當(dāng)前編碼塊的空間鄰域和時(shí)間預(yù)測,捜索當(dāng)前編碼塊的匹配塊,并利用聚類 算法獲得正交匹配追蹤0MP變換的詞典;
[0010] W當(dāng)前編碼塊的殘差在0MP變換的詞典上進(jìn)行0MP變換,獲得變得系數(shù),完成視頻 變換編碼。
[0011] 所述基于所述時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差包括:
[0012] 將當(dāng)前編碼塊的原始值減去時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差。
[0013] 所述基于當(dāng)前編碼塊的空間鄰域和時(shí)間預(yù)測,捜索當(dāng)前編碼塊的匹配塊包括:
[0014] 構(gòu)建捜索基準(zhǔn)化rget化tch:將當(dāng)前編碼塊的上邊與左邊呈倒L型的重建區(qū)域作 為模版Template,并在當(dāng)前編碼塊的位置上加入時(shí)間預(yù)測的像素值,其大小等于當(dāng)前編碼 塊的大小;其中,當(dāng)前編碼塊的大小為NXN,Template中左邊的寬度和上邊的高度均為T; [001引利用MSE的準(zhǔn)則在參考帖中捜索相似的塊:
[0016]
[0017]其中,Pcandi為參考帖中重建區(qū)域的一個(gè)塊,ppatch為構(gòu)建的化rget化tch,二者的 大小均為(化T-1 ) X (化T-1 ) ; Pcandi ( i,j )表示位置(i,j )處的像素值,類比于ppatch( i,j );
[001引選取具有最小Μ沈的前Μ個(gè)塊心,1 = 0,1,2, . . .,M-1作為匹配塊參與詞典的構(gòu) 建。
[0019] 所述利用聚類算法獲得0MP變換的詞典包括:
[0020] 獲取0MP變換所需的基%為=目L泡-=化l,2,...,M-1 ;其中,於α。,,.表示第1個(gè) 匹配塊托《去除倒L型Template后的像素值,pmcp為運(yùn)動(dòng)補(bǔ)償預(yù)測的像素值;
[002。 將S,進(jìn)行能量歸一化:X/ = VI X/1;其中,I XII是辜的模;
[0022] 將能量歸一化后的向量作為0MP變換的詞典,詞典大小為M;
[0023] 或者,獲取0MP變換所需的基草后,利用聚類算法將式,1 = 0,1,2,. . .,M-1進(jìn)行聚 類,取K個(gè)聚類中屯、Q:Q=[山,U2,. . .,UK];
[0024] 再對(duì)聚類中屯、Q中的各個(gè)元素進(jìn)行相應(yīng)的能量歸一化,將能量歸一化后的聚類中 屯、Q作為0MP變換的詞典,詞典大小為K。
[0025] 所述W當(dāng)前編碼塊的殘差在0MP變換的詞典上進(jìn)行0MP變換,獲得變得系數(shù)包括:
[0026] 當(dāng)前編碼塊的殘差為r,0MP變換的詞典為D,詞典D的大小為Μ或者為K,則0MP變換 即為求解下述方程:r = Dy;其中,y為變換系數(shù);求解時(shí)的輸入?yún)?shù)為r、DW及給定非零變換 系數(shù)的個(gè)數(shù)m;
[0027] 假設(shè)詞典D的大小為K,則求解包含位置信息Pm的變換系數(shù)yERKxi的過程如下:
[0028] 曰、初始化:令:r〇 = :r,y(w)=0,w = 0,l,. . .,Κ-1,4=0,被選擇詞典D中的元素集合 φ〇=0,t = l;其中,y(w) =0表示初始化時(shí)將所有變換系數(shù)都設(shè)為0;
[0029] b、按下述公式找到當(dāng)前狀態(tài)下最優(yōu)詞典D中的元素的下標(biāo)入: 乂 =arg max |<>|; &=1,2,...,A
[0030] C、利用找到的下標(biāo)λ更新第t次迭代后的位置集合Pt = Pt-iU{A},W及更新被選擇 詞典D中的元素集合〇t= 〇t-i U {m},并令m = 0;
[0031] d、求解系數(shù)yt:y, ?φ>,其中,δ為常數(shù),I表示大小為tXt的單位矩 陣,yt表示第t次迭代獲得的變換系數(shù),其維度為t X 1;
[0032] e、t = t+l,如果t<m,則跳至步驟b;
[00削 f、此時(shí),t=m,得到PmeRmxi,ymerxi,并計(jì)算最終的包含位置信息的變換系數(shù)ye 護(hù)^1^訊(3))=7。(3),3 = 0,1,...,111-1;其中瓜(3)為最終得到的集合?。中的第8個(gè)元素的 值,ym表示第m次迭代獲得的變換系數(shù),其維度為m X 1,ym( s)表示ym中第s個(gè)元素。
[0034] 該方法還包括:
[0035] 對(duì)包含位置信息的變換系數(shù)進(jìn)行量化與賭編碼處理:1)進(jìn)行縮放處理:y(Pt(s)) = y(Pt(s))<<(15-bitDepth-logTrSize);其中,logTrSize = log2N,bitDep1:h是當(dāng)前編碼 器的比特深度;2)對(duì)縮放處理后的變換系數(shù)進(jìn)行量化處理,獲得量化后的變換系數(shù)j);3)對(duì) 量化后的系數(shù)束進(jìn)行賭編碼,其過程如下:a、用一個(gè)長度為K的二值向量,表示量化后的系數(shù) 的每個(gè)位置是否為0,對(duì)該二值向量進(jìn)行編碼;b、對(duì)于每個(gè)非零系數(shù)進(jìn)行如下編碼:先編一 個(gè)二值flag表明該系數(shù)的絕對(duì)值是否大于1,如果不大于1,結(jié)束該系數(shù)的編碼;如果大于1, 跳至步驟c;c、編一個(gè)flag表明該系數(shù)的絕對(duì)值是否大于2,如果不大于2,結(jié)束該系數(shù)的編 碼;如果大于2,跳至步驟d;d、對(duì)系數(shù)的絕對(duì)值減去3,然后進(jìn)行指數(shù)哥倫布編碼;e、對(duì)系數(shù) 的正負(fù)性進(jìn)行編碼;
[0036] 對(duì)賭編碼后的變換系數(shù)進(jìn)行反0MP變換獲得重建殘差f。
[0037] 由上述本發(fā)明提供的技術(shù)方案可W看出,對(duì)于具有特定性質(zhì)的殘差,該變換方法 相比傳統(tǒng)的離散余弦/正弦變換(DCT/DST)能夠達(dá)到更好的能量聚集度,從而提升壓縮效 率,同時(shí),該變換的計(jì)算復(fù)雜度比SDT要低,便于解碼。
【附圖說明】
[0038] 為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本 領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根據(jù)運(yùn)些附圖獲得其他 附圖。
[0039] 圖1為本發(fā)明實(shí)施例提供的一種基于塊捜索和正交匹配追蹤的視頻變換編碼方法 的流程圖;
[0040] 圖2為本發(fā)明實(shí)施例提供的構(gòu)建的化rget Patch示意圖;
[0041 ]圖3為本發(fā)明實(shí)施例提供的獲得0MP變換的詞典的流程圖;
[0042] 圖4為本發(fā)明實(shí)施例提供的獲取最佳匹配塊W及所需基的示意圖;
[0043] 圖5為本發(fā)明實(shí)施例提供的選取最優(yōu)變換的流程圖。
【具體實(shí)施方式】
[0044] 下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整 地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒?發(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明的保護(hù)范圍。
[0045] 圖1為本發(fā)明實(shí)施例提供的一種基于塊捜索和正交匹配追蹤的視頻變換編碼方法 的流程圖。如圖1所示,其主要包括如下步驟:
[0046] 步驟11、對(duì)當(dāng)前編碼塊進(jìn)行運(yùn)動(dòng)估計(jì)W獲得時(shí)間預(yù)測值,并基于所述時(shí)間預(yù)測值 獲得當(dāng)前編碼塊的殘差。
[0047] 步驟12、基于當(dāng)前編碼塊的空間鄰域和時(shí)間預(yù)測,捜索當(dāng)前編碼塊的匹配塊,并利 用聚類算法獲得正交匹配追蹤(0MP)變換的詞典。
[0048] 步驟13、W當(dāng)前編碼塊的殘差在OMP變換的詞典上進(jìn)行OMP變換,獲得變得系數(shù),完 成視頻變換編碼。
[0049] 為了便于理解,下面結(jié)合附圖對(duì)本發(fā)明做詳細(xì)的說明。
[0050] 本發(fā)明實(shí)施例的上述方案可W應(yīng)用于肥VC或者其它類似的視頻編碼方法中。
[0051] 本領(lǐng)域技術(shù)人員可W理解,對(duì)當(dāng)前編碼塊進(jìn)行運(yùn)動(dòng)估計(jì)W獲得時(shí)間預(yù)測值可W通 過常規(guī)技術(shù)來實(shí)現(xiàn),此外,所述的基于所述時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差,可W為將當(dāng) 前編碼塊的原始值減去時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差。
[0052] 本發(fā)明實(shí)施例中,獲得0MP變換的詞典的步驟如圖3所示;主要包括:
[0053] 1)構(gòu)建捜索基準(zhǔn)(Target Patch):如圖2所示,將當(dāng)前編碼塊的上邊與左邊呈倒L 型的重建區(qū)域作為模版(Template),同時(shí),為了保證捜到的塊和當(dāng)前編碼塊具有很高的相 似性,還在當(dāng)前編碼塊的位置上加入時(shí)間預(yù)測(例如運(yùn)動(dòng)補(bǔ)償預(yù)測MC prediction)的像素 值,其大小等于當(dāng)前編碼塊的大小;其中,當(dāng)前編碼塊的大小為NXN,模板的寬度為T,運(yùn)里 的寬度指的是當(dāng)前編碼塊左邊的寬度和上邊的高度,二者一致。(示例性的,T可W固定為3, 或者可W根據(jù)當(dāng)前塊的寬度N來設(shè)定)。
[0054] 2)利用最小化均方誤差(MSE)的準(zhǔn)則在參考帖中捜索相似的塊,運(yùn)里,MSE的計(jì)算 方式為:
[0化5]
[00?]其中,Pcandi為參考帖中重建區(qū)域的一個(gè)塊,PcandiU,j)表示位置(i,j)處的像素 值,類比于化atGh(i,j)ePpatGh為上一步驟所構(gòu)建的化rget化tch,二者的大小均為(N巧)X (化 T)。
[0化7] 3)選取具有最小Μ沈的前Μ個(gè)塊,1 = 0,1,2, . . .,M-1作為匹配塊參與詞典的 構(gòu)建。此處,Μ的值可W確定,也可W根據(jù)當(dāng)前塊的大小或其他因素進(jìn)行設(shè)定。
[0化引4)獲取0ΜΡ變換所需的基馬(為妒X 1的一維向量):單=耗赫-p",w,/ = (化2,...,'W-1 ; 其中,聯(lián)。》r表示第1個(gè)匹配塊pL·去除倒L型Template后的像素值,pmcp為運(yùn)動(dòng)補(bǔ)償預(yù)測的 像素值,其中托胃,,和Pmw W同樣的光柵掃描順序變成妒X 1的一維向量。
[0059] 如圖4所示,為上述步驟3)-4)的示意圖,耗。對(duì)應(yīng)圖4中的b 1,b2,b98,b99等;pmcp 對(duì)應(yīng)圖4中的p。
[0060] 5)可選地,利用聚類算法將華,1 = 0,1,2, . . .,M-1進(jìn)行聚類,取Κ個(gè)聚類中屯、Q:Q = [Ul,U2, . . . ,UK]。
[0061] 示例性的,聚類方法可W為K-means聚類,Κ的取值可W由當(dāng)前塊的大小確定。例 如,對(duì)于變換塊大小4x4,Κ = 8;對(duì)于變換塊大小8x8,Κ= 16;對(duì)于變換塊大小為16x16,Κ = 32;對(duì)于變換塊大小為32χ32,Κ = 64。上述給的Κ的值是通過實(shí)驗(yàn)獲得的最優(yōu)值,理論上Κ的 范圍是1~Μ之間均可。此外,也可使用其他非監(jiān)督的聚類方法。
[0062] 6)為了消除某些基的能量主導(dǎo)性,將奉進(jìn)行能量歸一化啤二單其中,1x11是 %的模;若實(shí)施上述第五步聚類,則對(duì)ur''UK進(jìn)行相應(yīng)的能量歸一化。
[0063] 7) W能量歸一化后的向量作為詞典,詞典的大小為Μ(無聚類情況)或K(有聚類情 況)。
[0064] 本發(fā)明實(shí)施例中,W當(dāng)前編碼塊的殘差在上述獲得的詞典上進(jìn)行0MP變換,獲得變 換系數(shù),具體包括:
[0065] 當(dāng)前編碼塊的殘差為r (維度護(hù)X 1),0MP變換的詞典為D(詞典D的大小為Μ或者K, 也就是說,詞典可WD為聚類并歸一化后的結(jié)果,維度Ν2ΧΚ,也可W為無聚類情況下的歸一 化結(jié)果,維度護(hù)X Μ),則0ΜΡ變換即為求解下述方程:r = Dy;其中,y (維度Κ X 1或者Μ X 1)為 變換系數(shù);求解時(shí)的輸入?yún)?shù)為r、DW及給定非零變換系數(shù)的個(gè)數(shù)m,求解獲得的輸出為包 含位置信息Pm(被選擇的m個(gè)基(此處的基為詞典D中的元素)的位置,每個(gè)位置的范圍是1~ K,m<=K,或者1~M,m<=M)的變換系數(shù)yERKxi或者,yERMxi;
[0066] 假設(shè)詞典D的大小為K(即W歸一化后的Q為詞典D),則求解過程如下:
[0067] 曰、初始化:令r〇 = r,變換系數(shù)y(v,') =化ir二0,U.,人'-L G=0,被選擇基的集合 &。=0,/ =1滿中,y(w) =0表示初始化時(shí)將所有變換系數(shù)都設(shè)為0;
[006引 b、按下述公式找到當(dāng)前狀態(tài)下最優(yōu)基的下標(biāo)λ:義=wg ,,i世X、1< n-i,% >1;
[0069] C、利用找到的下標(biāo)λ更新位置集合Pt(Pt表示第t次迭代后的位置集合),Pt = Pt-i U (Μ,W及更新被選擇基的集合Φ*= Φ*-ι U {ι?λ},并令m = 0;
[0070] d、求解系數(shù)=('C!)>,-W/) Ιφ>,其中,δ是常數(shù),例如δ = 1〇Λ?表示大小為t X t的單位矩陣,yt表示第t次迭代獲得的變換系數(shù),其維度為t X 1;
[0071 ] e、t = t+l,如果t<m,則跳至步驟b;
[00巧 f、此時(shí),t=m,得到PmeRmxi,ymerxi。并計(jì)算最終的包含位置信息的變換系數(shù)yE RKXl:y(Pm(S))=ym(S),S = 0,1,. . .,m-l。其中,Pm(S)指的是最終得到的集合Pm中的第S個(gè)元 素的值(即在第S步迭代中選擇的基的下標(biāo)),ym表示第m次迭代獲得的變換系數(shù),其維度為m X 1,ym(s)表示ym中第S個(gè)元素。
[0073] 需要說明的是,上述求解過程是W歸一化后的Q作為詞典D進(jìn)行說明,本領(lǐng)域技術(shù) 人員可W理解,也可W采用無聚類情況下的歸一化結(jié)果作為詞典D來求解獲得最終的變換 系數(shù)yERMxi,具體過程與前文類似,區(qū)別僅在于m取值大小及詞典D中的元素?cái)?shù)量與表達(dá)式 不同。
[0074] 上述過程中,非零變換系數(shù)的個(gè)數(shù)m在本實(shí)例中是通過令m=l~K,分別計(jì)算其 Rate-Disto;rtion(率失真)的性能來選擇最優(yōu)的值。
[0075] 此外,類似于DST/DCT變換系數(shù),0MP變換系數(shù)也需要進(jìn)行量化和賭編碼。本實(shí)施例 中采用的步驟如下:
[0076] 1)為了和DST/DCT系數(shù)保持一致,對(duì)0MP變換系數(shù)進(jìn)行W下的縮放:y(Pt(s))=y(Pt (S)) < < (15-bitDepth-logTrSize);其中,logTrSize = logsN,本領(lǐng)域技術(shù)人員可 W理解 bitD巧th是當(dāng)前編碼器的比特深度。
[0077] 2)對(duì)縮放處理后的變換系數(shù)進(jìn)行量化處理,獲得量化后的變換系數(shù)#。本領(lǐng)域技 術(shù)人員可W理解,0MP系數(shù)的量化方式可W為均勻量化,沿用肥VC的均勻量化器。
[0078] 3)對(duì)量化后的系數(shù)少進(jìn)行賭編碼,其過程如下:a、首先用一個(gè)長度為K的二值向 量,表示量化后的系數(shù)的每個(gè)位置是否為0,對(duì)該二值向量進(jìn)行編碼;b、對(duì)于每個(gè)非零系數(shù) 進(jìn)行如下編碼:先編一個(gè)二值flag表明該系數(shù)的絕對(duì)值是否大于1,如果不大于1,結(jié)束該系 數(shù)的編碼;如果大于1,跳至步驟c;c、編一個(gè)flag表明該系數(shù)的絕對(duì)值是否大于2,如果不大 于2,結(jié)束該系數(shù)的編碼;如果大于2,跳至步驟d;d、對(duì)系數(shù)的絕對(duì)值減去3,然后進(jìn)行指數(shù)哥 倫布編碼;e、對(duì)系數(shù)的正負(fù)性進(jìn)行編碼。
[0079] 同時(shí),還需要對(duì)賭編碼后的變換系數(shù)進(jìn)行反0MP變換獲得重建殘差嗎'·,
[0080] 需要強(qiáng)調(diào)的是,編碼端需要0MP正變換和反變換,解碼端只需0MP反變換,其中編解 碼端W同樣的方式獲得詞典,W保證編解碼匹配。
[0081 ]另一方面,如圖5所示,在應(yīng)用于皿VC混合編碼結(jié)構(gòu)中時(shí),還可W將上述方案與傳 統(tǒng)的DST/DCT方案相結(jié)合來選擇最佳變換方案。即:編碼器變換編碼部分,對(duì)于一個(gè)變換單 元(transform unit ,Τυ),計(jì)算用DST/DCT進(jìn)行變換和反變換得到的Distortion和編碼比特 數(shù),計(jì)算其Rate-Disto;rtion Cost (率失真代價(jià))。同時(shí)計(jì)算用0MP變換和反變換的Rate- Disto;rtion Cost,選擇Rate-Disto;rtion Cost最小的變換作為最終的變換。
[0082] 另外,還將本發(fā)明實(shí)施例的方案與傳統(tǒng)的DST/DCT方案進(jìn)行對(duì)比:編碼給定碼率的 肥V邱馬流,編碼結(jié)構(gòu)采用低延時(shí)的IPPP結(jié)構(gòu),測試平臺(tái)為歷12.0,測試序列為肥VC標(biāo)準(zhǔn)測試 序列中的BQSquare。與傳統(tǒng)的DST/DCT相比,本發(fā)明實(shí)施例的方案能提高Rate-Distodion 性能19.9%。
[0083] 通過W上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可W清楚地了解到上述實(shí)施例可 W通過軟件實(shí)現(xiàn),也可W借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。基于運(yùn)樣的理解, 上述實(shí)施例的技術(shù)方案可軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可W存儲(chǔ)在一個(gè)非易 失性存儲(chǔ)介質(zhì)(可W是CD-ROM,U盤,移動(dòng)硬盤等)中,包括若干指令用W使得一臺(tái)計(jì)算機(jī)設(shè) 備(可W是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0084] W上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該W權(quán)利要求書的保護(hù)范 圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,其特征在于,包括: 對(duì)當(dāng)前編碼塊進(jìn)行運(yùn)動(dòng)估計(jì)以獲得時(shí)間預(yù)測值,并基于所述時(shí)間預(yù)測值獲得當(dāng)前編碼 塊的殘差; 基于當(dāng)前編碼塊的空間鄰域和時(shí)間預(yù)測,搜索當(dāng)前編碼塊的匹配塊,并利用聚類算法 獲得正交匹配追蹤OMP變換的詞典; 以當(dāng)前編碼塊的殘差在OMP變換的詞典上進(jìn)行OMP變換,獲得變得系數(shù),完成視頻變換 編碼。2. 根據(jù)權(quán)利要求1所述的一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,其特 征在于,所述基于所述時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差包括: 將當(dāng)前編碼塊的原始值減去時(shí)間預(yù)測值獲得當(dāng)前編碼塊的殘差。3. 根據(jù)權(quán)利要求1所述的一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,其特 征在于,所述基于當(dāng)前編碼塊的空間鄰域和時(shí)間預(yù)測,搜索當(dāng)前編碼塊的匹配塊包括: 構(gòu)建搜索基準(zhǔn)Target Patch:將當(dāng)前編碼塊的上邊與左邊呈倒L型的重建區(qū)域作為模 版Template,并在當(dāng)前編碼塊的位置上加入時(shí)間預(yù)測的像素值,其大小等于當(dāng)前編碼塊的 大小;其中,當(dāng)前編碼塊的大小為NXN,Template中左邊的寬度和上邊的高度均為T; 利用MSE的準(zhǔn)則在參考幀中搜索相似的塊:其中,pcandi為參考幀中重建區(qū)域的一個(gè)塊,ppatch為構(gòu)建的Target Patch,二者的大小均 為(N+T-l) X (N+T-l);pcandi(i,j)表示位置(i,j)處的像素值,類比于ppatch( i,j); 選取具有最小MSE的前Μ個(gè)塊,/ = -1作為匹配塊參與詞典的構(gòu)建。4. 根據(jù)權(quán)利要求1或3所述的一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,其 特征在于,所述利用聚類算法獲得OMP變換的詞典包括: 獲取OMP變換所需的基Ρ_/ = 〇Λ2,···,Μ-1;其中,成._"表示第1個(gè)匹配 塊P:/_s去除倒L型Template后的像素值,pm#為運(yùn)動(dòng)補(bǔ)償預(yù)測的像素值; 將為進(jìn)行能量歸一化:X, = X,/丨X/ h其中,| XI |是為的模; 將能量歸一化后的向量作為OMP變換的詞典,詞典大小為M; 或者,獲取OMP變換所需的基兔后,利用聚類算法將S:i,/ = 〇,U,…,Μ -1進(jìn)行聚類,取K 個(gè)聚類中心Q:Q=[U1,U2, · · ·,UK]; 再對(duì)聚類中心Q中的各個(gè)元素進(jìn)行相應(yīng)的能量歸一化,將能量歸一化后的聚類中心Q作 為OMP變換的詞典,詞典大小為K。5. 根據(jù)權(quán)利要求4所述的一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,其特 征在于,所述以當(dāng)前編碼塊的殘差在OMP變換的詞典上進(jìn)行OMP變換,獲得變得系數(shù)包括: 當(dāng)前編碼塊的殘差為r,OMP變換的詞典為D,詞典D的大小為Μ或者為K,則OMP變換即為 求解下述方程:r = Dy;其中,y為變換系數(shù);求解時(shí)的輸入?yún)?shù)為r、D以及給定非零變換系數(shù) 的個(gè)數(shù)m; 假設(shè)詞典D的大小為K,則求解包含位置信息Pm的變換系數(shù)yeRKxl的過程如下: 3、初始化:令1'〇 = 1',7(¥)=〇,'\¥ = 〇,1,...,1(-1,舄=0.,被選擇詞典〇中的元素集合 <^=0 A = 1;其中,y(w) =0表示初始化時(shí)將所有變換系數(shù)都設(shè)為Ο; 13、按下述公式找到當(dāng)前狀態(tài)下最優(yōu)詞典0中的元素的下標(biāo)1:2=3$/,!^\|<1;_ 1,心>|; c、 利用找到的下標(biāo)λ更新第t次迭代后的位置集合PfP^UlA},以及更新被選擇詞典D 中的元素集合i>t= i>t-1 U {m},并令m = 0; d、 求解系數(shù)yt: yf = (Φ/Φ, +^7) 1 Φ,' r,其中,δ為常數(shù),I表示大小為t X t的單位矩陣,yt 表示第t次迭代獲得的變換系數(shù),其維度為t X 1; e、 t = t+l,如果t<m,則跳至步驟b; f、 此時(shí),t=m,得到PmeRmX1,ymerxl,并計(jì)算最終的包含位置信息的變換系數(shù) yeRKxl: y(Pm(S))=ym(S),S = 0,1,. . .,m-l ;其中,Pm(S)為最終得到的集合Pm中的第S個(gè)元素的值,ym 表示第m次迭代獲得的變換系數(shù),其維度為m X 1,ym( S)表示ym中第S個(gè)元素。6.根據(jù)權(quán)利要求5所述的一種基于塊搜索和正交匹配追蹤的視頻變換編碼方法,其特 征在于,該方法還包括: 對(duì)包含位置信息的變換系數(shù)進(jìn)行量化與熵編碼處理:1)進(jìn)行縮放處理:y(Pt(s))=y(Pt (s)) << (15-bitDepth-logTrSize);其中,logTrSize = log2N,bitDepth是當(dāng)前編碼器的 比特深度;2)對(duì)縮放處理后的變換系數(shù)進(jìn)行量化處理,獲得量化后的變換系數(shù)Jh3)對(duì)量化 后的系數(shù)#進(jìn)行熵編碼,其過程如下:a、用一個(gè)長度為K的二值向量,表示量化后的系數(shù)的每 個(gè)位置是否為〇,對(duì)該二值向量進(jìn)行編碼;b、對(duì)于每個(gè)非零系數(shù)進(jìn)行如下編碼:先編一個(gè)二 值flag表明該系數(shù)的絕對(duì)值是否大于1,如果不大于1,結(jié)束該系數(shù)的編碼;如果大于1,跳至 步驟c;c、編一個(gè)flag表明該系數(shù)的絕對(duì)值是否大于2,如果不大于2,結(jié)束該系數(shù)的編碼;如 果大于2,跳至步驟d;d、對(duì)系數(shù)的絕對(duì)值減去3,然后進(jìn)行指數(shù)哥倫布編碼;e、對(duì)系數(shù)的正負(fù) 性進(jìn)行編碼; 對(duì)熵編碼后的變換系數(shù)進(jìn)行反OMP變換獲得重建殘差?。
【文檔編號(hào)】H04N19/61GK105872549SQ201610321516
【公開日】2016年8月17日
【申請(qǐng)日】2016年5月16日
【發(fā)明人】吳楓, 宋銳, 李厚強(qiáng), 劉 東, 蘭翠玲
【申請(qǐng)人】中國科學(xué)技術(shù)大學(xué)