国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于使用基于網(wǎng)格的計(jì)算的低復(fù)雜度正變換的系統(tǒng)和方法與流程

      文檔序號(hào):11892769閱讀:196來源:國知局
      用于使用基于網(wǎng)格的計(jì)算的低復(fù)雜度正變換的系統(tǒng)和方法與流程

      本發(fā)明涉及視頻編碼。



      背景技術(shù):

      數(shù)字視頻能力可以并入到多種多樣的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、電子圖書閱讀器、數(shù)碼攝像機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺(tái)、蜂窩式或衛(wèi)星無線電電話、智能電話、視頻電話會(huì)議裝置、視頻流裝置及其類似者。數(shù)字視頻裝置實(shí)施視頻譯碼技術(shù),例如描述于以下各者中的那些技術(shù):由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)定義的標(biāo)準(zhǔn)、高效率視頻譯碼(HEVC)及此些標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置可通過實(shí)施此類視頻譯碼技術(shù)而更有效率地發(fā)射、接收、編碼、解碼和/或存儲(chǔ)數(shù)字視頻信息。

      視頻譯碼技術(shù)包含空間(圖片內(nèi))預(yù)測和/或時(shí)間(圖片間)預(yù)測以減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼來說,視頻切片(例如,視頻幀或視頻幀的一部分)可分割成視頻塊,視頻塊還可被稱作樹塊、譯碼單元(CU)和/或譯碼節(jié)點(diǎn)。CU可進(jìn)一步分割成一或多個(gè)預(yù)測單元(PU)以確定針對CU的預(yù)測視頻數(shù)據(jù)。視頻壓縮技術(shù)還可將CU分割為殘余視頻塊數(shù)據(jù)的一或多個(gè)變換單元(TU),所述殘余視頻塊數(shù)據(jù)表示待譯碼視頻塊與預(yù)測視頻數(shù)據(jù)之間的差。例如二維離散余弦變換(DCT)等線性變換可應(yīng)用于TU以將殘余視頻塊數(shù)據(jù)從像素域變換到頻域以實(shí)現(xiàn)進(jìn)一步壓縮。此外,圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測來編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可使用關(guān)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測或關(guān)于其它參考圖片中的參考樣本的時(shí)間預(yù)測。圖片可被稱作幀,且參考圖片可被稱作參考幀。

      空間或時(shí)間預(yù)測產(chǎn)生待譯碼塊的預(yù)測塊。殘余數(shù)據(jù)表示待譯碼原始塊與預(yù)測塊之間的像素差。經(jīng)幀間譯碼塊是根據(jù)指向形成預(yù)測塊的參考樣本塊的運(yùn)動(dòng)向量和指示經(jīng)譯碼塊與預(yù)測塊之間的差的殘余數(shù)據(jù)編碼的。根據(jù)幀內(nèi)譯碼模式和殘余數(shù)據(jù)而對經(jīng)幀內(nèi)譯碼塊進(jìn)行編碼。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),可接著量化所述殘余變換系數(shù)??蓲呙枳畛醪贾贸啥S陣列的經(jīng)量化變換系數(shù),以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵編碼以實(shí)現(xiàn)更多壓縮。

      在更早期視頻標(biāo)準(zhǔn)(例如,AVC)中,正變換及反變換大小(例如,4×4及8×8)并不充當(dāng)視頻編碼性能的障礙物。但是,更現(xiàn)代的HEVC標(biāo)準(zhǔn)利用達(dá)16×16及32×32正變換及反變換大小,所述大小充當(dāng)HEVC過程的限制因素。當(dāng)從像素域變換到系數(shù)域時(shí),更大變換需要更多復(fù)雜度及周期來處理。在所關(guān)注的譯碼效率中,標(biāo)準(zhǔn)將得益于將視頻編碼器中的較大正變換向量分解成多個(gè)級(例如,“基于網(wǎng)格的方法”,“蝶形方法”或“奇偶分解”)并限定每一級處的內(nèi)部位深度的過程。本文中所揭示的技術(shù)的一些優(yōu)點(diǎn)涉及在視頻編碼期間通過將視頻編碼器中的較大正變換向量分解成多個(gè)級并限定每一級處的內(nèi)部位深度而改善譯碼效率并降低計(jì)算資源要求。



      技術(shù)實(shí)現(xiàn)要素:

      一般來說,本發(fā)明描述涉及通過將較大正變換分解成多個(gè)級(例如,實(shí)施正變換的基于網(wǎng)格的方法)且將每一級處的內(nèi)部位深度限定到可適應(yīng)計(jì)算上有效的指令集的水平來改善視頻編碼性能的技術(shù)。舉例來說,雖然變換的輸入位深度可為9位且起始內(nèi)部位深度可大于16位,但視頻編碼器可經(jīng)配置以使用飽和邏輯將變換的內(nèi)部位深度限定到16位(例如,將內(nèi)部值削減到16位)。為了防止視頻質(zhì)量的降低,視頻編碼器可經(jīng)進(jìn)一步配置以測量偏差(例如,誤差)水平,比較所述水平與閾值,且在偏差水平超出閾值的情況下重新計(jì)算經(jīng)變換系數(shù)的子集。

      附圖和以下描述中陳述一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)點(diǎn)將從所述描述及圖式以及權(quán)利要求書而顯而易見。

      本發(fā)明中所描述的標(biāo)的物的一個(gè)方面提供包括經(jīng)配置以存儲(chǔ)視頻信息的存儲(chǔ)器的視頻編碼器。視頻編碼器進(jìn)一步包括與存儲(chǔ)器通信的處理器。處理器經(jīng)配置以將變換分解成多個(gè)變換級。處理器經(jīng)進(jìn)一步配置以使用多個(gè)級變換視頻信息,從而確定每一變換級處的變換級輸出。處理器經(jīng)進(jìn)一步配置以將每一變換級處的變換級輸出限定到預(yù)定位深度。處理器經(jīng)進(jìn)一步配置以對多個(gè)級中的最末級的經(jīng)限定變換輸出執(zhí)行操作,其中所述操作僅可供與具有預(yù)定位深度的數(shù)據(jù)一起使用。

      本發(fā)明中描述的標(biāo)的物的另一方面提供一種編碼視頻的方法。所述方法包含存儲(chǔ)視頻信息。所述方法進(jìn)一步包含將變換分解成多個(gè)變換級。所述方法進(jìn)一步包含使用多個(gè)級變換視頻信息以確定每一變換級處的變換級輸出。所述方法進(jìn)一步包含將每一變換級處的變換級輸出限定到預(yù)定位深度。所述方法進(jìn)一步包含對多個(gè)級中的最末級的經(jīng)限定變換輸出執(zhí)行操作,其中所述操作僅可供與具有預(yù)定位深度的數(shù)據(jù)一起使用。

      本發(fā)明中描述的標(biāo)的物的另一方面提供非暫時(shí)性計(jì)算機(jī)可讀媒體。所述媒體包括當(dāng)經(jīng)執(zhí)行時(shí)使得設(shè)備存儲(chǔ)視頻信息的代碼。所述媒體進(jìn)一步包括當(dāng)經(jīng)執(zhí)行時(shí)使得設(shè)備將變換分解成多個(gè)變換級的代碼。所述媒體進(jìn)一步包括當(dāng)經(jīng)執(zhí)行時(shí)使得設(shè)備使用多個(gè)級變換視頻信息以確定每一變換級處的變換級輸出的代碼。所述媒體進(jìn)一步包括當(dāng)經(jīng)執(zhí)行時(shí)使得設(shè)備將每一變換級處的變換級輸出限定到預(yù)定位深度的代碼。所述媒體進(jìn)一步包括當(dāng)經(jīng)執(zhí)行時(shí)使得設(shè)備對多個(gè)級中的最末級的經(jīng)限定變換輸出執(zhí)行操作的代碼,其中所述操作僅可供與具有預(yù)定位深度的數(shù)據(jù)一起使用。

      本發(fā)明中描述的標(biāo)的物的另一方面提供一種用于編碼視頻的設(shè)備。所述設(shè)備包括用于存儲(chǔ)視頻信息的裝置。所述設(shè)備進(jìn)一步包括用于將變換分解成多個(gè)變換級的裝置。所述設(shè)備進(jìn)一步包括用于使用多個(gè)級變換視頻信息以確定每一變換級處的變換級輸出的裝置。所述設(shè)備進(jìn)一步包括用于將每一變換級處的變換級輸出限定到預(yù)定位深度的裝置。所述設(shè)備進(jìn)一步包括用于對多個(gè)級中的最末級的經(jīng)限定變換輸出執(zhí)行操作的裝置,其中所述操作僅可供與具有預(yù)定位深度的數(shù)據(jù)一起使用。

      附圖說明

      圖1是說明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。

      圖2是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的實(shí)例的框圖。

      圖3是說明可實(shí)施本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的實(shí)例的框圖。

      圖4說明(例如)使用基于網(wǎng)格的計(jì)算的低復(fù)雜度正變換的方法的流程圖。

      圖5說明用于低復(fù)雜度正變換的方法的流程圖。

      圖式中所說明的各種特征可能未按比例繪制。因此,為了清楚起見,可能任意擴(kuò)大或減小各種特征的尺寸。另外,圖式中的一些圖式可能并未描繪給定系統(tǒng)、方法或裝置的所有組件。最后,在整個(gè)說明書和圖式中,可使用相同參考標(biāo)號(hào)來表示相同特征。

      具體實(shí)施方式

      本發(fā)明中描述的技術(shù)通常涉及在視頻編碼期間的正變換,尤其高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)及其擴(kuò)展。

      視頻譯碼標(biāo)準(zhǔn)包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也被稱為ISO/IECMPEG-4AVC),包括其可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴(kuò)展。此外,存在一種新的視頻譯碼標(biāo)準(zhǔn),高效率視頻譯碼(HEVC),其由ITU-T視頻譯碼專家組(VCEG)及ISO/IEC動(dòng)畫專家組(MPEG)的視頻譯碼聯(lián)合合作小組(JCT-VC)進(jìn)行開發(fā)。

      如上文所提及,HEVC標(biāo)準(zhǔn)利用大小達(dá)32×32的正變換(例如,在HEVC編碼器中)及反變換,而AVC標(biāo)準(zhǔn)僅利用達(dá)8×8的變換大小。更大的變換大小增加HEVC中的大譯碼塊的譯碼效率;但是,相較于使用更小的變換大小,其也增大復(fù)雜度、計(jì)算周期及處理時(shí)間。本發(fā)明中所描述的方法可減小編碼器將視頻信息從像素域變換到系數(shù)域時(shí)所需要的增加的復(fù)雜度及周期。舉例來說,某些方法包含將視頻編碼器中的較大正變換向量分解成多個(gè)級(例如,基于網(wǎng)格方法)并限定每一級的內(nèi)部位深度。

      在一些實(shí)施中,出于從殘余域轉(zhuǎn)換到系數(shù)域的目的,將較大正變換分解成多個(gè)級(例如,使用實(shí)施正變換的基于網(wǎng)格的或“蝶形”方法)可導(dǎo)致處理比使用矩陣乘法方法更有效?;诰W(wǎng)格的N×N變換實(shí)施的一個(gè)實(shí)例在下文附錄A的代碼中加以說明。在一個(gè)實(shí)施中,變換單元(例如,16×16變換)可以兩百五十六個(gè)殘余源像素(例如,附錄A中的pSrc)開始,所述殘余源像素中的每一者可表示明度值。處理器或編碼器(例如,圖2的編碼器20的變換處理單元52)可接著確定兩百五十六個(gè)輸出系數(shù)(例如,附錄A中的pDst),一個(gè)系數(shù)用于每一源像素。在第一級之后,處理器或編碼器(例如,變換處理單元52)可接著確定兩像素的一百二十八個(gè)和及兩像素的一百二十八個(gè)差(例如,附錄A的nE和nO的)。在第二處理級期間,處理器或編碼器可使用nE與nO和及差來確定對和及差和。在四個(gè)級之后,處理器或編碼器可產(chǎn)生輸出系數(shù)(例如,pDst)。使用此基于網(wǎng)格的方法(如附錄A中所展示),全大小變換可分解成若干更小、更復(fù)雜的變換,如果這些變換一起相乘又將產(chǎn)生全大小變換。

      在執(zhí)行網(wǎng)格方法(例如,上文所論述的網(wǎng)格方法)或任何其它分解方法之后,本發(fā)明中所描述的方法可配置處理器或編碼器以在每一級處將內(nèi)部位深度限定到某一水平,從而使得處理器或編碼器能夠利用所述水平的其它計(jì)算上有效的指令集。實(shí)際上,某些編碼器及解碼器包含僅可供與具有某些位深度的輸入一起使用的計(jì)算上有效的指令集。舉例來說,雖然輸入到變換的位深度可為9位并且起始內(nèi)部位深度可大于16位,但視頻編碼器可經(jīng)配置以將變換的每一分解級的內(nèi)部位深度(例如,在變換操作期間的位深度而不是僅變換輸出位深度)限定到16位。由于每一級的內(nèi)部位深度經(jīng)限定到16位,處理器可利用計(jì)算上有效的指令集,所述計(jì)算上有效的指令集經(jīng)設(shè)計(jì)特別供與16位操作(例如,ARM結(jié)構(gòu)、高級SIMD(NEON)、數(shù)字信號(hào)處理(DSP)等)一起使用。在一個(gè)實(shí)施中,視頻編碼器可使用飽和邏輯限定每一級的內(nèi)部位深度(例如,將內(nèi)部值削減到16位)。

      在一些情況下,限定變換級的位深度可導(dǎo)致最終視頻質(zhì)量降低。為防止此結(jié)果,本發(fā)明中所描述的方法可測量由限定過程引起的偏差(例如,誤差)水平。所述方法可接著將偏差水平與預(yù)定閾值(例如,持久極限)相比較且接著如果偏差水平超出預(yù)定閾值重新計(jì)算變換系數(shù)的子集。通過以此方式限定位深度并且重新計(jì)算系數(shù)的子集,本發(fā)明中所描述的方法可允許視頻編碼器的變換處理單元使用更少的計(jì)算資源同時(shí)還保留視頻質(zhì)量。

      在使用基于塊的處理(例如,HEVC,其中視頻幀可分割成視頻塊或譯碼單元)的視頻編解碼器中,可從原始像素減去預(yù)測塊或預(yù)測單元(例如,從幀間預(yù)測或幀內(nèi)預(yù)測)。如上文進(jìn)一步解釋,殘余數(shù)據(jù)可接著使用正變換(例如,離散余弦變換)變換為殘余變換系數(shù),經(jīng)量化,經(jīng)熵編碼(例如,以實(shí)現(xiàn)進(jìn)一步壓縮)??墒褂孟挛倪M(jìn)一步描述的各種熵譯碼引擎(例如,CAVLC、CABAC等)來執(zhí)行熵編碼。然后,且如下文還進(jìn)一步描述,解碼器可接著對系數(shù)進(jìn)行熵解碼、解量化及反變換。最終,系數(shù)可加回到預(yù)測塊從而形成經(jīng)重建像素。

      在視頻譯碼的一個(gè)實(shí)施例中,可首先使用經(jīng)重建的在時(shí)間上和/或空間上相鄰的塊中的像素來預(yù)測圖像塊。可接著對預(yù)測誤差(有時(shí)稱為“殘差”)進(jìn)行變換及量化。舉例來說,如果S為大小N×N的殘差塊,那么可使用如下的矩陣乘法導(dǎo)出經(jīng)變換塊K:

      K=A*S*B

      其中K、A和B也具有大小N×N。A為垂直變換矩陣,且B為水平變換矩陣。在一些實(shí)施例中,A和B為彼此的轉(zhuǎn)置(例如,B=A'其中“'”意味著轉(zhuǎn)置)。在其它實(shí)施例中,A及B不為彼此的轉(zhuǎn)置。當(dāng)A與B為彼此的轉(zhuǎn)置時(shí),先前等式變?yōu)椋?/p>

      K=A*S*A'

      每一變換(A及B)可包含多種變換中的任一者。在一些實(shí)施例中,變換包含離散余弦變換(DCT)、離散正弦變換(DST)、哈達(dá)瑪(Hadamard)變換、哈爾(Haar)變換等中的一者。

      在SVC擴(kuò)展中,可存在多個(gè)視頻信息層。底層可充當(dāng)基礎(chǔ)層(BL),且頂層可充當(dāng)增強(qiáng)型層(EL)或“增強(qiáng)層”。頂層與底層之間的所有層可充當(dāng)EL或BL中的一者或兩者。SVC可用于提供質(zhì)量可擴(kuò)展性(或信噪比,SNR)、空間可擴(kuò)展性和/或時(shí)間可擴(kuò)展性。增強(qiáng)型層可具有與基礎(chǔ)層不同的空間分辨率??墒褂冕槍VC提供的不同層來執(zhí)行當(dāng)前塊的預(yù)測。此預(yù)測可稱作層間預(yù)測。在SVC中可利用層間預(yù)測方法以便減少層間冗余。層間預(yù)測的一些實(shí)例可包含層間幀內(nèi)預(yù)測、層間運(yùn)動(dòng)預(yù)測和層間殘余預(yù)測。層間幀內(nèi)預(yù)測使用基礎(chǔ)層中的協(xié)同定位塊的重建來預(yù)測增強(qiáng)層中的當(dāng)前塊。層間運(yùn)動(dòng)預(yù)測使用基礎(chǔ)層的運(yùn)動(dòng)來預(yù)測增強(qiáng)層中的運(yùn)動(dòng)。層間殘余預(yù)測使用基礎(chǔ)層的殘差來預(yù)測增強(qiáng)層的殘差。被稱作“幀內(nèi)BL模式”的用于增強(qiáng)層的一個(gè)特定譯碼模式包含可使用基礎(chǔ)層中的對應(yīng)(有時(shí)被稱作“協(xié)同定位”,例如,定位于相同空間位置處)塊的織構(gòu)來預(yù)測織構(gòu)。

      在層間殘余預(yù)測中,基礎(chǔ)層的殘差可用于預(yù)測增強(qiáng)層中的當(dāng)前塊??蓪⑺鰵埐疃x為對視頻單元與源視頻單元之間的時(shí)間預(yù)測的差。在殘余預(yù)測中,還在預(yù)測當(dāng)前塊中考慮基礎(chǔ)層的殘差。舉例來說,可使用從增強(qiáng)層的殘差、從增強(qiáng)層的時(shí)間預(yù)測及從基礎(chǔ)層的殘差來重建當(dāng)前塊??筛鶕?jù)以下等式重建當(dāng)前塊:

      <mrow> <mover> <mi>I</mi> <mo>^</mo> </mover> <mi>e</mi> <mo>=</mo> <mi>r</mi> <mi>e</mi> <mo>+</mo> <mi>P</mi> <mi>e</mi> <mo>+</mo> <mi>r</mi> <mi>b</mi> </mrow>

      其中表示當(dāng)前塊的重建,re表示來自增強(qiáng)層的殘差,Pe表示來自增強(qiáng)層的時(shí)間預(yù)測,且rb表示來自基礎(chǔ)層的殘差預(yù)測。

      對于使用差域的幀間譯碼,基于增強(qiáng)層參考圖片中的對應(yīng)經(jīng)預(yù)測塊樣本與經(jīng)縮放基礎(chǔ)層參考圖片中的對應(yīng)經(jīng)預(yù)測塊樣本之間的差值來確定當(dāng)前經(jīng)預(yù)測塊。所述差值可被稱為差預(yù)測塊。將協(xié)同定位的基礎(chǔ)層經(jīng)重建樣本添加到差預(yù)測塊以便獲得增強(qiáng)層預(yù)測樣本。

      本發(fā)明中描述的技術(shù)可解決與HEVC中的正變換的矩陣乘法期間的復(fù)雜計(jì)算要求相關(guān)的問題。技術(shù)可改善編碼器和/或變換處理單元可執(zhí)行正變換矩陣乘法的速度、效率和功效。

      下文參看附圖更充分地描述新穎系統(tǒng)、設(shè)備和方法的各種方面。然而,本發(fā)明可以許多不同形式來體現(xiàn),且不應(yīng)將其解釋為限于在整個(gè)本發(fā)明中所呈現(xiàn)的任何特定結(jié)構(gòu)或功能。實(shí)際上,提供這些方面以使得本發(fā)明將為透徹且完整的,且將向所屬領(lǐng)域的技術(shù)人員充分傳達(dá)本發(fā)明的范圍?;诒疚闹械慕淌?,所屬領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明的范圍既定涵蓋無論是獨(dú)立于本發(fā)明的任何其它方面而實(shí)施還是與之組合而實(shí)施的本文中所揭示的新穎系統(tǒng)、設(shè)備及方法的任何方面。舉例來說,可使用本文中所闡述的任何數(shù)目個(gè)方面來實(shí)施設(shè)備或?qū)嵺`方法。此外,本發(fā)明的范圍旨在涵蓋用作本文中所闡述的本發(fā)明的各種方面的補(bǔ)充或替代的其它結(jié)構(gòu)、功能性或結(jié)構(gòu)與功能性來實(shí)踐的此設(shè)備或方法。應(yīng)理解,可通過權(quán)利要求書的一或多個(gè)要素來體現(xiàn)本文中所揭示的任何方面。

      盡管本文中描述了特定方面,但這些方面的許多變化和排列屬于本發(fā)明的范圍內(nèi)。雖然提及了優(yōu)選方面的一些好處及優(yōu)點(diǎn),但本發(fā)明的范圍不欲限于特定好處、用途或目標(biāo)。相反地,本發(fā)明的方面希望廣泛地適用于不同無線技術(shù)、系統(tǒng)配置、網(wǎng)絡(luò)及發(fā)射協(xié)議,其中的一些是作為實(shí)例而在圖中及在優(yōu)選方面的以下描述中加以說明。具體實(shí)施方式和圖式僅說明本發(fā)明,而不是限制由所附權(quán)利要求書和其等效物定義的本發(fā)明的范圍。

      圖1是說明可利用根據(jù)本發(fā)明中所描述的方面的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的框圖。如圖1中所展示,視頻編碼和解碼系統(tǒng)10包含源裝置12,所述源裝置12提供稍后由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。確切地說,源裝置12經(jīng)由計(jì)算機(jī)可讀媒體16將視頻數(shù)據(jù)提供到目的地裝置14。源裝置12和目的地裝置14可包括廣泛范圍的裝置中的任一者,包含桌上型計(jì)算機(jī)、筆記型(例如,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、電話手持機(jī)(例如,智能電話)、電視機(jī)、攝像機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺(tái)、視頻流裝置等。在一些情況下,源裝置12和目的地裝置14可經(jīng)裝備以用于無線通信。

      如上文所提及,目的地裝置14可經(jīng)由計(jì)算機(jī)可讀媒體16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。計(jì)算機(jī)可讀媒體16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型的媒體或裝置。在一個(gè)實(shí)例中,計(jì)算機(jī)可讀媒體16可包括通信媒體(未繪制)以使得源裝置12能夠及時(shí)將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。經(jīng)編碼視頻數(shù)據(jù)可根據(jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)來調(diào)制,且被發(fā)射到目的地裝置14。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一或多個(gè)物理發(fā)射線。通信媒體還可形成分組網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)的全球網(wǎng)絡(luò))的部分。通信媒體可包括路由器、交換器、基站或可用于促進(jìn)從源裝置12到目的地裝置14的通信的任何其它設(shè)備。

      在一些實(shí)例中,經(jīng)編碼數(shù)據(jù)可從輸出接口22輸出到存儲(chǔ)裝置(未繪制)。類似地,可通過輸入接口28從存儲(chǔ)裝置存取經(jīng)編碼數(shù)據(jù)。存儲(chǔ)裝置可包含多種分布式或本地存取的數(shù)據(jù)存儲(chǔ)媒體中的任一者,例如硬盤驅(qū)動(dòng)器、藍(lán)光光盤、DVD、CD-ROM、快閃存儲(chǔ)器、易失性或非易失性存儲(chǔ)器或用于存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)的任何其它合適的數(shù)字存儲(chǔ)媒體。在另一實(shí)例中,存儲(chǔ)裝置可對應(yīng)于文件服務(wù)器或可存儲(chǔ)由源裝置12產(chǎn)生的經(jīng)編碼視頻的另一中間存儲(chǔ)裝置。目的地裝置14可經(jīng)由流式發(fā)射或下載從存儲(chǔ)裝置存取經(jīng)存儲(chǔ)的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)且將所述經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)附接存儲(chǔ)(NAS)裝置或本地磁盤驅(qū)動(dòng)器。目的地裝置14可通過任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取經(jīng)編碼視頻數(shù)據(jù)。數(shù)據(jù)連接可包含適合于存取存儲(chǔ)于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的無線信道(例如,Wi-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等)或兩者的組合。來自存儲(chǔ)裝置的經(jīng)編碼視頻數(shù)據(jù)的發(fā)射可以是流式發(fā)射、下載發(fā)射或其組合。

      本發(fā)明的技術(shù)未必限于無線應(yīng)用或環(huán)境。所述技術(shù)可以應(yīng)用于支持多種多媒體應(yīng)用中的任一者的視頻譯碼,例如空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、因特網(wǎng)流式視頻發(fā)射(例如,經(jīng)由HTTP的動(dòng)態(tài)自適應(yīng)流式發(fā)射(DASH))、經(jīng)編碼到數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻,存儲(chǔ)在數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,所述系統(tǒng)10可經(jīng)配置以支持用于例如視頻流式發(fā)射、視頻回放、視頻廣播、視頻電話等應(yīng)用的單向或雙向視頻發(fā)射。

      在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口22。目的地裝置14包含輸入接口28、視頻解碼器30和顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應(yīng)用用于對包含符合多個(gè)標(biāo)準(zhǔn)或標(biāo)準(zhǔn)擴(kuò)展的視頻數(shù)據(jù)的位流進(jìn)行譯碼的技術(shù)。在其它實(shí)例中,源裝置12和目的地裝置14可包含其它組件或布置。舉例來說,源裝置12可從外部視頻源(例如,外部攝像機(jī))接收視頻數(shù)據(jù)。同樣,目的地裝置14可與外部顯示裝置介接,而不是集成顯示裝置32。

      盡管本發(fā)明的技術(shù)通常通過視頻編碼裝置來執(zhí)行,但是所述技術(shù)還可通過視頻編碼器/解碼器(通常被稱作“編解碼器”)執(zhí)行。此外,本發(fā)明的技術(shù)還可由視頻預(yù)處理器來執(zhí)行。源裝置12及目的地裝置14僅為此類譯碼裝置的實(shí)例,其中源裝置12產(chǎn)生用于發(fā)射到目的地裝置14的經(jīng)譯碼視頻數(shù)據(jù)。在一些實(shí)例中,源裝置12及目的地裝置14可以大致上對稱的方式操作使得其各自包含視頻編碼和解碼組件。因此,系統(tǒng)10可支持源裝置12與目的地裝置14之間的單向或雙向視頻發(fā)射,例如,針對視頻流式發(fā)射、視頻回放、視頻廣播、視頻電話等。

      源裝置12的視頻源18可包含視頻捕獲裝置(未繪制),例如,視頻攝像機(jī)、含有先前所捕獲的視頻的視頻存檔、從視頻內(nèi)容提供者接收視頻的視頻饋入接口等。作為另一替代方案,視頻源18可產(chǎn)生基于計(jì)算機(jī)圖形的數(shù)據(jù),或?qū)崨r視頻、所存檔視頻和計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18是攝像機(jī),那么源裝置12和目的地裝置14可為攝像機(jī)電話或視頻電話。在另一實(shí)施例中,本發(fā)明中描述的技術(shù)一般可適用于視頻譯碼,且可應(yīng)用于無線和/或有線應(yīng)用。在每一種情況下,可由視頻編碼器20編碼所捕獲、經(jīng)預(yù)先捕獲或計(jì)算機(jī)產(chǎn)生的視頻。經(jīng)編碼視頻信息可接著通過輸出接口22輸出到計(jì)算機(jī)可讀媒體16上。

      計(jì)算機(jī)可讀媒體16可包含瞬時(shí)媒體,例如無線廣播或有線網(wǎng)絡(luò)發(fā)射,或存儲(chǔ)媒體(即,非暫時(shí)性存儲(chǔ)媒體),所述存儲(chǔ)媒體例如硬盤、快閃驅(qū)動(dòng)器、壓縮光盤、數(shù)字視頻光盤、藍(lán)光光盤或其它計(jì)算機(jī)可讀媒體。在一些實(shí)例中,網(wǎng)絡(luò)服務(wù)器(未展示)可從源裝置12接收經(jīng)編碼視頻數(shù)據(jù)及例如經(jīng)由網(wǎng)絡(luò)發(fā)射、直接有線通信等將經(jīng)編碼視頻數(shù)據(jù)提供到目的地裝置14。類似地,媒體生產(chǎn)設(shè)施(例如光盤沖壓設(shè)施)的計(jì)算器件可以從源器件12接收經(jīng)編碼視頻數(shù)據(jù)并且生產(chǎn)含有經(jīng)編碼視頻數(shù)據(jù)的光盤。因此,計(jì)算機(jī)可讀媒體16可包含各種形式的一或多個(gè)計(jì)算機(jī)可讀媒體。

      目的地裝置14的輸入接口28可從計(jì)算機(jī)可讀媒體16接收信息。計(jì)算機(jī)可讀媒體16的信息可包含由視頻編碼器20定義的語法信息。語法信息還可由視頻解碼器30使用,所述語法信息可包含描述塊及其它經(jīng)譯碼單元的特性和/或處理的語法元素。顯示裝置32可將經(jīng)解碼視頻數(shù)據(jù)顯示給用戶,且可包括多種顯示裝置中的任一者,例如陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。

      視頻編碼器20和視頻解碼器30可根據(jù)視頻譯碼標(biāo)準(zhǔn)來操作,所述視頻譯碼標(biāo)準(zhǔn)例如高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)或其變體中的任一者(例如,HEVC測試模型(HM))。替代地,視頻編碼器20及視頻解碼器30可根據(jù)其它所有權(quán)或行業(yè)標(biāo)準(zhǔn)來操作,例如,ITU-T H.264標(biāo)準(zhǔn)(MPEG-4)第10部分高級視頻譯碼(AVC)、ITU-T H.263、ITU-T H.262(ISO/IEC MPEG-2 Visual)、ISO/IEC MPEG-1 Visual、ITU-T H.261或任何此些標(biāo)準(zhǔn)的擴(kuò)展。在一些方面中,視頻編碼器20和視頻解碼器30可與音頻編碼器、音頻解碼器、多路復(fù)用器-多路分用器單元(未繪制)或其它硬件和軟件集成,以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。

      視頻編碼器20和視頻解碼器30各自可實(shí)施為多種合適的編碼器電路中的任一者,例如一或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。如果必須要執(zhí)行本發(fā)明的技術(shù),視頻編碼器20和/或視頻解碼器30可存儲(chǔ)用于合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中的軟件的指令且使用一或多個(gè)處理器執(zhí)行硬件中的指令。視頻編碼器20和視頻解碼器30中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合式編碼器/解碼器(編解碼器)的部分。包含視頻編碼器20和/或視頻解碼器30的裝置可包括集成電路、微處理器和/或無線通信裝置,例如,手機(jī)。

      HEVC標(biāo)準(zhǔn)指定視頻幀或圖片可劃分成樹塊序列或包含明度樣本及色度樣本兩者的最大譯碼單元(LCU)。位流內(nèi)的語法數(shù)據(jù)可定義LCU(就像素?cái)?shù)目來說,其為最大譯碼單元)的大小。切片包含按譯碼次序的許多連續(xù)樹塊。視頻幀或圖片可被分割成一或多個(gè)切片。每一樹塊可根據(jù)四分樹而分裂成多個(gè)譯碼單元(CU)。一般來說,四叉樹數(shù)據(jù)結(jié)構(gòu)包含每個(gè)CU一個(gè)節(jié)點(diǎn),其中根節(jié)點(diǎn)對應(yīng)于所述樹塊。如果CU分割成四個(gè)子CU,那么對應(yīng)于CU的節(jié)點(diǎn)包含四個(gè)葉節(jié)點(diǎn),所述葉節(jié)點(diǎn)中的每一者對應(yīng)于所述子CU中的一者。

      四叉樹數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可提供對應(yīng)CU的語法數(shù)據(jù)。舉例來說,四叉樹中的節(jié)點(diǎn)可包括分裂旗標(biāo),指示對應(yīng)于所述節(jié)點(diǎn)的CU是否分裂成子CU。用于CU的語法元素可以遞歸式定義,且可取決于CU是否分裂成子CU。如果CU不進(jìn)一步分裂,那么將其稱作葉CU。在本發(fā)明中,葉CU的四個(gè)子CU也將被稱作葉CU,即使不存在原始葉CU的明確分裂時(shí)也是如此。舉例來說,如果16×16大小的CU不進(jìn)一步分裂,那么四個(gè)8×8子CU也將被稱作葉CU,雖然16×16CU從未分裂。

      CU具有類似于H.264標(biāo)準(zhǔn)的宏塊的目的,但是CU并不具有大小區(qū)別。舉例來說,樹塊可以分裂成四個(gè)子節(jié)點(diǎn)(還被稱作子CU),并且每一子節(jié)點(diǎn)又可以是父節(jié)點(diǎn)并且可以分裂成另外四個(gè)子節(jié)點(diǎn)。最后的未經(jīng)分裂子節(jié)點(diǎn)(被稱作四叉樹的葉節(jié)點(diǎn))包括譯碼節(jié)點(diǎn),也稱為葉CU。與經(jīng)譯碼位流相關(guān)聯(lián)的語法數(shù)據(jù)可定義樹塊可以分裂的最大次數(shù)(被稱作最大CU深度),并且還可定義譯碼節(jié)點(diǎn)的最小大小。因此,位流還可定義最小譯碼單元(SCU)。本發(fā)明使用術(shù)語“塊”來指HEVC的上下文中的CU、PU或TU中的任一者,或者其它標(biāo)準(zhǔn)的上下文中的類似數(shù)據(jù)結(jié)構(gòu)(例如,其在H.264/AVC中的宏塊及子塊)。

      CU包含譯碼節(jié)點(diǎn)及與所述譯碼節(jié)點(diǎn)相關(guān)聯(lián)的預(yù)測單元(PU)及變換單元(TU)。CU的大小對應(yīng)于譯碼節(jié)點(diǎn)的大小且形狀必須是正方形。CU的大小可在8×8像素多到具有最大值64×64像素或在一些情況下更大樹塊大小的范圍內(nèi)。每一CU可含有一或多個(gè)PU和一或多個(gè)TU。舉例來說,與CU相關(guān)聯(lián)的語法數(shù)據(jù)可描述將CU分割成一或多個(gè)PU。分割模式可在跳過CU或經(jīng)直接模式編碼、經(jīng)幀內(nèi)預(yù)測模式編碼或經(jīng)幀間預(yù)測模式編碼之間有區(qū)別。PU可分割為非正方形形狀。舉例來說,與CU相關(guān)聯(lián)的語法數(shù)據(jù)還可描述CU根據(jù)四叉樹分割成一或多個(gè)TU。TU可為正方形或非正方形(例如,矩形)形狀。

      HEVC標(biāo)準(zhǔn)允許根據(jù)TU變換,TU可因不同CU而有所不同。TU通常是基于針對經(jīng)分割LCU定義的給定CU內(nèi)的PU的大小而定大小,但是情況可能并不總是如此。TU通常與PU大小相同或小于PU。在一些實(shí)例中,對應(yīng)于CU的殘余樣本可使用被稱為“殘余四叉樹”(RQT)的四叉樹結(jié)構(gòu)而細(xì)分成較小單元。RQT的葉節(jié)點(diǎn)可被稱作變換單元(TU)??勺儞Q與TU相關(guān)聯(lián)的像素差值以產(chǎn)生變換系數(shù),所述變換系數(shù)可經(jīng)量化。

      葉CU可包含一或多個(gè)預(yù)測單元(PU)。一般來說,PU表示對應(yīng)于對應(yīng)CU的全部或一部分的空間區(qū)域,且可包含用于檢索PU的參考樣本的數(shù)據(jù)。此外,PU包含與預(yù)測有關(guān)的數(shù)據(jù)。舉例來說,當(dāng)PU經(jīng)幀內(nèi)模式編碼時(shí),用于PU的數(shù)據(jù)可包含在殘余四叉樹(RQT)中,殘余四叉樹可包含描述用于對應(yīng)于PU的TU的幀內(nèi)預(yù)測模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)PU經(jīng)幀間模式編碼時(shí),PU可包含定義用于PU的一或多個(gè)運(yùn)動(dòng)向量的數(shù)據(jù)。定義PU的運(yùn)動(dòng)向量的數(shù)據(jù)可描述(例如)運(yùn)動(dòng)向量的水平分量、運(yùn)動(dòng)向量的垂直分量、運(yùn)動(dòng)向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、運(yùn)動(dòng)向量所指向的參考圖片,及/或運(yùn)動(dòng)向量的參考圖片列表(例如,列表0、列表1或列表C)。

      具有一或多個(gè)PU的葉CU還可包含一或多個(gè)變換單位(TU)。變換單元可使用RQT(也稱為TU四叉樹結(jié)構(gòu))來指定,如上文所論述。舉例來說,分裂旗標(biāo)可指示葉CU是否分裂成四個(gè)變換單元。接著,每一變換單元可以進(jìn)一步分裂成其它子TU。當(dāng)TU不進(jìn)一步分裂時(shí),其可被稱為葉TU。一般來說,對于幀內(nèi)譯碼,所有屬于葉CU的葉TU共享相同的幀內(nèi)預(yù)測模式。即,通常應(yīng)用相同的幀內(nèi)預(yù)測模式來計(jì)算葉CU的所有TU的預(yù)測值。對于幀內(nèi)譯碼,視頻編碼器可使用幀內(nèi)預(yù)測模式將每一葉TU的殘余值計(jì)算為CU的對應(yīng)于TU的部分與原始塊之間的差。TU不一定限于PU的大小。因此,TU可比PU大或小。對于幀內(nèi)譯碼,PU可以與相同CU的對應(yīng)葉TU并置。在一些實(shí)例中,葉TU的最大大小可對應(yīng)于對應(yīng)葉CU的大小。

      此外,葉CU的TU還可與相應(yīng)四叉樹數(shù)據(jù)結(jié)構(gòu)(被稱作殘余四叉樹(RQT))相關(guān)聯(lián)。即,葉CU可包含指示葉CU如何分割成TU的四叉樹。TU四叉樹的根節(jié)點(diǎn)通常對應(yīng)于葉CU,而CU四叉樹的根節(jié)點(diǎn)通常對應(yīng)于樹塊(或LCU)。RQT的未分裂的TU被稱作葉TU。一般來說,除非另有說明,本發(fā)明分別使用術(shù)語CU和TU指代葉CU和葉TU。

      視頻序列通常包含一系列視頻幀或圖片。圖片群組(GOP)通常包括一系列的視頻圖片中的一或多者。GOP可包含GOP的標(biāo)頭、圖片中的一或多者的標(biāo)頭或其它地方中的語法數(shù)據(jù),所述語法數(shù)據(jù)描述GOP中包含的圖片的數(shù)目。圖片的每一切片可包含描述用于相應(yīng)切片的編碼模式的切片語法數(shù)據(jù)。圖1的視頻編碼器20可對個(gè)別視頻切片內(nèi)的視頻塊操作以便編碼視頻數(shù)據(jù)。視頻塊可對應(yīng)于CU內(nèi)的譯碼節(jié)點(diǎn)。視頻塊可具有固定或變化的大小,且可根據(jù)指定譯碼標(biāo)準(zhǔn)而大小不同。

      HEVC支持各種PU大小的預(yù)測。假設(shè)特定CU的大小為2N×2N,那么HEVC支持2N×2N或N×N的PU大小的幀內(nèi)預(yù)測,及2N×2N、2N×N、N×2N或N×N的對稱PU大小的幀間預(yù)測。HEVC還支持用于2N×nU、2N×nD、nL×2N及nR×2N的PU大小的幀間預(yù)測的不對稱分割。在不對稱分割中,不分割CU的一個(gè)方向,而將另一方向分割成25%和75%。CU的對應(yīng)于25%分區(qū)的部分由“n”跟隨有“上方”、“下方”、“左側(cè)”或“右側(cè)”的指示來指示。因此,例如,“2N×nU”指經(jīng)水平分割的2N×2N CU,其中頂部為2N×0.5N PU,而底部為2N×1.5N PU。

      在本發(fā)明中,“N×N”與“N乘N”可互換地使用以指就垂直維度和水平維度來說的視頻塊的像素尺寸,例如,16×16像素或16乘16像素。一般來說,16×16塊將在垂直方向上具有16像素(y=16),且在水平方向上具有16像素(x=16)。同樣,N×N塊一般來說在垂直方向上可具有N像素,且在水平方向上可具有N像素,其中N表示非負(fù)整數(shù)值。塊中的像素可布置成行和列。此外,塊可能不一定在水平方向與垂直方向上具有相同數(shù)目的像素。舉例來說,塊可包括N×M像素,其中M未必等于N。

      在使用CU的PU的幀內(nèi)預(yù)測性或幀間預(yù)測性譯碼之后,視頻編碼器20可計(jì)算CU的TU的殘余數(shù)據(jù)。PU可包括描述在空間域(也被稱作像素域)中產(chǎn)生預(yù)測性像素?cái)?shù)據(jù)的方法或模式的語法數(shù)據(jù),并且TU可包括在對殘余視頻數(shù)據(jù)應(yīng)用了變換(例如,離散余弦變換(DCT)、整數(shù)變換、小波變換或概念上類似的變換)的變換域中的系數(shù)。殘余數(shù)據(jù)可對應(yīng)于未編碼圖片的像素與對應(yīng)于PU的預(yù)測值之間的像素差。視頻編碼器20可形成包含用于CU的殘余數(shù)據(jù)的TU,且接著變換所述TU以產(chǎn)生用于CU的變換系數(shù)。

      在任何用于產(chǎn)生變換系數(shù)的變換之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量化為既定具有其最廣泛一般含義的廣義術(shù)語。在一個(gè)實(shí)施例中,量化是指變換系數(shù)經(jīng)量化以可能減少用于表示系數(shù)的數(shù)據(jù)量從而提供進(jìn)一步壓縮的過程。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。例如,n位值可在量化期間被下舍入到m位值,其中n大于m。

      在量化之后,視頻編碼器可以掃描變換系數(shù),從包括經(jīng)量化變換系數(shù)的二維矩陣產(chǎn)生一維向量。掃描可經(jīng)設(shè)計(jì)以將較高能量(并且因此較低頻率)的系數(shù)放置在陣列正面,并且將較低能量(并且因此較高頻率)的系數(shù)放置在陣列的背面。在一些實(shí)例中,視頻編碼器20可利用預(yù)定義掃描次序來掃描經(jīng)量化的變換系數(shù)以產(chǎn)生可經(jīng)熵編碼的串行化向量。在其它實(shí)例中,視頻編碼器20可執(zhí)行自適應(yīng)掃描。在掃描經(jīng)量化變換系數(shù)以形成一維向量之后,視頻編碼器20可(例如)根據(jù)上下文自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法對一維向量進(jìn)行熵編碼。視頻編碼器20還可以對與經(jīng)編碼視頻數(shù)據(jù)相關(guān)聯(lián)的語法元素進(jìn)行熵編碼以供視頻解碼器30在解碼視頻數(shù)據(jù)時(shí)使用。

      視頻編碼器20可進(jìn)一步(例如)在幀標(biāo)頭、塊標(biāo)頭、切片標(biāo)頭或GOP標(biāo)頭中將例如基于塊的語法數(shù)據(jù)、基于幀的語法數(shù)據(jù)及基于GOP的語法數(shù)據(jù)等語法數(shù)據(jù)發(fā)送到視頻解碼器30。GOP語法數(shù)據(jù)可描述相應(yīng)GOP中的多個(gè)幀,及幀語法數(shù)據(jù)可指示用以編碼對應(yīng)幀的編碼/預(yù)測模式。

      圖2是說明可實(shí)施根據(jù)本發(fā)明中所描述的方面的技術(shù)的視頻編碼器的實(shí)例的框圖。視頻編碼器20的單元中的一或多者可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)中的任一者或全部。作為一個(gè)實(shí)例,變換處理單元52可經(jīng)配置以執(zhí)行本發(fā)明中描述的變換技術(shù)中的任一者或全部。然而,本發(fā)明的方面不限于此。在一些實(shí)例中,本發(fā)明中所描述的技術(shù)可在視頻編碼器20的各種組件間共享。在一些實(shí)例中,處理器(未展示)可經(jīng)配置以執(zhí)行本發(fā)明中描述的技術(shù)中的任一者或全部。

      視頻編碼器20可對視頻切片內(nèi)的視頻塊執(zhí)行幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依靠空間預(yù)測來減少或移除給定視頻幀或圖片內(nèi)的視頻中的空間冗余。幀間譯碼依靠時(shí)間預(yù)測來減少或移除視頻序列的鄰近幀或圖片內(nèi)的視頻中的時(shí)間冗余。幀內(nèi)模式(I模式)可指代若干基于空間的譯碼模式中的任一者。例如單向預(yù)測(P模式)或雙向預(yù)測(B模式)的幀間模式可以指若干基于時(shí)間的譯碼模式中的任一者。

      視頻編碼器20可接收待編碼視頻幀內(nèi)的當(dāng)前視頻塊。在圖2的實(shí)例中,視頻編碼器20包含模式選擇單元40、參考幀存儲(chǔ)器64、求和器50、變換處理單元52、量化單元54及熵編碼單元56。模式選擇單元40包含運(yùn)動(dòng)估計(jì)單元42、運(yùn)動(dòng)補(bǔ)償單元44、幀內(nèi)預(yù)測單元46和分割單元48。為進(jìn)行視頻塊重建,視頻編碼器20還可包含反量化單元58、反變換單元60和求和器62。還可包含解塊過濾器(未繪制)以將塊邊界過濾,以從經(jīng)重建視頻移除成塊性假影。必要時(shí),所述解塊濾波器通常將對求和器62的輸出進(jìn)行過濾。除了解塊過濾器之外,還可使用額外過濾器(環(huán)路內(nèi)或環(huán)路后)。為簡潔起見未展示此些過濾器,但是必要時(shí),此些過濾器可對求和器50的輸出進(jìn)行過濾(作為環(huán)路內(nèi)過濾器)。

      在編碼過程期間,視頻編碼器20可接收待譯碼的視頻幀或切片。所述幀或切片可被劃分成多個(gè)視頻塊。運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44可相對于一或多個(gè)參考幀中的一或多個(gè)塊執(zhí)行所接收視頻塊的幀間預(yù)測性譯碼以提供時(shí)間預(yù)測。幀內(nèi)預(yù)測單元46可替代地相對于與待譯碼塊相同的幀或切片中的一或多個(gè)相鄰塊執(zhí)行所接收視頻塊的幀內(nèi)預(yù)測性譯碼以提供空間預(yù)測。視頻編碼器20可執(zhí)行多個(gè)譯碼遍次,(例如)以針對每一視頻數(shù)據(jù)塊選擇一種適當(dāng)?shù)淖g碼模式。

      此外,分割單元48可基于前述譯碼遍次中的前述分割方案的評估將視頻數(shù)據(jù)塊分割成子塊。舉例來說,分割單元48最初可將幀或切片分割成LCU,并且基于速率失真分析(例如,速率失真優(yōu)化)將LCU中的每一者分割成子CU。模式選擇單元40可進(jìn)一步產(chǎn)生指示LCU分割成子CU的四叉樹數(shù)據(jù)結(jié)構(gòu)。四叉樹的葉節(jié)點(diǎn)CU可包含一或多個(gè)PU和一或多個(gè)TU。

      模式選擇單元40可(例如)基于誤差結(jié)果選擇譯碼模式(幀內(nèi)或幀間)中的一者,且將所得經(jīng)幀內(nèi)或幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù),且提供到求和器62以重建用作參考幀的經(jīng)編碼塊。模式選擇單元40還可將語法元素(例如運(yùn)動(dòng)向量、幀內(nèi)模式指示符、分割信息和其它此類語法信息)提供到熵譯碼單元56。

      運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44可高度集成,但出于概念目的單獨(dú)地加以說明。由運(yùn)動(dòng)估計(jì)單元42執(zhí)行的運(yùn)動(dòng)估計(jì)是產(chǎn)生運(yùn)動(dòng)向量的過程,所述過程估計(jì)視頻塊的運(yùn)動(dòng)。舉例來說,運(yùn)動(dòng)向量可指示當(dāng)前視頻幀或圖片內(nèi)的視頻塊的PU相對于參考幀(或其它經(jīng)譯碼單元)內(nèi)的預(yù)測塊相對于當(dāng)前幀(或其它經(jīng)譯碼單元)內(nèi)正經(jīng)譯碼的當(dāng)前塊的位移。預(yù)測塊是經(jīng)發(fā)現(xiàn)在像素差方面與待譯碼塊緊密匹配的塊,其可通過絕對差總和(SAD)、平方差總和(SSD)或其它差量度來確定。在一些實(shí)例中,視頻編碼器20可計(jì)算存儲(chǔ)在參考幀存儲(chǔ)器64中的參考圖片的子整數(shù)像素位置的值。舉例來說,視頻編碼器20可內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它分?jǐn)?shù)像素位置的值。因此,運(yùn)動(dòng)估計(jì)單元42可相對于整數(shù)像素位置和分?jǐn)?shù)像素位置執(zhí)行運(yùn)動(dòng)搜索并且輸出具有分?jǐn)?shù)像素精確度的運(yùn)動(dòng)向量。

      運(yùn)動(dòng)估計(jì)單元42通過比較PU的位置與參考圖片的預(yù)測塊的位置來計(jì)算用于經(jīng)幀間譯碼切片中的視頻塊的PU的運(yùn)動(dòng)向量。參考圖片可選自第一參考圖片列表(列表0)或第二參考圖片列表(列表1),所述參考圖片列表中的每一者識(shí)別存儲(chǔ)在參考幀存儲(chǔ)器64中的一或多個(gè)參考圖片。運(yùn)動(dòng)估計(jì)單元42將計(jì)算出來的運(yùn)動(dòng)向量發(fā)送到熵編碼單元56和運(yùn)動(dòng)補(bǔ)償單元44。

      運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行的運(yùn)動(dòng)補(bǔ)償可包括基于由運(yùn)動(dòng)估計(jì)單元42確定的運(yùn)動(dòng)向量來取出或產(chǎn)生預(yù)測性塊。又,在一些實(shí)例中,運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44可在功能上集成。在接收到當(dāng)前視頻塊的PU的運(yùn)動(dòng)向量后,運(yùn)動(dòng)補(bǔ)償單元44可在參考圖片列表中的一者中定位所述運(yùn)動(dòng)向量指向的預(yù)測性塊。求和器50可通過從經(jīng)譯碼的當(dāng)前視頻塊的像素值減去預(yù)測塊的像素值從而形成像素差值來形成殘余視頻塊,如下文所論述。運(yùn)動(dòng)估計(jì)單元42可相對于明度分量執(zhí)行運(yùn)動(dòng)估計(jì),且運(yùn)動(dòng)補(bǔ)償單元44可針對色度分量和明度分量兩者使用基于亮度分量計(jì)算的運(yùn)動(dòng)向量。模式選擇單元40還可產(chǎn)生與視頻塊和視頻切片相關(guān)聯(lián)的語法元素供視頻解碼器30在解碼視頻切片的視頻塊時(shí)使用。語法元素可表示處于視頻序列層級、視頻幀層級、視頻切片層級、視頻CU層級或視頻PU層級中的一或多者的預(yù)測信息。舉例來說,運(yùn)動(dòng)補(bǔ)償單元44可產(chǎn)生指示包含CU、PU及TU的大小的視頻塊信息及用于幀內(nèi)模式預(yù)測的運(yùn)動(dòng)向量信息的語法元素。

      如上文所描述,作為由運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行的幀間預(yù)測的替代方案,幀內(nèi)預(yù)測單元46可對當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測或計(jì)算。明確地說,幀內(nèi)預(yù)測單元46可確定用來編碼當(dāng)前塊的幀內(nèi)預(yù)測模式。在一些實(shí)例中,幀內(nèi)預(yù)測單元46可(例如)在單獨(dú)的編碼編次期間使用各種幀內(nèi)預(yù)測模式對當(dāng)前塊進(jìn)行編碼,并且?guī)瑑?nèi)預(yù)測單元46(或在一些實(shí)例中為模式選擇單元40)可從測試模式中選擇適當(dāng)?shù)膸瑑?nèi)預(yù)測模式來使用。

      舉例來說,幀內(nèi)預(yù)測單元46可使用速率失真分析計(jì)算各種受測幀內(nèi)預(yù)測模式的速率失真值,并且從所述受測模式當(dāng)中選擇具有最佳速率失真特性的幀內(nèi)預(yù)測模式。速率失真分析通常確定經(jīng)編碼塊與經(jīng)編碼以產(chǎn)生所述經(jīng)編碼塊的原始未經(jīng)編碼塊之間的失真(或誤差)的量,以及用于產(chǎn)生經(jīng)編碼塊的位速率(即,位數(shù)目)。幀內(nèi)預(yù)測單元46可針對各種經(jīng)編碼塊從失真及速率計(jì)算比率,以確定哪個(gè)幀內(nèi)預(yù)測模式展現(xiàn)用于所述塊的最佳速率失真值。

      在選擇用于塊的幀內(nèi)預(yù)測模式之后,幀內(nèi)預(yù)測單元46可將指示用于所述塊的選定幀內(nèi)預(yù)測模式的信息提供到熵編碼單元56。熵編碼單元56可對指示選定幀內(nèi)預(yù)測模式的信息進(jìn)行編碼。視頻編碼器20可在經(jīng)發(fā)射位流中包含配置數(shù)據(jù),所述配置數(shù)據(jù)可包含多個(gè)幀內(nèi)預(yù)測模式索引表及多個(gè)經(jīng)修改的幀內(nèi)預(yù)測模式索引表(還稱為碼字映射表),對用于各種塊的編碼上下文的定義,及對將用于所述上下文中的每一者中的最可能幀內(nèi)預(yù)測模式、幀內(nèi)預(yù)測模式索引表及經(jīng)修改的幀內(nèi)預(yù)測模式索引表的指示。

      視頻編碼器20通過從經(jīng)譯碼的原始視頻塊減去來自模式選擇單元40的預(yù)測數(shù)據(jù)而形成殘余視頻塊。求和器50可執(zhí)行此減法運(yùn)算。變換處理單元52可將變換(例如離散余弦變換(DCT)或概念上類似的變換)應(yīng)用于殘余塊,從而產(chǎn)生包含殘余變換系數(shù)值的視頻塊。變換處理單元52可執(zhí)行概念上類似于DCT的其它變換。也可使用小波變換、整數(shù)變換、子帶變換或其它類型的變換。變換處理單元52可隨后將變換應(yīng)用于殘余塊,從而產(chǎn)生殘余變換系數(shù)的塊。變換處理單元52可將殘余信息從像素值域轉(zhuǎn)換到變換域,例如頻域。更確切地說,在應(yīng)用變換之前,TU可包括像素域中的殘余視頻數(shù)據(jù),并且在應(yīng)用變換之后,TU可包括表示頻域中的殘余視頻數(shù)據(jù)的變換系數(shù)。

      常規(guī)地,視頻編碼器20保持用于由經(jīng)實(shí)施視頻壓縮標(biāo)準(zhǔn)支持的不同大小的TU中的每一者的單獨(dú)上下文模型。對于HEVC標(biāo)準(zhǔn),額外變換單元大小(例如,32×32至128×128)可用于改善視頻譯碼效率,但是額外TU大小也導(dǎo)致增大的存儲(chǔ)器及用以針對額外變換單元大小中的每一者保持上下文模型的計(jì)算要求。在一些情況下,較大TU大小可使用更多上下文,所述上下文可導(dǎo)致增大的存儲(chǔ)器及保持用于較大TU大小的上下文的增加的數(shù)目的計(jì)算要求。為了減小此問題的影響,變換處理單元52可經(jīng)進(jìn)一步配置以執(zhí)行上文和下文關(guān)于在矩陣乘法期間簡化變換(有時(shí)被稱作“正變換”)并限定其位深度(例如,下文及關(guān)于圖4至5所描述的內(nèi)部位深度限定方法)所描述的方法中的任一者。

      變換處理單元52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54可隨后量化變換系數(shù)以進(jìn)一步減小位速率。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。可通過調(diào)整量化參數(shù)來修改量化程度。在一些實(shí)例中,量化單元54可隨后執(zhí)行對包含經(jīng)量化變換系數(shù)的矩陣的掃描。替代地,熵編碼單元56可執(zhí)行所述掃描。

      作為一實(shí)例,變換處理單元52可將變換結(jié)果限定為預(yù)定位深度值(例如,16位位深度或其它位深度值)。在一個(gè)實(shí)施中,變換處理單元52可限定一或多個(gè)內(nèi)部變換級的變換結(jié)果。視頻編碼器20可隨后利用針對預(yù)定位深度值優(yōu)化的專用指令集。以此方式,變換處理單元52可體驗(yàn)更快的處理速度。此過程在圖4中經(jīng)進(jìn)一步描述及表明。

      在上文所描述的實(shí)例中,變換處理單元52經(jīng)配置以將變換結(jié)果限定為16位值。在其它情況下,變換處理單元52可經(jīng)進(jìn)一步配置以確定經(jīng)限定值將產(chǎn)生令人滿意的結(jié)果。此過程在圖5中經(jīng)進(jìn)一步描述及表明。

      在量化之后,熵編碼單元56可對經(jīng)量化變換系數(shù)進(jìn)行熵譯碼。舉例來說,熵編碼單元56可執(zhí)行上下文自適應(yīng)可變長度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼技術(shù)。在基于上下文的熵編碼的情況下,上下文可基于相鄰塊。在由熵編碼模塊56進(jìn)行的熵編碼之后,可將經(jīng)編碼位流發(fā)射到另一裝置(例如,視頻解碼器30),或?qū)⒔?jīng)編碼位流存檔以供稍后發(fā)射或檢索。

      反量化單元58和反變換單元60可分別應(yīng)用反量化和反變換以在像素域中重建殘余塊,例如以供稍后用作參考塊。運(yùn)動(dòng)補(bǔ)償單元44可通過將殘余塊添加到參考幀存儲(chǔ)器64的幀中的一者的預(yù)測性塊來計(jì)算參考塊。運(yùn)動(dòng)補(bǔ)償單元44還可將一或多個(gè)內(nèi)插過濾器應(yīng)用于經(jīng)重建殘余塊以計(jì)算子整數(shù)像素值用于運(yùn)動(dòng)估計(jì)。求和器62可將經(jīng)重建殘余塊添加到由運(yùn)動(dòng)補(bǔ)償單元44產(chǎn)生的運(yùn)動(dòng)補(bǔ)償預(yù)測塊以產(chǎn)生經(jīng)重建視頻塊用于存儲(chǔ)在參考幀存儲(chǔ)器64中。經(jīng)重建視頻塊可隨后由運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44用作參考塊以對后續(xù)視頻幀中的塊進(jìn)行幀間譯碼。

      圖3是說明可實(shí)施本發(fā)明中所描述的方面的技術(shù)的視頻解碼器的實(shí)例的框圖。本發(fā)明中描述的技術(shù)可利用視頻解碼器30的各種組件。在一些實(shí)例中,處理器(未展示)可經(jīng)配置以執(zhí)行所述技術(shù)中的任一者或全部。

      在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元70,所述熵解碼單元進(jìn)一步包含運(yùn)動(dòng)補(bǔ)償單元72和幀內(nèi)預(yù)測單元74的預(yù)測單元81、反量化單元76、反變換單元78、參考圖片(幀)存儲(chǔ)器82和求和器80。視頻解碼器30可執(zhí)行通常與關(guān)于視頻編碼器20(例如,見圖1和圖2)描述的編碼遍次互逆的解碼遍次。運(yùn)動(dòng)補(bǔ)償單元72可基于從熵解碼單元70接收的運(yùn)動(dòng)向量而產(chǎn)生預(yù)測數(shù)據(jù),而幀內(nèi)預(yù)測單元74可基于從熵解碼單元70接收的幀內(nèi)預(yù)測模式指示符而產(chǎn)生預(yù)測數(shù)據(jù)。

      常規(guī)地,視頻解碼器30將針對由經(jīng)實(shí)施視頻壓縮標(biāo)準(zhǔn)支持的不同TU大小中的每一者保持單獨(dú)上下文模型。對于HEVC標(biāo)準(zhǔn),額外變換單元大小(例如,32×32至128×128)可用于改善視頻譯碼效率,但是額外TU大小還導(dǎo)致增大的存儲(chǔ)器及用以針對額外變換單元大小中的每一者保持上下文模型的計(jì)算要求。

      在解碼過程期間,視頻解碼器30可從視頻編碼器20接收表示經(jīng)解碼視頻切片的視頻塊及相關(guān)聯(lián)的語法元素的經(jīng)編碼視頻位流。視頻解碼器30的熵解碼單元70對位流進(jìn)行熵解碼,以產(chǎn)生經(jīng)量化系數(shù)、運(yùn)動(dòng)向量或幀內(nèi)預(yù)測模式指示符和其它語法元素。熵解碼單元70可隨后將運(yùn)動(dòng)向量和其它語法元素轉(zhuǎn)發(fā)到運(yùn)動(dòng)補(bǔ)償單元72。視頻解碼器30可接收視頻切片層級及/或視頻塊層級的語法元素。

      當(dāng)視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(I)切片時(shí),幀內(nèi)預(yù)測單元74可基于所傳信幀內(nèi)預(yù)測模式和來自當(dāng)前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測數(shù)據(jù)。當(dāng)視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(例如,B、P或GPB)切片時(shí),運(yùn)動(dòng)補(bǔ)償單元72可基于從熵解碼單元70接收的運(yùn)動(dòng)向量和其它語法元素產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測塊??蓮膮⒖紙D片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生預(yù)測塊。視頻解碼器30可使用基于存儲(chǔ)于參考圖片(幀)存儲(chǔ)器82中的參考圖片的默認(rèn)建構(gòu)技術(shù)來建構(gòu)參考幀列表,列表0及列表1。運(yùn)動(dòng)補(bǔ)償單元72可通過剖析運(yùn)動(dòng)向量和其它語法元素確定用于當(dāng)前視頻切片的視頻塊的預(yù)測信息,并且可使用所述預(yù)測信息產(chǎn)生用于經(jīng)解碼當(dāng)前視頻塊的預(yù)測性塊。舉例來說,運(yùn)動(dòng)補(bǔ)償單元72可使用所接收語法元素中的一些確定用于對視頻切片的視頻塊進(jìn)行譯碼的預(yù)測模式(例如,幀內(nèi)預(yù)測或幀間預(yù)測)、幀間預(yù)測切片類型(例如,B切片、P切片或GPB切片)、切片的參考圖片列表中的一或多者的構(gòu)造信息、切片的每一經(jīng)幀間編碼的視頻塊的運(yùn)動(dòng)向量、切片的每一經(jīng)幀間譯碼的視頻塊的幀間預(yù)測狀態(tài)和用以對當(dāng)前視頻切片中的視頻塊進(jìn)行解碼的其它信息。

      運(yùn)動(dòng)補(bǔ)償單元72還可基于內(nèi)插過濾器執(zhí)行內(nèi)插。運(yùn)動(dòng)補(bǔ)償單元72可使用如由視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插過濾器來計(jì)算參考塊的子整數(shù)像素的經(jīng)內(nèi)插值。在此情況下,運(yùn)動(dòng)補(bǔ)償單元72可所接收語法元素確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來產(chǎn)生預(yù)測性塊。

      反量化單元76可將在位流中提供且由熵解碼單元70解碼的經(jīng)量化變換系數(shù)反量化,例如,解量化。反量化過程可包含使用視頻解碼器30針對視頻切片中的每一視頻塊計(jì)算以確定應(yīng)應(yīng)用的量化程度和同樣反量化程度的量化參數(shù)QPY。

      反變換單元78可對變換系數(shù)應(yīng)用反變換,例如反DCT、反整數(shù)變換或概念上類似的反變換過程,以便產(chǎn)生像素域中的殘余塊。在運(yùn)動(dòng)補(bǔ)償單元72基于運(yùn)動(dòng)向量和其它語法元素產(chǎn)生了當(dāng)前視頻塊的預(yù)測性塊之后,視頻解碼器30可通過將來自反變換單元78的殘余塊與由運(yùn)動(dòng)補(bǔ)償單元72產(chǎn)生的對應(yīng)的預(yù)測性塊求和來形成經(jīng)解碼視頻塊。求和器80可執(zhí)行此求和運(yùn)算。還可應(yīng)用解塊過濾器以對經(jīng)解碼塊進(jìn)行過濾以便去除成塊性假影。其它環(huán)路過濾器(在譯碼環(huán)路中或在譯碼環(huán)路之后)也可用于使像素轉(zhuǎn)變變平滑或者以其它方式改善視頻質(zhì)量。給定幀或圖片中的經(jīng)解碼視頻塊可隨后存儲(chǔ)于參考圖片(幀)存儲(chǔ)器82中,所述參考圖片(幀)存儲(chǔ)器82可存儲(chǔ)參考圖片以用于后續(xù)運(yùn)動(dòng)補(bǔ)償。參考圖片(幀)存儲(chǔ)器82還可存儲(chǔ)經(jīng)解碼視頻以用于稍后在顯示裝置上呈現(xiàn),例如,圖1的顯示裝置32。

      圖4說明(例如)使用基于網(wǎng)格的計(jì)算的低復(fù)雜度正變換的方法400的流程圖。舉例來說,方法400可由處理器或編碼器(例如,圖2的編碼器20)來執(zhí)行。在一個(gè)實(shí)施例中,圖2的編碼器20的變換處理單元52經(jīng)配置以執(zhí)行方法400。雖然方法的各種框經(jīng)描述為由變換處理單元執(zhí)行,但應(yīng)理解,所述方法的各種塊可由其它處理器、編碼器或其單元執(zhí)行。

      方法400允許編碼器將變換結(jié)果限定為16位值以使得能夠使用針對16位數(shù)據(jù)(例如,ARM結(jié)構(gòu)、高級SIMD(NEON)、數(shù)字信號(hào)處理(DSP)等)優(yōu)化的專用指令集來執(zhí)行16位操作。如上文所描述,限定位深度可改善譯碼效率并減小視頻編碼期間的計(jì)算資源要求。但是,在一些情況下,限定位深度還可降低變換輸出的質(zhì)量。因此,在執(zhí)行16位操作之前,編碼器(例如,編碼器20的變換處理單元52)可經(jīng)進(jìn)一步配置以確定經(jīng)限定值將產(chǎn)生令人滿意的結(jié)果并因此調(diào)整,此進(jìn)一步關(guān)于圖5進(jìn)行描述。

      方法400開始于框405處。隨后在框410處,變換處理單元52將全大小正變換矩陣分解成多個(gè)不復(fù)雜的級(例如,確定多級變換矩陣)??墒褂没诰W(wǎng)格的分解方法發(fā)生分解。在一個(gè)實(shí)施中,不是使用計(jì)算資源來分解全大小變換矩陣,變換處理單元52可實(shí)際上從存儲(chǔ)器或經(jīng)譯碼位流檢索多個(gè)級。在一些實(shí)施中,最初正變換矩陣可為32×32變換矩陣。在其它實(shí)施中,變換矩陣可為另一大小。

      隨后在框415處,變換處理單元52可對多個(gè)級中的每一者執(zhí)行適當(dāng)?shù)淖儞Q操作。在一些情況下,在已經(jīng)執(zhí)行了變換操作之后,所述級中的一或多者可含有大于16位的變換結(jié)果。這些變換結(jié)果可需要針對大于16位(例如,32位操作)系統(tǒng)而設(shè)計(jì)的內(nèi)部計(jì)算操作,所述內(nèi)部計(jì)算操作可減小變換處理單元52的效率。

      因此,在框420處,變換處理單元52可將多個(gè)級中的每一者的變換結(jié)果的內(nèi)部位深度限定為16位值。變換處理單元52可使用飽和邏輯執(zhí)行此經(jīng)限定過程,例如,通過將內(nèi)部值削減為16位值。更確切地說,變換處理單元52可在變換操作期間限定內(nèi)部位深度而不是僅限定變換輸出位深度。為了實(shí)現(xiàn)此限定操作,變換處理單元52可在每一中間變換級的輸出時(shí)執(zhí)行削減函數(shù)。在一個(gè)實(shí)施中,變換處理單元52可使用隨附于附錄A中說明的代碼的削減函數(shù)來執(zhí)行所述限定過程,其中a和b表示與經(jīng)限定到16位范圍內(nèi)的總和相加的值。一個(gè)實(shí)例削減函數(shù)可表示為y=CLIP3(x,minval,maxval)。在此實(shí)例函數(shù)中,x可表示字節(jié)的數(shù)目。如果x小于minval,那么y可設(shè)定成minval。此外,如果x大于maxval,那么y可設(shè)定成maxval。如果x在minval與maxval范圍之間,那么y可設(shè)定成x。更特定的示例性削減函數(shù)可表示為(a+b)sat=CLIP3(-32768,32767,a+b)或(a0*b0+a1*b1+…)sat=CLIP3(-32768,32767,a0*b0+a1*b1+…)中的一者,其遵循與上述削減實(shí)例類似的邏輯樹??蓪?shí)施削減函數(shù)的其它結(jié)構(gòu)以執(zhí)行所述限定過程。在任何情況下,對于加法、減法和/或乘法與加法運(yùn)算,飽和邏輯可將結(jié)果限定到16位。

      在每一級限定內(nèi)部位深度為16位可使得變換處理單元52能夠利用用于所述層級的計(jì)算上有效的指令集。舉例來說,輸入到變換的位深度可為9位并且起始內(nèi)部位深度可大于16位。在一個(gè)實(shí)例中,變換處理單元52可僅能夠執(zhí)行特定位層級的操作(例如,16位操作、32位操作或64位操作等)。因此,當(dāng)內(nèi)部位深度大于16位時(shí),可需要變換處理單元52執(zhí)行至少32位層級的內(nèi)部操作。為了避免此結(jié)果,變換處理單元52可將變換的每一分解級的內(nèi)部位深度限定為16位(例如,以使得不需要32位內(nèi)部操作)。換句話說,由于每一級的內(nèi)部位深度限定為16位,處理器可利用計(jì)算上有效的指令集,所述計(jì)算上有效的指令集經(jīng)設(shè)計(jì)特別供與16位操作(例如,ARM結(jié)構(gòu)、高級SIMD(NEON)、數(shù)字信號(hào)處理(DSP)等)一起使用。

      隨后在任選框425處,變換處理單元52可視情況通過將每一級的經(jīng)限定值偏差(例如,誤差)與閾值相比較而確定經(jīng)限定值是否將產(chǎn)生令人滿意的結(jié)果。舉例來說,在框425處,方法500可通過執(zhí)行下文關(guān)于圖5所論述的方法500的框510和520而確定經(jīng)限定值是否將產(chǎn)生令人滿意的結(jié)果。如果經(jīng)限定值將產(chǎn)生令人滿意的結(jié)果,那么方法400繼續(xù)進(jìn)行至框430。否則的話,在框427處,變換處理單元52可重新計(jì)算系數(shù)的子集直至偏差小于閾值(例如,如下文關(guān)于方法500的框530所論述)。此方法500可允許變換處理單元52增大譯碼效率同時(shí)還保留視頻質(zhì)量。變換處理單元52已經(jīng)確定經(jīng)限定值將產(chǎn)生令人滿意的結(jié)果之后,那么在框430處,變換處理單元52可使用針對16位數(shù)據(jù)(例如,ARM結(jié)構(gòu)、高級SIMD(NEON)、數(shù)字信號(hào)處理(DSP)等)優(yōu)化的專用指令集繼續(xù)對變換數(shù)據(jù)執(zhí)行16位操作。在框490處,所述方法結(jié)束。

      圖5說明用于低復(fù)雜度正變換的方法500的流程圖。所述方法500可由處理器或編碼器(例如,上文關(guān)于圖2所描述的編碼器20)來執(zhí)行。在一個(gè)實(shí)施例中,編碼器的變換處理單元(例如,圖2的編碼器20的變換處理單元52)可用于執(zhí)行所述方法500。實(shí)際上,雖然描述方法500為由編碼器20的變換處理單元52執(zhí)行,但應(yīng)理解,所述方法500可由不同處理器、編碼器或編碼器的處理單元來執(zhí)行。在一個(gè)實(shí)施例中,方法500首先確定限定值(例如,從圖4的方法的經(jīng)限定值)是否將產(chǎn)生令人滿意的結(jié)果并因此而調(diào)整。如上文關(guān)于圖4所解釋,當(dāng)變換處理單元52限定內(nèi)部位深度時(shí),其還可降低變換輸出的質(zhì)量。關(guān)于圖5所描述的方法確定可發(fā)生質(zhì)量降低并且因此而調(diào)整直至偏差小于預(yù)定閾值的程度。

      方法500開始于框505處。在方法500的開始處,變換處理單元52已經(jīng)將全大小正變換矩陣分解成多個(gè)不復(fù)雜的級。舉例來說,正變換矩陣可已經(jīng)根據(jù)關(guān)于圖4所描述的方法而分解。每一級的內(nèi)部位深度可已經(jīng)限定為特定位深度值(例如,16位位深度值),如關(guān)于圖4進(jìn)一步論述。

      隨后在框510處,變換處理單元52可確定經(jīng)限定值(例如,最終系數(shù))與原始值的偏差。作為一實(shí)例,當(dāng)使用飽和邏輯時(shí),最終系數(shù)值可偏離原始值(例如,含有誤差層級)。

      在計(jì)算所述偏差之后,在框520處,變換處理單元52可確定所述偏差是否大于預(yù)定閾限。如果是這樣,那么方法500進(jìn)行到框530。在框530處,變換處理單元52可重新計(jì)算系數(shù)的子集(例如,通過部分應(yīng)用變換來重新計(jì)算AC層級系數(shù)的子集)并且使用重新計(jì)算的結(jié)果來替換同一經(jīng)限定值子集。此過程可補(bǔ)償最終系數(shù)值與原始值的偏差同時(shí)也將計(jì)算要求(例如,周期)和復(fù)雜度最小化。在一個(gè)實(shí)施中,系數(shù)的子集可僅含有DC層級系數(shù),因?yàn)镈C層級系數(shù)具有比AC層級系數(shù)更大的動(dòng)態(tài)范圍;因此,其更可能偏離原始值。在其它實(shí)施中,且為了進(jìn)一步增大精確性,系數(shù)的子集可含有具有接近除含有DC層級系數(shù)外的DC層級的值的AC層級系數(shù)。

      在重新計(jì)算了如上文所解釋的小的系數(shù)子集之后,變換處理單元可隨后返回至框510并且又檢查與閾值的偏差。當(dāng)變換處理單元52已經(jīng)確定所述偏差小于預(yù)定閾值持久極限時(shí)(在框520處),方法500進(jìn)行到框590并結(jié)束。在框590處,變換處理單元52可確定經(jīng)限定值將產(chǎn)生令人滿意的結(jié)果,并且提供經(jīng)重新計(jì)算的系數(shù)子集。變換處理單元52可隨后利用在方法400的框427處重新計(jì)算的系數(shù)子集,如上文關(guān)于圖4所論述。

      上述所有方法是關(guān)于N×N變換描述的。然而,本發(fā)明中所描述的方法不限于N×N變換。方法還可關(guān)于任何大小的變換而實(shí)施,無論變換中之維度的數(shù)目。

      應(yīng)認(rèn)識(shí)到,取決于實(shí)例,本文中所描述的技術(shù)中的任一者的某些動(dòng)作或事件可用不同順序執(zhí)行、可添加、合并或全部省略(例如,實(shí)踐所述技術(shù)并不需要所有的所描述動(dòng)作或事件)。此外,在某些實(shí)例中,可例如經(jīng)由多線程處理、中斷處理或多個(gè)處理器同時(shí)而非循序執(zhí)行動(dòng)作或事件。

      在一或多個(gè)實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件實(shí)施,那么所述功能可作為一或多個(gè)指令或代碼在計(jì)算機(jī)可讀媒體上存儲(chǔ)或發(fā)射,且由基于硬件的處理單元執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲(chǔ)媒體,其對應(yīng)于有形媒體(例如,數(shù)據(jù)存儲(chǔ)媒體),或包含促進(jìn)將計(jì)算機(jī)程序從一處傳送到另一處(例如,根據(jù)通信協(xié)議)的任何媒體的通信媒體。以此方式,計(jì)算機(jī)可讀媒體通??蓪?yīng)于(1)有形計(jì)算機(jī)可讀存儲(chǔ)媒體,其為非暫時(shí)性的,或(2)通信媒體,例如信號(hào)或載波。數(shù)據(jù)存儲(chǔ)媒體可為可由一或多個(gè)計(jì)算機(jī)或一或多個(gè)處理器存取以檢索用于實(shí)施本發(fā)明中所描述的技術(shù)的指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。

      借助于實(shí)例而非限制,此類計(jì)算機(jī)可讀存儲(chǔ)媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)裝置、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)裝置、快閃存儲(chǔ)器或可用于存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望程序代碼并且可以通過計(jì)算機(jī)存取的任何其它媒體。又,可恰當(dāng)?shù)貙⑷魏芜B接稱作計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數(shù)字訂戶線(DSL)或無線技術(shù)(例如,紅外線、無線電及微波)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源發(fā)射指令,那么將同軸電纜、光纖纜線、雙絞線、DSL或無線技術(shù)(例如,紅外線、無線電及微波)包含在媒體的定義中。但是,應(yīng)理解,所述計(jì)算機(jī)可讀存儲(chǔ)媒體和數(shù)據(jù)存儲(chǔ)媒體并不包含連接、載波、信號(hào)或其它暫時(shí)性媒體,而是實(shí)際上針對于非暫時(shí)性有形存儲(chǔ)媒體。如本文所使用,磁盤和光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤及藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各者的組合也應(yīng)包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。

      可由一或多個(gè)處理器(例如,一或多個(gè)數(shù)字信號(hào)處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路)來執(zhí)行所述指令。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面,本文所述的功能性可在經(jīng)配置用于編碼及解碼的專用硬件及/或軟件模塊內(nèi)提供,或者并入在組合式編解碼器中。又,所述技術(shù)可完全實(shí)施于一或多個(gè)電路或邏輯元件中。

      本發(fā)明的技術(shù)可在多種多樣的裝置或設(shè)備中實(shí)施,包含無線手持機(jī)、集成電路(IC)或IC集合(例如,芯片組)。在本發(fā)明中描述各種組件、模塊或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的功能方面,但未必需要由不同硬件單元來實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可配合合適的軟件和/或固件組合在一個(gè)編解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個(gè)處理器。

      已描述了各種實(shí)例。這些及其它實(shí)例屬于所附權(quán)利要求書的范圍內(nèi)。

      附錄A:16×16正變換的基于網(wǎng)格的實(shí)施方案的實(shí)例

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1