視頻譯碼中的最后有效變換系數(shù)在掃描次序中的位置的導(dǎo)出的制作方法
【專利摘要】一種視頻解碼器將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo)。所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。所述視頻解碼器可基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
【專利說明】視頻譯碼中的最后有效變換系數(shù)在掃描次序中的位置的導(dǎo)出
[0001]本申請案主張2011年6月28日申請的第61 / 502,269號美國臨時(shí)申請案、2011年6月30日申請的第61 / 503,529號美國臨時(shí)申請案、2011年10月24日申請的第61 /550,775號美國臨時(shí)申請案以及2011年10月24日申請的第61 / 550, 784號美國臨時(shí)申請案的權(quán)利,所述各臨時(shí)申請案的全部內(nèi)容特此以引用的方式并入。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及用于對視頻數(shù)據(jù)進(jìn)行編碼和解碼的技術(shù)。更具體地說,本發(fā)明涉及發(fā)信號通知表示視頻數(shù)據(jù)中的信息的有效變換系數(shù)的位置。
【背景技術(shù)】
[0003]數(shù)字視頻能力可并入到廣泛范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會(huì)議裝置及其類似者。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù)(例如,由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264 / MPEG-4第10部分高級視頻譯碼(AVC)所定義的標(biāo)準(zhǔn)及這些標(biāo)準(zhǔn)的擴(kuò)展中所描述的視頻壓縮技術(shù)),以較有效地發(fā)射及接收數(shù)字視頻信息。
[0004]視頻壓縮技術(shù)執(zhí)行空間預(yù)測和/或時(shí)間預(yù)測,以減少或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,一視頻幀或切片可以分割成多個(gè)塊。每一塊可被進(jìn)一步分害I]。使用相對于相鄰塊的空間預(yù)測來對經(jīng)幀內(nèi)譯碼(I)幀或切片中的塊進(jìn)行編碼。經(jīng)幀間譯碼(P或B)幀或切片中的塊可以使用相對于相同幀或切片中的相鄰塊的空間預(yù)測或相對于其它參考幀的時(shí)間預(yù)測。
【發(fā)明內(nèi)容】
[0005]本發(fā)明大體上涉及用于在視頻譯碼期間發(fā)信號通知最后有效系數(shù)(LSC)在變換系數(shù)塊中的位置的技術(shù)。舉例來說,所述技術(shù)提供視頻解碼器,其接收變換系數(shù)塊的LSC的基于塊的LSC指示符。在根據(jù)掃描次序掃描所述塊時(shí),所述基于塊的LSC指示符指示所述LSC的坐標(biāo)。所述視頻解碼器將所述基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。所述視頻解碼器可接著使用所述基于掃描的LSC指示符來對有效性映射進(jìn)行解碼。
[0006]在一個(gè)實(shí)例中,本發(fā)明描述一種用于對視頻數(shù)據(jù)進(jìn)行解碼的方法。所述方法包括將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo)。所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。所述方法還包括基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
[0007]在另一實(shí)例中,本發(fā)明描述一種視頻解碼裝置,其包括經(jīng)配置以將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的一個(gè)或一個(gè)以上處理器。所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo)。所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。所述一個(gè)或一個(gè)以上處理器還經(jīng)配置以基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
[0008]在另一實(shí)例中,本發(fā)明描述一種視頻解碼裝置,其包括用于將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的裝置。所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo)。所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。所述視頻解碼裝置還包括用于基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼的裝置。
[0009]在另一實(shí)例中,本發(fā)明描述包括上面存儲有指令的計(jì)算機(jī)可讀存儲媒體的計(jì)算機(jī)程序產(chǎn)品,所述指令配置一個(gè)或一個(gè)以上處理器以將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo)。所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。所述指令還配置所述一個(gè)或一個(gè)以上處理器以基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
[0010]在隨附圖式及以下描述中闡述本發(fā)明的一個(gè)或一個(gè)以上方面的細(xì)節(jié)。本發(fā)明中所描述的技術(shù)的其他特征、目標(biāo)及優(yōu)點(diǎn)將從描述及圖式且此權(quán)利要求書而顯而易見。
【專利附圖】
【附圖說明】
[0011]圖1是說明實(shí)例視頻譯碼系統(tǒng)的框圖。
[0012]圖2是說明實(shí)例變換系數(shù)塊的概念圖。
[0013]圖3是說明實(shí)例掃描次序的概念圖。
[0014]圖4是說明用于圖2的變換系數(shù)塊的實(shí)例有效性映射的二維表示的概念圖。
[0015]圖5是說明視頻編碼器的實(shí)例配置的框圖。
[0016]圖6是說明視頻解碼器的實(shí)例配置的框圖。
[0017]圖7是說明由視頻編碼器執(zhí)行的實(shí)例操作的流程圖。
[0018]圖8是說明用以對變換系數(shù)塊進(jìn)行解碼的實(shí)例操作的流程圖。
[0019]圖9是說明將基于塊的最后有效系數(shù)(LSC)指示符轉(zhuǎn)換成基于掃描的LSC指示符的實(shí)例非迭代操作的流程圖。
[0020]圖10是說明將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的另一實(shí)例非迭代操作的流程圖。
[0021]圖11是說明將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的實(shí)例操作的流程圖,其中存取映射數(shù)據(jù)結(jié)構(gòu)。
[0022]圖12是說明將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的實(shí)例迭代操作的流程圖。
[0023]圖13是展示最后有效變換系數(shù)的變換系數(shù)塊的概念圖。
【具體實(shí)施方式】
[0024]【專利附圖】
【附圖說明】若干實(shí)例。由附圖中的參考數(shù)字指示的元件對應(yīng)于在以下描述中由相同參考數(shù)字指示的元件。在本發(fā)明中,名稱以序數(shù)詞(例如,“第一”、“第二”、“第三”,等)開始的元件未必暗示所述元件具有特定次序。確切地說,此些序數(shù)詞僅用于指代相同或類似類型的不同元件。
[0025]如下文所描述,視頻編碼器可產(chǎn)生變換系數(shù)塊。所述變換系數(shù)塊中的每一者可為變換系數(shù)的二維陣列。在視頻編碼器產(chǎn)生變換系數(shù)塊之后,所述視頻編碼器可根據(jù)掃描次序識別變換系數(shù)塊的最后有效系數(shù)(LSC)。換句話說,當(dāng)變換系數(shù)塊的變換系數(shù)是根據(jù)掃描次序而排序時(shí),變換系數(shù)塊的LSC為最后非零變換系數(shù)。掃描次序可在變換系數(shù)塊的DC變換系數(shù)(即,左上變換系數(shù))處開始。
[0026]視頻編碼器可輸出基于掃描的LSC指示符,其根據(jù)掃描次序指示LSC的序數(shù)位置。換句話說,視頻編碼器可基于掃描的LSC指示符,當(dāng)變換系數(shù)是根據(jù)掃描次序而排序時(shí),所述基于掃描的LSC指示符指示LSC為第η個(gè)變換系數(shù)。
[0027]在一些常規(guī)視頻編碼器中,視頻編碼器可對變換系數(shù)塊執(zhí)行一系列譯碼遍次。在所述譯碼遍次中的每一者期間,視頻編碼器可根據(jù)掃描次序處理變換系數(shù)塊的變換系數(shù)。在所述譯碼遍次中的每一者期間,視頻編碼器對關(guān)于變換系數(shù)的信息進(jìn)行編碼。
[0028]在譯碼遍次中的一者期間,視頻編碼器產(chǎn)生有效性映射。有效性映射包含一系列有效性旗標(biāo),其指示變換系數(shù)塊中的變換系數(shù)是否有效(即,非零)。為產(chǎn)生有效性映射,視頻編碼器可根據(jù)掃描次序處理變換系數(shù)中的每一者。當(dāng)視頻編碼器處理變換系數(shù)時(shí),視頻編碼器可確定變換系數(shù)的序數(shù)位置根據(jù)掃描次序是否出現(xiàn)于LSC的序數(shù)位置之前。如果如此,則視頻編碼器可產(chǎn)生用于所述變換系數(shù)的有效性旗標(biāo)。如果變換系數(shù)的值為非零,則有效性旗標(biāo)可具有為“I”的值。如果變換系數(shù)的值等于零,則有效性旗標(biāo)可具有為“O”的值。然而,如果變換系數(shù)的序數(shù)位置根據(jù)掃描次序并不出現(xiàn)于LSC的序數(shù)位置之前,則視頻編碼器不產(chǎn)生用于所述變換系數(shù)的有效性旗標(biāo)。
[0029]視頻解碼器可接收變換系數(shù)塊的基于掃描的LSC指示符和有效性映射。視頻解碼器可接著基于所述基于掃描的LSC指示符確定所述有效性映射是否包含用于變換系數(shù)塊的特定變換系數(shù)的有效性旗標(biāo)。如果視頻編碼器并未產(chǎn)生用于變換系數(shù)的有效性旗標(biāo),則視頻解碼器可推斷所述變換系數(shù)無效。
[0030]在一些情況下,視頻編碼器可產(chǎn)生基于塊的LSC指示符,其指示LSC的變換系數(shù)塊內(nèi)的坐標(biāo)。視頻編碼器可接著對所述基于塊的LSC指示符進(jìn)行CABAC編碼。因?yàn)閄與y坐標(biāo)之間的統(tǒng)計(jì)關(guān)系,使用基于塊的LSC指示符指示LSC的位置比依據(jù)LSC的序數(shù)位置來指示LSC的位置可能需要較少位。
[0031]此外,在一些情況下,視頻編碼器使用掃描次序的反轉(zhuǎn)來產(chǎn)生有效性映射時(shí)而非視頻編碼器使用掃描次序來產(chǎn)生有效性映射時(shí)可能需要較少位來表示有效性映射。然而,如果視頻編碼器產(chǎn)生基于塊的LSC指示符且如果視頻編碼器使用反轉(zhuǎn)掃描次序來產(chǎn)生有效性映射,則視頻解碼器可能不能夠基于所述基于塊的LSC指示符確定的序數(shù)位置是否出現(xiàn)于變換系數(shù)塊的LSC的序數(shù)位置之前。因此,視頻解碼器可能不能夠基于所述基于塊的LSC指示符確定有效性映射是否包含用于特定變換系數(shù)的有效性旗標(biāo)。
[0032]為解決此問題,根據(jù)本發(fā)明的技術(shù),視頻解碼器可執(zhí)行將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的轉(zhuǎn)換操作。所述基于掃描的LSC指示符可根據(jù)掃描次序指示LSC的序數(shù)位置。視頻解碼器可接著基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
[0033]如本文所描述,視頻解碼器可以各種方式將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。舉例來說,視頻解碼器可執(zhí)行非迭代算法以基于塊的LSC指示符導(dǎo)出基于掃描的LSC指示符。在另一實(shí)例中,視頻解碼器可至少部分地通過存取將基于塊的LSC指示符映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)而將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。在又一實(shí)例中,視頻解碼器可執(zhí)行根據(jù)掃描次序掃描經(jīng)過變換系數(shù)塊中的位置的循環(huán)操作,直到達(dá)到具有基于塊的LSC指示符的坐標(biāo)的位置為止。在此實(shí)例中,視頻解碼器可在變換系數(shù)塊的每一位置具有所述坐標(biāo)之前遞增所述位置的基于掃描的LSC指示符。
[0034]圖1是說明可利用本發(fā)明中描述的技術(shù)的實(shí)例視頻譯碼系統(tǒng)10的框圖。在本發(fā)明中,術(shù)語“視頻譯碼”可指視頻編碼和視頻解碼。如圖1中所示,視頻譯碼系統(tǒng)10包含源裝置12和目的地裝置14。源裝置12產(chǎn)生經(jīng)編碼的視頻數(shù)據(jù)。目的地裝置14可在稍后時(shí)間對所述經(jīng)編碼的視頻數(shù)據(jù)進(jìn)行解碼。源裝置12和目的地裝置14可包括廣泛范圍的裝置中的任一者,包含桌上型計(jì)算機(jī)、筆記本(即,膝上型)計(jì)算機(jī)、平板計(jì)算機(jī)、機(jī)頂盒、移動(dòng)電話、電話手持機(jī)、“智能”板、電視、相機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻串流裝置,或能夠?qū)σ曨l數(shù)據(jù)進(jìn)行編碼和解碼的多種類型的計(jì)算裝置。
[0035]目的地裝置14可經(jīng)由信道16接收經(jīng)編碼的視頻數(shù)據(jù)。信道16可包括能夠?qū)⒔?jīng)編碼的視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的媒體或裝置。在一個(gè)實(shí)例中,信道16可包括使得源裝置12能夠?qū)崟r(shí)將經(jīng)編碼的視頻數(shù)據(jù)直接發(fā)射到目的地裝置14的通信媒體。源裝置12或另一裝置可根據(jù)通信標(biāo)準(zhǔn)(例如無線通信協(xié)議)調(diào)制經(jīng)編碼的視頻數(shù)據(jù)。通信媒體可包括任何無線或有線通信媒體,例如射頻(RF)頻譜或一個(gè)或一個(gè)以上物理發(fā)射線路。信道16可形成分組網(wǎng)絡(luò)(例如局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)絡(luò),例如因特網(wǎng))的部分。信道16可包含路由器、交換器、基站或可用于促進(jìn)將經(jīng)編碼的視頻數(shù)據(jù)從源裝置12傳達(dá)到目的地裝置14的任何其它設(shè)備。
[0036]在一些實(shí)例中,源裝置12和目的地裝置14可經(jīng)裝備以用于無線通信。然而,本發(fā)明的技術(shù)不必限于無線應(yīng)用或設(shè)定。確切地說,所述技術(shù)可應(yīng)用于視頻譯碼中以支持多種多媒體應(yīng)用中的任一者,例如空中協(xié)議電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、例如經(jīng)由因特網(wǎng)的串流視頻發(fā)射、對數(shù)字視頻進(jìn)行編碼以供存儲在數(shù)據(jù)存儲媒體上、對存儲在數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,源裝置12和目的地裝置14可經(jīng)配置以支持單向或雙向視頻發(fā)射,以支持例如視頻串流、視頻回放、視頻廣播和/或視頻電話等應(yīng)用。
[0037]此外,在一些實(shí)例中,源裝置12可將經(jīng)編碼的視頻數(shù)據(jù)輸出到存儲系統(tǒng)34。類似地,目的地裝置14可存取存儲在存儲系統(tǒng)34上的經(jīng)編碼的視頻數(shù)據(jù)。在各種實(shí)例中,存儲系統(tǒng)34可包含各種分布式或在本地存取的數(shù)據(jù)存儲媒體。數(shù)據(jù)存儲媒體的實(shí)例類型包含但不限于硬盤驅(qū)動(dòng)器、藍(lán)光光盤、DVD、⑶-ROM、固態(tài)存儲器單元、易失性或非易失性存儲器,或適合于存儲經(jīng)編碼的視頻數(shù)據(jù)的其它數(shù)字存儲媒體。
[0038]在一些實(shí)例中,存儲系統(tǒng)34可包括文件服務(wù)器或另一中間存儲裝置,其可保持源裝置12產(chǎn)生的經(jīng)編碼視頻。目的地裝置14可經(jīng)由串流或下載從存儲系統(tǒng)34存取經(jīng)存儲的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼的視頻數(shù)據(jù)且將經(jīng)編碼的視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)連接存儲(NAS)裝置或本地磁盤驅(qū)動(dòng)器。目的地裝置14可以通過任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包含因特網(wǎng)連接)來存取經(jīng)編碼的視頻數(shù)據(jù)。此可包含適合于存取存儲于文件服務(wù)器上的經(jīng)編碼的視頻數(shù)據(jù)的無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等)或兩者的組合。經(jīng)編碼的視頻數(shù)據(jù)從存儲系統(tǒng)34的發(fā)射可為流式發(fā)射、下載發(fā)射或兩者的組合。
[0039]在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口 22。在一些實(shí)例中,輸出接口 22還可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)和/或發(fā)射器。視頻源18將視頻數(shù)據(jù)提供到視頻編碼器20。在各種實(shí)例中,視頻源18可包括用于提供視頻數(shù)據(jù)的各種類型的裝置和/或系統(tǒng)。舉例來說,視頻源18可包括視頻俘獲裝置,例如攝像機(jī)。在另一實(shí)例中,視頻源18可包括含有先前俘獲的視頻的視頻存檔。在又一實(shí)例中,視頻源18可包括從視頻內(nèi)容提供者接收視頻的視頻饋送接口。在又一實(shí)例中,視頻源18可包括用于產(chǎn)生計(jì)算機(jī)圖形數(shù)據(jù)的計(jì)算機(jī)圖形系統(tǒng)。
[0040]如下文所詳細(xì)描述,視頻編碼器20可對由視頻源18提供的視頻數(shù)據(jù)進(jìn)行編碼。在一些實(shí)例中,源裝置12可經(jīng)由輸出接口 22將經(jīng)編碼的視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。此外,在一些實(shí)例中,存儲系統(tǒng)34可存儲經(jīng)編碼的視頻數(shù)據(jù)以供目的地裝置14或其它裝置稍后存取。
[0041]本發(fā)明可大體上參考視頻編碼器20向另一裝置(例如視頻解碼器30)“發(fā)信號通知”某些信息。然而,應(yīng)理解,視頻編碼器20可通過使某些語法元素與視頻數(shù)據(jù)的各種經(jīng)編碼部分相關(guān)聯(lián)來發(fā)信號通知信息。也就是說,視頻編碼器20可通過將某些語法元素存儲到視頻數(shù)據(jù)的各種經(jīng)編碼部分的標(biāo)頭來“發(fā)信號通知”數(shù)據(jù)。在一些情況下,此些語法元素可在被視頻解碼器30接收和解碼之前,先被編碼和存儲(例如,存儲到存儲系統(tǒng)34)。因此,術(shù)語“發(fā)信號通知”可大體是指對用以對經(jīng)壓縮視頻數(shù)據(jù)進(jìn)行解碼的語法或其它數(shù)據(jù)的傳達(dá)。此傳達(dá)可實(shí)時(shí)或接近實(shí)時(shí)地發(fā)生?;蛘撸送ㄐ趴稍谝欢〞r(shí)間跨度內(nèi)發(fā)生,例如可能在將語法元素于編碼時(shí)存儲到媒體時(shí)發(fā)生,其接著可由解碼裝置在存儲到此媒體之后的任何時(shí)間加以檢索。
[0042]在圖1的實(shí)例中,目的地裝置14包含輸入接口 28、視頻解碼器30和顯示裝置32。在一些實(shí)例中,輸入接口 28可包含接收器和/或調(diào)制解調(diào)器。目的地裝置14的輸入接口28從信道16和/或存儲系統(tǒng)34接收經(jīng)編碼的視頻數(shù)據(jù)。視頻解碼器30對通過輸入接口28所接收的經(jīng)編碼的視頻數(shù)據(jù)進(jìn)行解碼。目的地裝置14可再現(xiàn)經(jīng)解碼的視頻數(shù)據(jù)以供顯示在顯示裝置32上。
[0043]顯示裝置32可與目的地裝置14集成或在目的地裝置14外部。在一些實(shí)例中,目的地裝置14可包含集成顯示裝置,且還經(jīng)配置以與外部顯示裝置介接。在各種實(shí)例中,顯示裝置32可包括各種類型的顯示裝置。舉例來說,顯示裝置32可包括液晶顯示器(IXD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器,或另一類型的顯示裝置。
[0044]盡管圖1中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成,且可包含適當(dāng)多路復(fù)用器-多路分用器單元或其它硬件和軟件以處置對共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。在一些實(shí)例中,如果適用的話,多路復(fù)用器-多路分用器單元可符合ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等其它協(xié)議。[0045]視頻編碼器20和視頻解碼器30各自可實(shí)施為多種合適的編碼器電路中的任一者,例如一個(gè)或一個(gè)以上微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分地用軟件實(shí)施所述技術(shù)時(shí),裝置可將用于所述軟件的指令存儲于合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中且使用一個(gè)或一個(gè)以上處理器用硬件執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者可包含在一個(gè)或一個(gè)以上編碼器或解碼器中,所述編碼器或解碼器中的任一者可以集成為相應(yīng)裝置中的組合編碼器/解碼器(編解碼器)的部分。
[0046]視頻編碼器20和視頻解碼器30可根據(jù)視頻譯碼標(biāo)準(zhǔn)(例如目前正在開發(fā)的高效率視頻譯碼(HEVC)標(biāo)準(zhǔn))來操作,且可符合HEVC測試模型(HM)?;蛘?,視頻編碼器20和視頻解碼器30可根據(jù)其它專屬或業(yè)界標(biāo)準(zhǔn)來操作,所述標(biāo)準(zhǔn)例如是ITU-T H.264標(biāo)準(zhǔn),也被稱為MPEG-4第10部分高級視頻譯碼(AVC),或此類標(biāo)準(zhǔn)的擴(kuò)展。對標(biāo)準(zhǔn)的實(shí)例擴(kuò)展包含對H.264 / AVC標(biāo)準(zhǔn)的可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴(kuò)展。本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實(shí)例包含MPEG-2和ITU-T H.263。
[0047]如上文簡要提及,視頻編碼器20對視頻數(shù)據(jù)進(jìn)行編碼。所述視頻數(shù)據(jù)可包括一個(gè)或一個(gè)以上圖片序列。所述圖片中的每一者為靜態(tài)圖像。在一些情況下,圖片可被稱為“幀”。當(dāng)視頻編碼器20對視頻數(shù)據(jù)進(jìn)行編碼時(shí),視頻編碼器20可產(chǎn)生位流。位流包含形成經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)的表示的位序列。經(jīng)譯碼圖片為圖片的經(jīng)譯碼表示。
[0048]為產(chǎn)生位流,視頻編碼器20可對視頻數(shù)據(jù)中的圖片序列執(zhí)行編碼操作。當(dāng)視頻編碼器20對圖片序列執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生一系列經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)。此外,視頻編碼器20可產(chǎn)生含有適用于零或更多個(gè)圖片序列的參數(shù)的序列參數(shù)集。此夕卜,視頻編碼器20可產(chǎn)生含有適用于作為整體的零或更多個(gè)圖片的圖片參數(shù)集(PPS)。在一些實(shí)例中,視頻編碼器20可產(chǎn)生調(diào)適參數(shù)集(APS)。APS可存儲適用于零或更多個(gè)圖片的參數(shù)。
[0049]為產(chǎn)生經(jīng)譯碼圖片,視頻編碼器20可將一圖片分割成一個(gè)或一個(gè)以上大小相等的視頻塊。視頻塊中的每一者可與樹塊相關(guān)聯(lián)。視頻塊可為視頻數(shù)據(jù)(例如,樣本)的二維(2D)塊。在一些情況下,樹塊還可稱為最大譯碼單元(LCU)。HEVC的樹塊可大致類似于例如H.264 / AVC等前述標(biāo)準(zhǔn)的宏塊。然而,樹塊不必限于特定大小,且可包含一個(gè)或一個(gè)以上譯碼單元(⑶)。
[0050]在一些實(shí)例中,視頻編碼器20可將一圖片分割成多個(gè)切片。所述切片中的每一者可包含整數(shù)數(shù)目個(gè)CU。在一些情況下,一片段包括整數(shù)數(shù)目個(gè)樹塊。在其它情況下,切片的邊界可在樹塊內(nèi)。如果切片的邊界在樹塊內(nèi),則所述切片可被稱為細(xì)粒度切片。在一些實(shí)例中,視頻編碼器20可根據(jù)切片的大小(以字節(jié)計(jì))或根據(jù)切片中的樹塊的數(shù)目來對切片進(jìn)行編碼。
[0051]作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片的每一切片執(zhí)行編碼操作。對切片的編碼操作可產(chǎn)生與所述切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)。與切片相關(guān)聯(lián)的經(jīng)編碼數(shù)據(jù)可被稱為“經(jīng)譯碼切片”。經(jīng)譯碼切片可包含切片標(biāo)頭和切片數(shù)據(jù)。切片數(shù)據(jù)可包含呈譯碼次序的一系列連續(xù)譯碼單元。切片標(biāo)頭可含有關(guān)于切片的第一或樹塊的數(shù)據(jù)元素。
[0052]為產(chǎn)生切片的經(jīng)譯碼切片數(shù)據(jù),視頻編碼器20可對切片中的每一樹塊執(zhí)行編碼操作。當(dāng)視頻編碼器20對樹塊執(zhí)行編碼操作時(shí),視頻編碼器20可產(chǎn)生經(jīng)譯碼樹塊。經(jīng)譯碼樹塊可包括表示樹塊的經(jīng)編碼版本的數(shù)據(jù)。
[0053]為產(chǎn)生經(jīng)譯碼樹塊,視頻編碼器20可對樹塊的視頻塊遞歸地執(zhí)行四叉樹分割以將所述視頻塊劃分成逐漸變小的視頻塊。較小視頻塊中的每一者可與不同CU相關(guān)聯(lián)。舉例來說,視頻編碼器20可將樹塊的視頻塊分割成四個(gè)大小相等的子塊、將所述子塊中的一者或一者以上分割成四個(gè)大小相等的子子塊,以此類推。位流中的一個(gè)或一個(gè)以上語法元素可指示視頻編碼器20可分割樹塊的視頻塊的最大次數(shù)。語法元素還可指示最小譯碼單元(S⑶)。⑶的視頻塊在形狀上可為正方形。
[0054]視頻編碼器20可對樹塊中的每一未分割CU執(zhí)行編碼操作。作為對未分割CU執(zhí)行編碼操作的部分,視頻編碼器20可產(chǎn)生用于所述CU的一個(gè)或一個(gè)以上預(yù)測單元(PU)。CU的PU中的每一者可與CU的視頻塊內(nèi)的不同視頻塊相關(guān)聯(lián)。視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生用于CU的PU的預(yù)測數(shù)據(jù)。當(dāng)視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生用于PU的預(yù)測數(shù)據(jù)時(shí),視頻編碼器20從含有所述PU的圖片的經(jīng)解碼樣本導(dǎo)出用于所述PU的預(yù)測數(shù)據(jù)。當(dāng)視頻編碼器20使用幀間預(yù)測來產(chǎn)生用于的預(yù)測數(shù)據(jù)時(shí),視頻編碼器20從不同于含有所述CU的圖片的參考圖片的經(jīng)解碼值導(dǎo)出用于所述PU的預(yù)測數(shù)據(jù)。用于PU的預(yù)測數(shù)據(jù)可包含預(yù)測視頻塊和各種語法元素。
[0055]在視頻編碼器20產(chǎn)生用于⑶的預(yù)測數(shù)據(jù)之后,視頻編碼器20可產(chǎn)生⑶的殘余數(shù)據(jù)。CU的殘余數(shù)據(jù)可指示用于CU的PU的預(yù)測視頻塊中的樣本與CU的原始視頻塊中的樣本之間的差。
[0056]樹塊的每一未分割⑶可具有一個(gè)或一個(gè)以上變換單元(TU)。⑶的每一 TU可與所述CU的殘余數(shù)據(jù)的不同部分相關(guān)聯(lián)。視頻編碼器20可對CU的每一 TU執(zhí)行變換操作。當(dāng)視頻編碼器20對TU執(zhí)行變換操作時(shí),視頻編碼器20可至少部分地通過將變換應(yīng)用到與所述TU相關(guān)聯(lián)的殘余數(shù)據(jù)而產(chǎn)生變換系數(shù)塊。變換系數(shù)塊可為變換系數(shù)的2D矩陣。圖2是說明實(shí)例變換系數(shù)塊的概念圖。
[0057]視頻編碼器20可量化變換系數(shù)塊中的變換系數(shù)。量化大體上是指對變換系數(shù)塊中的變換系數(shù)進(jìn)行量化以可能地減少用以表示所述變換系數(shù)的數(shù)據(jù)量,從而提供進(jìn)一步壓縮的過程。量化可減小與一些或所有變換系數(shù)相關(guān)聯(lián)的位深度。舉例來說,η位值可在量化期間被舍去到m位值,其中η大于m。
[0058]在量化變換系數(shù)塊之后,視頻編碼器20可產(chǎn)生與所述變換系數(shù)塊相關(guān)聯(lián)的一組語法元素。視頻編碼器20可接著對這些語法元素中的一些執(zhí)行上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)操作。在其它實(shí)例中,視頻編碼器20可對語法元素執(zhí)行其它熵譯碼操作。舉例來說,視頻編碼器20可對與變換系數(shù)塊相關(guān)聯(lián)的語法元素執(zhí)行上下文自適應(yīng)可變長度譯碼(CAVLC)操作、基于語法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)操作、概率區(qū)間分割熵(PIPE)譯碼操作,或另一類型的熵編碼操作。視頻編碼器20還可對與視頻數(shù)據(jù)相關(guān)聯(lián)的其它語法元素執(zhí)行CABAC操作。
[0059]在視頻編碼器20產(chǎn)生與變換系數(shù)塊相關(guān)聯(lián)的語法元素且執(zhí)行CABAC操作之后,視頻編碼器20將所得數(shù)據(jù)包含在用于視頻數(shù)據(jù)的位流中。位流可包含形成經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)的表示的位序列。
[0060]位流可包括一連串網(wǎng)絡(luò)抽象層(NAL)單元。所述NAL單元中的每一者可為含有NAL單元中的數(shù)據(jù)類型的指示和含有數(shù)據(jù)的字節(jié)的語法結(jié)構(gòu)。舉例來說,NAL單元可含有表示PPS、APS、經(jīng)譯碼切片、輔助增強(qiáng)信息、存取單元分隔符、填充符數(shù)據(jù)的數(shù)據(jù),或另一類型的數(shù)據(jù)。NAL單元的數(shù)據(jù)可呈穿插有模仿防止位的原始字節(jié)序列有效負(fù)載(RBSP)的形式。RBSP可為含有囊封在NAL單元內(nèi)的整數(shù)數(shù)目個(gè)字節(jié)的語法結(jié)構(gòu)。
[0061]當(dāng)視頻編碼器20對變換系數(shù)塊執(zhí)行熵編碼操作時(shí),視頻編碼器20可確定變換系數(shù)塊中是否存在至少一個(gè)有效(即,非零)變換系數(shù)。如果變換系數(shù)塊中存在至少一個(gè)有效變換系數(shù),則視頻編碼器20可更新經(jīng)譯碼塊旗標(biāo)(CBF)以指示所述變換系數(shù)塊包含至少一個(gè)有效變換系數(shù)。如果變換系數(shù)塊中不存在有效變換系數(shù),則視頻編碼器20可更新CBF以指示變換系數(shù)塊未包含任何有效變換系數(shù)。
[0062]如果變換系數(shù)塊中存在至少一個(gè)有效變換系數(shù),則視頻編碼器20可根據(jù)掃描次序識別變換系數(shù)塊的最后有效系數(shù)(LSC)。當(dāng)變換系數(shù)塊的變換系數(shù)是根據(jù)掃描次序而排序時(shí),變換系數(shù)塊的LSC為最后出現(xiàn)的非零變換系數(shù)。掃描次序可為前向掃描次序。換句話說,掃描次序可在變換系數(shù)塊的DC變換系數(shù)處開始。DC變換系數(shù)出現(xiàn)在變換系數(shù)塊的左上角處。相比之下,反轉(zhuǎn)或反掃描次序在變換系數(shù)塊的右下變換系數(shù)處開始。
[0063]視頻編碼器20可根據(jù)各種掃描次序識別變換系數(shù)塊的LSC。舉例來說,視頻編碼器20可根據(jù)Z形掃描次序、水平掃描次序、垂直掃描次序、對角線掃描次序或子塊掃描次序來識別LSC。在一些實(shí)例中,如果變換系數(shù)塊與經(jīng)幀內(nèi)預(yù)測的CU相關(guān)聯(lián),則視頻編碼器20可基于與所述CU相關(guān)聯(lián)的幀內(nèi)預(yù)測模式選擇掃描次序。此外,在一些實(shí)例中,視頻編碼器20可自適應(yīng)地在掃描次序之間切換以優(yōu)化譯碼效率和/或主觀圖片質(zhì)量。
[0064]圖3是說明實(shí)例掃描次序的概念圖。圖3的部分(a)展示實(shí)例Z形掃描次序。圖3的部分(b)展示實(shí)例水平掃描次序。圖3的部分(c)展示實(shí)例垂直掃描次序。圖3的部分(d)展示實(shí)例反轉(zhuǎn)對角線掃描次序。
[0065]圖3的部分(e)展示實(shí)例對角線子塊掃描次序。在子塊掃描次序中,視頻編碼器可將大變換系數(shù)塊分裂成子塊。在圖3的實(shí)例中,子塊展示為短劃線正方形。對于子塊中的每一者,視頻編碼器20可以特定次序處理所述子塊的變換系數(shù)。在圖3的實(shí)例中,視頻編碼器20以向上/向右對角線次序掃描左上子塊中的變換系數(shù),接著以向上/向右對角線次序掃描左下子塊中的變換系數(shù),接著以向上/向右對角線次序掃描右上子塊中的變換系數(shù),且最終以向上/向右對角線次序掃描右下子塊中的變換系數(shù)。
[0066]在其它實(shí)例中,視頻編碼器20可將變換系數(shù)塊分割成4x4子塊(或其它子塊大小)。在此實(shí)例中,視頻編碼器20可接著根據(jù)掃描次序處理所述4x4變換系數(shù)塊中的每一者。
[0067]在識別出LSC之后,視頻編碼器20可產(chǎn)生基于塊的LSC指示符。所述基于塊的LSC指示符指定LSC的坐標(biāo)。舉例來說,如果變換系數(shù)塊為8x8,掃描次序?yàn)樗綊呙璐涡?,且視頻編碼器20在變換系數(shù)塊的變換系數(shù)是根據(jù)掃描次序而排序時(shí)確定LSC出現(xiàn)在第10位置,則視頻編碼器20可產(chǎn)生指定坐標(biāo)(1,1)的基于塊的LSC指示符。
[0068]視頻編碼器20可對所述基于塊的LSC指示符執(zhí)行CABAC編碼操作。在一些情況下,對基于塊的LSC指示符執(zhí)行CABAC編碼操作可比對對應(yīng)基于掃描的LSC指示符執(zhí)行CABAC編碼操作更有效,因?yàn)殪鼐幋a操作可能夠采用基于塊的LSC指示符的X坐標(biāo)與y坐標(biāo)之間的統(tǒng)計(jì)關(guān)系。視頻編碼器20可將基于塊的LSC指示符的CABAC編碼版本添加到經(jīng)編碼位流。[0069]在識別出LSC之后,視頻編碼器20可對變換系數(shù)塊執(zhí)行一個(gè)或一個(gè)以上譯碼遍次以產(chǎn)生且編碼與所述變換系數(shù)塊相關(guān)聯(lián)的語法元素。與變換系數(shù)塊相關(guān)聯(lián)的語法元素包含用于變換系數(shù)塊的有效性映射以及用于變換系數(shù)的等級信息。
[0070]在所述譯碼遍次中的每一者中,視頻編碼器20可根據(jù)反轉(zhuǎn)掃描次序掃描經(jīng)過變換系數(shù)塊的變換系數(shù)。反轉(zhuǎn)掃描次序可為用以識別LSC的掃描次序的反轉(zhuǎn)。舉例來說,如果視頻編碼器20根據(jù)前向?qū)蔷€掃描次序識別LSC,則反轉(zhuǎn)掃描次序可為反轉(zhuǎn)對角線掃描次序。
[0071]對于在第一譯碼遍次期間的每一變換系數(shù),視頻編碼器20可確定變換系數(shù)的序數(shù)位置是否出現(xiàn)于LSC的序數(shù)位置之前。如果變換系數(shù)的序數(shù)位置出現(xiàn)在LSC的序數(shù)位置之前,則視頻編碼器20可產(chǎn)生且CABAC編碼語法元素(即,有效性旗標(biāo)),其指示變換系數(shù)是否有效。如果變換系數(shù)為非零,則所述變換系數(shù)可為“有效的”。如果變換系數(shù)不出現(xiàn)在LSC的序數(shù)位置之前,則視頻編碼器20不產(chǎn)生或CABAC編碼用于所述變換系數(shù)的有效性旗標(biāo)。以此方式,視頻編碼器20可產(chǎn)生并CABAC編碼用于變換系數(shù)塊的有效性映射。在產(chǎn)生且CABAC編碼有效性映射之后,視頻編碼器20可將所述有效性映射的CABAC編碼版本包含在位流中。
[0072]在一些情況下,LSC的位置與有效性映射的內(nèi)容之間可能存在統(tǒng)計(jì)關(guān)系。因此,視頻編碼器20可使用LSC的位置來選擇一個(gè)或一個(gè)以上上下文模型用于對有效性映射的有效性旗標(biāo)進(jìn)行CABAC編碼。
[0073]對于在第二譯碼遍次期間處理的每一變換系數(shù),視頻編碼器20可確定變換系數(shù)是否有效。如果變換系數(shù)有效,則視頻編碼器20可產(chǎn)生且CABAC編碼語法元素(即,“等級大于I”旗標(biāo)),其指示變換系數(shù)的絕對值是否大于I。如果變換系數(shù)無效,則視頻編碼器20不產(chǎn)生或CABAC編碼用于所述變換系數(shù)的“等級大于I”旗標(biāo)。在產(chǎn)生且CABAC編碼“等級大于I”旗標(biāo)之后,視頻編碼器20可將所述“等級大于I”旗標(biāo)的CABAC編碼版本包含在位流中。
[0074]在第三譯碼遍次期間,視頻編碼器20可產(chǎn)生且CABAC編碼語法元素,所述語法元素指示變換系數(shù)的絕對值是否大于2 (即,“等級大于2”旗標(biāo))。在產(chǎn)生且CABAC編碼“等級大于2”旗標(biāo)之后,視頻編碼器20可將所述“等級大于2”旗標(biāo)的CABAC編碼版本包含在位流中。
[0075]對于在第四譯碼遍次期間處理的每一變換系數(shù),視頻編碼器20可確定變換系數(shù)是否有效。如果所述變換系數(shù)有效,則視頻編碼器20可產(chǎn)生語法元素(即,正負(fù)號旗標(biāo)),其指示變換系數(shù)為正還是為負(fù)。如果變換系數(shù)無效,則視頻編碼器20不產(chǎn)生用于變換系數(shù)的正負(fù)號旗標(biāo)。在產(chǎn)生正負(fù)號旗標(biāo)之后,視頻編碼器20可將所述正負(fù)號旗標(biāo)包含在位流中。
[0076]對于在第五譯碼遍次期間處理的每一變換系數(shù),視頻編碼器20可確定變換系數(shù)是否有效。如果所述變換系數(shù)有效,則視頻編碼器20可產(chǎn)生系數(shù)的余數(shù)值(即,等級余數(shù)元素)。視頻編碼器20可接著識別對應(yīng)于所述余數(shù)值的Golomb-Rice碼。在識別出用于變換系數(shù)的Golomb-Rice碼之后,視頻編碼器20可將所述Golomb-Rice碼包含在位流中。如果變換系數(shù)無效,則視頻編碼器20不產(chǎn)生用于變換系數(shù)的等級余數(shù)元素。
[0077]通過第二、第三、第四和第五譯碼遍次產(chǎn)生的語法元素可構(gòu)成變換系數(shù)塊的等級信息,因?yàn)榭蓮倪@些語法元素導(dǎo)出變換系數(shù)的絕對值(即,等級)。
[0078]當(dāng)視頻解碼器30接收到位流時(shí),視頻解碼器30可執(zhí)行與由視頻編碼器20執(zhí)行的編碼操作大體上互逆的解碼操作。舉例來說,視頻解碼器30可對圖片的每一切片執(zhí)行解碼操作。當(dāng)視頻解碼器30的圖片的切片執(zhí)行解碼操作時(shí),視頻解碼器30可對切片中的樹塊執(zhí)行解碼操作。當(dāng)視頻解碼器30完成對樹塊的解碼操作時(shí),視頻解碼器30已對與所述樹塊相關(guān)聯(lián)的視頻塊中的樣本進(jìn)行了解碼。當(dāng)視頻解碼器30已對用于切片的每一樹塊的樣本進(jìn)行了解碼時(shí),視頻解碼器30已重建用于所述切片的樣本。
[0079]當(dāng)視頻解碼器30對樹塊執(zhí)行解碼操作時(shí),視頻解碼器30可對樹塊內(nèi)的每一未分割CU執(zhí)行解碼操作。如上文所論述,可將未分割CU分割成一個(gè)或一個(gè)以上TU。TU中的每一者與一個(gè)或一個(gè)以上變換系數(shù)塊相關(guān)聯(lián)。在本發(fā)明中,如果與TU相關(guān)聯(lián)的變換系數(shù)塊包含一個(gè)或一個(gè)以上有效變換系數(shù),則所述TU為“有效TU”。
[0080]當(dāng)視頻解碼器30對未分割CU執(zhí)行解碼操作時(shí),視頻解碼器30可接收用于與CU的有效TU相關(guān)聯(lián)的變換系數(shù)塊的經(jīng)編碼等級信息、用于與CU的有效TU相關(guān)聯(lián)的變換系數(shù)塊的經(jīng)編碼有效性映射,以及用于與CU的有效TU相關(guān)聯(lián)的變換系數(shù)塊的經(jīng)編碼基于塊的LSC指示符。
[0081]因?yàn)橐曨l編碼器20不產(chǎn)生用于根據(jù)掃描次序出現(xiàn)在LSC的序數(shù)位置之后的變換系數(shù)的有效性旗標(biāo),因此視頻解碼器30可能不能夠確定哪些變換系數(shù)具有有效性旗標(biāo),直到視頻解碼器30能夠確定LSC的序數(shù)位置為止。此外,因?yàn)橐曨l編碼器20不產(chǎn)生用于無效系數(shù)的“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)或等級余數(shù)元素,因此視頻解碼器可能不能夠確定哪些變換系數(shù)具有“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)或等級余數(shù)元素,直到視頻解碼器30能夠確定有效性映射為止。
[0082]因此,視頻解碼器30可首先對基于塊的LSC指示符進(jìn)行CABAC解碼。此外,視頻解碼器30可將所述基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。在將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符之后,視頻解碼器30可基于所述基于掃描的LSC指示符對用于變換系數(shù)塊的有效性映射進(jìn)行解碼。視頻解碼器30可接著使用所述有效性映射來對變換系數(shù)塊的等級信息進(jìn)行解碼。
[0083]所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置。LSC的序數(shù)位置可為LSC在通過根據(jù)掃描次序掃描變換系數(shù)塊而形成的變換系數(shù)序列中的相對位置。舉例來說,變換系數(shù)塊可為8個(gè)變換系數(shù)乘8個(gè)變換系數(shù),且基于塊的LSC指示符可指定坐標(biāo)(1,1)。在此實(shí)例中,當(dāng)變換系數(shù)是根據(jù)水平掃描次序而排序時(shí),坐標(biāo)(1,1)處的變換系數(shù)可為第10個(gè)變換系數(shù)。因此,在此實(shí)例中,視頻解碼器30可產(chǎn)生指示第10位置的基于掃描的LSC指示符。
[0084]根據(jù)本發(fā)明的技術(shù),視頻解碼器30可將基于塊的LSC指示符有效地轉(zhuǎn)換成基于掃描的LSC指示符。視頻解碼器30可執(zhí)行各種操作以將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。舉例來說,視頻解碼器30可執(zhí)行非迭代算法,其從由基于塊的LSC指示符指定的變換坐標(biāo)導(dǎo)出基于掃描的LSC指示符。在另一實(shí)例中,視頻解碼器30可存儲數(shù)據(jù)結(jié)構(gòu),其將基于塊的LSC指示符的變換坐標(biāo)映射到基于掃描的LSC指示符。在此實(shí)例中,視頻解碼器30可存取此數(shù)據(jù)結(jié)構(gòu)以產(chǎn)生基于掃描的LSC指示符。
[0085]在視頻解碼器30可如何將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的又一實(shí)例中,視頻解碼器30可通過執(zhí)行循環(huán)操作而產(chǎn)生基于掃描的LSC指示符。在此實(shí)例中,指示符可指示給定變換系數(shù)塊的當(dāng)前變換系數(shù)。在循環(huán)操作的每一迭代期間,視頻解碼器30可確定當(dāng)前變換系數(shù)是否具有由基于塊的LSC指示符指定的坐標(biāo)。如果沒有,則視頻解碼器30可遞增基于掃描的LSC指示符,且更新所述指示符以指示根據(jù)掃描次序的下一變換系數(shù)。因此,在此實(shí)例中,視頻解碼器30可執(zhí)行循環(huán)操作,其根據(jù)掃描次序掃描經(jīng)過給定變換系數(shù)塊中的位置,直到達(dá)到具有所述坐標(biāo)的位置為止,在給定變換系數(shù)塊的每一位置具有所述坐標(biāo)之前遞增所述位置的基于掃描的LSC指示符。在此實(shí)例中,掃描次序可為子塊掃描次序,其中將給定變換系數(shù)劃分成子塊。視頻解碼器30可掃描經(jīng)過子塊中的一者中的變換系數(shù)中的每一者,隨后掃描經(jīng)過子塊中的下一者中的變換系數(shù)中的每一者。
[0086]在一些實(shí)例中,視頻解碼器30可基于不同掃描次序而使用不同轉(zhuǎn)換操作。換句話說,視頻解碼器30可基于掃描次序選擇轉(zhuǎn)換操作,且使用所述選定轉(zhuǎn)換操作來將基于塊的LSC指示符轉(zhuǎn)換為基于掃描的LSC指示符。舉例來說,視頻解碼器30可在掃描次序?yàn)榉崔D(zhuǎn)水平掃描次序時(shí)使用上文所提及的非迭代算法,且視頻解碼器30可在掃描次序?yàn)榉崔D(zhuǎn)對角線掃描次序時(shí)使用上文所提及的映射數(shù)據(jù)結(jié)構(gòu)。
[0087]在另一實(shí)例中,視頻解碼器30可使用轉(zhuǎn)換操作的組合。在此實(shí)例中,視頻解碼器30可將變換系數(shù)塊劃分成子塊。視頻解碼器30可使用非迭代算法來識別子塊的坐標(biāo)以及子塊內(nèi)的基于塊的LSC指示符的坐標(biāo)。視頻解碼器30可接著使用另一算法來確定子塊的掃描次序以及子塊內(nèi)的最后有效變換系數(shù)的掃描次序。以此方式,視頻解碼器30可確定基于掃描的LSC指示符。
[0088]圖5是說明經(jīng)配置以實(shí)施本發(fā)明的技術(shù)的視頻編碼器20的實(shí)例配置的框圖。圖5是出于解釋的目的而提供,且不應(yīng)被視為將技術(shù)限制為本發(fā)明中所大致例示和描述者。出于解釋之目的,本發(fā)明描述HEVC譯碼的上下文中的視訊編碼器20。然而,本發(fā)明之技術(shù)可適用于其他譯碼標(biāo)準(zhǔn)或方法。
[0089]在圖5的實(shí)例中,視頻編碼器20包含多個(gè)功能組件。視頻編碼器20的功能組件包含模式選擇模塊40、運(yùn)動(dòng)估計(jì)模塊42、運(yùn)動(dòng)補(bǔ)償模塊44、幀內(nèi)預(yù)測模塊46、殘余產(chǎn)生模塊50、變換模塊52、量化模塊54、CABAC模塊56、逆量化模塊58、逆變換模塊60、重建模塊62,和經(jīng)解碼圖片緩沖器64。在其它實(shí)例中,視頻編碼器20可包含較多、較少或不同的功能組件。舉例來說,視頻編碼器20可包含解塊濾波器模塊以對重建模塊62的輸出進(jìn)行濾波以從重建的視頻移除成塊效應(yīng)假影。此外,運(yùn)動(dòng)估計(jì)模塊42與運(yùn)動(dòng)補(bǔ)償模塊44可高度集成,但出于解釋的目的而在圖5的實(shí)例中單獨(dú)地表示。
[0090]視頻編碼器20可接收視頻數(shù)據(jù)。在各種實(shí)例中,視頻編碼器20可從各種源接收視頻數(shù)據(jù)。舉例來說,視頻編碼器20可從視頻源18 (圖1)或另一源接收視頻數(shù)據(jù)。視頻數(shù)據(jù)可表示圖片序列。為對視頻數(shù)據(jù)進(jìn)行編碼,視頻編碼器20可對每一圖片序列執(zhí)行編碼操作。
[0091]作為對圖片序列執(zhí)行編碼操作的部分,視頻編碼器20可對所述圖片序列內(nèi)的每一圖片執(zhí)行編碼操作。作為對圖片執(zhí)行編碼操作的部分,視頻編碼器20可對圖片中的每一切片執(zhí)行編碼操作。作為對切片執(zhí)行編碼操作的部分,視頻編碼器20可對切片中的每一樹塊執(zhí)行編碼操作。
[0092]作為對樹塊執(zhí)行編碼操作的部分,視頻編碼器20可將所述樹塊的視頻塊分割成一個(gè)或一個(gè)以上視頻塊。所述視頻塊中的每一者可與不同⑶相關(guān)聯(lián)。在一些實(shí)例中,⑶的視頻塊的大小范圍可從8x8像素聞達(dá)最大64x64像素或較大的樹塊的視頻塊大小。在本發(fā)明中,“NxN”和“N乘N”可以互換使用來指代在垂直和水平尺寸方面的視頻塊的像素尺寸,例如,16x16像素或16乘16像素。一般來說,16x16塊在垂直方向上具有16個(gè)像素(y =16),且在水平方向上具有16個(gè)像素(X= 16)。同樣,NxN塊大體上在垂直方向上具有N個(gè)像素,且在水平方向上具有N個(gè)像素,其中N表示非負(fù)整數(shù)值。類似標(biāo)號可用以指示變換系數(shù)塊的尺寸。
[0093]作為對樹塊執(zhí)行編碼操作的部分,視頻編碼器20可產(chǎn)生用于所述樹塊的分級四叉樹數(shù)據(jù)結(jié)構(gòu)。舉例來說,樹塊可對應(yīng)于四叉樹數(shù)據(jù)結(jié)構(gòu)的根節(jié)點(diǎn)。如果視頻編碼器20將樹塊的視頻塊分割成四個(gè)子塊,則所述根節(jié)點(diǎn)在所述四叉樹數(shù)據(jù)結(jié)構(gòu)中具有四個(gè)子級節(jié)點(diǎn)。子級節(jié)點(diǎn)對應(yīng)于與子塊相關(guān)聯(lián)的CU。如果視頻編碼器20將子塊中的一者分割成四個(gè)子子塊,則對應(yīng)于與子塊相關(guān)聯(lián)的CU的節(jié)點(diǎn)可具有四個(gè)子級節(jié)點(diǎn),其對應(yīng)于與所述子子塊相關(guān)聯(lián)的CU。
[0094]四叉樹數(shù)據(jù)結(jié)構(gòu)的每一節(jié)點(diǎn)可提供用于對應(yīng)CU的語法數(shù)據(jù)。舉例來說,四叉樹中的節(jié)點(diǎn)可包含分裂旗標(biāo),其指示對應(yīng)于所述節(jié)點(diǎn)的CU的視頻塊是否被分割(即,分裂)成四個(gè)子塊。可取決于所述CU的視頻塊是否分裂成子塊來遞歸地界定用于CU的語法元素。視頻塊未被分割的CU可對應(yīng)于四叉樹數(shù)據(jù)結(jié)構(gòu)中的葉節(jié)點(diǎn)。四叉樹數(shù)據(jù)結(jié)構(gòu)中的葉節(jié)點(diǎn)可被稱為“譯碼節(jié)點(diǎn)”。表示樹塊的經(jīng)編碼版本的數(shù)據(jù)可包含基于用于所述樹塊的四叉樹數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)。
[0095]視頻編碼器20可對樹塊的每一未分割CU執(zhí)行編碼操作。當(dāng)視頻編碼器20對未分割CU執(zhí)行編碼操作時(shí),視頻編碼器20產(chǎn)生表示未分割CU的經(jīng)編碼版本的數(shù)據(jù)。
[0096]作為對⑶執(zhí)行編碼操作的部分,運(yùn)動(dòng)估計(jì)模塊42和運(yùn)動(dòng)補(bǔ)償模塊模塊對⑶的每一 PU執(zhí)行幀間預(yù)測。換句話說,運(yùn)動(dòng)估計(jì)模塊42和運(yùn)動(dòng)補(bǔ)償模塊44可基于不同于含有所述CU的圖片的參考圖片的經(jīng)解碼樣本而產(chǎn)生用于所述CU的每一 PU的預(yù)測數(shù)據(jù)。幀間預(yù)測可提供時(shí)間壓縮。
[0097]視頻編碼器20和視頻解碼器30可支持各種I3U大小。假定特定⑶的大小為2Nx2N,則視頻編碼器20和視頻解碼器30可支持2Nx2N、NxN、2NxN或Nx2N的PU大小。視頻編碼器20和視頻解碼器30還可支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不對稱分害I]。在一些實(shí)例中,視頻編碼器20可沿并不按直角與CU的視頻塊的側(cè)相交的邊界來在CU的PU之間分割CU的視頻塊。
[0098]運(yùn)動(dòng)估計(jì)模塊42可關(guān)于⑶的每一 PU執(zhí)行運(yùn)動(dòng)估計(jì)操作。當(dāng)運(yùn)動(dòng)估計(jì)模塊42關(guān)于PU執(zhí)行運(yùn)動(dòng)估計(jì)操作時(shí),運(yùn)動(dòng)估計(jì)模塊42產(chǎn)生用于所述的一個(gè)或一個(gè)以上運(yùn)動(dòng)向量。舉例來說,切片可為I切片、P切片,或B切片。運(yùn)動(dòng)估計(jì)模塊42和運(yùn)動(dòng)補(bǔ)償模塊44可取決于CU處于I切片、P切片還是B切片中而對CU的I3U執(zhí)行不同操作。在I切片中,對所有⑶(且因此⑶的所有PU)進(jìn)行幀內(nèi)預(yù)測。因此,如果PU在I切片中,則運(yùn)動(dòng)估計(jì)模塊42和運(yùn)動(dòng)估計(jì)模塊44不對PU執(zhí)行幀間預(yù)測。
[0099]如果PU在P切片中,則含有所述的圖片與稱為“列表O”的參考圖片列表相關(guān)聯(lián)。列表O中的參考圖片中的每一者含有可用于按解碼次序?qū)罄m(xù)圖片進(jìn)行幀間預(yù)測的樣本。當(dāng)運(yùn)動(dòng)估計(jì)模塊42關(guān)于P切片中的I3U執(zhí)行運(yùn)動(dòng)估計(jì)操作時(shí),運(yùn)動(dòng)估計(jì)模塊42搜索列表O中的參考圖片以找出用于ro的參考樣本。PU的參考樣本可為最接近對應(yīng)于的像素值的一組像素值。運(yùn)動(dòng)估計(jì)模塊42可使用多種量度來確定參考圖片中的一組像素值對應(yīng)于PU的像素值的接近程度。舉例來說,運(yùn)動(dòng)估計(jì)模塊42可通過絕對差總和(SAD)、平方差總和(SSD)或其它差異量度來確定參考圖片中的一組像素值對應(yīng)于的像素值的接近程度。
[0100]在識別出P切片中的CU的PU的參考樣本之后,運(yùn)動(dòng)估計(jì)模塊42可產(chǎn)生指示列表O中的參考圖片含有參考樣本的參考索引和指不PU與參考樣本之間的空間位移的運(yùn)動(dòng)向量。在各種實(shí)例中,運(yùn)動(dòng)估計(jì)模塊42可以變化的精度產(chǎn)生運(yùn)動(dòng)向量。舉例來說,運(yùn)動(dòng)估計(jì)模塊42可以四分之一像素精度、八分之一像素精度或其它分?jǐn)?shù)像素精度產(chǎn)生運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)模塊42可將參考索引和運(yùn)動(dòng)向量輸出到CABAC模塊56和運(yùn)動(dòng)補(bǔ)償模塊44。運(yùn)動(dòng)補(bǔ)償模塊44可使用CU的PU的參考索引和運(yùn)動(dòng)向量來識別及檢索I3U的參考樣本。運(yùn)動(dòng)補(bǔ)償模塊44可接著使用的參考樣本的像素值來產(chǎn)生用于CU的預(yù)測數(shù)據(jù)。
[0101]如果PU在B切片中,則含有所述的圖片可與稱為“列表O”和“列表I”的兩個(gè)參考圖片列表相關(guān)聯(lián)。列表O中的參考圖片中的每一者含有可用于按解碼次序?qū)罄m(xù)圖片進(jìn)行幀間預(yù)測的樣本。列表I中的參考圖片可按解碼次序出現(xiàn)在所述圖片之前但按呈現(xiàn)次序在所述圖片之后。在一些實(shí)例中,含有B切片的圖片可與為列表O與列表I的組合的列表組合相關(guān)聯(lián)。
[0102]此外,如果⑶在B切片中,則運(yùn)動(dòng)估計(jì)模塊42可對⑶的PU執(zhí)行單向預(yù)測或雙向預(yù)測。當(dāng)運(yùn)動(dòng)估計(jì)模塊42對PU執(zhí)行單向預(yù)測時(shí),運(yùn)動(dòng)估計(jì)模塊42可搜索列表O或列表I中的參考圖片以找出用于所述PU的參考樣本。運(yùn)動(dòng)估計(jì)模塊42可接著產(chǎn)生指示列表O或列表I中的含有所述參考樣本的參考圖片的參考索引和指不PU與所述參考樣本之間的空間位移的運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)模塊42可將用于CU的PU的參考索引和運(yùn)動(dòng)向量輸出到CABAC模塊56和運(yùn)動(dòng)補(bǔ)償模塊44。運(yùn)動(dòng)補(bǔ)償模塊44可使用⑶的PU的參考索引和運(yùn)動(dòng)向量來識別及檢索PU的參考樣本。運(yùn)動(dòng)補(bǔ)償模塊44可接著使用的參考樣本的像素值來產(chǎn)生用于⑶的PU的預(yù)測視頻塊。
[0103]當(dāng)運(yùn)動(dòng)估計(jì)模塊42對PU執(zhí)行雙向預(yù)測時(shí),運(yùn)動(dòng)估計(jì)模塊42可搜索列表O中的參考圖片以找出用于所述PU的參考樣本,且還可搜索列表I中的參考圖片以找出用于所述PU的另一參考樣本。運(yùn)動(dòng)估計(jì)模塊42可接著產(chǎn)生指示所述參考樣本的參考索引和指示參考樣本與之間的空間位移的運(yùn)動(dòng)向量。運(yùn)動(dòng)估計(jì)模塊42可將參考索引和運(yùn)動(dòng)向量輸出到CABAC模塊56和運(yùn)動(dòng)補(bǔ)償模塊44。運(yùn)動(dòng)補(bǔ)償模塊44可使用所述參考索引和運(yùn)動(dòng)向量來識別及檢索I3U的參考樣本。運(yùn)動(dòng)補(bǔ)償模塊44可接著從CU的PU的參考樣本中的像素值內(nèi)插⑶的PU的預(yù)測視頻塊的像素值。
[0104]作為對CU執(zhí)行編碼操作的部分,幀內(nèi)預(yù)測模塊46可對CU的PU執(zhí)行幀內(nèi)預(yù)測。換句話說,幀內(nèi)預(yù)測模塊46可基于與CU相同的切片中的經(jīng)解碼像素值產(chǎn)生用于CU的PU的預(yù)測數(shù)據(jù)。幀內(nèi)預(yù)測可提供空間壓縮。
[0105]為對PU執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測模塊46可使用多個(gè)幀內(nèi)預(yù)測模式來產(chǎn)生用于的多組預(yù)測數(shù)據(jù)。當(dāng)幀內(nèi)預(yù)測模塊46使用幀內(nèi)預(yù)測模式來產(chǎn)生用于PU的一組預(yù)測數(shù)據(jù)時(shí),幀內(nèi)預(yù)測模塊46可在與所述幀內(nèi)預(yù)測模式相關(guān)聯(lián)的方向和/或梯度上將像素值從相鄰PU跨越PU的視頻塊進(jìn)行擴(kuò)展。相鄰可在所述的上方、右上方、左上方或左方,假定對于PU、CU和樹塊采用從左到右、從上到下的編碼次序。幀內(nèi)預(yù)測模塊46可取決于的大小而使用各種數(shù)目的幀內(nèi)預(yù)測模式,例如33方向幀內(nèi)預(yù)測模式。
[0106]幀內(nèi)預(yù)測模塊46可選擇用于的預(yù)測數(shù)據(jù)組中的一者。在各種實(shí)例中,幀內(nèi)預(yù)測模塊46可以各種方式選擇用于PU的預(yù)測數(shù)據(jù)組。舉例來說,幀內(nèi)預(yù)測模塊46可通過基于預(yù)測數(shù)據(jù)組的失真與位率的比較且選擇具有最低失真率的預(yù)測數(shù)據(jù)組來選擇用于PU的預(yù)測數(shù)據(jù)組。
[0107]模式選擇單元40可從運(yùn)動(dòng)補(bǔ)償模塊44針對⑶的PU所產(chǎn)生的預(yù)測數(shù)據(jù)組或幀內(nèi)預(yù)測單元46針對⑶的PU所產(chǎn)生的預(yù)測數(shù)據(jù)組中選擇用于⑶的的預(yù)測數(shù)據(jù)。在一些實(shí)例中,模式選擇單元40基于預(yù)測數(shù)據(jù)組的錯(cuò)誤(即,失真)和位率選擇用于CU的PU的預(yù)測數(shù)據(jù)。
[0108]在模式選擇單元40選擇用于⑶的PU的預(yù)測數(shù)據(jù)之后,殘余產(chǎn)生模塊50可通過從CU的原始視頻塊的像素值減去CU的PU的選定預(yù)測數(shù)據(jù)的預(yù)測視頻塊的像素值而產(chǎn)生CU的殘余數(shù)據(jù)。CU的殘余數(shù)據(jù)可包含對應(yīng)于CU中的視頻塊的不同像素分量的2D殘余塊。舉例來說,殘余數(shù)據(jù)可包含對應(yīng)于CU的預(yù)測視頻塊中的像素的明度分量與CU的原始視頻塊中的像素的明度分量之間的差的殘余視頻塊。此外,CU的殘余數(shù)據(jù)可包含對應(yīng)于CU的PU的預(yù)測視頻塊中的像素的色度分量與CU的原始視頻塊的像素的色度分量之間的差的殘余視頻塊。
[0109]如上所述,⑶可具有一個(gè)或一個(gè)以上TU。⑶的每一 TU可對應(yīng)于所述⑶的殘余數(shù)據(jù)內(nèi)的不同視頻塊。CU的TU的視頻塊的大小可或可不基于CU的PU的視頻塊的大小。在一些實(shí)例中,CU的殘余數(shù)據(jù)可使用被稱為“殘余四叉樹”(RQT)的四叉樹結(jié)構(gòu)而細(xì)分成較小視頻塊。TU可對應(yīng)于RQT的葉節(jié)點(diǎn)。
[0110]變換模塊52可通過將變換應(yīng)用到對應(yīng)于⑶的每一 TU的視頻塊而產(chǎn)生用于所述TU的變換系數(shù)塊。所述變換系數(shù)塊中的每一者可為變換系數(shù)的2D矩陣。在各種實(shí)例中,變換模塊52可將各種變換應(yīng)用到對應(yīng)于TU的殘余視頻塊。舉例來說,變換模塊可應(yīng)用離散余弦變換(DCT)、定向變換,或概念上類似的變換。在變換模塊52產(chǎn)生用于TU的變換系數(shù)塊之后,量化模塊54可量化變換系數(shù)塊中的變換系數(shù)。
[0111]CABAC模塊56可從量化模塊54接收變換系數(shù)塊。當(dāng)CABAC模塊56接收到變換系數(shù)塊時(shí),CABAC模塊56可產(chǎn)生用于變換系數(shù)塊的有效性映射和基于塊的LSC指示符?;趬K的LSC指不符可指不變換系數(shù)塊的最后有效變換系數(shù)在變換系數(shù)塊中的坐標(biāo)。CABAC豐旲塊56還可產(chǎn)生用于變換系數(shù)塊的等級信息。如上文所解釋,用于變換系數(shù)塊的等級信息可包含一系列“等級大于I”旗標(biāo)、一系列“等級大于2”旗標(biāo)、一系列正負(fù)號旗標(biāo),和一系列等級余數(shù)元素。
[0112]CABAC模塊56可對有效性映射、基于塊的LSC指示符、“等級大于I”旗標(biāo)和“等級大于2”旗標(biāo)執(zhí)行CABAC編碼操作。此外,CABAC模塊56可對其它語法元素執(zhí)行CABAC編碼操作,所述其它語法元素例如是運(yùn)動(dòng)向量或運(yùn)動(dòng)向量差異信息以及適用于在視頻解碼器30處對視頻數(shù)據(jù)進(jìn)行解碼的多種其它語法元素中的任一者。
[0113]逆量化模塊58和逆變換模塊60可分別應(yīng)用逆量化和逆變換到變換系數(shù)塊以從變換系數(shù)塊重建殘余視頻塊。重建模塊62可將重建的殘余視頻塊添加到由運(yùn)動(dòng)補(bǔ)償模塊44或幀內(nèi)預(yù)測模塊46產(chǎn)生的一個(gè)或一個(gè)以上預(yù)測視頻塊的像素值以產(chǎn)生重構(gòu)重建的視頻塊供存儲在經(jīng)解碼圖片緩沖器64中。運(yùn)動(dòng)估計(jì)模塊42和運(yùn)動(dòng)補(bǔ)償模塊44可使用含有所述經(jīng)重建視頻塊的參考圖片來對后續(xù)圖片的CU執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測。
[0114]圖6是說明視頻解碼器30的實(shí)例配置的框圖。圖6是出于解釋的目的而提供,且并不將技術(shù)限制為本發(fā)明中所大致例示和描述者。出于解釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻解碼器30。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。
[0115]在圖6的實(shí)例中,視頻解碼器30包含多個(gè)功能組件。視頻解碼器30的功能組件包含剖析模塊70、運(yùn)動(dòng)補(bǔ)償模塊72、幀內(nèi)預(yù)測模塊74、逆量化模塊76、逆變換模塊78、重建模塊80以及經(jīng)解碼圖片緩沖器82。在一些實(shí)例中,視頻解碼器30可執(zhí)行與相對于圖5的視頻編碼器20所描述的編碼遍次大體上互逆的解碼遍次。在其它實(shí)例中,視頻解碼器30可包含較多、較少或不同功能組件。舉例來說,視頻解碼器30可包含解塊濾波器以對重建模塊80的輸出進(jìn)行濾波以從重建的視頻移除成塊效應(yīng)假影。
[0116]視頻解碼器30可接收包括經(jīng)編碼的視頻數(shù)據(jù)的位流。所述位流可包含多個(gè)語法元素。當(dāng)視頻解碼器30接收到位流時(shí),剖析模塊70可對所述位流執(zhí)行剖析操作。作為對位流執(zhí)行剖析操作的結(jié)果,剖析模塊70可從所述位流提取語法元素。作為執(zhí)行剖析操作的部分,剖析模塊70可對位流中的各種CABAC編碼語法元素進(jìn)行CABAC解碼。運(yùn)動(dòng)補(bǔ)償模塊72、幀內(nèi)預(yù)測模塊74、逆量化模塊76和逆變換模塊78可執(zhí)行重建操作,其基于從位流提取的語法元素產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。
[0117]位流可包含表示用于變換系數(shù)塊的基于塊的LSC指示符、用于變換系數(shù)塊的有效性映射和用于變換系數(shù)塊的等級信息的數(shù)據(jù)。作為執(zhí)行剖析操作的部分,剖析模塊70可對基于塊的LSC指示符進(jìn)行CABAC解碼。剖析模塊70可接著將所述基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。掃描次序可在經(jīng)編碼位流中發(fā)信號通知,或可由剖析模塊70從一個(gè)或一個(gè)以上語法元素或參數(shù)推斷。
[0118]在將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符之后,剖析模塊70可使用所述基于掃描的LSC指示符來剖析來自位流的有效性映射。舉例來說,剖析模塊70可基于所述基于掃描的LSC指示符確定用于變換系數(shù)塊的有效性映射是否包含用于變換系數(shù)的有效性旗標(biāo)。此外,在一些實(shí)例中,剖析模塊70可基于基于掃描的LSC指示符選擇上下文模型。剖析模塊70可在對有效性映射進(jìn)行解碼的CABAC解碼操作期間使用所述選定的上下文模型。剖析模塊70可使用所述有效性映射來剖析來自位流的變換系數(shù)塊的等級信息。
[0119]可能需要以有效方式將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。根據(jù)本發(fā)明的技術(shù),剖析模塊70可執(zhí)行各種操作以將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。舉例來說,剖析模塊70可執(zhí)行非迭代算法,其從由基于塊的LSC指示符指定的坐標(biāo)導(dǎo)出基于掃描的LSC指示符。下文詳細(xì)描述的圖9和10是實(shí)例非迭代算法的流程圖,其可從由基于塊的LSC指示符指定的坐標(biāo)導(dǎo)出基于掃描的LSC指示符。在另一實(shí)例中,剖析模塊70可存儲將坐標(biāo)映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)。在此實(shí)例中,剖析模塊70可存取此數(shù)據(jù)結(jié)構(gòu)以產(chǎn)生基于掃描的LSC指示符。下文詳細(xì)描述的圖11說明其中視頻解碼器30至少部分地通過存取將基于塊的LSC指示符映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)而將基于塊的LSC指示符轉(zhuǎn)換為基于掃描的LSC指示符的實(shí)例操作。在又一實(shí)例中,剖析模塊70可通過執(zhí)行循環(huán)操作而產(chǎn)生基于掃描的LSC指示符,所述循環(huán)操作根據(jù)前向掃描次序掃描經(jīng)過變換系數(shù)塊中的位置,直到達(dá)到具有由基于塊的LSC指示符指定的坐標(biāo)的變換系數(shù)為止。下文詳細(xì)描述的圖12說明其中視頻解碼器30通過執(zhí)行此類循環(huán)操作而將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的實(shí)例迭代操作。
[0120]在一些實(shí)例中,剖析模塊70可基于不同掃描次序而使用不同轉(zhuǎn)換操作。舉例來說,剖析模塊70可在掃描次序?yàn)閷蔷€掃描次序時(shí)使用上文所提及的非迭代算法,且剖析模塊70可在掃描次序?yàn)閆形掃描次序時(shí)使用上文所提及的映射數(shù)據(jù)結(jié)構(gòu)。
[0121]在剖析模塊70對變換系數(shù)塊進(jìn)行解碼之后,逆量化模塊76可對所述變換系數(shù)塊進(jìn)行逆量化,即去量化。逆量化模塊76可以類似于針對HEVC所提議的逆量化過程或由H.264解碼標(biāo)準(zhǔn)界定的逆量化過程的方式來對變換系數(shù)塊進(jìn)行逆量化。逆量化模塊76可使用由視頻編碼器20針對變換系數(shù)塊的CU所計(jì)算的量化參數(shù)QPY來確定量化程度,且同樣地確定供逆量化模塊76應(yīng)用的逆量化程度。
[0122]在逆量化模塊76對變換系數(shù)塊進(jìn)行逆量化之后,逆變換模塊78可產(chǎn)生用于與變換系數(shù)塊相關(guān)聯(lián)的TU的殘余視頻塊。逆變換模塊78可至少部分地通過將逆變換應(yīng)用到變換系數(shù)塊而產(chǎn)生用于TU的殘余視頻塊。舉例來說,逆變換模塊78可將逆DCT、逆整數(shù)變換、逆Karhunen-Loeve變換(KLT)、逆旋轉(zhuǎn)變換、逆定向變換,或另一逆變換應(yīng)用到變換系數(shù)塊。在一些實(shí)例中,逆變換模塊78可基于來自視頻編碼器20的發(fā)信而確定適用于變換系數(shù)塊的逆變換。在此些實(shí)例中,逆變換模塊78可基于在四叉樹的根節(jié)點(diǎn)處發(fā)信號通知的變換確定用于與變換系數(shù)塊相關(guān)聯(lián)的樹塊的逆變換。在其它實(shí)例中,逆變換模塊78可從一個(gè)或一個(gè)以上譯碼特性(例如塊大小、譯碼模式,或其類似者)推斷逆變換。在一些實(shí)例中,逆變換模塊78可應(yīng)用級聯(lián)的逆變換。
[0123]運(yùn)動(dòng)補(bǔ)償模塊72可執(zhí)行運(yùn)動(dòng)補(bǔ)償以產(chǎn)生用于⑶的的預(yù)測數(shù)據(jù)。在一些實(shí)例中,運(yùn)動(dòng)補(bǔ)償模塊72可通過基于內(nèi)插濾波器執(zhí)行內(nèi)插而改進(jìn)PU的預(yù)測數(shù)據(jù)。用于將用于以子像素精度進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)膬?nèi)插濾波器的識別符可包括在語法元素中。運(yùn)動(dòng)補(bǔ)償模塊72可使用由視頻編碼器20在產(chǎn)生PU的預(yù)測數(shù)據(jù)期間使用的相同內(nèi)插濾波器來計(jì)算參考塊的子整數(shù)像素的內(nèi)插值。運(yùn)動(dòng)補(bǔ)償模塊72可根據(jù)所接收的語法信息而確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來產(chǎn)生預(yù)測數(shù)據(jù)。
[0124]在HEVC實(shí)例中,運(yùn)動(dòng)補(bǔ)償模塊72和幀內(nèi)預(yù)測模塊74可使用所述語法信息(例如,由四叉樹提供)中的一些來確定用以對經(jīng)編碼視頻序列的幀進(jìn)行編碼的樹塊的大小、描述如何分裂經(jīng)編碼視頻序列的幀的每一 CU的視頻塊(以及同樣地,如何分裂子塊)的分裂信息、指示如何對每一 PU進(jìn)行編碼的模式(例如,幀內(nèi)或幀間預(yù)測,且對于幀內(nèi)預(yù)測,為幀內(nèi)預(yù)測編碼模式)、用于每一經(jīng)幀間預(yù)測CU的一個(gè)或一個(gè)以上參考幀(和/或含有參考幀的識別符的參考列表),以及用以對經(jīng)編碼視頻序列進(jìn)行解碼的其它信息。
[0125]重建模塊80組合⑶的殘余視頻塊與由運(yùn)動(dòng)補(bǔ)償模塊72或幀內(nèi)預(yù)測模塊74產(chǎn)生的CU的PU的對應(yīng)預(yù)測視頻塊以形成經(jīng)解碼視頻塊。在一些實(shí)例中,視頻解碼器30可應(yīng)用解塊濾波器以對經(jīng)解碼視頻塊進(jìn)行濾波以便從經(jīng)解碼視頻塊移除成塊效應(yīng)假影。經(jīng)解碼圖片緩沖器82存儲經(jīng)解碼視頻塊。經(jīng)解碼圖片緩沖器82可提供用于后續(xù)運(yùn)動(dòng)補(bǔ)償?shù)膮⒖紙D片,且還可存儲用于呈現(xiàn)在顯示裝置(例如圖1的顯示裝置32)上的圖片。
[0126]圖7是說明由視頻編碼器20執(zhí)行的實(shí)例操作100的流程圖。在CABAC模塊56開始操作100之后,視頻編碼器20可根據(jù)掃描次序識別變換系數(shù)塊的LSC(102)。在視頻編碼器20已識別出變換系數(shù)塊的LSC之后,視頻編碼器20可產(chǎn)生指示變換系數(shù)塊的所識別LSC的坐標(biāo)的基于塊的LSC指示符(104)。
[0127]在產(chǎn)生基于塊的LSC指示符之后,視頻編碼器20可對基于塊的LSC指示符執(zhí)行CABAC編碼操作(106)。在各種實(shí)例中,視頻編碼器20可以各種方式對基于塊的LSC指示符執(zhí)行CABAC編碼操作。舉例來說,在一些實(shí)例中,視頻編碼器20可首先將基于塊的LSC指示符的每一坐標(biāo)轉(zhuǎn)換成二進(jìn)制碼。換句話說,視頻編碼器20可“二進(jìn)制化”基于塊的LSC指示符的坐標(biāo)。在二進(jìn)制化所述坐標(biāo)之后,視頻編碼器20可選擇表示基于塊的LSC指示符的I坐標(biāo)的用于對二進(jìn)制碼進(jìn)行編碼的上下文模型。在一些情況下,視頻編碼器20可基于基于塊的LSC指示符的X坐標(biāo)選擇表示y坐標(biāo)的用于對二進(jìn)制碼進(jìn)行編碼的上下文模型。視頻編碼器20可在對表示y坐標(biāo)的二進(jìn)制碼的一個(gè)或一個(gè)以上二進(jìn)制數(shù)進(jìn)行編碼時(shí)使用所述選定的上下文模型。類似地,視頻編碼器20可基于基于塊的LSC指示符的y坐標(biāo)選擇表示基于塊的LSC指示符的X坐標(biāo)的用于對二進(jìn)制碼進(jìn)行編碼的上下文模型。視頻編碼器20可在對表示X坐標(biāo)的二進(jìn)制碼的一個(gè)或一個(gè)以上二進(jìn)制數(shù)進(jìn)行編碼時(shí)使用所述選定的上下文模型。
[0128]基于塊的LSC指示符的X坐標(biāo)與y坐標(biāo)之間可能存在統(tǒng)計(jì)關(guān)系。舉例來說,有效變換系數(shù)傾向于圍繞變換系數(shù)塊的DC變換系數(shù)集群。因此,如果X坐標(biāo)相對接近于DC變換系數(shù),則I坐標(biāo)也可能相對接近于DC變換系數(shù),且反之亦然。通過基于X坐標(biāo)選擇用于y坐標(biāo)的上下文模型,視頻編碼器20可能夠利用此統(tǒng)計(jì)關(guān)系來較準(zhǔn)確地選擇用于y坐標(biāo)的上下文模型。同樣,通過基于I坐標(biāo)選擇用于X坐標(biāo)的上下文模型,視頻編碼器20可能夠利用此統(tǒng)計(jì)關(guān)系來較準(zhǔn)確地選擇用于X坐標(biāo)的上下文模型。
[0129]在一些實(shí)例中,視頻編碼器20可交錯(cuò)對用于X和I坐標(biāo)的符號的熵編碼操作。舉例來說,視頻編碼器20可首先對X坐標(biāo)的第一符號執(zhí)行熵編碼操作。假定視頻編碼器20將X坐標(biāo)表示為一元數(shù)字,則如果X坐標(biāo)為0,X坐標(biāo)的第一符號為0,且否則為I。在對X坐標(biāo)的第一符號進(jìn)行編碼之后,視頻編碼器20可對y坐標(biāo)的第一符號執(zhí)行熵編碼操作。視頻編碼器20可取決于X坐標(biāo)的第一符號的值而使用不同上下文來對y坐標(biāo)的第一符號進(jìn)行編碼。接著,如果X坐標(biāo)大于0,則視頻編碼器20可對X坐標(biāo)的第二符號執(zhí)行熵編碼操作。視頻編碼器20可取決于y坐標(biāo)的第一符號的值而使用不同上下文來對X坐標(biāo)的第二符號進(jìn)行編碼。視頻編碼器20可繼續(xù)對X和y坐標(biāo)的符號進(jìn)行編碼,直到視頻編碼器20已對X和I坐標(biāo)的符號中的每一者進(jìn)行了編碼為止。
[0130]在一些實(shí)例中,視頻編碼器20可使用掃描次序?qū)⒆儞Q系數(shù)從一變換系數(shù)塊映射到另一 2D變換系數(shù)塊。舉例來說,所述另一 2D變換系數(shù)塊可為八個(gè)位置寬。在此實(shí)例中,視頻編碼器20可將如由掃描次序確定的變換系數(shù)塊的第一八個(gè)變換系數(shù)映射到所述另一2D變換系數(shù)塊的第一行,將如由掃描次序確定的變換系數(shù)塊的第二八個(gè)變換系數(shù)映射到所述另一 2D變換系數(shù)塊的第二行,以此類推。在此實(shí)例中,視頻編碼器20可接著根據(jù)掃描次序識別所述另一 2D變換系數(shù)塊的最后有效變換系數(shù),且產(chǎn)生指示所述另一 2D塊的最后有效變換系數(shù)的基于塊的LSC指示符。在此實(shí)例中,較低行號與變換系數(shù)有效的概率之間可能存在統(tǒng)計(jì)關(guān)系。舉例來說,變換系數(shù)有效的概率在低行號中比在高行號中高。視頻編碼器20可在對基于塊的LSC指示符執(zhí)行熵編碼操作時(shí)利用此統(tǒng)計(jì)關(guān)系。舉例來說,視頻編碼器20可首先對y坐標(biāo)執(zhí)行熵編碼操作,且接著對X坐標(biāo)執(zhí)行熵編碼操作。當(dāng)視頻編碼器20對X坐標(biāo)執(zhí)行熵編碼操作時(shí),視頻編碼器20可基于y坐標(biāo)選擇上下文模型。[0131]此外,視頻編碼器20可產(chǎn)生用于變換系數(shù)塊的有效性映射(108)。在一些實(shí)例中,視頻編碼器20可產(chǎn)生有效性映射,且同時(shí)識別變換系數(shù)塊的LSC。
[0132]在各種實(shí)例中,視頻編碼器20可以各種方式產(chǎn)生有效性映射。舉例來說,視頻編碼器20可根據(jù)反轉(zhuǎn)掃描次序執(zhí)行處理變換系數(shù)中的每一者的譯碼遍次。反轉(zhuǎn)掃描次序可為用以識別LSC的掃描次序的反轉(zhuǎn)。在其它實(shí)例中,視頻編碼器20可使用與視頻編碼器20用以識別LSC的相同掃描次序來產(chǎn)生用于變換系數(shù)塊的有效性映射。對于在譯碼遍次期間處理的每一變換系數(shù),視頻編碼器20可在根據(jù)掃描次序的變換系數(shù)的序數(shù)位置在根據(jù)掃描次序的LSC的序數(shù)位置之前的情況下產(chǎn)生且CABAC編碼用于變換系數(shù)的有效性旗標(biāo)。
[0133]在另一實(shí)例中,視頻編碼器20可首先產(chǎn)生2D塊以充當(dāng)有效性映射。在此實(shí)例中,視頻編碼器20可掃描經(jīng)過所述變換系數(shù)塊。在視頻編碼器20掃描經(jīng)過所述變換系數(shù)塊時(shí),視頻編碼器20可在2D有效性映射中指示變換系數(shù)塊的對應(yīng)變換系數(shù)有效還是無效。
[0134]此外,視頻編碼器20可對有效性映射執(zhí)行CABAC編碼操作(110)。在一些實(shí)例中,視頻編碼器20可交錯(cuò)步驟108與110。舉例來說,視頻編碼器20可產(chǎn)生用于第一變換系數(shù)的有效性旗標(biāo)。視頻編碼器20可接著對用于所述第一變換系數(shù)的有效性旗標(biāo)執(zhí)行CABAC編碼操作。在對用于第一變換系數(shù)的有效性旗標(biāo)執(zhí)行CABAC編碼操作之后,視頻編碼器20可產(chǎn)生用于第二變換系數(shù)的有效性旗標(biāo),且接著對用于所述第二變換系數(shù)的有效性旗標(biāo)執(zhí)行CABAC編碼操作,以此類推。
[0135]視頻編碼器20可以各種方式對有效性映射執(zhí)行CABAC編碼操作。舉例來說,視頻編碼器20可基于變換系數(shù)塊的LSC選擇上下文模型。LSC的位置與有效性映射的下一有效性旗標(biāo)(按反轉(zhuǎn)掃描次序)的值之間可能存在統(tǒng)計(jì)關(guān)系。舉例來說,如果視頻編碼器20使用反轉(zhuǎn)掃描次序來產(chǎn)生有效性映射且變換系數(shù)塊的LSC相對遠(yuǎn)離變換系數(shù)塊的DC變換系數(shù),則下一有效性旗標(biāo)為I的概率相對大于變換系數(shù)塊的LSC相對接近于變換系數(shù)塊的DC變換系數(shù)的情況。通過基于變換系數(shù)塊的LSC選擇上下文模型,視頻編碼器20可能夠利用此統(tǒng)計(jì)關(guān)系來較準(zhǔn)確地選擇用于對有效性映射進(jìn)行編碼的上下文模型。在選定用于有效性映射的上下文模型之后,視頻編碼器20可使用所述上下文模型來對有效性映射的一個(gè)或一個(gè)以上有效性旗標(biāo)進(jìn)行CABAC編碼。在對有效性映射的CABAC編碼操作期間,視頻編碼器20可使用一個(gè)或一個(gè)以上其它上下文模型來對有效性映射的后續(xù)有效性旗標(biāo)進(jìn)行CABAC編碼。
[0136]在其它實(shí)例中,視頻編碼器20可以其它方式利用LSC與有效性映射之間的統(tǒng)計(jì)關(guān)系。舉例來說,視頻編碼器20可在LSC的序數(shù)位置大于給定閾值的情況下使用一組上下文來對有效性映射進(jìn)行CABAC編碼,且在LSC的序數(shù)位置不大于給定閾值的情況下使用另一組上下文來對有效性映射進(jìn)行編碼。以此方式使用不同上下文可改善譯碼效率。
[0137]在另一實(shí)例中,視頻編碼器20可通過對變換系數(shù)進(jìn)行分組來利用LSC與有效性映射之間的統(tǒng)計(jì)關(guān)系。舉例來說,在此實(shí)例中,視頻編碼器20可將三個(gè)變換系數(shù)分組在一起,且將所得群組編碼為單個(gè)變換系數(shù)。因此,視頻編碼器20可一次對三個(gè)變換系數(shù)進(jìn)行編碼。如果群組中的所有三個(gè)變換系數(shù)都是0,則視頻編碼器20將所述三個(gè)變換系數(shù)編碼為O。如果不是,則視頻編碼器20可產(chǎn)生I旗標(biāo)及指示三個(gè)對應(yīng)變換系數(shù)中的哪些者有效的旗標(biāo)。
[0138]在一些情況下,變換系數(shù)塊的所有有效變換系數(shù)可位于在變換系數(shù)塊的左上角處的小區(qū)域內(nèi)。舉例來說,變換系數(shù)塊的所有有效變換系數(shù)可位于在變換系數(shù)塊的左上角處的4x4區(qū)域內(nèi)。在此些情況下,使用基于掃描的LSC指示符可能比使用基于塊的LSC指示符需要較少位來指示變換系數(shù)塊的LSC。因此,在一些實(shí)例中,視頻編碼器20可在所有有效變換系數(shù)在所述區(qū)域內(nèi)時(shí)產(chǎn)生基于掃描的LSC指示符代替基于塊的LSC指示符。在此些實(shí)例中,視頻編碼器20可在變換系數(shù)塊包含在所述區(qū)域外部的一個(gè)或一個(gè)以上有效變換系數(shù)的情況下產(chǎn)生基于塊的LSC指示符。此外,在一些此些實(shí)例中,視頻編碼器20可在位流中包含指示LSC是使用基于塊的LSC指示符還是基于掃描的LSC指示符來指示的旗標(biāo)。
[0139]此外,視頻編碼器20可產(chǎn)生用于變換系數(shù)塊中的變換系數(shù)的等級信息(112)。如上所述,用于變換系數(shù)的等級信息可包含“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)和等級余數(shù)元素。
[0140]此外,視頻編碼器20可對用于變換系數(shù)的等級信息中的至少一些執(zhí)行CABAC編碼操作(114)。在一些實(shí)例中,視頻編碼器20可交錯(cuò)步驟112與114。舉例來說,視頻編碼器20可對“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)和等級余數(shù)元素執(zhí)行單獨(dú)的譯碼遍次。在用于“等級大于I”旗標(biāo)的譯碼遍次期間,視頻編碼器20可產(chǎn)生且CABAC編碼用于第一變換系數(shù)的“等級大于I”旗標(biāo),產(chǎn)生且CABAC編碼用于下一變換系數(shù)的“等級大于I”旗標(biāo),以此類推。類似地,在用于“等級大于2”旗標(biāo)的譯碼遍次期間,視頻編碼器20可產(chǎn)生且CABAC編碼用于第一變換系數(shù)的“等級大于2”旗標(biāo),產(chǎn)生且CABAC編碼用于下一變換系數(shù)的“等級大于2”旗標(biāo),以此類推。在用于正負(fù)號旗標(biāo)的譯碼遍次期間,視頻編碼器20可產(chǎn)生用于第一變換系數(shù)的正負(fù)號旗標(biāo),產(chǎn)生用于下一變換系數(shù)的正負(fù)號旗標(biāo),以此類推。在此實(shí)例中,視頻編碼器20并不對正負(fù)號旗標(biāo)進(jìn)行CABAC編碼。在用于等級余數(shù)元素的譯碼遍次期間,視頻編碼器20可產(chǎn)生等級余數(shù)元素且識別用于第一變換系數(shù)的對應(yīng)Golomb-Rice碼,產(chǎn)生等級余數(shù)元素且識別用于下一變換系數(shù)的對應(yīng)Golomb-Rice碼,以此類推。在此實(shí)例中,如果變換系數(shù)旗標(biāo)無效,則視頻編碼器20可不產(chǎn)生用于所述變換系數(shù)的“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)或等級余數(shù)元素。
[0141]在一些實(shí)例中,當(dāng)視頻編碼器20 二進(jìn)制化變換系數(shù)的等級信息時(shí),二進(jìn)制化的等級信息的第一二進(jìn)制數(shù)可指示變換系數(shù)是否有效。因此,在此些實(shí)例中,步驟108中的產(chǎn)生有效性映射可為步驟112中的產(chǎn)生等級信息的部分,且步驟110中的對有效性映射進(jìn)行CABAC編碼可為步驟114中的對等級信息進(jìn)行CABAC編碼的部分。
[0142]圖8是說明用以對變換系數(shù)塊進(jìn)行解碼的實(shí)例操作130的流程圖。在視頻解碼器30開始操作130之后,視頻解碼器30可接收包括表示用于與TU相關(guān)聯(lián)的變換系數(shù)塊的基于塊的LSC指示符、用于所述變換系數(shù)塊的有效性映射和用于所述變換系數(shù)塊的等級信息的數(shù)據(jù)的位流(132)。所述位流可包括其它經(jīng)編碼的視頻數(shù)據(jù)。
[0143]在接收到表示基于塊的LSC指示符的數(shù)據(jù)之后,視頻解碼器30可執(zhí)行CABAC解碼操作以對經(jīng)編碼的基于塊的LSC指示符進(jìn)行解碼(134)。因此,通過執(zhí)行CABAC解碼操作,視頻解碼器30可從經(jīng)編碼的視頻數(shù)據(jù)的位流接收用于變換系數(shù)塊的LSC的基于塊的LSC指示符。
[0144]在視頻解碼器30執(zhí)行CABAC解碼操作以對基于塊的LSC指示符進(jìn)行解碼之后,視頻解碼器30可選擇轉(zhuǎn)換操作(135)。在一些實(shí)例中,視頻解碼器30可基于掃描次序選擇轉(zhuǎn)換操作。視頻解碼器30可接著使用所述選定轉(zhuǎn)換操作來將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符(136)。在各種實(shí)例中,視頻解碼器30可以各種方式將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。舉例來說,視頻解碼器30可使用圖9到12中所示的實(shí)例操作來將基于塊的LSC指示符有效地轉(zhuǎn)換成基于掃描的LSC指示符。在其它實(shí)例中,視頻解碼器30可執(zhí)行圖9到12的實(shí)例操作中的一者或一者以上的組合來將基于塊的LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符。此外,在又其它實(shí)例中,視頻解碼器30并不在對基于塊的LSC指示符進(jìn)行解碼之后選擇轉(zhuǎn)換操作。確切地說,在一些此類實(shí)例中,視頻解碼器30可僅經(jīng)配置以執(zhí)行一個(gè)特定轉(zhuǎn)換操作。
[0145]隨后,視頻解碼器30可使用所述基于掃描的LSC指示符來對用于變換系數(shù)塊的有效性映射進(jìn)行解碼(138)。視頻解碼器30可以各種方式使用所述基于掃描的LSC指示符來對有效性映射進(jìn)行解碼。
[0146]舉例來說,視頻編碼器20可不編碼用于在譯碼次序上在LSC之后出現(xiàn)的變換系數(shù)的有效性旗標(biāo)。因此,有效性映射中的有效性旗標(biāo)的數(shù)目可在變換系數(shù)塊當(dāng)中變化。因?yàn)橛行云鞓?biāo)的數(shù)目可變化,因此視頻解碼器30可能不能夠基于變換系數(shù)塊的大小來確定在變換系數(shù)塊的有效性映射中存在多少有效性旗標(biāo)。因此,當(dāng)視頻解碼器30對有效性映射進(jìn)行解碼時(shí),視頻解碼器30可能需要能夠確定視頻解碼器30是否已剖析來自位流的有效性映射的所有有效性旗標(biāo)。因此,視頻解碼器30可繼續(xù)剖析來自位流的有效性旗標(biāo),直到經(jīng)剖析的來自位流的有效性旗標(biāo)的數(shù)目等于LSC的序數(shù)位置(S卩,由基于掃描的LSC指示符指示的位置)為止。以此方式,視頻解碼器30可使用基于掃描的LSC指示符確定所述有效性映射是否包含用于變換系數(shù)塊的變換系數(shù)的有效性旗標(biāo)。
[0147]在另一實(shí)例中,基于掃描的LSC指示符可指示指示待解碼的有效變換系數(shù)的二進(jìn)制數(shù)的數(shù)目。此外,如上所述,在掃描次序上在LSC之前的出現(xiàn)的變換系數(shù)的數(shù)目與有效性映射的二進(jìn)制數(shù)是I或O的概率之間可能存在統(tǒng)計(jì)關(guān)系?;趻呙璧腖SC指示符指示在掃描次序上在LSC之前出現(xiàn)的變換系數(shù)的數(shù)目。因此,視頻解碼器30可基于基于掃描的LSC指示符從多個(gè)可用上下文模型當(dāng)中選擇上下文模型。視頻解碼器30可接著使用所述選定上下文模型來對有效性映射的一個(gè)或一個(gè)以上二進(jìn)制數(shù)進(jìn)行解碼。在對有效性映射的CABAC解碼操作期間,視頻解碼器30可切換到一個(gè)或一個(gè)以上其它上下文模型。
[0148]在一些實(shí)例中,變換系數(shù)塊可包含多個(gè)子塊。視頻解碼器30可基于基于掃描的LSC指示符從多個(gè)子塊當(dāng)中識別最后有效子塊,即含有LSC的最后有效子塊。此外,視頻解碼器30可執(zhí)行處理所述最后有效子塊和子塊中的根據(jù)第一反轉(zhuǎn)掃描次序(以所述最后有效子塊開始)在所述最后有效子塊之前出現(xiàn)的子塊的第一譯碼遍次。對于在第一譯碼遍次期間處理的子塊中的每一者,視頻解碼器30可執(zhí)行根據(jù)第二反轉(zhuǎn)掃描次序處理子塊中的變換系數(shù)的第二譯碼遍次。所述第二反轉(zhuǎn)掃描次序可與第一反轉(zhuǎn)掃描次序相同或不同。對于在所述第二譯碼遍次期間處理的每一變換系數(shù),視頻解碼器30可基于所述基于掃描的LSC指示符確定有效性映射是否包含用于變換系數(shù)的有效性旗標(biāo)。
[0149]在視頻解碼器30對用于變換系數(shù)塊的有效性映射進(jìn)行解碼之后,視頻解碼器30可對變換系數(shù)塊的等級信息執(zhí)行解碼操作(140)。舉例來說,變換系數(shù)塊的等級信息可包含“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)和等級余數(shù)元素?!暗燃壌笥贗”旗標(biāo)和“等級大于2”旗標(biāo)可經(jīng)CABAC編碼,且等級余數(shù)元素可編碼為Golomb-Rice碼。在此實(shí)例中,視頻解碼器30可執(zhí)行CABAC解碼操作以對“等級大于I”旗標(biāo)和“等級大于2”旗標(biāo)進(jìn)行解碼,且可將Golomb-Rice碼轉(zhuǎn)換回成等級余數(shù)元素。
[0150]此外,視頻解碼器30可使用有效性映射、基于掃描的LSC指示符和變換系數(shù)塊的變換系數(shù)等級信息來從用于所述變換系數(shù)塊的等級信息重建變換系數(shù)塊(142)。在一些實(shí)例中,視頻解碼器30可交錯(cuò)步驟140與142。舉例來說,視頻解碼器30可以二維陣列存儲所述變換系數(shù)。在此實(shí)例中,視頻解碼器30可在視頻解碼器30在步驟140中對等級信息進(jìn)行解碼時(shí)添加或調(diào)整陣列中的變換系數(shù)。
[0151]如上所述,用于變換系數(shù)塊的等級信息可包括一系列“等級大于I”旗標(biāo)、一系列“等級大于2”旗標(biāo)、一系列正負(fù)號旗標(biāo),和一系列等級余數(shù)元素。在一些實(shí)例中,所述系列“等級大于I”旗標(biāo)、所述系列“等級大于2”旗標(biāo)、所述正負(fù)號旗標(biāo)和所述等級余數(shù)元素并不包含關(guān)于變換系數(shù)塊內(nèi)的無效變換系數(shù)的條目。因此,所述系列“等級大于I”旗標(biāo)、所述系列“等級大于2”旗標(biāo)、所述正負(fù)號旗標(biāo)和所述等級余數(shù)元素可不包含指示對應(yīng)于“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)和等級余數(shù)元素的變換系數(shù)塊的位置的信息。因此,視頻解碼器30可使用有效性映射來確定對應(yīng)于“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)和等級余數(shù)元素的變換系數(shù)塊內(nèi)的位置。在此情況下,視頻解碼器30可接著使用所述“等級大于I”旗標(biāo)、“等級大于2”旗標(biāo)、正負(fù)號旗標(biāo)和等級余數(shù)元素來重建變換系數(shù)塊。
[0152]如上所述,在一些實(shí)例中,變換系數(shù)的經(jīng)二進(jìn)制化等級信息的第一二進(jìn)制數(shù)可指示變換系數(shù)是否有效。因此,有效性映射可集成到變換系數(shù)的經(jīng)二進(jìn)制化等級信息中。在此些實(shí)例中,步驟138中的對有效性映射執(zhí)行熵解碼操作可為步驟140中的對等級信息執(zhí)行CABAC解碼操作的部分。
[0153]圖9是說明用以將用于變換系數(shù)塊的基于塊的LSC指示符轉(zhuǎn)換成用于變換系數(shù)塊的基于掃描的LSC指示符的實(shí)例非迭代操作150的流程圖。在圖9的實(shí)例中,操作150假定掃描次序?yàn)閆形掃描次序。在視頻解碼器30開始操作150之后,視頻解碼器30可確定對角線數(shù)目變量的值(152)。視頻解碼器30可通過將基于塊的LSC指示符的y坐標(biāo)與基于塊的LSC指示符的X坐標(biāo)相加來確定對角線數(shù)目變量的值。
[0154]接下來,視頻解碼器30可確定所述對角線數(shù)目變量是否大于變換系數(shù)塊的塊寬度(154)。如果對角線數(shù)目大于變換系數(shù)塊的塊寬度(154的“是”),則視頻解碼器30可計(jì)算基于掃描的LSC指示符的初始值(156)。視頻解碼器30可如下計(jì)算基于掃描的LSC指示符的初始值:ScanPositionLast = DiagNum*(DiagNum+1)) >> I,其中“ScanPositionLast”為基于掃描的LSC指示符,“DiagNum”表示對角線數(shù)目變量,且“>>”表示右移位運(yùn)算。
[0155]接下來,視頻解碼器30可確定對角線數(shù)目變量是否為奇數(shù)(158)。在一些實(shí)例中,視頻解碼器30可如下確定對角線數(shù)目變量是否為奇數(shù):(DiagNum% 2) == I。如果對角線數(shù)目變量為奇數(shù)(158的“是”),則視頻解碼器30可基于基于塊的LSC指示符的y坐標(biāo)重新計(jì)算基于掃描的LSC指示符(160)。舉例來說,視頻解碼器30可將基于塊的LSC指示符的I坐標(biāo)與基于掃描的LSC指示符的初始值相加來重新計(jì)算所述基于掃描的LSC指示符。反之,如果對角線數(shù)目變量不為奇數(shù)(158的“否”),則視頻解碼器30可基于基于塊的LSC指示符的X坐標(biāo)重新計(jì)算基于掃描的LSC指示符(162)。舉例來說,視頻解碼器30可將基于塊的LSC指示符的X坐標(biāo)與基于掃描的LSC指示符的初始值相加來重新計(jì)算所述基于掃描的LSC指示符。[0156]如果對角線數(shù)目不大于塊寬度(154的“否”),則視頻解碼器30可計(jì)算臨時(shí)變量的值(164)。視頻解碼器30可如下計(jì)算所述臨時(shí)變量的值:(BlockWidth-1)<< l)-DiagNum,其中“BlockWidth”指示變換系數(shù)塊的寬度,且“<<”表示左移位運(yùn)算。在計(jì)算出臨時(shí)值之后,視頻解碼器30可計(jì)算基于掃描的LSC指示符的初始值(166)。視頻解碼器30可如下計(jì)算基于掃描的LSC指示符的初始值=MaxNumCoeffMl-((T*(T+1)) >>1),其中“MaxNumCoeffMl”為變換系數(shù)塊中的變換系數(shù)的最大數(shù)目,且“Τ”為臨時(shí)變量。
[0157]視頻解碼器30可接著確定所述臨時(shí)變量是否為奇數(shù)(168)。如果臨時(shí)變量為奇數(shù)(168的“是”),則視頻解碼器30可基于基于塊的LSC指示符的y坐標(biāo)重新計(jì)算基于掃描的LSC指示符(170)。舉例來說,視頻解碼器30可如下重新計(jì)算基于掃描的LSC指不符;ScanPositionLast = ScanPositionLast-BlockWidth+1+PositionLastY,其中“ScanPositionLast”為基于掃描的LSC指示符,“BlockWidth”為變換系數(shù)塊的寬度,且"PositionLastY"為基于塊的LSC指示符的y坐標(biāo)。
[0158]反之,如果臨時(shí)變量不為奇數(shù)(168的“否”),則視頻解碼器30可基于基于塊的LSC指示符的X坐標(biāo)重新計(jì)算基于掃描的LSC指示符(172)。舉例來說,視頻解碼器30可如下重新計(jì)算基于掃描的 LSC 指不符!ScanPositionLast = ScanPositionLast-BlockWidth+1+PositionLastX,其中“ScanPositionLast” 為基于掃描的 LSC 指不符,“BlockWidth” 為變換系數(shù)塊的寬度,且“PositionLastX”為基于塊的LSC指示符的x坐標(biāo)。
[0159]以下偽碼描述根據(jù)圖9的實(shí)例的非迭代算法,其從由基于塊的LSC指示符指定的坐標(biāo)導(dǎo)出基于掃描的LSC指示符。
[0160]
【權(quán)利要求】
1.一種用于對視頻數(shù)據(jù)進(jìn)行解碼的方法,所述方法包括: 將基于塊的最后有效系數(shù)LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符,所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo),所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置;以及 基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
2.根據(jù)權(quán)利要求1所述的方法,其中所述掃描次序從所述塊的DC分量開始。
3.根據(jù)權(quán)利要求1所述的方法,其中將所述基于塊的LSC指示符轉(zhuǎn)換成所述基于掃描的LSC指示符包括執(zhí)行從所述基于塊的LSC指示符導(dǎo)出所述基于掃描的LSC指示符的非迭代算法。
4.根據(jù)權(quán)利要求1所述的方法,其中將所述基于塊的LSC指示符轉(zhuǎn)換成所述基于掃描的LSC指示符包括存取將基于塊的LSC指示符映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)。
5.根據(jù)權(quán)利要求1所述的方法,其中將所述基于塊的LSC指示符轉(zhuǎn)換成所述基于掃描的LSC指示符包括: 執(zhí)行根據(jù)所述掃描次序掃描經(jīng)過所述塊中的位置的循環(huán)操作,直到達(dá)到具有所述坐標(biāo)的位置為止;以及 針對所述塊的在具有所述坐標(biāo)的所述位置之前的每一位置遞增所述基于掃描的LSC指示符。
6.根據(jù)權(quán)利要求1所述的方法,其中對所述有效性映射進(jìn)行解碼包括使用所述基于掃描的LSC指示符確定所述有效性映射是否包含用于所述變換系數(shù)的有效性旗標(biāo)。
7.根據(jù)權(quán)利要求6所述的方法, 其中所述方法進(jìn)一步包括接收有效性映射的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC版本; 其中使用所述基于掃描的LSC指示符來對所述有效性映射進(jìn)行解碼包括: 基于所述基于掃描的LSC指示符選擇上下文模型;以及 在對所述有效性映射進(jìn)行解碼的CABAC解碼操作期間使用所述上下文模型;且 其中所述方法進(jìn)一步包括: 接收用于所述塊的等級信息的經(jīng)編碼版本;以及 使用所述有效性映射來對所述等級信息進(jìn)行解碼。
8.根據(jù)權(quán)利要求7所述的方法,其進(jìn)一步包括: 確定所述塊的幀內(nèi)預(yù)測模式; 基于所述塊的所述幀內(nèi)預(yù)測模式確定所述掃描次序; 根據(jù)所述掃描次序?qū)⑺龅燃壭畔⒂成涞剿鰤K; 對所述塊中的變換系數(shù)執(zhí)行逆量化操作以產(chǎn)生經(jīng)逆量化的塊; 對所述經(jīng)逆量化的塊執(zhí)行逆變換操作以產(chǎn)生殘余數(shù)據(jù); 執(zhí)行產(chǎn)生預(yù)測數(shù)據(jù)的幀內(nèi)預(yù)測操作;以及 執(zhí)行使用所述殘余數(shù)據(jù)和所述預(yù)測數(shù)據(jù)來產(chǎn)生重建的塊的重建操作,所述重建的塊是所述視頻數(shù)據(jù)的圖片的一部分。
9.根據(jù)權(quán)利要求1所述的方法,其中所述掃描次序?yàn)榛谧訅K的掃描次序、對角線掃描次序、水平掃描次序、垂直掃描次序,或Z形掃描次序。
10.根據(jù)權(quán)利要求1所述的方法, 其中所述方法進(jìn)一步包括基于所述掃描次序選擇轉(zhuǎn)換操作以將所述基于塊的LSC指示符轉(zhuǎn)換為所述基于掃描的指示符;且 其中將所述基于塊的LSC指示符轉(zhuǎn)換為所述基于掃描的LSC指示符包括使用所述選定轉(zhuǎn)換操作將所述基于塊的LSC指示符轉(zhuǎn)換為所述基于掃描的LSC指示符。
11.根據(jù)權(quán)利要求1所述的方法, 其中所述塊包含多個(gè)子塊; 其中對所述有效性映射進(jìn)行解碼包括: 基于所述基于掃描的LSC指示符從所述多個(gè)子塊當(dāng)中識別最后有效子塊,即含有所述LSC的所述最后有效子塊;以及 執(zhí)行處理所述最后有效子塊和所述子塊中的根據(jù)以所述最后有效子塊開始的第一反轉(zhuǎn)掃描次序在所述最后有效子塊之前出現(xiàn)的子塊的第一譯碼遍次; 其中對于在所述第一譯碼遍次期間處理的所述子塊中的每一者,執(zhí)行根據(jù)第二反轉(zhuǎn)掃描次序處理所述子塊中的變換系數(shù)的第二譯碼遍次;且 其中對于在所述第二譯碼遍次期間處理的每一變換系數(shù),基于所述基于掃描的LSC指示符確定所述有效性映射是否包含用于所述變換系數(shù)的有效性旗標(biāo)。
12.一種包括一個(gè)或一個(gè)以上處理器的視頻解碼裝置,所述一個(gè)或一個(gè)以上處理器經(jīng)配置以: 將基于塊的最后有效系數(shù)LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符,所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo),所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置;以及 基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
13.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述掃描次序從所述塊的DC分量開始。
14.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以執(zhí)行從所述基于塊的LSC指示符導(dǎo)出所述基于掃描的LSC指示符的非迭代算法。
15.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以存取將基于塊的LSC指示符映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)。
16.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以: 執(zhí)行根據(jù)所述掃描次序掃描經(jīng)過所述塊中的位置的循環(huán)操作,直到達(dá)到具有所述坐標(biāo)的位置為止;以及 針對所述塊的在具有所述坐標(biāo)的所述位置之前的每一位置遞增所述基于掃描的LSC指示符。
17.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以使用所述基于掃描的LSC指示符確定所述有效性映射是否包含用于所述變換系數(shù)的有效性旗標(biāo)。
18.根據(jù)權(quán)利要求17所述的視頻解碼裝置, 其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以接收有效性映射的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC版本,且使用所述基于掃描的LSC指示符來至少部分地通過以下操作對所述有效性映射進(jìn)行解碼: 基于所述基于掃描的LSC指示符選擇上下文模型;以及 在對所述有效性映射進(jìn)行解碼的CABAC操作期間使用所述上下文模型;且 其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以: 接收用于所述塊的等級信息的經(jīng)編碼版本;以及 使用所述有效性映射來對所述等級信息進(jìn)行解碼。
19.根據(jù)權(quán)利要求18所述的視頻解碼裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以: 確定所述塊的幀內(nèi)預(yù)測模式; 基于所述塊的所述幀內(nèi)預(yù)測模式確定所述掃描次序; 根據(jù)所述掃描次序?qū)⑺龅燃壭畔⒂成涞剿鰤K; 對所述塊中的變換系數(shù)執(zhí)行逆量化操作以產(chǎn)生經(jīng)逆量化的塊; 對所述經(jīng)逆量化的塊執(zhí)行逆變換操作以產(chǎn)生殘余數(shù)據(jù); 執(zhí)行產(chǎn)生預(yù)測數(shù)據(jù)的幀內(nèi)預(yù)測操作;以及 執(zhí)行使用所述殘余數(shù)據(jù)和所述預(yù)測數(shù)據(jù)來產(chǎn)生重建的塊的重建操作,所述重建的塊是所述視頻數(shù)據(jù)的幀的一部分。`
20.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述掃描次序?yàn)閷蔷€掃描次序、水平掃描次序、垂直掃描次序,或Z形掃描次序。
21.根據(jù)權(quán)利要求12所述的視頻解碼裝置,其中所述一個(gè)或一個(gè)以上處理器進(jìn)一步經(jīng)配置以基于所述掃描次序選擇轉(zhuǎn)換操作,且使用所述選定轉(zhuǎn)換操作來將所述基于塊的LSC指示符轉(zhuǎn)換為所述基于掃描的LSC指示符。
22.根據(jù)權(quán)利要求12所述的視頻解碼裝置, 其中所述塊包含多個(gè)子塊; 其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置以至少部分地通過以下操作對所述有效性映射進(jìn)行解碼: 基于所述基于掃描的LSC指示符從所述多個(gè)子塊當(dāng)中識別最后有效子塊,即含有所述LSC的所述最后有效子塊;以及 執(zhí)行處理所述最后有效子塊和所述子塊中的根據(jù)以所述最后有效子塊開始的第一反轉(zhuǎn)掃描次序在所述最后有效子塊之前出現(xiàn)的子塊的第一譯碼遍次; 其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置使得對于在所述第一譯碼遍次期間處理的所述子塊中的每一者,所述一個(gè)或一個(gè)以上處理器執(zhí)行根據(jù)第二反轉(zhuǎn)掃描次序處理所述子塊中的變換系數(shù)的第二譯碼遍次;且 其中所述一個(gè)或一個(gè)以上處理器經(jīng)配置使得對于在所述第二譯碼遍次期間處理的每一變換系數(shù),所述一個(gè)或一個(gè)以上處理器基于所述基于掃描的LSC指不符確定所述有效性映射是否包含用于所述變換系數(shù)的有效性旗標(biāo)。
23.一種視頻解碼裝置,其包括: 用于將基于塊的最后有效系數(shù)LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符的裝置,所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo),所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置;以及 用于基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼的裝置。
24.根據(jù)權(quán)利要求23所述的解碼裝置,其包括: 用于基于所述基于掃描的LSC指示符選擇上下文模型的裝置; 用于在對所述有效性映射進(jìn)行解碼的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC解碼操作期間使用所述上下文模型的裝置; 用于接收用于所述塊的經(jīng)編碼等級信息的裝置;以及 用于使用所述有效性映射來對所述等級信息進(jìn)行解碼的裝置。
25.根據(jù)權(quán)利要求23所述的解碼裝置,其包括用于執(zhí)行非迭代算法的裝置,所述非迭代算法從所述基于塊的LSC指示符導(dǎo)出所述基于掃描的LSC指示符。
26.根據(jù)權(quán)利要求23所述的解碼裝置,其包括用于存取將基于塊的LSC指示符映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)的裝置。
27.根據(jù)權(quán)利要求23所述的解碼裝置,其包括: 用于執(zhí)行根據(jù)所述掃描次序掃描經(jīng)過所述變換系數(shù)塊中的位置的循環(huán)操作,直到達(dá)到具有所述坐標(biāo)的位置為止的裝置;以及 用于針對所述變換系數(shù)塊的在具有所述坐標(biāo)的所述位置之前的每一位置遞增所述基于掃描的LSC指示符的裝置。
28.根 據(jù)權(quán)利要求23所述的解碼裝置,其包括: 其中所述塊包含多個(gè)子塊; 其中所述用于對所述有效性映射進(jìn)行解碼的裝置包括用于進(jìn)行以下操作的裝置:基于所述基于掃描的LSC指示符從所述多個(gè)子塊當(dāng)中識別最后有效子塊,即含有所述LSC的所述最后有效子塊;以及 執(zhí)行處理所述最后有效子塊和所述子塊中的根據(jù)以所述最后有效子塊開始的第一反轉(zhuǎn)掃描次序在所述最后有效子塊之前出現(xiàn)的子塊的第一譯碼遍次; 其中對于在所述第一譯碼遍次期間處理的所述子塊中的每一者,所述用于對所述有效性映射進(jìn)行解碼的裝置執(zhí)行根據(jù)第二反轉(zhuǎn)掃描次序處理所述子塊中的變換系數(shù)的第二譯碼遍次;且 其中對于在所述第二譯碼遍次期間處理的每一變換系數(shù),所述用于對所述有效性映射進(jìn)行解碼的裝置基于所述基于掃描的LSC指示符確定所述有效性映射是否包含用于所述變換系數(shù)的有效性旗標(biāo)。
29.—種包括上面存儲有指令的計(jì)算機(jī)可讀存儲媒體的計(jì)算機(jī)程序產(chǎn)品,所述指令配置一個(gè)或一個(gè)以上處理器以: 將基于塊的最后有效系數(shù)LSC指示符轉(zhuǎn)換成基于掃描的LSC指示符,所述基于塊的LSC指示符根據(jù)掃描次序指示變換系數(shù)塊的最后有效系數(shù)的坐標(biāo),所述基于掃描的LSC指示符根據(jù)所述掃描次序指示所述LSC的序數(shù)位置;以及 基于所述基于掃描的LSC指示符對用于所述塊的有效性映射進(jìn)行解碼。
30.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述指令配置所述一個(gè)或一個(gè)以上處理器以: 基于所述基于掃描的LSC指示符選擇上下文模型;在對所述有效性映射進(jìn)行解碼的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC解碼操作期間使用所述上下文模型;以及 使用所述有效性映射來對所述等級信息進(jìn)行解碼。
31.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述指令配置所述一個(gè)或一個(gè)以上處理器以執(zhí)行從所述基于塊的LSC指示符導(dǎo)出所述基于掃描的LSC指示符的非迭代算法。
32.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述指令配置所述一個(gè)或一個(gè)以上處理器以存取將基于塊的LSC指示符映射到基于掃描的LSC指示符的數(shù)據(jù)結(jié)構(gòu)。
33.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品,其中所述指令配置所述一個(gè)或一個(gè)以上處理器以: 執(zhí)行根據(jù)所述掃描次序掃描經(jīng)過所述塊中的位置的循環(huán)操作,直到達(dá)到具有所述坐標(biāo)的位置為止;以及 針對所述塊的在具有所述坐標(biāo)的所述位置之前的每一位置遞增所述基于掃描的LSC指示符。
34.根據(jù)權(quán)利要求29所述的計(jì)算機(jī)程序產(chǎn)品, 其中所述變換系數(shù)塊包含多個(gè)子塊; 其中所述指令配置所述一個(gè)或一個(gè)以上處理器以: 基于所述基于掃描的LSC指示符從所述多個(gè)子塊當(dāng)中識別最后有效子塊,即含有所述LSC的所述最后有效子塊;以及 執(zhí)行處理所述最后有效子塊和所述子塊中的根據(jù)以所述最后有效子塊開始的第一反轉(zhuǎn)掃描次序在所述最后有效子塊之前出現(xiàn)的子塊的第一譯碼遍次; 其中所述指令配置所述一個(gè)或一個(gè)以上處理器使得對于在所述第一譯碼遍次期間處理的所述子塊中的每一者,所述一個(gè)或一個(gè)以上處理器執(zhí)行根據(jù)第二反轉(zhuǎn)掃描次序處理所述子塊中的變換系數(shù)的第二譯碼遍次;且 其中所述指令配置所述一個(gè)或一個(gè)以上處理器使得對于在所述第二譯碼遍次期間處理的每一變換系數(shù),所述一個(gè)或一個(gè)以上處理器基于所述基于掃描的LSC指不符確定所述有效性映射是否包含用于所述變換系數(shù)的有效性旗標(biāo)。
【文檔編號】H04N19/169GK103621086SQ201280031357
【公開日】2014年3月5日 申請日期:2012年6月28日 優(yōu)先權(quán)日:2011年6月28日
【發(fā)明者】霍埃爾·索賴羅哈斯, 瑞珍·雷克斯曼·喬許, 馬爾塔·卡切維奇 申請人:高通股份有限公司