一種率失真優(yōu)化方法及裝置制造方法
【專利摘要】本發(fā)明的實施例提供一種率失真優(yōu)化方法及裝置,用以解決現(xiàn)有技術中無法針對編碼圖像塊的特征對編碼圖像塊進行視頻編碼的問題,從而提高了視頻編碼的質量,提高畫面質量。該方案包括:獲取編碼圖像塊的第一代價因子λ1,所述第一代價因子λ1是以所述編碼圖像塊的塊slice類型和量化參數(shù)為變量的函數(shù);提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖像塊的復雜度和質量參數(shù);根據(jù)所述第一代價因子λ1和所述特征信息得到所述編碼圖像塊的第二代價因子λ2;根據(jù)所述第二代價因子λ2調用編碼代價函數(shù),對所述編碼圖像塊進行率失真優(yōu)化。
【專利說明】一種率失真優(yōu)化方法及裝置
【技術領域】
[0001] 本發(fā)明涉及多媒體通信領域,尤其涉及一種率失真優(yōu)化方法及裝置。
【背景技術】
[0002] 視頻壓縮即視頻編碼,是計算機處理視頻的前提。由于視頻信號數(shù)字化后數(shù)據(jù)帶 寬很高,通常在20MB/秒以上,因此計算機很難對數(shù)字化后的數(shù)據(jù)進行保存和處理。視頻壓 縮技術可以將數(shù)據(jù)帶寬降到1-10MB/秒,這樣就可以將視頻信號保存在計算機中并作相應 的處理。
[0003] 在視頻壓縮過程中,如果壓縮碼率過大,很容易造成圖像的失真,而壓縮碼率過 小,又無法將數(shù)據(jù)帶寬降低至計算機可以處理的閾值范圍內,為解決這一問題,RD0(Rate Distortion Optimization,率失真優(yōu)化)技術應運而生,RD0技術的核心是通過計算不同 編碼模式中編碼圖像塊的編碼代價,在提高壓縮碼率和避免失真之間找到一個合理的平衡 點,即在保證壓縮碼率的同時兼顧視頻質量。
[0004] 然而,在新一代視頻編碼標準即H. 265中,H. 265的最大編碼單元為CTU(Coding Tree Unit,編碼樹單元),每一當前幀可以劃分為N個CTU,而在原有的RD0技術中,調用編 碼代價函數(shù)進行率失真優(yōu)化時僅考慮編碼圖像塊對應的當前幀的塊類型(slice type)和 量化參數(shù)(quantization parameter, QP),對于復雜性或者圖像特征要求較高的圖像塊,原 有的RD0技術無法精細編碼到每一個CTU甚至每一個CTU的⑶(Coding Unit,編碼單元) 中(CTU與CU均可視為編碼圖像塊),不能很好的反映出圖像的局部特點,可見,在HEVC中 原有的RD0技術已不能保證視頻編碼質量。
【發(fā)明內容】
[0005] 本發(fā)明的實施例提供一種率失真優(yōu)化方法及裝置,用以解決現(xiàn)有技術中無法針對 編碼圖像塊的特征對編碼圖像塊進行視頻編碼的問題,從而提高了視頻編碼的質量,提高 畫面質量。
[0006] 為達到上述目的,本發(fā)明的實施例采用如下技術方案:
[0007] 第一方面,本發(fā)明的實施例提供一種率失真優(yōu)化方法,包括:
[0008] 獲取編碼圖像塊的第一代價因子λ i,所述第一代價因子λ i是以所述編碼圖像塊 的塊slice類型和量化參數(shù)為變量的函數(shù);
[0009] 提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖像塊的復雜 度和質量參數(shù);
[0010] 根據(jù)所述第一代價因子λ i和所述特征信息得到所述編碼圖像塊的第二代價因子 λ 2 ;
[0011] 根據(jù)所述第二代價因子λ 2調用編碼代價函數(shù),對所述編碼圖像塊進行率失真優(yōu) 化。
[0012] 在第一方面的第一種可能的實現(xiàn)方式中,所述特征信息是以所述編碼圖像塊的特 征因子為變量的函數(shù)值,其中,
[0013] 所述特征因子為所述編碼圖像塊的SSD(Sum of Squared Differences,平方差值 和),或者,所述特征因子為所述編碼圖像塊的索貝爾(Sobel)算子。
[0014] 結合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式 中,所述提取所述編碼圖像塊的特征信息,包括:
[0015] 若所述特征因子小于第一閾值,則根據(jù)所述特征因子以及第一預置函數(shù)計算所述 編碼圖像塊的特征信息。
[0016] 結合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式 中,所述提取所述編碼圖像塊的特征信息,包括:
[0017] 若所述特征因子大于第一閾值,且所述特征因子小于第二閾值,則根據(jù)所述特征 因子以及第二預置函數(shù)計算所述編碼圖像塊的特征信息,其中,所述第二閾值大于所述第 一閾值。
[0018] 結合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式 中,所述提取所述編碼圖像塊的特征信息,包括:
[0019] 若所述特征因子大于第二閾值,則根據(jù)所述特征因子以及第三預置函數(shù)計算所述 編碼圖像塊的特征信息。
[0020] 在第一方面的第五種可能的實現(xiàn)方式中,所述根據(jù)所述第二代價因子λ2調用編 碼代價函數(shù),對所述編碼圖像塊進行率失真優(yōu)化,包括:
[0021] 獲取所述編碼圖像塊的失真值和比特率,所述失真值用于指示所述編碼圖像塊的 像素與第Ν參考圖像塊的像素之間的差值,所述比特率用于指示所述編碼圖像塊的清晰 度,所述第Ν參考圖像塊為預置的至少一個重構幀中的與所述編碼圖像塊大小相同的圖像 塊,Ν彡1 ;
[0022] 根據(jù)所述編碼圖像塊的失真值、比特率以及所述第二代價因子λ 2,計算所述編碼 圖像塊的編碼代價;
[0023] 在Μ個編碼代價中確定最小的編碼代價以及所述最小的編碼代價對應的參考圖 像塊,并將所述參考圖像塊輸出,Μ > Ν。
[0024] 第二方面,本發(fā)明的實施例提供一種率失真優(yōu)化裝置,包括:
[0025] 獲取單元,用于獲取編碼圖像塊的第一代價因子λ i,所述第一代價因子λ i是以 所述編碼圖像塊的塊slice類型和量化參數(shù)QP為變量的函數(shù)值;
[0026] 提取單元,用于提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編 碼圖像塊的復雜度和質量參數(shù);
[0027] 計算單元,用于根據(jù)所述第一代價因子λ i和所述特征信息得到所述編碼圖像塊 的第二代價因子λ2;并根據(jù)所述第二代價因子λ2調用編碼代價函數(shù),對所述編碼圖像塊 進行率失真優(yōu)化。
[0028] 在第二方面的第一種可能的實現(xiàn)方式中,
[0029] 所述計算單元,具體用于若所述特征因子小于第一閾值,則根據(jù)所述特征因子以 及第一預置函數(shù)計算所述編碼圖像塊的特征信息;若所述特征因子大于第一閾值,且所述 特征因子小于第二閾值,則根據(jù)所述特征因子以及第二預置函數(shù)計算所述編碼圖像塊的特 征信息,其中,所述第二閾值大于所述第一閾值;若所述特征因子大于第二閾值,則根據(jù)所 述特征因子以及第三預置函數(shù)計算所述編碼圖像塊的特征信息;
[0030] 其中,所述特征信息是以所述編碼圖像塊的特征因子為變量的函數(shù),所述特征因 子為所述編碼圖像塊的平方差值和,或者,所述特征因子為所述編碼圖像塊的索貝爾算子。
[0031] 在第二方面的第二種可能的實現(xiàn)方式中,
[0032] 所述獲取單元,還用于獲取所述編碼圖像塊的失真值和比特率,所述失真值用于 指示所述編碼圖像塊的像素與第N參考圖像塊的像素之間的差值,所述比特率用于指示所 述編碼圖像塊的清晰度,所述第N參考圖像塊為預置的至少一個重構幀中的與所述編碼圖 像塊大小相同的圖像塊,N > 1 ;
[0033] 所述計算單元,還用于根據(jù)所述編碼圖像塊的失真值、比特率以及所述第二代價 因子λ 2,計算所述編碼圖像塊的編碼代價;并在Μ個編碼代價中確定最小的編碼代價以及 所述最小的編碼代價對應的參考圖像塊,將所述參考圖像塊輸出,Μ > Ν。
[0034] 本發(fā)明的實施例提供一種率失真優(yōu)化方法及裝置,通過提取當前編碼圖像塊的特 征信息,修正了編碼代價函數(shù)中的代價因子的取值,使得在對當前編碼圖像塊進行率失真 優(yōu)化時,時準確的反映了編碼圖像塊的復雜程度和質量優(yōu)劣,尤其是對于復雜性或者圖像 特征要求較高的圖像塊,本方案解決了現(xiàn)有技術中無法針對編碼圖像塊的特征對編碼圖像 塊進行視頻編碼的問題,從而提高了視頻編碼的質量,提高畫面質量。
【專利附圖】
【附圖說明】
[0035] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0036] 圖1為本發(fā)明實施例提供的一種率失真優(yōu)化方法的流程示意圖一;
[0037] 圖2為本發(fā)明實施例提供的一種率失真優(yōu)化方法的流程示意圖二;
[0038] 圖3為本發(fā)明實施例提供的一種特征信息的提取方法的流程示意圖;
[0039] 圖4為現(xiàn)有技術與本發(fā)明實施例提供的率失真優(yōu)化后的對比圖像一;
[0040] 圖5為現(xiàn)有技術與本發(fā)明實施例提供的率失真優(yōu)化后的對比圖像二;
[0041] 圖6為本發(fā)明實施例提供的一種率失真優(yōu)化裝置的結構示意圖。
【具體實施方式】
[0042] 以下描述中,為了說明而不是為了限定,提出了諸如特定系統(tǒng)結構、接口、技術之 類的具體細節(jié),以便透徹理解本發(fā)明。然而,本領域的技術人員應當清楚,在沒有這些具體 細節(jié)的其它實施例中也可以實現(xiàn)本發(fā)明。在其它情況中,省略對眾所周知的裝置、電路以及 方法的詳細說明,以免不必要的細節(jié)妨礙本發(fā)明的描述。
[0043] 本發(fā)明的實施例提供一種率失真優(yōu)化方法,如圖1所示,包括:
[0044] 101、率失真優(yōu)化裝置確定編碼圖像塊的第一代價因子λ lt)
[0045] 其中,第一代價因子λ i是以編碼圖像塊的塊slice類型和量化參數(shù)QP為變量的 函數(shù),8卩λ i可以由下式表示:
[0046] λ j = F(Slice Type, QP)
[0047] 因此,率失真優(yōu)化裝置在確定編碼圖像塊的第一代價因子λ i時,首先獲取編碼圖 像塊的Slice Type (塊類型)和量化參數(shù)QP,進而根據(jù)上述公式計算編碼圖像塊的第一代 價因子入i。
[0048] 具體的,編碼圖像塊的代價因子λ是率失真(distortion-rate)函數(shù)中的一個變 量,它決定了圖像失真度D與編碼碼率R二者之間的相互關系,由于在視頻壓縮過程中,如 果編碼碼率R過大,很容易造成圖像的失真,而編碼碼率R過小,又無法將數(shù)據(jù)帶寬降低至 計算機可以處理的閾值范圍內,所以λ的取值即在提高編碼碼率R和避免失真之間找到一 個合理的平衡點,以使得在以盡可能小的編碼碼率下,獲取的圖像失真度盡可能的少?,F(xiàn)有 技術中λ的計算只與Slice Type和QP有關,但是,一幅圖像不同區(qū)域的細節(jié)紋理也是不 一樣的,如果同一幀用相同的λ,則不能很好的反映出圖像的局部特點,導致最終編碼的視 頻質量下降。
[0049] 其中,QP是決定視頻質量碼流的重要指標,Η. 264協(xié)議和中Η. 265協(xié)議中對Slice Type和QP二者都有詳細的規(guī)定,故此處不再贅述。
[0050] 進一步地,在H. 264協(xié)議中,所述編碼圖像塊可以為宏塊;在HEVC協(xié)議中,所述編 碼圖像塊可以為編碼樹單元CTU或者編碼單元CU,其中,所述CU為所述CTU中的劃分單元。 如此,對整個視頻進行編碼時便可以精細到CTU層面,甚至⑶層面。其中,H. 265是新一代 視頻壓縮標準,其壓縮效率比H. 264提高一倍,即在相同的壓縮質量下,HEVC碼流比H. 264 碼流可以減少一半。
[0051] 102、率失真優(yōu)化裝置提取編碼圖像塊的特征信息,特征信息用于反映編碼圖像塊 的復雜度和質量參數(shù)。
[0052] 具體的,為了反映出圖像中圖像塊的局部特點,率失真優(yōu)化裝置提取編碼圖像塊 的特征信息,并將編碼圖像塊的特征信息作為衡量指標之一計算率失真代價進而進行率失 真優(yōu)化,以最大程度的在視頻編碼的過程中還原圖像的真實性。
[0053] 其中,特征信息可以是任何能反映圖像信息的標量,如Sobel(索貝爾)強度、SSD 值、SAD (sum of absolute difference,絕對差值和)值等。具體特征信息以及復雜度的獲 取方法將在下面實施例中詳細闡述,故此處不再贅述。
[0054] 103、率失真優(yōu)化裝置根據(jù)第一代價因子λ i和特征信息獲得編碼圖像塊的第二代 價因子入2。
[0055] 具體的,在率失真優(yōu)化裝置提取到編碼圖像塊的特征信息后,根據(jù)第一代價因子 λi和特征信息計算優(yōu)化后的第二代價因子λ 2,該第二代價因子λ2中包含有編碼圖像塊 的特征信息,即在提高編碼碼率R和避免失真之間找到一個最佳點,最大程度的在視頻編 碼的過程中還原圖像的真實性。
[0056] 104、率失真優(yōu)化裝置根據(jù)第二代價因子λ 2調用編碼代價函數(shù),對所述編碼圖像 塊進行率失真優(yōu)化。
[0057] 具體的,在率失真優(yōu)化裝置獲得第二代價因子λ 2后,率失真優(yōu)化裝置獲取所述編 碼圖像塊的失真值D和比特率R,并根據(jù)所述編碼圖像塊的失真值D、比特率R以及所述第 二代價因子λ 2,計算所述編碼圖像塊相對于某一參考幀的圖像塊的率失真代價。其中,所 述失真值D用于指示所述編碼圖像塊的像素與第Ν參考圖像塊的像素之間的差值,所述比 特率R用于指示所述編碼圖像塊的清晰度,所述第Ν參考圖像塊為預置的至少一個重構幀 中的與所述編碼圖像塊大小相同的圖像塊。
[0058] 其中,編碼代價函數(shù)RDcost可以用下式表示:
[0059] RDcost = D (失真值)+ λ 2*R (比特率)
[0060] 至此,本發(fā)明實施例提供一種率失真優(yōu)化方法,通過增加特征信息變量,獲得全新 的編碼圖像塊的第二代價因子λ 2并根據(jù)λ 2調用RDcost函數(shù)計算率失真代價,準確的反 映出圖像的局部特點。
[0061] 本發(fā)明的實施例提供一種率失真優(yōu)化方法,通過獲取編碼圖像塊的第一代價因子 λ i;提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖像塊的復雜程度 和質量參數(shù);根據(jù)所述第一代價因子λ i和所述特征信息計算所述編碼圖像塊的第二代價 因子λ 2;根據(jù)所述第二代價因子λ 2調用編碼代價函數(shù)RDcost,計算所述編碼圖像塊的編 碼代價。該方案通過提取當前編碼圖像塊的特征信息,修正了編碼代價函數(shù)RDcost中的代 價因子的取值,使得在計算當前編碼圖像塊的率失真代價時準確的反映了編碼圖像塊的復 雜程度和質量優(yōu)劣,尤其是對于復雜性或者圖像特征要求較高的圖像塊,本方案解決了現(xiàn) 有技術中無法針對編碼圖像塊的特征對編碼圖像塊進行視頻編碼的問題,從而提高了視頻 編碼的質量,提高畫面質量。
[0062] 本發(fā)明的實施例提供一種率失真優(yōu)化方法,如圖2所示,包括:
[0063] 201、率失真優(yōu)化裝置確定編碼圖像塊的第一代價因子λ lt)
[0064] 其中,λ i的取值即在提高編碼碼率R和避免失真之間找到一個合理的平衡點,以 使得在以盡可能小的編碼碼率下,獲取的圖像失真度盡可能的少。第一代價因子λ i是以 編碼圖像塊的塊slice類型和量化參數(shù)QP為變量的函數(shù)值,8卩λ i可以由下式表示:
[0065] λ j = F(Slice Type, QP)
[0066] 示例性的,λ i的計算公式可以為下式:
[0067] λ j = F(Slice Type, QP) = dQPFactor*pow(2. 0, QP/3. 0)
[0068] 其中,dQPFactor為以Slice Type為變量的函數(shù)值;pow函數(shù)是C/C++中的數(shù)學函 數(shù),用于計算X的y次冪。P〇w函數(shù)在TC2.0中原型為extern float pow(float x,float y);而在 VC6.0 中原型為 double pow(double x, double y)。
[0069] 需要說明的是,在H. 264協(xié)議中,所述編碼圖像塊可以為宏塊;在H. 265協(xié)議中,所 述編碼圖像塊可以為編碼樹單元CTU或者編碼單元CU,其中,所述CU為所述CTU中的劃分 單元。
[0070] 202、率失真優(yōu)化裝置獲取編碼圖像塊的特征因子,進而獲得編碼圖像塊的特征信 肩、。
[0071] 其中,特征因子可以是任何能反映圖像信息的標量,可以用于反映所述編碼圖像 塊的復雜度和質量參數(shù),如Sobel強度、SSD值、SAD值等。例如,夜間拍攝的視頻對圖像的 亮度要求很高,因而率失真優(yōu)化裝置對該視頻進行編碼時,可以將亮度分布作為特征因子, 進而獲得編碼圖像塊的特征信息。
[0072] 具體的,率失真優(yōu)化裝置獲取編碼圖像塊的特征因子后,對特征因子的數(shù)值進行 判斷,若所述特征因子小于第一閾值,則根據(jù)所述特征因子根據(jù)第一預置函數(shù)計算所述編 碼圖像塊的特征信息;若所述特征因子大于第一閾值,則判斷所述特征因子是否小于第二 閾值;若所述特征因子小于第二閾值,則根據(jù)所述特征因子根據(jù)第二預置函數(shù)計算所述編 碼圖像塊的特征信息;若所述特征因子大于第二閾值,則根據(jù)所述特征因子根據(jù)第三預置 函數(shù)計算所述編碼圖像塊的特征信息,其中,第二閾值大于所述第一閾值。
[0073] 示例性的,如圖3所示,閾值1 (Thresh_l)為3000,閾值2 (Thresh_2)取值5000, 以SSD值為編碼圖像塊的特征因子,當SSD值大于閾值1時,使用函數(shù)F1計算特征信息;當 SSD值小于閾值1時,判斷SSD值是否小于閾值2 ;當SSD值大于閾值2時,使用函數(shù)F2計 算特征信息;當SSD值小于閾值2時,使用函數(shù)F3計算特征信息。
[0074] 其中,F(xiàn)I = (SSD_Thresh_l) *1. 5/Thresh_l ;
[0075] F2 = (SSD-Thresh_2)*0. 9/Thresh_2 ;
[0076] F3 = (Thresh_2-SSD)*1. 2/Thresh_2 ;
[0077] 優(yōu)選的,Thresh_l可以為3000,Thresh_2可以為5000。顯而易見的,閾值1和閾 值2的取值,可以根據(jù)具體的序列場景而定,函數(shù)的具體實現(xiàn)可以根據(jù)特征因子的不同,做 不同的調整,本發(fā)明的實施例對此不做限定。
[0078] 進一步地,特征信息可以用于反映編碼圖像塊的復雜度,即也可以使用復雜度作 為特征因子來表征編碼圖像塊的特征信息。具體的,下面給出一種依邊緣強度的測量視頻 內容復雜度的方法,具體為:
[0079] 步驟2021,率失真優(yōu)化裝置對當前幀做邊緣檢出濾波,比如Sobel濾波等,得到各 像素點的橫向邊緣強度和縱向邊緣強度,進而得到各像素點的綜合邊緣強度,
[0080] V(p)=^K:(/;) + K:(;;)
[0081] 其中,p為像素點,Vx(p)為像素點的橫向邊緣強度,Vy(p)為像素點的縱向邊緣強 度,V(p)為像素點的綜合邊緣強度。
[0082] 步驟2022,率失真優(yōu)化裝置設定第一閾值T1和第二閾值T2 (T2 > T1),并根據(jù)第 一閾值T1和第二閾值T2將各像素點分為三部分,
[0083] V(p) < T1 ;
[0084] T1 ^ V(p) ^ T2 ;
[0085] V(p)>T2。
[0086] 步驟2023,率失真優(yōu)化裝置根據(jù)上述三部分的像素點的數(shù)量,計算編碼圖像塊的 視頻內容的復雜度c,
[0087] S1 =第一像素點數(shù),V(p) < T1,
[0088] S2 =第二像素點數(shù),T1彡V(p)彡T2,
[0089] S3 =第三像素點數(shù),V(p) > T2,
[0090] c = S2AS1+S3+S),其中,0 < s < 0· 01,c用來表示編碼圖像塊中視頻內容的復 雜度。
[0091] 當然這里也可用其他方法計算編碼圖像塊的視頻內容的復雜度,本發(fā)明實施例并 不限于此。
[0092] 至此,率失真優(yōu)化裝置獲取編碼圖像塊的特征因子,并獲得編碼圖像塊的特征信 肩、。
[0093] 203、率失真優(yōu)化裝置根據(jù)所述第一代價因子λ i和所述特征信息計算所述編碼圖 像塊的第二代價因子入2。
[0094] 具體的,在率失真優(yōu)化裝置提取到編碼圖像塊的特征信息后,根據(jù)第一代價因子 λi和特征信息計算優(yōu)化后的第二代價因子λ 2,該第二代價因子λ2中包含有編碼圖像塊 的特征信息,即在提高編碼碼率R和避免失真之間找到一個最佳點,最大程度的在視頻編 碼的過程中還原圖像的真實性。
[0095] 示例性的,λ 2 = λ # 特征信息=F(Slice Type, QP,特征信息)=F(Slice Type,QP,特征因子)。
[0096] 204、率失真優(yōu)化裝置獲取編碼圖像塊的失真值D和比特率R。
[0097] 其中,所述失真值D用于指示所述編碼圖像塊的像素與所述第N參考圖像塊的像 素之間的差值,所述比特率R用于指示所述編碼圖像塊的清晰度。
[0098] 如步驟201中所述,λ i的取值即在提高編碼碼率R和避免失真之間找到一個合 理的平衡點,故計算所述編碼圖像塊的編碼代價必須要獲取編碼圖像塊的失真值D和比特 率R。示例性的,失真值D,一般采用原始圖像與編碼重建圖像之間(即編碼圖像塊與重構 幀中的參考圖像塊之間)的PSNR(Peak Signal to Noise Ratio,峰值性噪比)來衡量,這 個PSNR可以是亮度PSNR,也可以是亮度與色度PSNR的線性組合。一般最簡單的情況下,采 用亮度的PSNR來作為主要衡量依據(jù)。其中所謂的峰值信號,即圖像中像素的最大值(比方 說像素亮度的最大值);其中所謂的噪聲,指的是原始圖像與重建圖像中各像素值的均方 差(即差值的平方取均值);將峰值信號與噪聲兩者一除,取其比值,再轉換成分貝形式,即 為PSNR。比特率R,指的是選取不同編碼參數(shù)、量化參數(shù)、預測模式時最終所需傳輸?shù)倪\動 矢量、參考幀編號、預測殘差值等總體編碼數(shù)據(jù)的多少。
[0099] 需要說明的是,步驟204并不限制在步驟203之后執(zhí)行,失真值D和比特率R的獲 取可以在步驟201-203之間任意時刻進行。
[0100] 205、率失真優(yōu)化裝置根據(jù)所述編碼圖像塊的失真值D、比特率R以及所述第二代 價因子λ 2,計算所述編碼圖像塊的編碼代價。
[0101] 具體的,在率失真優(yōu)化裝置獲取所述編碼圖像塊的失真值D和比特率R,且率失 真優(yōu)化裝置獲取到第二代價因子λ 2后,可以根據(jù)所述編碼圖像塊的失真值D、比特率R以 及所述第二代價因子λ2,計算所述編碼圖像塊的編碼代價RDcost。其中,編碼代價函數(shù) RDcost可以用下式表示:
[0102] 編碼代價RDcost = D(失真值)+入2噸(比特率)
[0103] 206、率失真優(yōu)化裝置將編碼代價最小的編碼圖像塊輸出。
[0104] 具體的,執(zhí)行玩步驟201-205后,獲得編碼圖像塊相對于參考幀中的一個相同大 小的圖像塊的編碼代價。當率失真優(yōu)化裝置使用上述方法和步驟205中的公式,遍歷所有 參考幀和所有參考幀中相同大小的圖像塊后,獲得N個編碼代價,比較后將取值最小的編 碼代價所對應的參考圖像塊確定為與編碼圖像塊最為匹配的圖像塊進行輸出,完成對編碼 圖像塊的率失真優(yōu)化。
[0105] 進一步地,應用本實施例中的率失真優(yōu)化方法,通過優(yōu)化編碼圖像塊的第二代價 因子λ2,由于累積效應,遍歷所有參考幀和所有參考幀中相同大小的圖像塊后最終輸出的 匹配圖像,在沒有增加額外復雜度的基礎上,圖像的主觀質量上有顯著提高,如如圖4和圖 5所示,右側圖像為相同碼率下,使用本發(fā)明的率失真優(yōu)化方法最后終輸出的壓縮視頻中的 圖像,顯而易見的,特征框內的圖像質量大幅提高,圖像畫面更加精細。
[0106] 其中,圖像的主觀質量是圖像質量評價的一個方面。圖像質量評價可以分為主觀 評價和客觀評價兩類,客觀評價雖然簡單快捷易于實現(xiàn),但是由于它只注重視頻的絕對誤 碼率,沒有考慮人眼的實際感受,因此出現(xiàn)了客觀評價結果與主觀人眼感受不相符的現(xiàn)象。 本實施例中提供的率失真優(yōu)化方法在對客觀評價質量影響不大的基礎上,顯著提高了圖像 的主觀質量,可以使用戶獲得更加真實的視覺體驗。
[0107] 本發(fā)明的實施例提供一種率失真優(yōu)化方法,通過獲取編碼圖像塊的第一代價因子 λ i;提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖像塊的復雜程度 和質量參數(shù);根據(jù)所述第一代價因子λ i和所述特征信息計算所述編碼圖像塊的第二代價 因子λ 2;根據(jù)所述第二代價因子λ 2調用編碼代價函數(shù)RDcost,計算所述編碼圖像塊的編 碼代價。該方案通過提取當前編碼圖像塊的特征信息,修正了編碼代價函數(shù)RDcost中的代 價因子的取值,使得在計算當前編碼圖像塊的率失真代價時準確的反映了編碼圖像塊的復 雜程度和質量優(yōu)劣,尤其是對于復雜性或者圖像特征要求較高的圖像塊,本方案解決了現(xiàn) 有技術中無法針對編碼圖像塊的特征對編碼圖像塊進行視頻編碼的問題,從而提高了視頻 編碼的質量,提高畫面質量。
[0108] 本發(fā)明的實施例提供一種率失真優(yōu)化裝置,如圖6所示,包括:
[0109] 獲取單元01,用于確定編碼圖像塊的第一代價因子,所述第一代價因子\1是 以所述編碼圖像塊的塊slice類型和量化參數(shù)為變量的函數(shù);
[0110] 提取單元02,用于提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述 編碼圖像塊的復雜度和質量參數(shù);
[0111] 計算單元03,用于根據(jù)所述第一代價因子λ i和所述特征信息計算所述編碼圖像 塊的第二代價因子λ 2;并根據(jù)所述第二代價因子λ 2調用編碼代價函數(shù)RDcost,計算所述 編碼圖像塊的編碼代價。
[0112] 進一步地,
[0113] 計算單元03,具體用于若所述特征因子小于第一閾值,則根據(jù)所述特征因子以及 第一預置函數(shù)計算所述編碼圖像塊的特征信息;若所述特征因子大于第一閾值,且所述特 征因子小于第二閾值,則根據(jù)所述特征因子以及第二預置函數(shù)計算所述編碼圖像塊的特征 信息,其中,所述第二閾值大于所述第一閾值;若所述特征因子大于第二閾值,則根據(jù)所述 特征因子以及第三預置函數(shù)計算所述編碼圖像塊的特征信息;
[0114] 其中,所述特征信息是以所述編碼圖像塊的特征因子為變量的函數(shù),所述特征因 子為所述編碼圖像塊的平方差值和,或者,所述特征因子為所述編碼圖像塊的索貝爾算子。
[0115] 進一步地,
[0116] 所述獲取單元01,還用于獲取所述編碼圖像塊的失真值和比特率,所述失真值用 于指示所述編碼圖像塊的像素與第N參考圖像塊的像素之間的差值,所述比特率用于指示 所述編碼圖像塊的清晰度,所述第N參考圖像塊為預置的至少一個重構幀中的與所述編碼 圖像塊大小相同的圖像塊,N > 1 ;
[0117] 所述計算單元03,還用于根據(jù)所述編碼圖像塊的失真值、比特率以及所述第二代 價因子λ 2,計算所述編碼圖像塊的編碼代價;并在Μ個編碼代價中確定最小的編碼代價以 及所述最小的編碼代價對應的參考圖像塊,將所述參考圖像塊輸出,Μ > Ν。
[0118] 進一步地,
[0119] 在Η. 264協(xié)議中,所述編碼圖像塊為宏塊;
[0120] 在HEVC協(xié)議中,所述編碼圖像塊為編碼樹單元CTU或者編碼單元CU,其中,所述 ⑶為所述CTU中的劃分單元。
[0121] 本發(fā)明的實施例提供一種率失真優(yōu)化裝置,通過獲取編碼圖像塊的第一代價因子 入i ;提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖像塊的復雜程度 和質量參數(shù);根據(jù)所述第一代價因子λ i和所述特征信息計算所述編碼圖像塊的第二代價 因子λ 2;根據(jù)所述第二代價因子λ 2調用編碼代價函數(shù)RDcost,計算所述編碼圖像塊的編 碼代價。該方案通過提取當前編碼圖像塊的特征信息,修正了編碼代價函數(shù)RDcost中的代 價因子的取值,使得在計算當前編碼圖像塊的率失真代價時準確的反映了編碼圖像塊的復 雜程度和質量優(yōu)劣,尤其是對于復雜性或者圖像特征要求較高的圖像塊,本方案解決了現(xiàn) 有技術中無法針對編碼圖像塊的特征對編碼圖像塊進行視頻編碼的問題,從而提高了視頻 編碼的質量,提高畫面質量。
[0122] 所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能 模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模 塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功 能。上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過 程,在此不再贅述。
[0123] 在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以 通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或 單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元 或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所 顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的 間接耦合或通信連接,可以是電性,機械或其它的形式。
[0124] 所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個 網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目 的。
[0125] 另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單 元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
[0126] 所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用 時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上 或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式 體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機 設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)或處理器(processor)執(zhí)行本發(fā)明各 個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲 器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光 盤等各種可以存儲程序代碼的介質。
[0127] 以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本【技術領域】的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵 蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。
【權利要求】
1. 一種率失真優(yōu)化方法,其特征在于,所述方法包括: 確定編碼圖像塊的第一代價因子λi,所述第一代價因子λi是以所述編碼圖像塊的塊 slice類型和量化參數(shù)為變量的函數(shù); 提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖像塊的復雜度和 質量參數(shù); 根據(jù)所述第一代價因子λ i和所述特征信息得到所述編碼圖像塊的第二代價因子λ2; 根據(jù)所述第二代價因子λ 2調用編碼代價函數(shù),對所述編碼圖像塊進行率失真優(yōu)化。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述特征信息是以所述編碼圖像塊的特 征因子為變量的函數(shù),其中, 所述特征因子為所述編碼圖像塊的平方差值和,或者,所述特征因子為所述編碼圖像 塊的索貝爾算子。
3. 根據(jù)權利要求2所述的方法,其特征在于,所述提取所述編碼圖像塊的特征信息,包 括: 若所述特征因子小于第一閾值,則根據(jù)所述特征因子以及第一預置函數(shù)計算所述編碼 圖像塊的特征信息。
4. 根據(jù)權利要求3所述的方法,其特征在于,所述提取所述編碼圖像塊的特征信息,包 括: 若所述特征因子大于第一閾值,且所述特征因子小于第二閾值,則根據(jù)所述特征因子 以及第二預置函數(shù)計算所述編碼圖像塊的特征信息,其中,所述第二閾值大于所述第一閾 值。
5. 根據(jù)權利要求4所述的方法,其特征在于,所述提取所述編碼圖像塊的特征信息,包 括: 若所述特征因子大于第二閾值,則根據(jù)所述特征因子以及第三預置函數(shù)計算所述編碼 圖像塊的特征信息。
6. 根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述第二代價因子λ 2調用編碼 代價函數(shù),對所述編碼圖像塊進行率失真優(yōu)化,包括: 獲取所述編碼圖像塊的失真值和比特率,所述失真值用于指示所述編碼圖像塊的像 素與第Ν參考圖像塊的像素之間的差值,所述比特率用于指示所述編碼圖像塊的清晰度, 所述第Ν參考圖像塊為預置的至少一個重構幀中的與所述編碼圖像塊大小相同的圖像塊, Ν ^ 1 ; 根據(jù)所述編碼圖像塊的失真值、比特率以及所述第二代價因子λ 2,計算所述編碼圖像 塊的編碼代價; 在Μ個編碼代價中確定最小的編碼代價以及所述最小的編碼代價對應的參考圖像塊, 并將所述參考圖像塊輸出,Μ > Ν。
7. -種率失真優(yōu)化裝置,其特征在于,所述裝置包括: 獲取單元,用于確定編碼圖像塊的第一代價因子λ i,所述第一代價因子λ 1是以所述 編碼圖像塊的塊slice類型和量化參數(shù)為變量的函數(shù); 提取單元,用于提取所述編碼圖像塊的特征信息,所述特征信息用于反映所述編碼圖 像塊的復雜度和質量參數(shù); 計算單元,用于根據(jù)所述第一代價因子λ i和所述特征信息得到所述編碼圖像塊的第 二代價因子λ2;并根據(jù)所述第二代價因子λ2調用編碼代價函數(shù),對所述編碼圖像塊進行 率失真優(yōu)化。
8. 根據(jù)權利要求7所述的裝置,其特征在于, 所述計算單元,具體用于若所述特征因子小于第一閾值,則根據(jù)所述特征因子以及第 一預置函數(shù)計算所述編碼圖像塊的特征信息;若所述特征因子大于第一閾值,且所述特征 因子小于第二閾值,則根據(jù)所述特征因子以及第二預置函數(shù)計算所述編碼圖像塊的特征信 息,若所述特征因子大于第二閾值,則根據(jù)所述特征因子以及第三預置函數(shù)計算所述編碼 圖像塊的特征信息,所述第二閾值大于所述第一閾值; 其中,所述特征信息是以所述編碼圖像塊的特征因子為變量的函數(shù),所述特征因子為 所述編碼圖像塊的平方差值和,或者,所述特征因子為所述編碼圖像塊的索貝爾算子。
9. 根據(jù)權利要求7所述的裝置,其特征在于, 所述獲取單元,還用于獲取所述編碼圖像塊的失真值和比特率,所述失真值用于指示 所述編碼圖像塊的像素與第Ν參考圖像塊的像素之間的差值,所述比特率用于指示所述編 碼圖像塊的清晰度,所述第Ν參考圖像塊為預置的至少一個重構幀中的與所述編碼圖像塊 大小相同的圖像塊,Ν彡1 ; 所述計算單元,還用于根據(jù)所述編碼圖像塊的失真值、比特率以及所述第二代價因子 入2,計算所述編碼圖像塊的編碼代價;并在Μ個編碼代價中確定最小的編碼代價以及所述 最小的編碼代價對應的參考圖像塊,將所述參考圖像塊輸出,Μ > Ν。
【文檔編號】H04N19/154GK104093022SQ201410294385
【公開日】2014年10月8日 申請日期:2014年6月25日 優(yōu)先權日:2014年6月25日
【發(fā)明者】翟海昌, 韓慶瑞, 劉苑文 申請人:華為技術有限公司