本申請要求于2013年10月17日提交的作者為ZhouyeGu等人、發(fā)明名稱為“深度圖幀內(nèi)編碼模式的簡化DC預(yù)測器”的第61/892,342號美國臨時專利申請以及于2014年1月2日提交的作者為ZhouyeGu等人、發(fā)明名稱為“深度圖幀內(nèi)編碼的相鄰參考像素點選擇”的第61/923,124號美國臨時專利申請的在先申請的優(yōu)先權(quán),所述兩個申請的全部內(nèi)容通過引用結(jié)合在本申請中。關(guān)于由聯(lián)邦政府贊助研究或開發(fā)的聲明不適用。參考縮微膠片附錄不適用。
背景技術(shù):
:數(shù)字視頻功能能夠應(yīng)用于許多設(shè)備中,如數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(簡稱PDA)、筆記本電腦或臺式計算機、數(shù)碼相機、數(shù)碼錄音設(shè)備、數(shù)字媒體播放器、視頻游戲設(shè)備、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電話以及視頻會議設(shè)備等。數(shù)字視頻設(shè)備實現(xiàn)各種視頻壓縮技術(shù)從而更有效地傳輸和接收數(shù)字視頻信息。部分視頻壓縮技術(shù)在一些標(biāo)準(zhǔn)中有所描述,包括活動圖像專家組(簡稱MPEG)-2、MPEG-4、國際電聯(lián)(簡稱ITU)電信標(biāo)準(zhǔn)化部門(簡稱ITU-T)H.263、ITU-TH.264/MPEG-4、Part10、高級視頻編碼(簡稱AVC)以及這些標(biāo)準(zhǔn)的擴展,所有這些以引用的方式并入本文中。新的視頻標(biāo)準(zhǔn)也在繼續(xù)出現(xiàn)和演變。例如,高性能視頻編碼(簡稱HEVC)標(biāo)準(zhǔn),有時也稱為H.265,目前正由MPEG和ITU-T聯(lián)合成立的視頻編碼聯(lián)合協(xié)作組(簡稱JCT-VC)開發(fā)。技術(shù)實現(xiàn)要素:在一實施例中,本發(fā)明包括一種視頻編解碼器,用于接收當(dāng)前塊和多個相鄰像素點,其中所述當(dāng)前塊包括第一分區(qū)和第二分區(qū),從所述多個相鄰像素點中選擇一個或多個參考像素點,并且基于所述參考像素點對位于所述第二分區(qū)的多個像素點進行預(yù)測。在另一實施例中,本發(fā)明包括一種用于視頻編碼的裝置,包括處理器,用于:接收包含第一分區(qū)和第二分區(qū)的當(dāng)前塊,其中所述第一分區(qū)至少包括所述當(dāng)前塊的右上、左上和左下角的樣本;從所述當(dāng)前塊的右上相鄰塊和所述當(dāng)前塊的左下相鄰塊中選擇一個參考樣本;通過從所述右上相鄰塊和所述左下相鄰塊中選擇的所述參考樣本對第二分區(qū)的樣本進行預(yù)測。在又一個實施例中,本發(fā)明包括一種3維HEVC(簡稱3D-HEVC)的幀內(nèi)預(yù)測方法,所述方法包括:接收相對于當(dāng)前塊的多個相鄰樣本,其中所述相鄰樣本包括位于左下相鄰塊的右下角的第一樣本和位于右上相鄰塊的右下角的第二樣本;接收指示將所述當(dāng)前塊分割為分區(qū)0和分區(qū)1的分割模式,其中所述分區(qū)0包括所述當(dāng)前塊的右上、左上和左下角的樣本中至少一個;選擇所述第一樣本和所述第二樣本中的一個作為分區(qū)1幀內(nèi)預(yù)測的參考樣本。以下結(jié)合附圖和權(quán)利要求對以上以及其他特征做更清晰明了的詳細描述。附圖說明為了更透徹地理解本發(fā)明,現(xiàn)參閱結(jié)合附圖和具體實施方式而描述的以下簡要說明,其中的相同參考標(biāo)號表示相同部分。圖1為說明了HEVC軟件模型(簡稱HM)允許的35種幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測方案的示意圖;圖2A至2C為楔形分割方案的實施例的示意圖;圖3A至3C為輪廓分割方案的實施例的示意圖;圖4A為將一個塊分割為兩個區(qū)域P1和P2的示意圖;圖4B是為圖4A生成的三種常數(shù)分割值(CPV)的示意圖;圖5A和5B分別為一種較佳的楔形分區(qū)和輪廓分區(qū)的示意圖;圖6A至6D分別為稱作情形1至4的4種不同的分割模式的示意圖;圖7A為一種深度圖幀內(nèi)預(yù)測方案的實施例的示意圖;圖7B至7C為進一步闡述圖7A中方案背后的原理的參考樣本選擇方案的示意圖;圖8A和8B為參考樣本選擇方案的附加實施例的示意圖;圖9A和9B示出了通過參考樣本選擇和濾波技術(shù)獲得的仿真結(jié)果;圖10為一種視頻編碼器的實施例的示意圖;圖11為一種視頻解碼器的實施例的示意圖;圖12為一種幀內(nèi)預(yù)測方法的實施例的流程圖;圖13為一種通用計算機系統(tǒng)的示意圖。具體實施方式首先應(yīng)理解,盡管下文提供一項或多項實施例的說明性實施方案,但所公開的系統(tǒng)和/或方法可使用任何數(shù)目的技術(shù)來實施,無論該技術(shù)是當(dāng)前已知還是現(xiàn)有的。本發(fā)明決不應(yīng)限于下文所說明的說明性實施方案、附圖和技術(shù),包括本文所說明并描述的示例性設(shè)計和實施方案,而是可在所附權(quán)利要求書的范圍以及其等效物的完整范圍內(nèi)修改。視頻壓縮技術(shù)進行空域預(yù)測和/或時序預(yù)測,以減少或去除視頻序列固有的冗余。對于基于塊的視頻編碼,一個視頻幀或條帶被劃分或分割為多個塊,稱作宏塊或者編碼單元(簡稱CU)。除了CU可能沒有大小區(qū)分之外,HEVC標(biāo)準(zhǔn)的CU和H.264標(biāo)準(zhǔn)的宏塊用途相似。幀內(nèi)編碼幀或條帶(又稱為幀內(nèi)幀(I))的CU可以通過使用相對于位于同一幀或條帶的相鄰CU的空域預(yù)測進行編碼。幀間編碼幀或條帶(又稱為預(yù)測幀(P)或者雙邊預(yù)測幀(B))的CU可以使用相對于位于同一幀或條帶的相鄰CU的空域預(yù)測,或者使用相對于其它參考幀的時序預(yù)測。此處公開了參考樣本選擇和濾波技術(shù),用以提高對深度圖幀進行壓縮或編碼時的幀內(nèi)預(yù)測質(zhì)量。在3D-HEVC中,當(dāng)前正在編碼的塊(即,當(dāng)前塊)可以按照特定的幀內(nèi)預(yù)測模式分割為兩個區(qū)域或分區(qū)。在此處公開的實施例中,基于所述兩個區(qū)域的分割方式選擇一個或多個參考樣本進行幀內(nèi)預(yù)測。例如,如果第一分區(qū)占據(jù)了當(dāng)前塊的右上、左上和左下角樣本(這種模式有時稱作情形1),則第二分區(qū)預(yù)測的參考樣本要么是位于左下相鄰塊中的右下角的第一樣本,要么就是位于右上相鄰塊中的右下角的第二樣本。進一步地,計算并比較相鄰樣本之間的絕對差值,以最終確定使用哪個參考樣本作為第二分區(qū)的平均值(有時稱作直流(DC)值)。在本發(fā)明公開的其它實施例中,在幀內(nèi)預(yù)測之前可以對多個參考樣本進行濾波,而是否對參考樣本進行濾波取決于多種因素,如幀內(nèi)預(yù)測模式、當(dāng)前塊大小和信令標(biāo)志。從更寬泛的范圍來說,本發(fā)明研究了委員會草案(簡稱CD)之后對HEVC存在質(zhì)疑的問題。這些問題包括深度建模模式(簡稱DMM)、深度查找表(簡稱DLT)、預(yù)測模式選擇、視圖合成優(yōu)化和/或HEVC擴展。本發(fā)明還研究了通過研究編碼增益和計算復(fù)雜度之間的平衡來提升編碼技術(shù)的方法。所公開的幀內(nèi)預(yù)測實施例已經(jīng)經(jīng)過測量Bjontegaard增量比率(BjontegaardDelta(簡稱BD)-rate)的性能的測試。仿真結(jié)果表明所公開的DC預(yù)測技術(shù)在3D-HEVC隨機訪問(在公共測試條件(簡稱CTC)下)以及全I幀配置下可以提升編碼效率。一個圖片或視頻幀可以包含大量的樣本或像素點(例如,一個1920×1080的幀有2,073,600個像素點)。因此,對每個像素點獨立進行編碼和解碼(以下簡稱編碼)非常麻煩且效率低下。為了提高編碼效率,將一個視頻幀分解成矩形塊,用作進行編碼、預(yù)測、變換和量化等處理的基本單元。例如,通常N×N的塊包含N2個像素點,其中,N為大于1的整數(shù)且通常為4的倍數(shù)。與之前編碼標(biāo)準(zhǔn)中使用的宏塊相比,HEVC中已經(jīng)引入了新的塊的概念。例如,編碼單元(簡稱CU)是指將視頻幀再分割為具有相同或可變大小的矩形塊。根據(jù)幀間或幀內(nèi)預(yù)測模式,CU包括一個或多個預(yù)測單元(簡稱PU),每個預(yù)測單元作為預(yù)測的基本單元。例如,一個64×64的CU可以對稱地分成4個32×32的PU以進行幀內(nèi)預(yù)測。又例如,一個64×64的CU可以非對稱地分割成一個16×64的PU和一個48×64的PU以進行幀間預(yù)測。類似地,一個PU可以包括一個或者多個變換單元(簡稱TU),每個變換單元作為變換和/或量化的基本單元。例如,一個32×32的PU可以對稱地分成4個16×16的TU。一個PU的多個TU可以共用一個預(yù)測模式,但可以分別進行變換。這里,根據(jù)上下文,術(shù)語“塊”通??梢允侨魏魏陦K、CU、PU或者TU。塊通過幀間預(yù)測編碼方法或幀內(nèi)預(yù)測編碼方法進行編碼。在幀內(nèi)預(yù)測中,如果與當(dāng)前塊處于同一幀的相鄰塊已經(jīng)編碼,可以使用該相鄰塊對當(dāng)前塊(例如,當(dāng)前正在編碼的PU)進行預(yù)測。通常,一個幀的塊按照從左向右、從上向下或者按照Z字型掃描順序進行編碼。因此,所述當(dāng)前的塊可以通過一個或多個參考樣本進行預(yù)測,這些參考樣本可以位于當(dāng)前塊上方或左側(cè)的任何相鄰的塊。幀內(nèi)預(yù)測編碼中的塊大小變化范圍較大,例如,在一個較小的大小(如,4×4)和一個較大的大小(如,128×128)之間。幀內(nèi)預(yù)測的方向(即,從已經(jīng)編碼的塊到當(dāng)前塊的方向)決定幀內(nèi)預(yù)測的模式。圖1示出了一種幀內(nèi)預(yù)測方案100,說明了HEVC軟件模型(簡稱HM)允許的35種幀內(nèi)預(yù)測模式。所述35種模式包括33種不同的幀內(nèi)預(yù)測的方向模式、一種平面模式(planarmode)和一種DC模式。如圖1所示,所述33種幀內(nèi)預(yù)測定向模式中的每一種對應(yīng)一個外推方向,該外推方向按照順時針方向與水平面呈45度到-135度角。所述33種定向模式以大約180度角向外延伸,其角分辨率約為5.625度。所述角度指從參考像素點到當(dāng)前塊的像素點的外推方向。在包含平面模式(表示為模式0)和DC模式(表示為模式1)的非方向模式中,特定的相鄰像素點采樣可用于預(yù)測所述當(dāng)前塊的像素點。3D-HEVC分別運用傳統(tǒng)的HEVC幀內(nèi)預(yù)測模式和新型的DMM模式來對深度圖進行幀內(nèi)編碼。具體來說,3D-HEVC采用各種基于分區(qū)的深度圖編碼方法,包括:深度建模模式(簡稱DMM)、分段DC編碼(簡稱SDC)(之前稱作簡化深度編碼,也稱為SDC_DMM1)、區(qū)域邊界鏈(簡稱RBC)模式以及鏈?zhǔn)骄幋a(ChainCoding)。相鄰的參考像素點可以分別用于傳統(tǒng)幀內(nèi)預(yù)測模式和新型的幀內(nèi)預(yù)測模式。在HEVC幀內(nèi)預(yù)測編碼過程中,各種因素可能會影響和降低預(yù)測準(zhǔn)確性。例如,隨著PU大小的增加,離預(yù)測像素點較遠的像素點的預(yù)測準(zhǔn)確性可能會下降。預(yù)測準(zhǔn)確性下降會導(dǎo)致出現(xiàn)更多的殘差數(shù)據(jù),這些殘差數(shù)據(jù)反過來會產(chǎn)生更多需要編碼、傳輸和/或存儲的數(shù)據(jù)。為了提高預(yù)測準(zhǔn)確性,可以在用于塊預(yù)測的參考像素點(預(yù)測者像素點)上使用平滑濾波器。然而,在某些情況下,不需要對參考像素點使用任何平滑濾波器也能達到更好的結(jié)果。當(dāng)前的標(biāo)準(zhǔn)使用自適應(yīng)幀內(nèi)平滑技術(shù)來進行紋理幀編碼。在3D-HEVC中,相同的自適應(yīng)幀內(nèi)平滑技術(shù)可用于對深度圖進行幀內(nèi)編碼。深度圖的特征可以是銳利的邊緣(表示物體的邊界)以及其中的樣本值幾乎不變或緩慢變化的的大區(qū)域(表示物體的區(qū)域)。雖然HEVC幀內(nèi)預(yù)測和變換編碼技術(shù)適用于幾乎不變的區(qū)域,但是它會造成銳邊上的嚴重的編碼失真。這些失真在合成后的中間視點就會可見,從而降低視頻質(zhì)量。為了更好地顯示深度圖的邊緣,具體設(shè)計了4種新型的幀內(nèi)預(yù)測模式用于深度圖幀內(nèi)編碼。這4種新的模式被稱為深度建模模式(簡稱DMM),或者簡稱為DMM1-DMM4??梢詫MM進行整合,以將其作為HEVC中的傳統(tǒng)幀內(nèi)預(yù)測模式的替換模式。有了DMM,用于紋理幀編碼的參考樣本選擇方案可能總是無法適合深度幀編碼。有必要為深度圖幀內(nèi)預(yù)測開發(fā)新的參考像素點選擇算法。在新的深度幀內(nèi)預(yù)測模式(如,DMM1-4)中,被濾波或沒有被濾波相鄰參考像素點能夠被用于幀內(nèi)預(yù)測。與幀內(nèi)預(yù)測模式相似,表示近似與原始深度信號之差的殘差可以通過變換編碼進行編碼并傳輸。在所有四種DMM模式中,深度塊被將塊所在的區(qū)域分割成兩個部分、分區(qū)或區(qū)域的模型近似,其中,每個矩形或非矩形區(qū)域由一個常量值表示。這種模型需要的信息包括:分割信息,用于規(guī)定每個樣本所屬的區(qū)域;以及區(qū)域值信息,用于規(guī)定對應(yīng)區(qū)域的樣本的常量值。所述區(qū)域值信息有時稱為常數(shù)分割值(簡稱CPV)。楔形分割和輪廓分割是將當(dāng)前塊分割成兩個區(qū)域的兩種不同的方法。圖2A至2C示出了一種楔形分割方案的實施例,在該方案中兩個區(qū)域由一條直線隔開。所述兩個區(qū)域標(biāo)記為P1和P2。分隔線由起點S與終點E確定,兩者皆位于當(dāng)前塊的不同邊界上。對于圖2A所示的連續(xù)的信號區(qū)域200,分隔線可由直線方程表述。圖2B示出了分散樣本區(qū)域230的分割。此處,該塊包括大小為uB×vB的樣本的數(shù)組,其中,uB表示塊寬度,vB表示塊高度。標(biāo)記為S的起始樣本、標(biāo)記為E的結(jié)束樣本以及中間的粗直線對應(yīng)于邊界樣本。雖然分隔線也可由線性方程表述,但在分散樣本區(qū)域230中區(qū)域P1與P2的定義是不同的,只有完整的樣本才能夠作為兩個區(qū)域中任一區(qū)域的一部分。為了在編碼過程中使用楔形塊分割,分割信息以分割模式的形式儲存。這種模式包括大小為uB×vB的數(shù)組,每個元素包含了對應(yīng)的樣本是否屬于區(qū)域P1或P2的二進制信息。區(qū)域P1和P2可分別由圖2C所示的塊250中的黑色和白色樣本表示。在一實施例中,可為區(qū)域P1中的白色樣本分配一個分割值1,為區(qū)域P2中的黑色樣本分配一個分割值0;反之亦然。圖3A至3C示出了輪廓分割方案的實施例。將兩個區(qū)域分隔的不規(guī)則線條無法簡單地用幾何函數(shù)來描述。具體地,圖3A示出了一種連續(xù)的信號區(qū)域310,其中,P1和P2兩個區(qū)域可以為任何形狀。圖3B示出了從連續(xù)的信號區(qū)域310到離散的信號區(qū)域330的變換。圖3C示出了塊350的分割模式,其中,二進制信息表示為白色和黑色樣本。一個區(qū),比如P2,可以包括多個不連續(xù)的部分。除了所述分割模式以外,輪廓分割與楔形分割的屬性十分相似。為了在編碼過程中使用輪廓塊分割,為來自參考塊的信號的每個塊推導(dǎo)出分割模式(例如,如圖3C所示)。在輪廓分割中,由于缺少區(qū)域分隔線的功能描述,沒有模板查找表,因此不存在最優(yōu)匹配分區(qū)的搜索。圖4A說明了由一個方框400分割為兩個區(qū)域P1和P2。圖4B示出了沿著虛線A-A的3種CPV類型,包括原始的、預(yù)測的和增量CPV。無論是以楔形分割還是輪廓分割,深度塊的信號的建模需要的第二信息為兩個區(qū)域中的每個區(qū)域的CPV。CPV編碼方法對上述介紹的所有4種模式來說是一樣的,因為它并不區(qū)分分區(qū)類型,而是假定為當(dāng)前的深度塊給定一個分割模式。圖4B示意性地說明了計算原始CPV作為對應(yīng)區(qū)域所覆蓋的樣本的平均值。盡管對于給定的分區(qū),所述原始CPV可以帶來最優(yōu)的相近,但是由于原始樣本沒有傳輸給解碼器,所以無法從解碼器上獲得所述原始CPV。另一方面,預(yù)測的CPV不需要所述解碼器上的原始樣本。相反,所述預(yù)測的CPV可以從所述解碼器上的可用信息中推導(dǎo)出來。這種信息包括位于左邊相鄰塊和/或頂部相鄰塊的相鄰樣本。例如,圖4A說明了頂部參考樣本行或左邊參考樣本列包括第一個樣本、最后一個樣本和中間的樣本。在預(yù)測DC分割值時,可以根據(jù)不同的情況選擇所述三個樣本(從頂部一行或左側(cè)一列)中的兩個來生成一個DC預(yù)測(將所述參考樣本用作分區(qū)的平均值)。要注意的是,每次需要兩個以上的樣本來對DC預(yù)測進行計算。圖5A示出了一種較佳的楔形分區(qū)500,其中,該分區(qū)的兩個部分由一條粗直線分隔,分別表示為P0和P1。圖5B示出了另一種較佳的輪廓分區(qū)530,其中P0和P1兩個部分由非直線分隔。在3D-HEVC中,基于分區(qū)的方法包括DMM、SDC_DMM1和鏈?zhǔn)骄幋a,被應(yīng)用于深度圖幀內(nèi)編碼。根據(jù)基于分區(qū)的深度圖幀內(nèi)編碼方法,一個深度塊可以分成兩個部分或區(qū)域。圖5A和5B中的每個部分、分區(qū)或區(qū)域表示為單個DC值(可表示為DC0或者DC1)。每個分區(qū)的DC值通過一個或兩個重建的相鄰參考樣本來預(yù)測。進一步地,每個分區(qū)(P0和P1)的DC值能夠進一步通過增量DC/殘差值來補償。所述殘差值在比特流中顯式發(fā)送。選擇使用哪個參考樣本進行幀內(nèi)預(yù)測可以取決于分割模式(例如,邊界線的位置)。圖6A至6D分別示出了4種不同的分割模式600、630、650和670。所述分割模式600、630、650和670有時也分別稱作情形1-4。這4種模式或情況的主要區(qū)別在于當(dāng)前塊的3個角落樣本的分割值,包括左上角落樣本、右上角樣本和左下角樣本。具體來說,圖6A中,所有的角落樣本602、604和606都位于同一個分區(qū)P0。圖6B中,角落樣本632位于分區(qū)P0,而角落樣本634和636位于分區(qū)P1。圖6C中,角落樣本652和654位于分區(qū)P0,而角落樣本656位于分區(qū)P1。圖6D中,角落樣本672和676位于分區(qū)P0,而角落樣本674位于分區(qū)P1。所述當(dāng)前塊可以是任何合適的大小,例如,圖6A-6D中使用的當(dāng)前塊的大小為8×8,樣本值表示為Cx,y,其中,x=0..7,y=0..7。在圖6A-6D中,可以使用兩個以上的重建相鄰參考樣本來預(yù)測分區(qū)P0和P1。通常,為了優(yōu)化深度圖幀內(nèi)預(yù)測的準(zhǔn)確性,選擇一個參考樣本或多個樣本盡量與與盡可能多的分區(qū)樣本保持接近。假設(shè)所述重建的相鄰參考樣本表示為pi,j,其中,i=-1,j=-1..7以及i=0..7,j=-1。再假設(shè)左上角樣本(c0,0)的分割值為X,其中,X=0或1;并且假設(shè)分割模式bPatternx,y,其中x=0..N-1,y=0..N-1,且N表示當(dāng)前塊的大小?;谏鲜黾僭O(shè),預(yù)測的DC值(如,DC0和DC1)可以通過以下運算得出:設(shè)置bT=(bPattern0,0?。絙PatternN-1,0)?1:0;設(shè)置bL=(bPattern0,0?。絙Pattern0,N-1)?1:0若bT等于bLDCX=(p-1,0+p0,-1)>>1(1)DC1-X=bL?(p-1,N-1+pN-1,-1)>>1:2B-1(2)否則DCX=bL?p(N-1)>>1,-1:p-1,(N-1)>>1(3)DC1-X=bL?p-1,N-1:pN-1,-1(4)基于上述所列的步驟,本領(lǐng)域技術(shù)人員應(yīng)該理解圖6A使用參考樣本p-1,0和p0,-1來預(yù)測分區(qū)P0(注意分區(qū)P1缺少參考樣本)。圖6B使用參考樣本p-1,0和p0,-1來預(yù)測分區(qū)P0,使用參考樣本p-1,7和p7,-1來預(yù)測分區(qū)P1。圖6C使用參考樣本p3,-1來預(yù)測分區(qū)P0,使用參考樣本p-1,7來預(yù)測分區(qū)P1。圖6D使用參考樣本p-1,3來預(yù)測分區(qū)P0,使用參考樣本p7,-1來預(yù)測分區(qū)P1。參考圖6A,由于分區(qū)P1沒有直接相鄰樣本,傳統(tǒng)方法采用預(yù)設(shè)DC值來預(yù)測分區(qū)P-1。結(jié)果,圖6A中的分區(qū)P1的幀內(nèi)預(yù)測不采用相鄰參考樣本。此處公開的實施例通過將參考樣本的選擇擴展至位于延伸的相鄰塊(如,編碼單元)的參考像素點來解決這一問題。簡單地說,在進行DMM分區(qū)或區(qū)域邊界鏈(REC)分區(qū)的DC預(yù)測時,可以從左邊參考塊的延伸像素點或從頂部參考塊的延伸像素點中選擇用于預(yù)測每個分區(qū)部分的DC值的參考像素點。圖7A示出了深度圖幀內(nèi)預(yù)測方案700的實施例,該方案用于選擇參考樣本來預(yù)測圖6A中的分區(qū)P1。如上所述,為了預(yù)測當(dāng)前塊710的左上部分(例如,白色樣本所示的分區(qū)P0),所述方案700使用分別位于上方相鄰塊720和左側(cè)相鄰塊730中的參考像素點722(如,p-1,0)和參考像素點732(如,p0,-1)。進一步地,基于相鄰參考像素點的可用性,所述方案700使用延伸的相鄰塊預(yù)測所述右下方區(qū)域(如,黑色樣本所示的分區(qū)P1)。在一實施例中,如果當(dāng)前塊的大小為N×N,所述方案700首先檢查像素點742(如,p-1,2*N-1)和像素點752(如,p2*N-1,-1)是否可用。像素點742位于左下相鄰塊740的右下角,像素點752位于右上相鄰塊750的右下角。如圖7A所示,塊740和750都與當(dāng)前塊710成對角線相鄰。如果像素點742和752都可用,那么所述方案700計算像素點742和722之間的差值的絕對值,其中,所述絕對差值表示為abs(p-1,2*N-1-p-1,0)。類似地,所述方案700計算像素點752和732之間的差值的絕對值,其中,所述絕對差值表示為abs(p2*N-1,-1-p0,-1)。然后,所述方案700比較這兩個絕對值。如果abs(p-1,2*N-1-p-1,0)大于abs(p2*N-1,-1-p0,-1),則將所述像素點742(即,p-1,2*N-1)的值用作分區(qū)P1的DC預(yù)測值。相反,如果abs(p-1,2*N-1-p-1,0)小于等于abs(p2*N-1,-1-p0,-1),則將所述像素點752(即,p2*N-1,-1)的值用作分區(qū)P1的DC預(yù)測值。進一步地,如果所述像素點742和752中的一個不可用,則將另一個用作所述參考像素點。如果所述像素點742和752都不可用,則使用最接近的可用的相鄰像素點來填補像素點742和752。在一實施例中,方案700所述的DC估計算法表示為以下運算:若p-1,2*N-1和p2*N-1,-1都可用,DC1-X=abs(p-1,2*N-1-p-1,0)>abs(p2*N-1,-1-p0,-1)?p-1,2*N-1:p2*N-1,-1(5)圖7B和7C分別示出了參考樣本選擇方案770和790來進一步說明運算(5)背后的原理。圖7B和7C類似于圖7A,都屬于情形1,其中,當(dāng)前塊中的4個角落像素點中的3個屬于同一個分區(qū)P0。圖7B示出了分區(qū)P0和P1之間幾乎水平的邊界的極端情況。在圖7B中,樣本772(p0,-1)與左上分區(qū)P0相鄰,樣本774(p15,1)與分區(qū)P0相近但距離右下方的分區(qū)P1較遠。樣本778與分區(qū)P1相對較近。由于分區(qū)邊界通常用于反映銳利邊緣,位于邊界線771同一側(cè)的樣本可能具有相似的亮度/色度值,而位于所述邊界線771相對一側(cè)的樣本可能具有完全不同的亮度/色度值。因此,根據(jù)所述邊界線771的方向來判斷,p15,-1的亮度/色度值可能和p0,-1相似,p0,-1的亮度/色度值可能和p-1,0不一樣。由于參考樣本778(即,與圖7A中的像素點或樣本742位于同一位置的p-1,15)和所述分區(qū)P1位于所述邊界線771的同一側(cè),所以應(yīng)該選擇p-1,15來預(yù)測分區(qū)P1的DC值。等式(5)通過計算絕對差值abs(p-1,15-p-1,0)和abs(p15,-1-p0,-1)來確認該原理,因為圖7B中abs(p-1,15-p-1,0)很可能大于abs(p15,-1-p0,-1)。類似地,圖7C示出了分區(qū)P0和P1之間幾乎垂直的邊界的另一種極端情況。由于分區(qū)邊界通常用于反映銳利邊緣,位于邊界線791同一側(cè)的樣本可能具有相似的亮度/色度值,而位于所述邊界線791相對一側(cè)的樣本可能具有完全不同的亮度/色度值。因此,p15,-1的亮度/色度值可能和p0,-1不同,p-1,15的亮度/色度值可能和p-1,0相似。由于與圖7A中的樣本752位于同一位置的參考樣本p-1,15和所述分區(qū)P1位于所述邊界線791的同一側(cè),所以應(yīng)該選擇p15,-1來預(yù)測分區(qū)P1的DC值。等式(5)通過計算絕對差值abs(p-1,15-p-1,0)和abs(p15,-1-p0,-1)來確定該原理,因為圖7C中的abs(p15,-1-p0,-1)很可能大于abs(p-1,15-p-1,0)。如相對于圖6A的以上描述,當(dāng)所述3個角落樣本602、604和606都屬于同一個分區(qū)P0時,方案700、770和790用于情形1。在這種情況下,等式(5)可以等同地變換成3個單獨的運算:vertAbsDiff=Abs(p[-1][0]-p[-1][nTbS*2-1])(6)horAbsDiff=Abs(p[0][-1]-p[nTbS*2-1][-1])(7)dcValBR=(horAbsDiff>vertAbsDiff)?p[nTbS*2-1][-1]:p[-1][nTbS*2-1])(8)本領(lǐng)域技術(shù)人員應(yīng)理解,運算(6-8)中使用的變量由HEVC標(biāo)準(zhǔn)規(guī)定,并以引用的方式并入本文。根據(jù)HEVC標(biāo)準(zhǔn)中“深度分割值的推導(dǎo)和分配過程”這一節(jié),可以使用以下運算和流程來對當(dāng)前塊進行編碼。要注意的是,編碼過程中的輸入有:(1)x=-1,y=-1..nTbS*2-1以及x=0..nTbS*2–1,y=-1的相鄰樣本p[x][y];(2)x,y=0..nTbS–1的二進制數(shù)組分割模式[x][y],說明分區(qū)0和分區(qū)1上的預(yù)測塊的分割;(3)樣本位置(xTb,yTb),說明當(dāng)前圖片的左上樣本相對的當(dāng)前塊的左上樣本;(4)變量nTbS,說明變換塊的大小。上述編碼過程的輸出為x,y=0..nTbS–1的預(yù)測樣本predSamples[x][y]。在一實施例中,變量vertEdgeFlag和horEdgeFlag可如以下說明推導(dǎo)出:vertEdgeFlag=(partitionPattern[0][0]?。絧artitionPattern[nTbS-1][0])(I-61)horEdgeFlag=(partitionPattern[0][0]?。絧artitionPattern[0][nTbS-1])(I-62)變量dcValBR和dcValLT可如以下說明推導(dǎo)出:若vertEdgeFlag等于horEdgeFlag,適用以下:變量dcValBR可如以下說明推導(dǎo)出:若horEdgeFlag等于1,適用以下:dcValBR=((p[-1][nTbS-1]+p[nTbS-1][-1])>>1)(I-63)否則,(horEdgeFlag等于0),適用以下:vertAbsDiff=Abs(p[-1][0]-p[-1][nTbS*2-1])(I-64)horAbsDiff=Abs(p[0][-1]-p[nTbS*2-1][-1])(I-65)dcValBR=(horAbsDiff>vertAbsDiff)?p[nTbS*2-1][-1]:p[-1][nTbS*2-1])(I-66)變量dcValLT可如以下說明推導(dǎo)出:dcValLT=(p[-1][0]+p[0][-1])>>1(I-67)否則,(horEdgeFlag不等于vertEdgeFlag),適用以下:dcValBR=horEdgeFlag?p[-1][nTbS-1]:p[nTbS-1][-1](I-68)dcValLT=horEdgeFlag?p[(nTbS-1)>>1][-1]:p[-1][(nTbS-1)>>1](I-69)預(yù)測樣本值predSamples[x][y]可如以下說明推導(dǎo)出:針對0到(nTbS-1)這個范圍內(nèi)的x,適用以下:針對0到(nTbS-1)這個范圍內(nèi)的y,適用以下:變量predDcVal和dcOffset可如以下說明推導(dǎo)出:predDcVal=(partitionPattern[x][y]==partitionPattern[0][0])?dcValLT:dcValBR(I-70)dcOffset=DcOffset[xTb][yTb][partitionPattern[x][y]](I-71)若DltFlag[nuh_layer_id]等于0,適用以下:predSamples[x][y]=predDcVal+dcOffset(I-72)否則(DltFlag[nuh_layer_id]等于1,適用以下:predSamples[x][y]=Idx2DepthValue[Clip1Y(DepthValue2Idx[predDcVal]+dcOffset)](I-73)要注意的是,能夠用于DC預(yù)測的參考像素點不限于圖7A-7C中所示的位置。任何參考像素點的加權(quán)組合可用于進行DC預(yù)測。下面給出一種較佳的組合:DC=a1*px1,y1+a2*px2,y2+a3*px3,y3+…an*pxn,yn,其中a1…an為加權(quán)系數(shù),px1,y1…pxn,yn為相鄰參考像素點,DC為分區(qū)的預(yù)測后的值。在一實施例中,通過下面的算法使用p-1,N-1和pN-1,-1的加權(quán)平均值來預(yù)測右下方的分區(qū)P1:DCright-bottom=a1*p-1,N-1+a2*pN-1,-1,其中,a1和a2為加權(quán)系數(shù)。在該實施例中,右上和左下塊中的參考像素點可用于對圖6A-6D中的任何情形(不限于情形1)進行DC預(yù)測。下面給出一種較佳的算法:DC=a1*px1,y1+a2*px2,y2+a3*px3,y3+…aM*pxM,yM,其中,xM和yM可以大于所述塊的大小N。參考圖6C中的情形3,在一實施例中,可以按照下面的算法使用p-1,0,p(N-1)>>1,-1,p0,-1和pN-1,-1的加權(quán)平均值來預(yù)測頂部分區(qū)P0的DC值:DCup=a1*p-1,0+a2*p(N-1)>>1,-1+a3*p0,-1+a4*pN-1,-1,其中,a1、a2、為加權(quán)系數(shù)。例如,按照下面的算法使用pN-1,-1和pN,-1來預(yù)測圖6D中情形4的DC值:DCright=a1*pN,-1+a2*pN-1,-1.除了方案700以外,其它可選的方案也可用于選擇一個或多個最佳參考像素點來預(yù)測所述分區(qū)P1。圖8A和8B分別闡述了參考樣本選擇方案800和850的實施例。圖8A和8B中的分割模式盡管看起來不一樣,但是仍然都屬于情形1(如圖6A一樣)。它們的共同特征在于,假設(shè)一個塊的大小為N×N,右上像素點(c0,N-1)的分割值與左上像素點(c0,0)的相同,左下像素點(cN-1,0)的分割值與左上像素點(c0,0)相同。相應(yīng)地,在一實施例中,輪廓分區(qū)P1中的像素點(圖8A和8B中的黑色像素點)的DC值可以按照圖6A中右下方分區(qū)P1相同的方式確定。然而,分割模式800和850的特殊特征使得其它像素點稱為更好的DC參考樣本。圖8A示出了情形1的子情形(Case1a),其中(c0,0),(c7,0),和(c0,7)具有相同的分割值,但是這種分割值與(c3,0)的分割值不同。圖8B示出了情形1的另一個子情形(Case1b),其中(c0,0),(c7,0),和(c0,7)具有相同的分割值,但是這種分割值與(c0,3)的分割值不同。實際中,如果頂部一行(c0,0)和(cN,0)的任何一個分割值與圖8A所示的(c0,0)的二進制分割值不同,則意味著該分割圖形按照DMM4模式進行預(yù)測(通常,DMM1-4都可用于情形1的情況)。類似地,如果左側(cè)一列的(c0,0)和(c0,N)之間的任何一個分割值與圖8B所示的(c0,0)不同,則意味著該分割模式也是按照DMM4模式進行預(yù)測的??紤]到圖8A-8B和圖6A的差別,p0,-1和pN,-1或者p-1,0和p-1,N之間的參考像素點(例如,參考像素點p3,-1和p-1,3)可以取得更好的DC預(yù)測值。在所述方案800的一個實施例中,將所述輪廓分區(qū)P1中的像素點的DC值設(shè)置為中間參考像素點(p(N-1)>>1,-1)或(pN>>1,-1)的值。類似地,在所述方案850的一個實施例中,將所述分區(qū)P1的DC值設(shè)置為中間參考像素點(p-1,(N-1)>>1)或(p-1,N>>1)的值。在一實施例中,如果當(dāng)前塊中上像素點(c(N-1)>>1,0)的分割值與左上樣本(c0,0)的分割值不同,如圖8A所示,則選擇中上參考像素點(p(N-1)>>1,-1)作為所述輪廓分區(qū)P1的DC預(yù)測值??蛇x地,如果當(dāng)前塊左側(cè)縱列的左中的像素點(c0,(N-1)>>1)的分割值與左上像素點(c0,0)的分割值不同,如圖8B所示,則選擇左中的參考像素點(p-1,(N-1)>>1)作為所述輪廓分區(qū)P1的DC值。盡管圖8A或8B中沒有示出,但是如果左中的像素點(c0,(N-1)>>1)的分割值與中上像素點(c(N-1)>>1,0)的分割值相同,則可以將左中的參考像素點(p-1,(N-1)>>1)和中上參考像素點(p(N-1)>>1,-1)的平均值作為所述輪廓分區(qū)P1的DC預(yù)測值。上述情形1下的DC估計算法的實施例可以通過下面運算來描述:設(shè)置bTM=(bPattern0,0?。絙Pattern(N-1)>>1,0)?1:0,并且(9)設(shè)置bLM=(bPattern0,0?。絙Pattern0,(N-1)>>1)?1:0。(10)若bTM不等于bLM,DCright-bottom=bLM?p-1,(N-1)>>1:p(N-1)>>1,-1;(11)否則,DCright-bottom=(p-1,(N-1)>>1+p(N-1)>>1,-1)>>1.(12)圖6A所示的情形1可以包括另一種情況(表示為情況2),其中,左中的像素點(c0,(N-1)>>1)的分割值與中上像素點(c(N-1)>>1,0)的分割值相同,或者(c0,(N-1)>>1)和(c(N-1)>>1,0)都與(c0,0)相等。在情況2的另一實施例中,仍然使用上述方法(例如,結(jié)合運算(5))來預(yù)測右下方的分區(qū)P1。如上所述,所示35種幀內(nèi)預(yù)測模式中的任何一種以及新的深度幀內(nèi)預(yù)測模式可用于3D-HEVC深度圖的幀內(nèi)預(yù)測。當(dāng)解碼器進行深度圖幀內(nèi)預(yù)測時,相鄰塊的被解碼放入邊界樣本用作在未進行圖間預(yù)測的區(qū)域中進行空域預(yù)測的參考數(shù)據(jù)。PU內(nèi)的所有TU可針對一個亮度分量和兩個色度分量使用相同的關(guān)聯(lián)的幀間預(yù)測模式。編碼器從35個選項中選擇每個PU最佳的亮度幀間預(yù)測模式。如圖1所示的33種定向預(yù)測模式、1種DC模式以及1種平面模式。對于亮度分量,可以在幀間預(yù)測過程之前對相鄰參考樣本進行濾波。濾波由給定的幀間預(yù)測模式和/或變換塊大小控制。例如,可以這樣設(shè)計濾波規(guī)則:如果所述幀間預(yù)測模式為DC或者所述變換塊大小等于4×4,則不對相鄰樣本進行濾波;進一步地,如果給定的幀間預(yù)測模式和垂直模式(或水平模式)之間的距離大于預(yù)定義的閾值,則開始進行濾波。表1詳細說明了預(yù)定義的閾值的實例,其中nT表示塊(如,變換單元)大小。表1各種變換塊大小的預(yù)定義閾值的說明nT=8nT=16nT=32閾值710任何適合的濾波設(shè)計都可用于進行參考樣本濾波。例如,可以使用[1,2,1]濾波和雙線性濾波進行相鄰樣本濾波。在一實施例中,如果下面所有的條件都滿足,則可以使用所述雙線性濾波:強_幀間_平滑_使能_標(biāo)志(strong_intra_smoothing_enable_flag)等于1;變換塊大小等于32;Abs(p[-1][-1]+p[nT*2-1][-1]–2*p[nT-1][-1])<(1<<(BitDepthY-5));以及Abs(p[-1][-1]+p[-1][nT*2-1]–2*p[-1][nT-1])<(1<<(BitDepthY-5))。上面所述的相鄰樣本的濾波過程可以在深度圖幀間編碼中進行。此處(包括下文)公開的參考樣本濾波的實施例可以實現(xiàn)更加準(zhǔn)確的DC預(yù)測并且可以提升深度圖編碼性能。在一實施例中,將濾波或平滑化應(yīng)用于用于進行深度圖幀內(nèi)預(yù)測的參考像素點上依賴于幀內(nèi)預(yù)測模式(例如,方向或角度)和/或塊大小。例如,如果PU的寬度和高度小于或等于8(即,PUwidth/height≤8),則在可以不進行相鄰樣本的濾波,以維持相鄰樣本上的銳邊。PUwidth/height是一個指示PU/塊大小的變量,表示寬度或者高度。如果塊的寬度值與高度值不等,則該塊不是正方形。否則,如果塊的寬度值與高度值相等,則該塊是正方形。用于做出參考樣本濾波決定的PU寬度/高度不限于PUwidth/height≤8。也就是說,任何預(yù)定義范圍的PU寬度/高度(例如,a≤PUwidth/height≤b;或PUwidth/height≤a以及b≤PUwidth/height,其中a和b為整數(shù)且b>a)都可以用來做出參考樣本濾波的決定。例如,若a=4,b=16,濾波情況可以是:若4≤PUwidth/height≤16,則不用濾波。又例如,若a=4,b=16,濾波情況可以是:若PUwidth/height≤4或者16≤PUwidth/height,則不用濾波。再例如,若a=4,b=8,濾波情況可以是:若4≤PUwidth/height≤8,則不用濾波。在一實施例中,將特定的幀內(nèi)預(yù)測模式預(yù)設(shè)為總是選擇濾波后的參考樣本來進行幀內(nèi)預(yù)測。例如,所述平面模式和所述DC模式總是使用濾波后的參考樣本來進行幀內(nèi)預(yù)測??蛇x的,所述濾波規(guī)則可以設(shè)計為:如果所述幀內(nèi)預(yù)測模式的索引在某個預(yù)先定義的范圍內(nèi),則可以跳過參考像素點濾波過程。例如,如果幀內(nèi)預(yù)測模式ID為0或1,則所述參考像素點濾波過程可以跳過。在另一個實施例中,參考樣本濾波的決定取決于PU寬度/高度和幀內(nèi)模式的組合。例如,若4≤PUwidth/height≤16且當(dāng)前的預(yù)測模式為平面或DC模式,則可以跳過參考樣本濾波。此外,對用于平滑化的濾波器的選擇獨立于模式。也就是說,并不是所有的幀內(nèi)預(yù)測模式都可以使用相同的濾波器。任何適合的濾波系數(shù)都可用于進行相鄰樣本濾波。換言之,任何參考像素點的加權(quán)組合都可用于對深度圖幀內(nèi)預(yù)測進行相鄰樣本濾波。下面給出一種較佳的組合:Px3,y3=a1*px1,y1+a2*px2,y2+a3*px3,y3+…an*pxn,yn,其中,Px3,y3為濾波后的參考像素點,px1,y1、px2,y2、px3,y3…..pxn,yn為濾波前的參考像素點,a1、a2、a3…an和為1的系數(shù)。在一實施例中,如果選擇多個參考像素點作為塊分區(qū)的預(yù)測值,可以對所述多個參考像素點使用一個簡單的像素濾波器,如系數(shù)為[1,1]或[1,2,1]的濾波器。此外,對于幀內(nèi)預(yù)測模式的參考像素點濾波決定,參考像素點不限于相鄰塊的某一行和某一列??梢允褂靡粋€或多個相鄰參考塊上的多行、多列以及其組合來進行幀內(nèi)預(yù)測。下面給出了一種較佳的組合:Px3,y3=a1*px1,y1+a2*px2,y2+a3*px3,y3+…aM*pxM,yM,其中,Px3,y3為濾波后的參考像素點,xM和yM可以小于-1,表示相鄰參考塊的行和列不止一個。進一步地,有時是否采用平滑化的決定基于幀內(nèi)預(yù)測模式、PU/塊大小和平滑標(biāo)志的組合。在一實施例中,表示濾波器開/關(guān)(或者啟用/禁用)狀態(tài)的標(biāo)志通過比特流傳輸。例如,把標(biāo)志設(shè)為“0”表示濾波關(guān)閉或禁用,而把標(biāo)志設(shè)為“1”表示濾波開啟或啟用;反之亦然。所述標(biāo)志可以在塊語法或圖像層語法中傳輸?;蛘?,所述信令標(biāo)志可以是隱性推導(dǎo)出來的。此時,比特流中不需要有標(biāo)志比特。例如,如果參考像素濾波對編碼器和/或解碼器(編解碼器)中的深度圖關(guān)閉,則無必要在圖像層語法或塊語法中傳輸標(biāo)志。否則,如果參考像素點濾波開啟,則所述標(biāo)志通過一些PU特性如PU大小和/或所述PU所用的幀內(nèi)預(yù)測模式來暗示。例如,在幀內(nèi)預(yù)測模式為定向預(yù)測模式(索引2-35)時,可以推斷深度參考像素點濾波標(biāo)志打開或啟用,在非定向模式下(平面和DC模式)時,可推斷所述標(biāo)志關(guān)閉或禁用。能夠用于檢查塊分區(qū)是否為輪廓分區(qū)的分割值不限于中上分割值(c(N-1)>>1,0)或者左中分割值(c0,(N-1)>>1),其他任何合適的樣本及其加權(quán)組合都可用于確定塊分區(qū)是否為輪廓分區(qū)。例如,如果圖6A中分割值(c(N-1)>>2,0)不等于(c0,0),則所述塊分區(qū)P1會歸為輪廓分區(qū)。在一實施例中,通過分割值不僅可以檢查圖6A中情形1的輪廓分區(qū),也可以檢查圖6B-6D中情形2-4的輪廓分區(qū)。然后可以相應(yīng)地進行DC預(yù)測。例如,如果在圖6C的情形3中,所述中上分割值(c(N-1)>>1,0)和左上分割值(c0,0)不同,則所述塊的分區(qū)屬于輪廓分區(qū)P1。此時,不應(yīng)該再使用中上參考像素值(p(N-1)>>1,-1)作為上分區(qū)P0的DC預(yù)測值。相反,可以使用右上參考像素點(pN-1,-1)和左上參考像素點(p0,-1)的平均值作為上分區(qū)P0的DC預(yù)測值。圖9A和9B在此示出了通過參考樣本選擇和濾波技術(shù)獲得的仿真結(jié)果。具體地,圖9A示出了僅在幀內(nèi)條件下的3視圖情形的BD比率結(jié)果,圖9B示出了公共測試條件下的3視圖情形的BD比率結(jié)果。基于上述結(jié)果,所描述的深度圖參考像素點選擇和濾波技術(shù)在3D-HEVC隨機訪問(在CTC下)以及所有幀內(nèi)配置下可以提升編碼效率。例如,如圖9A所示,視頻峰值信噪比(PSNR)/總比特率平均下降了0.03%,綜合PSNR/總比特率平均下降了0.01%。如圖9B所示,所述視頻PSNR/總比特率平均下降了0.1%,綜合PSNR/總比特率平均下降了0.1%。圖10示出了視頻編碼器1000的實施例,用來實現(xiàn)已公開的幀內(nèi)預(yù)測實施例(例如,上述方案700、770、790、800和850)。要注意的是,所述公開的實施例也可以通過其他視頻編解碼器來實現(xiàn)。所述視頻編碼器1000包括如圖10所示排列的比率失真優(yōu)化(RDO)模塊1010、預(yù)測模塊1020、變換模塊1030、量化模塊1040、熵編碼器1050、反量化模塊1060、反變換模塊1070和重建模塊1080。在操作中,所述視頻編碼器1000可以接收包含視頻幀(或條帶)序列的輸入視頻。這里,幀可以是指任何被預(yù)測的幀(P幀)、幀內(nèi)編碼幀(I幀)或者雙邊預(yù)測幀(B幀)。類似地,條帶可以指任何P條帶、I條帶或者B條帶。所述RDO模塊1010可用于對一個或者多個其他模塊進行整合或做邏輯判斷。例如,基于一個或多個上一編碼的幀,所述RDO模塊1010可以確定當(dāng)前正在編碼的幀(或條帶)如何分割成多個編碼單元(CU)以及一個CU如何分割為一個或多個預(yù)測單元(PU)和變換單元(TU)。CU、PU和TU是HEVC中使用的各種類型的塊。此外,所述RDO模塊1010可以確定當(dāng)前幀是如何被預(yù)測的。所述當(dāng)前幀可以通過幀間和/或幀內(nèi)預(yù)測的方式進行預(yù)測。對于幀內(nèi)預(yù)測來說,HEVC中有多個可用的預(yù)測模式或方向(例如,圖1中的35種模式和DMM模式),所述RDO模塊1010可以確定出最佳模式。例如,所述RDO模塊1010可以為每個預(yù)測模式計算絕對誤差總和(SAE),并選擇產(chǎn)生最小SAE的預(yù)測模式。所述預(yù)測模塊1020可以利用參考幀來進行幀間預(yù)測或者利用當(dāng)前幀中的參考像素點來進行幀內(nèi)預(yù)測。在一實施例中,所述預(yù)測模塊1020用于為來自所述輸入視頻的當(dāng)前塊計算一個預(yù)測塊。所述預(yù)測塊包括多個預(yù)測樣本,每個預(yù)測樣本可以基于位于所述當(dāng)前塊的左側(cè)和上方的相鄰塊(已解碼的)的多個重建樣本生成。在生成所述預(yù)測塊后,所述預(yù)測塊減去所述當(dāng)前塊,或反之亦然,從而生成殘差塊。所述殘差塊可以送入所述變換模塊1030中,由所述變換模塊1030將殘差色度樣本變換為變換系數(shù)矩陣。所述變換可以是二維正交變換,如離散余弦變換(DCT)。然后,所述變換系數(shù)矩陣在送入所述熵編碼器1050之前由所述量化模塊1040進行量化。所述量化模塊1040可以改變所述變換系數(shù)的大小并使它們成為取整,這可以降低非零變換系數(shù)的數(shù)量。這樣,可以增加壓縮比率。所述熵編碼器1050對量化的變換系數(shù)進行掃描并編譯為編碼比特流。進一步地,為了方便色度塊的持續(xù)編碼,將所述量化的變換系數(shù)送入所述反量化模塊1060中以恢復(fù)所述變換系數(shù)的原始大小。然后,所述反變換模塊1070可以執(zhí)行所述變換模塊1030的相反操作并生成所述原始殘差塊的嘈雜版本。再接著,將所述殘差塊送入所述重建模塊1080,所述重建模塊1080可以為將來的色度塊的幀內(nèi)預(yù)測生成重建的亮度和/或色度樣本。如果需要的話,在所述重建的樣本用于幀內(nèi)預(yù)測之前可對其進行濾波。圖10是視頻編碼器的簡單描述,可以只包括在所述視頻編碼器呈現(xiàn)的一部分模塊。本領(lǐng)域技術(shù)人員應(yīng)該理解其它模塊(例如,濾波器、掃描器和發(fā)射器)盡管沒有在圖10中顯示出來,但也可以用來幫助進行視頻編碼。此外,依靠編碼方案,可以省去視頻編碼器的一些模塊。例如,在特定視頻內(nèi)容的無損編碼中,不允許有信息丟失,因此,可以省去所述量化模塊1040和所述反量化模塊1060。又例如,如果所述殘差塊直接編碼而不需要變換成變換系數(shù),則可以省去所述變換模塊1030和所述反變換模塊1070。而且,所述已編碼的比特流在從編碼器傳輸之前可以包括其他信息,如視頻分辨率、幀率、塊分割信息(大小和坐標(biāo))和預(yù)測模式等,因此編碼的視頻幀序列可以由視頻解碼器進行適當(dāng)?shù)亟獯a。圖11示出了視頻解碼器1100的實施例,用來實現(xiàn)已公開的幀內(nèi)預(yù)測實施例。所述視頻解碼器1100對應(yīng)所述視頻編碼器1000,包括圖11所示設(shè)置的熵解碼器1110、反量化模塊1120、反傳輸模塊1130、預(yù)測模塊1140和重建模塊1150。在操作中,所述熵解碼器1110接收包含視頻幀序列信息的編碼比特流,并將所述比特流解碼成無壓縮格式。然后,生成一個量化的變換系數(shù)矩陣并送入所述反量化模塊1120中。所述反量化模塊1120可以和圖10中的反量化模塊1060相同或相似。接著,把所述反量化模塊1120的輸出送入所述反變換模塊1130,所述反變換模塊1130將變換系數(shù)變換成殘差塊的殘差值。此外,所述熵解碼器1110還對包含當(dāng)前塊的預(yù)測模式(如,定向幀內(nèi)預(yù)測模式)的信息進行解碼?;谒鲱A(yù)測模式,所述預(yù)測模塊1140可生成當(dāng)前塊的預(yù)測塊。在一實施例中,所述預(yù)測模塊1140用于使用公開的參考樣本選擇和/或濾波實施例。所述預(yù)測塊包括多個預(yù)測樣本,每個預(yù)測樣本可以基于位于所述當(dāng)前塊的左側(cè)和上方相鄰塊(已解碼的)的多個重建樣本進行生成。在所述當(dāng)前塊的預(yù)測塊生成以后,所述重建模塊1150可以將所述殘差色度塊和所述預(yù)測塊組合從而生成一個重建塊。此外,為了便于持續(xù)解碼,所述重建塊的部分樣本還可以作為用來對同一視頻條帶或幀中的將來塊進行幀內(nèi)預(yù)測的參考像素點。圖12為幀內(nèi)預(yù)測方法1200的實施例的流程圖,該方法由3D-HEVC視頻編解碼器(如,所述編碼器1000或所述解碼器1100)執(zhí)行。所述方法1200開始于步驟1210:所述編解碼器中的處理器或收發(fā)器接收當(dāng)前塊的多個相鄰樣本。所述相鄰樣本包括位于左下相鄰塊的右下角的第一樣本(例如,圖7A中的樣本742)以及位于右上相鄰塊的右下角的第二樣本(例如,圖7A中的樣本752)。步驟1220:所述處理器或收發(fā)器接收分割模式,所述分割模式指示了當(dāng)前塊分割成分區(qū)0(P0)和分區(qū)1(P1)。為了滿足情形1(如圖6A、7A-7C和8A-8C),所述分區(qū)0至少包括所述當(dāng)前塊的右上、左上和左下角樣本。步驟1230:所述處理器選擇所述第一樣本和所述第二樣本中的一個作為分區(qū)1幀內(nèi)預(yù)測的參考樣本。在一實施例中,所述相鄰樣本表示為x=-1且y=-1..nTbS*2-1以及x=0..nTbS*2–1且y=-1的p[x][y],其中nTbs指示所述當(dāng)前塊的大小。所述第一和第二樣本分別表示為p[-1][nTbS*2-1]和p[nTbS*2-1][-1]。在步驟1230中,對所述參考樣本的選擇基于樣本p[-1][0]和p[-1][nTbS*2-1]之間的第一絕對差值以及樣本p[0][-1]和p[nTbS*2-1][-1]之間的第二絕對差值。進一步地,所述第一和第二絕對差值可以分別標(biāo)示為vertAbsDiff和horAbsDiff,并通過上述運算(6)和(7)來計算。在一實施例中,所述參考樣本用作DC平均值,標(biāo)示為dcValBR,通過上述運算(8)來計算。上述方案可在任意通用計算機系統(tǒng)上實施,例如計算機或網(wǎng)絡(luò)部件,其具有足夠的處理能力、存儲資源以及網(wǎng)絡(luò)吞吐能力來處理其上的必要工作負荷。圖13示出了通用計算機系統(tǒng)1300的示意圖,其適用于實施本文所公開的方法的一項或多項實施例,例如,視頻編碼器1000、視頻解碼器1100以及內(nèi)預(yù)測方法1200。計算機系統(tǒng)1300包括處理器1302(其可以稱為中央處理器單元或CPU),所述處理器與包括以下項的存儲設(shè)備進行通信:輔助存儲器1304、只讀存儲器(簡稱ROM)1306、隨機存取存儲器(簡稱RAM)1308、發(fā)射器/接收器1310、輸入/輸出(簡稱I/O)設(shè)備1312。盡管處理器1302被圖示為單個處理器,但是它并非受到此類限制而是可以包括多個處理器。所述處理器1302可用作一個或多個中央處理器(簡稱CPU)芯片、核芯(例如,多核處理器)、現(xiàn)場可編程門陣列(簡稱FPGA)、專用集成電路(簡稱ASIC)和/或數(shù)字信號處理器(簡稱DSP)予以實現(xiàn)。處理器1302可用于實施本文所描述的任一方案,例如,方案700、770、790、800、850以及方法1200。處理器1302可以使用硬件、軟件或兩者結(jié)合來實施。所述處理器1302包括預(yù)測模塊1303,其與所述預(yù)測模塊1020相似。所述預(yù)測模塊1303可以實現(xiàn)此處公開的用于在3D-HEVC中的深度圖幀內(nèi)預(yù)測的參考樣本選擇/濾波技術(shù)。輔助存儲器1304通常包括一個或多個磁盤驅(qū)動器或磁帶驅(qū)動器,用于數(shù)據(jù)的非易失性存儲,而且如果RAM1308的容量不足以存儲所有工作數(shù)據(jù),所述輔助存儲器則用作溢流數(shù)據(jù)存儲設(shè)備。輔助存儲器1304可用于存儲程序,當(dāng)選擇執(zhí)行這些程序時,所述程序?qū)⒓虞d到RAM1308中。TheROM1306isusedtostoreinstructionsandperhapsdatathatarereadduringprogramexecution.<}100{>所述ROM1306用于存儲指令以及可能在程序執(zhí)行期間讀取的數(shù)據(jù)。ROM1306為非易失性存儲設(shè)備,其存儲容量相對于輔助存儲器1304的較大存儲容量而言通常較小。RAM1308用于存儲易失性數(shù)據(jù),還可能用于存儲指令。訪問ROM1306和RAM1308通常比訪問輔助存儲器1304要快。輔助存儲器1304、ROM1306和/或RAM1308可以是非瞬時計算機可讀介質(zhì),可以不包括瞬時、傳播的信號。輔助存儲器1304、ROM1306或RAM1308中的任意一個可以稱為存儲器,或這些模塊可以統(tǒng)稱為存儲器。發(fā)射器/接收器1310可用作計算機系統(tǒng)1300的輸出和/或輸入設(shè)備。例如,如果發(fā)射器/接收器1310用作發(fā)射器,其可將數(shù)據(jù)傳出計算機系統(tǒng)1300。如果發(fā)射器/接收器1310用作接收器,其可將數(shù)據(jù)傳入計算機系統(tǒng)1300。發(fā)射器/接收器1310可采用以下形式:調(diào)制解調(diào)器、調(diào)制解調(diào)器組、以太網(wǎng)卡、通用串行總線(簡稱USB)接口卡、串行接口、令牌環(huán)卡、光纖分布式數(shù)據(jù)接口(簡稱FDDI)卡、無線局域網(wǎng)(簡稱WLAN)卡和無線收發(fā)器卡例如碼分多址(簡稱CDMA)、全球移動通信系統(tǒng)(簡稱GSM)、長期演進(簡稱LTE)、全球微波接入互操作性(簡稱WiMAX)和/或其它空中接口協(xié)議無線收發(fā)器卡,以及其它公知網(wǎng)絡(luò)設(shè)備。發(fā)射器/接收器1310可使處理器1302與因特網(wǎng)或一個或多個內(nèi)網(wǎng)通信。I/O設(shè)備1312可包括視頻監(jiān)控器,液晶顯示器(簡稱LCD),觸屏顯示器,或其它類型的用于顯示視頻的視頻顯示器,也可包含捕獲視頻的視頻錄像設(shè)備。I/O設(shè)備1312可包括一個或多個鍵盤、鼠標(biāo)、軌跡球或其它公知的輸入設(shè)備。應(yīng)理解,通過將可執(zhí)行指令編程和/或加載至計算機系統(tǒng)1300,處理器1302、RAM1308和ROM1306中的至少之一被改變,將計算機系統(tǒng)1300的一部分變換成特定機器或裝置,例如,本發(fā)明宣揚的擁有新穎功能的視頻編解碼器。對于電力工程及軟件工程技術(shù)來說基本的是,可通過將可執(zhí)行軟件加載到計算機中而實施的功能性可通過熟知設(shè)計規(guī)則而變換為硬件實施方案。在軟件還是硬件中實施概念之間的決策通常取決于與設(shè)計的穩(wěn)定性及待產(chǎn)生的單元的數(shù)目的考慮,而與從軟件域轉(zhuǎn)譯到硬件域所涉及的任何問題無關(guān)。通常,仍在經(jīng)受頻繁改變的設(shè)計可以優(yōu)選在軟件中實施,因為重新設(shè)計硬件實施方案比重新設(shè)計軟件設(shè)計更為昂貴。通常,穩(wěn)定及大規(guī)模生產(chǎn)的設(shè)計更適于在如專用集成電路(簡稱ASIC)這樣的硬件中實施,因為運行硬件實施的大規(guī)模生產(chǎn)比軟件實施更為便宜。通常,一個設(shè)計可以軟件形式開發(fā)及測試,且稍后通過熟知設(shè)計規(guī)則變換為對軟件的指令進行硬連線的專用集成電路中的等效硬件實施方案。由新ASIC控制的機器是一特定的機器或裝置,同樣地,編程和/或加載有可執(zhí)行指令的電腦可視為特定的機器或裝置。應(yīng)理解的是,本發(fā)明中的任何處理可以通過計算機系統(tǒng)(如,視頻編碼器1000或解碼器1100)中的處理器(如,計算機系統(tǒng)內(nèi)部的通用CPU)執(zhí)行計算機程序來實現(xiàn)。在此情況下,可以向計算機或使用任何類型的非暫時性計算機可讀媒體的網(wǎng)絡(luò)設(shè)備提供計算機程序產(chǎn)品。計算機程序產(chǎn)品可以存儲于計算機或網(wǎng)絡(luò)設(shè)備中的非暫時性計算機可讀媒體中。非暫時性計算機可讀媒體包含任何類型的有形存儲媒體。非瞬時計算機可讀介質(zhì)的示例包括磁存儲介質(zhì)(例如,軟盤、磁帶、硬盤驅(qū)動器等)、光磁存儲介質(zhì)(例如,磁光盤)、只讀光盤(簡稱CD-ROM)、可錄光盤(簡稱CD-R)、可寫光盤(簡稱CD-R/W)、數(shù)字多功能光盤(簡稱DVD)、藍光(簡稱注冊商標(biāo))光盤(簡稱BD)和半導(dǎo)體存儲器備(例如,掩模型ROM、可編程ROM(簡稱PROM)、可擦除PROM、閃存ROM和RAM)。還可以向計算機或使用任何類型的暫時性計算機可讀媒體的網(wǎng)絡(luò)設(shè)備提供計算機程序產(chǎn)品。暫時性計算機可讀媒體的實例包含電信號、光信號和電磁波。暫時性計算機可讀媒體可以經(jīng)由有線通信線(例如,電線和光纖)或無線通信線向計算機提供程序。雖然本發(fā)明多個具體實施例,但應(yīng)當(dāng)理解,所公開的系統(tǒng)和方法也可通過其它多種具體形式體現(xiàn),而不會脫離本發(fā)明的精神或范圍。本發(fā)明的實例應(yīng)被視為說明性而非限制性的,且本發(fā)明并不限于本文本所給出的細節(jié)。例如,各種元件或部件可以在另一系統(tǒng)中組合或合并,或者某些特征可以省略或不實施。此外,在不脫離本發(fā)明的范圍的情況下,各種實施例中描述和說明為離散或單獨的技術(shù)、系統(tǒng)、子系統(tǒng)和方法可以與其它系統(tǒng)、模塊、技術(shù)或方法進行組合或合并。展示或論述為彼此耦合或直接耦合或通信的其它項也可以采用電方式、機械方式或其它方式通過某一接口、設(shè)備或中間部件間接地耦合或通信。其它變更、替換、更替示例對本領(lǐng)域技術(shù)人員而言是顯而易見的,均不脫離此處公開的精神和范圍。當(dāng)前第1頁1 2 3