視頻譯碼中的系數(shù)的譯碼的制作方法
【專利摘要】視頻編碼器對系數(shù)塊中的系數(shù)執(zhí)行多個譯碼遍次。在每一譯碼遍次期間,所述視頻編碼器對所述系數(shù)塊中的系數(shù)的語法元素的不同集合進行編碼。視頻解碼器使用系數(shù)的所述語法元素來確定所述系數(shù)的值。當(dāng)所述視頻編碼器執(zhí)行譯碼遍次時,所述視頻編碼器至少部分地基于在非因果系數(shù)的較早譯碼遍次中產(chǎn)生的語法元素且至少部分地基于在因果系數(shù)的當(dāng)前譯碼遍次期間產(chǎn)生的語法元素的值來選擇語法元素的譯碼上下文。所述視頻編碼器基于所述選定譯碼上下文對所述語法元素進行熵編碼。視頻解碼器執(zhí)行相似系列的譯碼遍次,其中所述視頻解碼器選擇譯碼上下文且對所述語法元素進行熵解碼。
【專利說明】視頻譯碼中的系數(shù)的譯碼
[0001]本申請案主張以下申請案的權(quán)益:
[0002]2012年I月22日申請的第61/589,384號美國臨時專利申請案;
[0003]2012年I月30日申請的第61/592,300號美國臨時專利申請案;
[0004]2012年3月2日申請的第61/606,300號美國臨時專利申請案;
[0005]2012年3月2日申請的第61,606, 304號美國臨時專利申請案;
[0006]2012年3月2日申請的第61/606,338號美國臨時專利申請案;
[0007]2012年4月16日申請的第61/625,062號美國臨時專利申請案;以及
[0008]2012年4月16日申請的第61/625,072號美國臨時專利申請案,
[0009]以上申請案的每一者的整個內(nèi)容以引用方式并入本文。
【技術(shù)領(lǐng)域】
[0010]本發(fā)明涉及視頻譯碼和壓縮,且特定來說涉及視頻譯碼中的系數(shù)的譯碼。
【背景技術(shù)】
[0011]數(shù)字視頻能力可并入到廣泛多種裝置中,包含數(shù)字電視機、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、平板計算機、電子書閱讀器、數(shù)碼相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、所謂的“智能電話”、視頻電話會議裝置、視頻流式傳輸裝置和類似裝置。數(shù)字視頻裝置實施視頻壓縮技術(shù),例如由 MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 第 10 部分高級視頻譯碼(AVC)界定的標(biāo)準(zhǔn)、當(dāng)前在開發(fā)的高效視頻譯碼(HEVC)標(biāo)準(zhǔn)以及此些標(biāo)準(zhǔn)的擴展中描述的那些技術(shù)。視頻裝置可通過實施此些視頻壓縮技術(shù)來較有效地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
[0012]視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測和/或時間(圖片間)預(yù)測以減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(即,視頻幀或視頻幀的一部分)分割為若干視頻塊,所述視頻塊也可稱為樹塊、譯碼單元(CU)和/或譯碼節(jié)點。圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊是使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測來編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可使用相對于同一圖片中的相鄰塊中的參考樣本的空間預(yù)測或相對于其它參考圖片中的參考樣本的時間預(yù)測。圖片可稱為巾貞,且參考圖片可稱為參考中貞。
[0013]空間或時間預(yù)測得到待譯碼塊的預(yù)測塊。殘余數(shù)據(jù)表示待譯碼的原始塊與預(yù)測塊之間的像素差。經(jīng)幀間譯碼塊是根據(jù)指向形成預(yù)測塊的參考樣本的塊的運動向量以及指示經(jīng)譯碼塊與預(yù)測塊之間的差的殘余數(shù)據(jù)來編碼。經(jīng)幀內(nèi)譯碼塊是根據(jù)幀內(nèi)譯碼模式和殘余數(shù)據(jù)來編碼。為了進一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而得到殘余系數(shù),所述系數(shù)隨后可經(jīng)量化??蓲呙璩跏家远S陣列布置的經(jīng)量化系數(shù)以便產(chǎn)生系數(shù)的一維向量,且可應(yīng)用熵譯碼以實現(xiàn)甚至更多的壓縮。
【發(fā)明內(nèi)容】
[0014]大體上,本發(fā)明描述用于對視頻譯碼中的系數(shù)塊的系數(shù)進行譯碼的技術(shù)。所述系數(shù)可包括對應(yīng)于與視頻塊相關(guān)聯(lián)的殘余像素值集合的經(jīng)變換系數(shù),其分別經(jīng)譯碼且變換到頻域中。或者,如果未將變換應(yīng)用于殘余樣本塊,那么系數(shù)可為樣本域中的殘余樣本。特定來說,視頻編碼器產(chǎn)生系數(shù)塊且對系數(shù)塊中的系數(shù)執(zhí)行多個譯碼遍次。在每一譯碼遍次期間,所述視頻編碼器對所述系數(shù)塊中的系數(shù)的語法元素的不同集合進行編碼。視頻解碼器可使用系數(shù)的所述語法元素來確定所述系數(shù)的值。當(dāng)視頻編碼器執(zhí)行除了初始譯碼遍次之外的譯碼遍次時,視頻編碼器可至少部分地基于在非因果系數(shù)的較早譯碼遍次中產(chǎn)生的語法元素的值且至少部分地基于在因果系數(shù)的當(dāng)前譯碼遍次期間產(chǎn)生的語法元素的值來選擇語法元素的譯碼上下文。根據(jù)當(dāng)前譯碼遍次的譯碼次序,非因果系數(shù)在系數(shù)之后發(fā)生,且因果系數(shù)在系數(shù)之前發(fā)生。視頻編碼器可基于選定譯碼上下文對語法元素進行熵編碼。視頻解碼器可執(zhí)行相似系列的譯碼遍次,其中所述視頻解碼器選擇譯碼上下文且對系數(shù)的語法元素進行熵解碼。
[0015]在一個方面中,本發(fā)明描述用于對視頻數(shù)據(jù)進行編碼的方法。所述方法包括基于殘余樣本塊產(chǎn)生系數(shù)塊。另外,所述方法包括在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼。此外,所述方法包括在系數(shù)塊的系數(shù)的第二譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合。對語法元素的第二集合進行編碼包括產(chǎn)生第一語法元素,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù)。對語法元素的第二集合進行編碼還包括至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。另外,對語法元素的第二集合進行編碼包括至少部分地基于為第一語法元素選擇的譯碼上下文來熵編碼第一語法元素。
[0016]在另一方面中,本發(fā)明描述包括經(jīng)配置以基于殘余樣本塊產(chǎn)生系數(shù)塊的一或多個處理器的視頻編碼裝置。所述一或多個處理器還經(jīng)配置以在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼。另外,所述一或多個處理器還經(jīng)配置以在系數(shù)塊的系數(shù)的第二譯碼遍次期間對對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼。所述一或多個處理器經(jīng)配置以使得在所述第二譯碼遍次期間所述一或多個處理器產(chǎn)生第一語法元素,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù)。在所述第二譯碼遍次期間,所述一或多個處理器還至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。另外,在第二譯碼遍次期間,所述一或多個處理器至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵編碼。
[0017]在另一方面中,本發(fā)明描述一種視頻編碼裝置,其包括用于基于殘余樣本塊產(chǎn)生系數(shù)塊的裝置。所述視頻編碼裝置還包括用于在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼的裝置。另外,視頻編碼裝置包括用于在系數(shù)塊的系數(shù)的第二譯碼遍次期間解碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼的裝置。用于對語法元素的第二集合進行編碼的裝置包括用于產(chǎn)生第一語法元素的裝置,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù)。用于對語法元素的第二集合進行編碼的裝置還包括用于至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文的裝置。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。用于對語法元素的第二集合進行編碼的裝置還包括用于至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵編碼的裝置。
[0018]在另一方面中,本發(fā)明描述一種存儲指令的計算機可讀存儲媒體,所述指令在由視頻編碼裝置的一或多個處理器執(zhí)行時配置所述視頻編碼裝置以基于殘余樣本塊產(chǎn)生系數(shù)塊。所述指令還配置所述視頻編碼裝置以在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼。所述指令還配置所述視頻編碼裝置以在所述系數(shù)塊的系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼。所述指令配置所述視頻編碼裝置以使得在第二譯碼遍次期間,所述視頻編碼裝置產(chǎn)生第一語法元素,所述第一語法元素在語法元素的第二集合中且對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。所述指令還配置所述視頻編碼裝置以使得在所述第二譯碼遍次期間,所述視頻編碼裝置至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。另外,所述指令配置所述視頻編碼裝置以使得在第二譯碼遍次期間,所述視頻編碼裝置至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵編碼。
[0019]在另一方面中,本發(fā)明描述用于對視頻數(shù)據(jù)進行解碼的方法。所述方法包括在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼。所述方法還包括在系數(shù)塊的系數(shù)的第二譯碼遍次期間對對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼。執(zhí)行第二譯碼遍次包括至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文,所述第一語法元素在語法元素的第二集合中且對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。執(zhí)行第二譯碼遍次還包括至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵解碼。另外,執(zhí)行第二譯碼遍次包括基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊。
[0020]在另一方面中,本發(fā)明描述一種視頻解碼裝置,其包括一或多個處理器,所述一或多個處理器經(jīng)配置以在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼。所述一或多個處理器還經(jīng)配置以在所述系數(shù)塊的系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼。所述一或多個處理器經(jīng)配置以使得在第二譯碼遍次期間,所述一或多個處理器至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文,所述第一語法元素在語法元素的第二集合中且對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。所述一或多個處理器還經(jīng)配置以使得在第二譯碼遍次期間,所述一或多個處理器至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵解碼。此外,所述一或多個處理器經(jīng)配置以基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊。
[0021]在另一方面中,本發(fā)明描述一種視頻解碼裝置,其包括用于在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼的裝置。所述視頻解碼裝置還包括用于在所述系數(shù)塊的系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼的裝置。用于執(zhí)行第二譯碼遍次的裝置包括用于至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文的裝置,所述第一語法元素在語法元素的第二集合中且對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。用于執(zhí)行第二譯碼遍次的裝置還包括用于至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵解碼的裝置。此外,所述視頻解碼裝置包括用于基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊的裝置。
[0022]在另一方面中,本發(fā)明描述一種存儲指令的計算機可讀存儲媒體,所述指令在由視頻解碼裝置的一或多個處理器執(zhí)行時配置所述視頻解碼裝置以在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼。所述指令還配置所述視頻解碼裝置以在所述系數(shù)塊的系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼。所述指令配置所述視頻編碼裝置以使得在第二譯碼遍次期間,所述視頻解碼裝置至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文,所述第一語法元素在語法元素的第二集合中且對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生。所述指令還配置所述視頻解碼裝置以使得在第二譯碼遍次期間,所述視頻解碼裝置至少部分地基于為第一語法元素選擇的譯碼上下文來對第一語法元素進行熵編碼。此外,所述指令配置所述視頻解碼裝置以基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊。
[0023]在附圖和以下描述中陳述本發(fā)明的一個或一個以上實例的細節(jié)。從描述、圖式以及權(quán)利要求書將明了其它特征、目的和優(yōu)點。
【專利附圖】
【附圖說明】
[0024]圖1是圖解說明可利用本發(fā)明中描述的技術(shù)的實例性視頻譯碼系統(tǒng)的框圖。
[0025]圖2是圖解說明經(jīng)劃分為若干子塊的實例系數(shù)塊的概念圖。
[0026]圖3是圖解說明未經(jīng)劃分為若干子塊的實例系數(shù)塊的概念圖。
[0027]圖4是圖解說明經(jīng)劃分為若干子塊的實例系數(shù)塊的概念圖且展示包含非因果系數(shù)的上下文鄰域。
[0028]圖5是圖解說明可實施本發(fā)明中描述的技術(shù)的實例性視頻編碼器的框圖。
[0029]圖6是圖解說明可實施本發(fā)明中描述的技術(shù)的實例性視頻解碼器的框圖。
[0030]圖7是圖解說明根據(jù)本發(fā)明的一或多種技術(shù)的用于對視頻數(shù)據(jù)進行編碼的視頻編碼器的實例操作的流程圖。
[0031]圖8是圖解說明根據(jù)本發(fā)明的一或多種技術(shù)的用于對視頻數(shù)據(jù)進行解碼的視頻解碼器的實例操作的流程圖。
[0032]圖9A是圖解說明實例4x4子塊的概念圖。
[0033]圖9B到9G是圖解說明圖9A的子塊中的系數(shù)的上下文鄰域中的實例孔的概念圖。
[0034]圖1OA到1F是圖解說明系數(shù)塊的4x4子塊中的系數(shù)的實例群組的概念圖。
[0035]圖11是圖解說明系數(shù)塊的4x4子塊內(nèi)的系數(shù)的另一實例分組的概念圖。
[0036]圖12是圖解說明根據(jù)本發(fā)明的一或多種技術(shù)的視頻解碼器在三個譯碼遍次中對子塊的系數(shù)語法元素進行譯碼的實例操作的流程圖。
[0037]圖13A和13B是圖解說明當(dāng)根據(jù)對角線譯碼次序執(zhí)行譯碼遍次時用于選擇SigMapFlag的譯碼上下文的上下文鄰域的實例模板的概念圖。
[0038]圖14A和14B是圖解說明當(dāng)根據(jù)水平譯碼次序執(zhí)行譯碼遍次時用于選擇SigMapFlag的譯碼上下文的上下文鄰域的實例模板的概念圖。
[0039]圖15A和15B是圖解說明當(dāng)根據(jù)垂直譯碼次序執(zhí)行譯碼遍次時用于選擇sigMapFlag的譯碼上下文的上下文鄰域的實例模板的概念圖。
【具體實施方式】
[0040]在視頻編碼期間,視頻編碼器可通過從原始樣本塊的樣本減去預(yù)測樣本塊的對應(yīng)樣本來產(chǎn)生殘余樣本塊。在一些情況下,視頻編碼器可隨后將一或多個變換應(yīng)用于殘余樣本塊以便產(chǎn)生系數(shù)塊。在其它情況下,視頻編碼器不將變換應(yīng)用于殘余樣本塊。如果視頻編碼器不將變換應(yīng)用于殘余樣本塊,那么視頻譯碼器可以與系數(shù)塊相同或相似的方式處置殘余樣本塊。因此,為便于闡釋,本發(fā)明可將殘余樣本塊稱為系數(shù)塊且將殘余樣本塊中的樣本稱為系數(shù)。然而應(yīng)注意,如果視頻編碼器不將變換應(yīng)用于殘余樣本塊,那么系數(shù)塊和系數(shù)的論述可應(yīng)用于殘余樣本塊和殘余樣本。
[0041]視頻編碼器可根據(jù)特定譯碼次序處理系數(shù)塊中的每一系數(shù)。當(dāng)視頻編碼器處理系數(shù)塊中的系數(shù)時,視頻編碼器可產(chǎn)生且熵編碼系數(shù)的語法元素集合。視頻解碼器可能夠基于系數(shù)的語法元素集合來確定系數(shù)的值。為了熵編碼系數(shù)的語法元素,視頻編碼器可選擇語法元素的譯碼上下文,且隨后使用語法元素的選定譯碼上下文來對語法元素進行熵編碼。視頻編碼器可基于系數(shù)的上下文鄰域中的先前處理系數(shù)的語法元素的值來選擇語法元素的譯碼上下文。
[0042]上文描述的用于處理系數(shù)的方法可能具有若干缺點。舉例來說,上述方法可使得難以使系數(shù)塊的多個系數(shù)的處理并行化。在另一實例中,上述方法可需要視頻編碼器(和視頻解碼器)存儲系數(shù)的絕對值以用于選擇譯碼上下文。存儲此些絕對值可增加視頻譯碼裝置中所需的存儲量。
[0043]本發(fā)明的技術(shù)可解決這些問題和其它問題。根據(jù)本發(fā)明的技術(shù),視頻編碼器可執(zhí)行多個譯碼遍次以產(chǎn)生和編碼系數(shù)塊的系數(shù)的語法元素。視頻編碼器可根據(jù)相同譯碼次序或根據(jù)兩個或兩個以上不同譯碼次序執(zhí)行譯碼遍次中的每一者。當(dāng)視頻編碼器執(zhí)行除了初始譯碼遍次之外的譯碼遍次時,視頻編碼器可至少部分地基于在非因果系數(shù)的較早譯碼遍次中產(chǎn)生的語法元素的值且至少部分地基于在因果系數(shù)的當(dāng)前譯碼遍次期間產(chǎn)生的語法元素的值來選擇當(dāng)前語法元素的譯碼上下文。根據(jù)當(dāng)前譯碼遍次的譯碼次序,非因果系數(shù)在當(dāng)前系數(shù)(即,正譯碼的系數(shù))之后發(fā)生,且因果系數(shù)在當(dāng)前系數(shù)之前發(fā)生。視頻編碼器可基于選定譯碼上下文對當(dāng)前語法元素進行熵編碼。通過至少部分地基于一或多個非因果系數(shù)的語法元素來選擇當(dāng)前系數(shù)的當(dāng)前語法元素的譯碼上下文,視頻編碼器可改善視頻編碼器選擇譯碼上下文的準(zhǔn)確性。同時,通過至少部分地基于一或多個非因果系數(shù)的語法元素來選擇譯碼上下文,視頻編碼器可能夠選擇譯碼上下文而不如此重地依賴于視頻編碼器可與當(dāng)前系數(shù)并行處理的因果語法元素。
[0044]舉例來說,視頻編碼器可在系數(shù)塊的系數(shù)的第一譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合。此外,視頻編碼器可在系數(shù)塊的系數(shù)的第二譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合。當(dāng)視頻編碼器執(zhí)行第二譯碼遍次時,視頻譯碼器可產(chǎn)生第一語法元素。第一語法元素在語法元素的第二集合中且對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。視頻編碼器可至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。第三語法元素在語法元素的第二集合中且對應(yīng)于因果系數(shù)。非因果系數(shù)在第二譯碼遍次的譯碼次序中在當(dāng)前系數(shù)之后發(fā)生。因果系數(shù)在譯碼次序中在當(dāng)前系數(shù)之前發(fā)生。視頻編碼器可至少部分地基于針對第一語法元素選擇的譯碼上下文來熵編碼第一語法元素。
[0045]附圖圖解說明實例。在附圖中由參考標(biāo)號指示的元件對應(yīng)于在以下描述中由相同參考標(biāo)號指示的元件。在本發(fā)明中,具有以序數(shù)詞(例如,“第一”、“第二”、“第三”等等)開始的名稱的元件不一定暗示所述元件具有特定次序。而是,此些序數(shù)詞僅可用以指代相同或相似類型的不同元件。
[0046]圖1是圖解說明可利用本發(fā)明的技術(shù)的實例性視頻譯碼系統(tǒng)10的框圖。如本文描述,術(shù)語“視頻譯碼器”一般指代視頻編碼器和視頻解碼器兩者。在本發(fā)明中,術(shù)語“視頻譯碼”或“譯碼”可一般指代視頻編碼或視頻解碼。
[0047]如圖1所示,視頻譯碼系統(tǒng)10包含源裝置12和目的地裝置14。源裝置12產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)。因此,源裝置12可稱為視頻編碼裝置或視頻編碼設(shè)備。目的地裝置14可對由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)進行解碼。因此,目的地裝置14可稱為視頻解碼裝置或視頻解碼設(shè)備。源裝置12和目的地裝置14可為視頻譯碼裝置或視頻譯碼設(shè)備的實例。源裝置12和目的地裝置14可包括廣泛多種裝置,包含桌上型計算機、移動計算裝置、筆記型(例如,膝上型)計算機、平板計算機、機頂盒、例如所謂的“智能”電話等電話手持機、電視機、相機、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、車載計算機或類似裝置。
[0048]目的地裝置14可經(jīng)由信道16從源裝置12接收經(jīng)編碼視頻數(shù)據(jù)。信道16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移動到目的地裝置14的一或多個媒體和/或裝置。在一個實例中,信道16可包括一或多個通信媒體,其使得源裝置12能夠?qū)崟r地將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。在此實例中,源裝置12可根據(jù)例如無線通信協(xié)議等通信標(biāo)準(zhǔn)而調(diào)制經(jīng)編碼視頻數(shù)據(jù),且可將經(jīng)調(diào)制視頻數(shù)據(jù)發(fā)射到目的地裝置14。所述一或多個通信媒體可包含無線和/或有線通信媒體,例如射頻(RF)頻譜或者一或多種物理傳輸線。所述一或多個通信媒體可形成基于包的網(wǎng)絡(luò)的部分,所述網(wǎng)絡(luò)例如為局域網(wǎng)、廣域網(wǎng)或全球網(wǎng)(例如,因特網(wǎng))。所述一或多個通信媒體可包含路由器、交換機、基站或促進從源裝置12到目的地裝置14的通信的其它設(shè)備。
[0049]在另一實例中,信道16可包含存儲由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)的存儲媒體。在此實例中,目的地裝置14可經(jīng)由磁盤存取或卡存取而存取存儲媒體。存儲媒體可包含多種本地存取的數(shù)據(jù)存儲媒體,例如藍光光盤、DVD、CD-ROM、快閃存儲器或其它合適的用于存儲經(jīng)編碼視頻數(shù)據(jù)的數(shù)字存儲媒體。
[0050]在又一實例中,信道16可包含文件服務(wù)器或另一中間存儲裝置,其存儲由源裝置12產(chǎn)生的經(jīng)編碼視頻數(shù)據(jù)。在此實例中,目的地裝置14可經(jīng)由流式傳輸或下載而存取存儲在文件服務(wù)器或其它中間存儲裝置處的經(jīng)編碼視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將所述經(jīng)編碼視頻數(shù)據(jù)發(fā)射到目的地裝置14的類型的服務(wù)器。實例文件服務(wù)器包含網(wǎng)絡(luò)服務(wù)器(例如,用于網(wǎng)站)、文件傳送協(xié)議(FTP)服務(wù)器、網(wǎng)絡(luò)附接存儲(NAS)裝置和本地磁盤驅(qū)動器。
[0051]目的地裝置14可通過標(biāo)準(zhǔn)數(shù)據(jù)連接(例如因特網(wǎng)連接)存取經(jīng)編碼視頻數(shù)據(jù)。數(shù)據(jù)連接的實例類型包含適于存取存儲在文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)的無線信道(例如,W1-Fi連接)、有線連接(例如,DSL、電纜調(diào)制解調(diào)器等等)或兩者的組合。經(jīng)編碼視頻數(shù)據(jù)從文件服務(wù)器的發(fā)射可為流式發(fā)射、下載發(fā)射或兩者的組合。
[0052]本發(fā)明的技術(shù)不限于無線應(yīng)用或設(shè)定。所述技術(shù)可應(yīng)用于視頻譯碼以支持多種多媒體應(yīng)用,例如空中電視廣播、閉路電視發(fā)射、衛(wèi)星電視發(fā)射、流式傳輸視頻發(fā)射(例如,經(jīng)由因特網(wǎng))、為存儲在數(shù)據(jù)存儲媒體上對視頻數(shù)據(jù)的編碼、對存儲在數(shù)據(jù)存儲媒體上的視頻數(shù)據(jù)的解碼,或其它應(yīng)用。在一些實例中,視頻譯碼系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻發(fā)射以支持例如視頻流式傳輸、視頻重放、視頻廣播和/或視頻電話等應(yīng)用。
[0053]在圖1的實例中,源裝置12包含視頻源18、視頻編碼器20和輸出接口 22。在一些實例中,輸出接口 22可包含調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)和/或發(fā)射器。視頻源18可包含視頻俘獲裝置(例如攝像機)、含有先前俘獲視頻數(shù)據(jù)的視頻檔案、用以從視頻內(nèi)容提供者接收視頻數(shù)據(jù)的視頻饋送接口,和/或用于產(chǎn)生視頻數(shù)據(jù)的計算機圖形系統(tǒng),或此些視頻數(shù)據(jù)源的組合。
[0054]視頻編碼器20可對來自視頻源18的視頻數(shù)據(jù)進行編碼。在一些實例中,源裝置12經(jīng)由輸出接口 22將經(jīng)編碼視頻數(shù)據(jù)直接發(fā)射到目的地裝置14。經(jīng)編碼視頻數(shù)據(jù)也可存儲到存儲媒體或文件服務(wù)器上供目的地裝置14稍后存取,用于解碼和/或重放。
[0055]在圖1的實例中,目的地裝置14包含輸入接口 28、視頻解碼器30和顯示裝置32。在一些實例中,輸入接口 28包含接收器和/或調(diào)制解調(diào)器。輸入接口 28可經(jīng)由信道16接收經(jīng)編碼視頻數(shù)據(jù)。顯示裝置32可與目的地裝置14集成或可在目的地裝置14的外部。大體上,顯示裝置32顯示經(jīng)解碼視頻數(shù)據(jù)。顯示裝置32可包括多種顯示裝置,例如液晶顯示器(LCD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器,或另一類型的顯示裝置。
[0056]視頻編碼器20和視頻解碼器30可根據(jù)例如當(dāng)前在開發(fā)的高效視頻譯碼(HEVC)標(biāo)準(zhǔn)等視頻壓縮標(biāo)準(zhǔn)來操作,且可符合HEVC測試模型(HM)。稱為“HEVC工作草案5”或“WD5”的即將到來的HEVC標(biāo)準(zhǔn)的草案在布洛斯(Bross)等人的文獻JCTVC-Gl 103 “WD5:高效視頻譯碼工作草案 5 (WD5:fforking Draft5of High-Efficiency Video Coding)(ITU-TSG16WP3和IS0/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合合作組(JCT-VC), % 7次會議:瑞士日內(nèi)瓦,2011年11月)中描述,其從2012年11月26日起可從http://phenix.1t-sudparis.eu/jet/doc_end_user/documents/7_Geneva/wgll/JCTVC-G1103-vl2.zip 下載,其整個內(nèi)容以引用方式并入本文。稱為“HEVC工作草案9”的即將到來的HEVC標(biāo)準(zhǔn)的另一草案在布洛斯(Bross)等人的“高效視頻譯碼(HEVC)文本規(guī)范草案9 (High EfficiencyVideo Coding (HEVC) text specificat1n draft9),,(ITU-T SG16WP3 和 IS0/IEC JTCl/SC29/WG11的視頻譯碼聯(lián)合合作組(JCT-VC),第11次會議:中國上海,2012年10月)中描述,其從 2012 年 11 月 26 日起可從 http://phenix.1nt-evry.frijet/doc_end_user/documents/1l_Shanghai/wglI/JCTVC-K1003-v8.zip 下載,其整個內(nèi)容以引用方式并入本文。
[0057]或者,視頻編碼器20和視頻解碼器30可根據(jù)其它專門或行業(yè)標(biāo)準(zhǔn)操作,包含ITU-TH.261、IS0/IEC MPEG-lVisual, ITU-T H.262 或、IS0/IEC MPEG_2Visual、ITU-TH.263、IS0/IEC MPEG_4Visual 和 ITU-T H.264(也稱為 IS0/IEC MPEG-4AVC),包含其可縮放視頻譯碼(SVC)和多視圖視頻譯碼(MVC)擴展。然而本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)或技術(shù)。
[0058]再次,圖1僅是實例,且本發(fā)明的技術(shù)可應(yīng)用于不一定包含編碼與解碼裝置之間的任何數(shù)據(jù)通信的視頻譯碼設(shè)定(例如,視頻編碼或視頻解碼)。在其它實例中,數(shù)據(jù)是從本地存儲器檢索、經(jīng)由網(wǎng)絡(luò)串流傳輸?shù)?。編碼裝置可對數(shù)據(jù)進行編碼且將數(shù)據(jù)存儲到存儲器,和/或解碼裝置可從存儲器檢索數(shù)據(jù)且對數(shù)據(jù)進行解碼。在許多實例中,編碼和解碼由不彼此通信但是簡單地將數(shù)據(jù)編碼到存儲器和/或從存儲器檢索和解碼數(shù)據(jù)的裝置執(zhí)行。
[0059]視頻編碼器20和視頻解碼器30各自可實施為多種合適電路中的任一者,例如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、硬件或其任一組合。如果所述技術(shù)部分地以軟件實施,裝置可將用于所述軟件的指令存儲在合適的非暫時性計算機可讀存儲媒體中,且可使用一或多個處理器執(zhí)行硬件中的指令以執(zhí)行本發(fā)明的技術(shù)。上述任一者(包含硬件、軟件、硬件與軟件的組合等等)可視為一或多個處理器。視頻編碼器20和視頻解碼器30中的每一者可包含于一或多個編碼器或解碼器中,其中任一者可集成為相應(yīng)裝置中的組合式編碼器/解碼器(CODEC)的部分。
[0060]本發(fā)明可大體上涉及視頻編碼器20將某些信息“用信號發(fā)送”到另一裝置,例如視頻解碼器30。術(shù)語“用信號發(fā)送”可大體上指代表示經(jīng)編碼視頻數(shù)據(jù)的語法元素和/或其它數(shù)據(jù)的通信。此通信可實時或近實時地發(fā)生?;蛘?,此通信可在一時間跨度中發(fā)生,例如可能當(dāng)在編碼時在經(jīng)編碼位流中將語法元素存儲到計算機可讀存儲媒體時發(fā)生,所述語法元素可隨后在存儲到此媒體之后的任何時間由解碼裝置檢索。
[0061]如上文簡要提到,視頻編碼器20對視頻數(shù)據(jù)進行編碼。視頻數(shù)據(jù)可包括一或多個圖片。圖片中的每一者可為靜止圖像。視頻編碼器20可產(chǎn)生位流,位流包含形成視頻數(shù)據(jù)的經(jīng)譯碼表示的位序列。視頻數(shù)據(jù)的經(jīng)譯碼表示可包含經(jīng)譯碼圖片和相關(guān)聯(lián)數(shù)據(jù)。經(jīng)譯碼圖片是圖片的經(jīng)譯碼表示。相關(guān)聯(lián)數(shù)據(jù)可包含序列參數(shù)集(SPS)、圖片參數(shù)集(PPS)和其它語法結(jié)構(gòu)。SPS可含有適用于零個或零個以上圖片序列的參數(shù)。PPS可含有適用于零個或零個以上圖片的參數(shù)。語法結(jié)構(gòu)可為在位流中以指定次序一起存在的零或多個語法元素的
口 O
[0062]圖片包含一亮度(即,亮度或Y)樣本塊和兩個色度(即,色度)樣本塊。為便于闡釋,本發(fā)明可將樣本的二維陣列稱為樣本塊。為了產(chǎn)生圖片的經(jīng)編碼表示,視頻編碼器20可產(chǎn)生圖片的多個譯碼樹塊(CTB)。在一些實例中,樹塊也可稱為最大譯碼單元(LCU)或樹塊。圖片的每一 CTB可與一亮度塊和兩個色度塊相關(guān)聯(lián)。CTB亮度塊是圖片的亮度塊的子塊且CTB色度塊是圖片的色度塊的子塊。CTB色度塊對應(yīng)于圖片內(nèi)與CTB亮度塊相同的區(qū)域。HEVC的CTB可廣義地類似于例如H.264/AVC等先前視頻譯碼標(biāo)準(zhǔn)的宏塊。然而,CTB不一定限于特定大小,且可包含一或多個譯碼單元(CU)。視頻編碼器20可使用四叉樹分割來將與CTB相關(guān)聯(lián)的樣本塊分割為與CU相關(guān)聯(lián)的樣本塊,因此名稱為“譯碼樹塊”。
[0063]圖片的CTB可經(jīng)分組為一或多個切片。在一些實例中,切片中的每一者包含整數(shù)個CTB。作為對圖片進行編碼的部分,視頻編碼器20可產(chǎn)生圖片的每一切片的經(jīng)編碼表示(即,經(jīng)譯碼切片)。為了產(chǎn)生經(jīng)譯碼切片,視頻編碼器20可對切片的每一 CTB進行編碼以產(chǎn)生切片的CTB中的每一者的經(jīng)編碼表示(即,經(jīng)譯碼CTB)。
[0064]為了產(chǎn)生經(jīng)譯碼CTB,視頻編碼器20可對與CTB相關(guān)聯(lián)的樣本塊遞歸地執(zhí)行四叉樹分割以將樣本塊劃分為逐漸變小的樣本塊。CTB的CU可與一亮度樣本塊和兩個色度樣本塊相關(guān)聯(lián)。CU的亮度樣本塊可為CTB的亮度樣本塊的子塊且CU的色度樣本塊可為CTB的色度樣本塊的子塊。CU的亮度樣本塊和色度樣本塊可對應(yīng)于圖片內(nèi)的相同區(qū)域。經(jīng)分割CU可為樣本塊經(jīng)分割為與其它CU相關(guān)聯(lián)的樣本塊的CU。未經(jīng)分割CU可為樣本塊未經(jīng)分割為與其它CU相關(guān)聯(lián)的樣本塊的CU。
[0065]視頻編碼器20可針對每一未經(jīng)分割⑶產(chǎn)生一或多個預(yù)測單元(PU)。⑶的PU中的每一者可與圖片的區(qū)域內(nèi)對應(yīng)于CU的圖片區(qū)域?qū)?yīng)。視頻編碼器20可產(chǎn)生CU的每一PU的預(yù)測樣本塊。I3U的預(yù)測樣本塊可為樣本塊。
[0066]視頻編碼器20可使用幀內(nèi)預(yù)測或幀間預(yù)測來產(chǎn)生的預(yù)測樣本塊。如果視頻編碼器20使用幀內(nèi)預(yù)測來產(chǎn)生的預(yù)測樣本塊,那么視頻編碼器20可基于與相關(guān)聯(lián)的圖片的經(jīng)解碼樣本來產(chǎn)生PU的預(yù)測樣本塊。如果視頻編碼器20使用幀間預(yù)測來產(chǎn)生的預(yù)測樣本塊時,視頻編碼器20可基于除了與相關(guān)聯(lián)的圖片之外的一或多個圖片的經(jīng)解碼像素來產(chǎn)生I3U的預(yù)測樣本塊。
[0067]視頻編碼器20可基于⑶的I3U的預(yù)測樣本塊產(chǎn)生⑶的殘余塊。⑶的殘余樣本塊可指示CU的PU的預(yù)測樣本塊中的樣本與CU的原始樣本塊中的對應(yīng)樣本之間的差。
[0068]此外,作為對未經(jīng)分割CU進行編碼的部分,視頻編碼器20可對CU的殘余樣本塊執(zhí)行遞歸四叉樹分割以將CU的殘余樣本塊分割為與CU的變換單元(TU)相關(guān)聯(lián)的一或多個較小殘余樣本塊。TU中的每一者可與亮度樣本的一殘余樣本塊和色度樣本的兩個殘余樣本塊相關(guān)聯(lián)。
[0069]視頻編碼器20可將一或多個變換應(yīng)用于與TU相關(guān)聯(lián)的殘余樣本塊以產(chǎn)生系數(shù)塊(即,系數(shù)的塊)。視頻編碼器20可對系數(shù)塊中的每一者執(zhí)行量化過程。量化大體上指代其中系數(shù)經(jīng)量化以可能地減少用以表示所述系數(shù)的數(shù)據(jù)量從而提供進一步壓縮的過程。在量化之后,視頻編碼器20可對表示系數(shù)的值的語法元素進行熵編碼。舉例來說,視頻編碼器20可對表示系數(shù)的值的語法元素中的至少一些執(zhí)行上下文自適應(yīng)二進制算術(shù)譯碼(CABAC)編碼。對語法元素進行熵編碼可提供進一步壓縮。視頻編碼器20可輸出包含經(jīng)熵編碼語法元素的位流。
[0070]視頻解碼器30可接收位流。位流可包含由視頻編碼器20編碼的視頻數(shù)據(jù)的經(jīng)譯碼表示。視頻解碼器30可剖析位流以從位流提取語法元素。作為從位流提取至少一些語法元素的部分,視頻解碼器30可對位流中的數(shù)據(jù)執(zhí)行熵解碼(例如,CABAC解碼、指數(shù)哥倫布解碼等等)。
[0071]視頻解碼器30可基于從位流提取的語法元素來重構(gòu)視頻數(shù)據(jù)的圖片。用以基于語法元素重構(gòu)視頻數(shù)據(jù)的過程可與由視頻編碼器20執(zhí)行以產(chǎn)生語法元素的過程大體上互逆。舉例來說,視頻解碼器30可基于與CU相關(guān)聯(lián)的語法元素產(chǎn)生CU的PU的預(yù)測樣本塊。另外,視頻解碼器30可對與CU的TU相關(guān)聯(lián)的系數(shù)塊進行逆量化。視頻解碼器30可對系數(shù)塊執(zhí)行逆變換以重構(gòu)與CU的TU相關(guān)聯(lián)的殘余樣本塊。視頻解碼器30可基于預(yù)測樣本塊和殘余樣本塊重構(gòu)⑶的樣本塊。
[0072]如上文簡單提到,視頻編碼器20可通過將一或多個變換應(yīng)用于殘余樣本塊來產(chǎn)生系數(shù)塊。(在一些實例中,視頻編碼器20可跳過將一或多個變換應(yīng)用于殘余樣本塊。)此外,在一些實例中,視頻編碼器20可將系數(shù)塊劃分為子塊。舉例來說,視頻編碼器20可將系數(shù)塊劃分為四個正方形子塊。子塊在本文也可稱為“組塊”。在一些實例中,子塊的大小為十六。因此,子塊中的每一者在逆掃描次序中含有十六個系數(shù)。因此,每一 4x4子塊對應(yīng)于子集或組塊。此外,在一些實例中,除了使用水平或垂直掃描的某些8x8TU之外,所有TU使用4x4子塊掃描。
[0073]視頻編碼器20可對子塊中的每一者執(zhí)行五個譯碼遍次。視頻編碼器20可在對子塊中的下一者執(zhí)行五個譯碼遍次之前對子塊執(zhí)行全部五個譯碼遍次。視頻編碼器20可以各種次序處理子塊。舉例來說,視頻編碼器20可以反向z掃描處理子塊,其首先處理右下方子塊,之后是左下方子塊,右上方子塊,且最終是左上方子塊。例如對角線左下等其它掃描也是可能的。
[0074]當(dāng)視頻編碼器20對子塊執(zhí)行譯碼遍次時,視頻編碼器20根據(jù)與特定譯碼遍次相關(guān)聯(lián)的譯碼次序處理子塊中的系數(shù)中的每一者。不同譯碼遍次可使用相同譯碼次序或者一或多個不同譯碼次序。在一些實例中,譯碼次序可為對角線左下次序,其在右下系數(shù)處開始,且隨后從右下系數(shù)逐漸遠離地處理系數(shù)的對角線。在此實例中,視頻編碼器20可沿著系數(shù)的每一對角線從右上到左下處理系數(shù)。在其它實例中,譯碼次序可為垂直或水平次序。視頻編碼器20可使用反向掃描次序(S卩,在右下系數(shù)處開始的譯碼次序)用于顯著水平譯石馬(即,針對 sigMapFlags、grlFlags、gr2Flags、signFlags 和 IevelRems)。然而,本發(fā)明的技術(shù)甚至在使用前向掃描次序時也可為有效的。本發(fā)明的技術(shù)也可無論使用對角線、z字形、水平、垂直、4x4子塊掃描或任何其它掃描均為有效的。
[0075]當(dāng)視頻編碼器20對子塊執(zhí)行第一譯碼遍次時,視頻編碼器20可針對子塊中的每一系數(shù)產(chǎn)生significant_coeff_flag(簡寫為sigMapFlag)。在一些實例中,視頻編碼器20可僅針對在第一譯碼遍次的譯碼次序中的第一非零系數(shù)之后發(fā)生的那些系數(shù)產(chǎn)生sigMapFlag。系數(shù)的sigMapFlag指示所述系數(shù)的絕對值是否大于零。在本發(fā)明中,如果系數(shù)的絕對值大于零,那么所述系數(shù)稱為“顯著的”。視頻編碼器20和視頻解碼器30可使用規(guī)則CABAC譯碼來對sigMapFlag進行熵譯碼。規(guī)則CABAC譯碼可使用多個上下文。
[0076]當(dāng)視頻編碼器20對子塊執(zhí)行第二譯碼遍次時,視頻編碼器20針對子塊中具有大于零的絕對值的每一系數(shù)產(chǎn)生coeff_abs_level_greaterl_flag(簡寫為grlFlag)。系數(shù)的grlFlag指示所述系數(shù)的絕對值是否大于I。在一些實例中,可使用每子塊最多八個grlFlags來指示對應(yīng)系數(shù)大于I。視頻編碼器20和視頻解碼器30可使用規(guī)則CABAC譯碼來對grlFlag進行熵譯碼。
[0077]當(dāng)視頻編碼器20對子塊執(zhí)行第三譯碼遍次時,視頻編碼器20可針對子塊中具有大于I的絕對值的每一系數(shù)產(chǎn)生coeff_abs_level_greater2_flag(簡寫為gr2Flag)。系數(shù)的gr2Flag指示所述系數(shù)的絕對值是否大于2。在一些實例中,可使用每子塊最多一個gr2Flag來指示對應(yīng)系數(shù)大于2。因此,針對每一子塊可發(fā)送最多八個grlFlag和一個gr2Flag0因此,IevelRem的解譯可取決于grlFlag和/或gr2Flag是否已經(jīng)譯碼而改變。視頻編碼器20和視頻解碼器30可使用規(guī)則CABAC譯碼來對gr2Flag進行熵譯碼。
[0078]當(dāng)視頻編碼器20對子塊執(zhí)行第四譯碼遍次時,視頻編碼器20可針對子塊中具有大于O的絕對值的每一系數(shù)產(chǎn)生coeff_sign_flag(簡寫為signFlag)。系數(shù)的signFlag指示系數(shù)的正/負符號。視頻編碼器20和視頻解碼器30可使用旁路熵譯碼來對signFlag進行熵譯碼。
[0079]當(dāng)視頻編碼器20對子塊執(zhí)行第五譯碼遍次時,視頻編碼器20可針對子塊中具有大于O的絕對值的每一系數(shù)產(chǎn)生coeff_abs_level_remain value (簡寫為IevelRem)。在一些實例中,視頻編碼器20可用信號發(fā)送具有大于2的振幅的每一系數(shù)的levelRem(即,其中g(shù)r2Flag = I)。系數(shù)的IevelRem指示系數(shù)的剩余絕對值。視頻編碼器20可針對子塊中g(shù)r2Flag為I或當(dāng)gr2Flag未經(jīng)譯碼且grlFlag為I時或當(dāng)grlFlag和gr2Flag未經(jīng)譯碼且sigMapFlag為I時的每一系數(shù)產(chǎn)生levelRem。如果系數(shù)的gr2Flag指不系數(shù)大于
2,那么系數(shù)的IevelRem指示系數(shù)的絕對值減3。如果系數(shù)的gr2Flag未經(jīng)譯碼但系數(shù)的grlFlag指示系數(shù)大于I,那么系數(shù)的IevelRem指示系數(shù)的絕對值減2。類似地,如果系數(shù)的grlFlag或gr2Flag未產(chǎn)生但sigMapFlag為I,那么系數(shù)的IevelRem指示系數(shù)的絕對值減I。視頻編碼器20和視頻解碼器30可使用旁路熵譯碼來對levelRem進行熵譯碼。為便于闡釋,本發(fā)明可將sigMapFlag、grlFlag、gr2Flag、signFlag和levelRem稱為“系數(shù)語法元素”或“等級信息”。在一些實例中,可使用另一旗標(biāo)來指示整個子塊是否為非顯著的。
[0080]在本發(fā)明中,在較早譯碼遍次期間產(chǎn)生的語法元素稱為具有比在較晚譯碼遍次期間產(chǎn)生的語法元素高的優(yōu)先級。換句話說,首先譯碼的系數(shù)語法元素可稱為具有較高優(yōu)先級。舉例來說,sigMapFlag 具有比 grlFlag、gr2Flag、signFlag 和 levelRem 高的優(yōu)先級。grlFlag具有比gr2Flag、signFlag和IevelRem高的優(yōu)先級,但具有比sigMapFlag低的優(yōu)先級。針對gr2Flag、signFlag和IevelRem可提供相似實例。
[0081]在視頻編碼器20執(zhí)行第一、第二和第三譯碼遍次時,視頻編碼器20可分別對sigMapFlag、grlFlag和gr2Flag執(zhí)行規(guī)則CABAC編碼。也就是說,在五個系數(shù)語法元素中,僅三個是使用CABAC進行上下文譯碼,即sigMapFlag、grlFlag和gr2Flag。舉例來說,在視頻編碼器20在第三譯碼遍次中產(chǎn)生gr2Flag時,視頻編碼器20可在產(chǎn)生下一系數(shù)gr2Flag的之前對gr2Flag執(zhí)行規(guī)則CABAC編碼。在視頻編碼器20執(zhí)行第四和第五譯碼遍次時,視頻編碼器20可對signFlag和IevelRem執(zhí)行旁路編碼。
[0082]當(dāng)視頻編碼器20對例如sigMapFlag、grlFlag、gr2Flag或levelRem等語法元素執(zhí)行CABAC編碼時,視頻編碼器20可二進制化語法元素以形成包括一系列一或多個位的二進制串,稱為“二進位”。視頻編碼器20可使用規(guī)則CABAC編碼來對二進位中的一些進行編碼,且可使用旁路編碼來對二進位中的其它者進行編碼。
[0083]當(dāng)視頻編碼器20使用規(guī)則CABAC編碼來對二進位序列進行編碼時,視頻編碼器20可首先識別譯碼上下文。譯碼上下文可識別譯碼二進位具有特定值的概率。舉例來說,譯碼上下文可指示譯碼O值二進位的0.7概率和譯碼I值二進位的0.3概率。在識別譯碼上下文之后,視頻編碼器20可將區(qū)間劃分為下部子區(qū)間和上部子區(qū)間。子區(qū)間中的一者可與值O相關(guān)聯(lián),且另一子區(qū)間可與值I相關(guān)聯(lián)。子區(qū)間的寬度可與所識別譯碼上下文針對相關(guān)聯(lián)值指示的概率成比率。如果語法元素的二進位具有與下部子區(qū)間相關(guān)聯(lián)的值,那么經(jīng)編碼值可等于下部子區(qū)間的下部邊界。如果語法元素的同一二進位具有與上部子區(qū)間相關(guān)聯(lián)的值,那么經(jīng)編碼值可等于上部子區(qū)間的下部邊界。為了對語法元素的下一二進位進行編碼,視頻編碼器20可重復(fù)這些步驟,其中區(qū)間是與經(jīng)編碼位的值相關(guān)聯(lián)的子區(qū)間。當(dāng)視頻編碼器20針對下一區(qū)間重復(fù)這些步驟時,視頻編碼器20可基于由所識別譯碼上下文指示的概率和經(jīng)編碼二進位的實際值來使用經(jīng)修改概率。
[0084]當(dāng)視頻解碼器30執(zhí)行CABAC解碼時,視頻解碼器30可對一些二進位執(zhí)行規(guī)則CABAC解碼且可對其它二進位執(zhí)行旁路解碼。當(dāng)視頻解碼器30對語法元素使用規(guī)則CABAC解碼時,視頻解碼器30可識別譯碼上下文。視頻解碼器30可隨后將區(qū)間劃分為下部子區(qū)間和上部子區(qū)間。子區(qū)間中的一者可與值O相關(guān)聯(lián),且另一子區(qū)間可與值I相關(guān)聯(lián)。子區(qū)間的寬度可與所識別譯碼上下文針對相關(guān)聯(lián)值指示的概率成比率。如果經(jīng)編碼值在下部子區(qū)間內(nèi),那么視頻解碼器30可對具有與下部子區(qū)間相關(guān)聯(lián)的值的二進位進行解碼。如果經(jīng)編碼值在上部子區(qū)間內(nèi),那么視頻解碼器30可對具有與上部子區(qū)間相關(guān)聯(lián)的值的二進位進行解碼。為了對語法元素的下一二進位進行解碼,視頻解碼器30可重復(fù)這些步驟,其中區(qū)間是含有經(jīng)編碼值的子區(qū)間。當(dāng)視頻解碼器30針對下一區(qū)間重復(fù)這些步驟時,視頻解碼器30可基于由所識別譯碼上下文指示的概率和經(jīng)解碼二進位來使用經(jīng)修改概率。視頻解碼器30可隨后對二進位進行去二進制化以恢復(fù)語法元素。去二進制化可稱為根據(jù)二進制串與語法元素值之間的映射選擇語法元素值。
[0085]替代于對所有語法元素或?qū)λ卸M位執(zhí)行規(guī)則CABAC,例如視頻編碼器20或視頻解碼器30等視頻譯碼器可使用旁路譯碼對一些二進位進行譯碼。旁路譯碼大體上指代對二進位進行算術(shù)編碼而不使用自適應(yīng)譯碼上下文的過程。舉例來說,在旁路算術(shù)譯碼中,視頻譯碼器不選擇上下文且可假定兩個符號(O和I)的0.5的概率。雖然旁路譯碼可能不如CABAC譯碼那樣帶寬高效,但旁路譯碼可比CABAC譯碼計算上成本較低。此外,執(zhí)行旁路譯碼可允許較高程度的并行化和處理量。
[0086]選擇并不準(zhǔn)確反映二進位具有O或I的概率的譯碼上下文可不利地影響譯碼性能。因為在相鄰系數(shù)的值之間存在已知的統(tǒng)計關(guān)系,所以視頻編碼器20可基于先前產(chǎn)生的關(guān)于相鄰系數(shù)的信息來選擇譯碼上下文。雖然基于關(guān)于相鄰系數(shù)的信息選擇譯碼上下文可增加視頻編碼器20選擇譯碼上下文的準(zhǔn)確性,但視頻編碼器20必須在選擇譯碼上下文之前產(chǎn)生此關(guān)于相鄰系數(shù)的信息。這可能阻止視頻編碼器20與選擇語法元素的譯碼上下文并行地產(chǎn)生關(guān)于相鄰系數(shù)的信息。
[0087]本發(fā)明的技術(shù)可針對等級信息和重要性信息形成經(jīng)上下文譯碼的語法元素(例如,sigMapFlag、grlFlag和gr2Flag)的上下文。根據(jù)本發(fā)明的一或多個技術(shù),視頻編碼器20可在系數(shù)的每一相應(yīng)譯碼遍次期間并行地選擇子塊中的系數(shù)的所有相應(yīng)譯碼遍次的語法元素的譯碼上下文。在一些實例中,本發(fā)明的技術(shù)可實現(xiàn)并行地推導(dǎo)對應(yīng)于子塊中的特定語法元素的所有旗標(biāo)的上下文。舉例來說,視頻編碼器20可并行地選擇(即,推導(dǎo))子塊中的系數(shù)的所有g(shù)r2Flag的譯碼上下文。
[0088]為此,視頻編碼器20在一些實例中可至少部分地基于系數(shù)塊的先前經(jīng)譯碼子塊中的系數(shù)的所有系數(shù)語法元素來選擇特定子塊中的特定系數(shù)的語法元素的譯碼上下文。換句話說,上下文可取決于先前子塊中的所有重要性和等級信息。另外,視頻編碼器20可至少部分地基于特定子塊的系數(shù)的較高優(yōu)先級系數(shù)語法元素來選擇語法元素的譯碼上下文。也就是說,上下文可取決于來自當(dāng)前子塊的較高優(yōu)先級語法元素。
[0089]圖2是圖解說明劃分為若干子塊的實例系數(shù)塊48的概念圖。圖2的實例展示8x8TU的4x4子塊掃描的實例。每一 4x4子塊是“組塊”。HEVC工作草案5不將4x4子塊掃描用于8x8TU,然而此處將其說明為實例。
[0090]在圖2中,圓對應(yīng)于系數(shù)。系數(shù)塊48包含子塊50A、50B、50C和50D。在圖2的實例中,以反向?qū)蔷€左下次序掃描4x4子塊。因此,4x4子塊的處理次序是右下、右上、左下和左上。在每一 4x4子塊內(nèi),根據(jù)反向?qū)蔷€左下掃描處理系數(shù)。圖2中的箭頭指示系數(shù)的譯碼次序。在其它實例中,可使用不同掃描次序,例如右上對角線、z字形、水平或垂直。如果使用正向掃描代替反向掃描,那么本發(fā)明的技術(shù)可適用。換句話說,本發(fā)明的技術(shù)可適用于正向掃描以及后向掃描。
[0091]每一子塊的重要性和等級信息(例如,系數(shù)語法元素)可在繼續(xù)到下一子塊之前完全譯碼。在子塊內(nèi),可以如下次序?qū)χ匾院偷燃壭畔⑦M行譯碼:sigMapFlag、grlFlag、gr2Flag、signFlag和levelRem。在圖2的實例中,視頻編碼器20可能已經(jīng)對子塊50A、50B和50C中的系數(shù)的系數(shù)語法元素進行編碼。也就是說,視頻編碼器20可能已經(jīng)對子塊50A、50B和50C中的系數(shù)執(zhí)行所有五個譯碼遍次。在此實例中,視頻編碼器20可至少部分地基于子塊 50A、50B 和 50C 中的系數(shù)的 sigMapFlag、grlFlag、gr2Flag、signFlag 和 levelRem來選擇系數(shù)52的系數(shù)語法元素的譯碼上下文。此外,視頻編碼器20可基于子塊50D中的系數(shù)的較高優(yōu)先級系數(shù)語法元素來選擇系數(shù)52的系數(shù)語法元素的譯碼上下文。舉例來說,視頻編碼器20可基于子塊50D中的系數(shù)的sigMapFlag和grlFlag中的任一者來選擇系數(shù)52的gr2Flag的譯碼上下文。因此,當(dāng)系數(shù)52的gr2Flag經(jīng)譯碼時,已經(jīng)處理的三個子塊(即,右上、左下和右下子組塊)的所有重要性和等級信息(sigMapFlag、grlFlag、gr2Flag、signFlag和levelRem)可用于上下文形成。另外,可使用左上4x4子塊的sigMapFlag和grlFlag。
[0092]在其它實例中,視頻編碼器20可僅基于先前經(jīng)譯碼子塊的較高優(yōu)先級系數(shù)語法元素和當(dāng)前子塊的較高優(yōu)先級系數(shù)語法元素來選擇當(dāng)前子塊中的系數(shù)的系數(shù)語法元素的譯碼上下文。舉例來說,在圖2的實例中,視頻編碼器20可基于子塊50A、50B、50C和50D中的系數(shù)的sigMapFlag和grlFlag中的任一者而不是子塊50A、50B、50C或50D中的系數(shù)的gr2Flag、signFlag或IevelRem來選擇系數(shù)52的gr2Flag的譯碼上下文。
[0093]此外,在一些實例中,視頻編碼器20基于特定系數(shù)的上下文鄰域中的系數(shù)的系數(shù)語法元素來選擇特定系數(shù)的系數(shù)語法元素的譯碼上下文。如上文指示,當(dāng)形成系數(shù)語法元素的上下文時,可取決于來自當(dāng)前子塊的系數(shù)語法元素的已經(jīng)譯碼的信息來得到上下文。在此些實例中,單獨的上下文導(dǎo)出鄰域可用于來自當(dāng)前語法元素和較高優(yōu)先級語法元素的已經(jīng)譯碼的信息。在圖2的實例中,四邊形54指示系數(shù)52的上下文鄰域。如圖2的實例中所示,系數(shù)52的上下文鄰域包含子塊50B中的系數(shù)55、子塊50C中的系數(shù)56以及子塊50D中的三個系數(shù)58、60和62。在一些實例中,視頻編碼器20可基于系數(shù)54和56的任何系數(shù)語法元素以及系數(shù)58、60和62的較高優(yōu)先級系數(shù)語法元素來選擇系數(shù)52的系數(shù)語法元素的譯碼上下文。在其它實例中,視頻編碼器20可基于系數(shù)54、56、58、60和62的較高優(yōu)先級系數(shù)語法元素來選擇系數(shù)52的系數(shù)語法元素的譯碼上下文。舉例來說,系數(shù)52是含有十六個系數(shù)的子塊中的第8系數(shù)。因此,當(dāng)對系數(shù)52的gr2Flag進行譯碼時,系數(shù)52的gr2Flag的上下文可取決于目前為止針對子塊50D譯碼的gr2Flag (直到第7系數(shù))以及子塊50D的所有sigMapFlag和grlFlag。另外,系數(shù)52的gr2Flag的上下文可取決于來自先前子塊(即,子塊50A、50B和50C)的重要性和等級信息。因此,為了對系數(shù)52的gr2Flag進行譯碼,除了所有4x4子塊50A、50B、50C和50D的sigMapFlag和grlFlag信息之外,可使用系數(shù)58、60和62的gr2Flag信息。在一些實例中當(dāng)系數(shù)語法元素的上下文取決于來自先前子塊的重要性和等級信息時,可能較難以并行化上下文推導(dǎo)過程。
[0094]在一些實例中,視頻編碼器20并不如圖2的實例中所示將系數(shù)塊劃分為子塊。在此些實例中,視頻編碼器20可以上述方式對整個系數(shù)塊執(zhí)行相同的五個編碼遍次。圖3是圖解說明未經(jīng)劃分為若干子塊的實例系數(shù)塊70的概念圖。在圖3中,圓對應(yīng)于系數(shù)。在圖3的實例中,四邊形72指示系數(shù)74的上下文鄰域。視頻編碼器20可基于系數(shù)74的上下文鄰域中的系數(shù)的較高優(yōu)先級語法元素來選擇系數(shù)72的系數(shù)語法元素的譯碼上下文。換句話說,當(dāng)組塊的大小與TU的大小相同時,整個TU的較高優(yōu)先級語法元素的經(jīng)譯碼信息可用于形成當(dāng)前語法元素的上下文。在一些實例中,當(dāng)系數(shù)74的gr2Flag正譯碼時,在上下文形成中可使用整個TU的sigMapFlag和grlFlag。另外,可使用來自先前TU的所有重要性和等級信息用于上下文形成。在一些實例中,僅當(dāng)前和先前TU的較高優(yōu)先級語法元素(例如,sigMapFlag和grlFlag)可用于系數(shù)74的gr2Flag的譯碼上下文的上下文形成。
[0095]在另一實例中,不必使用整個信息來形成上下文。通常,在上下文的形成中可使用來自當(dāng)前系數(shù)周圍的鄰域的較高優(yōu)先級語法元素信息。舉例來說,當(dāng)子塊(即,組塊)的大小等于TU的大小時,在鄰域中可包含TU系數(shù)中的任一者而不考慮因果關(guān)系或掃描。在圖3的實例中,四邊形72展示系數(shù)74的實例上下文鄰域。為了對系數(shù)74的gr2Flag進行譯碼,視頻編碼器20可基于系數(shù)74的上下文鄰域中的系數(shù)的sigMapFlag和grlFlag來選擇系數(shù)74的gr2Flag的譯碼上下文。
[0096]在圖3的實例中,可使用反向左下掃描處理整個TU來代替使用子塊(即,組塊)。在此實例中,子塊的大小可選擇為與TU的大小相同的大小。此外,在圖3的實例中,首先對整個TU的sigMapFlag信息進行譯碼。這之后是整個TU的grlFlag信息,以此類推。對應(yīng)于每一語法元素的信息本文可稱為“遍次”,因為子塊或TU中的系數(shù)對于每一語法元素可能必須被訪問(但不一定譯碼)一次。
[0097]此外,在一些實例中,視頻編碼器20可至少部分地基于當(dāng)前子塊的因果系數(shù)的相同優(yōu)先級系數(shù)語法元素來選擇當(dāng)前子塊的系數(shù)的系數(shù)語法元素的譯碼上下文。在此些實例中,視頻編碼器20還可基于當(dāng)前譯碼遍次的譯碼次序中的當(dāng)前子塊以及先前子塊中的系數(shù)的較高優(yōu)先級系數(shù)語法元素(且在一些實例中在當(dāng)前譯碼遍次的譯碼次序中的當(dāng)前子塊之前發(fā)生的子塊中的系數(shù)的任何系數(shù)語法元素)來選擇系數(shù)語法元素的譯碼上下文。舉例來說,視頻編碼器20可至少部分地基于當(dāng)前子塊的因果系數(shù)的gr2Flag來確定當(dāng)前子塊的系數(shù)的gr2Flag的譯碼上下文。
[0098]為了在當(dāng)前系數(shù)語法元素的譯碼上下文是至少部分地基于先前經(jīng)譯碼子塊的系數(shù)語法元素形成的實例中實現(xiàn)并行上下文推導(dǎo),可基于當(dāng)前系數(shù)語法元素的已經(jīng)譯碼的信息對上下文推導(dǎo)鄰域強加一或多個限制。也就是說,上下文鄰域不含有需要并行上下文推導(dǎo)的任何位置。這在原理上類似于以全文引用方式并入本文的2011年11月11日申請的第13/294,869號美國申請案和以全文引用方式并入本文的2012年I月13日申請的第61/586,609號美國申請案中描述的想法。
[0099]為了并行地對子塊的多個系數(shù)語法元素進行編碼,視頻編碼器20可僅基于子塊中未與系數(shù)并行地編碼的相同優(yōu)先級系數(shù)語法元素來選擇譯碼上下文。舉例來說,系數(shù)的上下文鄰域可經(jīng)成形以使得上下文鄰域不包含可與系數(shù)并行地譯碼的任何系數(shù)。在此實例中,上下文鄰域的形狀可從一個位置到另一位置改變,如第61/586,609號美國申請案中描述。在圖2的實例中,使用基于反向4x4子塊的掃描。4x4子塊的右下方的系數(shù)(例如,系數(shù)64、66和68)可能必須基于當(dāng)前語法元素的已經(jīng)譯碼的信息使用經(jīng)修改上下文推導(dǎo)相鄰者。舉例來說,如果對系數(shù)64、66和68中的一者的gr2Flag進行譯碼需要上下文推導(dǎo)中的并行性,那么不使用4x4子塊的右下方像素的經(jīng)譯碼gr2Flag信息。
[0100]在一個實例中,視頻編碼器20可并行地產(chǎn)生第一語法元素和第二語法元素,且可并行地選擇第一語法元素的譯碼上下文和第二語法元素的譯碼上下文。在此實例中,第一語法元素的譯碼上下文不是基于第二語法元素來選擇,且第二語法元素的譯碼上下文不是基于第一語法元素來選擇。在此實例中,視頻編碼器20可基于第一和第二語法元素的譯碼上下文并行地對第一和第二語法元素進行熵編碼。類似地,視頻解碼器30可并行地產(chǎn)生第一語法元素和第二語法元素,且并行地選擇第一語法元素的譯碼上下文和第二語法元素的譯碼上下文。在此實例中,第一語法元素的譯碼上下文不是基于第二語法元素來選擇,且第二語法元素的譯碼上下文不是基于第一語法元素來選擇。在此實例中,視頻編碼器30可基于第一和第二語法元素的譯碼上下文并行地對第一和第二語法元素進行熵解碼。
[0101]在另一實例中,組塊大小可等于TU大小,且視頻編碼器20正對系數(shù)的gr2Flag進行譯碼。在此實例中,可使用正向或反向次序上的z字形或?qū)蔷€掃描。此外,在此實例中,如果對應(yīng)于對角線的gr2Flag的所有上下文將并行地推導(dǎo),那么沒有來自所述對角線的gr2Flag信息可包含于上下文推導(dǎo)鄰域中。在此實例中,在取決于sigMap和grlFlag的gr2Flag的上下文推導(dǎo)鄰域中可包含TU位置中的任一者。圖2中的實例上下文鄰域遵守此限制。
[0102]在另一實例中,視頻編碼器20可并行地選擇當(dāng)前子塊的第一和第二系數(shù)的gr2Flag的譯碼上下文。在此實例中,第一系數(shù)的上下文鄰域不包含第二系數(shù),且第二系數(shù)的上下文鄰域不包含第一系數(shù)。因此,在此實例中,視頻編碼器20不基于第二系數(shù)的gr2Flag來選擇第一系數(shù)的gr2Flag的譯碼上下文,且反之亦然。
[0103]在一些此類實例中,特定系數(shù)的上下文鄰域可包含與所述特定系數(shù)不同的子塊中的系數(shù)。此外,在一些實例中,特定系數(shù)塊的上下文鄰域可包含特定系數(shù)的與特定系數(shù)在同一子塊中的因果和非因果相鄰者。如果根據(jù)譯碼遍次的譯碼次序第一系數(shù)在第二系數(shù)之前發(fā)生,那么第一系數(shù)是第二系數(shù)的因果相鄰者。如果根據(jù)譯碼遍次的譯碼次序第一系數(shù)在第二系數(shù)之后發(fā)生,那么第一系數(shù)是第二系數(shù)的非因果相鄰者。
[0104]圖4是圖解說明包含因果和非因果系數(shù)的實例上下文鄰域的概念圖。圖4中的圓對應(yīng)于系數(shù)塊80中的系數(shù)。在圖4的實例中,系數(shù)塊80劃分為子塊82A、82B、82C和82D。形狀84指示系數(shù)86的上下文鄰域。在圖4的實例中,系數(shù)86的上下文鄰域包含系數(shù)88、90、92、94、96和98。系數(shù)88、90和92在譯碼次序上在系數(shù)86之前發(fā)生且因此是因果系數(shù)。系數(shù)94、96和98在譯碼次序上在系數(shù)86之后發(fā)生且因此是非因果系數(shù)。
[0105]根據(jù)本發(fā)明的技術(shù),視頻編碼器20可在系數(shù)塊的系數(shù)的第一譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合。此外,視頻編碼器20可在系數(shù)塊的系數(shù)的第二譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合。當(dāng)視頻編碼器20執(zhí)行第二譯碼遍次時,視頻編碼器20可產(chǎn)生第一語法元素。第一語法元素可在語法元素的第二集合中且可對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。此外,視頻編碼器20可至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。第三語法元素在語法元素的第二集合中且對應(yīng)于因果系數(shù)。非因果系數(shù)在當(dāng)前(第二)譯碼遍次的譯碼次序中在當(dāng)前系數(shù)之后發(fā)生。因果系數(shù)在第二譯碼遍次的譯碼次序中在當(dāng)前系數(shù)之前發(fā)生。視頻編碼器20可至少部分地基于針對第一語法元素選擇的譯碼上下文來熵編碼第一語法元素。
[0106]類似地,視頻解碼器30可在系數(shù)塊的系數(shù)的第一譯碼遍次期間解碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合。另外,視頻解碼器30可在系數(shù)塊的系數(shù)的第二譯碼遍次期間解碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合。當(dāng)視頻解碼器30執(zhí)行第二譯碼遍次時,視頻解碼器30可至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。第三語法元素在語法元素的第二集合中且對應(yīng)于因果系數(shù)。視頻解碼器30可至少部分地基于針對第一語法元素選擇的譯碼上下文來熵解碼第一語法元素。
[0107]應(yīng)注意,上下文推導(dǎo)不需要使用所有以上信息。舉例來說,上下文推導(dǎo)可僅基于鄰域,如圖3和圖4所示。在另一實例中,上下文推導(dǎo)可僅基于具有較高優(yōu)先級的語法元素。作為實例,為了對給定系數(shù)的gr2Flag進行譯碼,為了上下文推導(dǎo)目的,可僅使用與語法元素sigMapFlag和grlFlag相關(guān)的信息??梢猿松衔闹付ǖ姆绞街獾钠渌绞较拗朴糜谏舷挛男纬傻男畔?。
[0108]圖5是圖解說明經(jīng)配置以實施本發(fā)明的技術(shù)的實例性視頻編碼器20的框圖。圖5是為了闡釋目的而提供,且不應(yīng)視為限制如本發(fā)明中廣義地例示和描述的技術(shù)。為了闡釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻編碼器20。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。
[0109]在圖5的實例中,視頻編碼器20包含預(yù)測處理單元100、殘余產(chǎn)生單元102、變換處理單元104、量化單元106、逆量化單元108、逆變換處理單元110、重構(gòu)單元112、濾波器單元113、經(jīng)解碼圖片緩沖器114,以及熵編碼單元116。預(yù)測處理單元100包含幀間預(yù)測處理單元121和幀內(nèi)預(yù)測處理單元126。幀間預(yù)測處理單元121包含運動估計單元122和運動補償單元124。在其它實例中,視頻編碼器20可包含較多、較少或不同功能組件。
[0110]視頻編碼器20可接收視頻數(shù)據(jù)。為了對視頻數(shù)據(jù)進行編碼,視頻編碼器20可對視頻數(shù)據(jù)的每一圖片的每一切片進行編碼。作為對切片進行編碼的部分,視頻編碼器20可對切片中的每一 CTB進行編碼。作為對CTB進行編碼的部分,預(yù)測處理單元100可對與CTB相關(guān)聯(lián)的樣本塊執(zhí)行四叉樹分割以將樣本塊劃分為逐漸變小的樣本塊。較小的樣本塊可與CU相關(guān)聯(lián)。舉例來說,預(yù)測處理單元100可將CTB的樣本塊中的每一者分割為四個相等大小的子塊,將子塊中的一或多者分割為四個相等大小的子子塊,等等。
[0111]視頻編碼器20可對圖片中的CTB的⑶進行編碼以產(chǎn)生⑶的經(jīng)編碼表示(即,經(jīng)譯碼CU)。視頻編碼器20可根據(jù)Z掃描次序?qū)TB的CU進行編碼。換句話說,視頻編碼器20可對左上方⑶、右上方⑶、左下方⑶和隨后右下方⑶以此次序進行編碼。當(dāng)視頻編碼器20對經(jīng)分割CU進行編碼時,視頻編碼器20可根據(jù)z掃描次序?qū)εc經(jīng)分割CU的樣本塊的子塊相關(guān)聯(lián)的CU進行編碼。
[0112]此外,作為對⑶進行編碼的部分,預(yù)測處理單元100可在⑶的一或多個I3U之間分割CU的樣本塊。視頻編碼器20和視頻解碼器30可支持各種PU大小。假定特定CU的大小為2Nx2N,則視頻編碼器20和視頻解碼器30可支持用于幀內(nèi)預(yù)測的2Nx2N或NxN的PU大小以及用于幀間預(yù)測的2NX2N、2NXN、NX2N、NXN或類似的對稱I3U大小。視頻編碼器20和視頻解碼器30還可支持用于幀間預(yù)測的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的不對稱分割。
[0113]幀間預(yù)測處理單元121可通過對⑶的每一執(zhí)行幀間預(yù)測來產(chǎn)生的預(yù)測數(shù)據(jù)。PU的預(yù)測數(shù)據(jù)可包含對應(yīng)于PU的預(yù)測樣本塊和PU的運動信息。切片可為I切片、P切片或B切片。幀間預(yù)測單元121可取決于是否在I切片、P切片或B切片中而執(zhí)行針對⑶的PU的不同操作。在I切片中,所有I3U經(jīng)幀內(nèi)預(yù)測。因此,如果I3U在I切片中,那么幀間預(yù)測單元121不對執(zhí)行幀間預(yù)測。
[0114]如果I3U在P切片中,那么運動估計單元122可搜索參考圖片列表(例如,“列表O”)中的參考圖片是否有PU的參考塊。PU的參考塊可為對應(yīng)于參考圖片的同一區(qū)域且最接近地對應(yīng)于I3U的樣本塊的樣本塊集合。運動估計單元122可產(chǎn)生指示列表O中含有PU的參考塊的參考圖片的參考圖片索引,以及指示PU的亮度樣本塊與亮度參考樣本塊之間的空間位移的運動向量。運動估計單元122可輸出參考圖片索引和運動向量作為PU的運動信息。運動補償單元124可基于由的運動信息指示的參考塊來產(chǎn)生的預(yù)測樣本塊。
[0115]如果PU在B切片中,那么運動估計單元122可執(zhí)行針對I3U的單向幀間預(yù)測或雙向幀間預(yù)測。為了執(zhí)行PU的單向幀間預(yù)測,運動估計單元122可搜索第一參考圖片列表(“列表O”)或第二參考圖片列表(“列表I”)的參考圖片是否有PU的參考塊。運動估計單元122可輸出指示參考圖片的列表O或列表I中含有參考塊的位置的參考圖片索引、指示PU的樣本塊與參考塊之間的空間位移的運動向量以及指示參考圖片是在列表O還是列表I中的預(yù)測方向指示符,作為I3U的運動信息。
[0116]為了執(zhí)行的雙向幀間預(yù)測,運動估計單元122可搜索列表O中的參考圖片是否有PU的參考塊,且還可搜索列表I中的參考圖片是否有PU的另一參考塊。運動估計單元122可產(chǎn)生指示參考圖片的列表O和列表I中含有參考塊的位置的參考圖片索引。另外,運動估計單元122可產(chǎn)生指示參考塊與的樣本塊之間的空間位移的運動向量。的運動信息可包含PU的參考圖片索引和運動向量。運動補償單元124可基于由PU的運動信息指示的參考塊來產(chǎn)生PU的預(yù)測樣本塊。
[0117]幀內(nèi)預(yù)測處理單元126可通過對PU執(zhí)行幀內(nèi)預(yù)測來產(chǎn)生PU的預(yù)測數(shù)據(jù)。的預(yù)測數(shù)據(jù)可包含PU的預(yù)測樣本塊和各種語法元素。幀內(nèi)預(yù)測處理單元126可對I切片、P切片和B切片中的PU執(zhí)行幀內(nèi)預(yù)測。
[0118]為了對PU執(zhí)行幀內(nèi)預(yù)測,幀內(nèi)預(yù)測處理單元126可使用多個幀內(nèi)預(yù)測模式來產(chǎn)生PU的多個預(yù)測數(shù)據(jù)集合。為了使用幀內(nèi)預(yù)測模式來產(chǎn)生的預(yù)測數(shù)據(jù)集合,幀內(nèi)預(yù)測處理單元126可在與幀內(nèi)預(yù)測模式相關(guān)聯(lián)的方向上從相鄰I3U的樣本塊延伸樣本越過I3U的樣本塊。相鄰PU可位于PU的上方、右上方、左上方或左邊,假定TO、⑶和CTB的從左到右、從上到下編碼次序。幀內(nèi)預(yù)測處理單元126可使用各種數(shù)目的幀內(nèi)預(yù)測模式,例如33個方向性幀內(nèi)預(yù)測模式。在一些實例中,幀內(nèi)預(yù)測模式的數(shù)目可取決于I3U的樣本塊的大小。
[0119]預(yù)測處理單元100可從由幀間預(yù)測處理單元121針對產(chǎn)生的預(yù)測數(shù)據(jù)或由幀內(nèi)預(yù)測處理單元126針對PU產(chǎn)生的預(yù)測數(shù)據(jù)當(dāng)中選擇CU的PU的預(yù)測數(shù)據(jù)。在一些實例中,預(yù)測處理單元100基于預(yù)測數(shù)據(jù)集合的速率/失真度量來選擇CU的PU的預(yù)測數(shù)據(jù)。選定預(yù)測數(shù)據(jù)的預(yù)測樣本塊本文可稱為選定預(yù)測樣本塊。
[0120]殘余產(chǎn)生單元102可基于⑶的樣本塊和⑶的I3U的選定預(yù)測樣本塊而產(chǎn)生⑶的殘余樣本塊。舉例來說,殘余產(chǎn)生單元102可產(chǎn)生CU的殘余樣本塊以使得殘余樣本塊中的每一樣本具有等于CU的原始樣本塊中的樣本與CU的PU的選定預(yù)測樣本塊中的對應(yīng)樣本之間的差的值。
[0121]變換處理單元104可產(chǎn)生⑶的一或多個TU的集合。⑶的TU中的每一者可與一亮度殘余樣本塊和兩個色度樣本塊相關(guān)聯(lián)。TU的亮度殘余樣本塊可為CU的亮度殘余樣本塊的子塊,且TU的色度殘余樣本塊可為CU的色度殘余樣本塊的子塊。TU的色度殘余樣本塊對應(yīng)于圖片的與TU亮度殘余樣本塊相同的區(qū)域。變換處理單元104可執(zhí)行四叉樹分割以將CU的殘余樣本塊分割為與CU的TU相關(guān)聯(lián)的殘余樣本塊。與CU的TU相關(guān)聯(lián)的殘余樣本塊的大小和位置可基于或可不基于CU的PU的樣本塊的大小和位置。
[0122]變換處理單元104可通過將一或多個變換應(yīng)用于與TU相關(guān)聯(lián)的殘余樣本塊來產(chǎn)生CU的每一 TU的系數(shù)塊。變換處理單元104可將各種變換應(yīng)用于與TU相關(guān)聯(lián)的殘余樣本塊。舉例來說,變換處理單元104可將離散余弦變換(DCT)、方向性變換或概念上類似的變換應(yīng)用于殘余樣本塊。變換可將殘余樣本塊從像素域轉(zhuǎn)換到頻域。因此,系數(shù)塊中的系數(shù)可稱為處于特定頻率。
[0123]量化單元106可量化系數(shù)塊中的系數(shù)。量化過程可產(chǎn)生與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,在量化期間可將η位系數(shù)下舍入到m位系數(shù),其中η大于m。量化單元106可基于與CU相關(guān)聯(lián)的量化參數(shù)(QP)值來量化與CU的TU相關(guān)聯(lián)的系數(shù)塊。視頻編碼器20可通過調(diào)整與CU相關(guān)聯(lián)的QP值來調(diào)整應(yīng)用于與CU相關(guān)聯(lián)的系數(shù)塊的量化程度。
[0124]逆量化單元108和逆變換處理單元110可分別將逆量化和逆變換應(yīng)用于系數(shù)塊以從系數(shù)塊重構(gòu)殘余樣本塊。重構(gòu)單元112可將經(jīng)重構(gòu)殘余樣本塊的樣本添加到來自由預(yù)測處理單元100產(chǎn)生的一或多個預(yù)測樣本塊的對應(yīng)樣本以產(chǎn)生與TU相關(guān)聯(lián)的經(jīng)重構(gòu)樣本塊。通過以此方式針對⑶的每一 TU重構(gòu)樣本塊,視頻編碼器20可重構(gòu)⑶的樣本塊。
[0125]濾波器單元113可執(zhí)行解塊操作以減少CU的樣本塊中的成塊假像。經(jīng)解碼圖片緩沖器114可存儲經(jīng)重構(gòu)樣本塊。幀間預(yù)測單元121可使用含有經(jīng)重構(gòu)樣本塊的參考圖片來對其它圖片的PU執(zhí)行幀間預(yù)測。另外,幀內(nèi)預(yù)測處理單元126可使用經(jīng)解碼圖片緩沖器114中的經(jīng)重構(gòu)樣本塊來對在與CU相同的圖片中的其它I3U執(zhí)行幀內(nèi)預(yù)測。
[0126]熵編碼單元116可從視頻編碼器20的其它功能組件接收數(shù)據(jù)。舉例來說,熵編碼單元116可從量化單元106接收系數(shù)塊,且可從預(yù)測處理單元100接收語法元素。熵編碼單元116可對數(shù)據(jù)執(zhí)行一或多個熵編碼操作以產(chǎn)生經(jīng)熵編碼數(shù)據(jù)。舉例來說,熵編碼單元116可對數(shù)據(jù)執(zhí)行上下文自適應(yīng)可變長度譯碼(CAVLC)操作、CABAC操作、可變到可變(V2V)長度譯碼操作、基于語法的上下文自適應(yīng)二進制算術(shù)譯碼(SBAC)操作、概率區(qū)間分割熵(PIPE)譯碼操作、指數(shù)哥倫布編碼操作或另一類型的熵編碼操作。視頻編碼器20可輸出包含由熵編碼單元116產(chǎn)生的熵編碼數(shù)據(jù)的位流。
[0127]熵編碼單元116可將與RQT的葉節(jié)點相關(guān)聯(lián)的系數(shù)塊(即,與TU相關(guān)聯(lián)的系數(shù)塊)劃分為多個子塊。熵編碼單元116可循序地處理子塊,使得熵編碼單元116在處理子塊中的下一者之前完全處理子塊中的一者。熵編碼單元116可以反向次序在右下方子塊開始處理子塊。熵編碼單元116可以此方式處理亮度系數(shù)塊(即,從亮度殘余樣本塊推導(dǎo)的塊)和色度系數(shù)塊(即,從色度殘余樣本塊推導(dǎo)的系數(shù)塊)。
[0128]整個內(nèi)容以引用方式并入本文的阮(Nguyen)等人“Non_CEll:用于變換系數(shù)譯碼的建議清除”(文獻號,JCTVC-H0228,2011年I月20日)提出用于變換系數(shù)譯碼的不同方法。在JCTVC-H0228的提議中,使用上述相同五個語法元素。然而,當(dāng)前系數(shù)的上下文鄰域用以推導(dǎo)sigMapFlag、grlFlag和gr2Flag的上下文以及IevelRem的哥倫布-萊斯參數(shù)。圖3中用四邊形72展示用于系數(shù)74的上下文推導(dǎo)的實例上下文鄰域(在對角線左下掃描的情況下)。上下文鄰域與用于sigMapFlag的譯碼的HEVC委員會草案使用的上下文鄰域相同。也可使用其它上下文鄰域。在JCTVC-H0228的提議中,用于不同語法元素的上下文推導(dǎo)是基于上下文鄰域中的系數(shù)的絕對等級而變。此外,在JCTVC-H0228中,替代于在五個遍次(上文提到的每一系數(shù)語法元素一個遍次)中對每一組塊進行譯碼,在繼續(xù)到下一系數(shù)之前對一個系數(shù)的所有必要系數(shù)語法元素進行譯碼。此外,JCTVC-H0228的提議提供了在一些掃描(例如4x4子塊掃描)中,兩個連續(xù)系數(shù)可屬于不同對角線。在此情況下,一個系數(shù)的上下文可取決于前一系數(shù)的實際經(jīng)解碼(絕對)值。
[0129]在JCTVC-H0228的提議中,使用上下文鄰域界定以下量。求和是對上下文鄰域中的所有系數(shù)。
ΓI X Φ O
[0130]num—significant—coeff = Σ (Xi),其中 4(?) - \^ ?
——L0 ^=0
[0131]sum—absolute—level = Σ IxiI
P [IjcJ-1 IjcJ > O
[0132]sum absolute IevelMinusl = Σ δ (X1),其中 =, , _
__[ 0 FiI = O
[0133]在JCTVC-H0228 的提議中,sum_absolute_level 值用以推導(dǎo) sigMapFlag 的上下文索引,且sum_absolute_levelMinusl值用以推導(dǎo)grlFlag和gr2Flag的上下文索引。上下文索引可識別譯碼上下文。
[0134]在JCTVC-H0228 的提議中,在計算 num_significant_coeff、sum_absolute_level和 sum_absolute_levelMinusl 之后,sigMapFlag、grlFlag 和 gr2Flag 的上下文模型索引(即,分別為C。、Cl和C2)推導(dǎo)為:
[0135]c0 = min(sum_absolute_level,5)
[0136]C1 = min(sum_absolute_levelMinusl, 4)+1
[0137]c2 = min(sum_absolute_levelMinusl, 4)+1
[0138]JCTVC-H0228的提議可具有若干缺點。舉例來說,每一系數(shù)的需要譯碼的語法元素的數(shù)目可從一變到五。這可在譯碼過程中產(chǎn)生瓶頸,且可使得難以使用先行策略以便在一個循環(huán)中并行化或譯碼多個二進位。此外,在例如4x4子塊譯碼次序等一些譯碼次序中,兩個連續(xù)系數(shù)可屬于不同對角線。在此情況下,一個系數(shù)的譯碼上下文可取決于前一系數(shù)的實際經(jīng)解碼值。另一缺點是對于上下文推導(dǎo),鄰域中的系數(shù)的重要性以及等級信息是需要的。存儲上下文鄰域中的系數(shù)的重要性和等級信息可增加所需的存儲量。在另一實例中,經(jīng)上下文譯碼的語法元素和經(jīng)旁路譯碼的語法元素是交錯的,其可能不利于經(jīng)旁路譯碼語法元素的并行化剖析能力。
[0139]本發(fā)明的一或多種技術(shù)可解決JCTVC-H0228的提議的缺點。如上所述,視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)通過劃分包含一或多個子集(例如,子塊或組塊)的TU來促進一個循環(huán)中(或并行地)多個二進位的處理。視頻譯碼器可隨后使用HEVC工作草案5中描述的五個譯碼遍次。然而,根據(jù)本發(fā)明的一或多種技術(shù),sigMapFlag、grlFlag和gr2Flag的上下文推導(dǎo)以及語法元素IevelRem的哥倫布-萊斯參數(shù)選擇是如JCTVC-H0228中描述使用上下文鄰域來執(zhí)行。然而,不同于JCTVC-H0228的提議,上下文鄰域可包含非因果系數(shù)。
[0140]根據(jù)本發(fā)明的一或多種技術(shù),當(dāng)熵編碼單元116處理子塊時,熵編碼單元116可執(zhí)行上述五個譯碼遍次。也就是說,熵編碼單元116可執(zhí)行第一譯碼遍次以編碼子塊的系數(shù)的sigMapFlag,執(zhí)行第二譯碼遍次以編碼子塊的系數(shù)的grlFlag,執(zhí)行第三譯碼遍次以編碼子塊的系數(shù)的gr2Flag,執(zhí)行第四譯碼遍次以編碼子塊的系數(shù)的signFlag,以及執(zhí)行第五譯碼遍次以編碼子塊的系數(shù)的levelRem。
[0141]當(dāng)熵編碼單元116執(zhí)行譯碼遍次中的任一者時,熵編碼單元116根據(jù)譯碼次序處理子塊中的系數(shù)中的每一者。譯碼次序可為反向左下對角線譯碼次序、水平譯碼次序、垂直譯碼次序或另一譯碼次序。在譯碼次序中在連續(xù)位置處發(fā)生的系數(shù)可稱為連續(xù)系數(shù)。
[0142]在每一相應(yīng)譯碼遍次期間,熵編碼單元116對在相應(yīng)譯碼遍次期間產(chǎn)生的語法元素進行熵編碼。舉例來說,熵編碼單元116可在第一譯碼遍次期間CABAC編碼sigMapFlag,在第二譯碼遍次期間CABAC編碼grlFlag,且在第三譯碼遍次期間CABAC編碼gr2Flag。為了使用規(guī)則CABAC譯碼對系數(shù)語法元素進行編碼,熵編碼單元116可選擇系數(shù)語法元素的譯碼上下文。熵編碼單元116可通過確定上下文索引且隨后使用上下文索引查找譯碼上下文來選擇特定系數(shù)的系數(shù)語法元素的譯碼上下文。
[0143]在一些實例中,熵編碼單元116基于當(dāng)前系數(shù)的上下文鄰域中的系數(shù)的實際或估計絕對值來確定上下文索引。如果熵編碼單元116已經(jīng)編碼系數(shù)的每一系數(shù)語法元素,那么熵編碼單元116可確定系數(shù)的實際絕對值。舉例來說,熵編碼單元116不需要確定在當(dāng)前子塊之外的因果相鄰系數(shù)的估計絕對值,因為熵編碼單元116能夠使用這些系數(shù)的sigMapFlag、grlFlag、gr2Flag和levelRem來確定這些系數(shù)的實際絕對值。舉例來說,系數(shù)塊可包括多個子塊,且當(dāng)前譯碼遍次的譯碼次序可基于子塊。在此實例中,因果系數(shù)可在子塊中與當(dāng)前系數(shù)不同的一者中。
[0144]然而,如果熵編碼單元116尚未編碼系數(shù)的每一系數(shù)語法元素,那么熵編碼單元116可不能基于系數(shù)的系數(shù)語法元素來確定系數(shù)的實際絕對值。因此,如果熵編碼單元116尚未編碼系數(shù)的每一系數(shù)語法元素,那么熵編碼單元116可確定系數(shù)的估計或?qū)嶋H絕對值。舉例來說,熵編碼單元116可使用特定系數(shù)的因果相鄰系數(shù)的當(dāng)前優(yōu)先級系數(shù)語法元素和較低優(yōu)先級系數(shù)語法元素來確定因果相鄰系數(shù)的估計或?qū)嶋H絕對值。作為實例,在第3譯碼遍次中(即,當(dāng)系數(shù)的gr2Flag正譯碼時),從sigMapFlag和grlFlag可推斷的最小絕對等級值用于當(dāng)前系數(shù)的上下文鄰域中的系數(shù)。如果系數(shù)的sigMapFlag為0,那么系數(shù)的估計絕對值為O。如果系數(shù)的sigMapFlag為O且系數(shù)的grlFlag為O,那么估計絕對水平推斷為I。如果系數(shù)的sigMapFlag為I且系數(shù)的grlFlag為I,那么絕對水平推斷為2。因此,推斷值是基于將值O指派于至此尚未經(jīng)譯碼的語法元素。對于鄰域中的因果系數(shù),gr2Flag具有值1,因果系數(shù)的實際絕對值未知,但可估計為3。
[0145]舉例來說,圖2的實例展示因果鄰域。因此,上下文鄰域僅包含當(dāng)前語法元素(即,與當(dāng)前譯碼遍次相關(guān)聯(lián)的系數(shù)語法元素)已經(jīng)編碼(或解碼)的系數(shù)。然而,根據(jù)本發(fā)明的技術(shù),視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)可使用非因果鄰域(以掃描次序),如圖4的實例中所示。特定來說,對于非因果的上下文鄰域系數(shù)(即,圖4中的系數(shù)94、96和98),在上下文推導(dǎo)中可僅使用直到前一語法元素(即,譯碼遍次)的信息。對于因果的且屬于與當(dāng)前系數(shù)的相同子塊的上下文鄰域系數(shù),此些系數(shù)的絕對等級可從此些系數(shù)的所有系數(shù)語法元素直到當(dāng)前譯碼遍次的語法元素來推斷。對于因果的且在當(dāng)前系數(shù)的子塊之外的上下文鄰域系數(shù),可使用上下文鄰域系數(shù)的實際絕對等級值。
[0146]大體上,熵編碼單元116可針對含有系數(shù)X的子塊中的所有因果系數(shù)基于因果系數(shù)的估計(或?qū)嶋H)絕對值基于具有大于或等于系數(shù)語法元素Y的優(yōu)先級的優(yōu)先級的語法元素來確定系數(shù)X的系數(shù)語法元素Y的譯碼上下文。舉例來說,為了在熵編碼單元116正編碼當(dāng)前系數(shù)的sigMap Flag時確定與當(dāng)前系數(shù)在同一子塊中的因果相鄰系數(shù)的估計(或?qū)嶋H)絕對值,熵編碼單元116可確定因果相鄰系數(shù)的sigMapFlag是否等于O或I。如果因果相鄰系數(shù)的sigMapFlag等于0,那么熵編碼單元116可確定因果相鄰系數(shù)的絕對值等于O。如果因果相鄰系數(shù)的sigMapFlag等于1,那么熵編碼單元116可確定因果相鄰系數(shù)的估計絕對值等于I。
[0147]為了在熵編碼單元116正編碼當(dāng)前系數(shù)的grlFlag時確定與當(dāng)前系數(shù)在同一子塊中的因果相鄰系數(shù)的估計(或?qū)嶋H)絕對值,熵編碼單元116可確定因果相鄰系數(shù)的sigMapFlag是否等于O或I。如果因果相鄰系數(shù)的sigMapFlag等于O,那么熵編碼單元116可確定因果相鄰系數(shù)的絕對值等于O。如果因果相鄰系數(shù)的sigMapFlag等于1,那么熵編碼單元116可確定因果相鄰系數(shù)的grlFlag是否等于O或I。如果因果相鄰系數(shù)的grlFlag等于O,那么熵編碼單元116可確定因果相鄰系數(shù)的絕對值等于I。如果因果相鄰系數(shù)的grlFlag等于1,那么熵編碼單元116可確定因果相鄰系數(shù)的估計絕對值等于2。
[0148]為了在熵編碼單元116正編碼當(dāng)前系數(shù)的gr2Flag時確定與當(dāng)前系數(shù)在同一子塊中的因果相鄰系數(shù)的估計(或?qū)嶋H)絕對值,熵編碼單元116可確定因果相鄰系數(shù)的sigMapFlag是否等于O或I。如果因果相鄰系數(shù)的sigMapFlag等于O,那么熵編碼單元116可確定因果相鄰系數(shù)的絕對值等于O。如果因果相鄰系數(shù)的sigMapFlag等于1,那么熵編碼單元116可確定因果相鄰系數(shù)的grlFlag是否等于O或I。如果因果相鄰系數(shù)的grlFlag等于0,那么熵編碼單元116可確定因果相鄰系數(shù)的絕對值等于I。如果因果相鄰系數(shù)的grlFlag等于I,那么熵編碼單元116可確定因果相鄰系數(shù)的gr2Flag是否等于O或I。如果因果相鄰系數(shù)的gr2Flag等于0,那么熵編碼單元116可確定因果相鄰系數(shù)的絕對值等于
2。如果因果相鄰系數(shù)的gr2Flag等于1,那么熵編碼單元116可確定因果相鄰系數(shù)的估計絕對值等于3。
[0149]另外,熵編碼單元116可使用非因果相鄰系數(shù)的較低優(yōu)先級語法元素來確定非因果系數(shù)的估計(或?qū)嶋H)絕對值。也就是說,系數(shù)X的系數(shù)語法元素Y的譯碼上下文確定可針對子塊中的所有非因果系數(shù)基于估計(或?qū)嶋H)絕對值,其基于具有比系數(shù)語法元素Y的優(yōu)先級高的優(yōu)先級。舉例來說,熵編碼單元116可至少部分地基于在前一遍次中編碼的語法元素來確定非因果系數(shù)的估計(或?qū)嶋H)絕對值,至少部分地基于在當(dāng)前譯碼遍次中編碼的語法元素來確定因果系數(shù)的估計(或?qū)嶋H)絕對值,且至少部分地基于非因果系數(shù)的估計(或?qū)嶋H)絕對值和因果系數(shù)的估計(或?qū)嶋H)絕對值來選擇語法元素的譯碼上下文。
[0150]舉例來說,如果熵編碼單元116當(dāng)前在譯碼sigMapFlag,那么熵編碼單元116可確定非因果相鄰系數(shù)的估計絕對值等于O。如果熵編碼單元116當(dāng)前在譯碼grlFlag且非因果相鄰系數(shù)的sigMapFlag等于0,那么熵編碼單元116可確定非因果相鄰系數(shù)的絕對值等于O。如果熵編碼單元116當(dāng)前在譯碼grlFlag且非因果相鄰系數(shù)的sigMapFlag等于I,那么熵編碼單元116可確定非因果相鄰系數(shù)的估計絕對值等于I。
[0151]如果熵編碼單元116在編碼gr2Flag且非因果相鄰系數(shù)的sigMapFlag等于0,那么熵編碼單元116可確定非因果相鄰系數(shù)的絕對值等于O。如果熵編碼單元116在編碼gr2Flag且非因果相鄰系數(shù)的sigMapFlag等于I,且非因果相鄰系數(shù)的grlFlag等于O,那么熵編碼單元116可確定非因果相鄰系數(shù)的絕對值等于I。如果熵編碼單元116在編碼gr2Flag、非因果相鄰系數(shù)的sigMapFlag等于I,且非因果相鄰系數(shù)的grlFlag等于I,那么熵編碼單元116可確定非因果相鄰系數(shù)的估計絕對值等于2。
[0152]在熵編碼單元116執(zhí)行第四和/或第五譯碼遍次時,熵編碼單元116可識別與系數(shù)的levelRem相關(guān)聯(lián)的哥倫布-萊斯碼。為了識別系數(shù)的系數(shù)語法元素的哥倫布-萊斯碼,熵編碼單元116可基于系數(shù)的上下文鄰域中的系數(shù)的估計或?qū)嶋H絕對值來選擇系數(shù)語法元素的譯碼上下文。熵編碼單元116可隨后使用選定上下文來識別系數(shù)語法元素的哥倫布-萊斯參數(shù)和哥倫布-萊斯碼。熵編碼單元116可輸出哥倫布-萊斯碼。
[0153]如果熵編碼單元116正在對IevelRem執(zhí)行哥倫布-萊斯譯碼操作,那么熵編碼單元116不需要確定在當(dāng)前子塊內(nèi)的因果相鄰系數(shù)的估計絕對值,因為熵編碼單元116能夠使用這些系數(shù)的sigMapFlag、grlFlag、gr2Flag和levelRem來確定這些系數(shù)的實際絕對值。
[0154]在一些實例中,視頻譯碼器(例如,視頻編碼器20或視頻解碼器30)基于上下文索引確定譯碼上下文。視頻譯碼器可通過計算上下文索引Ctl來計算系數(shù)的sigMapFlag的上下文索引,其中 C。= min (sum_absolute_level, 5),其中 sum_absolute_level 是系數(shù)的上下文鄰域中的系數(shù)的實際或估計絕對值的總和。換句話說,
[0155]sum_absolute_level =Σ δ i (Xi)
[0156]在JCTVC-H0228的提議中,系數(shù)的上下文鄰域限于因果相鄰者,如圖2和3的實例中所示。此外,在JCTVC-H0228的提議中,視頻譯碼器執(zhí)行通過每一子塊的單個遍次。在單個遍次期間,視頻譯碼器產(chǎn)生且編碼子塊的系數(shù)的sigMapFlag、grlFlag、gr2Flag、signFlag和LevelRem,之后處理子塊的下一系數(shù)。
[0157]此外,在JCTVC-H0228的提議中,視頻譯碼器可計算grlFlag的上下文索引C1,其中 C1 = min(sum_absolute_levelMinusl,4)+l。為了計算 gr2Flag 的上下文索引,視頻譯碼器可計算上下文索引C2,其中c2 = min(sum_absolute_levelMinusl,4)+l。通過從sum_absolute_level 減去值 num_significant_coeff 可石角定值 sum_absolute_levelMinusl,其中num_significant_coeff等于上下文鄰域中的非零系數(shù)的數(shù)目。
[0158]sum_absolute_levcl M i nusl = ^3|(χ;)
[0159]在以上等式中,求和是對上下文鄰域中的所有系數(shù)。在以上等式中,在Ixi> O的情況下等于IXi 1-1且在Xi等于O的情況下等于0,其中Xi是系數(shù)i的實際或估計絕對值。視頻譯碼器可通過從sum_absolute_level減去值num_significant_coeff來確定sum_absolute_levelMinusl ο 值 num_significant_coeff 等于:
[0160]num _significant_coeff = (Xi)
[0161]其中
、[I Xi 共 O
[0162]Si(Xi) = ^
11 [O Xi =0
[0163]此外,如果JCTVC-H0228的提議延伸到譯碼遍次和非因果相鄰系數(shù),那么可能對非因果相鄰系數(shù)的估計(或?qū)嶋H)絕對值賦予過多重要性,這可能使譯碼效率降級。舉例來說,系數(shù)的絕對值通常平均針對系數(shù)以較高頻率減小。因此,如果因果系數(shù)是重要的且具有高絕對量值,那么可能當(dāng)前系數(shù)是重要的且具有高絕對量值。高絕對量值的一個實例可為3或更高。然而,此關(guān)系不適用于非因果系數(shù)。舉例來說,當(dāng)前系數(shù)通常處于比非因果系數(shù)高的頻率。因此,如果非因果系數(shù)是重要的,那么當(dāng)前系數(shù)重要的推斷比對于因果系數(shù)的情況弱。為此原因,熵編碼單元116可根據(jù)本發(fā)明的技術(shù)在確定譯碼上下文時不同地處理因果和非因果系數(shù)。
[0164]舉例來說,熵編碼單元116可根據(jù)本發(fā)明的技術(shù)將不同權(quán)重應(yīng)用于非因果系數(shù)的估計或?qū)嶋H絕對值,與在確定譯碼上下文時因果系數(shù)的實際或估計絕對值相反。換句話說,可對因果和非因果系數(shù)給出不同權(quán)重。在此實例中,應(yīng)用于非因果系數(shù)(或因果系數(shù))的權(quán)重可取決于非因果系數(shù)與當(dāng)前系數(shù)之間的以在譯碼次序上的系數(shù)數(shù)目計的距離。而且,大體上,在給定系數(shù)的譯碼上下文內(nèi)可對非因果系數(shù)指派比因果系數(shù)低的權(quán)重。
[0165]根據(jù)本發(fā)明的一或多種技術(shù),熵編碼單元116可將非因果相鄰系數(shù)的總重要性減小I。舉例來說,熵編碼單元116可維持因果和非因果系數(shù)的單獨總和。在此實例中,熵編碼單元116可通過將總數(shù)減少一來減小上下文鄰域中的總重要非因果系數(shù)的重要性。因此,如果重要的非因果系數(shù)的數(shù)目為四,那么為了計算num_SignifiCant_COeff,將重要的非因果系數(shù)的數(shù)目處理為三。也就是說,熵編碼單元116可將num_significant_coeff計算為:
r\
[0166]num_significant_coeff = 工 (Ii(Xi) -1 + ^ Cli(Xi)
\ non-causalJ causal
[0167]熵編碼單元116可通過如下計算來確定sum_absolute_levelMinusl:
[0168]sum_absolute_level-num_significant_coeff
[0169]熵編碼單元116可將grlFlag或gr2Flag的上下文索引確定為sum_absolute_IevelMinusl 和 4 中的較小者。對例如 sum_absolute_level 和 sum_absolute_levelMinusl等其它值的計算可做出相似修改。替代于減小一,熵編碼單元116可將其它調(diào)整應(yīng)用于上下文鄰域中的非因果系數(shù)的上下文推導(dǎo)計算。舉例來說,在其它實例中,熵編碼單元116可將重要的非因果相鄰系數(shù)的數(shù)目減少除了 I之外的值,例如2、3、4等等。應(yīng)用于重要的非因果上下文鄰域系數(shù)的數(shù)目的調(diào)整越高,非因果系數(shù)的有效權(quán)重越低。以此方式,熵編碼單元116可應(yīng)用公式以基于一或多個非因果系數(shù)的估計或?qū)嶋H絕對值以及一或多個因果系數(shù)的估計絕對值來確定索引,其中所述公式將加權(quán)值應(yīng)用于所述一或多個非因果系數(shù)的估計或?qū)嶋H絕對值或所述一或多個因果系數(shù)的估計或?qū)嶋H絕對值。熵編碼單元116可至少部分地基于所述索弓I來選擇語法元素的譯碼上下文。
[0170]在其它實例中,熵編碼單元116可以除了上述方式之外的方式確定sigMapFlag、grlFlag和gr2Flag的上下文索引。舉例來說,熵編碼單元116可基于具有大于I的絕對值的上下文鄰域系數(shù)的數(shù)目來確定grlFlag的上下文索引。在另一實例中,熵編碼單元116可使用grlFlag的譯碼上下文的兩個集合。在此實例中,熵編碼單元116可在不存在具有大于I的絕對值的上下文鄰域系數(shù)的情況下使用grlFlag的上下文索引的第一集合。此外,在此實例中,熵編碼單元116可在存在具有大于I的絕對值的一或多個上下文鄰域系數(shù)的情況下使用grlFlag的上下文索引的第二集合。在此實例中,熵編碼單元116可將進入譯碼上下文的第一或第二集合的上下文索引確定為等于sum_absolute_levelMinusl或4中的較小者。以此方式,熵編碼單元116可基于當(dāng)前系數(shù)的上下文鄰域中有多少系數(shù)具有大于
I的絕對值來選擇grlFlag的上下文索引。在其它實例中,熵編碼單元116可使用grlFlag的譯碼上下文的兩個以上集合。相似地,熵編碼單元116可使用sigMapFlag和gr2Flag的譯碼上下文的多個集合。在另一實例中,熵編碼單元116可基于具有大于I和大于2的絕對值的相鄰系數(shù)的數(shù)目來確定sigMapFlag的上下文索引。
[0171]熵編碼單元116可存儲系數(shù)的絕對值以便計算如上文界定的上下文索引C(l、C1和C2O根據(jù)CrC1和C2的定義,如果sum_absolute_level大于4,那么Ctl的值封頂于5。相似地,如果sum_absolute_levelMinusl大于3,那么C1和C2的值封頂于4。因此,替代于存儲每一系數(shù)的絕對等級值,將絕對等級值截斷為三個位同時針對C(l、C1和C2產(chǎn)生相同值是足夠的。因此,根據(jù)本發(fā)明的技術(shù),替代于存儲每一系數(shù)的絕對值,熵編碼單元116可將系數(shù)的絕對值修剪(例如,截斷)到7(3個位)同時針對(^、(^和C2產(chǎn)生相同值。此外,在一些實例中,熵編碼單元116可將系數(shù)的絕對值修剪到3(2個位)。以此方式,熵編碼單元116可將非因果系數(shù)的估計(或?qū)嶋H)絕對值修剪到3 (兩個位)或7(三個位),將因果系數(shù)的估計絕對值截斷到3 (兩個位)或7 (三個位),且至少部分地基于非因果和因果系數(shù)的經(jīng)修剪估計(或?qū)嶋H)絕對值來選擇語法元素的譯碼上下文。然而,在熵編碼單元116將系數(shù)的絕對值修剪到3 (2個位)的實例中,C0, C1和C2的值可能受影響。
[0172]在一些實例中,熵編碼單元116可在單個譯碼遍次期間對子塊的多個系數(shù)的系數(shù)語法元素進行編碼。熵編碼單元116可以各種方式實現(xiàn)此情形。根據(jù)第一實例方法,熵編碼單元116可在每一譯碼遍次內(nèi)并行地處理多達η個連續(xù)系數(shù),其中η是大于零的數(shù)。舉例來說,熵編碼單元116可并行地處理多達四個連續(xù)系數(shù)。如果熵編碼單元116當(dāng)前正在處理當(dāng)前系數(shù),那么熵編碼單元116不可存取與另一系數(shù)相關(guān)聯(lián)的語法元素(如果所述語法元素與當(dāng)前譯碼遍次相關(guān)聯(lián),另一系數(shù)是η個連續(xù)系數(shù)的群組的成員,且另一系數(shù)和當(dāng)前系數(shù)在同一子塊內(nèi))。換句話說,強加的約束是當(dāng)前系數(shù)的上下文推導(dǎo)不可取決于來自需要并行上下文推導(dǎo)的其它系數(shù)的信息。在此些條件下阻止熵編碼單元116存取語法元素可促進并行性。根據(jù)本發(fā)明的一或多種技術(shù),使用“孔”和“部分孔”的概念來實現(xiàn)多個二進位的并行上下文推導(dǎo)。
[0173]當(dāng)熵編碼單元116不能使用系數(shù)的當(dāng)前優(yōu)先級語法元素來選擇用于對當(dāng)前系數(shù)的當(dāng)前優(yōu)先級語法元素進行譯碼的上下文時,因果系數(shù)可稱為“孔”。當(dāng)前優(yōu)先級語法元素是在熵編碼單元116當(dāng)前正在執(zhí)行的譯碼遍次期間處理的語法元素。在一些實例中,孔的位置從不會在含有當(dāng)前系數(shù)的4x4子塊之外。
[0174]因為熵編碼單元116不存取孔的當(dāng)前優(yōu)先級語法元素,所以熵編碼單元116可能不能使用孔的當(dāng)前優(yōu)先級語法元素來確定孔的實際或估計絕對值。因為熵編碼單元116可能不能確定孔的實際絕對值,所以熵編碼單元116可能不能使用孔的實際絕對值來選擇用于對當(dāng)前系數(shù)的語法元素進行CABAC或哥倫布-萊斯譯碼的上下文。下文詳細論述的圖1OA到1G圖解說明當(dāng)例如熵編碼單元116等熵譯碼單元在譯碼遍次期間并行地處理四個系數(shù)時4x4子塊中的系數(shù)的上下文鄰域中的孔的實例位置。
[0175]因此,熵編碼單元116可確定孔的估計(或?qū)嶋H)絕對值。在一些實例中,熵編碼單元116可總是確定孔的絕對值等于零或另一預(yù)定義值。換句話說,熵編碼單元116可將因果系數(shù)的絕對值確定為等于預(yù)定義值。舉例來說,熵編碼單元116可對于孔位置使用固定絕對等級值。此外,在此實例中,如果熵編碼單元116將四個二進位并行性用于4x4子塊掃描,那么引入孔以使得如果來自同一子塊的掃描次序中的先前三個系數(shù)中的任一者屬于當(dāng)前系數(shù)的上下文鄰域,那么將先前三個系數(shù)假定為具有絕對值O以用于上下文推導(dǎo)目的。
[0176]在另一實例中,替代于假定孔處的系數(shù)不重要(即,等于O),熵編碼單元116可使用用于另一系數(shù)的絕對等級值。也就是說,當(dāng)熵編碼單元116正在選擇特定系數(shù)的系數(shù)語法元素的譯碼上下文時,熵編碼單元116可使用另一系數(shù)的實際或估計絕對值作為特定系數(shù)的上下文鄰域中的孔的絕對值。此另一系數(shù)可在特定系數(shù)的上下文鄰域內(nèi)。在其它實例中,熵編碼單元116可修改特定系數(shù)的上下文鄰域以排除孔且包含處于原始上下文鄰域之外的另一系數(shù)。在一些實例中,所述另一系數(shù)可為孔的右邊的系數(shù)。因此,對于上下文推導(dǎo),右邊的系數(shù)被計數(shù)兩次。
[0177]在其它實例中,熵編碼單元116可至少部分地基于孔的較高優(yōu)先級語法元素來確定孔的絕對值。在此些實例中,孔可稱為“部分孔”。此外,在此些實例中,熵編碼單元116可確定孔的絕對值,如同所述孔的當(dāng)前和較低優(yōu)先級系數(shù)語法元素等于O。舉例來說,如果熵編碼單元116正在選擇特定系數(shù)的gr2Flag的譯碼上下文,那么熵編碼單元116可基于孔的sigMapFlag和(如果存在)grlFlag來確定特定系數(shù)的上下文鄰域中的孔的絕對值。此外,在此實例中,如果熵編碼單元116正在編碼特定系數(shù)的gr2Flag,那么熵編碼單元116可確定孔的絕對值,如同所述孔的gr2Flag和IevelRem等于O。
[0178]在熵編碼單元116基于孔的較高優(yōu)先級系數(shù)語法元素確定孔的絕對值的另一實例中,熵編碼單元116可部分地基于鄰近于孔(例如,在右邊)的系數(shù)的當(dāng)前優(yōu)先級系數(shù)語法元素來確定孔的絕對值。換句話說,熵編碼單元116可將因果系數(shù)的絕對值確定為等于鄰近于因果系數(shù)的系數(shù)的絕對值。舉例來說,如果熵編碼單元116正在編碼特定系數(shù)的gr2Flag,那么熵編碼單元116可基于孔的sigMapFlag、孔的grlFlag和鄰近于孔的系數(shù)的gr2Flag來確定特定系數(shù)的上下文鄰域中的孔的絕對值。鄰近于孔的系數(shù)可在特定系數(shù)的上下文鄰域之外。在一些實例中,鄰近于孔的系數(shù)可在含有特定系數(shù)的子塊之外。
[0179]熵編碼單元116可使用當(dāng)前系數(shù)的上下文鄰域中的系數(shù)的絕對值來選擇當(dāng)前系數(shù)的語法元素的CABAC或哥倫布-萊斯譯碼的上下文。因此,熵編碼單元116可響應(yīng)于確定相鄰系數(shù)根據(jù)譯碼次序?qū)儆讦莻€連續(xù)位置的群組而確定相鄰系數(shù)的絕對值。
[0180]在熵編碼單元116在譯碼遍次期間并行地確定η個系數(shù)語法元素的譯碼上下文的其它實例中,熵編碼單元116可將子塊的系數(shù)劃分為η個系數(shù)的群組。舉例來說,如果熵編碼單元116并行地確定四個系數(shù)語法元素的譯碼上下文,那么熵編碼單元116可將子塊劃分為四個系數(shù)的群組。在一些實例中,群組可包含少于η個系數(shù)。通常,包含少于η個系數(shù)的群組是子塊中的系數(shù)的最后群組。系數(shù)的上下文鄰域經(jīng)界定以使得對于子塊中的每一系數(shù),系數(shù)的上下文鄰域不包含與所述系數(shù)在同一群組中的系數(shù)。下文詳細描述的圖1lA到IlF是圖解說明系數(shù)塊的4x4子塊中的系數(shù)的實例群組的概念圖。
[0181]在如先前段落中編碼單元116將子塊的系數(shù)劃分為η個系數(shù)的群組的實例中,系數(shù)的上下文鄰域可包含孔。熵譯碼單元116可根據(jù)上述技術(shù)中的任一者確定孔的絕對值。舉例來說,當(dāng)熵譯碼單元116正在選擇特定系數(shù)的系數(shù)語法元素的譯碼上下文時,熵譯碼單元116可基于可在或可不在所述特定系數(shù)的上下文鄰域中的另一系數(shù)的實際或估計絕對值來確定孔的絕對值。也就是說,可修改上下文鄰域以包含原始曾處于特定系數(shù)的上下文鄰域中的系數(shù)。在另一實例中,當(dāng)熵編碼單元116正在選擇特定系數(shù)的系數(shù)語法元素的譯碼上下文時,熵譯碼單元116可基于孔的較高優(yōu)先級系數(shù)語法元素和假定為等于O的孔的當(dāng)前和較低優(yōu)先級系數(shù)語法元素來確定孔的絕對值。
[0182]此外,在熵編碼單元116將子塊的系數(shù)劃分為η個系數(shù)的群組的一些實例中,系數(shù)的上下文鄰域可包含少于五個系數(shù)。在此些實例中,熵編碼單元116可使用sum_absolute_level、sum_absolute_level_Minusl 和 num_significant_coeff 的經(jīng)調(diào)整值來確定上下文索引。舉例來說,熵編碼單兀 116 可將 sum_absolute_level、sum_absolute_level_Minusl和num_significant_coeff按比例縮放特定縮放因數(shù)。在此實例中,如果特定系數(shù)的上下文鄰域具有一個孔,那么熵編碼單兀116可將sum_absolute_level、sum_absolute_level_Minusl和num_significant_coeff按比例縮放因數(shù)5/4。在一些實例中,熵編碼單兀 116 可使用查找表來實施 sum_absolute_level、sum_absolute_level_Minusl 和 num_significant_coeff的按比例縮放。
[0183]在其它實例中,熵編碼單元116將系數(shù)塊的每一子塊劃分為系數(shù)群組。在一些實例中,系數(shù)群組中的每一者可包含η個系數(shù),可能除了系數(shù)的最后群組。下文詳細描述的圖12是圖解說明系數(shù)塊的4x4子塊內(nèi)的系數(shù)的另一實例分組的概念圖。在此些實例中,熵編碼單元116處理群組內(nèi)的系數(shù)的所有系數(shù)語法元素,之后處理下一群組中的系數(shù)的任一系數(shù)語法元素。也就是說,替代于執(zhí)行整個子塊的一個譯碼遍次之后執(zhí)行整個子塊的下一譯碼遍次,熵編碼單元116可執(zhí)行子塊中的系數(shù)群組的全部五個譯碼遍次,之后執(zhí)行子塊中的下一系數(shù)群組的五個譯碼遍次。因此,在群組內(nèi),熵編碼單元116執(zhí)行全部五個譯碼遍次。
[0184]在先前段落的實例中,熵編碼單元116可以與上文實例中描述的方式相同的方式確定系數(shù)的上下文鄰域中的孔的絕對值。然而,在先前段落的實例中,熵編碼單元116可能夠確定較多系數(shù)的實際絕對值,與系數(shù)的估計絕對值相反。
[0185]在一些實例中,可用于對系數(shù)語法元素進行熵譯碼的譯碼上下文可劃分為上下文集合。上下文集合中的每一者可包含多個譯碼上下文。為了選擇特定語法元素的譯碼上下文,熵編碼單元116可確定特定系數(shù)語法元素的上下文集合索引且確定特定系數(shù)語法元素的上下文索引。所確定上下文索引指示由所確定上下文集合索引指示的上下文集合中的譯碼上下文。
[0186]在一個實例中,熵編碼單元116使用基于位置的上下文建模用于4x4和8x8TU中的系數(shù)的sigMapFlag。在基于位置的上下文建模中,熵編碼單元116至少部分地基于系數(shù)塊內(nèi)特定系數(shù)的位置來選擇特定系數(shù)的譯碼上下文。在此實例中,在表集合中界定sigMapFlag的上下文索引。表可對應(yīng)于不同的上下文集合??纱嬖谌齻€表,一個用于4x4亮度系數(shù)塊,一個用于4x4色度系數(shù)塊,且一個用于8x8亮度或色度系數(shù)塊。亮度系數(shù)塊是從亮度樣本塊推導(dǎo)的系數(shù)塊。色度系數(shù)塊是從色度樣本塊推導(dǎo)的系數(shù)塊。此外,熵編碼單元116可使用基于位置的上下文建模和基于模板的上下文建模的混合用于較大系數(shù)塊,例如16x16和32x32系數(shù)塊。對于此些較大系數(shù)塊中的系數(shù),熵編碼單元116可使用單個譯碼上下文用于處于較高頻率的系數(shù)(即,較靠近系數(shù)塊的右下角的系數(shù))的sigMapFlag。對于此些較大系數(shù)塊中的其它系數(shù),熵編碼單元116可基于系數(shù)的上下文鄰域中的系數(shù)是否等于O來選擇譯碼上下文。換句話說,熵編碼單元116可使用特定低頻系數(shù)的上下文鄰域中的系數(shù)的重要性來確定特定系數(shù)的sigMapFlag的譯碼上下文。
[0187]在一個實例中,熵編碼單元116使用四個上下文集合用于對亮度系數(shù)塊中的系數(shù)的grlFlag進行熵編碼,且使用兩個上下文集合用于對色度系數(shù)塊中的系數(shù)的grlFlag進行熵編碼。在此實例中,熵編碼單元116可基于系數(shù)塊內(nèi)特定系數(shù)的位置且還基于系數(shù)的先前經(jīng)譯碼群組中等于I的grlFlag的數(shù)目(numGreaterl)來確定特定系數(shù)的grlFlag的上下文集合索引。在此實例中,熵編碼單元116可基于特定系數(shù)的上下文鄰域中的拖尾一(即,grlFlag等于O)的數(shù)目(最大值為三)來確定上下文集合內(nèi)的上下文索引(ctxldx_level_greaterl) 0舉例來說,熵編碼單元116可將上下文索引確定為:
[0188]ctxldx_level_greaterl = (ctxSet*4)+min(3,拖尾一的數(shù)目)
[0189]在一些實例中,熵編碼單元116使用四個上下文集合用于對亮度系數(shù)塊中的系數(shù)的gr2Flag進行熵編碼,且使用兩個上下文集合用于對色度系數(shù)塊中的系數(shù)的grlFlag進行熵編碼。熵編碼單元116可基于系數(shù)塊內(nèi)特定系數(shù)的位置以及系數(shù)的先前經(jīng)譯碼群組中等于I的grlFlag的數(shù)目(numGreaterl)來確定特定系數(shù)的gr2Flag的上下文集合索引。gr2Flag的上下文索引可等于gr2Flag的上下文集合索引。
[0190]在另一實例中,存在用于對亮度系數(shù)塊的系數(shù)語法元素進行熵譯碼的三個上下文集合以及用于對色度系數(shù)塊的系數(shù)語法元素進行熵譯碼的兩個上下文集合。在此實例中,在用于對sigMapFlag進行熵編碼的上下文集合中的每一者中存在六個譯碼上下文。換句話說,對于亮度系數(shù)塊的系數(shù)的sigMapFlag,可存在三個上下文集合,各自包含六個譯碼上下文。對于色度系數(shù)塊的系數(shù)的sigMapFlag,可存在兩個上下文集合,各自包含六個譯碼上下文。此外,在此實例中,在用于對grlFlag和gr2Flag進行熵編碼的上下文集合中的每一者中存在五個譯碼上下文。
[0191]在先前段落的實例中,熵編碼單元116可基于特定系數(shù)的系數(shù)塊內(nèi)的位置確定上下文集合索引(ctX_set_idX),其指示包含用于對特定系數(shù)的系數(shù)語法元素進行熵編碼的選定譯碼上下文的上下文集合。在此實例中,熵編碼單元116可將上下文集合索引確定為:
[0192]ctx_set_idx = (posX < 2&&posY < 2) ? O: (LUMA ? ((posX < 4&&posY < 4) ?
I:2):1
[0193]在以上等式中,posX和posY分別指示特定系數(shù)的系數(shù)塊內(nèi)的列和行。在以上等式中,如果posX小于2且posY小于2,那么ctx_set_idx等于O。此外,在以上等式中,如果posX不小于2或posY不小于2,且系數(shù)塊不是亮度系數(shù)塊,那么ctx_set_idx等于I。在以上等式中,如果PosX或posY任一者不小于2,系數(shù)塊是亮度系數(shù)塊,且posX和posY均小于
4,那么ctx_set_idx等于I。在以上等式中,如果系數(shù)塊是亮度系數(shù)塊,且posX或posY任一者不小于4,那么ctx_set_idx等于2。在此實例中,熵編碼單元116可根據(jù)本發(fā)明中別處描述的實例中的一或多者來確定上下文索引。
[0194]在熵編碼單元116可使用上下文集合的另一實例中,可存在對亮度系數(shù)塊的系數(shù)語法元素進行熵譯碼的三個上下文集合。此外,在此實例中,可存在用于對色度系數(shù)塊中的系數(shù)的sigMapFlag進行編碼的兩個上下文集合,且可存在用于對色度系數(shù)塊中的系數(shù)的grlFlag和gr2Flag進行編碼的一個上下文集合。用于對亮度和色度系數(shù)塊中的系數(shù)的sigMapFlag進行編碼的上下文集合中的每一者可包含六個譯碼上下文。用于對亮度和色度系數(shù)塊中的系數(shù)的grlFlag和gr2Flag進行編碼的上下文集合中的每一者可包含五個譯碼上下文。在此實例中,熵編碼單元116可使用以下等式確定亮度系數(shù)塊的系數(shù)語法元素的上下文集合索引(ctx_set_idx):
[0195]ctx_set_idx = (posX < 4&&posY < 4) ? ((posX < 2&&posY < 2) ? 2:1):0
[0196]在以上等式中,posX和posY分別指示特定系數(shù)的系數(shù)塊內(nèi)的列和行。此外,在以上等式中,如果posX或posY任一者不小于4,那么ctx_set_idx等于O。在以上等式中,如果posX和posY均小于4且posX或posX任一者不小于2,那么ctx_set_idx等于I。在以上等式中,如果PosX和posY均小于2,那么ctx_set_idx等于2。
[0197]在先前段落的實例中,熵編碼單元116可使用以下等式確定色度系數(shù)塊的系數(shù)的sigMapFlag的上下文集合索引(ctx_set_idx):
[0198]ctx_set_idx = (posX < 2&&posY < 2) ? 1:0
[0199]在以上等式中,posX和posY分別指示特定系數(shù)的系數(shù)塊內(nèi)的列和行。此外,在以上等式中,如果posX和posY均小于2,那么ctx_set_idx等于I。如果posX或posY任一者大于或等于2,那么CtX_set_idX等于O。在此實例中,熵編碼單元116可根據(jù)本發(fā)明中別處描述的實例中的一或多者來確定上下文索引。
[0200]圖6是圖解說明經(jīng)配置以實施本發(fā)明的技術(shù)的實例性視頻解碼器30的框圖。圖6是為了闡釋目的而提供,且不限制如本發(fā)明中廣義地例示和描述的技術(shù)。為了闡釋的目的,本發(fā)明在HEVC譯碼的上下文中描述視頻解碼器30。然而,本發(fā)明的技術(shù)可適用于其它譯碼標(biāo)準(zhǔn)或方法。
[0201]在圖6的實例中,視頻解碼器30包含熵解碼單元150、預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重構(gòu)單元158、濾波器單元159,以及經(jīng)解碼圖片緩沖器160。預(yù)測處理單元152包含運動補償單元162和幀內(nèi)預(yù)測處理單元164。在其它實例中,視頻解碼器30可包含較多、較少或不同功能組件。
[0202]視頻解碼器30接收位流。熵解碼單元150可剖析位流以從位流提取語法元素。預(yù)測處理單元152、逆量化單元154、逆變換處理單元156、重構(gòu)單元158以及濾波器單元159可基于從位流提取的語法元素來產(chǎn)生經(jīng)解碼視頻數(shù)據(jù)。
[0203]作為剖析位流的部分,熵解碼單元150可對位流中的經(jīng)熵編碼語法元素進行熵解碼。舉例來說,熵解碼單元150可對例如系數(shù)塊中的系數(shù)的sigMapFlag、grlFlag和gr2Flag等一些語法元素執(zhí)行規(guī)則CABAC解碼。而且,熵解碼單元150可對例如系數(shù)塊中的系數(shù)的signFlag和IevelRem等其它語法元素執(zhí)行旁路熵解碼。
[0204]當(dāng)熵解碼單元150對例如sigMapFlag、grlFlag或gr2Flag等系數(shù)語法元素執(zhí)行規(guī)則CABAC解碼時,熵解碼單元150可選擇系數(shù)語法元素的譯碼上下文。熵解碼單元150可根據(jù)上文關(guān)于熵編碼單元116選擇系數(shù)語法元素描述的實例中的任一者和其它實例來選擇系數(shù)語法元素的譯碼上下文。
[0205]另外,視頻解碼器30可對未經(jīng)分割⑶執(zhí)行重構(gòu)操作。為了對未經(jīng)分割⑶執(zhí)行重構(gòu)操作,視頻解碼器30可對⑶的每一 TU執(zhí)行重構(gòu)操作。通過對⑶的每一 TU執(zhí)行重構(gòu)操作,視頻解碼器30可重構(gòu)與CU相關(guān)聯(lián)的殘余樣本塊。
[0206]作為對CU的TU執(zhí)行重構(gòu)操作的部分,逆量化單元154可對與TU相關(guān)聯(lián)的系數(shù)塊進行逆量化,即解量化。逆量化單元154可使用與TU的CU相關(guān)聯(lián)的QP值來確定量化程度,且同樣確定逆量化單元154將應(yīng)用的逆量化程度。
[0207]在逆量化單元154逆量化系數(shù)塊之后,逆變換處理單元156可將一或多個逆變換應(yīng)用于系數(shù)塊以便產(chǎn)生與TU相關(guān)聯(lián)的殘余樣本塊。舉例來說,逆變換處理單元156可將逆DCT、逆整數(shù)變換、逆卡忽南-拉維(Karhunen-Loeve)變換(KLT)、逆旋轉(zhuǎn)變換、逆方向性變換或另一逆變換應(yīng)用于系數(shù)塊。
[0208]如果是使用幀內(nèi)預(yù)測編碼的,那么幀內(nèi)預(yù)測處理單元164可執(zhí)行幀內(nèi)預(yù)測以產(chǎn)生PU的預(yù)測樣本塊。幀內(nèi)預(yù)測處理單元164可使用幀內(nèi)預(yù)測模式來基于空間相鄰的樣本塊而產(chǎn)生PU的預(yù)測樣本塊。幀內(nèi)預(yù)測處理單元164可基于從位流剖析的一或多個語法元素來確定I3U的幀內(nèi)預(yù)測模式。
[0209]運動補償單元162可基于從位流提取的語法元素構(gòu)造第一參考圖片列表(列表0)和第二參考圖片列表(列表I)。此外,如果使用幀間預(yù)測對PU進行編碼,那么熵解碼單元150可提取PU的運動信息。運動補償單元162可基于PU的運動信息來確定的一或多個參考塊。運動補償單元162可基于PU的一或多個參考塊來產(chǎn)生的預(yù)測樣本塊。
[0210]重構(gòu)單元158可在適用時使用與⑶的TU相關(guān)聯(lián)的殘余樣本塊和⑶的I3U的預(yù)測樣本塊(即,幀內(nèi)預(yù)測數(shù)據(jù)或幀間預(yù)測數(shù)據(jù))來重構(gòu)⑶的樣本塊。特定來說,重構(gòu)單元158可將殘余樣本塊的樣本添加到預(yù)測樣本塊的對應(yīng)樣本以重構(gòu)CU的樣本塊。
[0211 ] 濾波器單元159可執(zhí)行解塊操作以減少與CTB的CU的樣本塊相關(guān)聯(lián)的成塊假像。視頻解碼器30可將CU的樣本塊存儲在經(jīng)解碼圖片緩沖器160中。經(jīng)解碼圖片緩沖器160可提供參考圖片以用于后續(xù)運動補償、幀內(nèi)預(yù)測以及在例如圖1的顯示裝置32等顯示裝置上的呈現(xiàn)。舉例來說,視頻解碼器30可基于經(jīng)解碼圖片緩沖器160中的樣本塊來對其它CU的PU執(zhí)行幀內(nèi)預(yù)測或幀間預(yù)測操作。
[0212]圖7是圖解說明根據(jù)本發(fā)明的一或多種技術(shù)的用于對視頻數(shù)據(jù)進行編碼的視頻編碼器20的實例操作200的流程圖。提供圖7作為實例。在其它實例中,可使用比圖7的實例中所示的步驟多、少或不同的步驟來實施本發(fā)明的技術(shù)。
[0213]在圖7的實例中,變換處理單元104可基于殘余樣本塊產(chǎn)生系數(shù)塊(202)。如上所述,變換處理單元104可通過將例如離散余弦變換等一或多個變換應(yīng)用于殘余樣本塊來產(chǎn)生系數(shù)塊。在某些情況下,變換處理單元104不將變換應(yīng)用于殘余樣本塊,而是可跳過變換的應(yīng)用。雖然圖7的實例中未圖示,但量化單元106可量化系數(shù)塊中的系數(shù)。
[0214]熵編碼單元116可在系數(shù)塊的系數(shù)的第一譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合(204)。舉例來說,熵編碼單元116可執(zhí)行系數(shù)塊的子塊中的系數(shù)的譯碼遍次以編碼子塊中的系數(shù)的sigMapFlag、grlFlag、gr2Flag、signFlag和levelRem。當(dāng)熵編碼單元116對語法元素的第一集合進行編碼時,熵編碼單元116可對于子塊中的每一系數(shù)產(chǎn)生系數(shù)語法元素。如果系數(shù)語法元素經(jīng)上下文譯碼,那么熵編碼單元116可選擇系數(shù)語法元素的譯碼上下文,且使用選定熵譯碼上下文來對系數(shù)語法元素進行熵編碼。否貝IJ,熵編碼單元116可對系數(shù)語法元素進行旁路編碼。
[0215]此外,熵編碼單元116可在系數(shù)塊的系數(shù)的第二譯碼遍次期間編碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合(206)。舉例來說,熵編碼單元116可在第一譯碼遍次期間編碼sigMapFlag,在第二譯碼遍次期間編碼grlFlag。
[0216]當(dāng)熵編碼單元116在第二譯碼遍次期間編碼語法元素時,熵編碼單元116可產(chǎn)生語法元素(208)。所述語法元素可在語法元素的第二集合中且可對應(yīng)于系數(shù)塊的當(dāng)前系數(shù)。此外,熵編碼單元116選擇語法元素的譯碼上下文(210)。根據(jù)本發(fā)明的技術(shù),熵編碼單元116可至少部分地基于第二語法元素和第三語法元素來選擇語法元素的譯碼上下文。第二語法元素可在語法元素的第一集合中且可對應(yīng)于非因果系數(shù)。舉例來說,第二語法元素可為非因果系數(shù)的較高優(yōu)先級語法元素。第三語法元素在語法元素的第二集合中且對應(yīng)于因果系數(shù)。舉例來說,如果第一語法元素是gr2Flag,那么第二語法元素可為grlFlag或sigMapFlag,且第三語法元素可為gr2Flag。非因果系數(shù)在當(dāng)前(例如,第二)譯碼遍次的譯碼次序中在當(dāng)前系數(shù)之后發(fā)生。因果系數(shù)在譯碼次序中在當(dāng)前系數(shù)之前發(fā)生。
[0217]在選擇語法元素的譯碼上下文之后,熵編碼單元116可至少部分地基于為第一語法元素選擇的譯碼上下文來對語法元素進行熵編碼(212)。舉例來說,熵編碼單元116可使用規(guī)則CABAC編碼來對語法元素進行編碼。
[0218]圖8是圖解說明根據(jù)本發(fā)明的一或多種技術(shù)的用于對視頻數(shù)據(jù)進行解碼的視頻解碼器30的實例操作250的流程圖。如圖8的實例中說明,熵解碼單元150在系數(shù)塊的系數(shù)的第一譯碼遍次期間解碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第一集合(252)。另外,熵解碼單元150在系數(shù)塊的系數(shù)的第二譯碼遍次期間解碼對應(yīng)于系數(shù)塊的系數(shù)的語法元素的第二集合(254)。
[0219]當(dāng)熵解碼單元150在第二譯碼遍次期間解碼當(dāng)前語法元素時,熵解碼單元150可至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文(256)。第二語法元素在語法元素的第一集合中且對應(yīng)于非因果系數(shù)。第三語法元素在語法元素的第二集合中且對應(yīng)于因果系數(shù)。非因果系數(shù)在當(dāng)前(第二)譯碼遍次的譯碼次序中在當(dāng)前系數(shù)之后發(fā)生。因果系數(shù)在譯碼次序中在當(dāng)前系數(shù)之前發(fā)生。在選擇當(dāng)前語法元素的譯碼上下文之后,熵解碼單元150可至少部分地基于為當(dāng)前語法元素選擇的譯碼上下文來對當(dāng)前語法元素進行熵解碼(258)。舉例來說,熵解碼單元150可使用規(guī)則CABAC解碼來對當(dāng)前語法元素進行解碼。
[0220]熵解碼單元150可至少部分地基于系數(shù)的語法元素的第一和第二集合來確定系數(shù)塊中的系數(shù)的值(260)。逆量化單元154和逆變換處理單元156可基于系數(shù)塊的系數(shù)來產(chǎn)生殘余樣本塊(262)。隨后,重構(gòu)單元158可將殘余樣本塊中的樣本添加到預(yù)測樣本塊中的對應(yīng)樣本以重構(gòu)I3U的樣本塊。
[0221]圖9A是圖解說明實例4x4子塊300的概念圖。圖9B到9G是圖解說明圖9A的子塊300中的系數(shù)的上下文鄰域中的實例孔的概念圖。圖9A到9G中的圓對應(yīng)于子塊中的系數(shù)。圖9A中的圓具有各種類型的交叉影線。圖9A中的圓的交叉影線的類型指示圖9B到9G中的哪一上下文鄰域適用于對應(yīng)于圓的系數(shù)。舉例來說,圖9A中具有水平交叉影線的圓具有圖9B中所示類型的上下文鄰域。圖9A中具有垂直交叉影線的圓具有圖9C中所示類型的上下文鄰域。圖9A中具有右下對角線交叉影線的圓具有圖9D中所示類型的上下文鄰域。圖9A中具有右上對角線交叉影線的圓具有圖9E中所示類型的上下文鄰域。圖9A中具有柵格交叉影線的圓具有圖9F中所示類型的上下文鄰域。圖9A中具有對角線交叉交叉影線的圓具有圖9G中所示類型的上下文鄰域。
[0222]在圖9B到9G中,白色填充的圓對應(yīng)于孔,且黑色填充的圓對應(yīng)于并非孔的系數(shù)。在一些實例中,熵譯碼單元(例如熵編碼單元116或熵解碼單元150)可不能存取“孔”的當(dāng)前優(yōu)先級系數(shù)語法元素,因為熵譯碼單元可與當(dāng)前系數(shù)并行地處理孔。如圖9G中所示,對于圖9A中具有對角線交叉交叉影線的圓,不使用孔??椎奈恢每刹辉诋?dāng)前4x4子塊之外,因為在當(dāng)前4x4子塊之外的系數(shù)可屬于先前組塊且所述組塊的所有系數(shù)語法元素可用。在圖9A到9G的實例中,假定熵譯碼單元在譯碼遍次期間并行地編碼四個系數(shù)。雖然圖9A到9G的實例假定4 二進位并行性,但可使用相似技術(shù)來實現(xiàn)η 二進位并行性,其中η > I。
[0223]雖然圖9Α到9Ε已描述了相對于4x4子塊譯碼次序使用孔,但熵譯碼單元可將孔應(yīng)用于其它譯碼次序,例如水平、垂直等等。因此,大體上,為了實現(xiàn)針對η個二進位的并行上下文推導(dǎo),如果系數(shù)的上下文鄰域含有譯碼次序中屬于與當(dāng)前系數(shù)相同的子塊的先前(η-1)個系數(shù)中的任一者,那么用孔或如上所述的其它系數(shù)代替先前(η-1)個系數(shù)。使用孔的一個優(yōu)點是如果熵譯碼單元是針對η 二進位并行性設(shè)計,那么只要m ( n,熵譯碼單元便可用于m二進位并行性。為了考慮并行性的設(shè)計程度與所實施程度之間的差異,上下文鄰域的再設(shè)計可能不是必要的。
[0224]下文詳細描述的圖1OA到1F是圖解說明系數(shù)塊的4x4子塊350中的系數(shù)的實例群組的概念圖。圖1OA到1F中的圓對應(yīng)于子塊中的系數(shù)。在圖1OA中,系數(shù)周圍的形狀352A到352D指示系數(shù)的實例群組。在圖1OA到1F的實例中,假定熵譯碼單元(例如,熵編碼單元116或熵解碼單元150)并行地處理子塊350的四個系數(shù)。雖然圖1OA到1F的實例假定4 二進位并行性,但可修改圖1OA到1F的實例以用于并行地處理其它數(shù)目的系數(shù),即η 二進位并行性,其中η大于I。此外,在圖1OA到1F的實例中,假定熵譯碼單元根據(jù)4x4子塊左下譯碼次序處理系數(shù)。圖1OA到1F的實例可針對其它譯碼次序修改,例如水平譯碼次序、垂直譯碼次序等等。
[0225]圖1OB到1F圖解說明系數(shù)的示范性上下文鄰域。圖1OA中的圓具有各種類型的交叉影線。圖1OA中的圓的交叉影線的類型指示圖1OB到1F中的哪一類型的上下文鄰域適用于對應(yīng)于圓的系數(shù)。舉例來說,圖1OA中具有垂直交叉影線的圓具有圖1OB中所示類型的上下文鄰域。圖1OA中具有水平交叉影線的圓具有圖1OC中所示類型的上下文鄰域。圖1OA中具有對角線交叉影線的圓具有圖1OD中所示類型的上下文鄰域。圖1OA中具有柵格交叉影線的圓具有圖1OE中所示類型的上下文鄰域。圖1OA中具有對角線交叉交叉影線的圓具有圖1OF中所示類型的上下文鄰域。
[0226]在圖1OB到1F中,白色填充的圓對應(yīng)于孔,且黑色填充的圓對應(yīng)于并非孔的系數(shù)。然而,如果圖1OB到1F指示上下文鄰域中的系數(shù)是孔且系數(shù)在子塊350之外,那么系數(shù)的每一系數(shù)語法元素可用,且熵譯碼單元可基于系數(shù)的系數(shù)語法元素確定系數(shù)的實際絕對值。
[0227]在一些實例中,熵譯碼單元可針對四個系數(shù)的群組完成所有譯碼遍次,之后繼續(xù)到下一系數(shù)群組。因此,當(dāng)熵譯碼單元對下一系數(shù)群組進行譯碼時,初始系數(shù)群組中的系數(shù)的實際絕對值可用。舉例來說,熵譯碼單元可在對群組352C中的任何系數(shù)語法元素進行譯碼之前對群組 352D 中的每一系數(shù)的 sigMapFlag、grlFlag、gr2Flag、signFlag 和 IevelRem進行譯碼。因此,當(dāng)對群組352C中的系數(shù)的系數(shù)語法元素進行譯碼時,群組352D中的系數(shù)的實際絕對值可用。
[0228]比較圖9A到9G與圖1OA到10F,顯然在圖1OA到1F中存在較多系數(shù)具有不帶孔的上下文鄰域。然而,在圖1OA到1F的實例中,如果群組包含η個系數(shù),那么僅在m小于或等于η且m可被η整除的情況下m 二進位并行性(即,并行地處理m個系數(shù)語法元素的能力)是可能的。舉例來說,如果群組各自包含四個系數(shù),那么熵譯碼單元可僅并行地處理四個或兩個系數(shù)語法元素。
[0229]圖11是圖解說明系數(shù)塊的4x4子塊400內(nèi)的系數(shù)的另一實例分組的概念圖。在圖11的實例中,每一圓對應(yīng)于子塊400中的系數(shù)。橢圓形402A到402G指示子塊400內(nèi)的系數(shù)的群組。不同于上文描述的圖1OA到1G的實例,在圖11的實例中,例如熵編碼單元116或熵解碼單元150等熵譯碼單元可對系數(shù)群組執(zhí)行全部五個譯碼遍次,之后對下一系數(shù)群組的系數(shù)執(zhí)行任何譯碼遍次。為此原因,當(dāng)熵譯碼單元選擇群組中的系數(shù)語法元素的譯碼上下文時,熵譯碼單元可確定先前經(jīng)處理群組中的系數(shù)的實際絕對值。
[0230]除了上述JCTVC-H0228的提議的缺點之外,JCTVC-H0228的提議可能需要視頻譯碼器交錯CABAC譯碼語法元素和旁路譯碼語法元素的譯碼。這是因為JCTVC-H0228的提議要求對系數(shù)的sigMapFlag、grlFlag、gr2Flag、signFlag和levelRem進行譯碼,之后對下一系數(shù)進行譯碼。通常,sigMapFlag>grlFlag和gr2Flag經(jīng)CABAC譯碼,而signFlag和levelRem經(jīng)旁路譯碼。交錯CABAC譯碼語法元素和旁路譯碼語法元素的譯碼可降低譯碼效率。另外,JCTVC-H0228的提議可需要視頻譯碼器存儲特定系數(shù)的系數(shù)鄰域中的系數(shù)的整個絕對值以便選擇特定系數(shù)的譯碼上下文。存儲系數(shù)的整個絕對值可顯著增加視頻譯碼器所需的存儲。
[0231]根據(jù)本發(fā)明的一或多種技術(shù),為了促進旁路譯碼語法元素的并行化剖析能力,可將每一 TU劃分為一或多個子集。在一些實例中,每一子集主要使用兩個遍次來譯碼:一個遍次用于上下文譯碼語法元素,且另一遍次用于旁路譯碼語法元素。上下文譯碼語法元素可為sigMapFlag、grlFlag和gr2Flag,且旁路譯碼語法兀素可為signFlag和levelRem。在上下文譯碼語法元素遍次中,對一個系數(shù)的grlFlag和gr2Flag (如果可用)進行編碼/解碼,之后繼續(xù)到接下來的系數(shù)。也可以分離的遍次來處理SignFlag和levelRem。在此實例中,在每一組塊中應(yīng)用三個譯碼遍次。上述兩個或三個譯碼遍次實例也可應(yīng)用于整個TU中的系數(shù)譯碼。
[0232]如先前提到,通過使用JCTVC-H0228的提議對sigMapFlag、grlFlag和gr2Flag語法元素的上下文模型選擇可能需要絕對等級值的存儲。在本發(fā)明的單獨譯碼遍次技術(shù)中,已經(jīng)編碼(或解碼)的語法元素可用于上下文模型選擇。通過此邏輯,當(dāng)推導(dǎo)系數(shù)語法元素的上下文模型時,屬于同一組塊的相鄰系數(shù)可具有最大等級3 (用已經(jīng)譯碼上下文二進位重構(gòu))且屬于先前組塊的相鄰系數(shù)可具有整個等級信息。為了兩個部分之間的平衡以及減少存儲每一系數(shù)的整個等級值的緩沖器大小,可在使用所存儲系數(shù)上下文模型推導(dǎo)之前將所存儲系數(shù)截斷到某一閾值。在一個實例中,視頻譯碼器可將所存儲系數(shù)截斷(例如,修剪)到3,這可導(dǎo)致用于上下文推導(dǎo)的所有所存儲系數(shù)以兩個位表示且具有一致的數(shù)據(jù)范圍。
[0233]圖12是圖解說明根據(jù)本發(fā)明的一或多種技術(shù)的視頻解碼器在三個譯碼遍次中對子塊的系數(shù)語法元素進行譯碼的實例操作450的流程圖。操作450可解決上述JCTVC-H0228的提議的缺點。
[0234]在圖12的實例中,熵譯碼單元(例如,熵編碼單元116或熵解碼單元150)可執(zhí)行第一譯碼遍次以對系數(shù)塊的子塊中的系數(shù)的sigMapFlag、grlFlag和gr2Flag進行譯碼(452)。當(dāng)熵譯碼單元執(zhí)行第一譯碼遍次時,熵譯碼單元可產(chǎn)生且CABAC譯碼系數(shù)的sigMapFlag>grlFlag 和 gr2Flag,之后產(chǎn)生且 CABAC 譯碼下一系數(shù)的 sigMapFlag、grlFlag和 gr2Flag。
[0235]在完成第一譯碼遍次之后,熵譯碼單元可執(zhí)行第二譯碼遍次以對子塊中的系數(shù)的signFlag進行譯碼(454)。當(dāng)熵譯碼單元執(zhí)行第二譯碼遍次時,熵譯碼單元可產(chǎn)生且旁路譯碼系數(shù)的signFlag,之后譯碼下一系數(shù)的signFlag。此外,在完成第二譯碼遍次之后,熵譯碼單元可執(zhí)行第三譯碼遍次以對子塊中的系數(shù)的levelRem進行譯碼(456)。當(dāng)熵譯碼單元執(zhí)行第三譯碼遍次時,熵譯碼單元可產(chǎn)生且旁路譯碼系數(shù)的levelRem,之后譯碼下一系數(shù)的 levelRem。
[0236]在替代實例中,熵譯碼單元可在單個遍次中對子塊中的系數(shù)的signFlag和IevelRem兩者進行譯碼。也就是說,熵譯碼單元可對系數(shù)的signFlag和IevelRem進行旁路譯碼,之后對子塊中的下一系數(shù)的signFlag和levelRem進行旁路譯碼。以此方式,熵譯碼單元可執(zhí)行兩個遍次:一個譯碼遍次用于CABAC譯碼語法元素,且一個譯碼遍次用于旁路譯碼語法元素。此外,在其它實例中,熵譯碼單元可對TU的整個系數(shù)塊執(zhí)行上述三個或兩個譯碼遍次,與系數(shù)塊的子塊相反。兩個或三個譯碼遍次的使用可比五個譯碼遍次的使用有利,因為在譯碼次序上較早的系數(shù)的較多等級信息(即,sigMapFlag、grlFlag和gr2Flag)可用于譯碼上下文的選擇。也就是說,與五個單獨譯碼遍次相比,兩個或三個譯碼遍次的優(yōu)點是上下文鄰域中的較多等級信息(直到3的等級)可用于上下文推導(dǎo)。
[0237]圖13A和13B是圖解說明當(dāng)根據(jù)對角線譯碼次序執(zhí)行譯碼遍次時用于選擇sigMapFlag的譯碼上下文的上下文鄰域的實例模板的概念圖。圖14A和14B是圖解說明當(dāng)根據(jù)水平譯碼次序執(zhí)行譯碼遍次時用于選擇sigMapFlag的譯碼上下文的上下文鄰域的實例模板的概念圖。圖15A和15B是圖解說明當(dāng)根據(jù)垂直譯碼次序執(zhí)行譯碼遍次時用于選擇sigMapFlag的譯碼上下文的上下文鄰域的實例模板的概念圖。圖13A、13B、14A、14B、15A和15B的模板可應(yīng)用于任意大小的TU。在圖13A、13B、14A、14B、15A和15B的實例中,每一塊對應(yīng)于系數(shù)塊中的系數(shù)。圖13A和13B中的箭頭500指示對角線譯碼次序的方向。圖14A和14B中的箭頭510指不水平譯碼次序的方向。圖15A和15B中的箭頭520指不垂直譯碼次序的方向。
[0238]分別在圖13A、13B、14A、14B、15A和15B中具有點劃交叉影線的塊502、504、512、514、522和524指示系數(shù)塊中的當(dāng)前系數(shù)。在圖13A、13B、14A、14B、15A和15B的實例中,熵譯碼單元(例如,熵編碼單元116或熵解碼單元150)可并行地處理兩個語法元素(例如,二進位)。因此,系數(shù)的上下文鄰域的模板避免使用譯碼次序中的前一系數(shù)的當(dāng)前優(yōu)先級語法元素。實際上,一些系數(shù)的上下文鄰域的模板可包含除了譯碼次序中的前一系數(shù)之外的額外系數(shù)。在圖13B中,塊506和508對應(yīng)于額外系數(shù)。在另一實例中,塊506上方的塊可對應(yīng)于額外系數(shù)。在圖14A中,塊516對應(yīng)于額外系數(shù)。在圖14B中,塊518和519對應(yīng)于額外系數(shù)。在圖15A中,塊526對應(yīng)于額外系數(shù)。在圖15B中,塊528和530對應(yīng)于額外系數(shù)。
[0239]如果熵譯碼單元使用4x4子塊對系數(shù)塊進行譯碼且如果系數(shù)塊內(nèi)的當(dāng)前系數(shù)的(列,行)坐標(biāo)(相對于系數(shù)塊的左上角)不是(0,0)或(3,2),那么熵譯碼單元可取決于譯碼次序,基于與圖13A、14A或15A中所示當(dāng)前系數(shù)具有空間關(guān)系的系數(shù)的sigMapFlag來選擇當(dāng)前系數(shù)的sigMapFlag的譯碼上下文。如果系數(shù)塊內(nèi)的當(dāng)前系數(shù)的(列,行)坐標(biāo)是(0,0)或(3,2),那么熵譯碼單元可取決于譯碼次序,基于與圖138、148或158中所示當(dāng)前系數(shù)具有空間關(guān)系的系數(shù)的sigMapFlag來選擇當(dāng)前系數(shù)的sigMapFlag的譯碼上下文。此實例可延伸到具有不同大小的子塊,且可用右下方系數(shù)正上方的系數(shù)的坐標(biāo)代替(3,2)。
[0240]在熵譯碼單元使用圖13A、13B、14A、14B、15A或15B的上下文鄰域的一些實例中,熵譯碼單元可至少部分地基于當(dāng)前系數(shù)的上下文鄰域中非零系數(shù)的總數(shù)目來確定當(dāng)前系數(shù)的sigMapFlag的上下文索引。當(dāng)前系數(shù)的上下文鄰域中的非零系數(shù)的總數(shù)目可表示為sumOnes。在此些實例中,熵譯碼單元可使用以下等式確定用于選擇當(dāng)前系數(shù)的sigMapFlag的譯碼上下文的上下文索引(Ctx_idx):
[0241]ctx_idx = ctx_set_idxX 6+min (sumOnes, 5)
[0242]在以上等式中,ctx_set_idx表示上下文集合索引。熵譯碼單元可以各種方式確定上下文集合索引,包含本發(fā)明中在別處描述的方式。
[0243]在一些實例中,熵譯碼單元可能夠通過基于所有可用信息選擇譯碼上下文來更準(zhǔn)確地選擇譯碼上下文。舉例來說,如果熵譯碼單元正在選擇grlFlag的譯碼上下文,那么熵譯碼單元可基于模板中的sigMapFlag和grlFlag來選擇譯碼上下文。在此實例中,熵譯碼單元還可基于系數(shù)的實際絕對值(如果可用)來選擇grlFlag的譯碼上下文。然而在一些實例中,以此方式選擇譯碼上下文可大體上增加熵譯碼單元的計算復(fù)雜性。這是因為熵譯碼單元可能需要更新sigMapFlag、grlFlag和gr2Flag的系數(shù)的(實際或估計)絕對值。為了減少熵譯碼單元的計算復(fù)雜性,熵譯碼單元可再使用從經(jīng)譯碼語法元素的模板獲得的信息用于后續(xù)語法元素。
[0244]舉例來說,熵譯碼單元可為系數(shù)的grlFlag和gr2Flag選擇相同的譯碼上下文。換句話說,coeff_abs_level_greaterl_flag 和 coeff_abs_level_greater2_flag 可使用系數(shù)的相同上下文。此外,熵譯碼單元可再使用系數(shù)的sumOnes的值來確定grlFlag和gr2Flag的譯碼上下文的上下文索引。在一些此類實例中,熵譯碼單元可使用以下公式來確定上下文索引:
[0245]ctx_idx = ctx_set_idx X 5+min (sumOnes, 4)
[0246]在另一實例中,熵譯碼單元可在不修改的情況下使用曾用以選擇sigMapFlag的譯碼上下文的相同上下文索引來選擇grlFlag和gr2Flag的譯碼上下文。因此,在這些實例中,grlFlag的上下文建??稍偈褂胹igMapFlag的計算的結(jié)果,因此不需要額外鄰域存取。gr2Flag的上下文建??稍偈褂糜糜趯?yīng)grlFlag的上下文而無任何額外計算。
[0247]以下表展示使用涉及圖13A、13B、14A、14B、15A和15B的與本發(fā)明的技術(shù)一致的技術(shù)的測試結(jié)果。提出的方法是在HM6.0上實施且在共同測試條件下模擬。在Bj0mCgaiu-dDelta(BD)位速率方面將性能與HM6.0錨點進行比較。表3.1和3.2分別概括了針對QP ={22,27,32,37}和 QP = {12,17,22,27}的實驗結(jié)果。
[0248]表3.1 針對 QP = {22,27,32,37}的模擬結(jié)果
[0249]
全部幀內(nèi)主要全部幀內(nèi)HElO__Y__U_V__Y__U_V
A 炎-0.1 % -0.1 % -0.2% -0.2% -0.2% -0.1 %
B 炎0.0% 0.1 % -0.1 % -0.1 % 0.1 % -0.1 %
C 炎-0.2% 0.1 % 0.1 % -0.2% 0.2% 0.2%
D 炎-0.2% 0.2% 0.0% -0.2% 0,2% 0.1%
E 炎__-0.2% 0.0% 0.0% -0.2% 0.0% 0.0%
總體-0.1% 0.1 % 0.0% -0.2% 0.0% 0.0%
__-0.1 % 0.1% 0.0% -0.2% 0.0% 0.0%
F 炎__0.2% 0.5% 0.3% 0.2% 0.2% 0.2%
編碼時間[%]103%102%
解碼時間[%j__100%___100%_
i機存取主要函機存取HElO__Y__U_V__Y__U_V
A 炎0.1 % 0.4% 0.5% 0.0% 0.0% -0.2%
B 炎0.0% 0.0% 0.0% 0.0% 0.2% 0.1%
C J1-0.27c 0.2% 0.0% -0.丨 % 0.丨 % 0.0%
D 炎-0.2% 0.1% 0.2% -0.1 % 0.2% 0.3%
E類_____
總體-0.1% 0.2% 0.2% 0.0% 0.1% 0.0%
__0.0% 0.2% 0.2% 0.0% 0.2% 0.0%
0.2% 0.3% 0.3% 0.1% 0.2% 0.1%
編碼時間[%]103%101%
解碼時間[%i__100%___100%_
g延遲B主要涵延遲B HElO
__Y__U_V__Y__U_V
Am
B 炎 0.2%0.6%0.2%0.2%0.3%0.2%
C 炎 0.0%0.6%0.2%0.0%0.9%0.6%
D -? 0.0%0.3%0.6%0.0%0.0%0.6%
E Ti__0.0%-0.2%0.6%0.1 %1.6%0.1 %
0.1%0.4%0.4%0.1 %0.6%0.4%~
__0.1 %0.4%0.3%0.1%0.7%0.3%
F 類 --0.1 %1.1%0.5%_ 0.1%0.2%2.7%
編碼時間[%]101%101%
解碼時間[%] _100%__100%_
[0250]表3.1 針對 QP = {12,17,22,27}的模擬結(jié)果
[0251]
全部幀內(nèi)主要全部幀內(nèi)HElO__Y__U_V__Y__U__V
-0,3% -0.1 %-0.1 %-0.3% -0.2% -0.2%~
B -? 0.3% 0.5%0.3%0.2% 0.4% 0.2%
C Y1-0.1 % 0.1 %0.1 %-0.1 % 0.2% 0.1 %
D 炎 -0.3% 0.0%0.0%-0.3% 0.1% 0.0%
[0252]
E f1-0.2%' 0.0%0.0%-03% 0.0% 0.0%
-0.1 % oTi oT1-0.1% ai% ο?%~
__-0.1 % 0.2% 0.1 % -0.1 % 0.1 % 0.0%
F yA__0.3% 0.4% 0.3% 0.3% 0.2% 0.4%
編碼時間[%]111%108%
解碼時間[%] _#NUM!___#NUM!__
ii機存取主要i機存取HEii
__Y__U_V__Y__U__V
A -?-0.1% 0.1 % 0.2% -0.1% -0.1% -0.2%
B 炎0.2% 0.4% 0.2% 0.2% 0.3% 0.0%
C 炎-0.丨 %' 0.3% 0.1 %' -0.丨 % 0.3% 0.丨 %
D 芡-0.1 % 0.2% 0.2% -0.1% 0.3% 0.1 %
E炎______
總體0.0% 0.2% 0.2% 0.0% 0.2% 0.0%
__0.0% 0.2% 0.2% 0.0% 0.2% 0.0%
F 炎__0.0% 0.2% 0.2% 0.0% 0.1 % 0.1 %
編碼時間[%]106%106%
解碼時間[%j__#NUM!___#NUM!__
遠延遲B主要I延遲B HE1
__Y_U_V__Y__U__V
AM
B 炎0.2% 0.4%0.2%0.2% 0.4%0.2%
C ^0.0% 0.6%0.2%0.0% 0.6%0.4%
D Ti0.0% 0.3%0.2%0.0% 0.4%0.4%
E 炎__0.1 % 0.5%0.1 %0.0% -0.1 %-0.1 %
(ΓΓ% 05%02%ai% 03%02%~
__0.1 % 0.4%0.2%0.0% 0.3%0.3%
F 炎__-0.1 % 0.1%0.1%0.1 % 0.5%0.0%
編碼時間[%]106%107%
解碼時間[%]__#NUM!__#NUM!_
[0253]雖然本發(fā)明是相對于上述變換系數(shù)中使用的語法元素來寫出,但本發(fā)明的技術(shù)可在使用其它語法元素的情況下適用,只要譯碼是在至少兩個遍次中完成以使得可應(yīng)用優(yōu)先級遍次的概念即可。
[0254]在一或多個實例中,所描述的功能可以硬件、軟件、固件或其任一組合來實施。如果以軟件實施,那么功能可作為一個或多個指令或代碼存儲在計算機可讀媒體上或經(jīng)由計算機可讀媒體傳輸,且由基于硬件的處理單元執(zhí)行。計算機可讀媒體可包含對應(yīng)于例如數(shù)據(jù)存儲媒體等有形媒體的計算機可讀存儲媒體,或包含促進計算機程序例如根據(jù)通信協(xié)議從一處傳送到另一處的任何媒體的通信媒體。以此方式,計算機可讀媒體通??蓪?yīng)于(I)非暫時性的有形計算機可讀存儲媒體,或(2)例如信號或載波等通信媒體。數(shù)據(jù)存儲媒體可為可由一或多個計算機或者一或多個處理器存取以檢索用于實施本發(fā)明中描述的技術(shù)的指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計算機程序產(chǎn)品可包含計算機可讀媒體。
[0255]舉例來說且并非限制,此類計算機可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用來以指令或數(shù)據(jù)結(jié)構(gòu)的形式存儲所要程序代碼且可由計算機存取的任何其它媒體。而且,恰當(dāng)?shù)貙⑷魏芜B接稱作計算機可讀媒體。舉例來說,如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電及微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠程源傳輸指令,則同軸電纜、光纖電纜、雙絞線、DSL或例如紅外線、無線電及微波等無線技術(shù)包含于媒體的定義中。然而應(yīng)了解,計算機可讀存儲媒體和數(shù)據(jù)存儲媒體不包含連接、載波、信號或其它瞬時媒體,而是針對非瞬時有形存儲媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(⑶)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟磁盤及藍光光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤使用激光以光學(xué)方式再生數(shù)據(jù)。上文的組合也應(yīng)包含在計算機可讀媒體的范圍內(nèi)。
[0256]可由例如一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指上述結(jié)構(gòu)或適合于實施本文中所描述的技術(shù)的任一其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文描述的功能性可提供于經(jīng)配置以用于編碼和解碼的專用硬件和/或軟件模塊內(nèi),或并入在組合式編解碼器中。并且,可將所述技術(shù)完全實施于一個或多個電路或邏輯元件中。
[0257]本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實施,包含無線手持機、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元以強調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但不一定需要通過不同硬件單元來實現(xiàn)。而是,如上所述,各種單元可在編解碼器硬件單元中組合或由互操作硬件單元(包含如上所述的一個或多個處理器)的集合結(jié)合合適軟件和/或固件來提供。
[0258]已描述了各種實例。這些和其它實例屬于所附權(quán)利要求書的范圍內(nèi)。
【權(quán)利要求】
1.一種用于對視頻數(shù)據(jù)進行編碼的方法,所述方法包括: 基于殘余樣本塊產(chǎn)生系數(shù)塊; 在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼;以及 在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼,其中對語法元素的所述第二集合進行編碼包括: 產(chǎn)生第一語法元素,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù); 至少部分地基于第二語法元素和第三語法元素來選擇所述第一語法元素的譯碼上下文,其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵編碼。
2.根據(jù)權(quán)利要求1所述的方法,其中對語法元素的所述第二集合進行編碼包括: 并行地產(chǎn)生所述第一語法元素和第四語法元素; 并行地選擇所述第一語法元素的所述譯碼上下文和所述第四語法元素的譯碼上下文,其中所述第一語法元素的所述譯碼上下文不是基于所述第四語法元素來選擇且所述第四語法元素的所述譯碼上下文不是基于所述第一語法元素來選擇;以及 基于所述第一和第四語法元素的所述譯碼上下文并行地對所述第一和第四語法元素進行熵編碼。
3.根據(jù)權(quán)利要求1所述的方法,其中所述系數(shù)塊包括多個子塊,所述第二譯碼遍次的所述譯碼次序是基于所述子塊,且所述因果系數(shù)是在所述子塊中與所述當(dāng)前系數(shù)不同的一個子塊中。
4.根據(jù)權(quán)利要求1所述的方法,其中語法元素的所述第二集合中的每一語法元素指示以下各項中的一者:與所述語法元素相關(guān)聯(lián)的系數(shù)是否大于一,或與所述語法元素相關(guān)聯(lián)的所述系數(shù)是否大于二。
5.根據(jù)權(quán)利要求1所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的實際絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述實際絕對值來選擇所述第一語法元素的所述譯碼上下文。
6.根據(jù)權(quán)利要求1所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的估計絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
7.根據(jù)權(quán)利要求6所述的方法,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且確定所述因果系數(shù)的所述估計絕對值包括將所述因果系數(shù)的所述估計絕對值確定為等于鄰近于所述因果系數(shù)的系數(shù)的估計絕對值。
8.根據(jù)權(quán)利要求6所述的方法,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且確定所述因果系數(shù)的所述估計絕對值包括將所述因果系數(shù)的所述估計絕對值確定為等于預(yù)定義值。
9.根據(jù)權(quán)利要求6所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 應(yīng)用公式以基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來確定索引,其中所述公式將加權(quán)值應(yīng)用于所述非因果系數(shù)的所述估計絕對值或所述因果系數(shù)的所述估計絕對值;以及 至少部分地基于所述索引來選擇所述第一語法元素的所述譯碼上下文。
10.根據(jù)權(quán)利要求6所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 將所述非因果系數(shù)的所述估計絕對值修剪為兩個或三個位; 將所述因果系數(shù)的所述估計絕對值修剪為兩個或三個位;以及至少部分地基于所述非因果系數(shù)和因果系數(shù)的所述經(jīng)修剪估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
11.一種視頻編碼裝置,其包括一或多個處理器,所述一或多個處理器經(jīng)配置以: 基于殘余樣本塊產(chǎn)生系數(shù)塊; 在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼;以及 在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼,其中所述一或多個處理器經(jīng)配置以使得在所述第二譯碼遍次期間所述一或多個處理器: 產(chǎn)生第一語法元素,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù); 至少部分地基于第二語法元素和第三語法元素來選擇所述第一語法元素的譯碼上下文,其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵編碼。
12.根據(jù)權(quán)利要求11所述的視頻編碼裝置,其中所述一或多個處理器經(jīng)配置以: 并行地產(chǎn)生所述第一語法元素和第四語法元素; 并行地選擇所述第一語法元素的所述譯碼上下文和所述第四語法元素的譯碼上下文,其中所述第一語法元素的所述譯碼上下文不是基于所述第四語法元素來選擇且所述第四語法元素的所述譯碼上下文不是基于所述第一語法元素來選擇;以及 基于所述第一和第四語法元素的所述譯碼上下文并行地對所述第一和第四語法元素進行熵編碼。
13.根據(jù)權(quán)利要求11所述的視頻編碼裝置,其中所述系數(shù)塊包括多個子塊,所述第二譯碼遍次的所述譯碼次序是基于所述子塊,且所述因果系數(shù)是在所述子塊中與所述當(dāng)前系數(shù)不同的一個子塊中。
14.根據(jù)權(quán)利要求11所述的視頻編碼裝置,其中語法元素的所述第二集合中的每一語法元素指示以下各項中的一者:與所述語法元素相關(guān)聯(lián)的系數(shù)是否大于一,或與所述語法元素相關(guān)聯(lián)的所述系數(shù)是否大于二。
15.根據(jù)權(quán)利要求11所述的視頻編碼裝置,其中所述一或多個處理器經(jīng)配置以: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的實際絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述實際絕對值來選擇所述第一語法元素的所述譯碼上下文。
16.根據(jù)權(quán)利要求11所述的視頻編碼裝置,其中所述一或多個處理器經(jīng)配置以: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的估計絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
17.根據(jù)權(quán)利要求16所述的視頻編碼裝置,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且所述一或多個處理器經(jīng)配置以將所述因果系數(shù)的所述估計絕對值確定為等于鄰近于所述因果系數(shù)的系數(shù)的估計絕對值。
18.根據(jù)權(quán)利要求16所述的視頻編碼裝置,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且所述一或多個處理器經(jīng)配置以將所述因果系數(shù)的所述估計絕對值確定為等于預(yù)定義值。
19.根據(jù)權(quán)利要求16所述的視頻編碼裝置,其中所述一或多個處理器經(jīng)配置以: 應(yīng)用公式以基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來確定索引,其中所述公式將加權(quán)值應(yīng)用于所述非因果系數(shù)的所述估計絕對值或所述因果系數(shù)的所述估計絕對值;以及 至少部分地基于所述索引來選擇所述第一語法元素的所述譯碼上下文。
20.根據(jù)權(quán)利要求16所述的視頻編碼裝置,其中所述一或多個處理器經(jīng)配置以選擇所述第一語法元素的所述譯碼上下文包括: 將所述非因果系數(shù)的所述估計絕對值修剪為兩個或三個位; 將所述因果系數(shù)的所述估計絕對值修剪為兩個或三個位;以及至少部分地基于所述非因果系數(shù)和因果系數(shù)的所述經(jīng)修剪估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
21.一種視頻編碼裝置,其包括: 用于基于殘余樣本塊產(chǎn)生系數(shù)塊的裝置; 用于在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼的裝置;以及 用于在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼的裝置,其中所述用于對語法元素的所述第二集合進行編碼的裝置包括: 用于產(chǎn)生第一語法元素的裝置,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù); 用于至少部分地基于第二語法元素和第三語法元素來選擇所述第一語法元素的譯碼上下文的裝置,其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 用于至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵編碼的裝置。
22.—種存儲指令的計算機可讀存儲媒體,所述指令在由視頻編碼裝置的一或多個處理器執(zhí)行時配置所述視頻編碼裝置以: 基于殘余樣本塊產(chǎn)生系數(shù)塊; 在所述系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行編碼;以及 在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行編碼,其中所述指令配置所述視頻編碼裝置以使得在所述第二譯碼遍次期間所述視頻編碼裝置: 產(chǎn)生第一語法元素,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù); 至少部分地基于第二語法元素和第三語法元素來選擇所述第一語法元素的譯碼上下文,其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵編碼。
23.一種用于對視頻數(shù)據(jù)進行解碼的方法,所述方法包括: 在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼; 在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼,其中執(zhí)行所述第二譯碼遍次包括: 至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù),其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵解碼;以及 基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊。
24.根據(jù)權(quán)利要求23所述的方法,其中對語法元素的所述第二集合進行解碼包括: 并行地選擇所述第一語法元素的所述譯碼上下文和第四語法元素的譯碼上下文,其中所述第一語法元素的所述譯碼上下文不是基于所述第四語法元素來選擇且所述第四語法元素的所述譯碼上下文不是基于所述第一語法元素來選擇;以及 基于所述第一和第四語法元素的所述譯碼上下文并行地對所述第一和第四語法元素進行熵解碼。
25.根據(jù)權(quán)利要求23所述的方法,其中所述系數(shù)塊包括多個子塊,所述第二譯碼遍次的所述譯碼次序是基于所述子塊,且所述因果系數(shù)是在所述子塊中與所述當(dāng)前系數(shù)不同的一個子塊中。
26.根據(jù)權(quán)利要求23所述的方法,其中語法元素的所述第二集合中的每一語法元素指示以下各項中的一者:與所述語法元素相關(guān)聯(lián)的系數(shù)是否大于一,或與所述語法元素相關(guān)聯(lián)的所述系數(shù)是否大于二。
27.根據(jù)權(quán)利要求26所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的實際絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述實際絕對值來選擇所述第一語法元素的所述譯碼上下文。
28.根據(jù)權(quán)利要求26所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的估計絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
29.根據(jù)權(quán)利要求28所述的方法,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且確定所述因果系數(shù)的所述估計絕對值包括將所述因果系數(shù)的所述估計絕對值確定為等于鄰近于所述因果系數(shù)的系數(shù)的估計絕對值。
30.根據(jù)權(quán)利要求28所述的方法,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且確定所述因果系數(shù)的所述估計絕對值包括將所述因果系數(shù)的所述估計絕對值確定為等于預(yù)定義值。
31.根據(jù)權(quán)利要求28所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 應(yīng)用公式以基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來確定索引,其中所述公式將加權(quán)值應(yīng)用于所述非因果系數(shù)的所述估計絕對值或所述因果系數(shù)的所述估計絕對值;以及 至少部分地基于所述索引來選擇所述第一語法元素的所述譯碼上下文。
32.根據(jù)權(quán)利要求28所述的方法,其中選擇所述第一語法元素的所述譯碼上下文包括: 將所述非因果系數(shù)的所述估計絕對值修剪為兩個或三個位; 將所述因果系數(shù)的所述估計絕對值修剪為兩個或三個位;以及至少部分地基于所述非因果系數(shù)和因果系數(shù)的所述經(jīng)修剪估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
33.一種視頻解碼裝置,其包括一或多個處理器,所述一或多個處理器經(jīng)配置以: 在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼; 在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼,其中所述一或多個處理器經(jīng)配置以使得在所述第二譯碼遍次期間所述一或多個處理器: 至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù),其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵解碼;以及 基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊。
34.根據(jù)權(quán)利要求33所述的視頻解碼裝置,其中所述一或多個處理器經(jīng)配置以: 并行地選擇所述第一語法元素的所述譯碼上下文和第四語法元素的譯碼上下文,其中所述第一語法元素的所述譯碼上下文不是基于所述第四語法元素來選擇且所述第四語法元素的所述譯碼上下文不是基于所述第一語法元素來選擇;以及 基于所述第一和第四語法元素的所述譯碼上下文并行地對所述第一和第四語法元素進行熵解碼。
35.根據(jù)權(quán)利要求33所述的視頻解碼裝置,其中所述系數(shù)塊包括多個子塊,所述第二譯碼遍次的所述譯碼次序是基于所述子塊,所述因果系數(shù)是在所述子塊中與所述當(dāng)前系數(shù)不同的一個子塊中。
36.根據(jù)權(quán)利要求33所述的視頻解碼裝置,其中語法元素的所述第二集合中的每一語法元素指示以下各項中的一者:與所述語法元素相關(guān)聯(lián)的系數(shù)是否大于一,或與所述語法元素相關(guān)聯(lián)的所述系數(shù)是否大于二。
37.根據(jù)權(quán)利要求33所述的視頻解碼裝置,其中所述一或多個處理器經(jīng)配置以: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的實際絕對值;以及至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述實際絕對值來選擇所述第一語法元素的所述譯碼上下文。
38.根據(jù)權(quán)利要求33所述的視頻解碼裝置,其中所述一或多個處理器經(jīng)配置以: 至少部分地基于所述第二語法元素確定所述非因果系數(shù)的估計絕對值; 至少部分地基于所述第三語法元素確定所述因果系數(shù)的估計絕對值;以及 至少部分地基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
39.根據(jù)權(quán)利要求38所述的視頻解碼裝置,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且所述一或多個處理器經(jīng)配置以將所述因果系數(shù)的所述估計絕對值確定為等于鄰近于所述因果系數(shù)的系數(shù)的估計絕對值。
40.根據(jù)權(quán)利要求38所述的視頻解碼裝置,其中所述因果系數(shù)根據(jù)所述第二譯碼遍次的所述譯碼次序在所述當(dāng)前系數(shù)的特定數(shù)目的系數(shù)內(nèi),且所述一或多個處理器經(jīng)配置以將所述因果系數(shù)的所述估計絕對值確定為等于預(yù)定義值。
41.根據(jù)權(quán)利要求38所述的視頻解碼裝置,其中所述一或多個處理器經(jīng)配置以: 應(yīng)用公式以基于所述非因果系數(shù)的所述估計絕對值和所述因果系數(shù)的所述估計絕對值來確定索引,其中所述公式將加權(quán)值應(yīng)用于所述非因果系數(shù)的所述估計絕對值或所述因果系數(shù)的所述估計絕對值;以及 至少部分地基于所述索引來選擇所述第一語法元素的所述譯碼上下文。
42.根據(jù)權(quán)利要求38所述的視頻解碼裝置,其中所述一或多個處理器經(jīng)配置以: 將所述非因果系數(shù)的所述估計絕對值修剪為兩個或三個位; 將所述因果系數(shù)的所述估計絕對值修剪為兩個或三個位;以及至少部分地基于所述非因果系數(shù)和因果系數(shù)的所述經(jīng)修剪估計絕對值來選擇所述第一語法元素的所述譯碼上下文。
43.一種視頻解碼裝置,其包括: 用于在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼的裝置; 用于在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼的裝置,其中所述用于執(zhí)行所述第二譯碼遍次的裝置包括:用于至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文的裝置,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù),其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 用于至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵解碼的裝置;以及 用于基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊的裝置。
44.一種存儲指令的計算機可讀存儲媒體,所述指令在由視頻解碼裝置的一或多個處理器執(zhí)行時配置所述視頻解碼裝置以: 在系數(shù)塊的系數(shù)的第一譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第一集合進行解碼; 在所述系數(shù)塊的所述系數(shù)的第二譯碼遍次期間對對應(yīng)于所述系數(shù)塊的系數(shù)的語法元素的第二集合進行解碼,其中所述指令配置所述視頻編碼裝置以使得在所述第二譯碼遍次期間所述視頻解碼裝置: 至少部分地基于第二語法元素和第三語法元素來選擇第一語法元素的譯碼上下文,所述第一語法元素在語法元素的所述第二集合中且對應(yīng)于所述系數(shù)塊的當(dāng)前系數(shù),其中所述第二語法元素在語法元素的所述第一集合中且對應(yīng)于非因果系數(shù),其中所述第三語法元素在語法元素的所述第二集合中且對應(yīng)于因果系數(shù),所述非因果系數(shù)在所述第二譯碼遍次的譯碼次序中的所述當(dāng)前系數(shù)之后發(fā)生,所述因果系數(shù)在所述第二譯碼遍次的所述譯碼次序中的所述當(dāng)前系數(shù)之前發(fā)生;以及 至少部分地基于為所述第一語法元素選擇的所述譯碼上下文來對所述第一語法元素進行熵解碼;以及 基于所述系數(shù)塊的所述系數(shù)產(chǎn)生殘余樣本塊。
【文檔編號】H04N19/176GK104185990SQ201380006166
【公開日】2014年12月3日 申請日期:2013年1月18日 優(yōu)先權(quán)日:2012年1月22日
【發(fā)明者】拉詹·拉克斯曼·喬希, 陳建樂, 錢威俊, 瓦迪姆·謝廖金, 霍埃爾·索賴羅哈斯, 馬爾塔·卡切維奇 申請人:高通股份有限公司