本發(fā)明涉及一種視訊編碼技術(shù),特別是一種基于曲線擬合(curvefitting)的率失真優(yōu)化方法以及使用該方法的裝置。
背景技術(shù):
:率失真優(yōu)化(RDO,Rate-DistortionOptimization)是一種技術(shù),用以在視訊壓縮時提升質(zhì)量。這用以在視訊編碼的數(shù)據(jù)數(shù)目(亦即是碼率)及影像質(zhì)量損失(亦即是失真程度)間取得平衡的優(yōu)化。詳而言之,率失真優(yōu)化為視頻編碼系統(tǒng)選擇最優(yōu)的編碼模式,使碼率與失真達到一個平衡點,從而使壓縮效果最優(yōu)。所謂編碼模式,包括預測模式、運動向量、參考幀等,每個編碼模式包含很多個候選模式,因此率失真優(yōu)化的目的就是在這些候選模式中選出一個最優(yōu)模式。視頻編碼系統(tǒng)可使用拉格朗日R-D代價函數(shù)(LagrangeR-Dcostfunction)來選擇最優(yōu)的編碼模式,如下所示:min{J},J=D+λ·R(1)D是源圖像塊與重構(gòu)圖像塊的失真,在視頻編碼系統(tǒng)中,根據(jù)不同的情況,D可取以下的值中之一者:絕對誤差和(SAD,SumofAbsoluteDifference);hadamard變換后的絕對值求和(SATD,SumofAbsoluteTransformedDifference);以及差值的平方和(SSD,SumofSquaredDifference)。R表示編碼預測模式、運動向量、參考幀、殘差等需要的比特數(shù)(bits)。λ是拉格朗日常數(shù)。J是拉格朗日R-D代價函數(shù)。率失真優(yōu)化的目的就是選取最小的J所對應的編碼模式作為最佳編碼模式,從而達到最優(yōu)的壓縮效果。傳統(tǒng)的率失真優(yōu)化方法,編碼器需要將每種編碼模式都實際編碼一遍,得到每種編碼模式的R、D值,再根據(jù)公式(1)計算出對應的J值,然后比較所有編碼模式的J值,選取J值最小的編碼模式作為最優(yōu)編碼模式。然而,每編碼一次,都需要經(jīng)過變換(T,Transform)、量化(Q,Quantization)、反量化(IQ,InverseQuantization)、反變換(IT,InverseTransform)、重構(gòu)(R,Reconstruction)、熵編碼(EntropyCoding)等計算過程。因此,若將所有的編碼模式都編碼一遍,耗費大量計算。在硬件實現(xiàn)上,這種傳統(tǒng)的率失真優(yōu)化方法不僅對硬件的開銷很大,而且還會產(chǎn)生一定的時間延遲,影響編碼的實時性。因此,需要一種基于曲線擬合的率失真優(yōu)化方法以及使用該方法的裝置,用以克服以上所述的缺陷。技術(shù)實現(xiàn)要素:本發(fā)明的實施例提出一種基于曲線擬合的率失真優(yōu)化方法。依據(jù)第一幀的信息計算第一及第二擬合曲線,將第二幀的信息代入第一擬合曲線及第二擬合曲線,用以計算擬合失真及擬合編碼比特數(shù),并且依據(jù)擬合失真及擬合編碼比特數(shù)計算代價。依據(jù)代價決定第二幀的最佳塊劃分模式,以及依據(jù)最佳塊劃分模式劃分第二幀并據(jù)以編碼第二幀。本發(fā)明的實施例提出一種基于曲線擬合的率失真優(yōu)化裝置,包含幀內(nèi)/幀間預測模塊、率失真代價計算模塊以及曲線擬合模塊。曲線擬合模塊依據(jù)第一幀的信息計算第一擬合曲線及第二擬合曲線;以及將第二幀的信息代入第一擬合曲線及第二擬合曲線,計算擬合失真及擬合編碼比特數(shù)。率失真代價計算模塊依據(jù)擬合失真及擬合編碼比特數(shù)計算代價。幀內(nèi)/幀間預測模塊依據(jù)代價決定第二幀的最佳塊劃分模式;以及依據(jù)最佳塊劃分模式劃分第二幀。附圖說明圖1是依據(jù)本發(fā)明實施例的基于曲線擬合的率失真優(yōu)化方法流程圖。圖2是依據(jù)本發(fā)明實施例的基于曲線擬合的率失真優(yōu)化的系統(tǒng)方塊圖。圖3是依據(jù)本發(fā)明實施例的視頻編碼流程圖。具體實施方式以下說明為完成發(fā)明的較佳實現(xiàn)方式,其目的在于描述本發(fā)明的基本精神,但并不用以限定本發(fā)明。實際的
發(fā)明內(nèi)容必須參考之后的權(quán)利要求范圍。必須了解的是,使用于本說明書中的“包含”、“包括”等詞,用以表示存在特定的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、組件以及/或組件,但并不排除可加上更多的技術(shù)特征、數(shù)值、方法步驟、作業(yè)處理、組件、組件,或以上的任意組合。在權(quán)利要求中使用如“第一”、“第二”、“第三”等詞是用來修飾權(quán)利要求中的組件,并非用來表示之間具有優(yōu)先權(quán)順序,先行關(guān)系,或者是一個組件先于另一個組件,或者是執(zhí)行方法步驟時的時間先后順序,僅用來區(qū)別具有相同名字的組件。本發(fā)明的實施例提出了一種基于曲線擬合的率失真優(yōu)化方法。此方法需要對若干數(shù)據(jù)進行曲線擬合,例如,將待編碼數(shù)據(jù)的絕對值與編碼比特數(shù)(bits)進行曲線擬合,得到二者之間的曲線關(guān)系。又例如,將原始圖像和預測圖像的失真值與原始圖像和重構(gòu)圖像的失真值進行曲線擬合,得到二者之間的曲線關(guān)系。得到這些擬合曲線后,在后續(xù)的率失真優(yōu)化中,無需再像傳統(tǒng)方法那樣計算R值及D值,而只需計算出待編碼數(shù)據(jù)的絕對值,再把該值代入其對應的擬合曲線,即可得到對應的R’值;然后計算出原始圖像和預測圖像的失真值,再把該值代入其對應的擬合曲線,即可得到對應的D’值。通過擬合曲線來計算R’值和D’值,可降低計算復雜度,減少編碼的時間遲延。圖1是依據(jù)本發(fā)明實施例的基于曲線擬合的率失真優(yōu)化方法流程圖。此流程依據(jù)第一幀(可稱為參考幀)的信息計算第一擬合曲線及第二擬合曲線(步驟S110),將第二幀(可稱為編碼幀)的信息代入第一擬合曲線及第二擬合曲線,計算擬合失真及擬合編碼比特數(shù)(步驟S130),依據(jù)擬合失真及擬合編碼比特數(shù)計算代價(步驟S150)。接著,流程依據(jù)代價決定第二幀的最佳塊劃分模式(步驟S170),以及依據(jù)最佳塊劃分模式劃分第二幀,并據(jù)以編碼第二幀(步驟S190)。圖2是依據(jù)本發(fā)明實施例的基于曲線擬合的率失真優(yōu)化的系統(tǒng)方塊圖。曲線擬合模塊(curve-fittingmodule)240可采用最小二乘法(generalizedleastsquares)來進行曲線擬合。最小二乘法于最小誤差平方和的情況下,使用回歸模型估計未知的參數(shù)。當回歸模型的解釋變量(獨立變量)間具有一定程度的關(guān)聯(lián),最小二乘法可用以進行回歸分析。擬合函數(shù)可為三階函數(shù)(third-orderfunction),如以下公式(2)所示,用以依據(jù)一幀的信息找出a、b、c、d的值:y(x)=a·x3+b·x2+c·x+d(2)曲線擬合模塊240可使用公式(3)計算a、b、c、d的值:Σi=1N1Σi=1NxiΣi=1Nxi2Σi=1Nxi3Σi=1NxiΣi=1Nxi2Σi=1Nxi3Σi=1Nxi4Σi=1Nxi2Σi=1Nxi3Σi=1Nxi4Σi=1Nxi5Σi=1Nxi3Σi=1Nxi4Σi=1Nxi5Σi=1Nxi6·abcd=Σi=1NyiΣi=1Nxi·yiΣi=1Nxi2·yiΣi=1Nxi3·yi---(3)]]>其中,N表示樣點個數(shù),[xi,yi]表示一幀的第i對樣點的值。利用公式(3)及上述幀的信息求出a、b、c、d的值之后,就能完成公式(2)的擬合曲線。之后,曲線擬合模塊240將下一幀的x值代入公式(2),就可以確定y值。曲線擬合模塊240使用公式(2)、公式(3),對公式(1)中的D、R二部分進行曲線擬合。詳細來說,對于D值的曲線擬合,曲線擬合模塊240可從幀內(nèi)/幀間預測模塊(intra-frame/inter-framepredictionmodule)210取得上述幀的N個不同預測單元(PU,PredictionUnit)塊的原始像素值與預測像素值間的失真值SAD,及從失真計算模塊(distortioncalculationmodule)230取得該PU塊的原始像素值與重構(gòu)像素值間的失真值D,用以得到N個[xi1,yi1]值對,其中xi1表示第i個PU塊的原始像素值與預測像素值間的失真值,yi1表示第i個PU塊的原始像素值與重構(gòu)像素值間的失真值。接著,曲線擬合模塊240可使用公式(4)求出a1,b1,c1,d1的值:Σi=1N1Σi=1Nxi1Σi=1Nxi12Σi=1Nxi13Σi=1Nxi1Σi=1Nxi12Σi=1Nxi13Σi=1Nxi14Σi=1Nxi12Σi=1Nxi13Σi=1Nxi14Σi=1Nxi15Σi=1Nxi13Σi=1Nxi14Σi=1Nxi15Σi=1Nxi16·a1b1c1d1=Σi=1Nyi1Σi=1Nxi1·yi1Σi=1Nxi12·yi1Σi=1Nxi13·yi1---(4)]]>最后,曲線擬合模塊240將a1,b1,c1,d1代入公式(5),即可得到由失真值SAD及失真值D計算出的擬合曲線:y1(x)=a1·x3+b1·x2+c1·x+d1(5)詳細來說,對于R值的曲線擬合,曲線擬合模塊240可從幀內(nèi)/幀間預測模塊210取得上述幀的N個預測單元塊的不同殘差(residuals)的絕對值V,及從熵編碼模塊(entropycodingmodule)220取得編碼上述幀所需要的比特數(shù)R,用以得到N個[xi2,yi2]值對,其中xi2表示第i個PU塊的殘差的絕對值,yi2表示編碼第i個PU塊需要的比特數(shù)。接著,曲線擬合模塊240可使用公式(6)求出a2,b2,c2,d2的值:Σi=1N1Σi=1Nxi2Σi=1Nxi22Σi=1Nxi23Σi=1Nxi2Σi=1Nxi22Σi=1Nxi23Σi=1Nxi24Σi=1Nxi22Σi=1Nxi23Σi=1Nxi24Σi=1Nxi25Σi=1Nxi23Σi=1Nxi24Σi=1Nxi25Σi=1Nxi26·a2b2c2d2=Σi=1Nyi2Σi=1Nxi2·yi2Σi=1Nxi22·yi2Σi=1Nxi23·yi2---(6)]]>最后,曲線擬合模塊240將a2,b2,c2,d2代入公式(7),即可得到由殘差值V及編碼比特數(shù)R之間的擬合曲線:y2(x)=a2·x3+b2·x2+c2·x+d2(7)圖3是依據(jù)本發(fā)明實施例的視頻編碼流程圖。此方法應用于如圖2所示的系統(tǒng)。首先,編碼第一幀圖像(步驟S310)。接著,反復執(zhí)行一個循環(huán),用以編碼下一幀(步驟S330),直到視頻序列編碼完畢為止(步驟S350中“否”的路徑)。在步驟S310,不進行率失真優(yōu)化,此幀在決定如何進行塊劃分時,僅利用原始圖像與預測圖像間的失真值SAD進行判決,即J=SAD。詳細來說,幀內(nèi)/幀間預測模塊210直接采用原始圖像與預測圖像間的失真值SAD進行塊劃分。在決定結(jié)束后,幀內(nèi)/幀間預測模塊210可得到最佳劃分模式,記錄該最佳劃分模式的SAD值、殘差值、運動向量值、參考幀等信息。然后,針對每塊進行變換271、量化273、反量化275、反變換277、熵編碼220、重構(gòu)279等計算過程。熵編碼模塊220記錄熵編碼時所需的編碼比特數(shù)R,并輸出至曲線擬合模塊240。此外,失真計算模塊230計算原始圖像F與重構(gòu)圖像F’間的失真值D,并輸出至曲線擬合模塊240。曲線擬合模塊240收集完需要的值后,使用公式(4)、(5)、(6)、(7)分別得到失真值D及所需的編碼比特數(shù)R的擬合曲線y1(x)及y2(x)。在步驟S330,利用擬合曲線y(x)來進行率失真優(yōu)化。詳細來說,幀內(nèi)/幀間預測模塊210計算PU塊的SAD值,并輸出至曲線擬合模塊240。曲線擬合模塊240將PU塊的SAD值代入公式(5)中的擬合曲線y1(x),用以得到擬合的失真值D'。幀內(nèi)/幀間預測模塊210另計算PU塊的殘差絕對值V,并輸出至曲線擬合模塊240。曲線擬合模塊240將PU塊的殘差絕對值V代入公式(7)中得到的擬合曲線y2(x),用以得到PU塊的擬合編碼比特數(shù)R'r。加總所有編碼比特數(shù),得到總擬合編碼比特數(shù)R'。率失真(RD)代價計算模塊250計算擬合的率失真代價J=D'+λ·R',并輸出至幀內(nèi)/幀間預測模塊210。然后,幀內(nèi)/幀間預測模塊210使用J值對塊劃分進行判決,得到最佳的塊劃分模式。與此同時,該幀也需執(zhí)行步驟S310中的計算,以更新擬合曲線y1(x)及y2(x)。曲線擬合模塊240及RD代價計算模塊250可使用多種方式實施,例如以專用硬件電路或通用硬件(例如,單一處理器、具平行處理能力的多處理器、圖形處理器或其它具運算能力的處理器),并且在執(zhí)行程序代碼或軟件時,提供之后所描述的功能。幀內(nèi)/幀間預測模塊210、熵編碼模塊220、失真計算模塊230、變換271、量化273、反量化275、反變換277及重構(gòu)279可采用習知的專用硬件電路實施,或者是使用通用硬件于加載并執(zhí)行習知的程序代碼時實施。關(guān)于幀內(nèi)/幀間預測模塊210的塊劃分判決,舉例來說,可決定將一個16x16編碼單元(CU,CodingUnit)劃分成4個8x8PU塊、2個8x16PU塊以及2個16x8PU塊中之一者。或者是,幀內(nèi)/幀間預測模塊110可決定將一個8x8CU劃分成4個4x4PU塊、2個4x8PU塊以及2個8x4PU塊中之一者。雖然圖2中包含了以上描述的組件,但不排除在不違反發(fā)明的精神下,使用更多其它的附加組件,以達成更佳的技術(shù)效果。雖然本發(fā)明使用以上實施例進行說明,但需要注意的是,這些描述并非用以限縮本發(fā)明。相反地,此發(fā)明涵蓋了熟習此技藝人士顯而易見的修改與相似設置。所以,申請權(quán)利要求范圍須以最寬廣的方式解釋來包含所有顯而易見的修改與相似設置?!痉栒f明】S110~S190方法步驟;210幀內(nèi)/幀間預測模塊;220熵編碼模塊;230失真計算模塊;240曲線擬合模塊;250RD代價計算模塊;271變換;273量化;275反量化;277反變換;279重構(gòu);F原始圖像;F’重構(gòu)圖像;V(Mode,MV,Ref)最佳劃分模式的SAD值、運動向量值及參考幀;V(Residual)殘差值;V參考信息;SADPU塊的原始像素值與預測像素值間的失真值;DPU塊的原始像素值與重構(gòu)像素值間的失真值;D’擬合的失真值;R所需的編碼比特數(shù);R’總擬合編碼比特數(shù);J代價值;S310~S350方法步驟。當前第1頁1 2 3