本申請(qǐng)要求于2015年5月7日提交的美國(guó)臨時(shí)申請(qǐng)No.62/158,523和于2014年11月11日提交的美國(guó)臨時(shí)申請(qǐng)62/078,181的優(yōu)先權(quán)。本申請(qǐng)也是2014年11月4日提交的美國(guó)申請(qǐng)No.14/532,947的部分延續(xù)案(CIP),美國(guó)申請(qǐng)No.14/532,947要求于2014年3月10日提交的美國(guó)臨時(shí)申請(qǐng)No.61/950,784和于2014年9月11日提交的美國(guó)臨時(shí)申請(qǐng)No.62/049,342的權(quán)益。以上引用的申請(qǐng)的全部教導(dǎo)通過(guò)引用并入本文
背景技術(shù):
視頻壓縮可以被認(rèn)為是一個(gè)以在存儲(chǔ)或傳輸時(shí)使用較少比特的形式來(lái)表示數(shù)字視頻數(shù)據(jù)的處理。視頻編碼可以通過(guò)利用無(wú)論是空間、時(shí)間還是色彩空間的視頻數(shù)據(jù)中的冗余來(lái)實(shí)現(xiàn)壓縮。視頻壓縮處理通常將視頻數(shù)據(jù)分割成諸如幀群組和像素群組之類的部分,以標(biāo)識(shí)出視頻內(nèi)能夠利用比原始視頻數(shù)據(jù)所需比特更少的比特來(lái)表示的冗余區(qū)域。當(dāng)利用數(shù)據(jù)中的這些冗余時(shí),可以實(shí)現(xiàn)更大的壓縮。編碼器可以被用于將視頻數(shù)據(jù)變換為編碼格式,而解碼器可以被用于將已編碼的視頻變換回與原始視頻數(shù)據(jù)相當(dāng)?shù)男问?。編碼器/解碼器的實(shí)現(xiàn)被稱為編解碼器。
標(biāo)準(zhǔn)編碼器將給定視頻幀劃分為非重疊編碼單元或宏塊(macroblock)(連續(xù)像素的矩形區(qū)域)以用于編碼。宏塊(在本文中更通常地被稱為“輸入塊”或“數(shù)據(jù)塊”)通常以視頻幀中從左到右和從上到下的遍歷順序被處理。當(dāng)使用先前編碼數(shù)據(jù)來(lái)預(yù)測(cè)和編碼輸入塊時(shí),可以實(shí)現(xiàn)壓縮。使用在同一幀內(nèi)的先前編碼塊的空間相鄰樣本來(lái)編碼輸入塊的處理被稱為幀內(nèi)預(yù)測(cè)(intra-prediction)。幀內(nèi)預(yù)測(cè)試圖利用數(shù)據(jù)中的空間冗余。使用來(lái)自先前編碼幀的類似區(qū)域(使用運(yùn)動(dòng)估計(jì)處理而被找到)對(duì)輸入塊的編碼被稱為幀間預(yù)測(cè)(inter-prediction)。幀間預(yù)測(cè)試圖利用數(shù)據(jù)中的時(shí)間冗余。運(yùn)動(dòng)估計(jì)處理可以生成運(yùn)動(dòng)矢量,該運(yùn)動(dòng)矢量例如指定參考幀中的匹配區(qū)域相對(duì)于正在被編碼的輸入塊的位置。大多數(shù)運(yùn)動(dòng)估計(jì)處理由以下兩個(gè)主要步驟構(gòu)成:初始運(yùn)動(dòng)估計(jì),其提供針對(duì)給定輸入塊的運(yùn)動(dòng)矢量(和對(duì)應(yīng)的時(shí)間預(yù)測(cè))的第一粗略估計(jì);以及精細(xì)運(yùn)動(dòng)估計(jì),其在初始估計(jì)的鄰域中執(zhí)行局部搜索以確定針對(duì)該輸入塊的運(yùn)動(dòng)矢量(和對(duì)應(yīng)預(yù)測(cè))的更精確的估計(jì)。
編碼器可以測(cè)量要被編碼的數(shù)據(jù)與預(yù)測(cè)之間的差異,以生成殘差。殘差可以提供預(yù)測(cè)塊和原始輸入塊之間的差異。預(yù)測(cè)、運(yùn)動(dòng)矢量(針對(duì)幀間預(yù)測(cè))、殘差和相關(guān)數(shù)據(jù)可以與諸如空間變換、量化器、熵編碼器和環(huán)路濾波器之類的其它處理進(jìn)行組合,以創(chuàng)建視頻數(shù)據(jù)的有效編碼。已經(jīng)被量化和變換的殘差可以被處理并且被添加回到預(yù)測(cè)、被組裝成解碼幀并且被存儲(chǔ)在幀存儲(chǔ)中。針對(duì)視頻的這種編碼技術(shù)的細(xì)節(jié)對(duì)于本領(lǐng)域技術(shù)人員而言是熟悉的。
MPEG-2(H.262)和H.264(MPEG-4第10部分,高級(jí)視頻編碼[AVC])(以下分別被稱為MPEG-2和H.264)是用于在相對(duì)低的比特率下實(shí)現(xiàn)高質(zhì)量視頻表示的視頻壓縮的兩個(gè)編解碼器標(biāo)準(zhǔn)。用于MPEG-2和H.264的基本編碼單元是16×16宏塊。H.264是最近被廣泛接受的視頻壓縮標(biāo)準(zhǔn),并且在壓縮視頻數(shù)據(jù)時(shí)通常被認(rèn)為是MPEG-2的兩倍高效。
基本MPEG標(biāo)準(zhǔn)基于如何對(duì)幀中的輸入塊進(jìn)行編碼來(lái)定義三種類型的幀(或圖片)。I幀(幀內(nèi)編碼圖片)僅使用幀本身中存在的數(shù)據(jù)來(lái)編碼,并且因此僅由幀內(nèi)預(yù)測(cè)塊構(gòu)成。P幀(預(yù)測(cè)圖片)使用來(lái)自先前解碼的I幀或P幀(也被稱為參考幀)的數(shù)據(jù)、經(jīng)由前向預(yù)測(cè)而被編碼。P幀可以包含幀內(nèi)塊或(前向)預(yù)測(cè)塊。B幀(雙向預(yù)測(cè)圖片)使用來(lái)自先前幀和后續(xù)幀兩者的數(shù)據(jù)、經(jīng)由雙向預(yù)測(cè)而被編碼。B幀可以包含幀內(nèi)、(前向)預(yù)測(cè)或雙向預(yù)測(cè)塊。
參考幀的特定集合被稱為圖片組(GOP)。GOP僅包含每個(gè)參考幀內(nèi)的解碼像素,并且不包括與輸入塊或幀本身如何被最初編碼有關(guān)的信息(I幀、B幀或P幀)。諸如MPEG-2之類的較舊視頻壓縮標(biāo)準(zhǔn)使用一個(gè)參考幀(在過(guò)去)來(lái)預(yù)測(cè)P幀,并且使用兩個(gè)參考幀(一個(gè)過(guò)去的,一個(gè)未來(lái)的幀)來(lái)預(yù)測(cè)B幀。相比之下,諸如H.264和HEVC(高效率視頻編碼)之類的較新壓縮標(biāo)準(zhǔn)允許將多個(gè)參考幀用于P幀和B幀預(yù)測(cè)。盡管參考幀通常在時(shí)間上與當(dāng)前幀相鄰,但是這些標(biāo)準(zhǔn)也允許在時(shí)間上不相鄰的參考幀。
傳統(tǒng)的幀間預(yù)測(cè)以基于塊的運(yùn)動(dòng)估計(jì)和補(bǔ)償(block-based motion estimation and compensation,BBMEC)為基礎(chǔ)。BBMEC處理搜索目標(biāo)塊(正被編碼的當(dāng)前輸入塊)和先前解碼的參考幀內(nèi)的相同大小的區(qū)域之間的最佳匹配。當(dāng)找到這樣的匹配時(shí),編碼器可以發(fā)送運(yùn)動(dòng)矢量,該運(yùn)動(dòng)矢量用作指向參考幀中最佳匹配的位置的指針。出于計(jì)算的原因,BBMEC搜索處理就所搜索的參考幀而言在時(shí)間上并且就所搜索的相鄰區(qū)域而言在空間上均是有限的。這意味著不總能找到“最佳可能”匹配,特別是對(duì)于快速變化的數(shù)據(jù)。
BBMEC處理的最簡(jiǎn)單形式使用(0,0)運(yùn)動(dòng)矢量來(lái)初始化運(yùn)動(dòng)估計(jì),這意味著目標(biāo)塊的初始估計(jì)是在參考幀中同一位置處的塊。然后,通過(guò)在局部鄰域中搜索與目標(biāo)塊最佳匹配(即,相對(duì)于目標(biāo)塊具有最低誤差)的區(qū)域來(lái)執(zhí)行精細(xì)運(yùn)動(dòng)估計(jì)。局部搜索可以通過(guò)局部鄰域的詳盡查詢(這里被稱為全塊搜索)或通過(guò)諸如菱形搜索或六邊形搜索之類的幾種“快速搜索”方法中的任何一種來(lái)執(zhí)行。
自從MPEG-2的較后版本以來(lái),已經(jīng)存在于標(biāo)準(zhǔn)編解碼器中的BBMEC處理的改進(jìn)是增強(qiáng)型預(yù)測(cè)區(qū)域搜索(enhanced predictive zonal search,EPZS)方法[Tourapis,A.,2002,“Enhanced predictive zonal search for single and multiple frame motion estimation,”Proc.SPIE 4671,Visual Communications and Image Processing,pp.1069-1078]。EPZS方法基于已經(jīng)被編碼的相鄰塊的運(yùn)動(dòng)矢量以及先前幀中同一位置處的塊(和相鄰塊)的運(yùn)動(dòng)矢量來(lái)考慮用于目標(biāo)塊的初始估計(jì)的運(yùn)動(dòng)矢量候選集合。EPZS方法假設(shè)視頻的運(yùn)動(dòng)矢量場(chǎng)具有一些空間和時(shí)間冗余,因此針對(duì)具有相鄰塊的運(yùn)動(dòng)矢量或來(lái)自已經(jīng)編碼的幀中的附近塊的運(yùn)動(dòng)矢量的目標(biāo)塊來(lái)初始化運(yùn)動(dòng)估計(jì)是合乎邏輯的。一旦已經(jīng)收集了初始估計(jì)集合,EPZS方法經(jīng)由近似速率-失真分析來(lái)縮小該集合,之后執(zhí)行精細(xì)運(yùn)動(dòng)估計(jì)。
對(duì)于任何給定的目標(biāo)塊,編碼器可以生成用于從中進(jìn)行選擇的多個(gè)幀間預(yù)測(cè)。這些預(yù)測(cè)可以由多個(gè)預(yù)測(cè)處理(例如,BBMEC、EPZS或基于模型的方案)而得到。這些預(yù)測(cè)還可以基于目標(biāo)塊的子分區(qū)而不同,其中不同的運(yùn)動(dòng)矢量與目標(biāo)塊的不同子分區(qū)相關(guān)聯(lián),并且相應(yīng)的運(yùn)動(dòng)矢量各自指向參考幀中的以子分區(qū)為大小的區(qū)域。預(yù)測(cè)還可以基于運(yùn)動(dòng)矢量指向的參考幀而不同;如上所述,最近的壓縮標(biāo)準(zhǔn)允許使用多個(gè)參考幀。對(duì)給定目標(biāo)塊的最佳預(yù)測(cè)的選擇通常通過(guò)速率失真優(yōu)化來(lái)完成,其中最佳預(yù)測(cè)是使速率-失真度量D+λR最小化的預(yù)測(cè),其中失真D測(cè)量目標(biāo)塊與預(yù)測(cè)之間的誤差,而速率R量化編碼該預(yù)測(cè)的成本(以比特為單位),并且λ是標(biāo)量加權(quán)因子。
歷史上,還已經(jīng)提出基于模型的壓縮方案以避免BBMEC預(yù)測(cè)的限制。這些基于模型的壓縮方案(其中最著名的可能是MPEG-4第2部分標(biāo)準(zhǔn))依賴于對(duì)視頻中的對(duì)象或特征(通常被定義為“感興趣的組分”)的檢測(cè)和追蹤以及用于與視頻幀的其余部分分離地對(duì)這些特征/對(duì)象進(jìn)行編碼的方法。特征/對(duì)象檢測(cè)/追蹤獨(dú)立于標(biāo)準(zhǔn)運(yùn)動(dòng)估計(jì)處理中的空間搜索而發(fā)生,因此特征/對(duì)象追蹤可以產(chǎn)生與通過(guò)標(biāo)準(zhǔn)運(yùn)動(dòng)估計(jì)可實(shí)現(xiàn)的不同的預(yù)測(cè)集合。
技術(shù)實(shí)現(xiàn)要素:
然而,這種基于特征/基于對(duì)象的基于模型的壓縮方案遭受與將視頻幀分割成對(duì)象區(qū)域與非對(duì)象(或特征與非特征)區(qū)域相關(guān)聯(lián)的挑戰(zhàn)。首先,因?yàn)閷?duì)象可以是任意大小,除了它們的紋理(顏色內(nèi)容)之外,對(duì)它們的形狀也需要被編碼。第二,多個(gè)移動(dòng)對(duì)象的追蹤可能是困難的,并且不準(zhǔn)確的追蹤導(dǎo)致不正確的分割,通常導(dǎo)致差的壓縮性能。第三個(gè)挑戰(zhàn)在于,不是所有的視頻內(nèi)容都由對(duì)象或特征組成,因此當(dāng)對(duì)象/特征不存在時(shí),需要一個(gè)后備編碼方案。
于2014年11月4日提交的共同未決的美國(guó)專利申請(qǐng)No.61/950,784(本文中的“'784申請(qǐng)”)提出了一種避免上述分段挑戰(zhàn)的基于模型的壓縮方案。'784申請(qǐng)的連續(xù)塊追蹤器(CBT)不檢測(cè)對(duì)象和特征,消除了從非對(duì)象/非特征背景中分割對(duì)象和特征的需要。相反,CBT通過(guò)將幀到幀運(yùn)動(dòng)估計(jì)組合到連續(xù)追蹤中,來(lái)追蹤視頻幀中的所有輸入塊(“宏塊”),就仿佛它們是感興趣區(qū)域。在這樣做時(shí),CBT對(duì)在視頻中運(yùn)動(dòng)進(jìn)行建模,獲得數(shù)據(jù)的更高級(jí)建模的益處以改善幀間預(yù)測(cè)、同時(shí)避免分割的挑戰(zhàn)。
其他基于模型的壓縮方案將人類視覺(jué)系統(tǒng)(human visual system,HVS)對(duì)視頻數(shù)據(jù)中的內(nèi)容的響應(yīng)建模為指示視頻幀的哪些部分對(duì)于人類感知而言最顯著的重要度圖(importance map)。重要度圖對(duì)視頻幀中的每個(gè)輸入或數(shù)據(jù)塊取值,并且對(duì)于任何給定塊的重要度圖值可以在整個(gè)視頻中逐幀地改變。通常,重要度圖被定義使得較高的值指示更重要的數(shù)據(jù)塊。
一種類型的重要度圖是時(shí)間對(duì)比敏感度函數(shù)(time contrast sensitivity function,TCSF)[de Lange,H.,1954,“Relationship between critical flicker frequency and a set of low frequency characteristics of the eye,”J.Opt.Soc.Am.,44:380-389],該TCSF測(cè)量HVS對(duì)時(shí)間周期性刺激的響應(yīng),并且揭示了數(shù)據(jù)中的某些時(shí)間特征對(duì)于人類觀察者而言是顯著的。這些時(shí)間特性與數(shù)據(jù)中的運(yùn)動(dòng)有關(guān),并且TCSF預(yù)測(cè)數(shù)據(jù)中最顯著的運(yùn)動(dòng)類型是既不與非常高的時(shí)間頻率也不與非常低的時(shí)間頻率相對(duì)應(yīng)的“中等”運(yùn)動(dòng)。
重要的是,要注意TCSF需要對(duì)視頻中移動(dòng)內(nèi)容的速度的準(zhǔn)確測(cè)量,以生成準(zhǔn)確的時(shí)間對(duì)比度值。這些速度可以通過(guò)計(jì)算光流(optical flow)而被逼近,該光流描述由于相機(jī)運(yùn)動(dòng)和/或?qū)ο筮\(yùn)動(dòng)而引起的視頻內(nèi)容的表觀運(yùn)動(dòng)(apparent motion)。然而,大多數(shù)標(biāo)準(zhǔn)視頻編碼器采用運(yùn)動(dòng)估計(jì)處理,這些運(yùn)動(dòng)估計(jì)處理優(yōu)化壓縮效率而不會(huì)準(zhǔn)確計(jì)算光流。
另一種類型的重要度圖基于空間對(duì)比敏感度并且測(cè)量HVS對(duì)諸如亮度、邊緣、空間頻率和顏色之類的空間特性的響應(yīng)。空間對(duì)比敏感度函數(shù)(spatial-contrast sensitivity function,SCSF)[參見(jiàn)例如Barten,P.,1999,Contrast Sensitivity of the Human Eye and Its Effects on Image Quality,SPIE Press]也被簡(jiǎn)稱為對(duì)比敏感度函數(shù)(contrast sensitivity function,CSF),測(cè)量對(duì)HVS而言顯著的空間對(duì)比度并且已經(jīng)被成功地應(yīng)用于JPEG 2000圖像壓縮標(biāo)準(zhǔn),用以減少圖像壓縮人為噪音(artifact)。對(duì)象和特征通常還借助于空間對(duì)比度測(cè)量(例如,如空間頻率梯度所指示的邊緣的存在)而被檢測(cè)。盡管已經(jīng)在圖像壓縮的上下文中(例如,JPEG 2000編解碼器)研究和利用空間對(duì)比敏感度,并且已經(jīng)提出了基于對(duì)象和特征檢測(cè)的許多視頻壓縮處理,但是在TCSF中被表示的時(shí)間對(duì)比敏感度先前尚未被應(yīng)用于視頻壓縮。
一些公開的發(fā)明實(shí)施例將重要度圖應(yīng)用于視頻壓縮以增強(qiáng)視頻編碼的質(zhì)量。在一個(gè)示例性實(shí)施例中,在標(biāo)準(zhǔn)視頻編碼處理流內(nèi),通過(guò)使用色彩空間域中的結(jié)構(gòu)相似度(SSIM)逼近波長(zhǎng)并且使用編碼器的運(yùn)動(dòng)矢量逼近速度,來(lái)計(jì)算時(shí)間頻率。然后,時(shí)間頻率用作時(shí)間對(duì)比敏感度函數(shù)(TCSF)的輸入,所述TCSF可以針對(duì)每個(gè)數(shù)據(jù)塊而被計(jì)算,以生成指示視頻幀的哪些區(qū)域?qū)τ谌祟愑^察者而言最顯著的時(shí)間重要度圖。
在另一示例實(shí)施例中,與由編碼器生成的運(yùn)動(dòng)矢量的相對(duì)質(zhì)量有關(guān)的信息可以在編碼處理中的不同點(diǎn)處被計(jì)算,并且然后被用于生成真實(shí)運(yùn)動(dòng)矢量圖,該真實(shí)運(yùn)動(dòng)矢量圖針對(duì)每個(gè)目標(biāo)塊輸出該目標(biāo)塊的運(yùn)動(dòng)矢量如何可靠。取0或1的值的真實(shí)運(yùn)動(dòng)矢量圖然后可以被用作用于精細(xì)化TCSF的遮罩(mask),使得TCSF不用于其運(yùn)動(dòng)矢量是不精確的目標(biāo)塊(即,真實(shí)運(yùn)動(dòng)矢量圖為0)。
在另一實(shí)施例中,可以根據(jù)諸如塊方差、塊亮度和邊緣檢測(cè)之類的度量來(lái)計(jì)算空間復(fù)雜度圖(SCM),以確定給定目標(biāo)塊相對(duì)于它的鄰居的空間對(duì)比度。在另一個(gè)實(shí)施例中,來(lái)自SCM的信息可以與TCSF組合以獲得復(fù)合的統(tǒng)一重要度圖。統(tǒng)一重要度圖中的空間對(duì)比信息和時(shí)間對(duì)比信息的組合有效地平衡了人類視覺(jué)反應(yīng)的兩個(gè)方面。
在一個(gè)示例實(shí)施例中,統(tǒng)一重要度圖(包括來(lái)自TCSF和SCM兩者的信息)被用于對(duì)標(biāo)準(zhǔn)速率-失真度量D+λR的失真部分進(jìn)行加權(quán)。這導(dǎo)致經(jīng)修改的速率-失真優(yōu)化,其被加權(quán)到適合每個(gè)目標(biāo)塊的相對(duì)感知重要度的解決方案,即,當(dāng)重要度圖更接近其最大值時(shí)的低失真解決方案或當(dāng)重要度圖更接近其最小值時(shí)的低速率解決方案。在替代實(shí)施例中,TCSF或SCM可以單獨(dú)地被用于以上目的。
在另一示例實(shí)施例中,TCSF(具有真實(shí)運(yùn)動(dòng)矢量精細(xì)化)和SCM可以被用于修改編碼器的塊級(jí)量化。在重要度圖取高值的目標(biāo)塊中,量化參數(shù)相對(duì)于幀量化參數(shù)被減小,導(dǎo)致那些塊的較高質(zhì)量。在重要度圖取低值的目標(biāo)塊中,量化參數(shù)相對(duì)于幀量化參數(shù)被增加,導(dǎo)致那些塊的較低質(zhì)量。在替代實(shí)施例中,TCSF或SCM可以單獨(dú)地被用于以上目的。
盡管可以針對(duì)組合了幀間預(yù)測(cè)并且生成運(yùn)動(dòng)矢量(由TCSF用于逼近視頻中的內(nèi)容的速度)的任何編碼器而計(jì)算TCSF,但是在基于模型的視頻壓縮框架內(nèi)將TCSF應(yīng)用于視頻壓縮是最有效,這樣的基于模型的視頻壓縮框架諸如提供了對(duì)哪些運(yùn)動(dòng)矢量是真實(shí)運(yùn)動(dòng)矢量的精確確定的'784申請(qǐng)中的連續(xù)塊追蹤器(CBT)。如上所述,大多數(shù)標(biāo)準(zhǔn)視頻編碼器計(jì)算優(yōu)化壓縮效率的運(yùn)動(dòng)矢量而不是計(jì)算反映真實(shí)運(yùn)動(dòng)的運(yùn)動(dòng)矢量。相比之下,CBT提供了適合于高壓縮效率的運(yùn)動(dòng)矢量和使TCSF的有效性最大化的建模信息兩者。
一些示例性發(fā)明實(shí)施例被構(gòu)造以使得所得到的比特流符合任何視頻壓縮標(biāo)準(zhǔn),包括但不限于MPEG-2、H.264和HEVC,這樣的視頻壓縮標(biāo)準(zhǔn)采用基于塊的運(yùn)動(dòng)估計(jì),緊接著進(jìn)行殘差信號(hào)的變換、量化和熵編碼。本發(fā)明還可以被應(yīng)用于不是基于塊的非標(biāo)準(zhǔn)視頻編碼器,只要編碼器組合了幀間預(yù)測(cè)并且生成運(yùn)動(dòng)矢量即可。
一些示例實(shí)施例可以包括編碼視頻數(shù)據(jù)的方法和系統(tǒng),以及用于實(shí)現(xiàn)該方法和系統(tǒng)的任何編解碼器(編碼器/解碼器)。具有非重疊目標(biāo)塊的多個(gè)視頻幀可以由編碼器處理。多個(gè)視頻幀可以由編碼器使用重要度圖來(lái)編碼,使得重要度圖修改量化以及在每個(gè)視頻幀中要被編碼的每個(gè)目標(biāo)塊的編碼質(zhì)量。
重要度圖可以使用以下至少一項(xiàng)而被形成:時(shí)間信息或空間信息。如果使用時(shí)間信息和空間信息兩者,則重要度圖被認(rèn)為是統(tǒng)一重要度圖。重要度圖可以被配置以使得它們指示/標(biāo)識(shí)/表示多個(gè)視頻幀中對(duì)于人類感知而言最顯著的視頻幀的部分。具體地,在重要度圖取高值的塊中,塊量化參數(shù)(QP)相對(duì)于幀量化參數(shù)QPframe被減小,導(dǎo)致那些塊的較高質(zhì)量;并且在重要度圖取低值的目標(biāo)塊中,塊量化參數(shù)相對(duì)于幀量化參數(shù)QPframe被增加,導(dǎo)致那些塊的較低質(zhì)量。
空間信息可以由基于規(guī)則的空間復(fù)雜度圖(SCM)提供,其中初始步驟確定幀中的哪些目標(biāo)塊具有比該幀中的平均塊方差varframe更高的方差。對(duì)于這樣的塊,可以基于塊方差varblock比varframe高多少來(lái)指派比幀量化參數(shù)QPframe高的QP值,其中塊QP指派QPblock在QPframe與最大量化參數(shù)QPmax之間被線性地縮放。
時(shí)間信息可以優(yōu)選地由時(shí)間對(duì)比敏感度函數(shù)(TCSF)和真實(shí)運(yùn)動(dòng)矢量圖(TMVM)來(lái)提供,時(shí)間對(duì)比敏感度函數(shù)(TCSF)指示哪些目標(biāo)塊對(duì)于人類觀察者而言在時(shí)間上最顯著,真實(shí)運(yùn)動(dòng)矢量圖(TMVM)指示哪些目標(biāo)塊對(duì)應(yīng)于前景數(shù)據(jù)。應(yīng)當(dāng)注意,TCSF可以僅被認(rèn)為對(duì)于被標(biāo)識(shí)為前景數(shù)據(jù)的那些目標(biāo)塊有效。
高方差塊可使其塊QP指派QPblock進(jìn)一步由TCSF和TMVM精細(xì)化,使得如果TMVM將目標(biāo)塊標(biāo)識(shí)為前景數(shù)據(jù)并且TCSF針對(duì)該塊具有小于0.5的對(duì)數(shù)對(duì)比敏感度值,則QPblock被提高2。
SCM可以包括亮度遮罩,其中非常亮(亮度高于170)或非常暗(亮度低于60)的目標(biāo)塊將它們的塊量化參數(shù)QPblock調(diào)整回QPmax。SCM可以包括基于經(jīng)編碼的視頻的質(zhì)量水平對(duì)QPmax的動(dòng)態(tài)確定,其中質(zhì)量是使用內(nèi)(I)幀中的目標(biāo)塊的平均結(jié)構(gòu)相似度(SSIM)計(jì)算連同這樣的幀的平均塊方差varframe來(lái)被測(cè)量;使得當(dāng)所測(cè)量的質(zhì)量低時(shí),QPmax的值被降低到更接近QPframe的值。
非常低方差的塊可以被指派固定的低QP值QPblock以確保在那些區(qū)域中的高質(zhì)量編碼,使得塊方差越低,QPblock的值越低(并且質(zhì)量越高)。針對(duì)非常低方差的塊的低QP值QPblock的指派可以首先針對(duì)I幀是固定的,然后針對(duì)P幀和B幀使用ipratio和pbratio參數(shù)來(lái)被確定。作為低方差但不符合非常低方差的塊被檢查,以確定對(duì)于那些塊是否需要質(zhì)量增強(qiáng);其中塊QP QPblock的初始估計(jì)通過(guò)對(duì)與當(dāng)前塊的左、左上,右和右上相鄰的已編碼塊的QP值進(jìn)行平均來(lái)被計(jì)算。當(dāng)前塊的SSIM的估計(jì)SSIMest可以根據(jù)與當(dāng)前塊的左、左上,右和右上相鄰的已編碼塊的SSIM值來(lái)被計(jì)算。如果SSIMest低于0.9,則QPblock的值可以被降低2。
在一些實(shí)施例中,質(zhì)量增強(qiáng)僅被應(yīng)用于由TMVM標(biāo)識(shí)為前景數(shù)據(jù)并且TCSF針對(duì)其而具有大于0.8的對(duì)數(shù)對(duì)比敏感度值的那些塊。TMVM可以僅針對(duì)前景數(shù)據(jù)而被設(shè)置為1。
在一些實(shí)施例中,TCSF的時(shí)間頻率通過(guò)以下來(lái)被計(jì)算:在目標(biāo)塊與該目標(biāo)塊的參考?jí)K之間的色彩空間域中使用SSIM來(lái)逼近波長(zhǎng)通過(guò)使用運(yùn)動(dòng)矢量幅度和幀速率來(lái)逼近速度。
TCSF可以在多個(gè)幀上被計(jì)算,使得當(dāng)前幀的TCSF是近期的幀上的TCSF圖的加權(quán)平均,其中更近期的幀接收更高的加權(quán)。
前景數(shù)據(jù)可以通過(guò)計(jì)算給定目標(biāo)塊的編碼器運(yùn)動(dòng)矢量與該塊的全局運(yùn)動(dòng)矢量之間的差異而被標(biāo)識(shí),使得具有足夠大差異的塊被確定為前景數(shù)據(jù)。
針對(duì)被標(biāo)識(shí)為前景數(shù)據(jù)的數(shù)據(jù)塊,編碼器運(yùn)動(dòng)矢量可以從全局運(yùn)動(dòng)矢量中被減去,以獲得差分運(yùn)動(dòng)矢量,并且差分運(yùn)動(dòng)矢量的幅度被用于計(jì)算TCSF的時(shí)間頻率。
基于計(jì)算機(jī)的方法、編解碼器(編碼器/解碼器)以及用于處理視頻數(shù)據(jù)的其它計(jì)算機(jī)系統(tǒng)和裝置可以體現(xiàn)本發(fā)明的前述原理。
附圖說(shuō)明
根據(jù)對(duì)如附圖所示的本發(fā)明的示例實(shí)施例的下文更具體的描述,前述內(nèi)容將是清楚的,在這些附圖中,貫穿不同視圖中的相似附圖標(biāo)記指代相同部分。附圖必然是按比例的,而是重點(diǎn)示出本發(fā)明的實(shí)施例。
圖1是描繪了標(biāo)準(zhǔn)編碼器配置的框圖。
圖2是描繪了在用于一般編碼器的幀間預(yù)測(cè)中涉及的步驟的框圖。
圖3是描繪了在經(jīng)由連續(xù)塊追蹤的初始運(yùn)動(dòng)估計(jì)中所涉及的步驟的框圖。
圖4是描繪了經(jīng)由連續(xù)塊追蹤和增強(qiáng)型預(yù)測(cè)區(qū)域搜索的組合的統(tǒng)一運(yùn)動(dòng)估計(jì)的框圖。
圖5是描繪了Wooten等人[2010]的時(shí)間對(duì)比敏感度函數(shù)的近期測(cè)量的曲線圖。
圖6是描繪了根據(jù)本發(fā)明的實(shí)施例的在CIE 1976Lab色彩空間中的結(jié)構(gòu)相似度(SSIM)的計(jì)算的框圖。
圖7是描繪了根據(jù)本發(fā)明的實(shí)施例的用于改進(jìn)視頻編碼的感知質(zhì)量的感知統(tǒng)計(jì)的一般應(yīng)用的框圖。
圖8A是描繪了根據(jù)本發(fā)明的實(shí)施例的使用感知統(tǒng)計(jì)來(lái)經(jīng)由連續(xù)塊追蹤而修改幀間預(yù)測(cè)以改進(jìn)視頻編碼的感知質(zhì)量的框圖。
圖8B是描繪了使用重要度圖來(lái)進(jìn)行編碼以修改塊量化的示例性處理的框圖。
圖9A是實(shí)施例其中被部署的計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境的示意圖。
圖9B是圖9A的網(wǎng)絡(luò)中的計(jì)算機(jī)節(jié)點(diǎn)的框圖。
具體實(shí)施方式
本文引用的所有專利、公開的申請(qǐng)和參考文獻(xiàn)的教導(dǎo)通過(guò)引用方式而整體并入本文。本發(fā)明的示例性實(shí)施例的描述如下。
本發(fā)明可以被應(yīng)用于各種標(biāo)準(zhǔn)編碼。在下文中,除非另有說(shuō)明,術(shù)語(yǔ)“常規(guī)”和“標(biāo)準(zhǔn)”(有時(shí)與“壓縮”、“編解碼器”、“編碼”或“編碼器”一起使用)可以指代MPEG-2、MPEG-H.264或HEVC。在不失一般性的情況下,“輸入塊”被稱為編碼器的基本編碼單元,并且有時(shí)還可以可互換地被稱為“數(shù)據(jù)塊”或“宏塊”。正被編碼的當(dāng)前輸入塊被稱為“目標(biāo)塊”。
經(jīng)由連續(xù)塊追蹤的視頻編碼和幀間預(yù)測(cè)
編碼處理可以將視頻數(shù)據(jù)轉(zhuǎn)換為經(jīng)壓縮的或經(jīng)編碼的格式。同樣,解壓縮或解碼處理可將經(jīng)壓縮的視頻轉(zhuǎn)換回未壓縮或原始格式。視頻壓縮和解壓縮處理可以被實(shí)現(xiàn)為編碼器/解碼器對(duì),通常被稱為編解碼器。
圖1是基于標(biāo)準(zhǔn)變換的運(yùn)動(dòng)補(bǔ)償編碼器的框圖。圖1中的編碼器可以被實(shí)現(xiàn)在軟件或硬件環(huán)境中或前述的組合中。編碼器可以包括組件的任何組合,包括但不限于饋送到幀間預(yù)測(cè)模塊20的運(yùn)動(dòng)估計(jì)模塊15、幀內(nèi)預(yù)測(cè)模塊30、變換和量化模塊60、逆變換和量化模塊70、環(huán)路內(nèi)濾波器80、幀存儲(chǔ)85和熵編碼模塊90。對(duì)于給定的輸入視頻塊10(簡(jiǎn)稱為“輸入塊”、或宏塊或“數(shù)據(jù)塊”),預(yù)測(cè)模塊(幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)兩者)的目的是為輸入塊生成最佳預(yù)測(cè)信號(hào)40。從輸入塊10中減去預(yù)測(cè)信號(hào)40以創(chuàng)建預(yù)測(cè)殘差50,該預(yù)測(cè)殘差50會(huì)經(jīng)歷變換和量化60。然后,該殘差的量化系數(shù)65被傳遞到熵編碼模塊90以用于編碼到壓縮比特流中。量化系數(shù)65還通過(guò)逆變換和量化模塊70,并且所得到的信號(hào)(預(yù)測(cè)殘差的近似)被加回到預(yù)測(cè)信號(hào)40,以創(chuàng)建針對(duì)輸入塊10的重建信號(hào)75。重建信號(hào)75可以通過(guò)諸如去塊濾波器(deblocking filter)之類的環(huán)路內(nèi)濾波器80,并且(可能被濾波的)重建信號(hào)變成協(xié)助對(duì)未來(lái)輸入塊的預(yù)測(cè)的幀存儲(chǔ)85的一部分。圖1所示的編碼器的每個(gè)部件的功能是本領(lǐng)域普通技術(shù)人員公知的。
圖2描繪了標(biāo)準(zhǔn)幀間預(yù)測(cè)(圖1中的30)中的步驟,其中目標(biāo)在于利用數(shù)據(jù)中的時(shí)間冗余、使用來(lái)自較早幀的先前解碼的數(shù)據(jù)來(lái)對(duì)新數(shù)據(jù)進(jìn)行編碼。在幀間預(yù)測(cè)中,從被存儲(chǔ)在圖1的幀存儲(chǔ)85中的先前解碼的參考幀內(nèi)的相同大小的區(qū)域,“預(yù)測(cè)”來(lái)自當(dāng)前正被編碼的幀(也稱為目標(biāo)幀)的輸入塊10。指示正被編碼的幀中的輸入塊的位置與該輸入塊在參考幀中的匹配區(qū)域的位置之間的(x,y)位移的雙分量矢量被稱為運(yùn)動(dòng)矢量。運(yùn)動(dòng)估計(jì)的處理因此涉及確定將要被編碼的輸入塊與該輸入塊在參考幀中的匹配區(qū)域最佳地鏈接的運(yùn)動(dòng)矢量。
大多數(shù)幀間預(yù)測(cè)處理以初始運(yùn)動(dòng)估計(jì)(圖2中的110)開始,其生成針對(duì)給定輸入塊的“良好”運(yùn)動(dòng)矢量115的一個(gè)或多個(gè)粗略估計(jì)。這之后是可選的運(yùn)動(dòng)矢量候選過(guò)濾步驟120,其中可以使用近似速率-失真度量來(lái)將多個(gè)運(yùn)動(dòng)矢量候選減少為單個(gè)候選。在速率-失真分析中,將最佳運(yùn)動(dòng)矢量候選(預(yù)測(cè))選擇為使速率-失真度量D+λR最小化的一個(gè)候選,其中失真D測(cè)量輸入塊與該輸入塊的匹配區(qū)域之間的誤差,而速率R量化用于對(duì)預(yù)測(cè)進(jìn)行編碼的成本(以比特為單位),并且λ是標(biāo)量加權(quán)因子。實(shí)際速率成本包含兩個(gè)分量:紋理比特,對(duì)殘差信號(hào)(輸入塊減去預(yù)測(cè))的量化變換系數(shù)進(jìn)行編碼所需比特的數(shù)目;以及運(yùn)動(dòng)矢量比特,對(duì)運(yùn)動(dòng)矢量進(jìn)行編碼所需比特的數(shù)目。注意,相對(duì)于已編碼的運(yùn)動(dòng)矢量,運(yùn)動(dòng)矢量通常被差分地編碼。在編碼器的早期階段,紋理比特不可獲得,因此速率-失真度量的速率部分由運(yùn)動(dòng)矢量比特逼近,而運(yùn)動(dòng)矢量比特進(jìn)而取決于差分的運(yùn)動(dòng)矢量的幅度而被逼近為運(yùn)動(dòng)矢量懲罰因子。然后,在運(yùn)動(dòng)矢量候選濾波步驟120中,使用近似速率-失真度量來(lái)選擇單個(gè)“最佳”初始運(yùn)動(dòng)矢量或較小的“最佳”初始運(yùn)動(dòng)矢量集合125。然后,初始運(yùn)動(dòng)矢量125利用精細(xì)運(yùn)動(dòng)估計(jì)130而被精細(xì)化,精細(xì)運(yùn)動(dòng)估計(jì)130在每個(gè)初始估計(jì)的鄰域中執(zhí)行局部搜索,以確定針對(duì)輸入塊的運(yùn)動(dòng)矢量(和對(duì)應(yīng)的預(yù)測(cè))的更精確的估計(jì)。局部搜索通常之后是子像素精細(xì)化,其中整數(shù)值運(yùn)動(dòng)矢量經(jīng)由插值而被精細(xì)化為半像素或四分之一像素精度。精細(xì)運(yùn)動(dòng)估計(jì)塊130產(chǎn)生經(jīng)精細(xì)化的運(yùn)動(dòng)矢量集合135。
接下來(lái),對(duì)于給定的精細(xì)運(yùn)動(dòng)矢量135,模式生成模塊140基于編碼器的可能的編碼模式來(lái)生成候選預(yù)測(cè)集合145。這些模式根據(jù)編解碼器而不同。不同的編碼模式可以考慮(但不限于)交織與漸進(jìn)(場(chǎng)與幀)運(yùn)動(dòng)估計(jì)、參考幀的引導(dǎo)(前向預(yù)測(cè)、后向預(yù)測(cè)、雙向預(yù)測(cè))、參考幀的索引(對(duì)于諸如允許多個(gè)參考幀的H.264和HEVC之類的編解碼器)、幀間預(yù)測(cè)與幀內(nèi)預(yù)測(cè)(當(dāng)不存在良好的幀間預(yù)測(cè)時(shí)允許回復(fù)到幀內(nèi)預(yù)測(cè)的某些場(chǎng)景)、不同的量化參數(shù)和輸入塊的各種子分區(qū)。預(yù)測(cè)候選的完整集合145經(jīng)歷“最終”速率-失真分析150以確定最佳單個(gè)候選。在“最終”速率-失真分析中,使用精確的速率失真度量D+λR,計(jì)算失真部分的預(yù)測(cè)誤差D(通常被計(jì)算為平方誤差之和[SSE])和速率部分的實(shí)際編碼比特R(來(lái)自圖1中的熵編90)。最終預(yù)測(cè)160(或圖1中的40)是在所有候選中具有最低速率-失真得分D+λR的那一個(gè),并且該最終預(yù)測(cè)連同其運(yùn)動(dòng)矢量和其它編碼參數(shù)一起被傳遞到編碼器的后續(xù)步驟。
圖3描繪了初始運(yùn)動(dòng)估計(jì)如何可以在經(jīng)由連續(xù)塊追蹤(CBT)的幀間預(yù)測(cè)期間被執(zhí)行。當(dāng)在目標(biāo)幀和從其導(dǎo)出時(shí)間預(yù)測(cè)的參考幀之間存在大于一個(gè)幀的間隙時(shí),CBT是有用的。對(duì)于MPEG-2,IBBPBBP的典型GOP結(jié)構(gòu)(由幀內(nèi)預(yù)測(cè)的I幀、雙向預(yù)測(cè)的B幀和前向預(yù)測(cè)的P幀構(gòu)成)允許距離當(dāng)前幀多達(dá)三個(gè)幀的參考幀,因?yàn)锽幀不能用作MPEG-2中的參考幀。在允許對(duì)要被編碼的每個(gè)幀的多個(gè)參考幀的H.264和HEVC中,同一GOP結(jié)構(gòu)允許參考幀位于距離當(dāng)前幀六個(gè)或更多的幀處。對(duì)于較長(zhǎng)的GOP結(jié)構(gòu)(例如,每個(gè)P幀之間存在七個(gè)B幀),參考幀可以位于距離目標(biāo)幀更遠(yuǎn)的地方。當(dāng)在當(dāng)前幀和參考幀之間存在大于一個(gè)幀的間隙時(shí),連續(xù)追蹤使得編碼器能夠以標(biāo)準(zhǔn)時(shí)間預(yù)測(cè)方法不能夠的方式捕獲數(shù)據(jù)中的運(yùn)動(dòng),允許CBT產(chǎn)生優(yōu)良的時(shí)間預(yù)測(cè)。
CBT中的第一步是執(zhí)行幀到幀追蹤(圖3中的210)。對(duì)于幀中的每個(gè)輸入塊10,在向幀緩沖器205中的前一幀的后向方向以及向幀緩沖器中的下一幀的前向方向兩者上計(jì)算運(yùn)動(dòng)矢量。在一個(gè)實(shí)施例中,幀到幀追蹤操作在來(lái)自原始源視頻的幀上而不是在被重建的參考幀上。這是有利的,因?yàn)樵匆曨l幀未被量化和其他編碼人為噪音(artifacts)所損壞,因此基于源視頻幀的追蹤更準(zhǔn)確地表示視頻中的真實(shí)運(yùn)動(dòng)場(chǎng)。幀到幀追蹤可以使用傳統(tǒng)的基于塊的運(yùn)動(dòng)估計(jì)(BBME)或分層運(yùn)動(dòng)估計(jì)(HME)來(lái)被執(zhí)行。
幀到幀追蹤的結(jié)果是幀到幀運(yùn)動(dòng)矢量的集合215,該集合215針對(duì)幀中的每個(gè)輸入塊表征幀緩沖器205中的最近幀中的最佳匹配區(qū)域,并且針對(duì)幀緩沖器205中的最近幀的每個(gè)塊表征當(dāng)前幀中的最佳匹配區(qū)域。連續(xù)追蹤220然后聚合可用的幀到幀追蹤信息以跨每個(gè)輸入塊的多個(gè)參考幀創(chuàng)建連續(xù)的追蹤。如何執(zhí)行連續(xù)追蹤的細(xì)節(jié)在'784申請(qǐng)中被找到,該申請(qǐng)全文通過(guò)引用方式并入本文。連續(xù)追蹤220的輸出是連續(xù)塊追蹤(CBT)運(yùn)動(dòng)矢量225,該CBT運(yùn)動(dòng)矢量225將正被編碼的當(dāng)前幀中的所有輸入塊追蹤到它們?cè)谶^(guò)去參考幀中的匹配區(qū)域。CBT運(yùn)動(dòng)矢量是CBT的初始運(yùn)動(dòng)矢量(圖2中的125),并且如上所述,它們可以利用精細(xì)運(yùn)動(dòng)估計(jì)(圖2中的130)來(lái)被精細(xì)化。
圖4描繪了根據(jù)本發(fā)明的實(shí)施例的CBT如何可以與EPZS方法組合以創(chuàng)建統(tǒng)一運(yùn)動(dòng)估計(jì)處理。在圖4中,CBT通過(guò)以下來(lái)生成其運(yùn)動(dòng)矢量:用于初始運(yùn)動(dòng)估計(jì)110的幀到幀追蹤210和連續(xù)追蹤220,接下來(lái)是用于精細(xì)運(yùn)動(dòng)估計(jì)130的局部搜索和子像素精細(xì)化250。EPZS通過(guò)候選生成模塊230緊接著通過(guò)候選過(guò)濾模塊240來(lái)生成它的初始運(yùn)動(dòng)矢量,其中經(jīng)由如上所述的近似速度-失真分析來(lái)執(zhí)行過(guò)濾。這之后是經(jīng)由局部搜索和子像素精細(xì)化260的精細(xì)運(yùn)動(dòng)估計(jì)130。所得到的CBT運(yùn)動(dòng)矢量255和EPZS運(yùn)動(dòng)矢量265兩者均被前向傳遞到剩余的幀間預(yù)測(cè)步驟(圖2中的模式生成140和最終速率-失真分析150)以確定整體“最佳”幀間預(yù)測(cè)。
在替換實(shí)施例中,圖4中的CBT運(yùn)動(dòng)矢量候選255和EPZS運(yùn)動(dòng)矢量候選265可以由附加的候選來(lái)補(bǔ)充,這些候選包括(但不限于)隨機(jī)運(yùn)動(dòng)矢量、(0,0)運(yùn)動(dòng)矢量和所謂的“中值預(yù)測(cè)子”(median predictor)。隨機(jī)運(yùn)動(dòng)矢量可以被應(yīng)用有精細(xì)運(yùn)動(dòng)估計(jì)130,以在該隨機(jī)運(yùn)動(dòng)矢量局部鄰域中找到最佳候選。(0,0)運(yùn)動(dòng)矢量是EPZS中的初始候選之一,但是并不總是在EPZS候選過(guò)濾(圖4中的240)之后選擇,并且即使在候選過(guò)濾之后被選擇,精細(xì)運(yùn)動(dòng)估計(jì)130也可得到除(0,0)之外的運(yùn)動(dòng)矢量。顯式地將(0,0)運(yùn)動(dòng)矢量(沒(méi)有伴隨的精細(xì)運(yùn)動(dòng)估計(jì))包括作為用于最終速率-失真分析的候選確保了至少一個(gè)低幅度“低運(yùn)動(dòng)”候選被考慮。類似地,“中值預(yù)測(cè)子”也是EPZS中的初始候選之一,但是它也不總是在EPZS候選過(guò)濾(圖4中的240)之后被選擇。中值預(yù)測(cè)子被定義為在當(dāng)前正被編碼的數(shù)據(jù)塊的左側(cè)、上部和右上的數(shù)據(jù)塊中先前被計(jì)算的運(yùn)動(dòng)矢量的中值。顯式地將中值預(yù)測(cè)子(沒(méi)有伴隨的精細(xì)運(yùn)動(dòng)估計(jì))包括作為最終速率-失真分析的候選對(duì)于編碼視頻幀的空間均勻(“平坦”)區(qū)域而言可能是特別有益的。在該替代實(shí)施例中,然后,五個(gè)或更多個(gè)運(yùn)動(dòng)矢量候選可以被前向傳遞到剩余的幀間預(yù)測(cè)步驟(圖2中的模式生成140和最終速率-失真分析150),這些運(yùn)動(dòng)矢量候選包括(但不限于)CBT-導(dǎo)出的運(yùn)動(dòng)矢量、EPZS導(dǎo)出的運(yùn)動(dòng)矢量、從隨機(jī)運(yùn)動(dòng)矢量導(dǎo)出的運(yùn)動(dòng)矢量、(0,0)運(yùn)動(dòng)矢量和中值預(yù)測(cè)子。
用于視頻編碼的重要度圖的計(jì)算
感知統(tǒng)計(jì)可以被用于計(jì)算重要度圖,重要度圖指示視頻幀的哪些區(qū)域?qū)τ谌祟愐曈X(jué)系統(tǒng)(HVS)是重要的。
感知統(tǒng)計(jì)的一個(gè)示例是所謂的時(shí)間對(duì)比敏感度函數(shù)(TCSF),其將人類視覺(jué)系統(tǒng)(HVS)對(duì)時(shí)間周期性刺激的響應(yīng)進(jìn)行建模。如以上背景技術(shù)部分所述,TCSF的概念自從1950年代(當(dāng)時(shí)它作為“時(shí)間調(diào)制傳遞函數(shù)”而被引入)起一直存在,但是它尚未被應(yīng)用于視頻壓縮。圖5示出了TCSF的近期的測(cè)量[Wooten,B.et al.,2010,“A practical method of measuring the temporal contrast sensitivity function,”Biomedical Optical Express,1(1):47-58],顯示了時(shí)間對(duì)比敏感度的對(duì)數(shù)隨著頻率的對(duì)數(shù)的變化。所測(cè)量的數(shù)據(jù)點(diǎn)(圖5中的圓圈)用三階多項(xiàng)式擬合(圖5中的實(shí)線),然后被用于以下的所有TCSF計(jì)算。TCSF預(yù)測(cè)人類視覺(jué)系統(tǒng)(HVS)的最高響應(yīng)是針對(duì)中等頻率的,而HVS響應(yīng)對(duì)于低頻率略微下降,并且HVS響應(yīng)對(duì)于高頻率迅速下降。
TCSF到視頻壓縮的應(yīng)用需要一種計(jì)算時(shí)間頻率的方法,該時(shí)間頻率是TCSF的輸入(圖5中的水平軸)。下面描述根據(jù)本發(fā)明的實(shí)施例的一種計(jì)算頻率的方式。頻率f由f=v/λ給出,其中v是速度,并且λ是波長(zhǎng)。在一個(gè)實(shí)施例中,與任意數(shù)據(jù)塊的內(nèi)容相關(guān)聯(lián)的速度v(以像素為單位)可以根據(jù)由編碼器生成的運(yùn)動(dòng)矢量的幅度(例如,圖2中的135、圖3中的215或225、或者圖4中的255或265)來(lái)計(jì)算為v=|MV|*framerate/N,其中|MV|是與數(shù)據(jù)塊相關(guān)聯(lián)的運(yùn)動(dòng)矢量的幅度,framerate(幀速率)是已經(jīng)生成視頻的每秒的幀數(shù),并且N是在運(yùn)動(dòng)矢量所指向的參考幀與當(dāng)前幀之間的幀的數(shù)目。
對(duì)于波長(zhǎng)λ的適當(dāng)逼近可以從結(jié)構(gòu)相似度(SSIM)的計(jì)算被導(dǎo)出[Wang,Z.et al.,2004,“Image quality assessment:From error visibility to structural similarity,”IEEE Trans.on Image Processing,13(4):600-612],SSIM在CIE 1976Lab色彩空間[www://en.wikipedia.org/wiki/Lab_color_space]中被計(jì)算。在Lab色彩空間中SSIM的計(jì)算在圖6中被描述。SSIM在目標(biāo)塊300(要被編碼的當(dāng)前數(shù)據(jù)塊)與其運(yùn)動(dòng)矢量指向的參考?jí)K310之間被計(jì)算。由編碼器處理的視頻數(shù)據(jù)通常在諸如YUV 420之類的標(biāo)準(zhǔn)空間中被表示,因此下一步驟是使用一般在文獻(xiàn)中找到的任何方法來(lái)將目標(biāo)塊(320)和參考?jí)K(330)兩者轉(zhuǎn)換到CIE 1976Lab空間中。接下來(lái),在Lab空間中目標(biāo)塊與參考?jí)K之間的誤差ΔE(340)被計(jì)算為其中T下標(biāo)表示“目標(biāo)塊”,并且R下標(biāo)表示“參考?jí)K”。最后,誤差ΔE與相同維度的零矩陣之間的SSIM 360被計(jì)算,以用作數(shù)據(jù)的色彩空間變化的測(cè)量。如最初定義,SSIM取-1和1之間的值,其中值1表示完全相似(無(wú)空間區(qū)別)。為了將SSIM轉(zhuǎn)換為波長(zhǎng)λ,可以使用空間相異性DSSIM=(1-SSIM)/2,該空間相異性取0和1之間的值,其中0對(duì)應(yīng)于小波長(zhǎng)(最大空間相似度),并且1對(duì)應(yīng)于大波長(zhǎng)(最小空間相似度)。為了將SSIM轉(zhuǎn)換為像素的單位,可以將SSIM的值乘以針對(duì)其而被計(jì)算的塊中的像素的數(shù)量。在一個(gè)實(shí)施例中,SSIM塊大小為8×8,因此DSSIM值乘以64。因此,頻率的最終計(jì)算由下式給出f=|MV|*framerate/[N*64*(1-SSIM)/2。
一旦計(jì)算針對(duì)給定目標(biāo)塊的頻率,可以根據(jù)圖5中的曲線擬合(實(shí)線)來(lái)確定該塊的TCSF值。TCSF取log 10標(biāo)度中的0和1.08之間的值,或者絕對(duì)標(biāo)度中的1和11.97之間的值。具有采用不同TCSF值的幀中的不同塊,在幀中的所有塊上的TCSF值的聚合集合形成重要度圖,其中高的值指示從時(shí)間對(duì)比度視角上看在感知上重要的塊,并且低的值指示感知上不重要的塊。
在另一實(shí)施例中,可以針對(duì)每個(gè)數(shù)據(jù)塊對(duì)來(lái)自近期的幀的TCSF值進(jìn)行平均,以防止基于TCSF的重要度圖在幀之間波動(dòng)太大。例如,平均TCSF TCSFavg的一個(gè)這樣的計(jì)算可以是TCSFavg=0.7·TCSFcur+0.3·TCSFprev,其中TCSFcur是來(lái)自當(dāng)前幀的TCSF值,并且TCSFprev是來(lái)自最近被編碼的先前幀的TCSF值。當(dāng)以這種方式被平均時(shí),TCSF計(jì)算更加魯棒。
在另一實(shí)施例中,可以在編碼處理中的不同點(diǎn)處計(jì)算與由編碼器生成的運(yùn)動(dòng)矢量的相對(duì)質(zhì)量有關(guān)的信息,并且該信息然后被用于生成真實(shí)運(yùn)動(dòng)矢量圖(TMVM),該TMVM針對(duì)每個(gè)數(shù)據(jù)塊輸出其運(yùn)動(dòng)矢量如何可靠。然后,取0或1的值的真實(shí)運(yùn)動(dòng)矢量圖能夠被用作用于精細(xì)化TCSF的遮罩,使得TCSF不被用于其運(yùn)動(dòng)矢量不準(zhǔn)確(即,其TMVM值為0)的數(shù)據(jù)塊。
在一個(gè)實(shí)施例中,可以通過(guò)以下來(lái)確定運(yùn)動(dòng)矢量精確度:估計(jì)給定視頻幀的全局運(yùn)動(dòng)模型;將運(yùn)動(dòng)模型應(yīng)用于幀中的數(shù)據(jù)塊中的每一個(gè),以確定每個(gè)數(shù)據(jù)塊的全局運(yùn)動(dòng)矢量;并且然后將全局運(yùn)動(dòng)矢量與該數(shù)據(jù)塊的編碼器的運(yùn)動(dòng)矢量進(jìn)行比較。全局運(yùn)動(dòng)可以從來(lái)自幀的編碼運(yùn)動(dòng)矢量的聚合集合中被估計(jì),被擬合到六參數(shù)或八參數(shù)仿射運(yùn)動(dòng)模型。如果針對(duì)給定數(shù)據(jù)塊的全局運(yùn)動(dòng)矢量和編碼器運(yùn)動(dòng)矢量相同(或相似),則認(rèn)為編碼器運(yùn)動(dòng)矢量是準(zhǔn)確的(并且對(duì)于該數(shù)據(jù)塊,TMVM=1)。如果兩個(gè)矢量不相同,則可以比較它們的預(yù)測(cè)誤差(根據(jù)平方誤差之和[SSE]或絕對(duì)差之和[SAD]來(lái)測(cè)量)。如果誤差中的一個(gè)低而另一個(gè)高,則將誤差低的運(yùn)動(dòng)矢量被用于編碼并且被認(rèn)為是精確的(TMVM=1)。
在替代實(shí)施例中,針對(duì)給定數(shù)據(jù)塊的全局運(yùn)動(dòng)矢量與編碼器運(yùn)動(dòng)矢量之間的差異的幅度被用于標(biāo)識(shí)數(shù)據(jù)塊是前景數(shù)據(jù),這意味著數(shù)據(jù)塊中的內(nèi)容正與幀中數(shù)據(jù)塊中的其余內(nèi)容(背景)不同地移動(dòng)。在該實(shí)施例中,TMVM被設(shè)置為1,并且TCSF被僅應(yīng)用于前景數(shù)據(jù)。在其他實(shí)施方案中,對(duì)于被標(biāo)識(shí)為前景數(shù)據(jù)的數(shù)據(jù)塊,從全局運(yùn)動(dòng)矢量中減去編碼器運(yùn)動(dòng)矢量以獲得差分運(yùn)動(dòng)矢量,并且差分運(yùn)動(dòng)矢量(不是編碼器運(yùn)動(dòng)矢量)的幅度被用于計(jì)算TCSF的頻率(見(jiàn)上面的表達(dá)式,用|DMV|替代|MV|,其中DMV=差分運(yùn)動(dòng)矢量)。
在另一實(shí)施例中,運(yùn)動(dòng)矢量對(duì)稱性可以被用于精細(xì)化TMVM。運(yùn)動(dòng)矢量對(duì)稱性[Bartels,C.and de Haan,G.,2009,“Temporal symmetry constraints in block matching,”Proc.IEEE 13th Int’l.Symposium on Consumer Electronics,pp.749-752]被定義為當(dāng)運(yùn)動(dòng)估計(jì)的時(shí)間方向被切換時(shí)對(duì)等運(yùn)動(dòng)矢量對(duì)的相對(duì)相似度,其是所計(jì)算的運(yùn)動(dòng)矢量的質(zhì)量的測(cè)量(對(duì)稱性越高,運(yùn)動(dòng)矢量質(zhì)量越好)?!皩?duì)稱誤差矢量”被定義為通過(guò)前向方向運(yùn)動(dòng)估計(jì)所獲得的運(yùn)動(dòng)矢量與通過(guò)后向方向運(yùn)動(dòng)估計(jì)所獲得的運(yùn)動(dòng)矢量之間的差異。低的運(yùn)動(dòng)矢量對(duì)稱性(大的對(duì)稱性誤差矢量)通常是復(fù)雜現(xiàn)象存在的指示,復(fù)雜現(xiàn)象諸如是遮擋(一個(gè)對(duì)象移動(dòng)到另一個(gè)對(duì)象前面,因此覆蓋或露出背景對(duì)象)、對(duì)象運(yùn)動(dòng)到視頻幀上或離開視頻幀、以及照明變化,所有這些均使得難以導(dǎo)出精確的運(yùn)動(dòng)矢量。
在一個(gè)實(shí)施例中,當(dāng)對(duì)稱性誤差矢量在幅度上大于正被編碼的數(shù)據(jù)塊的范圍的一半(例如,對(duì)于16×16宏塊,在幅度上大于(8,8)矢量)時(shí),表明了低的對(duì)稱性。在另一個(gè)實(shí)施例中,當(dāng)對(duì)稱性誤差矢量在幅度上大于基于在追蹤處理期間導(dǎo)出的運(yùn)動(dòng)矢量統(tǒng)計(jì)的閾值時(shí),表明了低的對(duì)稱性,該閾值諸如是平均運(yùn)動(dòng)矢量幅度加上當(dāng)前幀或某些最近幀的組合中運(yùn)動(dòng)矢量幅度的多個(gè)標(biāo)準(zhǔn)差。在一個(gè)實(shí)施例中,根據(jù)全局運(yùn)動(dòng)矢量與編碼器運(yùn)動(dòng)矢量的比較,其運(yùn)動(dòng)矢量具有如上定義的低對(duì)稱性的數(shù)據(jù)塊被自動(dòng)指派為TMVM值0,而其他數(shù)據(jù)塊保留它們先前的TMVM值。
由于在計(jì)算運(yùn)動(dòng)矢量時(shí)熟知的孔徑問(wèn)題(參見(jiàn)http://en.wikipedia.org/wiki/Motion_perception#The_aperture_problem),平坦但具有高空間對(duì)比敏感度的塊傾向于產(chǎn)生不可靠的運(yùn)動(dòng)矢量。例如,平坦塊可以使用邊緣檢測(cè)處理(其中如果在數(shù)據(jù)塊中沒(méi)有檢測(cè)到邊緣,則表明是平坦塊)或通過(guò)將數(shù)據(jù)塊的方差與閾值進(jìn)行比較(小于閾值的低方差將指示平塊)來(lái)被檢測(cè)到。在一個(gè)實(shí)施例中,塊平坦度可以被用于修改如上計(jì)算的TMVM。例如,如果一個(gè)塊被檢測(cè)為平坦塊,則該塊可以被重新指派TMVM值0。
在一個(gè)實(shí)施例中,TMVM可以被用作用于精細(xì)化TCSF的遮罩,其取決于具有可靠的運(yùn)動(dòng)矢量。由于TMVM具有0或1的值,所以針對(duì)一個(gè)塊的TMVM值與針對(duì)該塊的TCSF值的逐塊相乘具有遮罩TCSF的效果。對(duì)于TMVM值為0的塊,TCSF被“關(guān)閉”,因?yàn)門CSF依賴于其計(jì)算的運(yùn)動(dòng)矢量是不可靠的。對(duì)于TMVM值為1的塊,TCSF計(jì)算被認(rèn)為是可靠的,并且以上述任何方式的置信度被使用。
在另一組實(shí)施例中,取代時(shí)間對(duì)比度圖(如上所述的TCSF)或除了生成時(shí)間對(duì)比度圖之外還生成空間對(duì)比度圖。在本發(fā)明中,使用簡(jiǎn)單的度量來(lái)測(cè)量空間對(duì)比度,這里將其反義詞稱為“空間復(fù)雜度”。在一個(gè)實(shí)施例中,針對(duì)數(shù)據(jù)的亮度分量和色度分量?jī)烧邷y(cè)量的塊方差被用于測(cè)量給定輸入塊的空間復(fù)雜度。如果輸入塊具有高方差,則認(rèn)為其在空間上復(fù)雜并且對(duì)HVS而言較不顯著,并且因此具有低空間對(duì)比度。
另一實(shí)施例中,針對(duì)數(shù)據(jù)的亮度分量測(cè)量的塊亮度被用于精細(xì)化空間復(fù)雜度的方差測(cè)量。如果輸入塊具有低方差(低的空間復(fù)雜度,高的空間對(duì)比度),但是非常亮或非常暗,則該塊被自動(dòng)地認(rèn)為具有低的空間對(duì)比度,覆蓋它先前被測(cè)量的高的空間對(duì)比度。這樣的原因在于非常暗和非常亮的區(qū)域?qū)τ贖VS而言是不顯著的。用于將塊分類為非常亮或非常暗的亮度閾值是應(yīng)用特定的,但是對(duì)于8比特視頻的典型值是:對(duì)于非常亮的是“高于170”,而對(duì)于非常暗是“低于60”。
可以針對(duì)視頻幀的所有輸入塊計(jì)算由如上所述的由塊亮度修改的塊方差,以形成空間對(duì)比圖(SCM),空間對(duì)比圖(SCM)在空間對(duì)比度方面指示對(duì)HVS而言具有高和低顯著性的區(qū)域。
在一個(gè)實(shí)施例中,SCM可以與TCSF(由TMVM精細(xì)化)組合以形成統(tǒng)一重要度圖。統(tǒng)一圖可以例如通過(guò)針對(duì)塊的SCM值與針對(duì)該塊的TCSF值的逐塊相乘來(lái)形成,其中SCM和TCSF兩者均被適當(dāng)?shù)貧w一化。在另一個(gè)實(shí)施例中,SCM可以被用于代替TCSF。在另一個(gè)實(shí)施例中,SCM可以被用于精細(xì)化TCSF。例如,在高的復(fù)雜度的塊中,SCM值可以覆蓋該塊的TCSF值,而在低的復(fù)雜度的塊中,可以直接使用該塊的TCSF值。
用于視頻編碼的重要度圖的應(yīng)用
如上所述的重要度圖可以被應(yīng)用于針對(duì)一般編碼器(圖2)或針對(duì)CBT編碼器(圖3)的視頻編碼處理,以增強(qiáng)的編碼比特流的質(zhì)量。
圖7描繪了重要度圖到視頻編碼的一般應(yīng)用。輸入視頻幀5和幀存儲(chǔ)85被用于生成感知統(tǒng)計(jì)390,然后感知統(tǒng)計(jì)390被應(yīng)用以形成如上所述的重要度圖400、TCSF(由TMVM精細(xì)化)和/或SCM。感知統(tǒng)計(jì)390可以包括(但不限于)運(yùn)動(dòng)矢量幅度、塊方差、塊亮度、邊緣檢測(cè)和全局運(yùn)動(dòng)模型參數(shù)。輸入視頻幀5和幀存儲(chǔ)85通常也被輸入到450中的對(duì)視頻幀的編碼,450包括通常的編碼步驟(在圖2中,運(yùn)動(dòng)估計(jì)15、幀間預(yù)測(cè)20、幀內(nèi)預(yù)測(cè)30、變換和量化60以及熵編碼90)。然而,在圖7中,如下所述,編碼450由重要度圖400增強(qiáng)。
圖8A描繪了使用CBT來(lái)將重要度圖具體應(yīng)用于增強(qiáng)型視頻編碼。圖8A示出了經(jīng)由來(lái)自CBT的幀到幀追蹤210和連續(xù)追蹤220步驟的初始運(yùn)動(dòng)估計(jì)(圖2中的110)。然后利用本地搜索和子像素精細(xì)化(圖4中的250)的相同精細(xì)運(yùn)動(dòng)估計(jì)步驟,將精細(xì)運(yùn)動(dòng)估計(jì)130應(yīng)用于全局CBT運(yùn)動(dòng)矢量225。這再次緊接著是模式生成模塊140,模式生成模塊140基于編碼器的可能的編碼模式來(lái)生成候選預(yù)測(cè)集合145。如圖4所示,EPZS和諸如(0,0)運(yùn)動(dòng)矢量和中值預(yù)測(cè)子的其它非基于模型的候選也可以作為統(tǒng)一運(yùn)動(dòng)估計(jì)架構(gòu)的一部分而并行地生成(為了使圖簡(jiǎn)化,這些其他候選未在圖8A中示出)?;氐綀D8A,預(yù)測(cè)候選145的完整集合(包括CBT候選的所有編碼模式以及用于其它基于非基于模型的候選的可能的所有編碼模式)再次經(jīng)歷“最終”速率-失真分析155,以確定最佳單個(gè)候選。在“最終”速率-失真分析中,使用精確的速率-失真度量D+λR,計(jì)算針對(duì)失真部分的預(yù)測(cè)誤差D和針對(duì)速率部分的實(shí)際編碼比特R(來(lái)自圖1中的熵編碼90)。最終預(yù)測(cè)160(或圖1中的40)連同其運(yùn)動(dòng)矢量和其它編碼參數(shù)一起被傳遞到編碼器的后續(xù)步驟。
在圖8A中,感知統(tǒng)計(jì)量390可以根據(jù)從幀到幀運(yùn)動(dòng)追蹤210導(dǎo)出的運(yùn)動(dòng)矢量來(lái)計(jì)算,然后被應(yīng)用以形成如上所述的重要度圖400,然后將其輸入到最終速率失真分析155中。再次,感知統(tǒng)計(jì)390可以包括(但不限于)運(yùn)動(dòng)矢量幅度、塊方差、塊亮度、邊緣檢測(cè)和全局運(yùn)動(dòng)模型參數(shù)。
在一個(gè)實(shí)施例中,重要度圖被用于相應(yīng)地修改速率-失真優(yōu)化標(biāo)準(zhǔn)。在標(biāo)準(zhǔn)編碼器(參見(jiàn)圖2)中,給定輸入塊10的預(yù)測(cè)候選145的全集經(jīng)歷“最終”速率-失真分析150以確定最佳單個(gè)候選。在“最終”速率-失真分析中,使用精確的速率-失真度量D+λR,計(jì)算針對(duì)失真部分的預(yù)測(cè)誤差D和針對(duì)速率部分的實(shí)際編碼比特R(來(lái)自圖1中的熵編碼90)。具有用于速率-失真度量D+λR的最低得分的候選變成針對(duì)給定輸入塊10的最終預(yù)測(cè)160。在本發(fā)明的一個(gè)實(shí)施例中,對(duì)于圖7或8的感知上優(yōu)化的編碼器,在400中計(jì)算重要度圖IM,并且最終速率-失真分析155使用經(jīng)修改的速率-失真度量D·IM+λR。在修改的速率-失真度量中,給定輸入塊的IM值乘以失真項(xiàng),IM值越高,向低失真解決方案指派更高的重要度,因?yàn)楦逫M值指示對(duì)應(yīng)的輸入塊在感知上是重要的。重要度圖可以包括TCSF(可能由TMVM精細(xì)化)、SCM或兩者的組合。
在上述的另一實(shí)施例中,速率失真度量中的失真D可以被計(jì)算為在YUV空間中計(jì)算的SSE(平方誤差之和,計(jì)算失真的“標(biāo)準(zhǔn)”方法)和SSIM的加權(quán)和??梢宰赃m應(yīng)地計(jì)算加權(quán)γ,使得視頻的前幾個(gè)(或最近幾個(gè))幀上的平均SSIM值SSIMavg等于視頻的前幾個(gè)(或最近幾個(gè))幀上的平均SSE值SSEavg:γ·SSIMavg=SSEavg。對(duì)于每個(gè)輸入塊,經(jīng)修改的速率-失真度量將是(SSE+γ·SSIM)·IM+2λR,其中在λR項(xiàng)之前乘數(shù)2考慮了存在兩個(gè)失真項(xiàng)的事實(shí)。將SSIM包括在失真測(cè)量中指示了在速率-失真優(yōu)化中還考慮HVS感知,因?yàn)镾SIM考慮了數(shù)據(jù)中的結(jié)構(gòu)信息。
在另一組實(shí)施例中,除了修改速率-失真優(yōu)化之外或代替修改速率失真優(yōu)化,重要度圖(例如,具有TMVM精細(xì)化的TCSF和SCM)可以被用于修改編碼器的塊量化。量化控制給定數(shù)據(jù)塊被編碼的相對(duì)質(zhì)量;高度量化的數(shù)據(jù)導(dǎo)致較差質(zhì)量的編碼輸出,而較少量化的數(shù)據(jù)導(dǎo)致較高質(zhì)量的編碼輸出。量化量由量化參數(shù)QP控制。標(biāo)準(zhǔn)編碼器將不同的QP值QPframe指派給不同的幀類型,其中I幀用最小的QP(最高質(zhì)量)進(jìn)行編碼,B幀用最高的QP(最低質(zhì)量)進(jìn)行編碼,P幀用中間QP(中間質(zhì)量)進(jìn)行編碼。
于是,上述技術(shù)表示通過(guò)使用重要度圖來(lái)對(duì)具有非重疊目標(biāo)塊的多個(gè)視頻幀進(jìn)行編碼以修改每個(gè)視頻幀中的每個(gè)目標(biāo)塊的量化(并且因此影響編碼質(zhì)量)的方法??梢允褂脮r(shí)間信息(具有TMVM精細(xì)化的TCSF)、空間信息或兩者的組合來(lái)配置重要度圖(即,統(tǒng)一重要度圖)。因?yàn)橹匾葓D指示每個(gè)視頻幀的哪些部分對(duì)于人類感知而言最顯著,所以重要度圖值應(yīng)如下修改每個(gè)目標(biāo)塊的QP:(i)對(duì)于重要度圖取高值的塊,塊QP相對(duì)于QPframe被減小,導(dǎo)致那些塊的較高質(zhì)量;(ii)對(duì)于重要度圖取低值的塊,塊QP相對(duì)于幀量化參數(shù)QPframe被增加,導(dǎo)致那些塊的較低質(zhì)量。
圖8B示出了在編碼期間使用重要度圖400來(lái)修改量化的示例性處理。在400,可以使用從感知統(tǒng)計(jì)390導(dǎo)出的時(shí)間信息和/或空間信息來(lái)配置/創(chuàng)建重要度圖。例如,時(shí)間信息可以由時(shí)間對(duì)比敏感度函數(shù)(TCSF)和真實(shí)運(yùn)動(dòng)矢量圖(TMVM)提供,時(shí)間對(duì)比敏感度函數(shù)(TCSF)指示哪些目標(biāo)塊在時(shí)間上對(duì)人類觀察者而言是最顯著的,并且真實(shí)運(yùn)動(dòng)矢量圖(TMVM)指示哪些目標(biāo)塊對(duì)應(yīng)于前景數(shù)據(jù),其中TCSF僅被認(rèn)為對(duì)于被標(biāo)識(shí)為前景數(shù)據(jù)的那些目標(biāo)塊有效。例如,空間信息可以由基于規(guī)則的空間復(fù)雜度圖(SCM)提供。
然后,如上所述,使用重要度圖400來(lái)修改編碼450內(nèi)的量化步驟430。在重要度圖取高值的塊中,塊量化參數(shù)(QP)相對(duì)于幀量化參數(shù)QPframe被減小,導(dǎo)致那些塊的較高編碼質(zhì)量。在重要度圖取低值的塊中,塊量化參數(shù)相對(duì)于幀量化參數(shù)QPframe被增加,導(dǎo)致那些塊的較低編碼質(zhì)量。通過(guò)使用來(lái)自重要度圖的信息,可以以提高每個(gè)視頻幀中要被編碼的每個(gè)目標(biāo)塊的編碼質(zhì)量的方式來(lái)修改量化。
在一個(gè)實(shí)施例中,給定幀的TCSF圖可以用于逐塊地調(diào)整幀QP。計(jì)算塊QP QPblock的一種方法是遵循[Li,Z.et al,2011,“Visual attention guided bit allocation in video compression,J.of Image and Vision Computing,29(1):1-14]來(lái)將調(diào)整與幀中的完整TCSF圖相關(guān)聯(lián)。得到的等式由QPblock=[TCSFframe/(TCSFblock×M)]·QPframe給出,其中TCSFframe是幀中所有塊的TCSF值之和,TCSFblock是給定塊的TCSF值,QPframe是幀QP,M是幀中的塊數(shù)。在另一實(shí)施例中,可以縮放乘法因子[TCSFframe/(TCSFblock×M)]以防止QPblock的最終值相對(duì)于QPframe變得太高或太低。
在替代實(shí)施例中,可以不參考幀的完整TCSF圖來(lái)完成經(jīng)由TCSF圖對(duì)QP的逐塊調(diào)整。在該實(shí)施例中,QPblock的計(jì)算更簡(jiǎn)單:QPblock=QPframe/TCSFblock。在一個(gè)實(shí)施例中,QPblock的結(jié)果值被限幅,使得其不超過(guò)幀的預(yù)定最大或最小QP值:QPmin≤QPblock≤QPmax。
在另一實(shí)施例中,SCM的輸出可以被用于使用基于規(guī)則的方法來(lái)逐塊地修改量化參數(shù)。該實(shí)施例通過(guò)指派具有高方差和高QP值(低質(zhì)量)的塊開始,因?yàn)楦叨葟?fù)雜區(qū)域?qū)τ贖VS更不顯著。具有低方差的塊被指派低QP值(高質(zhì)量),因?yàn)檩^不復(fù)雜的區(qū)域?qū)τ贖VS更顯著。在一個(gè)實(shí)施例中,給定塊的QP指派由幀的最大QP值QPmax和最小QP值QPmin限定,并且基于塊方差相對(duì)于幀中其他塊的方差來(lái)被線性地縮放。在替代實(shí)施例中,僅具有高于整個(gè)幀的平均方差的方差的那些塊被指派幀QP QPframe和QPmax之間的QP值,其中所述指派是線性縮放的,以使得QPblock=[(varblock–varframe)/varblock]*(QPmax–QPframe)+QPframe。在該替代實(shí)施例中,高方差塊的QP指派可以由TCSF進(jìn)一步精細(xì)化。例如,如果塊被認(rèn)為是TMVM中的前景數(shù)據(jù),并且TCSF具有小于0.5的對(duì)數(shù)對(duì)比敏感度值(圖5中的垂直軸),意味著該塊在時(shí)間上不重要,則QPblock被提高2。在替代實(shí)施例中,可以應(yīng)用邊緣檢測(cè)處理,并且包含邊緣的塊可以將它們的QP調(diào)整為QPmin,根據(jù)空間復(fù)雜度重寫先前指派的QP,因?yàn)檫吘墝?duì)于HVS是特別顯著的。在另一實(shí)施例中,非常亮或非常暗的塊同樣可以通過(guò)根據(jù)方差和(如果適用)通過(guò)邊緣檢測(cè)來(lái)重寫先前指派的QP以將它們的QP調(diào)整到QPmax,因?yàn)榉浅0祷蚍浅A恋膮^(qū)域?qū)VS不是顯著的。這個(gè)處理被稱為亮度遮罩。
在上述的另一實(shí)施例中,可以基于已編碼的視頻的質(zhì)量水平來(lái)動(dòng)態(tài)地確定高方差塊的QPmax的值。想法在于低質(zhì)量編碼不能承受高方差塊中的任何質(zhì)量下降,因此QPmax應(yīng)該更接近QPframe,而高質(zhì)量編碼可以承受高方差塊的增加的QPmax以節(jié)省比特。可以通過(guò)計(jì)算具有在平均幀方差的5%內(nèi)的方差的塊的平均SSIM來(lái)更新在每個(gè)I(內(nèi),Intra)幀處的編碼的質(zhì)量,其中較高的SSIM值對(duì)應(yīng)于較大的QPmax值。在替代實(shí)施例中,通過(guò)幀的平均方差來(lái)調(diào)整平均SSIM,使得質(zhì)量指示符被計(jì)算為平均SSIM和平均幀方差的乘積。
在上述的另一實(shí)施例中,可以向非常低方差的塊(對(duì)應(yīng)于對(duì)HVS特別可見(jiàn)的平坦區(qū)域)指派固定的低QP值,以確保那些區(qū)域中的高質(zhì)量編碼。例如,對(duì)于I(內(nèi))幀,具有0和10之間的方差的塊可以被指派QP=28,具有10和30之間的方差的塊可以被指派QP=30,并且具有30和60之間的方差的塊可以被指派QP=32。然后可以使用ipratio和pbratio參數(shù)從以上QP中導(dǎo)出針對(duì)P幀和B幀中的塊的QP指派。
在上述的另一實(shí)施例中,向低方差塊(例如,具有在60和平均幀方差之間的方差的那些塊)指派幀QP QPframe,然后檢查以確定是否需要進(jìn)一步的質(zhì)量增強(qiáng)。在一個(gè)實(shí)施例中,可以通過(guò)將來(lái)自正在被編碼的當(dāng)前(目標(biāo))塊的重建像素和原始像素兩者的空間復(fù)雜度和亮度與先前編碼的周圍塊(例如,在左、左上、上、右上處可獲得的塊)的空間復(fù)雜度和亮度進(jìn)行比較來(lái)檢測(cè)塊狀人為噪音(blockiness artifact)。如果在目標(biāo)塊的重建像素的空間復(fù)雜度和亮度測(cè)量與相鄰塊的對(duì)應(yīng)測(cè)量之間存在大的差異,但是在目標(biāo)塊的原始像素和相鄰塊的原始像素之間的空間復(fù)雜度和亮度不存在這種差異,則認(rèn)為目標(biāo)塊是“塊狀的”。在這種情況下,塊的QP值被減小(例如,被減小2)以提高塊的編碼質(zhì)量。在另一實(shí)施例中,通過(guò)對(duì)先前編碼的周圍塊(例如,在左、左上、右、右上處可獲得的塊)的SSIM和QP值進(jìn)行平均來(lái)計(jì)算目標(biāo)塊的估計(jì)質(zhì)量。平均QP值QPavg是目標(biāo)塊的估計(jì)QP QPblock。如果平均SSIM值SSIMest小于0.9,則QPblock=QPavg被降低2,從而提高其質(zhì)量。在另一實(shí)施例中,如果目標(biāo)塊被TMVM標(biāo)識(shí)為前景數(shù)據(jù),則QPblock僅在TCSF具有大于0.8的對(duì)數(shù)對(duì)比敏感度值(圖5中的垂直軸)時(shí)被降低2,這意味著該塊是在時(shí)間上重要的。
上面概述的方法可以使用時(shí)間重要度圖(具有或不具有TMVM精細(xì)化的TCSF)、空間重要度圖(SCM)或兩者。如果使用時(shí)間重要度圖和空間重要度圖兩者,則結(jié)果被稱為統(tǒng)一重要度圖。
如上所述根據(jù)感知統(tǒng)計(jì)生成的重要度圖可以被應(yīng)用于使用運(yùn)動(dòng)補(bǔ)償以產(chǎn)生運(yùn)動(dòng)矢量的任何視頻壓縮框架,使得速率-失真分析和量化兩者均被增強(qiáng)以針對(duì)相同的編碼尺寸產(chǎn)生視覺(jué)上更好的編碼。使用用于視頻壓縮的重要度圖不需要如上詳述的連續(xù)塊追蹤器(CBT)的特定應(yīng)用。然而,CBT提供了精確地確定哪些運(yùn)動(dòng)矢量是真實(shí)運(yùn)動(dòng)矢量的附加能力,因此重要度圖在基于CBT的編碼框架中更有效。其特定原因是CBT的幀到幀運(yùn)動(dòng)矢量(來(lái)自圖8A中的幀到幀追蹤210)是根據(jù)視頻的原始幀而不是重建幀生成的。圖2和圖7中用于一般編碼器的幀存儲(chǔ)85包含從編碼處理產(chǎn)生的重建幀,但圖3、圖4和圖8A中的幀存儲(chǔ)205包含原始視頻幀。因此,CBT的幀到幀追蹤(圖3、4和8中的210)能夠更好地追蹤視頻的真實(shí)運(yùn)動(dòng),并且它的幀到幀運(yùn)動(dòng)矢量生成更準(zhǔn)確的真實(shí)運(yùn)動(dòng)矢量圖。相反,選擇一般編碼器的運(yùn)動(dòng)矢量以優(yōu)化速率-失真(壓縮)性能,并且可能不反映視頻的真實(shí)運(yùn)動(dòng)。
還應(yīng)當(dāng)注意,重要度圖一旦生成,也可以遵循上述技術(shù)而通過(guò)修改幀內(nèi)預(yù)測(cè)模式之間的速率-失真優(yōu)化或通過(guò)修改塊級(jí)量化來(lái)被應(yīng)用于幀內(nèi)預(yù)測(cè)幀。然而,對(duì)于所有幀內(nèi)編碼器,TCSF的計(jì)算需要單獨(dú)的編碼模塊(諸如圖8A中的幀到幀追蹤210)以生成視頻幀中的每一個(gè)數(shù)據(jù)塊的運(yùn)動(dòng)矢量。
數(shù)字處理環(huán)境
本發(fā)明的示例實(shí)現(xiàn)可以在軟件、固件或硬件環(huán)境中實(shí)現(xiàn)。圖9A示出了一個(gè)這樣的環(huán)境??蛻舳擞?jì)算機(jī)/設(shè)備950(例如,移動(dòng)電話或計(jì)算設(shè)備)和云960(或服務(wù)器計(jì)算機(jī)或其集群)提供執(zhí)行應(yīng)用程序等的處理、存儲(chǔ)、編碼、解碼和輸入/輸出設(shè)備。
客戶端計(jì)算機(jī)/設(shè)備950還可以通過(guò)通信網(wǎng)絡(luò)970鏈接到其他計(jì)算設(shè)備,包括其他客戶端設(shè)備/處理950和服務(wù)器計(jì)算機(jī)960。通信網(wǎng)絡(luò)970可以是遠(yuǎn)程接入網(wǎng)絡(luò)、全球網(wǎng)絡(luò)(例如,因特網(wǎng))、全球計(jì)算機(jī)集合、局域或廣域網(wǎng)以及當(dāng)前使用相應(yīng)協(xié)議(TCP/IP、藍(lán)牙等)來(lái)彼此通信的網(wǎng)關(guān)的一部分。其他電子設(shè)備/計(jì)算機(jī)網(wǎng)絡(luò)架構(gòu)也是合適的。
本發(fā)明的實(shí)施例可以包括用于對(duì)視頻或數(shù)據(jù)信號(hào)信息進(jìn)行編碼、追蹤、建模、濾波、調(diào)諧、解碼或顯示的部件。圖9B是在圖9A的處理環(huán)境中的計(jì)算機(jī)/計(jì)算節(jié)點(diǎn)(例如,客戶端處理器/設(shè)備/移動(dòng)電話設(shè)備/平板計(jì)算機(jī)950或服務(wù)器計(jì)算機(jī)960)的內(nèi)部結(jié)構(gòu)的圖,其可以用于促進(jìn)對(duì)這樣的視頻或數(shù)據(jù)信號(hào)信息進(jìn)行編碼。每個(gè)計(jì)算機(jī)950、960包含系統(tǒng)總線979,其中總線是用于在計(jì)算機(jī)或處理系統(tǒng)的組件之間的數(shù)據(jù)傳輸?shù)膶?shí)際或虛擬硬件線路的集合。總線979本質(zhì)上是連接計(jì)算機(jī)系統(tǒng)(例如,處理器、編碼器芯片、解碼器芯片、盤存儲(chǔ)、存儲(chǔ)器、輸入/輸出端口等)的不同元件的共用導(dǎo)管,其能夠?qū)崿F(xiàn)元件之間數(shù)據(jù)的傳送。被附接到系統(tǒng)總線979的是用于將各種輸入和輸出設(shè)備(例如,鍵盤、鼠標(biāo)、顯示器、打印機(jī)、揚(yáng)聲器等)連接到計(jì)算機(jī)950、960的I/O設(shè)備接口982。網(wǎng)絡(luò)接口986允許計(jì)算機(jī)連接到與網(wǎng)絡(luò)(例如,在圖9A的970處所示的網(wǎng)絡(luò))附接的各種其他設(shè)備。存儲(chǔ)器990為用于實(shí)現(xiàn)本發(fā)明的軟件實(shí)現(xiàn)(例如,編解碼器:編碼器/解碼器)的計(jì)算機(jī)軟件指令992和數(shù)據(jù)994提供易失性存儲(chǔ)。
盤存儲(chǔ)995為用于實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì)算機(jī)軟件指令998(等同于“OS程序”)和數(shù)據(jù)994提供非易失性存儲(chǔ):其還可以被用于以用于長(zhǎng)期存儲(chǔ)的壓縮格式來(lái)存儲(chǔ)視頻。中央處理器單元984還附接到系統(tǒng)總線979,并提供計(jì)算機(jī)指令的執(zhí)行。注意,在整個(gè)本文中,“計(jì)算機(jī)軟件指令”和“OS程序”是等同的。
在一個(gè)實(shí)例中,編碼器可以被配置有用于使用根據(jù)時(shí)間信息或空間信息形成的重要度圖來(lái)對(duì)視頻數(shù)據(jù)進(jìn)行編碼的計(jì)算機(jī)可讀指令992。重要度圖可以被配置為向編碼器(或其元件)提供反饋環(huán)路以優(yōu)化視頻數(shù)據(jù)的編碼/解碼。
在一個(gè)實(shí)施例中,處理器例程992和數(shù)據(jù)994是具有編碼器(一般標(biāo)記為992)的計(jì)算機(jī)程序產(chǎn)品,其包括能夠被存儲(chǔ)在存儲(chǔ)設(shè)備994上的計(jì)算機(jī)可讀介質(zhì),存儲(chǔ)設(shè)備994提供用于編碼器的軟件指令的至少一部分。
計(jì)算機(jī)程序產(chǎn)品992可以通過(guò)本領(lǐng)域中公知的任何適當(dāng)?shù)能浖惭b過(guò)程來(lái)安裝。在另一實(shí)施例中,編碼器軟件指令的至少一部分也可以通過(guò)電纜、通信和/或無(wú)線連接來(lái)下載。在其他實(shí)施例中,編碼器系統(tǒng)軟件是在非瞬時(shí)性計(jì)算機(jī)可讀介質(zhì)上實(shí)現(xiàn)的計(jì)算機(jī)程序傳播信號(hào)產(chǎn)品907(在圖9A中),該計(jì)算機(jī)程序傳播信號(hào)產(chǎn)品907在被執(zhí)行時(shí)可以被實(shí)現(xiàn)為傳播介質(zhì)上的傳播信號(hào)(例如,無(wú)線電波、紅外波、激光波、聲波或在諸如因特網(wǎng)或其它網(wǎng)絡(luò)的全球網(wǎng)絡(luò)上傳播的電波)。這樣的載體介質(zhì)或信號(hào)提供用于本發(fā)明例程/程序992的軟件指令的至少一部分。
在替代實(shí)施例中,傳播信號(hào)是在傳播介質(zhì)上承載的模擬載波或數(shù)字信號(hào)。例如,傳播信號(hào)可以是在全球網(wǎng)絡(luò)(例如,因特網(wǎng))、電信網(wǎng)絡(luò)或其他網(wǎng)絡(luò)上傳播的數(shù)字化信號(hào)。在一個(gè)實(shí)施例中,傳播信號(hào)在一段時(shí)間內(nèi)在傳播介質(zhì)上傳輸,諸如用于軟件應(yīng)用的指令在毫秒、秒、分鐘或更長(zhǎng)的時(shí)間段上通過(guò)網(wǎng)絡(luò)在分組中發(fā)送。在另一個(gè)實(shí)施例中,計(jì)算機(jī)程序產(chǎn)品992的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)系統(tǒng)950可以接收和讀取的傳播介質(zhì),該接收和讀取諸如如上所述針對(duì)計(jì)算機(jī)程序傳播信號(hào)產(chǎn)品,通過(guò)接收傳播介質(zhì)并且標(biāo)識(shí)在傳播介質(zhì)中實(shí)現(xiàn)的傳播信號(hào)。
盡管已經(jīng)參照本發(fā)明的示例性實(shí)施例具體示出和描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將理解,在不脫離所附權(quán)利要求所涵蓋的本發(fā)明的范圍的情況下,可以進(jìn)行形式上和細(xì)節(jié)上的各種改變。