確定在視頻譯碼中用于譯碼變換系數(shù)數(shù)據(jù)的上下文的制作方法
【專利摘要】在一個(gè)實(shí)例中,一種用于譯碼視頻數(shù)據(jù)的裝置包括視頻譯碼器,所述視頻譯碼器經(jīng)配置以:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于譯碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵譯碼所述變換系數(shù)。
【專利說(shuō)明】確定在視頻譯碼中用于譯碼變換系數(shù)數(shù)據(jù)的上下文
[0001]本申請(qǐng)案主張2012年I月13日申請(qǐng)的第61/586,668號(hào)美國(guó)臨時(shí)申請(qǐng)案、2012年I月19日申請(qǐng)的第61/588,595號(hào)美國(guó)臨時(shí)申請(qǐng)案和2012年2月9日申請(qǐng)的第61/597,097號(hào)美國(guó)臨時(shí)申請(qǐng)案的權(quán)益,所述申請(qǐng)案中的每一者的全部?jī)?nèi)容特此以引用的方式并入。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及視頻譯碼。
【背景技術(shù)】
[0003]數(shù)字視頻能力可并入到廣泛范圍的裝置中,所述裝置包括數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、平板型計(jì)算機(jī)、電子書(shū)閱讀器、數(shù)字相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲機(jī)、蜂窩式或衛(wèi)星無(wú)線電電話、所謂的“智能型手機(jī)”、視頻電話會(huì)議裝置、視頻串流裝置等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如以下各者中描述的技術(shù):由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分(高級(jí)視頻譯碼(AVC))定義的標(biāo)準(zhǔn)、目前在開(kāi)發(fā)中的高效率視頻譯碼(HEVC)標(biāo)準(zhǔn),和這些標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置可通過(guò)實(shí)施所述視頻壓縮技術(shù)而較有效率地發(fā)射、接收、編碼、解碼和/或存儲(chǔ)數(shù)字視頻信息。
[0004]視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測(cè)和/或時(shí)間(圖片間)預(yù)測(cè),以減少或移除視頻序列中所固有的冗余。對(duì)于基于塊的視頻譯碼而言,可將視頻切片(即,視頻幀或視頻幀的一部分)分割成視頻塊(其還可被稱作樹(shù)塊、譯碼單元(CU)和/或譯碼節(jié)點(diǎn))。使用相對(duì)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測(cè)來(lái)編碼圖片的幀內(nèi)譯碼(I)切片中的視頻塊。圖片的幀間譯碼(P或B)切片中的視頻塊可使用相對(duì)于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測(cè)或相對(duì)于其它參考圖片中的參考樣本的時(shí)間預(yù)測(cè)。圖片可被稱作幀,且參考圖片可被稱作參考幀。
[0005]空間預(yù)測(cè)或時(shí)間預(yù)測(cè)導(dǎo)致用于待譯碼塊的預(yù)測(cè)性塊。殘余數(shù)據(jù)表示待譯碼的原始?jí)K與預(yù)測(cè)性塊之間的像素差。根據(jù)指向形成預(yù)測(cè)性塊的參考樣本的塊的運(yùn)動(dòng)向量和指示經(jīng)譯碼塊與預(yù)測(cè)性塊之間的差的殘余數(shù)據(jù)來(lái)編碼幀間譯碼塊。根據(jù)幀內(nèi)譯碼模式和殘余數(shù)據(jù)來(lái)編碼幀內(nèi)譯碼塊。為進(jìn)行進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),可接著量化殘余變換系數(shù)。可掃描最初布置成二維陣列的經(jīng)量化的變換系數(shù)以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵譯碼以實(shí)現(xiàn)更進(jìn)一步壓縮。
【發(fā)明內(nèi)容】
[0006]一股來(lái)說(shuō),本發(fā)明描述關(guān)于確定用于熵譯碼(例如,使用上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC))視頻數(shù)據(jù)的上下文的技術(shù)。CABAC譯碼大體上涉及確定當(dāng)譯碼各種語(yǔ)法元素的二進(jìn)制表示時(shí)的上下文。語(yǔ)法元素的實(shí)例包括用于變換系數(shù)的數(shù)據(jù),例如,指示變換系數(shù)是否有效的數(shù)據(jù)、有效的變換系數(shù)的正負(fù)號(hào),和有效的變換系數(shù)的水平值。變換系數(shù)大體上對(duì)應(yīng)于例如變換單元(TU)的變換塊的系數(shù)。本發(fā)明描述用于基于變換塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼變換系數(shù)的上下文的技術(shù)。
[0007]在一個(gè)實(shí)例中,一種譯碼視頻數(shù)據(jù)的方法包括基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼所述視頻塊的所述變換系數(shù)的上下文,及使用所述經(jīng)確定上下文來(lái)熵譯碼所述變換系數(shù)。
[0008]在另一實(shí)例中,一種用于譯碼視頻數(shù)據(jù)的裝置包括視頻譯碼器,所述視頻譯碼器經(jīng)配置以基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼所述視頻塊的所述變換系數(shù)的上下文,且使用所述經(jīng)確定上下文來(lái)熵譯碼所述變換系數(shù)。
[0009]在另一實(shí)例中,一種用于譯碼視頻數(shù)據(jù)的裝置包括用于基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼所述視頻塊的所述變換系數(shù)的上下文的裝置,及用于使用所述經(jīng)確定上下文來(lái)熵譯碼所述變換系數(shù)的裝置。
[0010]在另一實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)于其上的指令,所述指令在被執(zhí)行時(shí)致使處理器基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼所述視頻塊的所述變換系數(shù)的上下文,且使用所述經(jīng)確定上下文來(lái)熵譯碼所述變換系數(shù)。
[0011]在另一實(shí)例中,一種解碼視頻數(shù)據(jù)的方法包括:確定視頻塊的變換系數(shù)是否為DC變換系數(shù);在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí),在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于解碼所述變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
[0012]在另一實(shí)例中,一種用于解碼視頻數(shù)據(jù)的裝置包括視頻解碼器,所述視頻解碼器經(jīng)配置以:確定視頻塊的變換系數(shù)是否為DC變換系數(shù);在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí),在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于解碼所述變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
[0013]在另一實(shí)例中,一種用于解碼視頻數(shù)據(jù)的裝置包括:用于確定視頻塊的變換系數(shù)是否為DC變換系數(shù)的裝置;用于在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí)在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于解碼所述變換系數(shù)的上下文的裝置;及用于使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)的裝置。
[0014]在另一實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)于其上的指令,所述指令在被執(zhí)行時(shí)致使處理器進(jìn)行如下操作:確定視頻塊的變換系數(shù)是否為DC變換系數(shù);在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí),在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于解碼所述變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
[0015]在另一實(shí)例中,一種編碼視頻數(shù)據(jù)的方法包括:確定視頻塊的變換系數(shù)是否為DC變換系數(shù);在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí),在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于編碼所述變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
[0016]在另一實(shí)例中,一種用于編碼視頻數(shù)據(jù)的裝置包括視頻編碼器,所述視頻編碼器經(jīng)配置以:確定視頻塊的變換系數(shù)是否為DC變換系數(shù);在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí),在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于編碼所述變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
[0017]在另一實(shí)例中,一種用于編碼視頻數(shù)據(jù)的裝置包括:用于確定視頻塊的變換系數(shù)是否為DC變換系數(shù)的裝置;用于在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí)在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于編碼所述變換系數(shù)的上下文的裝置;及用于使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)的裝置。
[0018]在另一實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)于其上的指令,所述指令在被執(zhí)行時(shí)致使處理器進(jìn)行如下操作:確定視頻塊的變換系數(shù)是否為DC變換系數(shù);在所述變換系數(shù)經(jīng)確定為所述視頻塊的所述DC變換系數(shù)時(shí),在不考慮所述視頻塊的大小的情況下基于為所述DC變換系數(shù)的所述變換系數(shù)來(lái)確定用于編碼所述變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
[0019]在另一實(shí)例中,一種解碼視頻數(shù)據(jù)的方法包括:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
[0020]在另一實(shí)例中,一種用于解碼視頻數(shù)據(jù)的裝置包括視頻解碼器,所述視頻解碼器經(jīng)配置以:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
[0021]在另一實(shí)例中,一種用于解碼視頻數(shù)據(jù)的裝置包括:用于確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值的裝置;用于基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文的裝置;及用于使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)的裝置。
[0022]在另一實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)于其上的指令,所述指令在被執(zhí)行時(shí)致使處理器進(jìn)行如下操作:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
[0023]在另一實(shí)例中,一種編碼視頻數(shù)據(jù)的方法包括:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
[0024]在另一實(shí)例中,一種用于編碼視頻數(shù)據(jù)的裝置包括視頻編碼器,所述視頻編碼器經(jīng)配置以:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
[0025]在另一實(shí)例中,一種用于編碼視頻數(shù)據(jù)的裝置包括:用于確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值的裝置;用于基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文的裝置;及用于使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)的裝置。
[0026]在另一實(shí)例中,一種計(jì)算機(jī)可讀存儲(chǔ)媒體具有存儲(chǔ)于其上的指令,所述指令在被執(zhí)行時(shí)致使處理器進(jìn)行如下操作:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
[0027]在附圖和以下描述中闡述一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)和優(yōu)點(diǎn)將從所述描述和圖式及從權(quán)利要求書(shū)顯而易見(jiàn)。
【專利附圖】
【附圖說(shuō)明】
[0028]圖1為說(shuō)明可利用本發(fā)明中所描述的幀間預(yù)測(cè)技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)的方框圖。
[0029]圖2為說(shuō)明可實(shí)施本發(fā)明中所描述的幀間預(yù)測(cè)技術(shù)的實(shí)例視頻編碼器的方框圖。
[0030]圖3為說(shuō)明可實(shí)施本發(fā)明中所描述的幀間預(yù)測(cè)技術(shù)的實(shí)例視頻解碼器的方框圖。
[0031]圖4為說(shuō)明視頻塊中的變換系數(shù)與和所述視頻塊相關(guān)聯(lián)的有效性映射之間的關(guān)系的概念圖。
[0032]圖5A到圖為說(shuō)明使用z字形掃描次序、水平掃描次序、垂直掃描次序和對(duì)角線掃描次序掃描的視頻數(shù)據(jù)塊的實(shí)例的概念圖。
[0033]圖6為說(shuō)明劃分為子塊以用于變換系數(shù)譯碼的實(shí)例視頻塊的概念圖。
[0034]圖7為說(shuō)明實(shí)例五點(diǎn)支持的概念圖,所述五點(diǎn)支持用以定義使用反向?qū)蔷€掃描次序掃描的視頻塊中的系數(shù)的有效性映射的上下文模型。
[0035]圖8A和圖8B為說(shuō)明五點(diǎn)支持內(nèi)的上下文相依性的概念圖。
[0036]圖9A和圖9B為說(shuō)明視頻塊到兩個(gè)或兩個(gè)以上區(qū)域的實(shí)例劃分的概念圖。
[0037]圖10為說(shuō)明針對(duì)視頻塊的每一區(qū)域的基于鄰域或基于位置的上下文的實(shí)例指派的概念圖。
[0038]圖11為說(shuō)明針對(duì)視頻塊的每一區(qū)域的上下文偏移的實(shí)例指派的概念圖。
[0039]圖12為說(shuō)明視頻塊基于與現(xiàn)有上下文模型相關(guān)的TU大小的到兩個(gè)或兩個(gè)以上區(qū)域的實(shí)例內(nèi)嵌式劃分的概念圖。
[0040]圖13A和圖13B為說(shuō)明視頻塊到兩個(gè)或兩個(gè)以上區(qū)域的實(shí)例劃分的概念圖。
[0041]圖14A和圖14B為說(shuō)明針對(duì)視頻塊的每一區(qū)域的上下文偏移的實(shí)例指派的概念圖。
[0042]圖15為說(shuō)明用于編碼當(dāng)前塊的實(shí)例方法的流程圖。
[0043]圖16為說(shuō)明用于解碼視頻數(shù)據(jù)的當(dāng)前塊的實(shí)例方法的流程圖。
【具體實(shí)施方式】
[0044]一股來(lái)說(shuō),本發(fā)明描述關(guān)于確定用于視頻數(shù)據(jù)的熵譯碼(例如,使用上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC))的上下文的技術(shù)。CABAC譯碼通常涉及確定當(dāng)譯碼各種語(yǔ)法元素的二進(jìn)制表示時(shí)的上下文。語(yǔ)法元素包括(例如)用于變換系數(shù)的數(shù)據(jù),例如,指示變換系數(shù)是否有效的數(shù)據(jù)、有效的變換系數(shù)的正負(fù)號(hào),和有效的變換系數(shù)的水平值。變換系數(shù)大體上對(duì)應(yīng)于例如變換單元(TU)的變換塊的系數(shù)。本發(fā)明描述用于基于變換塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼變換系數(shù)的上下文的技術(shù)。
[0045]一股來(lái)說(shuō),根據(jù)本發(fā)明的技術(shù),視頻譯碼器可經(jīng)配置以基于變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼變換系數(shù)的上下文,且接著使用經(jīng)確定上下文來(lái)熵譯碼變換系數(shù)??梢远喾N方式將視頻塊劃分為區(qū)域。圖9A和圖11說(shuō)明將視頻塊劃分為包括一或多個(gè)左上子塊(例如,4X4個(gè)子塊)的第一區(qū)域和包括在所述第一區(qū)域外部的子塊的第二區(qū)域的實(shí)例。圖9B說(shuō)明沿對(duì)角線方向?qū)⒁曨l塊劃分為區(qū)域的實(shí)例。圖10說(shuō)明將視頻塊劃分為四等分且將左上四等分進(jìn)一步劃分為包括左上四等分的左上部分的子塊的第一子區(qū)域和包括所述左上四等分的在所述第一子區(qū)域外部的子塊的第二子區(qū)域的實(shí)例。圖12說(shuō)明將視頻塊劃分為對(duì)應(yīng)于視頻塊大小(例如,4X4、8X8、16X16和32X32)的區(qū)域的實(shí)例。圖13A說(shuō)明將視頻塊劃分為水平矩形區(qū)域的實(shí)例。圖13B說(shuō)明將視頻塊劃分為垂直矩形區(qū)域的實(shí)例。以下更詳細(xì)地描述這些圖。
[0046]在各種實(shí)例中,視頻譯碼器可經(jīng)配置而以多種方式(例如,基于變換系數(shù)在其中出現(xiàn)的區(qū)域)來(lái)確定用于譯碼變換系數(shù)的上下文。舉例來(lái)說(shuō),視頻譯碼器可經(jīng)配置而使用一些區(qū)域的基于位置的上下文信息或其它區(qū)域的基于鄰域的上下文信息來(lái)確定上下文。在一些實(shí)例中,特定區(qū)域內(nèi)的所有變換系數(shù)可使用基于所述區(qū)域所確定的同一上下文來(lái)譯碼。在其它實(shí)例中,可基于上下文鄰域來(lái)確定一區(qū)域內(nèi)的變換系數(shù)的上下文。在另外實(shí)例中,視頻譯碼器可基于變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定待應(yīng)用于上下文的偏移。即,所述區(qū)域中的每一者可與待應(yīng)用于上下文的特定上下文偏移相關(guān)聯(lián)。
[0047]本發(fā)明的技術(shù)可減少帶寬消耗,進(jìn)而導(dǎo)致在譯碼變換系數(shù)的語(yǔ)法元素時(shí)位的節(jié)省。所述語(yǔ)法元素可包括以下各者中的任一者或其全部:有效系數(shù)旗標(biāo)(其指示對(duì)應(yīng)變換系數(shù)是否有效,即,非零);有效系數(shù)的正負(fù)號(hào);有效系數(shù)是否具有大于I的絕對(duì)值的指示;具有大于I的絕對(duì)值的有效系數(shù)是否具有大于2的絕對(duì)值的指示;及/或具有大于2的絕對(duì)值的系數(shù)的剩余水平值。
[0048]圖1為說(shuō)明可利用本發(fā)明中所描述的技術(shù)的實(shí)例視頻編碼和解碼系統(tǒng)10的方框圖。如圖1中所展示,系統(tǒng)10包括源裝置12,源裝置12產(chǎn)生稍后待由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。源裝置12和目的地裝置14可包含廣泛范圍的裝置中的任一者,包括桌上型計(jì)算機(jī)、筆記型(B卩,膝上型)計(jì)算機(jī)、平板型計(jì)算機(jī)、機(jī)頂盒、電話手機(jī)(例如,所謂“智能型”手機(jī))、所謂“智能型”板、電視、攝影機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲機(jī)、視頻串流裝置,或其類似者。在一些情形下,源裝置12和目的地裝置14可經(jīng)裝備以進(jìn)行無(wú)線通信。
[0049]目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包含能夠?qū)⒔?jīng)編碼的視頻數(shù)據(jù)從源裝置12移動(dòng)到目的地裝置14的任何類型的媒體或裝置。在一實(shí)例中,鏈路16可包含用以使源裝置12能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)直接實(shí)時(shí)發(fā)射到目的地裝置14的通信媒體??筛鶕?jù)通信標(biāo)準(zhǔn)(例如,無(wú)線通信協(xié)議)調(diào)制經(jīng)編碼視頻數(shù)據(jù),且將經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14。通信媒體可包含任何無(wú)線或有線通信媒體,例如,射頻(RF)頻譜或一或多個(gè)物理傳輸線。通信媒體可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)的全球網(wǎng)絡(luò))的部分。通信媒體可包括路由器、交換器、基站,或可用以促進(jìn)從源裝置12到目的地裝置14的通信的任何其它設(shè)備。
[0050]或者,經(jīng)編碼數(shù)據(jù)可從輸出接口 22輸出到存儲(chǔ)裝置34。類似地,可通過(guò)輸入接口從存儲(chǔ)裝置34存取經(jīng)編碼數(shù)據(jù)。存儲(chǔ)裝置34可包括多種分布式或本地存取的數(shù)據(jù)存儲(chǔ)媒體中的任一者,例如,硬盤(pán)驅(qū)動(dòng)器、藍(lán)光光盤(pán)、DVD、CD-ROM、快閃存儲(chǔ)器、易失性或非易失性存儲(chǔ)器,或用于存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)的任何其它合適數(shù)字存儲(chǔ)媒體。在另一實(shí)例中,存儲(chǔ)裝置34可對(duì)應(yīng)于可保持由源裝置12產(chǎn)生的經(jīng)編碼視頻的文件服務(wù)器或另一中間存儲(chǔ)裝置。目的地裝置14可經(jīng)由串流傳輸或下載從存儲(chǔ)裝置34存取所存儲(chǔ)的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲(chǔ)經(jīng)編碼視頻數(shù)據(jù)且將所述經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包括網(wǎng)站服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)附加存儲(chǔ)(NAS)裝置或本地磁盤(pán)驅(qū)動(dòng)器。目的地裝置14可經(jīng)由任何標(biāo)準(zhǔn)數(shù)據(jù)連接(包括因特網(wǎng)連接)而存取經(jīng)編碼視頻數(shù)據(jù)。此數(shù)據(jù)連接可包括適合于存取存儲(chǔ)于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的無(wú)線信道(例如,W1-Fi連接)、有線連接(例如,DSL、纜線調(diào)制解調(diào)器,等等),或所述兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從存儲(chǔ)裝置34的傳輸可為串流傳輸、下載傳輸或所述兩者的組合。
[0051]本發(fā)明的技術(shù)未必限于無(wú)線應(yīng)用或環(huán)境。所述技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用中的任一者的視頻譯碼,所述應(yīng)用例如:空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、(例如)經(jīng)由因特網(wǎng)的串流視頻傳輸、供存儲(chǔ)于數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的編碼、存儲(chǔ)于數(shù)據(jù)存儲(chǔ)媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射以支持例如視頻串流、視頻播放、視頻廣播和/或視頻電話的應(yīng)用。
[0052]在圖1的實(shí)例中,源裝置12包括視頻源18、視頻編碼器20和輸出接口 22。在一些情形下,輸出接口 22可包括調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)和/或發(fā)射器。在源裝置12中,視頻源18可包括源,例如,視頻俘獲裝置(例如,攝像機(jī))、含有先前俘獲的視頻的視頻存檔、用以從視頻內(nèi)容提供者接收視頻的視頻饋送接口,和/或用于產(chǎn)生計(jì)算機(jī)圖形數(shù)據(jù)作為源視頻的計(jì)算機(jī)圖形系統(tǒng),或這些源的組合。作為一個(gè)實(shí)例,如果視頻源18為攝像機(jī),則源裝置12和目的地裝置14可形成所謂的相機(jī)電話或視頻電話。然而,一股本發(fā)明中所描述的技術(shù)可適用于視頻譯碼,且可應(yīng)用于無(wú)線和/或有線應(yīng)用。
[0053]經(jīng)俘獲、經(jīng)預(yù)先俘獲或經(jīng)計(jì)算機(jī)產(chǎn)生的視頻可由視頻編碼器20來(lái)編碼??山?jīng)由源裝置12的輸出接口 22將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。還可(或替代性地)將經(jīng)編碼視頻數(shù)據(jù)存儲(chǔ)到存儲(chǔ)裝置34上以供目的地裝置14或其它裝置稍后存取以用于解碼和/或播放。
[0054]目的地裝置14包括輸入接口 28、視頻解碼器30和顯示裝置32。在一些情形下,輸入接口 28可包括接收器和/或調(diào)制解調(diào)器。目的地裝置14的輸入接口 28經(jīng)由鏈路16接收經(jīng)編碼視頻數(shù)據(jù)。經(jīng)由鏈路16傳達(dá)或在存儲(chǔ)裝置34上提供的經(jīng)編碼視頻數(shù)據(jù)可包括由視頻編碼器20產(chǎn)生的多種語(yǔ)法元素,其供例如視頻解碼器30的視頻解碼器在解碼視頻數(shù)據(jù)時(shí)使用。所述語(yǔ)法元素可與在通信媒體上傳輸、存儲(chǔ)于存儲(chǔ)媒體上或存儲(chǔ)于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)包括在一起。
[0055]顯示裝置32可與目的地裝置14集成在一起或在目的地裝置14外部。在一些實(shí)例中,目的地裝置14可包括集成式顯示裝置且還經(jīng)配置以與外部顯示裝置介接。在其它實(shí)例中,目的地裝置14可為顯示裝置。一股來(lái)說(shuō),顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包含多種顯示裝置中的任一者,例如,液晶顯示器(LCD)、等離子體顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
[0056]視頻編碼器20和視頻解碼器30可根據(jù)視頻壓縮標(biāo)準(zhǔn)(例如,目前在開(kāi)發(fā)中的高效率視頻譯碼(HEVC)標(biāo)準(zhǔn))而操作,且可遵照HEVC測(cè)試模型(HM)。或者,視頻編碼器20和視頻解碼器30可根據(jù)例如ITU-T H.264標(biāo)準(zhǔn)或者被稱作MPEG-4第10部分(高級(jí)視頻譯碼(AVC))的其它專屬或工業(yè)標(biāo)準(zhǔn)或這些標(biāo)準(zhǔn)的擴(kuò)展而操作。舉例來(lái)說(shuō),標(biāo)準(zhǔn)的擴(kuò)展包括可縮放視頻譯碼(SVC)、多視圖視頻譯碼(MVC)、例如譯碼深度信息的三維(3D)譯碼等。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)或標(biāo)準(zhǔn)擴(kuò)展。視頻壓縮標(biāo)準(zhǔn)的其它實(shí)例包括MPEG-2和 ITU-T H.263。
[0057]盡管圖1中未展示,但在一些方面中,視頻編碼器20和視頻解碼器30可各自與音頻編碼器和解碼器集成在一起,且可包括適當(dāng)?shù)腗UX-DEMUX單元或其它硬件和軟件以處置共同數(shù)據(jù)串流或單獨(dú)數(shù)據(jù)串流中的音頻和視頻兩者的編碼。如果適用,則在一些實(shí)例中,MUX-DEMUX單元可遵照ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的其它協(xié)議。
[0058]視頻編碼器20和視頻解碼器30各自可實(shí)施為多種合適編碼器電路中的任一者,例如一或多個(gè)微處理器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)所述技術(shù)部分地以軟件實(shí)施時(shí),裝置可將用于軟件的指令存儲(chǔ)于合適的非暫時(shí)性計(jì)算機(jī)可讀媒體中,且在硬件中使用一或多個(gè)處理器來(lái)執(zhí)行所述指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20和視頻解碼器30中的每一者可包括于一或多個(gè)編碼器或解碼器中,其中任一者可集成為相應(yīng)裝置中的組合式編碼器/解碼器(編解碼器)的部分。
[0059]JCT-VC正致力于HEVC標(biāo)準(zhǔn)的開(kāi)發(fā)。HEVC標(biāo)準(zhǔn)化努力是基于視頻譯碼裝置的演進(jìn)模型,其被稱作HEVC測(cè)試模型(HM)。HM假設(shè)視頻譯碼裝置相對(duì)于根據(jù)(例如)ITU_TH.264/AVC的現(xiàn)有裝置的若干額外能力。舉例來(lái)說(shuō),盡管H.264提供九個(gè)幀內(nèi)預(yù)測(cè)編碼模式,但HM可提供多達(dá)三十三個(gè)幀內(nèi)預(yù)測(cè)編碼模式。
[0060]一股來(lái)說(shuō),HM的工作模型描述視頻幀或圖片可被劃分成包括明度樣本和色度樣本兩者的樹(shù)塊或最大譯碼單元(LCU)的序列。樹(shù)塊具有與H.264標(biāo)準(zhǔn)的宏塊的用途類似的用途。切片包括按譯碼次序的眾多連續(xù)樹(shù)塊。可將視頻幀或圖片分割成一或多個(gè)切片。每一樹(shù)塊可根據(jù)四叉樹(shù)而分裂成譯碼單元(CU)。舉例來(lái)說(shuō),樹(shù)塊(作為四叉樹(shù)的根節(jié)點(diǎn))可分裂成四個(gè)子節(jié)點(diǎn),且每一子節(jié)點(diǎn)又可為上代節(jié)點(diǎn),且分裂成另外四個(gè)子節(jié)點(diǎn)。最后未分裂的子節(jié)點(diǎn)(作為四叉樹(shù)的葉節(jié)點(diǎn))包含譯碼節(jié)點(diǎn),即,經(jīng)譯碼視頻塊。與經(jīng)譯碼的位流相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)可定義樹(shù)塊可分裂的最大次數(shù),且還可定義譯碼節(jié)點(diǎn)的最小大小。
[0061]CU包括譯碼節(jié)點(diǎn)和與所述譯碼節(jié)點(diǎn)相關(guān)聯(lián)的預(yù)測(cè)單元(PU)和變換單元(TU)。CU的大小對(duì)應(yīng)于譯碼節(jié)點(diǎn)的大小,且形狀必須為正方形。CU的大小的范圍可從8X8個(gè)像素直到具有最大64X64個(gè)像素或大于64X64個(gè)像素的樹(shù)塊的大小。每一⑶可含有一或多個(gè)PU和一或多個(gè)TU。與CU相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)可描述(例如)CU到一或多個(gè)PU的分割。分割模式可在CU是被跳過(guò)還是經(jīng)直接模式編碼、經(jīng)幀內(nèi)預(yù)測(cè)模式編碼還是經(jīng)幀間預(yù)測(cè)模式編碼之間不同。PU可分割成非正方形。與CU相關(guān)聯(lián)的語(yǔ)法數(shù)據(jù)還可描述(例如)根據(jù)四叉樹(shù)的⑶到一或多個(gè)TU的分割。TU的形狀可為正方形或非正方形。
[0062]HEVC標(biāo)準(zhǔn)允許實(shí)現(xiàn)根據(jù)TU的變換,變換可針對(duì)不同⑶而不同。通?;卺槍?duì)經(jīng)分割LCU所定義的給定CU內(nèi)的PU的大小來(lái)設(shè)定TU大小,盡管可能并非總是如此情形。TU通常具有與PU相同的大小,或小于PU。在一些實(shí)例中,可使用稱為“殘余四叉樹(shù)”(RQT)的四叉樹(shù)結(jié)構(gòu)而將對(duì)應(yīng)于CU的殘余樣本再分為更小的單元。RQT的葉節(jié)點(diǎn)可稱作變換單元(TU)??勺儞Q與TU相關(guān)聯(lián)的像素差值以產(chǎn)生可量化的變換系數(shù)。
[0063]一股來(lái)說(shuō),包括與預(yù)測(cè)過(guò)程有關(guān)的數(shù)據(jù)。舉例來(lái)說(shuō),當(dāng)將以幀內(nèi)模式編碼時(shí),所述PU可包括描述所述PU的幀內(nèi)預(yù)測(cè)模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)將以幀間模式編碼時(shí),所述PU可包括定義所述的運(yùn)動(dòng)向量的數(shù)據(jù)。定義的運(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)向量的參考圖片列表。
[0064]一股來(lái)說(shuō),TU用于變換過(guò)程和量化過(guò)程。具有一或多個(gè)的給定⑶還可包括一或多個(gè)TU。在預(yù)測(cè)之后,視頻編碼器20可計(jì)算對(duì)應(yīng)于PU的殘余值。殘余值包含像素差值,可使用TU將所述像素差值變換成變換系數(shù),進(jìn)行量化和掃描以產(chǎn)生串行化變換系數(shù)以用于熵譯碼。本發(fā)明通常使用術(shù)語(yǔ)“視頻塊”來(lái)指代CU的譯碼節(jié)點(diǎn)。在一些特定情形下,本發(fā)明還可使用術(shù)語(yǔ)“視頻塊”來(lái)指代樹(shù)塊(即,LCU),或CU (其包括譯碼節(jié)點(diǎn)和和TU)。
[0065]視頻序列通常包括一系列視頻幀或圖片。圖片群組(GOP)通常包含視頻圖片中的一系列的一或多個(gè)視頻圖片。GOP可在GOP的標(biāo)頭、圖片中的一者或一者以上的標(biāo)頭中或在別處包括語(yǔ)法數(shù)據(jù),所述語(yǔ)法數(shù)據(jù)描述包括于GOP中的數(shù)個(gè)圖片。圖片的每一切片可包括描述相應(yīng)切片的編碼模式的切片語(yǔ)法數(shù)據(jù)。視頻編碼器20通常對(duì)個(gè)別視頻切片內(nèi)的視頻塊進(jìn)行操作,以便編碼視頻數(shù)據(jù)。視頻塊可對(duì)應(yīng)于CU內(nèi)的譯碼節(jié)點(diǎn)。視頻塊可具有固定或變化的大小,且可根據(jù)指定譯碼標(biāo)準(zhǔn)而在大小方面不同。
[0066]作為一實(shí)例,HM支持以各種I3U大小進(jìn)行預(yù)測(cè)。假定特定⑶的大小為2NX 2N,HM支持以2N X 2N或N X N的PU大小進(jìn)行幀內(nèi)預(yù)測(cè),且以2NX2N、2NXN、NX2N或NXN的對(duì)稱PU大小進(jìn)行幀間預(yù)測(cè)。HM還支持以2NXnU、2NXnD、nLX2N和nRX2N的I3U大小的不對(duì)稱分割以進(jìn)行巾貞間預(yù)測(cè)。在不對(duì)稱分割中,CU的一個(gè)方向未經(jīng)分割,而另一方向分割成25%和75%。⑶的對(duì)應(yīng)于25%分割區(qū)的部分由“η”繼之以“上”、“下”、“左”或“右”的指示來(lái)指示。因此,例如,“2NXnU”指代在水平方向上經(jīng)分割而具有頂部的2NX0.5N PU和底部的2NX1.5N PU 的 2NX2N CU。
[0067]在本發(fā)明中,“NXN”與“N乘N”可互換地使用以指代視頻塊在垂直尺寸與水平尺寸方面的像素尺寸,例如,16X16個(gè)像素或16乘16個(gè)像素。一股來(lái)說(shuō),16X16塊在垂直方向中將具有16個(gè)像素(y = 16)且在水平方向中將具有16個(gè)像素(x = 16)。同樣地,NXN塊通常在垂直方向上具有N個(gè)像素,且在水平方向上具有N個(gè)像素,其中N表示非負(fù)整數(shù)值??砂葱泻土衼?lái)布置塊中的像素。此外,塊未必需要在水平方向中與在垂直方向中具有相同數(shù)目個(gè)像素。舉例來(lái)說(shuō),塊可包含NXM個(gè)像素,其中M未必等于N。
[0068]在使用CU的進(jìn)行幀內(nèi)預(yù)測(cè)性或幀間預(yù)測(cè)性譯碼之后,視頻編碼器20可計(jì)算⑶的TU的殘余數(shù)據(jù)。可包含空間域(還稱作像素域)中的像素?cái)?shù)據(jù),且TU可包含在將(例如)離散余弦變換(DCT)、整數(shù)變換、小波變換或概念上類似的變換的變換應(yīng)用于殘余視頻數(shù)據(jù)之后的變換域中的系數(shù)。殘余數(shù)據(jù)可對(duì)應(yīng)于未經(jīng)編碼圖片的像素與對(duì)應(yīng)于PU的預(yù)測(cè)值之間的像素差。視頻編碼器20可形成包括CU的殘余數(shù)據(jù)的TU,且接著變換所述TU以產(chǎn)生⑶的變換系數(shù)。
[0069]在應(yīng)用任何變換以產(chǎn)生變換系數(shù)之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量化大體上指代如下過(guò)程:將變換系數(shù)量化以可能地減少用以表示所述系數(shù)的數(shù)據(jù)的量,從而提供進(jìn)一步壓縮。所述量化過(guò)程可減少與所述系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來(lái)說(shuō),可在量化期間將η位值下舍入到m位值,其中η大于m。
[0070]在一些實(shí)例中,視頻編碼器20和視頻解碼器30可利用預(yù)定義掃描次序來(lái)掃描經(jīng)量化的變換系數(shù)以產(chǎn)生可經(jīng)熵編碼的串行化向量。在其它實(shí)例中,視頻編碼器20和視頻解碼器30可執(zhí)行自適應(yīng)掃描。在掃描所述經(jīng)量化變換系數(shù)以形成一維向量之后,或在掃描期間,視頻編碼器20可熵編碼所述一維向量,例如,根據(jù)上下文自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語(yǔ)法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法。視頻解碼器30可熵解碼所述系數(shù),執(zhí)行反量化過(guò)程和反變換過(guò)程以再現(xiàn)殘余數(shù)據(jù),且組合所述殘余數(shù)據(jù)與預(yù)測(cè)性數(shù)據(jù)以產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。視頻編碼器20還可熵編碼與經(jīng)編碼視頻數(shù)據(jù)相關(guān)聯(lián)的語(yǔ)法元素以供視頻解碼器30用于解碼視頻數(shù)據(jù)。
[0071]為了執(zhí)行CABAC,視頻編碼器20和視頻解碼器30可將上下文模型內(nèi)的上下文指派給待譯碼的符號(hào)。所述上下文可關(guān)于(例如)符號(hào)的相鄰值是否非零。根據(jù)本發(fā)明的技術(shù),視頻編碼器20和/或視頻解碼器30可經(jīng)配置以基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于熵譯碼(例如,熵編碼或熵解碼)變換系數(shù)的上下文。
[0072]視頻編碼器20和視頻解碼器30可經(jīng)配置而具有視頻塊(例如,變換單元)的各區(qū)域的定義。舉例來(lái)說(shuō),視頻編碼器20和視頻解碼器30可經(jīng)配置而具有各種大小的視頻塊的區(qū)域的定義。在一些實(shí)例中,視頻編碼器20可確定借以將視頻塊劃分為區(qū)域的方法和表示將如何劃分所述塊的碼數(shù)據(jù)。所述區(qū)域中的每一者可與用于確定出現(xiàn)于相應(yīng)區(qū)域內(nèi)的變換系數(shù)的上下文的相應(yīng)值和/或技術(shù)相關(guān)聯(lián)。
[0073]舉例來(lái)說(shuō),視頻塊的特定區(qū)域可與基于鄰域的上下文確定方案相關(guān)聯(lián),而視頻塊的另一區(qū)域可與基于位置的上下文確定方案相關(guān)聯(lián)。作為另一實(shí)例,視頻塊的一區(qū)域可與偏移相關(guān)聯(lián),所述偏移將被應(yīng)用于經(jīng)確定用于位于所述區(qū)域中的變換系數(shù)的上下文。同一視頻塊的不同區(qū)域可與用于計(jì)算上下文的不同偏移值和/或不同技術(shù)相關(guān)聯(lián)。
[0074]作為一個(gè)實(shí)例,視頻塊可包括兩個(gè)不同區(qū)域:第一區(qū)域,其包括視頻塊的左上隅角中的一或多個(gè)子塊(例如,4X4個(gè)變換系數(shù)子塊);及第二區(qū)域,其包括視頻塊的未包括于第一區(qū)域中的其它子塊。更具體來(lái)說(shuō),視頻編碼器20和視頻解碼器30可確定子塊的X坐標(biāo)和y坐標(biāo),且通過(guò)比較X與y的總和與閾值來(lái)確定所述子塊是在第一區(qū)域中還是在第二區(qū)域中。如果X與y的總和小于所述閾值,則視頻編碼器20和視頻解碼器30可確定所述子塊在第一區(qū)域中,且否則視頻編碼器20和視頻解碼器30可確定所述子塊在第二區(qū)域中。視頻編碼器20和視頻解碼器30可基于視頻塊的系數(shù)在第一區(qū)域的子塊中還是在第二區(qū)域的子塊中來(lái)確定用于所述系數(shù)的上下文。
[0075]舉例來(lái)說(shuō),在一些區(qū)域中,所述上下文可為固定上下文,其中視頻編碼器20和視頻解碼器30使用所述固定上下文來(lái)譯碼所述區(qū)域中的變換系數(shù)。即,視頻編碼器20和視頻解碼器30可將同一上下文應(yīng)用于所述區(qū)域中的所有變換系數(shù)?;蛘?,所述區(qū)域中的子塊中的每一者可與確定上下文的同一方法(例如,固定上下文方法)相關(guān)聯(lián),但區(qū)域中的不同子塊可具有不同固定上下文。視頻編碼器20和視頻解碼器30可基于子塊在區(qū)域中的位置來(lái)確定所述子塊的固定上下文。作為又一實(shí)例,可將固定上下文指派給區(qū)域內(nèi)的個(gè)別變換系數(shù)位置。即,視頻編碼器20和視頻解碼器30可基于變換系數(shù)在視頻塊、子塊和/或區(qū)域中的位置來(lái)確定用于譯碼區(qū)域內(nèi)的變換系數(shù)的上下文。
[0076]作為另一實(shí)例,在一些區(qū)域中,可根據(jù)相鄰子塊來(lái)定義上下文模型。舉例來(lái)說(shuō),視頻編碼器20和視頻解碼器30可經(jīng)配置而具有用于特定區(qū)域內(nèi)的每一子塊的上下文的集合。即,區(qū)域中的每一子塊可與上下文的一相應(yīng)集合相關(guān)聯(lián)。視頻編碼器20和視頻解碼器30可針對(duì)相應(yīng)子塊中的每一變換系數(shù)從上下文的集合選擇適當(dāng)上下文。用于一個(gè)子塊的上下文的集合可不同于用于另一子塊的上下文的集合。
[0077]作為又一實(shí)例,用于區(qū)域中的每一子塊的個(gè)別旗標(biāo)可經(jīng)譯碼而表示在對(duì)應(yīng)子塊中是否存在任何有效(即,非零)系數(shù)。這些旗標(biāo)可稱作經(jīng)譯碼的子塊旗標(biāo)。所述旗標(biāo)可用于選擇用于譯碼子塊中的變換系數(shù)的上下文。舉例來(lái)說(shuō),視頻編碼器20和視頻解碼器30可基于一或多個(gè)相鄰子塊的旗標(biāo)的值來(lái)確定用于譯碼子塊中的變換系數(shù)的上下文。舉例來(lái)說(shuō),所述旗標(biāo)可具有為O或I的二進(jìn)制值,且視頻編碼器20和視頻解碼器30可基于右邊相鄰的子塊和下方相鄰的子塊(還稱作底部相鄰的子塊)的旗標(biāo)值的總和來(lái)確定用于譯碼當(dāng)前子塊中的變換系數(shù)的上下文。還可將其它公式用于計(jì)算子塊的上下文。
[0078]視頻編碼器20和視頻解碼器30可經(jīng)配置以單獨(dú)地或按任何組合實(shí)施本發(fā)明的技術(shù)中的任一者或全部。這些技術(shù)的一個(gè)實(shí)例組合為視頻編碼器20和視頻解碼器30可經(jīng)配置以將變換單元?jiǎng)澐譃樽訅K(例如,4 X 4個(gè)像素子塊),且接著基于特定變換系數(shù)在子塊中的位置且基于用于一或多個(gè)相鄰子塊(例如,左邊相鄰的子塊和底部相鄰的子塊)的經(jīng)譯碼塊旗標(biāo)來(lái)確定用于譯碼所述子塊的所述變換系數(shù)的數(shù)據(jù)的上下文。
[0079]視頻編碼器20和視頻解碼器30可經(jīng)配置以使用在這些各種實(shí)例中所確定的上下文來(lái)譯碼表示變換系數(shù)的一或多個(gè)語(yǔ)法元素。變換系數(shù)可包括各種類型的語(yǔ)法元素。舉例來(lái)說(shuō),變換系數(shù)可包括significant_coeff_f lag,其指示變換系數(shù)是否具有非零值(即,為有效的)。如果變換系數(shù)有效,則變換系數(shù)可包括指示變換系數(shù)的值是大于還是小于O的正負(fù)號(hào)值(例如,coeff_sign_flag),和指示變換系數(shù)的絕對(duì)值是否大于I的值(例如,coeff_abs_level_greaterl_flag)。如果變換系數(shù)具有大于I的絕對(duì)值,則變換系數(shù)可包括指示變換系數(shù)是否具有大于2的絕對(duì)值的值(例如,coeff_abs_level_greater2_flag)。如果變換系數(shù)具有大于2的絕對(duì)值,則變換系數(shù)可包括指示變換系數(shù)的絕對(duì)值減去二的值(例如,coeff_abs_level_remaining)。
[0080]視頻編碼器20和視頻解碼器30的CABAC譯碼器可使用根據(jù)本發(fā)明的技術(shù)所確定的上下文來(lái)譯碼這些值中的任一者或全部。額外或替代性地,視頻編碼器20和視頻解碼器30可使用根據(jù)本發(fā)明的技術(shù)所確定的上下文來(lái)譯碼指示最后有效系數(shù)的位置的數(shù)據(jù)(例如,last_significant_coeff_x_prefix> last_significant_coeff_x_suffix> last_significant_coeff_y_prefix 和 last_significant_coeff_y_suffix)。
[0081]視頻編碼器20和視頻解碼器30可經(jīng)配置以單獨(dú)地或按任何組合執(zhí)行本發(fā)明中所描述的技術(shù)中的任何一者或一者以上。以下描述用于基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼視頻塊的變換系數(shù)的上下文且使用所述經(jīng)確定上下文來(lái)熵譯碼變換系數(shù)的各種技術(shù)。以下參看圖9到圖14來(lái)描述所述技術(shù)的實(shí)例。一股來(lái)說(shuō),使用經(jīng)確定上下文來(lái)譯碼變換系數(shù)包括使用經(jīng)確定上下文來(lái)譯碼變換系數(shù)的一或多個(gè)語(yǔ)法元素。確定上下文大體上包括確定變換系數(shù)在其中出現(xiàn)的區(qū)域且基于所述區(qū)域來(lái)確定上下文。舉例來(lái)說(shuō),所述區(qū)域可與特定上下文或上下文的集合相關(guān)聯(lián),和/或與用于確定上下文的一或多種技術(shù)相關(guān)聯(lián)。
[0082]圖2為說(shuō)明可實(shí)施本發(fā)明中所描述的幀間預(yù)測(cè)技術(shù)的實(shí)例視頻編碼器20的方框圖。視頻編碼器20可執(zhí)行視頻切片內(nèi)的視頻塊的幀內(nèi)譯碼和幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測(cè)以減少或移除給定視頻幀或圖片內(nèi)的視頻的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)以減少或移除視頻序列的鄰近幀或圖片內(nèi)的視頻的時(shí)間冗余。幀內(nèi)模式(I模式)可指代若干基于空間的壓縮模式中的任一者。例如單向預(yù)測(cè)(P模式)或雙向預(yù)測(cè)(B模式)的幀間模式可指代若干基于時(shí)間的壓縮模式中的任一者。
[0083]在圖2的實(shí)例中,視頻編碼器20包括模式選擇單元35、預(yù)測(cè)處理器41、參考圖片存儲(chǔ)器64、求和器50、變換處理單元52、量化單元54和熵編碼單元56。預(yù)測(cè)處理器41包括運(yùn)動(dòng)估計(jì)單元42、運(yùn)動(dòng)補(bǔ)償單元44和幀內(nèi)預(yù)測(cè)單元46。對(duì)于視頻塊重構(gòu)而言,視頻編碼器20還包括反量化單元58、反變換單元60和求和器62。還可包括解塊濾波器(圖2中未展示)以對(duì)塊邊界濾波從而移除來(lái)自經(jīng)重構(gòu)視頻的成塊效應(yīng)假影。視需要,所述解塊濾波器將通常對(duì)求和器62的輸出濾波。除解塊濾波器以外,還可使用額外的環(huán)路濾波器(環(huán)路內(nèi)或環(huán)路后)。
[0084]如圖2中所展示,視頻編碼器20接收視頻數(shù)據(jù),且模式選擇單元35將所述數(shù)據(jù)分割為視頻塊。此分割還可包括分割為切片、瓦片(tile)或其它較大單元,以及(例如)根據(jù)LCU和CU的四叉樹(shù)結(jié)構(gòu)的視頻塊分割。視頻編碼器20大體上說(shuō)明了編碼待編碼的視頻切片內(nèi)的視頻塊的組件??蓪⑺銮衅瑒澐譃槎鄠€(gè)視頻塊(且有可能劃分為視頻塊的集合,其稱為瓦片)。預(yù)測(cè)處理器41可基于誤差結(jié)果(例如,譯碼速率和失真的水平)針對(duì)當(dāng)前視頻塊選擇多個(gè)可能譯碼模式中的一者,例如,多個(gè)幀內(nèi)譯碼模式中的一者或多個(gè)幀間譯碼模式中的一者。預(yù)測(cè)處理器41可將所得幀內(nèi)或幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù)且提供到求和器62以重構(gòu)經(jīng)編碼塊以用作參考圖片。
[0085]預(yù)測(cè)處理器41內(nèi)的幀內(nèi)預(yù)測(cè)單元46可執(zhí)行當(dāng)前視頻塊相對(duì)于處于與待譯碼的當(dāng)前塊相同的幀或切片中的一或多個(gè)相鄰塊的幀內(nèi)預(yù)測(cè)性譯碼,以提供空間壓縮。預(yù)測(cè)處理器41內(nèi)的運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行相對(duì)于一或多個(gè)參考圖片中的一或多個(gè)預(yù)測(cè)性塊的當(dāng)前視頻塊的幀間預(yù)測(cè)性譯碼,以提供時(shí)間壓縮。
[0086]運(yùn)動(dòng)估計(jì)單元42可經(jīng)配置以根據(jù)視頻序列的預(yù)定模式確定視頻切片的幀間預(yù)測(cè)豐吳式。所述預(yù)定1吳式可將序列中的視頻切片指定為P切片、B切片或GPB切片。運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44可高度集成,但出于概念性目的而單獨(dú)加以說(shuō)明。由運(yùn)動(dòng)估計(jì)單元42執(zhí)行的運(yùn)動(dòng)估計(jì)為產(chǎn)生運(yùn)動(dòng)向量的過(guò)程,所述運(yùn)動(dòng)向量估計(jì)視頻塊的運(yùn)動(dòng)。運(yùn)動(dòng)向量(例如)可指示當(dāng)前視頻幀或圖片內(nèi)的視頻塊的PU相對(duì)于參考圖片內(nèi)的預(yù)測(cè)性塊的位移。
[0087]預(yù)測(cè)性塊為被發(fā)現(xiàn)與待譯碼的視頻塊的在像素差方面壓縮緊密匹配的塊,可通過(guò)絕對(duì)差總和(SAD)、平方差總和(SSD)或其它差量度來(lái)確定所述像素差。在一些實(shí)例中,視頻編碼器20可計(jì)算存儲(chǔ)于參考圖片存儲(chǔ)器64中的參考圖片的子整數(shù)像素位置的值。舉例來(lái)說(shuō),視頻編碼器20可內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它分率像素位置的值。因此,運(yùn)動(dòng)估計(jì)單元42可執(zhí)行相對(duì)于全像素位置和分?jǐn)?shù)像素位置的運(yùn)動(dòng)搜索,且以分?jǐn)?shù)像素精度輸出運(yùn)動(dòng)向量。
[0088]運(yùn)動(dòng)估計(jì)單元42通過(guò)比較經(jīng)幀間譯碼切片中的視頻塊的PU的位置與參考圖片的預(yù)測(cè)性塊的位置來(lái)計(jì)算所述PU的運(yùn)動(dòng)向量。參考圖片可選自第一參考圖片列表(列表O)或第二參考圖片列表(列表I),所述列表中的每一者識(shí)別存儲(chǔ)于參考圖片存儲(chǔ)器64中的一或多個(gè)參考圖片。運(yùn)動(dòng)估計(jì)單元42將所計(jì)算的運(yùn)動(dòng)向量發(fā)送到熵編碼單元56和運(yùn)動(dòng)補(bǔ)償單元44。
[0089]由運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行的運(yùn)動(dòng)補(bǔ)償可涉及基于由運(yùn)動(dòng)估計(jì)確定的運(yùn)動(dòng)向量來(lái)提取或產(chǎn)生預(yù)測(cè)性塊,其有可能執(zhí)行子像素精度的內(nèi)插。一旦接收到當(dāng)前視頻塊的PU的運(yùn)動(dòng)向量,運(yùn)動(dòng)補(bǔ)償單元44便可在參考圖片列表中的一者中找到運(yùn)動(dòng)向量所指向的預(yù)測(cè)性塊。運(yùn)動(dòng)補(bǔ)償單元44還可產(chǎn)生與視頻塊和視頻切片相關(guān)聯(lián)的語(yǔ)法元素以供視頻解碼器30在解碼視頻切片的視頻塊時(shí)使用。
[0090]如以上所描述,作為由運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44執(zhí)行的幀間預(yù)測(cè)的替代方案,幀內(nèi)預(yù)測(cè)單元46可對(duì)當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測(cè)。具體來(lái)說(shuō),幀內(nèi)預(yù)測(cè)單元46可確定用以編碼當(dāng)前塊的幀內(nèi)預(yù)測(cè)模式。在一些實(shí)例中,幀內(nèi)預(yù)測(cè)單元46可(例如)在單獨(dú)編碼回合期間使用各種幀內(nèi)預(yù)測(cè)模式來(lái)編碼當(dāng)前塊,且?guī)瑑?nèi)預(yù)測(cè)單元46(或在一些實(shí)例中,為模式選擇單元35)可從經(jīng)測(cè)試模式中選擇要使用的適當(dāng)幀內(nèi)預(yù)測(cè)模式。舉例來(lái)說(shuō),幀內(nèi)預(yù)測(cè)單元46可使用對(duì)各種經(jīng)測(cè)試的幀內(nèi)預(yù)測(cè)模式的速率-失真分析而計(jì)算速率-失真值,且在經(jīng)測(cè)試模式當(dāng)中選擇具有最佳速率-失真特性的幀內(nèi)預(yù)測(cè)模式。速率-失真分析通常確定經(jīng)編碼塊與經(jīng)編碼以產(chǎn)生所述經(jīng)編碼塊的原始的未經(jīng)編碼的塊之間的失真(或誤差)的量,以及用以產(chǎn)生經(jīng)編碼塊的位速率(即,位數(shù)目)。幀內(nèi)預(yù)測(cè)單元46可從失真和速率計(jì)算各種經(jīng)編碼塊的比率以確定哪一幀內(nèi)預(yù)測(cè)模式展現(xiàn)塊的最佳速率-失真值。
[0091]在任一情形下,在選擇用于塊的幀內(nèi)預(yù)測(cè)模式之后,幀內(nèi)預(yù)測(cè)單元46可將指示用于塊的選定幀內(nèi)預(yù)測(cè)模式的信息提供到熵編碼單元56。熵編碼單元56可根據(jù)本發(fā)明的技術(shù)來(lái)編碼指示選定幀內(nèi)預(yù)測(cè)模式的信息。視頻編碼器20可在經(jīng)發(fā)射的位流配置數(shù)據(jù)中包括各種塊的編碼上下文的定義及將用于所述上下文中的每一者的最有可能的幀內(nèi)預(yù)測(cè)模式、幀內(nèi)預(yù)測(cè)模式索引表和經(jīng)修改的幀內(nèi)預(yù)測(cè)模式索引表的指示,所述位流配置數(shù)據(jù)可包括多個(gè)幀內(nèi)預(yù)測(cè)模式索引表和多個(gè)經(jīng)修改的幀內(nèi)預(yù)測(cè)模式索引表(還稱作碼字映射表)。
[0092]在預(yù)測(cè)處理器41經(jīng)由幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)產(chǎn)生用于當(dāng)前視頻塊的預(yù)測(cè)性塊之后,視頻編碼器20通過(guò)從當(dāng)前視頻塊減去預(yù)測(cè)性塊而形成殘余視頻塊。求和器50表示執(zhí)行此計(jì)算的單元。殘余塊中的殘余視頻數(shù)據(jù)可包括于一或多個(gè)TU中且應(yīng)用于變換處理單元52。變換處理單元52通常將殘余視頻數(shù)據(jù)從像素域轉(zhuǎn)換到變換域(例如,頻域)。變換處理單元52可使用例如離散余弦變換(DCT)或概念上類似的變換的變換將殘余視頻數(shù)據(jù)變換為殘余變換系數(shù)。或者,變換處理單元52可將二維(2D)變換(在水平方向和垂直方向兩者上)應(yīng)用于TU中的殘余數(shù)據(jù)。
[0093]變換處理單元52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54量化所述變換系數(shù)以進(jìn)一步減少位速率。所述量化過(guò)程可減少與所述系數(shù)中的一些或全部相關(guān)聯(lián)的位深度??赏ㄟ^(guò)調(diào)整量化參數(shù)而修改量化的程度。
[0094]在量化之后,熵編碼單元56熵編碼經(jīng)量化的變換系數(shù)。舉例來(lái)說(shuō),熵編碼單元56可執(zhí)行上下文自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)、上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC)、基于語(yǔ)法的上下文自適應(yīng)二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼或另一熵編碼方法或技術(shù)。所述熵編碼大體上包括掃描經(jīng)量化的變化系數(shù)(本文中為了簡(jiǎn)要起見(jiàn)大體上簡(jiǎn)稱為“變換系數(shù)”)一或多次,及在每一掃描期間熵譯碼用于變換系數(shù)的語(yǔ)法元素,例如,指示對(duì)應(yīng)變換系數(shù)是否有效、是否具有大于I或2的絕對(duì)值、有效系數(shù)的絕對(duì)值(或其一部分,例如,大于2的部分)和正負(fù)號(hào)的語(yǔ)法元素。
[0095]根據(jù)本發(fā)明的技術(shù),熵編碼單元56可基于視頻塊(例如,變換單元)的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼(即,熵編碼)所述視頻塊的變換系數(shù)的上下文。舉例來(lái)說(shuō),在掃描期間,熵編碼單元56可確定變換系數(shù)在視頻塊中的位置,且確定所述位置出現(xiàn)于哪一區(qū)域中。另外,熵編碼單元56可包括定義視頻塊的區(qū)域的配置數(shù)據(jù)。
[0096]舉例來(lái)說(shuō),熵編碼單元56可經(jīng)配置有一閾值。在此實(shí)例中,熵編碼單元56可確定定義變換系數(shù)的位置的X坐標(biāo)和I坐標(biāo)是否具有大于所述閾值的總和(即,χ+y)。在此實(shí)例中,第一區(qū)域?qū)?yīng)于X坐標(biāo)值和y坐標(biāo)值的總和小于所述閾值的變換系數(shù),且第二區(qū)域?qū)?yīng)于X坐標(biāo)值和I坐標(biāo)值的總和大于或等于所述閾值的變換系數(shù)?;蛘?,可使用多個(gè)閾值來(lái)定義多個(gè)區(qū)域。在圖9B中展示以此方式定義的區(qū)域的實(shí)例,以下更詳細(xì)地描述圖9B。
[0097]作為另一實(shí)例,熵編碼單元56可經(jīng)配置以確定子塊(包括變換系數(shù))在視頻塊中的位置。子塊可對(duì)應(yīng)于4X4變換系數(shù)子塊。即,視頻塊可包括多個(gè)非重疊子塊,每一非重疊子塊具有相同的大小,例如,4X4個(gè)變換系數(shù)。為了確定子塊的區(qū)域,熵編碼單元56可比較子塊(例如,子塊的特定變換系數(shù),例如,子塊的左上變換系數(shù))的X坐標(biāo)和y坐標(biāo)的總和與閾值。X坐標(biāo)和y坐標(biāo)的總和是否小于閾值可指示子塊的變換系數(shù)是包括于第一區(qū)域還是第二區(qū)域中。
[0098]舉例來(lái)說(shuō),令Cij表示具有在位置(i,j)處的左上變換系數(shù)的子塊的位置,其中X=i和y = j。另外,令T定義所述閾值。熵編碼單元56可使用以下偽碼來(lái)確定子塊的變換系數(shù)在其中出現(xiàn)的區(qū)域:
[0099](i+j < T) ?區(qū)域 1:區(qū)域 2。
[0100]在此實(shí)例中,當(dāng)i+j小于T時(shí)(即,子塊的X坐標(biāo)和y坐標(biāo)的總和小于閾值),熵編碼單元56確定子塊的所有變換系數(shù)出現(xiàn)于區(qū)域I中,而當(dāng)i+j大于或等于T時(shí)(即,子塊的X坐標(biāo)和y坐標(biāo)的總和大于或等于閾值),熵編碼單元56確定子塊的所有變換系數(shù)出現(xiàn)于區(qū)域2中。以下參看圖9到圖14更詳細(xì)地描述區(qū)域的這些和其它實(shí)例。
[0101]熵編碼單元56可經(jīng)配置而以各種方式基于區(qū)域來(lái)確定上下文。舉例來(lái)說(shuō),熵編碼單元56可使用變換系數(shù)在視頻塊中的位置或變換系數(shù)在其中出現(xiàn)的4X4子塊的位置、基于變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼變換系數(shù)的上下文。
[0102]或者,可根據(jù)相鄰的4X4子塊來(lái)定義上下文模型。舉例來(lái)說(shuō),熵編碼單元56可將可用上下文的相應(yīng)集合指派給每一 4X4子塊,且(例如)基于變換系數(shù)在子塊中的位置來(lái)為子塊中的待譯碼的當(dāng)前變換系數(shù)選擇上下文中的一者??蓪⑸舷挛牡募现概山o相應(yīng)子塊,以使得每一子塊可具有可用上下文的不同集合。作為又一實(shí)例,熵編碼單兀 56 可將上下文計(jì)算為 ctx = Right4x4SubBlockFlag+Bottom4x4SubBlockFlag0 在此情形下,Ri ght4x4SubB1ckFlag表示用于右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo),而B(niǎo)ottom4x4SubBlockFlag表示用于底部相鄰的經(jīng)譯碼的子塊旗標(biāo)的經(jīng)譯碼的子塊旗標(biāo)。
[0103] 在一些實(shí)例中,熵編碼單元56可將偏移應(yīng)用于用于熵編碼變換系數(shù)的經(jīng)確定上下文,且可進(jìn)一步基于變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定待應(yīng)用的偏移。即,熵編碼單元56可以相同的通用方式計(jì)算用于兩個(gè)或兩個(gè)以上區(qū)域的系數(shù)的基本上下文,但不同區(qū)域可具有不同的對(duì)應(yīng)偏移值。因此,熵編碼單元56可基于區(qū)域所映射到的偏移(即,與所述區(qū)域相關(guān)聯(lián)的偏移)將偏移應(yīng)用于經(jīng)計(jì)算的上下文值。
[0104]熵編碼單元56可確定變換系數(shù)是否為DC (直流)變換系數(shù)(通常存在于變換塊的左上隅角中),且基于變換系數(shù)在其中出現(xiàn)的區(qū)域以及所述變換系數(shù)是否為DC變換系數(shù)來(lái)選擇用于譯碼變換系數(shù)的上下文。舉例來(lái)說(shuō),熵編碼單元56可使用用于專用位置的共享上下文來(lái)確定用于變換系數(shù)的上下文。即,所述共享上下文可包含應(yīng)用于出現(xiàn)在特定位置處(例如,子塊的左上隅角)的所有變換系數(shù)的同一上下文。因此,所述共享上下文可進(jìn)一步包括待在譯碼DC變換系數(shù)而非出現(xiàn)于其它子塊的左上位置處的非DC變換系數(shù)時(shí)應(yīng)用的特定上下文的指示。
[0105]額外或替代性地,共享上下文可包含在不同大小的塊之間的用于出現(xiàn)于所述塊的特定位置處的變換系數(shù)的共享上下文。舉例來(lái)說(shuō),熵編碼單元56可經(jīng)配置以在譯碼任何大小(例如,4X4、8X8、16X16或其類似者)的視頻塊(例如,TU)的DC變換系數(shù)時(shí)應(yīng)用同一上下文。即,熵編碼單元56可包括將DC變換系數(shù)(對(duì)于任何大小的塊)映射到用于譯碼DC變換系數(shù)的同一上下文數(shù)據(jù)的數(shù)據(jù)。換句話說(shuō),熵編碼單元56可經(jīng)配置以使用經(jīng)確定用于DC變換系數(shù)的上下文來(lái)譯碼DC變換系數(shù),而不考慮正被譯碼的當(dāng)前視頻塊的大小。通常,DC變換系數(shù)為視頻塊的左上系數(shù)。
[0106]在通過(guò)熵編碼單元56進(jìn)行的熵編碼之后,可將經(jīng)編碼的位流傳輸?shù)揭曨l解碼器30,或經(jīng)存檔以用于稍后傳輸或由視頻解碼器30檢索。熵編碼單元56還可熵編碼運(yùn)動(dòng)向量、幀內(nèi)模式指示和正被譯碼的當(dāng)前視頻切片的其它語(yǔ)法元素。
[0107]反量化單元58和反變換單元60分別應(yīng)用反量化和反變換,以在像素域中重構(gòu)殘余塊以供稍后用作參考圖片的參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元44可通過(guò)將殘余塊加到參考圖片列表中的一者內(nèi)的參考圖片中的一者的預(yù)測(cè)性塊來(lái)計(jì)算參考?jí)K。運(yùn)動(dòng)補(bǔ)償單元44還可將一或多個(gè)內(nèi)插濾波器應(yīng)用于經(jīng)重構(gòu)的殘余塊以計(jì)算子整數(shù)像素值以用于運(yùn)動(dòng)估計(jì)中。求和器62將經(jīng)重構(gòu)的殘余塊添加到由運(yùn)動(dòng)補(bǔ)償單元44產(chǎn)生的運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)塊,以產(chǎn)生參考?jí)K以供存儲(chǔ)于參考圖片存儲(chǔ)器64中。參考?jí)K可由運(yùn)動(dòng)估計(jì)單元42和運(yùn)動(dòng)補(bǔ)償單元44用作參考?jí)K以對(duì)后續(xù)視頻幀或圖片中的塊進(jìn)行幀間預(yù)測(cè)。
[0108]以此方式,視頻編碼器20表示視頻譯碼器的一實(shí)例,其經(jīng)配置以基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼視頻塊的變換系數(shù)的上下文,且使用經(jīng)確定上下文來(lái)熵譯碼所述變換系數(shù)。所述區(qū)域可包含第一區(qū)域和第二區(qū)域中的一者,所述第一區(qū)域包含視頻塊的變換系數(shù)的一或多個(gè)左上4X4子塊,所述第二區(qū)域包含視頻塊的在所述第一區(qū)域外部的變換系數(shù)。
[0109]圖3為說(shuō)明可實(shí)施本發(fā)明中所描述的幀間預(yù)測(cè)技術(shù)的實(shí)例視頻解碼器30的方框圖。在圖3的實(shí)例中,視頻解碼器30包括熵解碼單元80、預(yù)測(cè)處理器81、反量化單元86、反變換單元88、求和器90和參考圖片存儲(chǔ)器92。預(yù)測(cè)處理器81包括運(yùn)動(dòng)補(bǔ)償單元82和幀內(nèi)預(yù)測(cè)單元84。在一些實(shí)例中,視頻解碼器30可執(zhí)行與參考來(lái)自圖2的視頻編碼器20所描述的編碼回合大體上互逆的解碼回合。
[0110]在解碼過(guò)程期間,視頻解碼器30從視頻編碼器20接收表示經(jīng)編碼的視頻切片的視頻塊和相關(guān)聯(lián)語(yǔ)法元素的經(jīng)編碼的視頻位流。視頻解碼器30的熵解碼單元80熵解碼所述位流以產(chǎn)生經(jīng)量化的系數(shù)、運(yùn)動(dòng)向量和其它語(yǔ)法元素。熵解碼單元80將運(yùn)動(dòng)向量、幀內(nèi)模式指示和其它預(yù)測(cè)相關(guān)語(yǔ)法元素轉(zhuǎn)發(fā)到預(yù)測(cè)處理器81。熵解碼單元80將經(jīng)量化的系數(shù)以塊(例如,TU)的形式轉(zhuǎn)發(fā)到反量化單元86。視頻解碼器30可接收視頻切片層級(jí)和/或視頻塊層級(jí)的語(yǔ)法元素。
[0111]具體來(lái)說(shuō),根據(jù)本發(fā)明的技術(shù),熵解碼單元80可基于塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于熵解碼變換系數(shù)的上下文。具體來(lái)說(shuō),一旦變換系數(shù)位于塊內(nèi),熵解碼單元80便可基于塊的變換系數(shù)將在其中出現(xiàn)的區(qū)域來(lái)確定所述上下文。熵解碼單元80可經(jīng)配置以如以下參看圖9到圖14所解釋來(lái)確定所述區(qū)域或其它所述區(qū)域。舉例來(lái)說(shuō),如圖9A中所展示,熵解碼單元80可經(jīng)配置以確定一變換系數(shù)將出現(xiàn)于包括塊的左上隅角中的一或多個(gè)子塊的第一區(qū)域中還是出現(xiàn)于包括在所述第一區(qū)域外部的子塊的第二區(qū)域中,且基于所述變換系數(shù)將出現(xiàn)于第一區(qū)域還是第二區(qū)域中來(lái)確定上下文。
[0112]同樣,熵解碼單元80可基于區(qū)域來(lái)確定上下文,這是因?yàn)殪亟獯a單元80可通過(guò)用于計(jì)算或確定與每一區(qū)域中的系數(shù)相關(guān)聯(lián)的上下文的一或多個(gè)各種技術(shù)進(jìn)行配置。即,每一區(qū)域可與用于計(jì)算或確定上下文的一或多種技術(shù)相關(guān)聯(lián)。舉例來(lái)說(shuō),一區(qū)域可與在一或多個(gè)變換系數(shù)之間共享的上下文相關(guān)聯(lián)。作為另一實(shí)例,一區(qū)域可與在所述區(qū)域的子塊之間共享的上下文相關(guān)聯(lián)。作為又一實(shí)例,一區(qū)域可與一偏移值相關(guān)聯(lián),所述偏移值將應(yīng)用于經(jīng)計(jì)算用于所述區(qū)域中的變換系數(shù)的上下文值。熵解碼單元80可經(jīng)配置以基于變換系數(shù)在其中出現(xiàn)的區(qū)域使用如本文中所描述的這些或其它技術(shù)來(lái)確定用于解碼變換系數(shù)的上下文。熵解碼單元80可接著使用經(jīng)確定上下文來(lái)熵解碼變換系數(shù)。
[0113]額外或替代性地,共享上下文可包含在不同大小的塊之間的用于出現(xiàn)于所述塊的特定位置處的變換系數(shù)的共享上下文。舉例來(lái)說(shuō),熵解碼單元80可經(jīng)配置以在譯碼任何大小(例如,4X4、8X8、16X16或其類似者)的視頻塊(例如,TU)的DC變換系數(shù)時(shí)應(yīng)用同一上下文。即,熵解碼單元80可包括將DC變換系數(shù)(對(duì)于任何大小的塊)映射到用于譯碼DC變換系數(shù)的同一上下文數(shù)據(jù)的數(shù)據(jù)。換句話說(shuō),熵解碼單元80可經(jīng)配置以使用經(jīng)確定用于DC變換系數(shù)的上下文來(lái)譯碼DC變換系數(shù),而不考慮正被譯碼的當(dāng)前視頻塊的大小。通常,DC變換系數(shù)為視頻塊的左上系數(shù)。
[0114]當(dāng)視頻切片經(jīng)譯碼為幀內(nèi)譯碼(I)切片時(shí),預(yù)測(cè)處理器81的幀內(nèi)預(yù)測(cè)單元84可基于用信號(hào)通知的幀內(nèi)預(yù)測(cè)模式和來(lái)自當(dāng)前幀或圖片的先前解碼塊的數(shù)據(jù)而產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測(cè)數(shù)據(jù)。在視頻幀經(jīng)譯碼為幀間譯碼(即,B、P或GPB)切片時(shí),預(yù)測(cè)處理器81的運(yùn)動(dòng)補(bǔ)償單元82基于運(yùn)動(dòng)向量和從熵解碼單元80接收的其它語(yǔ)法元素而產(chǎn)生針對(duì)當(dāng)前視頻切片的視頻塊的預(yù)測(cè)性塊。預(yù)測(cè)性塊可從參考圖片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生。視頻解碼器30可基于存儲(chǔ)于參考圖片存儲(chǔ)器92中的參考圖片使用默認(rèn)建構(gòu)技術(shù)來(lái)建構(gòu)參考幀列表(列表O和列表I)。
[0115]運(yùn)動(dòng)補(bǔ)償單元82通過(guò)解析運(yùn)動(dòng)向量和其它語(yǔ)法元素而確定當(dāng)前視頻切片的視頻塊的預(yù)測(cè)信息,且使用所述預(yù)測(cè)信息以產(chǎn)生針對(duì)正被解碼的當(dāng)前視頻塊的預(yù)測(cè)性塊。舉例來(lái)說(shuō),運(yùn)動(dòng)補(bǔ)償單元82使用所接收的語(yǔ)法元素中的一些來(lái)確定用以譯碼視頻切片的視頻塊的預(yù)測(cè)模式(例如,幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè))、幀間預(yù)測(cè)切片類型(例如,B切片、P切片或GPB切片)、切片的參考圖片列表中的一者或一者以上的建構(gòu)信息、切片的每一經(jīng)幀間編碼視頻塊的運(yùn)動(dòng)向量、切片的每一經(jīng)幀間譯碼視頻塊的幀間預(yù)測(cè)狀態(tài),及用以解碼當(dāng)前視頻切片中的視頻塊的其它信息。[0116]運(yùn)動(dòng)補(bǔ)償單元82還可基于內(nèi)插濾波器執(zhí)行內(nèi)插。運(yùn)動(dòng)補(bǔ)償單元82可使用如由視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插濾波器來(lái)計(jì)算參考?jí)K的子整數(shù)像素的內(nèi)插值。在此情形下,運(yùn)動(dòng)補(bǔ)償單元82可從所接收的語(yǔ)法元素確定由視頻編碼器20使用的內(nèi)插濾波器且使用所述內(nèi)插濾波器來(lái)產(chǎn)生預(yù)測(cè)性塊。
[0117]反量化單元86將位流中所提供且由熵解碼單元80解碼的經(jīng)量化的變換系數(shù)反量化(即,解量化)。反量化過(guò)程可包括使用由視頻編碼器20針對(duì)視頻切片中的每一視頻塊計(jì)算的量化參數(shù)以確定量化程度及(同樣)應(yīng)被應(yīng)用的反量化的程度。反變換單元88將反變換(例如,反DCT、反整數(shù)變換或概念上類似的反變換過(guò)程)應(yīng)用于變換系數(shù),以便在像素域中產(chǎn)生殘余塊。
[0118]在一些情形下,反變換單元88可將二維(2D)反變換(在水平方向和垂直方向兩者上)應(yīng)用于系數(shù)。根據(jù)本發(fā)明的技術(shù),反變換單元88可替代地應(yīng)用水平一維(ID)反變換、垂直ID反變換,或不將變換應(yīng)用于TU中的每一者中的殘余數(shù)據(jù)??蓪⒃谝曨l編碼器20處應(yīng)用于殘余數(shù)據(jù)的變換的類型用信號(hào)通知給視頻解碼器30以將適當(dāng)類型的反變換應(yīng)用于變換系數(shù)。
[0119]在運(yùn)動(dòng)補(bǔ)償單元82基于運(yùn)動(dòng)向量和其它語(yǔ)法元素產(chǎn)生當(dāng)前視頻塊的預(yù)測(cè)性塊之后,視頻解碼器30通過(guò)對(duì)來(lái)自反變換單元88的殘余塊與由運(yùn)動(dòng)補(bǔ)償單元82產(chǎn)生的對(duì)應(yīng)預(yù)測(cè)性塊求和而形成經(jīng)解碼的視頻塊。求和器90表示執(zhí)行此求和運(yùn)算的(若干)組件。視需要,還可應(yīng)用解塊濾波器來(lái)對(duì)經(jīng)解碼塊濾波以便移除成塊效應(yīng)假影。其它環(huán)路濾波器(在譯碼環(huán)路中或在譯碼環(huán)路后)也可用以使像素轉(zhuǎn)變平滑,或以其它方式改進(jìn)視頻質(zhì)量。接著將給定幀或圖片中的經(jīng)解碼的視頻塊存儲(chǔ)于參考圖片存儲(chǔ)器92中,參考圖片存儲(chǔ)器92存儲(chǔ)用于后續(xù)運(yùn)動(dòng)補(bǔ)償?shù)膮⒖紙D片。參考圖片存儲(chǔ)器92還存儲(chǔ)經(jīng)解碼視頻以用于稍后在顯示裝置(例如,圖1的顯示裝置32)上呈現(xiàn)。
[0120]以此方式,視頻解碼器30表示視頻譯碼器的一實(shí)例,其經(jīng)配置以基于視頻塊的變換系數(shù)在其中出現(xiàn)的區(qū)域來(lái)確定用于譯碼視頻塊的變換系數(shù)的上下文,且使用經(jīng)確定上下文來(lái)熵譯碼所述變換系數(shù)。所述區(qū)域可包含第一區(qū)域和第二區(qū)域中的一者,所述第一區(qū)域包含視頻塊的變換系數(shù)的一或多個(gè)左上4X4子塊,所述第二區(qū)域包含視頻塊的在所述第一區(qū)域外部的變換系數(shù)。
[0121]圖4為說(shuō)明視頻塊中的變換系數(shù)與和所述視頻塊相關(guān)聯(lián)的有效性映射之間的關(guān)系的概念圖。如圖4中所說(shuō)明,有效性映射包括“I”以指示視頻塊中的有效系數(shù)值(即,大于零的值)的每一實(shí)例??稍谖涣髦杏眯盘?hào)通知有效性映射,其可由視頻解碼器(例如,視頻解碼器30)解碼以確定待解碼的視頻塊中的有效(即,大于零)系數(shù)的位置。更具體來(lái)說(shuō),可在位流中用信號(hào)通知視頻塊內(nèi)的最后非零系數(shù)的位置。視頻塊中的最后非零系數(shù)的位置取決于用于視頻塊的掃描次序??捎眯盘?hào)通知額外語(yǔ)法元素以根據(jù)已知或可知曉的掃描次序相對(duì)于最后非零系數(shù)來(lái)指示其它有效系數(shù)。
[0122]圖5A到圖為說(shuō)明使用z字形掃描次序、水平掃描次序、垂直掃描次序和對(duì)角線掃描次序所掃描的視頻數(shù)據(jù)的塊的實(shí)例的概念圖。如圖5A到圖中所展示,視頻數(shù)據(jù)的8X8塊(例如,CU的TU)可包括在對(duì)應(yīng)塊位置中的六十四個(gè)變換系數(shù)(以圓圈表示)。在此實(shí)例中,塊100、102、104和106各自具有8X8的大小,且因此包括使用先前所描述的預(yù)測(cè)技術(shù)所產(chǎn)生的六十四個(gè)變換系數(shù)。[0123]根據(jù)本發(fā)明中所描述的技術(shù),塊100、102、104和106中的每一者中的六十四個(gè)變
換系數(shù)可能已使用2D變換、水平ID變換和垂直ID變換中的一者進(jìn)行了變換或可被反變換,或變換系數(shù)可根本不經(jīng)變換。無(wú)論是否經(jīng)變換,視頻塊100、102、104和106中的每一者中的系數(shù)均使用z字形掃描次序、水平掃描次序、垂直掃描次序和對(duì)角線掃描次序中的一者經(jīng)掃描以準(zhǔn)備進(jìn)行熵譯碼。
[0124]如圖5A中所展示,與塊100相關(guān)聯(lián)的掃描次序?yàn)閦字形掃描次序。所述z字形掃描次序使得視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)以如由圖5A中的箭頭所指示的對(duì)角線方式掃描塊100的經(jīng)量化的變換系數(shù)。在圖中,類似地,對(duì)角線掃描次序使得視頻譯碼器以如由圖中的箭頭所指示的對(duì)角線方式來(lái)掃描塊106的經(jīng)量化的變換系數(shù)。如圖5B和圖5C中所展示,與塊102和104相關(guān)聯(lián)的掃描次序分別為水平掃描次序和垂直掃描次序。水平掃描次序使得視頻譯碼器以水平逐行或“光柵”方式掃描塊102的經(jīng)量化的變換系數(shù),而垂直掃描次序使得視頻譯碼器以垂直逐行或“旋轉(zhuǎn)光柵”方式掃描塊104的經(jīng)量化的變換系數(shù)(還如由圖5B和圖5C中的箭頭所指示)。
[0125]在其它實(shí)例中,如以上所描述,塊可具有小于或大于塊100、102、104和106的大小的大小,且可包括更多或更少的經(jīng)量化的變換系數(shù)和對(duì)應(yīng)的塊位置。在這些實(shí)例中,與特定塊相關(guān)聯(lián)的掃描次序可使得視頻譯碼器以實(shí)質(zhì)上與圖5A到圖的8X8塊的實(shí)例中所展示的方式類似的方式來(lái)掃描塊的經(jīng)量化的變換系數(shù),例如,可遵循先前所描述的掃描次序中的任一者來(lái)掃描4X4塊或16X16塊。
[0126]盡管圖5A到圖中的掃描方向大體上被展示為從低頻率系數(shù)進(jìn)行到高頻率系數(shù),但在其它實(shí)例中,視頻編碼器20和視頻解碼器30可經(jīng)配置以執(zhí)行反向掃描次序,其中掃描可從高頻率系數(shù)進(jìn)行到低頻率系數(shù)。即,視頻編碼器20和視頻解碼器30可以與圖5A到圖5D中所展示的次序相反的次序來(lái)掃描系數(shù)。
[0127]圖6為說(shuō)明劃分為子塊以用于變換系數(shù)譯碼的實(shí)例視頻塊110的概念圖。在當(dāng)前HM中,將子塊概念用于變換系數(shù)譯碼。視頻譯碼器可將大于經(jīng)確定的子塊大小的任何變換單元(TU)再分為子塊。舉例來(lái)說(shuō),將視頻塊110劃分為四個(gè)4X4子塊。
[0128]在圖6的經(jīng)說(shuō)明實(shí)例中,視頻譯碼器將視頻塊110劃分為4X4子塊。在其它實(shí)例中,視頻譯碼器可將視頻塊劃分為其它大小的子塊,例如,8 X 8、16 X 16等。如果視頻譯碼器將同一子塊大小用于幀或切片的所有TU,則歸因于通過(guò)子塊大小實(shí)現(xiàn)的均一性,可在硬件實(shí)施中實(shí)現(xiàn)增益。舉例來(lái)說(shuō),所有處理可在所述子塊中分裂,而與TU大小無(wú)關(guān)。然而,對(duì)于執(zhí)行本發(fā)明的技術(shù)而言,均一的子塊大小并非必要的。
[0129]對(duì)于系數(shù)譯碼而言,視頻譯碼器可使用對(duì)角線掃描次序來(lái)掃描視頻塊110的每一4X4子塊,如圖6中所展示。在一些實(shí)例中,視頻譯碼器可使用統(tǒng)一掃描來(lái)掃描每一子塊的變換系數(shù)。在此情形下,將同一掃描次序用于有效性信息,即,有效性映射、系數(shù)水平、正負(fù)號(hào)等。在第一實(shí)例中,如圖6中所展示,視頻譯碼器可使用對(duì)角線掃描來(lái)掃描變換系數(shù)。在另一實(shí)例中,視頻譯碼器可以與圖6中所展示的次序相反的次序來(lái)掃描變換系數(shù),例如,從右下隅角開(kāi)始且進(jìn)行到左上隅角的反向?qū)蔷€掃描。在其它實(shí)例中,視頻譯碼器可使用z字形、水平或垂直掃描來(lái)掃描變換系數(shù)。其它掃描方向/定向也是可能的。
[0130]為了解釋簡(jiǎn)單起見(jiàn),本發(fā)明將視頻塊的子塊描述為4X4子塊。然而,本發(fā)明的技術(shù)還可應(yīng)用于不同大小(例如,8X8U6X16等)的子塊。針對(duì)每一 4X4塊,譯碼significant_coeffgroup_flag,且如果在子塊中存在至少一個(gè)非零系數(shù),則此旗標(biāo)被設(shè)定為一,否則所述旗標(biāo)等于零。如果對(duì)于給定子塊而言significant_coefTgroup_flag非零,則以反向?qū)蔷€次序來(lái)掃描4X4子塊,且針對(duì)所述子塊的每一系數(shù)來(lái)譯碼significant_coeff_flag以指示系數(shù)的有效性。這些旗標(biāo)的群組可稱作視頻塊的有效性映射。在某一實(shí)例中,替代于明確地用信號(hào)通知所述有效性映射,可使用相鄰的4X4子塊旗標(biāo)或在4X4子塊含有最后系數(shù)或DC系數(shù)時(shí)隱含地導(dǎo)出significant_coeffgroup_flag。系數(shù)的絕對(duì)值也經(jīng)譯碼,即,系數(shù)水平。
[0131]盡管將圖6的掃描的方向大體上展示為從低頻率系數(shù)進(jìn)行到高頻率系數(shù),但在其它實(shí)例中,視頻編碼器20和視頻解碼器30可經(jīng)配置以執(zhí)行反向掃描次序,其中所述掃描可從高頻率系數(shù)進(jìn)行到低頻率系數(shù)。即,視頻編碼器20和視頻解碼器30可以與圖6中所展示的次序相反的次序來(lái)掃描系數(shù)。
[0132]圖7為說(shuō)明實(shí)例五點(diǎn)支持鄰域的概念圖,所述五點(diǎn)支持鄰域用以定義用于選擇使用反向?qū)蔷€掃描次序掃描的視頻塊112中的系數(shù)的有效性映射的上下文的上下文模型。如以上所提及,對(duì)于上下文自適應(yīng)譯碼而言,可基于描述變換系數(shù)具有為O的值或?yàn)镮的值的概率的上下文模型來(lái)譯碼變換系數(shù)。關(guān)于有效性映射譯碼,上下文模型描述特定變換系數(shù)是否有效(即,非零)的概率。
[0133]對(duì)于有效性映射譯碼而言,五點(diǎn)支持S可用以定義用以譯碼視頻塊112的變換系數(shù)的有效性映射的上下文模型。五點(diǎn)支持可稱作“上下文支持鄰域”或簡(jiǎn)單地稱作“支持鄰域”。即,視頻譯碼器可依據(jù)所述支持來(lái)確定當(dāng)前位置的有效性為一或零的概率。所述上下文支持鄰域定義可用作用于譯碼當(dāng)前系數(shù)的上下文的相鄰系數(shù)(例如,其可包括有效性信息)。根據(jù)本發(fā)明的一些實(shí)例,所述上下文支持鄰域可針對(duì)塊或子塊內(nèi)的不同系數(shù)位置而不同。
[0134]在圖7中所展示的實(shí)例中,相對(duì)于由被圓圈環(huán)繞的圓點(diǎn)表示的當(dāng)前或“目標(biāo)”位置,五點(diǎn)支持S由被正方形環(huán)繞的圓點(diǎn)表示??蓪⑸舷挛哪P虲tx(以下等式(I))定義為所述支持的每一點(diǎn)中的有效旗標(biāo)的總和,其中如果對(duì)應(yīng)變換系數(shù)非零,則可將有效性旗標(biāo)設(shè)定為“ I”,且否則便將有效性旗標(biāo)設(shè)定為“O”。
[0135]
【權(quán)利要求】
1.一種解碼視頻數(shù)據(jù)的方法,所述方法包含: 確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值; 基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文;及 使用所述經(jīng)確定上下文來(lái)熵解碼所述變換系數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
3.根據(jù)權(quán)利要求2所述的方法,其中確定所述上下文包含計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和,及使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文。
4.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其中所述子塊中的每一者對(duì)應(yīng)于變換系數(shù)的相應(yīng)4X4塊,且其中所述經(jīng)譯碼的子塊旗標(biāo)指示所述相應(yīng)4X4塊中的所述變換系數(shù)中的至少一者是否具有非零值。
6.根據(jù)權(quán)利要求1所述的方法,其中所述當(dāng)前子塊具有4X4像素的大小,且其中所述當(dāng)前子塊在具有大于4X4像素的大小的當(dāng)前變換單元內(nèi)。
7.根據(jù)權(quán)利要求1所述的方法,其中確定所述上下文進(jìn)一步包含基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于解碼所述變換系數(shù)的所述上下文。
8.根據(jù)權(quán)利要求1所述的方法,其中熵解碼所述變換系數(shù)包含根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵解碼所述變換系數(shù)。
9.一種用于解碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻解碼器,所述視頻解碼器經(jīng)配置以:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵解碼所述變換系數(shù)。
10.根據(jù)權(quán)利要求9所述的裝置,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
11.根據(jù)權(quán)利要求10所述的裝置,其中為了確定所述上下文,所述視頻解碼器經(jīng)配置以計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和,及使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文。
12.根據(jù)權(quán)利要求9所述的裝置,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
13.根據(jù)權(quán)利要求9所述的裝置,其中所述視頻解碼器進(jìn)一步經(jīng)配置以基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于解碼所述變換系數(shù)的所述上下文。
14.根據(jù)權(quán)利要求9所述的裝置,其中所述視頻解碼器經(jīng)配置以根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵解碼所述變換系數(shù)。
15.一種用于解碼視頻數(shù)據(jù)的裝置,所述裝置包含: 用于確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值的裝置; 用于基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文的裝置;及 用于使用所述經(jīng)確定上下文來(lái)熵解碼所述變換系數(shù)的裝置。
16.根據(jù)權(quán)利要求15所述的裝置,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
17.根據(jù)權(quán)利要求16所述的裝置,其中所述用于確定所述上下文的裝置包含用于計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和的裝置,及用于使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文的裝置。
18.根據(jù)權(quán)利要求15所述的裝置,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
19.根據(jù)權(quán)利要求15所述的裝置,其中所述用于確定所述上下文的裝置進(jìn)一步包含用于基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于解碼所述變換系數(shù)的所述上下文的裝置。
20.根據(jù)權(quán)利要求15所述的裝置,其中所述用于熵解碼所述變換系數(shù)的裝置包含用于根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵解碼所述變換系數(shù)的裝置。
21.一種其上存儲(chǔ)有指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,所述指令在被執(zhí)行時(shí)致使處理器: 確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值; 基于所述經(jīng)譯碼的子塊旗 標(biāo)的所述值來(lái)確定用于解碼所述當(dāng)前子塊的變換系數(shù)的上下文;及 使用所述經(jīng)確定上下文來(lái)熵解碼所述變換系數(shù)。
22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
23.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述致使所述處理器確定所述上下文的指令包含致使所述處理器計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和且使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文的指令。
24.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
25.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述致使所述處理器確定所述上下文的指令進(jìn)一步包含致使所述處理器基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于解碼所述變換系數(shù)的所述上下文的指令。
26.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述致使所述處理器熵解碼所述變換系數(shù)的指令包含致使所述處理器根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵解碼所述變換系數(shù)的指令。
27.—種編碼視頻數(shù)據(jù)的方法,所述方法包含: 確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值; 基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文;及 使用所述經(jīng)確定上下文來(lái)熵編碼所述變換系數(shù)。
28.根據(jù)權(quán)利要求27所述的方法,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
29.根據(jù)權(quán)利要求28所述的方法,其中確定所述上下文包含計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和,及使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文。
30.根據(jù)權(quán)利要求27所述的方法,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
31.根據(jù)權(quán)利要求27所述的方法,其中所述子塊中的每一者對(duì)應(yīng)于變換系數(shù)的相應(yīng)4X4塊,且其中所述經(jīng)譯碼的子塊旗標(biāo)指示所述相應(yīng)4X4塊中的所述變換系數(shù)中的至少一者是否具有非零值。
32.根據(jù)權(quán)利要求27所述的方法,其中所述當(dāng)前子塊具有4X4像素的大小,且其中所述當(dāng)前子塊在具有大于4X4像素的大小的當(dāng)前變換單元內(nèi)。
33.根據(jù)權(quán)利要求27所述的方法,其中確定所述上下文進(jìn)一步包含基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于編碼所述變換系數(shù)的所述上下文。
34.根據(jù)權(quán)利要求27所述的方法,其中熵編碼所述變換系數(shù)包含根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵編碼所述變換系數(shù)。
35.一種用于編碼視頻數(shù)據(jù)的裝置,所述裝置包含視頻編碼器,所述視頻編碼器經(jīng)配置以:確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值;基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用 于編碼所述當(dāng)前子塊的變換系數(shù)的上下文;及使用所述經(jīng)確定上下文熵編碼所述變換系數(shù)。
36.根據(jù)權(quán)利要求35所述的裝置,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
37.根據(jù)權(quán)利要求36所述的裝置,其中為了確定所述上下文,所述視頻編碼器經(jīng)配置以計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和,及使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文。
38.根據(jù)權(quán)利要求35所述的裝置,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
39.根據(jù)權(quán)利要求35所述的裝置,所述視頻編碼器進(jìn)一步經(jīng)配置以基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于解碼所述變換系數(shù)的所述上下文。
40.根據(jù)權(quán)利要求35所述的裝置,其中所述視頻編碼器經(jīng)配置以根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵編碼所述變換系數(shù)。
41.一種用于編碼視頻數(shù)據(jù)的裝置,所述裝置包含: 用于確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值的裝置; 用于基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文的裝置 '及 用于使用所述經(jīng)確定上下文來(lái)熵編碼所述變換系數(shù)的裝置。
42.根據(jù)權(quán)利要求41所述的裝置,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
43.根據(jù)權(quán)利要求42所述的裝置,其中所述用于確定所述上下文的裝置包含用于計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和的裝置,及用于使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文的裝置。
44.根據(jù)權(quán)利要求41所述的裝置,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
45.根據(jù)權(quán)利要求41所述的裝置,其中所述用于確定所述上下文的裝置進(jìn)一步包含用于基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于編碼所述變換系數(shù)的所述上下文的裝置。
46.根據(jù)權(quán)利要求41所述的裝置,其中所述用于熵編碼所述變換系數(shù)的裝置包含用于根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵編碼所述變換系數(shù)的裝置。
47.一種其上存儲(chǔ)有指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,所述指令在被執(zhí)行時(shí)致使處理器: 確定當(dāng)前子塊的一或多個(gè)相鄰子塊的經(jīng)譯碼的子塊旗標(biāo)的值; 基于所述經(jīng)譯碼的子塊旗標(biāo)的所述值來(lái)確定用于編碼所述當(dāng)前子塊的變換系數(shù)的上下文;及 使用所述經(jīng)確定上下文來(lái)熵編碼所述變換系數(shù)。
48.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述一或多個(gè)相鄰子塊包含右邊相鄰的子塊和底部相鄰的子塊。
49.根據(jù)權(quán)利要求48所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述致使所述處理器確定所述上下文的指令包含 致使所述處理器計(jì)算所述右邊相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值與所述底部相鄰的子塊的經(jīng)譯碼的子塊旗標(biāo)的值的總和且使用所述經(jīng)計(jì)算總和來(lái)確定所述上下文的指令。
50.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述經(jīng)譯碼的子塊旗標(biāo)表示所述相鄰子塊中的相應(yīng)者是否包括至少一個(gè)非零變換系數(shù)。
51.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述致使所述處理器確定所述上下文的指令進(jìn)一步包含致使所述處理器基于所述變換系數(shù)在所述當(dāng)前子塊中的位置來(lái)確定用于編碼所述變換系數(shù)的所述上下文的指令。
52.根據(jù)權(quán)利要求47所述的計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述致使所述處理器熵編碼所述變換系數(shù)的指令包含致使所述處理器根據(jù)上下文自適應(yīng)二進(jìn)制算術(shù)譯碼CABAC熵編碼所述變換系數(shù)的指令。
【文檔編號(hào)】H04N19/60GK104041033SQ201380005229
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2013年1月11日 優(yōu)先權(quán)日:2012年1月13日
【發(fā)明者】瓦迪姆·謝廖金, 霍埃爾·索賴羅哈斯, 馬爾塔·卡切維奇 申請(qǐng)人:高通股份有限公司