具有新穎的幀內預測解碼多標準視頻譯碼器的制造方法
【專利摘要】一種在用于譯碼在兩個不同視頻編碼標準中編碼的兩個視頻串流的一視頻譯碼器中用于多標準幀內預測解碼的設備被揭露。上述設備包括一第一幀內預測譯碼器,用以解碼包括一或多個第一幀內預測編碼區塊的一第一位串流,以及一第二幀內預測譯碼器,用以解碼包括一或多個第二幀內預測編碼區塊的一第二位串流。上述第一幀內預測編碼區塊根據一第一視頻編碼標準所編碼,及上述第二幀內預測編碼區塊根據一第二視頻編碼標準所編碼。上述第一幀內預測譯碼器及上述第二幀內預測編碼器被安排用以通過譯碼在一圖片級、一切片級、或一最大編碼單元/宏塊(macroblock,MB)級同時在上述兩視頻串流中執行幀內預測譯碼。
【專利說明】
具有新穎的幀內預測解碼多標準視頻譯碼器
【技術領域】
[0001]本揭露關于多標準視頻譯碼系統。且特別地,本揭露為有關于面積高效率或高性能幀內預測譯碼的設計以支持由不同視頻編碼標準所要求的不同幀內預測譯碼器。
【【背景技術】】
[0002]視頻數據需要大量的儲存空間來儲存或一寬的帶寬來傳輸。隨著日益增長的高分辨率(resolut1n)和高幀率(frame rate),如果視頻數據被以未壓縮的形式儲存或傳輸,儲存或傳輸帶寬的需求將是巨大的。因此,視頻數據通常使用一視頻編碼技術以一壓縮格式被儲存或被傳輸。編碼效率已使用較新的視頻編碼標準,像是H.264/AVC及新興的HEVC(High Efficiency Video Coding)(高效視頻編碼)標準而大幅改善。為了維持可管理的復雜性,一影像常被分為多個區塊(例如宏塊(Macroblock,MB)或最大編碼單元(LargestCoding Unit,IXU)/編碼單元(Coding UnitXU)),以應用視頻編碼。視頻編碼標準通常在一區塊基礎上采用自適應的幀間/幀內預測。
[0003 ]圖1顯示一支持HE VC視頻標準的視頻譯碼器1 O的一示例性的系統方塊圖。HE VC(High Efficiency Video Coding)(高效視頻編碼)系由視頻編碼的聯合協作小組(JointCollaborative Team on Video Coding,JCT-VC)所研發的一種新的國際視頻編碼標準。HEVC系基于混合區塊基礎的運動補償DCT-型(DCT-1ike)變換的編碼架構。壓縮的基本單位(稱為編碼單元(coding unit,⑶))是一2NX2N的平方區塊。一編碼單元可開始于一最大編碼單元(largest QJ,IXU)(其在HEVC中也被稱為編碼樹單元(coded tree unit,CTU))且每一編碼單元可遞歸地分割成四個更小的編碼單元,直到達到一個預定義的最小尺寸為止。一旦編碼單元分層樹(hierarchical tree)的分割完成后,每一編碼單元進一步根據預測類型及預測單元分割被分成的一或多個預測單元(predict1n unit,PU)。每一編碼單元或每一編碼單元的殘值(residual)被分為一轉換單元(Transform units,TUs)樹,以應用二維(two-dimens1nal,2D)轉換。
[0004]在圖1中,輸入視頻比特流首先通過使用熵譯碼引擎(entropy decoding engine)110的可變長度譯碼器(variable length decoder,VLD)被處理,以執行可變長度譯碼及語法分析(syntax parsing)。經分析的語法可對應外部/內部殘值信號(來自熵譯碼引擎110中的較上方的輸出路徑)或運動信息(來自熵譯碼引擎110較下方的輸出路徑)。殘值信號通常被轉換編碼。因此,編碼殘值信號由逆掃描(inverse scan,IS)/逆量化(inversequantizat1n,IQ)方塊112,以及逆轉換(inverse transform, IT)方塊114所處理。逆轉換(inverse transform,IT)方塊114的輸出對應重建殘值信號。重建殘值信號連同來自幀內預測方塊118中用于一幀內編碼區塊的幀內預測或來自運動補償方塊120中用于一幀間編碼區塊的幀間預測被加到重建方塊116中。其中,來自幀內預測方塊118中用于一幀內編碼區塊的幀內預測或來自運動補償方塊120中用于一幀間編碼區塊的幀間預測是通過幀間/幀內選擇方塊122所選。幀間/幀內選擇方塊122選擇用于重建視頻信號的幀內預測或幀間預測取決于上述區是否為幀間或幀內編碼。對于運動補償,上述處理將存取儲存在已編碼圖像緩沖器124中的一或多個參考區塊及由運動向量(mot1n vector,MV)產生方塊126所決定的運動向量。為了改善視覺質量,去塊濾波器128及取樣自適應偏移(Sample Adaptive0ffset,SA0)濾波器(130)被用以在已重建視頻被儲存在譯碼圖像緩沖器124之前,處理已重建視頻。對于H.264/AVC的標準中,只有去塊濾波器(deblocking f ilter,DF)被使用,無須取樣自適應偏移濾波器。
[0005]除了使用H.264/AVC和HEVC視頻編碼標準,也具有其他的格式被使用,像是WMV(Windows media Video)及VP8/VP9。另一方面,AVS視頻編碼由中國所開發的一種視頻編碼標準且其格式被廣泛使用在中國。用于AVS的視頻編碼工具集類似用于H.264/AVC的視頻編碼工具集。然而,AVS的復雜性與H.264/AVC標準相比大大降低。盡管如此,AVS的編碼性能比得上H.264/AVC的編碼性能。
[0006]由于在各種視頻編碼格式壓縮視頻的共存,一視頻譯碼器必須解碼各種視頻格式,以使使用者觀看以不同視頻編碼格式編碼的視頻內容。此外,可能需要同時進行譯碼以不同視頻編碼格式所編碼之兩種已壓縮視頻編碼數據。舉例來說,一使用者可以一主/副圖像或分割屏幕方式下觀看顯示于一電視屏幕上兩個視頻序列,其中一序列系以一視頻編碼格式編碼,而另一序列以一不同格式所編碼。
[0007]圖2顯示一具有內建音頻/視頻譯碼器的一典型的電視系統。如圖2所示,該系統使用一CPU總線及動態隨機存取內存(dynamic random access memory,DRAM)總線。夕卜部內存(210)用于儲存用于視頻譯碼的參考圖像、用于顯示和其它數據的譯碼圖像。外部內存通常使用動態隨機存取內存(dynamic random access memory,DRAM)及外部內存存取引擎(220)被用以連接外部內存儲存器至數據總線。該系統可包括一 CPU(230)、一視頻譯碼器(240)、一音頻引擎(250)和一顯示引擎(260)。視頻譯碼器將執行壓縮視頻數據的視頻譯碼任務。音頻引擎將執行將已壓縮音頻數據的音頻譯碼任務。音頻引擎還可以支持其他音頻任務,像是產生用于使用者界面的音頻提示。顯示引擎負責處理視頻顯示及產生顯示信息。舉例來說,該顯示引擎可以產生用于用戶界面的圖形或文字信息。該顯示引擎也負責合并用于主窗口及副窗口口顯示、或分割屏幕顯示的兩個已譯碼視頻數據。該CPU可被用以初始化系統、控制其他子系統、或提供用于該電視系統的用戶界面。
[0008]為了同時支持多標準視頻譯碼及顯示,上述視頻譯碼系統可被配置用以譯碼一已編碼的視頻數據,接著切換至譯碼另一已編碼的視頻數據。舉例來說,如果視頻譯碼器系統需要同時譯碼以HEVC格式編碼的一第一視頻位串流及以AVS格式編碼的一第二視頻位串流時,該譯碼器系統可譯碼一 HEVC圖像,并切換至譯碼一 AVS圖片。已譯碼的HEVC圖像和AVS圖像可暫存在輸出圖像緩沖器中。顯示引擎可存取用于畫中畫顯示或分割屏幕顯示的圖像。
[0009]在視頻編碼中,由于幀間預測經常無法呈現合理的預測,因此幀內預測模式通常用于場景變換。幀內預測也被周期性地用于一視頻序列中,以緩解錯誤傳播的問題。
[0010]對于根據HEVC的幀內預測譯碼,相鄰區塊的已譯碼邊界取樣被使用作為用于一當前區塊空間預測的參考數據。在一預測單元(PU)內所有轉換單元(TU)使用相同關聯用于亮度分量和色度分量的幀內預測模式。編碼器從對應33種方向預測模式、一 DC模式和一平面模式的35種選擇中選擇每一預測單元的最佳亮度幀內預測模式。33種可能的幀內預測方向顯示于圖4,其中平面模式被映像至幀內預測模式號碼O,而DC模式被映像至幀內預測模式號碼I。在HEVC中,最大編碼單元可設置為64X64、32X32或16 X 16。依據不同編碼單元的大小,用于一給定編碼單元的最大預測單元大小可為64 X 64、32 X 32或16 X 16。對于每一編碼單元,殘值可在幀間或幀內預測被應用在編碼單元中的預測單元后被推導。在一編碼單元中的殘值可根據殘量四分樹(residual quadtree partit1n)接著分為轉換單元樹。允許的轉換單元樹大小為32 X 32、16 X 16、8 X 8和4x4。
[0011]對于幀內預測,在當前區塊中用于取樣的預測子(例如,轉換單元樹)使用在最頂區塊邊界上重建相鄰樣本和相鄰左邊區塊邊界上重建相鄰樣本來推導。由于各角度幀內預測(Angular Intra Predict1n)被支持,在最頂區塊邊界上重建相鄰樣本可延伸至右邊區塊的最頂區塊邊界上,或是下面區塊的相鄰左邊區塊邊界上。在重建相鄰樣本被用以推導當前區塊的預測子前,重建相鄰樣本可由具有對應(1/4,1/2,1/4)的權重因子的一 FIR濾波器預先處理。此FIR濾波器被稱為預過濾器或相鄰預過濾器。該平滑操作是否被使用系依據轉換單元大小及幀內預測模式。當前區塊的預測子接著根據所選擇的幀內預測模式所推導出。在初始幀內預測樣本產生后,當幀內預測模式為DC、水平或垂直模式時,幀內梯度過濾器或幀內預測平滑濾波器被進一步應用在當前轉換單元內最左列及最上方一行的初始幀內預測樣本中。該HEVC標準也支持約束幀內預測(constrained Intra predict1n),其中,如果重建相鄰樣本為幀間編碼時,則這些重建相鄰樣本被認為是不可用的。約束幀內預測可幫助減輕因幀間編碼樣本使用的錯誤傳播以推導幀內預測子。
[0012]對于AVS,幀內預測模式與HEVC和H.264/AVC相比已降低了復雜度。AVS采用宏塊(11^(^01310^^,]\?)/區塊結構,其中上述冊大小為16\16且區塊大小為8\8。幀內預測被應用在使用重構相鄰樣本的每一8 X 8區塊,如圖5所示。AVS幀內預測支持對應垂直、水平、對角線右下角、對角線左下角和DC模式的5種幀內預測模式,如圖5所示。在重建相鄰樣本被用以推導當前區塊的預測子前,具有對應(1/4,1/2,1/4)權重的一過濾器被應用于重建相鄰樣本中。對于色度分量,只有4個對應垂直、水平、DC和平面模式的幀內預測模式被使用。HEVC的幀內預測由用于亮度信號且包括類似AVS視頻編碼標準五種幀內預測模式的五種幀內預測模式的多個幀內預測模式,以及用于色度信號且包括類似AVS視頻編碼標準四種幀內預測模式的四種幀內預測模式的多個幀內預測模式所組成。而HEVC和AVS共享一些相似的幀內預測模式,一些詳細的處理可不用相同。類似HEVC,在最上方區塊邊界上的重建相鄰區塊被延伸至最右邊區塊,并且相鄰最左邊區塊邊界的重建相鄰區塊被延伸至最下面的區塊,如圖5所不。
[0013]對于幀內預測,重建相鄰樣本可能無法使用。這可能發生在任何視頻編碼標準中。經常用以處理無法使用的參考樣本技術系為數據填充,其中現有重建樣本或預定義的值可被用以填充無法使用的樣本。
[0014]如以上所討論,HEVC和AVC皆使用幀內預測,而這兩個幀內預測方案略有不同。一簡單的實施方式為支持雙標準的幀內預測會使用兩個獨立的幀內預測模塊。研發芯片面積高效或高性能的多標準幀內預測譯碼器是迫切需要的。
【
【發明內容】
】
[0015]一種在用于譯碼在兩個不同視頻編碼標準中編碼的兩個視頻串流的一視頻譯碼器中用于多標準幀內預測解碼的設備被揭露。上述設備包括一第一幀內預測譯碼器(用以解碼包括一或多個第一幀內預測編碼區塊的一第一位串流)以及一第二幀內預測譯碼器(用以解碼包括一或多個第二幀內預測編碼區塊的一第二位串流)。上述第一幀內預測編碼區塊根據一第一視頻編碼標準所編碼,及上述第二幀內預測編碼區塊根據一第二視頻編碼標準所編碼。上述第一幀內預測譯碼器及上述第二幀內預測編碼器被安排用以由交錯(inan interleaved manner)在一圖片級(picture level)、一切片級(slice level)、或一最大編碼單元(Largest Coding Unit,IXU)/宏塊(macroblock,MB)級解碼,以同時在上述兩視頻串流中執行幀內預測譯碼。每一上述第一幀內預測譯碼器和上述第二幀內預測譯碼器各別包括以下一相應的參考數據準備單元、一相應的相鄰樣本填充單元、一相應的預過濾器、一相應的幀內預測產生單元及一相應的重建數據合并單元。至少用于上述兩相應的幀內預測譯碼器部分地使用一共同電路。
[0016]上述第一及第二視頻編碼標準對應AVS視頻編碼標準且HEVC(高效視頻編碼)視頻編碼標準。AVS視頻編碼標準在一 16X16宏塊中的每一 8X8區塊應用幀內預測。另一方面,上述HEVC視頻編碼標準于包括8 X 8的多個預測單元(predict1n unit,PU)大小應用幀內預測,且每一預測單元為自在包括16 X 16的一最大編碼單元(IXU)中之一編碼單元(codingunit,CU)所分割。上述AVS視頻編碼標準的上述幀內預測由包括用于一亮度信號對應的DC、水平、垂直、對角線右下角和對角線左下角模式的五個幀內預測模式,以及用于一色度信號對應的DC、水平、垂直和平面模式的四個幀內預測模式所組成。用于上述HEVC視頻編碼標準的上述幀內預測由包括類似上述AVS視頻編碼標準的上述五個預測模式的五個幀內預測模式的用于上述亮度信號的多個幀內預測模式,以及包括類似上述AVS視頻編碼標準的上述四個預測模式的四個幀內預測模式的用于上述色度信號的多個幀內預測模式所組成。
[0017]在一實施例中,當上述HEVC視頻編碼標準使用8 X 8預測單元及16 X 16最大編碼單元時,上述第一參考數據準備單元及上述第二參考數據準備單元全部或部分地使用一共同參考數據準備單元。在另一實施例中,當上述HEVC視頻編碼標準使用8 X 8預測單元與16 X16最大編碼單元,且上述相應的所選幀內預測模式皆對應用于上述AVS視頻編碼標準及上述HEVC視頻編碼標準的水平或垂直模式時,上述第一幀內預測產生單元和上述第二幀內預測產生單元全部或部分地使用一共同幀內預測產生單元。在又另一實施例中,當上述HEVC視頻編碼標準使用8X8預測單元與16X16最大編碼單元,且上述相應的所選幀內預測模式皆對應用于上述AVS視頻編碼標準及上述HEVC視頻編碼標準的一對角線模式時,上述第一幀內預測產生單元和上述第二幀內預測產生單元使用部份共同幀內預測產生單元。
[0018]在一實施例中,當上述HEVC視頻編碼標準使用8 X 8預測單元與16 X 16最大編碼單元,且上述相應的所選幀內預測模式對應用于上述AVS視頻編碼標準的一 DC模式及用于上述HEVC視頻編碼標準的一平面模式時,上述第一幀內預測產生單元和上述第二幀內預測產生單元使用一或多個共同加法器。在另一實施例中,當上述HEVC視頻編碼標準使用8X8預測單元與16 X 16最大編碼單元,且用于上述HEVC視頻編碼標準的一濾波器標志被設置以正常濾波時,上述第一預過濾單元及上述第二預過濾單元共同或部份地使用一共同預過濾單元。在又另一實施例中,當上述HEVC視頻編碼標準使用8 X 8預測單元與16 X 16最大編碼單元時,上述第一預過濾單元及上述第二預過濾單元從使用相同數據存取設置的一共同相鄰緩沖器中擷取上述各幀內預測的上述相應的相鄰參考樣本。
[0019]上述第一幀內預測譯碼器及上述第二幀內預測譯碼器使用一共同相鄰緩沖器以儲存用于上述各幀內預測的上述相應的相鄰參考樣本。在一最大編碼單元或宏塊的一最底列(row)中之上述相應的幀內預測重建樣本被儲存于一后續的最大編碼單元或宏塊列中的上述共同相鄰緩沖器以存取用于上述各幀內預測。
[0020]—多標準幀內預測解碼的對應方法亦被揭露,其用于在譯碼在不同視頻編碼標準中編碼的兩個視頻串流的一視頻譯碼器中。
[0021 ] 一種在譯碼以AVC及HEVC視頻編碼標準編碼的兩個視頻串流且使用一或多個處理組件(processing elements,PEs)的一視頻譯碼器中用于多標準幀內預測解碼的設備被揭露。上述設備也包括一預測選擇單元,耦接至上述處理組件,用以提供相應的幀內預測子至用于相應的視頻編碼標準的幀內預測譯碼的上述處理組件。上述設備也包括一處理組件參數選擇單元,耦接至上述處理組件,用以提供處理組件參數以配置上述處理組件對一對應的視頻編碼標準中所編碼的一視頻串流譯碼。為了有效地使用處理組件,對于由上述AVS視頻編碼標準所支持之區塊大小及幀內預測模式,上述AVS視頻編碼標準及上述HEVC視頻編碼標準皆共享相同的處理組件配置及相同的處理組件參數選擇以執行上述幀內預測譯碼。
【【附圖說明】】
[0022]圖1顯示一支持HEVC(高效視頻編碼)視頻標準的一視頻譯碼器的一示例性的系統方塊圖。
[0023]圖2顯示一具有內建音頻/視頻譯碼器的一典型的電視系統。
[0024]圖3A顯示一圖像級來源切換程序的一范例,其中上述譯碼器來源在AVS和HEVC位串流間切換。
[0025]圖3B顯示一切片級來源切換程序的一范例,其中上述譯碼器來源在AVS和HEVC位串流間切換。
[0026]圖4顯示33種幀內預測方向,其包括根據HEVC(高效視頻編碼)視頻標準中33種角度方向模式、平面模式跟DC模式。
[0027]圖5顯示根據AVS標準的幀內預測區塊大小(8X8)及用于亮度分量的五種幀內預測模式(垂直、水平、對角線右下角、對角線左下角和DC)。
[0028]圖6顯示具有可在圖片級、切片級或最大編碼單元/宏塊級切換以支持HEVC和AVS編碼標準一幀內預測譯碼器的一流程圖的范例。
[0029]圖7顯示根據本發明一實施例之用于具有圖片級、切片級或最大編碼單元/宏塊級切換以支持HEVC和AVS編碼標準的幀內預測譯碼器一流程圖的范例。
[0030]圖8A顯示根據本發明一實施例的一多標準幀內預測譯碼器的一示例性方塊圖。
[0031]圖SB顯示類似于圖8A的另一實施例。然而,代替兩分開的幀內預測產生器,共同幀內預測產生器在一處理模塊中實施,且在其它情況下則在另一處理模塊中實現。
[0032]圖9顯示根據本發明一實施例的使用一或多個處理組件的多標準幀內預測譯碼器的一范例。
[0033]圖中,符號說明如下
[0034]100視頻譯碼器
[0035]HO熵譯碼引擎
[0036]112逆掃描/逆量化
[0037]114逆轉換
[0038]116 重建
[0039]118幀內預測
[0040]120運動補償
[0041]122幀間/幀內選擇
[0042]124參考幀緩沖器
[0043]126運動向量產生
[0044]128去塊濾波器
[0045]130取樣自適應偏移濾波器
[0046]210外部內存儲存器
[0047]220外部內存存取引擎
[0048]230 CPU
[0049]240視頻譯碼器
[0050]250音頻引擎[0051 ]260顯示引擎
[0052]610、620、622、624、626、628、630、632、634、636、638 步驟
[0053]710、710、720、730、740、750、760、770、780、790 步驟
[0054]810預測子緩沖區
[0055]820預測子選擇
[0056]830 相鄰區塊填充
[0057]840 相鄰區塊預過濾器
[0058]850-1 HEVC幀內預測子
[0059]850-2 AVS幀內預測子
[0060]850-3 HEVC 8 X 8幀內預測/AVS幀內預測[0061 ]850-4其他HEVC幀內預測
[0062]860 結果緩沖器
[0063]862 加法器
[0064]870 殘值緩沖器
[0065]880 控制緩存器
[0066]882、884、886 選擇器
[0067]890 CPU
[0068]910 處理組件參數
[0069]920 幀內預測處理組件
[0070]【實施方式】
[0071]后面的描述為實施本發明最佳的設想模式。給出此描述的目的用以說明本發明的一般性原理,且不應被理解成做出限制。本發明的范圍系參照所附的權利要求來作最佳地確定。
[0072]為了支持同時多標準影像譯碼及顯示,上述影像譯碼系統可被配置用以譯碼一編碼的影像數據,接著切換至譯碼另一編碼的影像數據。圖3A顯示一圖像級來源切換程序的一范例,其中譯碼器來源在AVS和HEVC位串流間切換。譯碼器來源切換程序也可應用在一切片級,其中該譯碼器系統可譯碼一 AVS切片(slice),接著再切換以解碼至一 HEVC切片。圖3B顯示一切片級來源切換程序的一范例。
[0073]如前所述,一直接用于多標準影像譯碼器的幀內預測譯碼器的方式需要用于所有預期中的譯碼影像標準各別的幀內預測譯碼器。此可能顯著增加系統的成本。因此,期待能開發面積高效(即,更小的硅面積)或高性能用于多標準影像譯碼器的幀內預測譯碼器。圖6顯示具有可在圖片級、切片級或最大編碼單元/宏塊級切換以支持HEVC和AVS編碼標準一幀內預測譯碼器的一流程圖的范例。多標準的幀內預測譯碼器判斷幀內預測解碼是否用于HEVC或AVS,如步驟610所示。如果判斷用于AVS,則執行步驟620至628。如果判斷用于HEVC,則執行步驟630至638。在步驟620和630中,用于AVS幀內預測和HEVC幀內預測的參考樣本分別被識別并擷取。可由其他區塊所使用的當前區塊的幀內預測重建數據也可儲存至一參考數據緩沖器。如果沒有任何可以使用的參考樣本時,則無法使用的樣本在步驟622或632中以一現存或預定的樣本做填充。對AVS或HEVC而言,相鄰的預測子預過濾器(predictorpre-filter)被應用在步驟624或634中。當前區塊的幀內預測在步驟626和636中分別使用用于AVS和HEVC標準的參考樣本來推導。幀內編碼區塊的重建樣本可分別通過合并如步驟628和638所示的用于AVS和HEVC標準的殘值及幀內預測子所組合而成。
[0074]圖7顯示根據本發明一實施例的用于具有圖片級、切片級或最大編碼單元/宏塊級切換以支持HEVC和AVS編碼標準的幀內預測譯碼器一流程圖的范例。
[0075 ]用于AVS切片幀內預測解碼對應用于HE VC幀內預測譯碼的一子集,AVS可使用HE VC處理模塊或部分地使用HEVC模塊。即使在對應AVS和HEVC的幀內預測解碼處理間可能存在一些差異,但AVS仍可通過HEVC使用一些操作。根據圖7的實施例,多標準幀內預測譯碼器盡可能地使用在AVS和HEVC標準間共享的處理模塊。由于HEVC和AVS兩者皆擷取用于參考樣本的相同的重建相鄰樣本,因此「準備預測子」(710)步驟對HEVC和AVS兩者而言皆是相同的。因此,相同的處理模塊,不論其系由硬件或軟件實現,皆可用于HEVC和AVS。在步驟720中,判斷是否需要相鄰填充。若判斷為需要時(即,步驟720的路徑「是」),則在步驟730中執行相鄰填充。否則(即,步驟720的路徑「否」),略過相鄰填充。在步驟740中,判斷是否需要預過濾。如前所述,預過濾僅需用于某些HEVC幀內預測模式。如果判斷需要預過濾時(S卩,步驟740的路徑「是),則預過濾在步驟750中執行,否則(S卩,步驟740的路徑「否」),略過預過濾。如前所述,AVS僅支持用于幀內預測的16 X 16宏塊及8X8區塊。再者,AVS僅支持5種用于亮度分量的幀內預測模式及4種用于色度分量的幀內預測模式。因此,AVS幀內預測模式可視為HEVC幀內預測模式的一子集。故,在步驟760中判斷幀內預測模式是否為一共享幀內預測模式。若結果為「是」,則執行步驟780,其中與共同幀內預測模式相關的幀內預測子被產生用于當前區塊。若結果為「否」,則執行步驟770,其中與其他幀內預測模式相關的幀內預測子被產生用于當前區塊。最后,當前區塊通過合并已產生的幀內預測和殘值被重建,如步驟790所示。由于HEVC和AVS兩者使用相同的幀內預測重建,因此相同的處理模塊將被使用。
[0076]在圖7中,將盡可能的使用共享處理模塊。然而,本發明的其他實施例也可使用僅使用部分的共享處理模塊。舉例來說,一多標準幀內預測譯碼器可在步驟710和步驟790中僅使用共享處理模塊,并在其余處理步驟中使用不同的處理模塊。
[0077]圖8A顯示根據本發明一實施例的一多標準幀內預測譯碼器的一示例性方塊圖。被用以推導幀內預測子之重建樣本儲存在預測子緩沖區810。用以產生幀內預測子的重建樣本由預測子選擇820根據預測子單元(predictor unit,PU)大小、幀內預測模式及區塊位置來決定。所選的幀內預測模式和影像編碼標準(即,HEVC或AVS)可由可接收來自CPU 890信息的控制緩存器(?0111:!'01_代8)880所提供,控制緩存器(00111:1'01_代8)880負責依據預測子單元(PU)大小、幀內預測模式、區塊位置和預測可用性判斷是否需要相鄰填充。若判斷需要填充時,則選擇器882選擇來自相鄰填充830的數據路徑。否則,略過相鄰填充830。若判斷需要相鄰預過濾時,選擇器884選擇來自相鄰預過濾840的數據路徑。否則,略過相鄰預過濾840。無論是否依據預測單元大小、幀內預測模式和區塊位置判斷需要相鄰預過濾,根據當前區塊的影像標準,HEVC幀內預測子850-1或AVS幀內預測子850-2將被產生。選擇器886選擇用于幀內預測重建的相應幀內預測子。來自方塊850-1或850-2的幀內預測子通過使用加法器862合并來自殘值緩沖器870中的殘值。重建樣本接著被儲存至結果緩沖器860中作為進一步地處理使用。圖8A顯示出用于多標準幀內預測解碼所需的處理、控制和內存/緩沖器。圖8A中的某些部分或模塊可視為多標準幀內預測解碼核心的外部。舉例來說,預測子緩沖器(即,810)可為用于儲存用以譯碼參考圖像的部分系統儲存器。因此,該預測子緩沖器不應被視為是多標準幀內預測解碼核心的一部分。同樣地,結果緩沖器860、殘值緩沖器870、控制緩存器880和CPU 890中的一或多個模塊可視為多標準幀內預測解碼核心的外部。
[0078]圖SB顯示類似于圖8A的另一實施例。然而,代替兩分開的幀內預測產生器,共同幀內預測產生器在一處理模塊(850-3)中實施,且在其它情況下則在另一處理模塊(850-4)中實現。如上所述,共同幀內預測對應至在亮度分量的水平、垂直、左下角對角線、右下角對角線和DC模式以及色度分量的DC、垂直、水平和平面的8X8區塊。由于共同幀內預測部分并不需要在兩個幀內預測產生器中重復執行,因此根據圖SB的實施方式甚至比圖8A的實施方式更有效率。
[0079]而圖8A和圖SB顯示用于專用處理模塊以實施幀內預測譯碼所需的功能,多標準幀內預測也可使用一或多個處理組件(process element,PE)被執行。上述處理組件包含執行幀內預測譯碼所需的所有運算符,像是加法器、乘法器、偏移器及箝位器等等。幀內預測模式、預測單元大小和區塊位置信息被用以選擇預測器和處理組件參數。圖9顯示根據本發明一實施例的使用一或多個處理組件的多標準幀內預測譯碼器的一范例。一些模塊與在圖8A和圖SB中的模塊相同。相同的參考編號被分配至這些模塊。在圖9中,處理組件參數方塊910儲存用于配置處理組件的處理組件參數。幀內預測處理組件920被用以實施填充、預過濾和幀內預測產生功能。上述處理組件根據預測單元幀內預測模式、預測單元大小、預測單元位置或其任意組合被配置或選擇以執行多標準幀內預測譯碼的任務。一些重建樣本將作為用于其它區塊幀內預測的參考樣本。因此,這些作為用于其它區塊幀內預測的參考樣本也將被儲存在開關930控制下的預測子緩沖器810。
[0080]如前所述,AVS幀內預測可視為HEVC幀內預測的一子集。與幀內預測參考樣本選擇相關的是,AVS幀內預測被應用于在一 16 X 16宏塊中的每一8 X 8區塊,等同于具有與8 X 8相同預測單元大小及與16X16相同最大編碼單元大小的HEVC幀內預測。因此,這兩種情況下相鄰參考樣本相同,且一共同處理模塊可被用以處理此兩種情況。
[0081]與幀內預測推導相關,除了HEVC應用另外的幀內梯度過濾器(IntraGradientFilter)(也稱為平滑過濾器(smoothing filter))至已產生幀內預測子之外,上述AVS水平和垂直模式幾乎與HEVC 8x8水平和垂直模式相同。對于8x8垂直模式而言,HEVC應用以下過濾處理:
[0082]predSamples[x] [y]=CliplY(p[x][-l] + ((p[-l][y]-p[-l][_l])>>l)) (I)
[0083]其中predSamples[x][y]代表位于(x,y)的幀內預測,p[x][_l]代表在最上方區塊邊界之上的相鄰重建樣本,p[-l][y]代表相鄰最左編區塊邊界的相鄰重建樣本,p[-l][-l]代表左邊上方的相鄰重建樣本,而Cl ip I γ()對應一裁剪(clipping)功能。對于8 X 8水平模式而言,HEVC應用以下過濾處理:
[0084]predSamples[x][y]=Cl ip1γ(ρ[-1][γ] + ((ρ[χ][-1]-ρ[-1][-1])>>1))(2)
[0085]因此,用于AVS水平和垂直模式的幀內預測子推導可共享用于具有刪去幀內梯度過濾的HEVC 8X8水平和垂直模式相同的幀內預測子產生。上述幀內梯度過濾處理可通過一專門的裝置或通過處理組件適當的安排來達成。
[0086]對于幀內預測產生,AVS對角線左下角和對角線右下角模式類似于預測單元等于8X 8的HEVC模式18。因此,一些運算符可在AVC和HEVC之間共享。對于處理組件的基礎架構,AVS可共享HEVC處理組件和處理組件參數選擇,以執行針所有AVS幀內預測模式的所有幀內預測推導。
[0087]AVS DC模式不同于在其他影像編碼標準像是HEVC中的DC模式。然而,AVS DC模式可共享用于HEVC平面模式中的一些運算。根據HEVC平面模式的幀內預測子可表示如下:
[0088]predSamples[x][y]=((nTbS-l_x)p[-l][y]+(x+l)*p[nTbS][_1]+(nTbS_l-y)*p[x][-l]+(y+l)*p[-l][nTbS]+nTbS)?(Log2(nTbS)+l) (3)
[0089]在方程式(3)中,nTbS對應轉換區塊大小。換言之,AVSDC模式系根據如下虛擬程序代碼推導幀內預測:
[0090]如果上方及左邊參考樣本可利用時[0091 ] pred[x,y] = (up,[x+l]+left,[y+l])>>l
[0092]或者只有上方參考樣本可利用時
[0093]pred[x,y] =up,[x+1]
[0094]或者只有左邊參考樣本可利用時
[0095]pred[x,y] = left,[y+1]
[0096]否則
[0097]pred[x,y] = 128
[0098]在上述的虛擬程序代碼中4^(1|^,7]表示位于(1,7)的幀內預測子,卯’[x+1]表示在最上方區塊邊界之上的參考樣本,left’[y+Ι]表示相鄰左邊區塊邊界的參考樣本。如上所示,AVC和HEVC皆使用加法器合并幀內預測數據。因此,相同的加法器可由AVC和HEVC幀內預測所共享。
[0099]對于AVS DC、對角線左下角、對角線右下角模式和具有filterFlag=l的HEVC而言,在所有相鄰參考樣本被用以推導幀內預測子之前,具有過濾器系數(1/4,1/2,1/4)的一過濾處理被應用在所有相鄰參考樣本中。因此,HEVC和AVS可以共享一相同裝置以執行此過濾處理。
[0100]當控制標志(controlf lag)、強幀內平滑啟用標志(strong_intra_smoothing_enabled_flag)等于I且預測單元大小為32 X 32時,HEVC還支援強平滑過濾。上述強過濾處理如下所示:
[0101]1.pF[-l ] [-1 ] = p[-l ] [-1 ]
[0102]2.pF[-l][y] = ((63-y)*p[-l][-l] + (y+l)*p[-l][63]+32)?6,for y = 0,...,62
[0103]3.pF[-l][63]=p[-l][63]
[0104]4.pF[x][-1 ] = ((63_x)*p[_l][-1 ] + (x+l)*p[63][-1 ]+32)>>6,for x = 0,...,62
[0105]5.pF[63][-l]=p[63][-l]
[0106]對于重建幀內編碼樣本,AVS和HEVC皆可使用相同加法器來組合所推導的幀內預測和殘值。
[0107]幀內預測處理使用在最上方區塊邊界上方的重建相鄰樣本。因此,當一區塊被重建時,重建區塊的底部列將被用于上述區塊以下。因此,在一些架構中,相鄰緩沖器被用以更新上方重建結果作為預測子候補。在最大編碼單元/宏塊底部列(row)中的重建樣本系儲存在一緩沖器,稱為相鄰緩沖器,用于下一最大編碼單元/宏塊列的存取。當AVS和HEVC在準備預測子時,AVS和HEVC可共享相同的相鄰緩沖器。特別是,當HEVC的最大編碼單元等于16X 16時,AVS可使用相同的相鄰緩沖訪問機制。
[0108]在提供特定應用及其需求的背景下,以上描述使得本領域技術人員能夠實現本發明。本發明實施方式的各種修飾對于本領域技術人員可清楚了解,且在本文中所定義的基本原理可應用于其他實施方式中。因此,本發明并不局限于以上所顯示及描述的特定實施方式,而應涵蓋與在本文中所揭露的基本原理和新穎性特征一致的最廣范圍。在上述描述中,為提供對于本發明的全面理解,說明了各種特定細節。因此,本領域技術人員可理解本發明是可以實現的。
[0109]平行譯碼器系統也可使用儲存在可讀媒體中的程序代碼來實現。可以使用軟件格式像是Java、C++、XML(可擴展標記語言(extensible Mark-up Language))和其它語言來配置軟件程序代碼,且其它語言可用以定義與執行與本發明相關的功能操作所需的裝置操作相關功能。程序代碼可以寫成不同的形式和風格,其中許多程序代碼為本領域技術人員所習知。不同的程序代碼格式、程序代碼結構、軟件程序的風格和形式和配置程序代碼的其它方式根據本發明微處理器的操作將不脫離本實施例的精神和范圍。軟件程序代碼可在不同類型的裝置,像是筆記本計算機或桌上式計算機、具有處理器或處理邏輯的便攜設備,以及可能的計算機服務器或使用本發明的其他裝置上執行。所描述的實施例在所有方面僅被認為是說明性而非限制性的。因此,本發明的范圍透過所附的權利要求來指示而不是通過前面的描述來指示。所有落入權利要求范圍的等同物的意義和范圍內的改變均被涵蓋在其范圍內。
【主權項】
1.一種在用于譯碼在兩個不同視頻編碼標準中編碼的兩個視頻串流的一視頻譯碼器中,用于多標準幀內預測解碼的設備,上述設備包括: 一第一幀內預測譯碼器,用以譯碼包括一或多個第一幀內預測編碼區塊的一第一位串流,其中上述一或多個第一幀內預測編碼區塊根據一第一視頻編碼標準所編碼; 一第二幀內預測譯碼器,用以譯碼包括一或多個第二幀內預測編碼區塊的一第二位串流,其中上述一或多個第二幀內預測編碼區塊根據一第二視頻編碼標準所編碼;以及每一上述第一幀內預測譯碼器和上述第二幀內預測譯碼器包括: 一相應的參考數據準備單元,用以準備各幀內預測的相應的相鄰參考樣本; 一相應的相鄰樣本填充單元,用以當一或多個相應的相鄰參考樣本不可用于各幀內預測時,填充上述一或多個相應的相鄰參考樣本; 一相應的預過濾器,用以過濾用于上述各幀內預測的上述相應的相鄰參考樣本; 一相應的幀內預測產生單元,用以根據一相應的所選幀內預測模式從上述相應的相鄰參考樣本產生相應的幀內預測子;以及 一相應的重建數據合并單元,用以產生使用上述相應的幀內預測子和相應殘值的相應的幀內預測重建樣本;以及 其中,兩相應的參考數據準備單元、兩相應的相鄰樣本填充單元、兩相應的預過濾器單元、兩相應的幀內預測產生單元、兩相應的重建數據合并單元、或者用于上述第一幀內預測譯碼器和上述第二幀內預測譯碼器的任意組合至少部分地使用一共同電路;以及 其中,上述第一幀內預測譯碼器及上述第二幀內預測編碼器被安排用以通過交錯在一圖片級、一切片級、或一最大編碼單元/宏塊級解碼,以同時在上述兩視頻串流中執行幀內預測譯碼。2.如權利要求1所述的設備,其中上述第一視頻編碼標準對應于AVS視頻編碼標準且上述第二視頻編碼標準對應于HEVC視頻編碼標準,其中上述AVS視頻編碼標準在一 16 X 16宏塊中之每一8 X 8區塊應用幀內預測,上述HEVC視頻編碼標準于包括8X8的多個預測單元(predict1n unit,PU)大小應用幀內預測,且每一預測單元為自在包括16X 16的一最大編碼單元(LCU)中的一編碼單元所分割。3.如權利要求2所述的設備,其中用于上述AVS視頻編碼標準的上述幀內預測由用于一亮度信號對應的DC、水平、垂直、對角線右下角和對角線左下角模式的五個幀內預測模式,以及用于一色度信號對應的DC、水平、垂直和平面模式的四個幀內預測模式所組成,其中用于上述HEVC視頻編碼標準的上述幀內預測由包括類似上述AVS視頻編碼標準的上述五個預測模式的五個幀內預測模式的用于上述亮度信號的多個幀內預測模式,以及包括類似上述AVS視頻編碼標準的上述四個預測模式的四個幀內預測模式的用于上述色度信號的多個幀內預測模式所組成。4.如權利要求3所述的設備,其中當上述HEVC視頻編碼標準使用8X 8預測單元及16 X16最大編碼單元時,用于上述第一幀內預測譯碼器的一第一參考數據準備單元及用于上述第二幀內預測譯碼器的一第二參考數據準備單元全部或部分地使用一共同參考數據準備單元。5.如權利要求3所述的設備,其中當上述HEVC視頻編碼標準使用8X 8預測單元與16 X16最大編碼單元,且上述相應的所選幀內預測模式皆對應用于上述AVS視頻編碼標準及上述HEVC視頻編碼標準的水平或垂直模式時,用于上述第一幀內預測譯碼器的一第一幀內預測產生單元和用于上述第二幀內預測譯碼器的一第二幀內預測產生單元全部或部分地使用一共同幀內預測產生單元。6.如權利要求3所述的設備,其中當上述HEVC視頻編碼標準使用8X 8預測單元與16 X16最大編碼單元,且上述相應的所選幀內預測模式皆對應用于上述AVS視頻編碼標準及上述HEVC視頻編碼標準的一對角線模式時,用于上述第一幀內預測譯碼器的一第一幀內預測產生單元和用于上述第二幀內預測譯碼器的一第二幀內預測產生單元使用部份共同幀內預測產生單元。7.如權利要求3所述的設備,其中當上述HEVC視頻編碼標準使用8X 8預測單元與16 X16最大編碼單元,且上述相應的所選幀內預測模式對應用于上述AVS視頻編碼標準的一 DC模式及用于上述HEVC視頻編碼標準的一平面模式時,用于上述第一幀內預測譯碼器的一第一幀內預測產生單元和用于上述第二幀內預測譯碼器的一第二幀內預測產生單元使用一或多個共同加法器。8.如權利要求3所述的設備,其中當上述HEVC視頻編碼標準使用8X 8預測單元與16 X16最大編碼單元,且用于上述HEVC視頻編碼標準的一濾波器標志被設置以正常濾波時,一第一預過濾單元及一第二預過濾單元共同或部份地使用一共同預過濾單元。9.如權利要求3所述的設備,其中當上述HEVC視頻編碼標準使用8X 8預測單元與16 X16最大編碼單元時,上述第一幀內預測譯碼器及上述第二幀內預測譯碼器從使用相同數據存取設置的一共同相鄰緩沖器中擷取上述各幀內預測的上述相應的相鄰參考樣本。10.如權利要求1所述的設備,其中上述第一幀內預測譯碼器及上述第二幀內預測譯碼器使用一共同相鄰緩沖器,以儲存用于上述各幀內預測的上述相應的相鄰參考樣本。11.如權利要求10所述的設備,其中在一最大編碼單元或宏塊的一最底列中的上述相應的幀內預測重建樣本被儲存于一后續的最大編碼單元或宏塊列中的上述共同相鄰緩沖器,以存取用于上述各幀內預測。12.—種多標準幀內預測解碼的方法,用于在譯碼在不同視頻編碼標準中編碼的兩個視頻串流的一視頻譯碼器中,上述方法包括: 接收一第一位串流以及一第二位串流,其中該第一位串流包括根據一第一視頻編碼標準的一或多個第一幀內預測編碼區塊,以及該第二位串流包括根據一第二視頻編碼標準的一或多個第二幀內預測編碼區塊;以及 由一第一幀內預測譯碼器及一第二幀內預測譯碼器通過在一圖片級、一切片級、或一最大編碼單元/宏塊級中以一交錯方式在上述第一幀內預測譯碼器及上述第二幀內預測譯碼器之間切換,來同時解碼上述兩個視頻串流;以及 其中,上述第一幀內預測譯碼器及上述第二幀內預測譯碼器使用由一幀內預測相關操作群組中所選擇的一或多個共同操作,其中上述相關操作包括準備相應的相鄰參考樣本、填充一或多個相應的相鄰參考樣本、預過濾上述相應的相鄰參考樣本、根據一相應的所選幀內預測模式從用于上述各幀內預測的上述相應的相鄰參考樣本中產生相應的幀內預測子,以及使用上述相應的幀內預測子和相應殘值而產生相應的幀內預測重建樣本。13.如權利要求12所述的方法,其中上述第一視頻編碼標準對應于AVS視頻編碼標準且上述第二視頻編碼標準對應于HEVC視頻編碼標準,其中上述AVS視頻編碼標準在一16 X 16宏塊中的每一8 X 8區塊應用幀內預測,上述HEVC視頻編碼標準于包括8 X 8多個預測單元大小應用幀內預測,且每一預測單元為自在包括16X16的一最大編碼單元中的一編碼單元所分割。14.如權利要求13所述的方法,其中用于上述AVS視頻編碼標準的上述幀內預測包括用于一亮度信號對應的DC、水平、垂直、對角線右下角和對角線左下角模式的五個幀內預測模式,以及用于一色度信號對應的DC、水平、垂直和平面模式的四個幀內預測模式,其中用于上述HEVC視頻編碼標準的上述幀內預測由包括類似上述AVS視頻編碼標準的上述五個預測模式的五個幀內預測模式的用于上述亮度信號的多個幀內預測模式,以及包括類似上述AVS視頻編碼標準的上述四個預測模式的四個幀內預測模式的用于上述色度信號的多個幀內預測模式所組成。15.如權利要求13所述的方法,其中在根據上述相應的所選幀內預測模式從用于上述各幀內預測的上述相應的相鄰參考樣本中產生相應的幀內預測子的步驟由一第一處理模塊及一第二處理模塊來實施,其中上述第一處理模塊產生用于在上述AVS視頻編碼標準及上述HEVC視頻編碼標準之間的共同幀內預測模式的上述相應的幀內預測子,且上述第二處理模塊產生用于上述HEVC視頻編碼標準的額外幀內預測模式的上述相應的幀內預測子。16.如權利要求12所述的方法,其中當上述一或多個相應的相鄰參考樣本不可用時,則執行填充上述一或多個相應的相鄰參考樣本。17.如權利要求12所述的方法,其中上述預過濾上述相應的相鄰參考樣本的步驟系根據一濾波器控制標志來執行。18.—種在用于譯碼在兩個不同視頻編碼標準中編碼的兩個視頻串流的一視頻譯碼器中,用于多標準幀內預測解碼的設備,上述設備包括: 一或多個處理組件,用以在兩視頻串流中執行幀內預測譯碼,其中上述一或多個處理組件包括運算符,其中上述運算符配置用以在一圖片級、一切片級、或一最大編碼單元/宏塊級中以一交錯方式通過譯碼上述兩視頻串流同時解碼上述兩視頻串流,以及其中上述兩視頻串流在兩個不同視頻編碼標準中被編碼; 一預測選擇單元,耦接至上述一或多個處理組件,用以提供相應的幀內預測子至用于相應的視頻編碼標準的幀內預測譯碼的上述一或多個處理組件; 一處理組件參數選擇單元,耦接至上述一或多個處理組件,用以提供處理組件參數,以配置上述一或多個處理組件對一對應的視頻編碼標準中所編碼的一視頻串流譯碼;以及 其中上述兩不同的視頻編碼標準對應AVS視頻編碼標準及HEVC視頻編碼標準,其中上述AVS視頻編碼標準支持由上述HEVC視頻編碼標準所支持的區塊大小的一子集;以及上述AVS視頻編碼標準支持由上述HEVC視頻編碼標準所支持的幀內預測模式的一子集;以及 其中,對于由上述AVS視頻編碼標準所支持的區塊大小及幀內預測模式,上述AVS視頻編碼標準及上述HEVC視頻編碼標準皆共享相同的處理組件配置及相同的處理組件參數選擇,以執行上述幀內預測譯碼。19.如權利要求18所述的裝置,其中上述HEVC視頻編碼標準應用上述幀內預測譯碼至每一預測單元,以及其中預測單元分割模式、預測單元大小、預測單元位置或其任一組合被用以選擇上述幀內預測譯碼的一或多個處理單元和處理單元參數。20.如權利要求18所述的裝置,其中上述AVS視頻編碼標準僅允許區塊大小為8X 8,而宏塊大小為16X 16,以及其中上述AVS視頻編碼標準僅允許亮度組件的DC、水平、垂直、對角線右下角和對角線左下角模式,以及允許色度組件的DC、水平、垂直和平面模式。21.如權利要求18所述的裝置,其中上述一或多個處理單元更被配置用以從一或多個相鄰重建區塊中相鄰參考樣本執行預過濾,以產生一當前區塊的幀內預測子。
【文檔編號】H04N19/86GK105847843SQ201610069505
【公開日】2016年8月10日
【申請日】2016年2月1日
【發明人】胡孟杰, 鄭佳韻, 張永昌
【申請人】聯發科技股份有限公司