亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)和概率初始化的制作方法

文檔序號:7992942閱讀:293來源:國知局
用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)和概率初始化的制作方法
【專利摘要】在一個實(shí)例中,一種用于上下文自適應(yīng)性熵譯碼的設(shè)備可包含譯碼器,所述譯碼器經(jīng)配置以基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)。所述譯碼器可經(jīng)進(jìn)一步配置以基于所述初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。所述譯碼器可經(jīng)更進(jìn)一步配置以基于所述初始上下文狀態(tài)而初始化所述上下文。在一些實(shí)例中,所述初始化參數(shù)可包含于一或多個表中,其中,為了確定所述初始化參數(shù),所述譯碼器可經(jīng)配置以將所述初始化參數(shù)索引值映射到所述表中的所述初始化參數(shù)。替代地,所述譯碼器可經(jīng)配置以使用所述初始化參數(shù)索引值和一或多個公式來計算所述初始化參數(shù)。
【專利說明】用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)和概率初始化
[0001]本申請案主張以下各申請案的權(quán)利:2011年11月3日申請的美國臨時申請案第61/555,469號、2011年11月7日申請的美國臨時申請案第61/556,808號、2011年11月9日申請的美國臨時申請案第61/557,785號及2011年11月15日申請的美國臨時申請案第61/560,107號,所述申請案中的每一者的整個內(nèi)容以引用的方式并入本文中。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及視頻數(shù)據(jù)或類似者的熵譯碼,且更明確地說,涉及上下文自適應(yīng)性熵譯碼。
【背景技術(shù)】
[0003]數(shù)字視頻能力可并入到廣泛范圍的裝置中,裝置包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機(jī)、平板計算機(jī)、電子書閱讀器、數(shù)字?jǐn)z影機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、所謂的“智能電話”、視頻電傳會議裝置、視頻流式傳輸裝置及類似者。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如以下各者中所描述的技術(shù):由MPEG-2、MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4第10部分(進(jìn)階視頻譯碼(AVC))定義的標(biāo)準(zhǔn)、目前在開發(fā)中的有效率率視頻譯碼(HEVC)標(biāo)準(zhǔn),及這些標(biāo)準(zhǔn)的擴(kuò)展。視頻裝置可通過實(shí)施這些視頻壓縮技術(shù)而更有效率地發(fā)射、接收、編碼、解碼和/或存儲數(shù)字視頻信息。
[0004]視頻壓縮技術(shù)執(zhí)行空間(圖片內(nèi))預(yù)測和/或時間(圖片間)預(yù)測,以減少或去除視頻序列中固有的冗余。對于基于塊的視頻譯碼,可將視頻切片(即,視頻幀或視頻幀的一部分)分割成視頻塊(其也可被稱作樹塊、譯碼單元(CU)和/或譯碼節(jié)點(diǎn))。圖片的經(jīng)幀內(nèi)譯碼(I)切片中的視頻塊使用相對于相同圖片中的相鄰塊中的參考樣本的空間預(yù)測來編碼。圖片的經(jīng)幀間譯碼(P或B)切片中的視頻塊可使用相對于相同圖片中的相鄰塊中的參考樣本的空間預(yù)測或相對于其它參考圖片中的參考樣本的時間預(yù)測。圖片可被稱作幀,且參考圖片可被稱作參考幀。
[0005]空間預(yù)測或時間預(yù)測導(dǎo)致譯碼用于塊的預(yù)測性塊。殘余數(shù)據(jù)表示待譯碼的原始塊與預(yù)測性塊之間的像素差。根據(jù)指向形成預(yù)測性塊的參考樣本的塊的運(yùn)動向量及指示經(jīng)譯碼塊與預(yù)測性塊之間的差異的殘余數(shù)據(jù)來編碼經(jīng)幀間譯碼塊。根據(jù)幀內(nèi)譯碼模式及殘余數(shù)據(jù)來編碼經(jīng)幀內(nèi)譯碼塊。為了進(jìn)一步壓縮,可將殘余數(shù)據(jù)從像素域變換到變換域,從而產(chǎn)生殘余變換系數(shù),可接著使殘余變換系數(shù)量化??蓲呙枳畛醪贾贸啥S陣列的經(jīng)量化的變換系數(shù)以便產(chǎn)生變換系數(shù)的一維向量,且可應(yīng)用熵譯碼以達(dá)成甚至更多壓縮。

【發(fā)明內(nèi)容】

[0006]本發(fā)明描述用于譯碼例如視頻數(shù)據(jù)的數(shù)據(jù)的技術(shù)。例如,所述技術(shù)可用以譯碼通過視頻譯碼過程產(chǎn)生的例如殘余變換系數(shù)和/或其它語法元素的視頻數(shù)據(jù)。明確地說,本發(fā)明描述可使用上下文自適應(yīng)性熵譯碼過程來促成視頻數(shù)據(jù)的有效率譯碼的技術(shù)。本發(fā)明僅出于說明的目的而描述視頻譯碼。因而,本發(fā)明中所描述的技術(shù)可適用于譯碼其它類型的數(shù)據(jù)。
[0007]作為一個實(shí)例,本發(fā)明的技術(shù)可使得譯碼系統(tǒng)或裝置能夠比使用其它技術(shù)時的情況更有效率地譯碼例如視頻數(shù)據(jù)的各種類型的數(shù)據(jù)。明確地說,本文中所描述的技術(shù)可使得譯碼系統(tǒng)或裝置能夠在使用例如上下文自適應(yīng)性二進(jìn)制算術(shù)譯碼(CABAC)過程的上下文自適應(yīng)性熵譯碼過程譯碼數(shù)據(jù)時,相對于其它系統(tǒng)或裝置來說具有較低復(fù)雜性。例如,出于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的目的,技術(shù)可減小存儲于譯碼系統(tǒng)或裝置內(nèi)和/或傳輸?shù)阶g碼系統(tǒng)或裝置或從譯碼系統(tǒng)或裝置傳輸?shù)男畔⒌牧?。作為一個實(shí)例,可通過存儲和/或傳輸指示用以初始化上下文的初始化參數(shù)的初始化參數(shù)索引值而非直接存儲和/或傳輸初始化參數(shù)來減小信息的量。
[0008]另外,作為另一實(shí)例,當(dāng)譯碼系統(tǒng)或裝置經(jīng)配置以使用上下文自適應(yīng)性熵譯碼過程來譯碼數(shù)據(jù)時,技術(shù)可改進(jìn)數(shù)據(jù)的壓縮。例如,技術(shù)可通過以下操作來改進(jìn)數(shù)據(jù)的壓縮:使得譯碼系統(tǒng)或裝置能夠初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文,使得上下文包含與使用其它上下文初始化技術(shù)所確定的初始概率相比較來說相對更準(zhǔn)確的初始概率。明確地說,可使用參考上下文狀態(tài)及量化參數(shù)信息及各種關(guān)系或使用一或多個概率偏移,基于與數(shù)據(jù)相關(guān)聯(lián)的時間層信息而初始化上下文。另外,技術(shù)可通過以下操作來進(jìn)一步改進(jìn)數(shù)據(jù)的壓縮:使得譯碼系統(tǒng)或譯碼裝置能夠隨后更新上下文的概率,使得更新的概率與使用其它上下文概率更新技術(shù)、使用與上文所描述的技術(shù)相同或類似的技術(shù)更新的概率相比較來說相對更準(zhǔn)確。
[0009]在一個實(shí)例中,一種上下文自適應(yīng)性熵譯碼的方法可包含基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)。所述方法也可包含基于所述一或多個初始化參數(shù),確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。另外,所述方法可包含基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文。
[0010]在另一實(shí)例中,一種用于上下文自適應(yīng)性熵譯碼的設(shè)備可包含一譯碼器。在此實(shí)例中,所述譯碼器可經(jīng)配置以基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)。所述譯碼器可經(jīng)進(jìn)一步配置以基于所述一或多個初始化參數(shù),確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。所述譯碼器可經(jīng)更進(jìn)一步配置以基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文。
[0011 ] 在再一實(shí)例中,一種用于上下文自適應(yīng)性熵譯碼的裝置可包含用于基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)的裝置。所述裝置可進(jìn)一步包含用于基于所述一或多個初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)的裝置。所述裝置可更進(jìn)一步包含用于基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文的裝置。
[0012]本發(fā)明中所描述的所述技術(shù)可以硬件、軟件、固件或其任何組合來實(shí)施。如果以硬件來實(shí)施,那么設(shè)備可作為一或多個集成電路、一或多個處理器、離散邏輯或其任何組合來實(shí)現(xiàn)。如果以軟件來實(shí)施,那么軟件可在一或多個處理器中予以執(zhí)行,一或多個處理器例如一或多個微處理器、專用集成電路(ASIC)、場可程序化閘陣列(FPGA)或數(shù)字信號處理器(DSP)。執(zhí)行所述技術(shù)的軟件可最初存儲于有形或非暫時性計算機(jī)可讀存儲媒體中且載入于一或多個處理器中并在一或多個處理器中予以執(zhí)行。
[0013]因此,本發(fā)明也預(yù)期一種存儲有指令的非暫時性計算機(jī)可讀存儲媒體,所述指令在執(zhí)行時可使一或多個處理器執(zhí)行上下文自適應(yīng)性熵譯碼。在此實(shí)例中,所述指令可使所述一或多個處理器基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)。所述指令可進(jìn)一步使所述一或多個處理器基于所述一或多個初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。所述指令可更進(jìn)一步使所述一或多個處理器基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文。
[0014]一或多個實(shí)例的細(xì)節(jié)闡述于隨附圖式及以下描述中。其它特征、目標(biāo)及優(yōu)點(diǎn)將從所述描述及所述圖式以及從權(quán)利要求書顯而易見。
【專利附圖】

【附圖說明】
[0015]圖1為說明與本發(fā)明的技術(shù)一致的視頻編碼及解碼系統(tǒng)的實(shí)例的框圖,視頻編碼及解碼系統(tǒng)可實(shí)施用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的技術(shù)。
[0016]圖2為說明與本發(fā)明的技術(shù)一致的視頻編碼器的實(shí)例的框圖,視頻編碼器可實(shí)施用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的技術(shù)。
[0017]圖3為說明與本發(fā)明的技術(shù)一致的視頻解碼器的實(shí)例的框圖,視頻解碼器可實(shí)施用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的技術(shù)。
[0018]圖4為說明與本發(fā)明的技術(shù)一致的使用可調(diào)式視頻譯碼而譯碼的經(jīng)譯碼視頻序列的時間階層的實(shí)例的概念圖。
[0019]圖5到8為說明與本發(fā)明的技術(shù)一致的初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文及概率的實(shí)例方法的流程圖。
【具體實(shí)施方式】
[0020]本發(fā)明描述用于譯碼例如視頻數(shù)據(jù)的數(shù)據(jù)的技術(shù)。例如,技術(shù)可用以譯碼通過視頻譯碼過程產(chǎn)生的例如殘余變換系數(shù)和/或其它語法元素的視頻數(shù)據(jù)。明確地說,本發(fā)明描述可使用上下文自適應(yīng)性熵譯碼過程來促成視頻數(shù)據(jù)的有效率譯碼的技術(shù)。本發(fā)明僅出于說明的目的而描述視頻譯碼。因而,本發(fā)明中所描述的技術(shù)可適用于譯碼其它類型的數(shù)據(jù)。
[0021]在本發(fā)明中,術(shù)語“譯碼”指在編碼器處發(fā)生的編碼或在解碼器處發(fā)生的解碼。類似地,術(shù)語“譯碼器”指編碼器、解碼器,或組合式編碼器/解碼器(例如,“CODEC”)。術(shù)語“譯碼器”、“編碼器”、“解碼器”及“CODEC”皆指與本發(fā)明一致的經(jīng)設(shè)計用于例如視頻數(shù)據(jù)的數(shù)據(jù)的譯碼(即,編碼和/或解碼)的特定機(jī)器。
[0022]作為一個實(shí)例,本發(fā)明的技術(shù)可使譯碼系統(tǒng)或裝置能夠比使用其它技術(shù)時的情況更有效率地譯碼例如視頻數(shù)據(jù)的各種類型的數(shù)據(jù)。明確地說,本文中所描述的技術(shù)可使譯碼系統(tǒng)或裝置能夠在使用例如上下文自適應(yīng)性二進(jìn)制算術(shù)譯碼(CABAC)過程的上下文自適應(yīng)性熵譯碼過程譯碼數(shù)據(jù)時,相對于其它系統(tǒng)或裝置來說具有較低復(fù)雜性。例如,出于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的目的,技術(shù)可減少存儲于譯碼系統(tǒng)或裝置內(nèi)和/或傳輸?shù)阶g碼系統(tǒng)或裝置或從譯碼系統(tǒng)或裝置傳輸?shù)男畔⒌牧?。作為一個實(shí)例,可通過存儲和/或傳輸指示用以初始化上下文的初始化參數(shù)的初始化參數(shù)索引值而非直接存儲和/或傳輸初始化參數(shù)來減小信息的量。
[0023]另外,作為另一實(shí)例,當(dāng)譯碼系統(tǒng)或裝置經(jīng)配置以使用上下文自適應(yīng)性熵譯碼過程譯碼數(shù)據(jù)時,技術(shù)可改進(jìn)數(shù)據(jù)的壓縮。例如,技術(shù)可通過以下操作來改進(jìn)數(shù)據(jù)的壓縮:使得譯碼系統(tǒng)或裝置能夠初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文,使得上下文包含與使用其它上下文初始化技術(shù)所確定的初始概率相比較來說相對更準(zhǔn)確的初始概率。明確地說,可使用參考上下文狀態(tài)及量化參數(shù)信息及各種關(guān)系或使用一或多個概率偏移,基于與數(shù)據(jù)相關(guān)聯(lián)的時間層信息而初始化上下文。另外,技術(shù)可通過以下操作來進(jìn)一步改進(jìn)數(shù)據(jù)的壓縮:使得譯碼系統(tǒng)或裝置能夠隨后更新上下文的概率,使得更新的概率與使用其它上下文概率更新技術(shù)、使用與上文所描述的技術(shù)相同或類似的技術(shù)更新的概率相比較來說相對更準(zhǔn)確。
[0024]因此,當(dāng)使用本發(fā)明的技術(shù)時,可存在以下兩者:經(jīng)譯碼位流的相對位節(jié)省,經(jīng)譯碼位流包含經(jīng)譯碼數(shù)據(jù)以及傳輸?shù)阶g碼系統(tǒng)或裝置或從譯碼系統(tǒng)或裝置傳輸?shù)钠渌Z法信息(例如,初始化參數(shù)索引值);及用以譯碼數(shù)據(jù)的譯碼系統(tǒng)或裝置的復(fù)雜性的相對減小。
[0025]本發(fā)明的技術(shù)在一些實(shí)例中可供任何上下文自適應(yīng)性熵譯碼方法使用,上下文自適應(yīng)性熵譯碼方法包含上下文自適應(yīng)性可變長度譯碼(CAVLC)、CABAC、基于語法的上下文自適應(yīng)性二進(jìn)制算術(shù)譯碼(SBAC)、概率區(qū)間分割熵(PIPE)譯碼,或另一上下文自適應(yīng)性熵譯碼方法。僅出于說明的目的,在本文中描述CABAC,且無關(guān)于本發(fā)明中所廣泛描述的技術(shù)的限制。同樣,(例如)除視頻數(shù)據(jù)的譯碼之外,本文中所描述的技術(shù)也可大體上應(yīng)用于其它類型的數(shù)據(jù)的譯碼。
[0026]圖1為說明與本發(fā)明的技術(shù)一致的視頻編碼及解碼系統(tǒng)的實(shí)例的框圖,視頻編碼及解碼系統(tǒng)可實(shí)施用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的技術(shù)。如圖1中所展示,系統(tǒng)10包含源裝置12,源裝置12產(chǎn)生待在稍后時間由目的地裝置14解碼的經(jīng)編碼視頻數(shù)據(jù)。源裝置12及目的地裝置14可包括廣泛范圍的裝置中的任一者,裝置包含桌上型計算機(jī)、筆記型(B卩,膝上型)計算機(jī)、平板計算機(jī)、機(jī)頂盒、電話手機(jī)(例如,所謂的“智能”電話)、所謂的“智能”觸控板、電視、攝影機(jī)、顯示裝置、數(shù)字媒體播放器、視頻游戲控制臺、視頻流式傳輸裝置或類似者。在一些狀況下,源裝置12及目的地裝置14可經(jīng)裝備以用于無線通信。
[0027]目的地裝置14可經(jīng)由鏈路16接收待解碼的經(jīng)編碼視頻數(shù)據(jù)。鏈路16可包括能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)從源裝置12移到目的地裝置14的任何類型的媒體或裝置。在一個實(shí)例中,鏈路16可包括使得源裝置12能夠?qū)⒔?jīng)編碼視頻數(shù)據(jù)直接實(shí)時傳輸?shù)侥康牡匮b置14的通信媒體??筛鶕?jù)通信標(biāo)準(zhǔn)(例如,無線通信協(xié)議)來調(diào)制經(jīng)編碼視頻數(shù)據(jù),且將經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14。通信媒體可包括任何無線或有線通信媒體,例如,射頻(RF)頻譜或一或多個實(shí)體傳輸線。通信媒體可形成基于封包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)的全球網(wǎng)絡(luò))的部分。通信媒體可包含路由器、交換器、基站,或可用以促進(jìn)從源裝置12到目的地裝置14的通信的任何其它裝備。[0028]替代地,可將經(jīng)編碼視頻數(shù)據(jù)從輸出接口 22輸出到存儲裝置24。類似地,可通過輸入接口 26從存儲裝置24接入經(jīng)編碼視頻數(shù)據(jù)。存儲裝置24可包含多種分散式或本地接入的數(shù)據(jù)存儲媒體中的任一者,例如,硬碟機(jī)、藍(lán)光光盤、DVD、CD-ROM、快閃存儲器、易失性或非易失性存儲器,或用于存儲經(jīng)編碼視頻數(shù)據(jù)的任何其它合適數(shù)字存儲媒體。在另一實(shí)例中,存儲裝置24可對應(yīng)于可保持由源裝置12產(chǎn)生的經(jīng)編碼視頻的文件服務(wù)器或另一中間存儲裝置。目的地裝置14可經(jīng)由流式傳輸或下載從存儲裝置24接入所存儲的視頻數(shù)據(jù)。文件服務(wù)器可為能夠存儲經(jīng)編碼視頻數(shù)據(jù)且將彼經(jīng)編碼視頻數(shù)據(jù)傳輸?shù)侥康牡匮b置14的任何類型的服務(wù)器。實(shí)例文件服務(wù)器包含網(wǎng)站服務(wù)器(例如,用于網(wǎng)站)、FTP服務(wù)器、網(wǎng)絡(luò)附接存儲(NAS)裝置或本地磁盤機(jī)。目的地裝置14可經(jīng)由任何標(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)器,等等),或兩者的組合。來自存儲裝置24的經(jīng)編碼視頻數(shù)據(jù)的傳輸可為流式傳輸、下載傳輸或兩者的組合。
[0029]本發(fā)明的技術(shù)未必限于無線應(yīng)用或設(shè)定。技術(shù)可應(yīng)用于支持多種多媒體應(yīng)用(例如,(例如)經(jīng)由因特網(wǎng)的空中電視廣播、有線電視傳輸、衛(wèi)星電視傳輸、流式傳輸視頻傳輸)中的任一者的視頻譯碼、用于存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的編碼、存儲于數(shù)據(jù)存儲媒體上的數(shù)字視頻的解碼,或其它應(yīng)用。在一些實(shí)例中,系統(tǒng)10可經(jīng)配置以支持單向或雙向視頻傳輸以支持例如視頻流式傳輸、視頻播放、視頻廣播和/或視頻電話的應(yīng)用。
[0030]在圖1的實(shí)例中,源裝置12包含視頻源18、視頻編碼器20及輸出接口 22。在一些狀況下,輸出接口 22可包含調(diào)制器/解調(diào)制器(調(diào)制解調(diào)器)和/或傳輸器。在源裝置12中,視頻源18可包含例如以下各者的源:視頻捕獲裝置(例如,攝像機(jī))、含有先前捕獲的視頻的視頻存檔、從視頻內(nèi)容提供者接收視頻的視頻饋入接口,和/或用于產(chǎn)生計算機(jī)圖形數(shù)據(jù)作為源視頻的計算機(jī)圖形系統(tǒng),或這些源的組合。作為一個實(shí)例,如果視頻源18為攝像機(jī),那么源裝置12與目的地裝置14可形成所謂的攝影機(jī)電話或視頻電話。然而,大體來說,本發(fā)明中所描述的技術(shù)可適用于視頻譯碼,且可應(yīng)用于無線和/或有線應(yīng)用。
[0031]經(jīng)捕獲、經(jīng)預(yù)先捕獲或經(jīng)計算機(jī)產(chǎn)生的視頻可由視頻編碼器20來編碼。可經(jīng)由源裝置12的輸出接口 22將經(jīng)編碼視頻數(shù)據(jù)直接傳輸?shù)侥康牡匮b置14。也可(或替代地)將經(jīng)編碼視頻數(shù)據(jù)存儲到存儲裝置24上以供目的地裝置14或其它裝置稍后接入以用于解碼和/或播放。
[0032]目的地裝置14包含輸入接口 26、視頻解碼器30及顯示裝置28。在一些狀況下,輸入接口 26可包含接收器和/或調(diào)制解調(diào)器。目的地裝置14的輸入接口 26經(jīng)由鏈路16或從存儲裝置24接收經(jīng)編碼視頻數(shù)據(jù)。經(jīng)由鏈路16而傳達(dá)或提供于存儲裝置24上的經(jīng)編碼視頻數(shù)據(jù)可包含由視頻編碼器20產(chǎn)生的供視頻解碼器(例如,視頻解碼器30)用于解碼視頻數(shù)據(jù)中的多種語法元素。這些語法元素可包含于在通信媒體上傳輸、存儲于存儲媒體上或存儲于文件服務(wù)器上的經(jīng)編碼視頻數(shù)據(jù)中。
[0033]顯示裝置28可與目的地裝置14集成或在目的地裝置14外部。在一些實(shí)例中,目的地裝置14可包含集成顯示裝置(例如,顯示裝置28)和/或經(jīng)配置以與外部顯示裝置接口連接。在其它實(shí)例中,目的地裝置14自身可為顯示裝置。大體來說,顯示裝置28向用戶顯示經(jīng)解碼的視頻數(shù)據(jù),且可包括多種顯示裝置中的任一者,例如,液晶顯示器(LCD)、等離子顯示器、有機(jī)發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。
[0034]視頻編碼器20及視頻解碼器30可根據(jù)例如目前由ITU-T視頻譯碼專家組群組(VCEG)及IS0/IEC動畫專家組群組(MPEG)的視頻譯碼聯(lián)合協(xié)作小組(JCT-VC)開發(fā)的高效率視頻譯碼(HEVC)標(biāo)準(zhǔn)的視頻壓縮標(biāo)準(zhǔn)操作,且可遵照HEVC測試模型(HM)。替代地,視頻編碼器20及視頻解碼器30可根據(jù)例如或者被稱作MPEG4的ITU-T H.264標(biāo)準(zhǔn)第10部分(進(jìn)階視頻譯碼(AVC))(下文中為H.264/AVC)的其它專屬或工業(yè)標(biāo)準(zhǔn)或這些標(biāo)準(zhǔn)的擴(kuò)展而操作。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標(biāo)準(zhǔn)。視頻壓縮標(biāo)準(zhǔn)的其它實(shí)例包含MPEG-2及ITU-T H.263。被稱作“HEVC工作草案8”或“WD8”的HEVC標(biāo)準(zhǔn)的新近草案描述于布羅斯(Bross)等人的文件JCTVC-J1003_d7 “高效率視頻譯碼(HEVC)文本規(guī)范草案8(High efficiency video coding (HEVC) text specification draft8),,(ITU-T SG16WP3及IS0/IEC JTC1/SC29/WG11的視頻譯碼聯(lián)合協(xié)作小組(JCT-VC)第10次會議:瑞典斯德哥爾摩,2012年7月11日至20日)中。
[0035]雖然圖1中未展示,但在一些方面中,視頻編碼器20及視頻解碼器30可各自與一音頻編碼器及解碼器集成,且可包含適當(dāng)多路復(fù)用器-多路分用器(MUX-DEMUX)單元或其它硬件及軟件,以處置共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻與視頻兩者的編碼。如果可適用,那么在一些實(shí)例中,MUX-DEMUX單元可遵照ITU H.223多路復(fù)用器協(xié)議,或例如用戶數(shù)據(jù)報協(xié)議(m)P)的其它協(xié)議。
[0036]視頻編碼器20及視頻解碼器30各自可實(shí)施為例如以下各者的多種合適編碼器或解碼器電路中的任一者:一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、場可程序化閘陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。當(dāng)部分地以軟件來實(shí)施技術(shù)時,裝置可將用于軟件的指令存儲于合適的非暫時性計算機(jī)可讀存儲媒體中,且使用一或多個處理器執(zhí)行硬件中的指令以執(zhí)行本發(fā)明的技術(shù)。視頻編碼器20及視頻解碼器30中的每一者可包含于一或多個編碼器或解碼器中,編碼器或解碼器中的任一者可集成為相應(yīng)裝置中的組合式編碼器/解碼器(例如,CODEC)的部分。
[0037]HEVC標(biāo)準(zhǔn)化努力系基于被稱作HEVC測試模型(HM)的視頻譯碼裝置的演進(jìn)模型。HM假定視頻譯碼裝置相對于根據(jù)(例如)ITU-T H.264/AVC的現(xiàn)有裝置的若干額外能力。例如,H.264提供九個幀內(nèi)預(yù)測編碼模式,而HM可提供多達(dá)三十五個幀內(nèi)預(yù)測編碼模式。
[0038]大體來說,HM的工作模型描述視頻幀或圖片可劃分成包含亮度樣本與色度樣本兩者的樹塊或最大譯碼單元(LCU)序列。樹塊具有與H.264標(biāo)準(zhǔn)的宏塊的用途類似的用途。切片包含按譯碼次序的若干個連續(xù)樹塊??蓪⒁曨l幀或圖片分割成一或多個切片。每一樹塊可根據(jù)四叉樹而分裂成多個譯碼單元(CU)。例如,樹塊(作為四叉樹的根節(jié)點(diǎn))可分裂成四個子節(jié)點(diǎn),且每一子節(jié)點(diǎn)又可為母節(jié)點(diǎn),且分裂成另外四個子節(jié)點(diǎn)。最終未分裂的子節(jié)點(diǎn)(作為四叉樹的葉節(jié)點(diǎn))包括一譯碼節(jié)點(diǎn),即,經(jīng)譯碼視頻塊。與經(jīng)譯碼位流相關(guān)聯(lián)的語法數(shù)據(jù)可定義樹塊可分裂的最大次數(shù),且也可定義譯碼節(jié)點(diǎn)的最小大小。
[0039]CU包含一譯碼節(jié)點(diǎn)及與譯碼節(jié)點(diǎn)相關(guān)聯(lián)的多個預(yù)測單元(PU)及變換單元(TU)。⑶的大小對應(yīng)于譯碼節(jié)點(diǎn)的大小,且形狀可為正方形。⑶的大小可在從8X8像素直到具有最大值64X64像素或大于64X64像素的樹塊的大小的范圍內(nèi)。每一⑶可含有一或多個I3U及一或多個TU。與CU相關(guān)聯(lián)的語法數(shù)據(jù)可描述(例如)CU到一或多個PU的分割。分割模式可在CU經(jīng)跳過或直接模式編碼、經(jīng)幀內(nèi)預(yù)測模式編碼或經(jīng)幀間預(yù)測模式編碼之間而不同。PU的形狀可分割成非正方形。與CU相關(guān)聯(lián)的語法數(shù)據(jù)也可描述(例如)根據(jù)四叉樹的⑶到一或多個TU的分割。TU的形狀可為正方形或非正方形。
[0040]HEVC標(biāo)準(zhǔn)根據(jù)TU執(zhí)行變換,TU對于不同⑶可為不同的。通?;卺槍?jīng)分割I(lǐng)XU定義的給定⑶內(nèi)的I3U的大小而設(shè)定TU的大小,但可能并非始終為此狀況。TU通常具有與PU相同的大小,或小于W。在一些實(shí)例中,可使用被稱為“殘余四叉樹”(RQT)的四叉樹結(jié)構(gòu)將對應(yīng)于CU的殘余樣本再分為更小的單元。RQT的葉節(jié)點(diǎn)可被稱作變換單元(TU)??勺儞Q與TU相關(guān)聯(lián)的像素差值以產(chǎn)生可予以量化的變換系數(shù)。
[0041]大體來說,PU包含與預(yù)測過程有關(guān)的數(shù)據(jù)。例如,當(dāng)經(jīng)幀內(nèi)模式編碼時,PU可包含描述PU的幀內(nèi)預(yù)測模式的數(shù)據(jù)。作為另一實(shí)例,當(dāng)PU經(jīng)幀間模式編碼時,PU可包含定義PU的運(yùn)動向量的數(shù)據(jù)。定義的運(yùn)動向量的數(shù)據(jù)可描述(例如)運(yùn)動向量的水平分量、運(yùn)動向量的垂直分量、運(yùn)動向量的分辨率(例如,四分之一像素精確度或八分之一像素精確度)、運(yùn)動向量所指向的參考圖片,和/或運(yùn)動向量的參考圖片列表(例如,列表O、列表I或列表C)。
[0042]大體來說,TU用于變換過程和量化過程。具有一或多個I3U的給定⑶也可包含一或多個TU。在預(yù)測之后,視頻編碼器20可計算對應(yīng)于PU的殘余值。殘余值包括可變換成使用TU而量化且掃描以產(chǎn)生串行化變換系數(shù)以用于熵譯碼的變換系數(shù)的像素差值。本發(fā)明通常使用術(shù)語“視頻塊”來指⑶的譯碼節(jié)點(diǎn)。在一些特定狀況下,本發(fā)明也可使用術(shù)語“視頻塊”來指包含一譯碼節(jié)點(diǎn)及多個I3U及TU的樹塊(S卩,IXU或⑶)。
[0043]視頻序列通常包含一系列視頻幀或圖片。圖片組群組(GOP)大體包括一系列的視頻圖片中的一或多者。GOP可在GOP的標(biāo)頭、圖片中的一或多者的標(biāo)頭中或在別處包含語法數(shù)據(jù),語法數(shù)據(jù)描述包含于GOP中的圖片的數(shù)目。圖片的每一切片可包含描述相應(yīng)切片的編碼模式的切片語法數(shù)據(jù)。視頻編碼器20通常對個別視頻切片內(nèi)的視頻塊操作,以便編碼視頻數(shù)據(jù)。視頻塊可對應(yīng)于CU內(nèi)的譯碼節(jié)點(diǎn)。視頻塊可具有固定或變化的大小,且可根據(jù)指定譯碼標(biāo)準(zhǔn)而在大小方面不同。
[0044]作為一個實(shí)例,HM支持以各種I3U大小進(jìn)行的預(yù)測。假定特定⑶的大小為2NX2N,那么HM支持以2NX2N或NXN的I3U大小進(jìn)行的幀內(nèi)預(yù)測,及以2NX2N、2NXN、NX2N或NXN的對稱I3U大小進(jìn)行的幀間預(yù)測。HM也支持用于以2NXnU、2NXnD、nLX2N及nRX2N的PU大小進(jìn)行的幀間預(yù)測的不對稱分割。在不對稱分割中,CU的一方向未經(jīng)分割,而另一方向經(jīng)分割成25%及75%。對應(yīng)于25%分割的⑶的部分通過“η”跟著“上(Up)”、“下(Down)”、“左(Left)”或“右(Right) ”的指示來指示。因此,例如,“2NXnU”指在水平方向上以頂部2NX0.5N PU及底部2NX1.5N PU分割的2NX2N CU。
[0045]在本發(fā)明中,“NXN”與“N乘N”可互換地使用以指依據(jù)垂直維度與水平維度的視頻塊的像素尺寸,例如,16X16像素或16乘16像素。大體來說,16X16塊在垂直方向上將具有16個像素(y = 16)且在水平方向上將具有16個像素(x = 16)。同樣地,NXN塊大體上在垂直方向上具有N個像素,且在水平方向上具有N個像素,其中N表示非負(fù)整數(shù)值。可按行及列來布置塊中的像素。此外,塊未必需要在水平方向上具有與在垂直方向上的像素數(shù)目相同的數(shù)目個像素。例如,塊可包括NXM像素,其中M未必等于N。
[0046]在使用CU的PU進(jìn)行幀內(nèi)預(yù)測性或幀間預(yù)測性譯碼之后,視頻編碼器20可計算CU的TU的殘余數(shù)據(jù)。I3U可包括空間域(也被稱作“像素域”)中的像素數(shù)據(jù),且在將例如離散余弦變換(DCT)、整數(shù)變換、小波變換或概念上類似的變換的變換應(yīng)用于殘余視頻數(shù)據(jù)之后,TU可包括變換域中的系數(shù)。殘余數(shù)據(jù)可對應(yīng)于未經(jīng)編碼的圖片的像素與對應(yīng)于的預(yù)測值之間的像素差。視頻編碼器20可形成包含⑶的殘余數(shù)據(jù)的TU,且接著變換TU以產(chǎn)生⑶的變換系數(shù)。
[0047]在用以產(chǎn)生變換系數(shù)的任何變換之后,視頻編碼器20可執(zhí)行變換系數(shù)的量化。量化大體上指如下過程:使變換系數(shù)量化以可能地減小用以表示系數(shù)的數(shù)據(jù)的量,從而提供進(jìn)一步壓縮。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。例如,可在量化期間將η位值降值舍位到m位值,其中η大于m。
[0048]在一些實(shí)例中,視頻編碼器20可使用一或多個預(yù)定義掃描次序來掃描經(jīng)量化的變換系數(shù)以產(chǎn)生可經(jīng)熵編碼的串行化向量。預(yù)定義掃描次序可基于例如用于譯碼過程中的譯碼模式或變換大小或形狀的因素而變化。此外,在其它實(shí)例中,視頻編碼器20可(例如)使用經(jīng)周期性調(diào)適的掃描次序來執(zhí)行自適應(yīng)性掃描。掃描次序可針對不同塊(例如)基于譯碼模式或其它因素而不同地調(diào)適。在任何狀況下,在掃描經(jīng)量化的變換系數(shù)以形成串行化“一維”向量之后,視頻編碼器20可(例如)根據(jù)CAVLC、CABAC, SBAC, PIPE或另一上下文自適應(yīng)性熵編碼方法來進(jìn)一步熵編碼一維向量。視頻編碼器20也可熵編碼供視頻解碼器30用于解碼視頻數(shù)據(jù)中的與經(jīng)編碼視頻數(shù)據(jù)相關(guān)聯(lián)的其它語法元素。此外,視頻解碼器30可執(zhí)行與視頻編碼器20相同或類似的上下文自適應(yīng)性熵譯碼技術(shù),以解碼經(jīng)編碼視頻數(shù)據(jù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的任何額外語法元素。
[0049]作為一個實(shí)例,為了執(zhí)行CABAC,視頻編碼器20可將上下文模型內(nèi)的上下文指派給待傳輸?shù)姆?。上下文可能與(例如)符號的相鄰值是否為非零有關(guān)。作為另一實(shí)例,為了執(zhí)行CAVLC,視頻編碼器20可針對待傳輸?shù)姆栠x擇一可變長度碼。大體上可構(gòu)建CAVLC及可變長度譯碼中的碼字,使得相對較短碼對應(yīng)于更可能的符號,而相對較長碼對應(yīng)于較不可能的符號。以這個方式,相較于(例如)針對待傳輸?shù)拿恳环柺褂孟嗟乳L度的碼字來說,使用CAVLC可達(dá)成位節(jié)省。概率確定可基于指派給符號的上下文。另外,上文所描述的技術(shù)同樣適用于用以按上文描述的方式解碼由視頻編碼器20編碼的一或多個符號的視頻解碼器30。
[0050]大體來說,根據(jù)H.264/AVC及上文所描述的HEVC的某些草案版本的技術(shù),使用CABAC譯碼數(shù)據(jù)符號(例如,視頻數(shù)據(jù)的經(jīng)譯碼塊的語法元素或語法元素的一部分)可涉及以下步驟:
[0051](I) 二進(jìn)制化:如果待譯碼的符號為非二進(jìn)制值,那么可將符號映射到所謂的“二進(jìn)制”的序列。每一二進(jìn)制可具有值“O”或“I”。
[0052](2)上下文指派:將每一二進(jìn)制(例如,在所謂的“規(guī)則”譯碼模式中)指派給上下文。上下文模型基于可用于給定二進(jìn)制的信息(例如,先前經(jīng)編碼符號的值)或二進(jìn)制編號(例如,在包含二進(jìn)制的二進(jìn)制序列內(nèi)的二進(jìn)制的位置)而確定如何針對二進(jìn)制計算上下文(例如,如何將上下文指派給二進(jìn)制)。
[0053](3) 二進(jìn)制編碼:通過算術(shù)編碼器編碼二進(jìn)制。為了編碼給定二進(jìn)制,算術(shù)編碼器需要二進(jìn)制的值的概率(例如,所估計概率)(即,二進(jìn)制值等于“O”的概率及二進(jìn)制值等于“I”的概率)作為輸入。例如,如上文在步驟(2)中所描述的指派給二進(jìn)制的上下文可指示二進(jìn)制值的此概率。作為一個實(shí)例,每一上下文的概率(例如,通過每一上下文指示的所估計概率)可通過被稱為上下文“狀態(tài)”的與上下文相關(guān)聯(lián)的整數(shù)值來表示。每一上下文具有一上下文狀態(tài)(例如,任何給定時間的特定上下文狀態(tài))。因而,對于指派給一個上下文的二進(jìn)制,上下文狀態(tài)(即,所估計概率)為相同的,且在上下文之間不同(例如,在不同上下文當(dāng)中變化,且在一些狀況下,針對給定上下文隨時間而變化)。另外,為了編碼二進(jìn)制,算術(shù)編碼器進(jìn)一步需要二進(jìn)制值作為輸入,如上文所描述。
[0054](4)狀態(tài)更新:基于二進(jìn)制的實(shí)際經(jīng)譯碼值而更新所選定上下文的概率(例如,上下文狀態(tài))。例如,對于所選定上下文,如果二進(jìn)制值為“1”,那么“I”的概率增加;且如果二進(jìn)制值為“0”,那么“O”的概率增加。
[0055]在CABAC的情況下具體描述本發(fā)明的許多方面。另外,PIPE、CAVLC、SBAC或其它上下文自適應(yīng)性熵譯碼技術(shù)可使用與本文中參看CABAC所描述的原理類似的原理。明確地說,這些或其它上下文自適應(yīng)性熵譯碼技術(shù)可利用上下文狀態(tài)初始化,且可因此也受益于本發(fā)明的技術(shù)。
[0056]此外,如上文所描述,H.264/AVC的CABAC技術(shù)包含使用上下文狀態(tài),其中每一上下文狀態(tài)隱含地與概率有關(guān)。如下文將更詳細(xì)描述,存在CABAC的如下變化:其中直接使用正經(jīng)譯碼的給定符號的概率(例如,“O”或“1”),S卩,概率(或概率的整數(shù)型式)為上下文狀態(tài)自身。
[0057]在初始化CABAC編碼或解碼過程之前,可能需要將初始上下文狀態(tài)指派給CABAC過程的每一上下文。在H.264/AVC及HEVC的某些草案版本中,線性關(guān)系或“模型”用以指派每一上下文的初始上下文狀態(tài)。具體來說,對于每一上下文來說,存在用以確定上下文的初始上下文狀態(tài)的預(yù)定義初始化參數(shù)、斜率(“m”)及交叉(“η”)。例如,根據(jù)H.264/AVC及HEVC的某些草案版本,可使用以下關(guān)系來導(dǎo)出給定上下文的初始上下文狀態(tài):
[0058]Int ilnitState = ((m*iQp)/16)+η ; 等式(I)
[0059]ilnitState = min(max(I, ilnitState),126)。 等式(2)
[0060]在等式(I)中,“m”及“η”對應(yīng)于正經(jīng)初始化的上下文的初始化參數(shù)(即,針對上下文確定初始上下文狀態(tài)“ilnitState”)。此外,可被稱作初始化量化參數(shù)(QP)的“iQP”可對應(yīng)于正經(jīng)譯碼的數(shù)據(jù)(例如,視頻數(shù)據(jù)塊)的QP。數(shù)據(jù)的QP的值及因此的iQP的值可(例如)基于逐幀、逐切片或逐塊而設(shè)定。另外,“m”及“η”初始化參數(shù)的值對于不同上下文可變化。此外,等式(2)可被稱作“截割”函數(shù),函數(shù)可用以確?!癷lnitState”的值在“I”與“ 126”之間的范圍內(nèi),由此允許使用7個數(shù)據(jù)位來表示值。
[0061]在一些實(shí)例中,可使用以下表達(dá)式將“ilnitState”進(jìn)一步轉(zhuǎn)換成CABAC中的上下文的實(shí)際上下文狀態(tài),加上“最可能符號(MPS)/最不可能符號(LPS) ”符號:
[0062]if (ilnitState〉= 64)
[0063]{
[0064]m_ucState = min(62, iInitState—64);
[0065]m_ucState+ = m_ucState+l ;
[0066]}
[0067]Else
[0068]{
[0069] m_ucState = min(62,63—iInitState);[0070]m_ucState+ = m_ucState ;
[0071]}
[0072]其中“m_ucState”對應(yīng)于CABAC中的上下文的實(shí)際上下文狀態(tài)加上MPS/LPS符號。
[0073]在CABAC的一些實(shí)例中,在上下文的上下文狀態(tài)直接對應(yīng)于上下文的概率的狀況下,如上文所描述,以下關(guān)系可用以初始化特定上下文:
[0074]Int c = asCtxInit[O]+asCtxInit[I]*(iQp-1QPreper); 等式(3)
[0075]iPO = min (max (1,c),32767)。 等式(4)
[0076]如由給定上下文的上下文狀態(tài)“c”直接指示,值“iPO”可指示正經(jīng)譯碼的符號的概率。因此,在此實(shí)例中,不需要將符號“iPO”的概率轉(zhuǎn)換成MPS及LPS符號及實(shí)際上下文狀態(tài),如上文所描述。此外,如所展示,等式(3)的關(guān)系或“模型”也為線性的,且依賴于兩個初始化參數(shù),即“asCtxInit [O] ”與“asCtxInit [I] ”。例如,“iQP”可再次對應(yīng)于正經(jīng)譯碼的數(shù)據(jù)的QP。另外,在一些實(shí)例中,“iQPr印er”可對應(yīng)于用以修改iQp的常數(shù)(例如,偏移)。
[0077]在上文所描述的實(shí)例中,使用15個數(shù)據(jù)位將符號iPO的概率表達(dá)為整數(shù),其中最小非零概率為“ I ”,且最大概率為“32767”。在此實(shí)例中,使用表達(dá)式“ iPO/32768”來導(dǎo)出“實(shí)際”概率。另外,等式⑷也可被稱作“截割”函數(shù),且可用以確?!癷PO”的值在“I”與“32767”之間的范圍內(nèi),由此允許使用15個數(shù)據(jù)位來表示值。
[0078]上文所描述的途徑具有若干缺陷。作為一個實(shí)例,因?yàn)樯衔膮⒖碒.264/AVC及HEVC的某些草案版本所描述的CABAC過程包含大量上下文(例如,多達(dá)369個上下文),所以可使用“m”及“η”初始化參數(shù)的特定集合或“對”來初始化每一上下文。因此,大量“m”及“η”初始化參數(shù)(例如,多達(dá)369個不同的成對“m”及“η”初始化參數(shù))可用以確定上下文的初始上下文狀態(tài)。此外,因?yàn)椤癿”及“η”初始化參數(shù)中的每一者可使用多達(dá)8個數(shù)據(jù)位來表示,所以出于確定上下文的初始上下文狀態(tài)的目的,可能需要大量信息(例如,許多數(shù)據(jù)位)來存儲和/或傳輸“m”及“η”初始化參數(shù)。例如,可能需要多達(dá)5,904個數(shù)據(jù)位來存儲和/或傳輸369個不同的成對“m”及“η”初始化參數(shù),每一對“m”及“η”初始化參數(shù)包括16個數(shù)據(jù)位(即,特定對的“m”及“η”初始化參數(shù)中的每一者包括8個數(shù)據(jù)位)。
[0079]另外,作為另一實(shí)例,如上文也參看H.264/AVC及HEVC的某些草案版本所描述的用以確定上下文的初始上下文狀態(tài)的線性關(guān)系可導(dǎo)致確定上下文的初始概率,如通過初始上下文狀態(tài)指示,確定的初始概率相較于使用其它技術(shù)所確定的初始概率來說相對較不準(zhǔn)確。作為一個實(shí)例,使用上文所描述的線性關(guān)系可導(dǎo)致初始概率相較于使用進(jìn)一步考慮與正經(jīng)譯碼的數(shù)據(jù)(例如,視頻數(shù)據(jù))相關(guān)聯(lián)的時間層的線性關(guān)系確定的初始概率來說相對較不準(zhǔn)確。作為另一實(shí)例,使用上文所描述的線性關(guān)系可導(dǎo)致初始概率相較于使用非線性、部分非線性或雙線性關(guān)系所確定的初始概率來說相對較不準(zhǔn)確。作為又一實(shí)例,在直接確定上下文的初始概率(即,而非確定指示上下文的初始概率的初始上下文狀態(tài))的狀況下,初始概率相較于基于到包含初始概率的概率范圍的上限及下限中的一或多者的接近性而進(jìn)一步調(diào)整的初始概率來說可為相對較不準(zhǔn)確的(例如,歪斜的)。
[0080]本發(fā)明描述若干技術(shù),所述技術(shù)在一些狀況下可減小或消除上文參看上下文自適應(yīng)性熵譯碼過程的上下文狀態(tài)初始化(即,確定上下文的初始上下文狀態(tài),其中初始上下文狀態(tài)指示上下文的初始概率)及概率初始化(即,直接確定上下文的初始概率)而描述的缺陷中的一些缺陷。明確地說,本文中所描述的技術(shù)可使得用以譯碼數(shù)據(jù)(例如,視頻數(shù)據(jù))的上下文自適應(yīng)性熵譯碼(例如,CABAC、CAVLC、SBAC、PIPE,等等)系統(tǒng)或裝置能夠相對于其它系統(tǒng)或裝置來說具有較低復(fù)雜性。作為一個實(shí)例,本發(fā)明的技術(shù)可使系統(tǒng)或裝置能夠存儲和/或傳輸指示上文所描述的初始化參數(shù)“m”及“m”的初始化參數(shù)索引值,而非直接存儲和/或傳輸初始化參數(shù),初始化參數(shù)索引值用以確定上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài)。在此實(shí)例中,初始化參數(shù)索引值可使用比初始化參數(shù)少的信息(例如,較少數(shù)據(jù)位)來表示,從而可能導(dǎo)致存儲于系統(tǒng)或裝置內(nèi)且在一些狀況下從系統(tǒng)傳輸?shù)狡渌到y(tǒng)或裝置的信息的減少量。
[0081]另外,本文中所描述的技術(shù)可通過初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文來實(shí)現(xiàn)數(shù)據(jù)(例如,視頻數(shù)據(jù))的更有效率的上下文自適應(yīng)性熵譯碼,使得上下文的初始概率相對于使用其它技術(shù)導(dǎo)出的初始概率來說更準(zhǔn)確。在一個實(shí)例中,本發(fā)明的技術(shù)可通過基于與數(shù)據(jù)相關(guān)聯(lián)的時間層而確定上下文的指示初始概率的初始上下文狀態(tài),來實(shí)現(xiàn)上下文的初始化以便具有相對更準(zhǔn)確的初始概率。在另一實(shí)例中,所述技術(shù)可通過使用參考上下文狀態(tài)及對應(yīng)參考量化參數(shù)值確定上下文的初始上下文狀態(tài)來實(shí)現(xiàn)一或多個上下文的初始化。在又一實(shí)例中,在直接確定上下文的初始概率的狀況下,所述技術(shù)可實(shí)現(xiàn)基于一或多個概率偏移而確定初始概率。
[0082]作為一個實(shí)例,本發(fā)明描述用于進(jìn)行以下操作的技術(shù):基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù),基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài),及基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0083]例如,本發(fā)明的技術(shù)的開發(fā)已論證:在一些狀況下,如上文參看H.264/AVC及HEVC所描述,使用初始上下文狀態(tài)與正被譯碼的數(shù)據(jù)(例如,視頻數(shù)據(jù))的QP之間的線性關(guān)系可導(dǎo)致相較于使用其它技術(shù)來說上下文相對較不準(zhǔn)確的初始概率。因此,初始上下文狀態(tài)所指示的初始概率可能實(shí)質(zhì)上不同于正被譯碼的數(shù)據(jù)的實(shí)際概率。因此,如下文將更詳細(xì)描述,本發(fā)明提出了產(chǎn)生或確定上下文的初始化值(即,直接產(chǎn)生或確定初始上下文狀態(tài)或初始概率)以改進(jìn)上下文的所謂的初始“狀態(tài)/概率估計”(即,概率)的準(zhǔn)確度的若干方法。另外,本發(fā)明也提出了用于進(jìn)行以下操作的技術(shù):減小上文所描述的線性模型初始化參數(shù)(即,“m”及“η”)的位寬度,使得可減小包含上下文的初始化信息(例如,“m”及“η”初始化參數(shù))的初始化表的存儲(例如,表的大小)。
[0084]例如,在HM中,上文所描述的“m”及“η”初始化參數(shù)是使用16位帶正負(fù)號的整數(shù)來存儲。因而,16個數(shù)據(jù)位用于存儲每一“m”及“η”初始化參數(shù)。因?yàn)镠.264/AVC及HEVC的某些草案版本的技術(shù)可包含多達(dá)369個上下文,所以多達(dá)369個“m”及“η”初始化參數(shù)集合或“對”(例如,369個“ (m,n)”對)可存儲于特定譯碼器內(nèi),由此消耗實(shí)質(zhì)上大量存儲
器或存儲裝置。
[0085]在一些實(shí)例中,本發(fā)明描述將4個數(shù)據(jù)位用于“m”及“η”初始化參數(shù)中的每一者。為了涵蓋足夠大范圍的斜率(“m”)及交叉(“η”)值,代替直接使用“m”來表示斜率且使用“η”來表示交叉,所揭示技術(shù)提議使用“m”來表示斜率指數(shù)且使用“η”來表示交叉指數(shù)。在此實(shí)例中,實(shí)際斜率值可使用以下關(guān)系(即,使用斜率表)使用“m”初始化參數(shù)索引值來導(dǎo)出:
[0086]斜率=SlopeTable[m]
[0087]類似地,實(shí)際交叉值可使用以下關(guān)系(即,使用交叉表)使用“η”初始化參數(shù)索引值來導(dǎo)出:
[0088]交叉=IntersectionTable [η]
[0089]換句話說,根據(jù)所揭示技術(shù),上文參看H.264/AVC及HEVC所描述的“m”及“η”初始化參數(shù)可重新定義為又指示初始化參數(shù)(其可被簡稱作“斜率”及“交叉”初始化參數(shù))的“m”及“η”初始化參數(shù)索引值。然而,在其它實(shí)例中,H.264/AVC及HEVC的“m”及“η”初始化參數(shù)可保持其原始含義,而本文中所揭示的技術(shù)的初始化參數(shù)索引值可被稱作“idx_m”及“idx_n”初始化參數(shù)索引值。在以下實(shí)例中,初始化參數(shù)索引值被稱作“m”及“η”初始化參數(shù)索引值。
[0090]下文展示分別包含使用“m”及“η”初始化參數(shù)索引值確定的斜率值及交叉值的斜率表及交叉表的實(shí)例:
[0091]SlopeTable [16] = {-46,-39,-33,-28,-21,-14,-11,_6,0,7,12,17,21,26,34,
40}
[0092]IntersectionTable[16] = {-42,-25,-11,0,9,20,32,43,54,63,71,79,92,104,114,132}
[0093]在一些實(shí)例中,可使用8位參數(shù)“X”來組合4位“m”和4位“η”初始化參數(shù)索引值,其中“m = x>>4且n = χ&15”或反之亦然,“η = χ>>4且m = x&15”可用以使用“x”來導(dǎo)出“m”及“η”。在此實(shí)例中,“》”指示向右移位運(yùn)算,且“&”指示邏輯與運(yùn)算。
[0094]在其它實(shí)例中,也有可能使用不等數(shù)目個位來表示“m”及“η”初始化參數(shù)索引值。例如,5個數(shù)據(jù)位可用以表示“m”,且3個數(shù)據(jù)位可用以表示“n”,或反之亦然。
[0095]在再其它實(shí)例中,代替存儲斜率及交叉值的表,如上文所描述,可使用一或多個公式或函數(shù)(例如,以下斜率和/或交叉函數(shù))從對應(yīng)斜率或交叉索引值來計算斜率及交叉值:
[0096]斜率=functionA(m),和 / 或交叉=functionB (η)
[0097]使用斜率作為實(shí)例,斜率函數(shù)可為線性函數(shù),例如以下表達(dá)式:
[0098]斜率=cO*m+cl
[0099]其中“CO”及“Cl”為線性函數(shù)的參數(shù)。
[0100]在另一實(shí)例中,斜率函數(shù)可僅包含移位及加法運(yùn)算,例如以下表達(dá)式:
[0101]斜率=m〈〈k+cl
[0102]其中“k”為移位參數(shù),且“Cl”為常數(shù)。
[0103]作為額外實(shí)例,對于以下表:
[0104]SlopeTable[16] = {-45-40-35-30-25-20-15-10-5051015202530}
[0105]IntersectionTable[16] = {-16-8081624324048566472808896104},
[0106]包含“X”的以下關(guān)系可用以確定“m”及“η”初始化參數(shù)索引值,“m”及“η”初始化參數(shù)索引值又可用以使用表來確定相應(yīng)斜率及交叉值:
[0107]m = χ?4, η = x&15 (或反之亦然,η = x?4 且 m = x&15)。
[0108]再次,在此實(shí)例中,“》”指示向右移位運(yùn)算,且“指示邏輯與運(yùn)算。[0109]在一些實(shí)例中,代替存儲SlopeTable及IntersectionTable,如上文所描述,可使用以下表達(dá)式來計算斜率及交叉的值:
[0110]斜率=m*5_45
[0111]交叉=n*8-16
[0112](或等效地交叉=(n?3)-16)
[0113]在其它實(shí)例中,可將4位的“m”參數(shù)及4位的“η”參數(shù)組合成8位參數(shù)“idx”,其中,代替使用兩個單獨(dú)索引值來確定斜率及交叉值,可使用單一索引值(即,“idx”),如以下表達(dá)式中所展示:
[0114]斜率=SlopeTable[idx]
[0115]交叉=IntersectionTable[idx]
[0116]作為另一實(shí)例,本發(fā)明也描述用于進(jìn)行以下操作的技術(shù):基于一或多個初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層參數(shù)而確定用于初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài),以及基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0117]作為一個實(shí)例, 如圖4中所說明,且如下文更詳細(xì)描述,視頻數(shù)據(jù)幀可以階層式結(jié)構(gòu)來編碼。例如,如圖4中所描繪,幀“O”、“4”及“8”譯碼于時間層“O”中,幀“2”及“6”譯碼于時間層“I”中,且剩余幀(即,幀“1”、“3”、“5”及“7”)譯碼于時間層“2”中。本發(fā)明的技術(shù)的開發(fā)已論證:不同視頻數(shù)據(jù)幀當(dāng)中的相依性可為不對稱的。例如,位于較低時間層中的視頻數(shù)據(jù)幀可為位于較高時間層中的視頻數(shù)據(jù)幀的參考幀(例如,如通過圖4中所描繪的箭頭展示)。也如圖4中所展示,相對于圖4中所說明的方向相依性反轉(zhuǎn)的這些方向相依性可能不被允許。因此,用以譯碼一或多個視頻數(shù)據(jù)幀的上下文自適應(yīng)性熵譯碼過程的上下文的初始概率可取決于與視頻數(shù)據(jù)幀相關(guān)聯(lián)的時間層而變化。
[0118]因此,本發(fā)明描述用于(例如)使用以下關(guān)系將一偏移添加到使用上文參看
H.264/AVC及HEVC所描述的線性關(guān)系導(dǎo)出的初始上下文狀態(tài)的技術(shù):
[0119]Int ilnitState = ((m*iQp)/16)+η+偏移;
[0120]ilnitState = min (max (I, ilnitState),126)。
[0121]在一個實(shí)例中,“偏移”值可為固定的,且取決于與正經(jīng)譯碼的數(shù)據(jù)(例如,視頻數(shù)據(jù)幀)相關(guān)聯(lián)的當(dāng)前切片的時間層。例如,“偏移”值可對于時間層“O”而設(shè)定為“_2”,對于時間層“ I ”而設(shè)定為“2”,對于時間層“2”而設(shè)定為“3”,且對于時間層“3”而設(shè)定為“4”。在另一實(shí)例中,“偏移”可為時間層的函數(shù),例如,如以下表達(dá)式中所展示:
[0122]偏移=offset_base*(temporal_layer-cO)+cl
[0123]其中“offset_base”對應(yīng)于基礎(chǔ)偏移值,“temporal_layer”對應(yīng)于與經(jīng)譯碼數(shù)據(jù)相關(guān)聯(lián)的時間層,“CO”及“Cl”對應(yīng)于常數(shù),且“偏移”對應(yīng)于用于上文所描述的線性上下文初始化關(guān)系中的所得偏移。
[0124]在另一實(shí)例中,偏移可以以下關(guān)系中所展示的方式來使用:
[0125]Int ilnitState = (((m*iQp)/16)+η) * (I 偏移);
[0126]ilnitState = min (max (I, ilnitState),126)。
[0127]在一些狀況下,“偏移”值也可從與經(jīng)譯碼數(shù)據(jù)相關(guān)聯(lián)的其它“旁側(cè)”信息(例如,切片類型、幀分辨率、參考幀列表大小等)來導(dǎo)出。[0128]在又一實(shí)例中,“偏移”值可在例如以下各者的高階語法中用信號發(fā)送:圖片參數(shù)集(PPS)、序列參數(shù)集(SPS)、調(diào)適參數(shù)集(APS),或與數(shù)據(jù)相關(guān)聯(lián)的其它語法信息(例如,另一參數(shù)集或高階語法位置)。
[0129]在上述實(shí)例中,可存在用于所有上下文的單一“偏移”值,或可存在多個“偏移”值,其中每一值應(yīng)用于一特定上下文子集。在一個實(shí)例中,上下文可劃分成三個組群組(即,Gl、G2及G3),且使用單一 “偏移”值,例如以下表達(dá)式中所展示:
[0130]對于G1,
[0131]Int ilnitState = ((m*iQp)/16)+η+偏移;
[0132]ilnitState = min (max (I, ilnitState),126)。
[0133]對于G2,
[0134]Int ilnitState = ((m*iQp)/16)+η-偏移;
[0135]ilnitState = min (max (I, ilnitState),126)。
[0136]對于G3,
[0137]Int ilnitState = ((m*iQp)/16)+η ;
[0138]ilnitState = min (max (I, ilnitState),126)。
[0139]作為另一實(shí)例,也可通過調(diào)整上文參看H.264/AVC及HEVC所描述的線性關(guān)系中的QP(例如,iQP)來達(dá)成初始上下文狀態(tài)的調(diào)整。例如,新參數(shù)“iQp_new”可用以計算初始上下文狀態(tài),其中“iQp_new”可不同于用以編碼特定幀(例如,確定初始上下文狀態(tài)所針對的幀)的視頻數(shù)據(jù)的QP,如以下關(guān)系中所展示:
[0140]Int ilnitState = ((m*iQp_new)/16)+η ;
[0141]ilnitState = min(max(I, ilnitState),126)。
[0142]在另一實(shí)例中,新參數(shù)“QP_offset”可用以修改上文參看H.264/AVC及HEVC所描述的線性關(guān)系中的QP (例如,iQP),如以下關(guān)系中所展示:
[0143]Int ilnitState = ((m*(QP+Qp_offset)/16)+η ;
[0144]ilnitState = min(max(I, ilnitState),126),
[0145]或替代地:
[0146]Int ilnitState = ((m*QP*(l+Qp_offset)/16)+η ;
[0147]ilnitState = min (max (I, ilnitState),126)。
[0148]在又一實(shí)例中,“iQp_new”或“Qp_offSet”的值可在例如以下各者的高階語法中用信號發(fā)送:PPS、SPS、APS,或另一參數(shù)集或高階語法位置。
[0149]在上文所描述的實(shí)例中,可存在用于所有上下文的單一“iQp_new”或“Qp_offset”值,或可存在多個“iQp_new”或“Qp_offset”值,其中每一值應(yīng)用于一特定上下文子集。
[0150]在一個實(shí)例中,“Qp_offset”和/或“iQp_new”值可為固定的,且取決于與經(jīng)譯碼數(shù)據(jù)相關(guān)聯(lián)的當(dāng)前切片的時間層。例如,“Qp_0fTSet”可對于時間層“O”而設(shè)定為“-3”,對于時間層“I”而設(shè)定為“0”,對于時間層“2”而設(shè)定為“3”,且對于時間層“3”而設(shè)定為“6”。在另一實(shí)例中,“Qp_offSet”可為時間層的函數(shù),例如,如以下關(guān)系中所展示:
[0151]Qp_offset = Qp_offset_base氺(temporal_layer_cO)+cl
[0152]其中“Qp_OffSet_baSe”、“C0”及“Cl”為充當(dāng)關(guān)系的參數(shù)的常數(shù)。類似地,“Qp_offset”和/或“iQp_new”值也可從例如切片類型、幀分辨率、參考幀列表大小等的其它“旁側(cè)”信息來導(dǎo)出。
[0153]作為又一實(shí)例,上文所描述的技術(shù)(包含關(guān)于基于一或多個初始化參數(shù)索引值而初始化用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的技術(shù))可用于上下文自適應(yīng)性熵譯碼過程的所有上下文或僅用于上下文中的一些上下文(例如,上下文子集)。例如,技術(shù)可用于與某些語法元素類型有關(guān)的上下文,例如,用于所選定色彩分量(例如,“亮度”或“色度”分量)、所選定塊大小、所選定變換大小、運(yùn)動信息或變換系數(shù)信息的語法元素。
[0154]作為又一實(shí)例,本發(fā)明描述用于進(jìn)行以下操作的技術(shù):確定第一值;在第一值處于由下限、上限及相對于下限及上限中的一或多者的一或多個偏移定義的值范圍內(nèi)的情況下,選擇第一值;在第一值處于值范圍外的情況下,選擇第二值,其中第二值不同于第一值;以及基于所選定的第一值或第二值而初始化上下文自適應(yīng)性熵譯碼過程的上下文的概率。
[0155]作為一個實(shí)例,在確定上下文的初始概率中(上文參看CABAC的版本描述的技術(shù),其中上下文的上下文狀態(tài)直接對應(yīng)于上下文的概率),可出現(xiàn)上下文的初始概率的高度歪斜分布。例如,高度歪斜概率可自最接近于包含初始概率的概率范圍的上限及下限中的一或多者的所確定的初始概率而產(chǎn)生。因此,本發(fā)明的技術(shù)提議引入減小或防止這些歪斜概率的一或多個偏移。例如,所提議技術(shù)可使用以下關(guān)系來執(zhí)行:
[0156]iPO = min (max (1+偏移,c),32767-偏移)
[0157]其中“偏移”為整數(shù)值。作為一個實(shí)例,等于“256”的“偏移”值可允許初始概率
無高度歪斜值。
[0158]作為另一實(shí)例,“偏移”值可與概率更新過程“匹配”。換句話說,在一些實(shí)例中,相同或類似偏移可用于隨后更新上下文的經(jīng)初始化的概率的目的。因此,此更新過程也可導(dǎo)致避免上下文的“極限值”(例如,接近于0%或100% )概率(即,高度歪斜概率)。因此,初始化與隨后更新概率(即,上文所描述的概率初始化過程及概率更新過程)兩者可對上下文的極限概率強(qiáng)加相同限制,由此可能避免上下文的高度歪斜概率。作為一個實(shí)例,概率更新過程可使用以下關(guān)系來執(zhí)行:
[0159]iPO- = ((iPO-偏移)>>ALPHA0);
[0160]iPO+ = (((32767-偏移)-1P0)?ALPHA0),
[0161]其中ALPHAO為常數(shù)。
[0162]在這些實(shí)例中,上文所展示的函數(shù)或關(guān)系可被稱作“存儲器衰減指數(shù)”函數(shù)。例如,特定指數(shù)函數(shù)的漸近值(即,最低或最高可能值)系通過“偏移”值來控管。例如,“偏移”值對于上文所描述的初始化過程與更新過程兩者可為相同的。
[0163]作為另一實(shí)例,先前所描述的關(guān)系
[0164]Int c = asCtxInit[0]+asCtxInit[I]*(iQp-1QPreper)
[0165]可提供符號(例如,二進(jìn)制)的值為“O”的概率,而不提供符號的值為“I”的概率。
[0166]作為一個實(shí)例,以下初始化函數(shù)或關(guān)系可用以獲得符號的值為“I”的概率:
[0167]iPO = 32768_min(max(l+偏移,c),32767-偏移)
[0168]其中概率的含義反轉(zhuǎn)。換句話說,上述關(guān)系提供值“ I”(即,“ I”或100%的概率)減去使用先前所描述的關(guān)系導(dǎo)出的概率:[0169]iPO = min (max (1+偏移,c),32767-偏移)
[0170]此外,在此實(shí)例中,“32768”可為最大概率,其可等效于概率“I”(即,100%概率)。
[0171]另外,本發(fā)明也描述用于進(jìn)行以下操作的技術(shù):基于初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的QP值,確定用于初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài),初始化參數(shù)定義各自對應(yīng)于三個或三個以上參考QP值中的一相應(yīng)參考QP值的三個或三個以上參考上下文狀態(tài);以及基于初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的上下文。
[0172]例如,如上文所解釋,在H.264/AVC及HEVC的某些草案版本中,基于線性導(dǎo)出方法或關(guān)系而確定上下文的初始上下文狀態(tài)。方法使用兩個初始化參數(shù)(即,“m”及“n”),初始化參數(shù)中的每一者使用至少8個數(shù)據(jù)位來表示。線性關(guān)系或等式使用這些兩個初始化參數(shù)來導(dǎo)出(例如)H.264/AVC中允許的126個上下文狀態(tài)中的一者作為上下文的初始上下文狀態(tài)。
[0173]本發(fā)明的技術(shù)的開發(fā)已論證:非線性模型或關(guān)系相較于用于初始化上下文的線性關(guān)系(例如,上文參看H.264/AVC及HEVC描述的線性關(guān)系)來說可能更有效。明確地說,與使用線性關(guān)系確定的初始概率相比較,非線性關(guān)系可導(dǎo)致上下文的相對更準(zhǔn)確的初始概率。因此,本發(fā)明提議使用非線性或部分非線性方法或關(guān)系來確定上下文的初始上下文狀態(tài)(例如,使用有限數(shù)目個數(shù)據(jù)位)。在一些實(shí)例中,與上文所描述的H.264/AVC及HEVC技術(shù)中所使用的數(shù)據(jù)位的數(shù)目相比較,技術(shù)提議使用相同數(shù)目個數(shù)據(jù)位或較少數(shù)目個數(shù)據(jù)位(即,16個數(shù)據(jù)位或較少數(shù)據(jù)位)。
[0174]作為一個實(shí)例,16個數(shù)據(jù)位可用以確定上下文的初始上下文狀態(tài)。16個位的使用可被劃分成三個部分。第一部分可包含6個位,從而提供給定QP值下的上下文狀態(tài)(例如,QP =“26”)。應(yīng)注意,此上下文狀態(tài)值經(jīng)量化,使得2個毗連上下文狀態(tài)共享相同的經(jīng)量化的上下文狀態(tài)(例如,這是由于6位的位深度提供必須用信號發(fā)送126個上下文狀態(tài)中的一者的64個索引)。第二部分可包含5個位,從而提供第二 QP值下的上下文狀態(tài)(例如,先前QP減去“8”)。再次,此上下文狀態(tài)可為經(jīng)量化的上下文狀態(tài),這是由于5位的位深度提供必須用信號發(fā)送126個上下文狀態(tài)中的一者的32個索引。在此實(shí)例中,4個上下文狀態(tài)共享相同的經(jīng)量化的上下文狀態(tài)。最終,16個位的第三部分可包含5個剩余位,5個剩余位指示第三QP值下的上下文狀態(tài)(例如,第一 QP加上“8”)。
[0175]因此,此實(shí)例的初始化參數(shù)可包含16個數(shù)據(jù)位,例如,InitParam= [X1X2X3IL在此實(shí)例中,“x3 ”可使用運(yùn)算“x3 = (InitParam&31)”來獲得。類似地,“ X2 ”可使用運(yùn)算“x2=((InitParam?5)&3l) ” 來獲得,且“x/’可使用運(yùn)算aX1 = (InitParam>>10) ” 來獲得。以這個方式,參數(shù)“InitParam”含有初始上下文狀態(tài)導(dǎo)出所需的參數(shù)。再次,在此實(shí)例中,“》”指示向右移位運(yùn)算,且“指示邏輯與運(yùn)算。
[0176]經(jīng)量化的上下文狀態(tài)的使用總共16個數(shù)據(jù)位的這些三個值(即,“x/’、“x2”及“X3”)提供可用于將上下文的上下文狀態(tài)內(nèi)插到QP值的其余部分的三個點(diǎn)(例如,值“對”,每一對包含“χι”、“χ2”及“χ3”中的一者及對應(yīng)的QP值)。換句話說,參考上下文狀態(tài)值“χ/’、“χ2”及“χ3”以及對應(yīng)的參考QP值可用以通過以下操作來確定上下文的初始上下文狀態(tài):在參考值當(dāng)中內(nèi)插,且使用與正經(jīng)譯碼的數(shù)據(jù)相關(guān)聯(lián)的實(shí)際QP確定上下文的初始上下文狀態(tài)。[0177]作為一個實(shí)例,上文所描述的確定可使用雙線性近似(例如,仿樣函數(shù))來執(zhí)行。
例如,可使用以下關(guān)系:
[0178]

if QP < 26

ilnitState = (QP - 26W1- xo)/8 + χι;

else


iInilStalc = (QP - 26);::(x^ - x i)/8 + X|:

end
[0179]在此實(shí)例中,“x/’、“x2”及“x3”含有三個不同QP下的上下文狀態(tài)的值(即,分別為“26”、“18”及“34”)。此外,如果變數(shù)“X” (即,“x/’、“x2”及“x3”)并不含有正確位深度的值,那么如上文所解釋,執(zhí)行一些位向左移位運(yùn)算可為必要的。
[0180]另外,除以“8”的運(yùn)算可作為位向右移位運(yùn)算來執(zhí)行。在這些例子中,此實(shí)例的技
術(shù)可使用以下表達(dá)式來實(shí)施:
[0181]
if QP < 26

ilnilSlalc = (QP - 26)::;((xl?1) - (X2?2))?3 + (X1CCl);

L,ISL

ilnilSlalc = (QP - 26)::;((x:K<2) - (X|<<l))?3 + (X|?l);
[0182]
end
[0183]上述表達(dá)式可以具有6個位的精確度的“Xl”以及各自具有5個位的精確度的“x2”及“X3”為前提。在一些實(shí)例中,為了在除以“8”時舍位到最接近的整數(shù)(例如,代替簡單地舍位到較低整數(shù)),也可在表達(dá)式中在向右移位運(yùn)算之前包含“4”的加法。因此,如果值經(jīng)定義以支持其它位長度,那么可使用對這些表達(dá)式的輕微修改。
[0184]使用上文所描述的技術(shù),可在無乘法或除法的情況下執(zhí)行用于確定初始上下文狀態(tài)的雙線性內(nèi)插。此簡明實(shí)施方案為可能的,這是因?yàn)樗褂玫腝P值之間的差為“2”的冪。
[0185]在其它實(shí)例中,也可使用其它QP值。另外,也可使用用于經(jīng)量化的上下文狀態(tài)的三個值中的每一者的其它位深度分布。另外,可使用3個以上點(diǎn)(例如,4或4個以上點(diǎn)),從而函數(shù)為多重線性的(即,將若干線性部分合在一起)。
[0186]在再其它實(shí)例中,三個點(diǎn)可用以擬合拋物線(例如,二階多項式)以確定其它QP下的上下文狀態(tài)。類似地,在其它實(shí)例中,四個點(diǎn)可用以擬合三階多項式。
[0187]另外,也可在上文所描述的非線性上下文狀態(tài)導(dǎo)出過程之后包含(例如)使用下文所展示的表達(dá)式執(zhí)行的截割運(yùn)算,以便避免不允許的上下文狀態(tài)值(例如,需要7個以上數(shù)據(jù)位來表示每一值的上下文狀態(tài)值)。
[0188]ilnitState = min (max (I, ilnitState),126)
[0189]因此,在與本發(fā)明的技術(shù)一致的一些實(shí)例中,源裝置12的視頻編碼器20可經(jīng)配置以編碼數(shù)據(jù),例如一或多個視頻數(shù)據(jù)塊(例如,CU的一或多個TU),且目的地裝置14的視頻解碼器30可經(jīng)配置以從視頻編碼器20接收經(jīng)編碼數(shù)據(jù),例如,經(jīng)編碼的一或多個視頻數(shù)據(jù)塊。在其它實(shí)例中,如上文所描述,本發(fā)明的技術(shù)可適用于使用上下文自適應(yīng)性熵譯碼來譯碼(例如)不同于視頻數(shù)據(jù)的廣泛多種數(shù)據(jù)中的任一者。因而,在與所揭示技術(shù)一致的一些實(shí)例中,視頻編碼器20和/或視頻解碼器30可為不同于如此實(shí)例中所說明的視頻編碼及解碼裝置的其它編碼及解碼裝置。
[0190]作為一個實(shí)例,視頻編碼器20和/或視頻解碼器30可經(jīng)配置以用于上下文自適應(yīng)性熵譯碼。在此實(shí)例中,視頻編碼器20及視頻解碼器30中的一或多者可包含譯碼器(例如,熵編碼單元56或熵解碼單元80),譯碼器經(jīng)配置以基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程(例如,CABAC、SBAC、PIPE或另一過程)的一或多個初始化參數(shù)。例如,如下文將更詳細(xì)描述,視頻編碼器20和/或視頻解碼器30可經(jīng)配置以通過以下操作來確定一或多個初始上下文狀態(tài):將一或多個初始化參數(shù)索引值映射到一或多個表中的一或多個初始化參數(shù)(即,基于一或多個初始化參數(shù)索引值而識別一或多個表中的一或多個初始化參數(shù));或使用一或多個初始化參數(shù)索引值及一或多個公式來計算一或多個初始化參數(shù)。
[0191]視頻編碼器20和/或視頻解碼器30可經(jīng)進(jìn)一步配置以基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。例如,視頻編碼器20和/或視頻解碼器30可經(jīng)配置以使用一或多個初始化參數(shù)及關(guān)系(例如,上文參看H.264/AVC及HEVC的某些草案版本所描述的線性關(guān)系)來確定一或多個初始上下文狀態(tài)。另外,視頻編碼器20和/或視頻解碼器30可經(jīng)更進(jìn)一步配置以基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。例如,視頻編碼器20和/或視頻解碼器30可經(jīng)配置以通過指派一或多個初始上下文狀態(tài)中的一對應(yīng)的初始上下文狀態(tài)作為相應(yīng)上下文的目前上下文狀態(tài)來初始化一或多個上下文中的每一者。
[0192]因此,本發(fā)明的技術(shù)可使視頻編碼器20和/或視頻解碼器30能夠在用以譯碼數(shù)據(jù)(例如,上文所描述的視頻數(shù)據(jù))時,與用以譯碼類似數(shù)據(jù)的其它系統(tǒng)相比較來說具有相對較低的復(fù)雜性。明確地說,技術(shù)可減小存儲于視頻編碼器20和/或視頻解碼器30內(nèi)和/或傳輸?shù)揭曨l編碼器20和/或視頻解碼器30或從視頻編碼器20和/或視頻解碼器30傳輸?shù)男畔⒌牧?。另外,如下文參看圖6到8更詳細(xì)描述,本發(fā)明的技術(shù)也可使視頻編碼器20和/或視頻解碼器30能夠相對于其它技術(shù)更有效率地譯碼數(shù)據(jù)。以這個方式,在使用本發(fā)明的技術(shù)時,可存在用以譯碼數(shù)據(jù)的視頻編碼器20和/或視頻解碼器30的復(fù)雜性的相對降低,和包含經(jīng)譯碼數(shù)據(jù)的經(jīng)譯碼位流的相對位節(jié)省。
[0193]視頻編碼器20及視頻解碼器30各自可實(shí)施為廣泛多種合適編碼器或解碼器電路中的任一者(在適用時),例如一或多個微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯電路、軟件、硬件、固件或其任何組合。視頻編碼器20及視頻解碼器30中的每一者可包含于一或多個編碼器或解碼器中,其中編碼器或解碼器中的任一者可集成為組合式視頻編碼器/解碼器(例如,視頻“CODEC”)的部分。包含視頻編碼器20和/或視頻解碼器30的設(shè)備可包括集成電路(IC)、微處理器和/或無線通信裝置(例如,蜂窩式電話)。
[0194]圖2為說明與本發(fā)明的技術(shù)一致的視頻編碼器的實(shí)例的框圖,視頻編碼器可實(shí)施用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的技術(shù)。視頻編碼器20可執(zhí)行視頻切片內(nèi)的視頻塊的幀內(nèi)譯碼及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測以減小或去除給定視頻幀或圖片內(nèi)的視頻的空間冗余。幀間譯碼依賴于時間預(yù)測以減小或去除視頻序列的鄰近幀或圖片內(nèi)的視頻的時間冗余。幀內(nèi)模式(I模式)可指若干基于空間的壓縮模式中的任一者。例如單向預(yù)測(P模式)或雙向預(yù)測(B模式)的幀間模式可指若干基于時間的壓縮模式中的任一者。
[0195]在圖2的實(shí)例中,視頻編碼器20包含分割單元35、預(yù)測模塊41、參考圖片存儲器64、求和器50、變換模塊52、量化單元54和熵編碼單元56。預(yù)測模塊41包含運(yùn)動估計單元
42、運(yùn)動補(bǔ)償單元44和幀內(nèi)預(yù)測模塊46。對于視頻塊重構(gòu)建,視頻編碼器20也包含反量化單元58、反變換模塊60和求和器62。也可包含解塊濾波器(圖2中未展示)以對塊邊界進(jìn)行濾波以從經(jīng)重構(gòu)建的視頻去除塊效應(yīng)偽影。在需要時,解塊濾波器通常將對求和器62的輸出進(jìn)行濾波。除解塊濾波器之外,也可使用額外環(huán)路濾波器(環(huán)路內(nèi)或環(huán)路后)。
[0196]如圖2中所展示,視頻編碼器20接收視頻數(shù)據(jù),且分割單元35將數(shù)據(jù)分割成視頻塊。此分割也可包含到切片、數(shù)據(jù)塊或其它較大單元的分割,以及視頻塊分割(例如,根據(jù)LCU及CU的四叉樹結(jié)構(gòu))。視頻編碼器20大體上說明編碼待編碼的視頻切片內(nèi)的視頻塊的組件??蓪⑶衅瑒澐殖啥鄠€視頻塊(且可能劃分成被稱作數(shù)據(jù)塊的視頻塊集合)。預(yù)測模塊41可基于誤差結(jié)果(例如,譯碼速率及失真級別)而選擇多個可能譯碼模式中的一者(例如,多個幀內(nèi)譯碼模式中的一者或多個幀間譯碼模式中的一者)用于當(dāng)前視頻塊。預(yù)測模塊41可將所得經(jīng)幀內(nèi)譯碼或經(jīng)幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù),且提供到求和器62以重構(gòu)建用作參考圖片的經(jīng)編碼塊。
[0197]預(yù)測模塊41內(nèi)的幀內(nèi)預(yù)測模塊46可執(zhí)行相對于與待譯碼的當(dāng)前塊相同的幀或切片中的一或多個相鄰塊的當(dāng)前視頻塊的幀內(nèi)預(yù)測性譯碼以提供空間壓縮。預(yù)測模塊41內(nèi)的運(yùn)動估計單元42及運(yùn)動補(bǔ)償單元44執(zhí)行相對于一或多個參考圖片中的一或多個預(yù)測性塊的當(dāng)前視頻塊的幀間預(yù)測性譯碼以提供時間壓縮。
[0198]運(yùn)動估計單元42可經(jīng)配置以根據(jù)視頻序列的預(yù)定型樣確定視頻切片的幀間預(yù)測豐旲式。預(yù)定型樣可將序列中的視頻切片指定為P切片、B切片或GPB切片。運(yùn)動估計單兀42與運(yùn)動補(bǔ)償單元44可高度集成,但出于概念的目的而分別地予以說明。由運(yùn)動估計單元42執(zhí)行的運(yùn)動估計為產(chǎn)生估計視頻塊的運(yùn)動的運(yùn)動向量的過程。運(yùn)動向量(例如)可指示當(dāng)前視頻幀或圖片內(nèi)的視頻塊的PU相對于參考圖片內(nèi)的預(yù)測性塊的位移。
[0199]預(yù)測性塊為發(fā)現(xiàn)與待譯碼的視頻塊的在像素差方面緊密匹配的塊,可通過絕對差總和(SAD)、平方差總和(SSD)或其它不同度量來確定像素差。在一些實(shí)例中,視頻編碼器20可計算存儲于參考圖片存儲器64中的參考圖片的子整數(shù)像素位置的值。例如,視頻編碼器20可內(nèi)插參考圖片的四分之一像素位置、八分之一像素位置或其它分率像素位置的值。因此,運(yùn)動估計單元42可執(zhí)行相對于全像素位置及分率像素位置的運(yùn)動搜尋,且輸出具有分率像素精確度的運(yùn)動向量。
[0200]運(yùn)動估計單元42通過比較經(jīng)幀間譯碼切片中的視頻塊的PU的位置與參考圖片的預(yù)測性塊的位置而計算PU的運(yùn)動向量。參考圖片可選自第一參考圖片列表(列表O)或第二參考圖片列表(列表I),列表中的每一者識別存儲于參考圖片存儲器64中的一或多個參考圖片。運(yùn)動估計單元42將所計算運(yùn)動向量發(fā)送到熵編碼單元56及運(yùn)動補(bǔ)償單元44。
[0201]由運(yùn)動補(bǔ)償單元44執(zhí)行的運(yùn)動補(bǔ)償可涉及基于通過運(yùn)動估計(可能執(zhí)行到子像素精確度的內(nèi)插)確定的運(yùn)動向量而取得或產(chǎn)生預(yù)測性塊。在接收到當(dāng)前視頻塊的PU的運(yùn)動向量后,運(yùn)動補(bǔ)償單元44便可將運(yùn)動向量所指向的預(yù)測性塊定位于參考圖片列表中的一者中。視頻編碼器20通過從正經(jīng)譯碼的當(dāng)前視頻塊的像素值減去預(yù)測性塊的像素值來形成殘余視頻塊,從而形成像素差值。像素差值形成塊的殘余數(shù)據(jù),且可包含亮度差分量與色度差分量兩者。求和器50表示執(zhí)行此減法運(yùn)算的一或多個組件。運(yùn)動補(bǔ)償單元44也可產(chǎn)生與視頻塊及視頻切片相關(guān)聯(lián)的供視頻解碼器30用于解碼視頻切片的視頻塊中的語法元素。
[0202]作為由運(yùn)動估計單元42及運(yùn)動補(bǔ)償單元44執(zhí)行的幀間預(yù)測(如上文所描述)的替代,幀內(nèi)預(yù)測模塊46可對當(dāng)前塊進(jìn)行幀內(nèi)預(yù)測。明確地說,幀內(nèi)預(yù)測模塊46可確定使用幀內(nèi)預(yù)測模式以編碼當(dāng)前塊。在一些實(shí)例中,幀內(nèi)預(yù)測模塊46可(例如)在單獨(dú)編碼遍次期間使用各種幀內(nèi)預(yù)測模式編碼當(dāng)前塊,且?guī)瑑?nèi)預(yù)測模塊46(或在一些實(shí)例中,模式選擇單元40)可從所測試模式中選擇使用適當(dāng)幀內(nèi)預(yù)測模式。例如,幀內(nèi)預(yù)測模塊46可使用關(guān)于各種所測試幀內(nèi)預(yù)測模式的速率-失真分析計算速率-失真值,且在所測試模式當(dāng)中選擇具有最佳速率-失真特性的幀內(nèi)預(yù)測模式。速率-失真分析大體上確定經(jīng)編碼塊與經(jīng)編碼以產(chǎn)生經(jīng)編碼塊的原始的未經(jīng)編碼塊之間的失真(或誤差)的量,以及用以產(chǎn)生經(jīng)編碼塊的速率(即,位數(shù)目)。幀內(nèi)預(yù)測模塊46可從失真及速率計算各種經(jīng)編碼塊的比率以確定哪一幀內(nèi)預(yù)測模式展現(xiàn)塊的最佳速率-失真值。
[0203]在任何狀況下,在選擇塊的幀內(nèi)預(yù)測模式之后,幀內(nèi)預(yù)測模塊46可將指示塊的所選定幀內(nèi)預(yù)測模式的信息提供到熵編碼單元56。熵編碼單元56可在所傳輸位流中編碼指示所選定幀內(nèi)預(yù)測模式的信息。
[0204]在預(yù)測模塊41經(jīng)由幀間預(yù)測或幀內(nèi)預(yù)測產(chǎn)生當(dāng)前視頻塊的預(yù)測性塊之后,視頻編碼器20通過從當(dāng)前視頻塊減去預(yù)測性塊而形成殘余視頻塊。殘余塊中的殘余視頻數(shù)據(jù)可包含于一或多個TU中且應(yīng)用于變換模塊52。變換模塊52使用例如離散余弦變換(DCT)或概念上類似的變換的變換將殘余視頻數(shù)據(jù)變換成殘余變換系數(shù)。變換模塊52可將殘余視頻數(shù)據(jù)從像素域轉(zhuǎn)換到變換域,例如,頻域。
[0205]變換模塊52可將所得變換系數(shù)發(fā)送到量化單元54。量化單元54使變換系數(shù)量化以進(jìn)一步減小速率。量化過程可減小與系數(shù)中的一些或全部相關(guān)聯(lián)的位深度??赏ㄟ^調(diào)整量化參數(shù)而修改量化程度。在一些實(shí)例中,量化單元54可接著執(zhí)行包含經(jīng)量化的變換系數(shù)的矩陣的掃描。替代地,熵編碼單元56可執(zhí)行掃描。
[0206]在量化之后,熵編碼單元56熵編碼經(jīng)量化的變換系數(shù)。例如,熵編碼單元56可執(zhí)行CAVLC、CABAC、SBAC、PIPE或另一熵編碼方法或技術(shù)。在由熵編碼單元56進(jìn)行熵編碼之后,可將經(jīng)編碼位流傳輸?shù)揭曨l解碼器30或加以存檔以供稍后傳輸或由視頻解碼器30檢索。熵編碼單元56也可熵編碼正經(jīng)譯碼的當(dāng)前視頻切片的運(yùn)動向量及其它語法元素。
[0207]反量化單元58及反變換模塊60分別應(yīng)用反量化及反變換,以在像素域中重構(gòu)建殘余塊以供稍后用作參考圖片的參考塊。運(yùn)動補(bǔ)償單元44可通過將殘余塊加到參考圖片列表中的一者內(nèi)的參考圖片中的一者的預(yù)測性塊來計算參考塊。運(yùn)動補(bǔ)償單元44也可將一或多個內(nèi)插濾波器應(yīng)用于經(jīng)重構(gòu)建的殘余塊以計算子整數(shù)像素值以供用于運(yùn)動估計中。求和器62將經(jīng)重構(gòu)建的殘余塊加到由運(yùn)動補(bǔ)償單元44產(chǎn)生的經(jīng)運(yùn)動補(bǔ)償?shù)念A(yù)測塊,以產(chǎn)生參考塊以用于存儲于參考圖片存儲器64中。參考塊可由運(yùn)動估計單元42及運(yùn)動補(bǔ)償單元44用作參考塊以對后續(xù)視頻幀或圖片中的塊進(jìn)行幀間預(yù)測。[0208]作為一個實(shí)例,包含熵編碼單元56的設(shè)備(例如,圖1的源裝置12的視頻編碼器20)可經(jīng)配置以用于上下文自適應(yīng)性熵譯碼。例如,設(shè)備可經(jīng)配置以執(zhí)行上文所描述的CABAC、SBAC或PIPE過程以及任何其它上下文自適應(yīng)性熵譯碼過程中的任一者。在此實(shí)例中,熵編碼單元56可經(jīng)配置以基于一或多個初始化參數(shù)索引值(例如,上文也參看圖1所描述的一或多個“idx_m”及“idx_n”值)而確定用于上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)的一或多個初始化參數(shù)(例如,上文參看圖1及圖2所描述的一或多個“m”及“η”參數(shù))。另外,熵編碼單元56可經(jīng)進(jìn)一步配置以基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。熵編碼單元56可經(jīng)更進(jìn)一步配置以基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0209]在一些實(shí)例中,一或多個初始化參數(shù)可包含于一或多個表中。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56可經(jīng)配置以將一或多個初始化參數(shù)索引值映射到一或多個表中的一或多個初始化參數(shù)。換句話說,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56可經(jīng)配置以基于一或多個初始化參數(shù)索引值而識別一或多個表中的一或多個初始化參數(shù)。
[0210]替代地,在其它實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56可經(jīng)配置以使用一或多個初始化參數(shù)索引值及一或多個公式來計算一或多個初始化參數(shù)。在這些實(shí)例中,一或多個公式中的每一者可僅使用各自選自由以下各者組成的組群的一或多個運(yùn)算來實(shí)施:位移位運(yùn)算、加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算和除法運(yùn)算。
[0211]在再其它實(shí)例中,一或多個初始化參數(shù)可包含一或多個斜率值及一或多個交叉值,且一或多個初始化參數(shù)索引值可包含一或多個斜率索引值及一或多個交叉索引值。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56可經(jīng)配置以基于一或多個斜率索引值而確定一或多個斜率值,且基于一或多個交叉索引值而確定一或多個交叉值。
[0212]替代地,在一些實(shí)例中,一或多個初始化參數(shù)可包含一或多個斜率值及一或多個交叉值。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56可經(jīng)配置以基于一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定一或多個斜率值中的至少一者及一或多個交叉值中的至少一者。
[0213]在上文所描述的實(shí)例中,一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值可包含一或多個斜率索引值分量及一或多個交叉索引值分量。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定一或多個斜率值中的至少一者及一或多個交叉值中的至少一者,熵編碼單元56可經(jīng)配置以基于一或多個斜率索引值分量而確定一或多個斜率值中的至少一者,且基于一或多個交叉索引值分量而確定一或多個交叉值中的至少一者。
[0214]此外,在這些實(shí)例中,為了基于一或多個斜率索引值分量而確定一或多個斜率值中的至少一者,且為了基于一或多個交叉索引值分量而確定一或多個交叉值中的至少一者,熵編碼單元56可經(jīng)配置以使用一或多個位移位運(yùn)算來確定一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值的一或多個斜率索引值分量和一或多個交叉索引值分量中的一者,且使用一或多個邏輯與運(yùn)算來確定一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值的一或多個斜率索引值分量和一或多個交叉索引值分量中的另一者。
[0215]在再其它實(shí)例中,一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值可包含預(yù)定數(shù)目個位。在這些實(shí)例中,一或多個斜率索引值分量和一或多個交叉索引值分量中的每一者可包含預(yù)定數(shù)目個位的相應(yīng)子集。同樣,在這些實(shí)例中,對應(yīng)于一或多個斜率索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目可不同于對應(yīng)于一或多個交叉索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目。
[0216]另外,在一些實(shí)例中,上下文自適應(yīng)性熵譯碼過程的一或多個上下文可包含上下文自適應(yīng)性熵譯碼過程的上下文的子集。例如,子集可對應(yīng)于與使用上下文自適應(yīng)性熵譯碼過程譯碼的視頻數(shù)據(jù)相關(guān)聯(lián)的語法類型。在一些實(shí)例中,語法類型可包含與視頻數(shù)據(jù)相關(guān)聯(lián)的以下各者中的一或多者:分量類型、塊大小、變換大小、預(yù)測模式、運(yùn)動信息和變換系數(shù)信息。
[0217]在其它實(shí)例中,包含熵編碼單元56的設(shè)備(例如,圖1的源裝置12的視頻編碼器20)可配置為視頻編碼器。在這些實(shí)例中,視頻編碼器可經(jīng)配置以基于上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的一或多個上下文而編碼與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個語法元素,且在位流中輸出經(jīng)編碼的一或多個語法元素。在一些實(shí)例中,如先前所描述,包含熵編碼單元56的設(shè)備(例如,圖1的源裝置12的視頻編碼器20)可包含以下各者中的至少一者:集成電路、微處理器和及包含熵編碼單元56的無線通信裝置。
[0218]如下文參看圖5到8更詳細(xì)描述,在其它實(shí)例中,視頻編碼器20或其各種組件(例如,熵編碼單元56)可經(jīng)配置以執(zhí)行關(guān)于用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的其它技術(shù)。例如,下文參看圖5所描述的技術(shù)(其類似于此實(shí)例的技術(shù))及下文參看圖6到8所描述的額外技術(shù)可由視頻編碼器20或其任何組件個別地或以任何組合來執(zhí)行。作為一個實(shí)例,可結(jié)合關(guān)于基于一或多個初始化參數(shù)索引值而初始化用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的此實(shí)例(及圖5的實(shí)例)的技術(shù)來執(zhí)行額外技術(shù)中的一或多者。明確地說,下文參看圖6到8所描述的技術(shù)涉及初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文,包含確定指示上下文的初始概率的上下文的初始上下文狀態(tài),或直接確定上下文的初始概率,使得初始概率相對于使用其它技術(shù)所確定的初始概率來說更準(zhǔn)確。
[0219]因此,如由上述實(shí)例說明,且如將由圖5到8的實(shí)例展示,本發(fā)明的技術(shù)可使得視頻編碼器20或其任何組件能夠相較于使用其它方法時的情況來說更有效率地編碼各種類型的數(shù)據(jù)(例如,上文所描述的視頻數(shù)據(jù))。作為一個實(shí)例,如由上述實(shí)例說明(且如將由圖5的實(shí)例展示),所述技術(shù)可使視頻編碼器20能夠在使用上下文自適應(yīng)性熵譯碼過程編碼數(shù)據(jù)時,相對于其它系統(tǒng)來說具有較低復(fù)雜性。例如,出于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的目的,所述技術(shù)可減小存儲于視頻編碼器20內(nèi)和/或從視頻編碼器20傳輸?shù)揭曨l解碼器(例如,視頻解碼器30)的信息的量(例如,數(shù)據(jù)位的數(shù)目)。明確地說,可通過存儲和/或傳輸指示用以初始化上下文的初始化參數(shù)的初始化參數(shù)索引值而非直接存儲和/或傳輸初始化參數(shù)來減小所存儲信息的量。
[0220]在一些實(shí)例中,可通過定義初始化參數(shù)索引值使得使用比初始化參數(shù)少的信息(例如,較少數(shù)據(jù)位)表示初始化參數(shù)索引值而減小所存儲信息的量。因此,初始化參數(shù)索引值可對應(yīng)于初始化參數(shù)的僅一子集。以這個方式,如通過初始化參數(shù)索引值指示,可使用少于全部的初始化參數(shù)初始化上下文。例如,可使用共同初始化參數(shù)來初始化上下文中的一些上下文。盡管如此,如上文所描述的存儲于視頻編碼器20內(nèi)且在一些狀況下從視頻編碼器20傳輸?shù)揭曨l解碼器的減小量的信息可在價值上超過與使用初始化參數(shù)的子集而非所有初始化參數(shù)相關(guān)聯(lián)的任何不利效應(yīng)(例如,上下文的初始概率相較于使用所有初始化參數(shù)所確定的初始概率來說相對較不準(zhǔn)確,其中每一上下文是使用獨(dú)特的一或多個初始化參數(shù)來初始化)。
[0221]以這個方式,在一些實(shí)例中,指示初始化參數(shù)子集的初始化參數(shù)索引值及初始化參數(shù)子集自身可存儲于視頻編碼器20內(nèi),由此有可能減小存儲于視頻編碼器20內(nèi)的信息的量。例如,在一些狀況下,因?yàn)槌跏蓟瘏?shù)索引值可使用比初始化參數(shù)少的信息來表示,且因?yàn)槌跏蓟瘏?shù)索引值可對應(yīng)于初始化參數(shù)的僅一子集,所以相對于在視頻編碼器20內(nèi)存儲所有初始化參數(shù)將需要的信息的量來說,可減小在視頻編碼器20內(nèi)用以存儲初始化參數(shù)索引值及初始化參數(shù)子集的總信息量(例如,總數(shù)據(jù)位數(shù)目)。此外,在其它狀況下,可將初始化參數(shù)索引值而非初始化參數(shù)從視頻編碼器20傳輸?shù)揭曨l解碼器,由此減小從視頻編碼器20傳輸?shù)揭曨l解碼器的總信息量。
[0222]作為另一實(shí)例,如將通過圖6到8的實(shí)例展示,當(dāng)視頻編碼器20經(jīng)配置以使用上下文自適應(yīng)性熵譯碼過程編碼數(shù)據(jù)時,本發(fā)明的技術(shù)可改進(jìn)數(shù)據(jù)的壓縮。例如,所述技術(shù)可通過以下操作來改進(jìn)數(shù)據(jù)的壓縮:使視頻編碼器20或其任何組件能夠初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文,使得一或多個上下文包含與使用其它上下文初始化技術(shù)所確定的初始概率相比較來說相對更準(zhǔn)確的初始概率。另外,在一些實(shí)例中,技術(shù)可通過以下操作來進(jìn)一步改進(jìn)數(shù)據(jù)的壓縮:使得視頻編碼器20或其任何組件能夠隨后更新上下文的概率,使得更新的概率與使用其它上下文概率更新技術(shù)所更新的概率相比較來說更準(zhǔn)確。
[0223]因此,當(dāng)使用本發(fā)明的技術(shù)時,可存在用于包含經(jīng)編碼數(shù)據(jù)的經(jīng)譯碼位流的相對位節(jié)省,及在一些狀況下,從視頻編碼器20傳輸?shù)揭曨l解碼器(例如,視頻解碼器30)的初始化參數(shù)索引值的相對位節(jié)省,及用以編碼數(shù)據(jù)的視頻編碼器20的復(fù)雜性的相對減小。
[0224]以這個方式,視頻編碼器20表示用于上下文自適應(yīng)性熵譯碼的設(shè)備的實(shí)例,設(shè)備包括譯碼器,譯碼器經(jīng)配置以:基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù),基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài),以及基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0225]圖3為說明與本發(fā)明的技術(shù)一致的視頻解碼器的實(shí)例的框圖,視頻解碼器可實(shí)施用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的技術(shù)。在圖3的實(shí)例中,視頻解碼器30包含熵解碼單元80、預(yù)測模塊81、反量化單元86、反變換模塊88、求和器90和參考圖片存儲器92。預(yù)測模塊81包含運(yùn)動補(bǔ)償單元82和幀內(nèi)預(yù)測模塊84。在一些實(shí)例中,視頻解碼器30可執(zhí)行大體上與關(guān)于來自圖2的視頻編碼器20所描述的編碼遍次互逆的解碼遍次。
[0226]在解碼過程期間,視頻解碼器30從視頻編碼器20接收表示經(jīng)編碼視頻切片的視頻塊和相關(guān)聯(lián)的語法元素的經(jīng)編碼視頻位流。視頻解碼器30的熵解碼單元80熵解碼位流以產(chǎn)生經(jīng)量化的系數(shù)、運(yùn)動向量及其它語法元素。熵解碼單元80將運(yùn)動向量及其它語法元素轉(zhuǎn)遞到預(yù)測模塊81。視頻解碼器30可在視頻切片層級和/或視頻塊層級接收語法元素。
[0227]在視頻切片經(jīng)譯碼為經(jīng)幀內(nèi)譯碼(I)切片時,預(yù)測模塊81的幀內(nèi)預(yù)測模塊84可基于用信號發(fā)送的幀內(nèi)預(yù)測模式及來自當(dāng)前幀或圖片的先前經(jīng)解碼塊的數(shù)據(jù)而產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測數(shù)據(jù)。在視頻幀經(jīng)譯碼為經(jīng)幀間譯碼(即,B、P或GPB)切片時,預(yù)測模塊81的運(yùn)動補(bǔ)償單元82基于運(yùn)動向量及從熵解碼單元80所接收的其它語法元素而產(chǎn)生用于當(dāng)前視頻切片的視頻塊的預(yù)測性塊。預(yù)測性塊可從參考圖片列表中的一者內(nèi)的參考圖片中的一者產(chǎn)生。視頻解碼器30可基于存儲于參考圖片存儲器92中的參考圖片使用默認(rèn)構(gòu)建技術(shù)構(gòu)建參考幀列表(列表O及列表I)。
[0228]運(yùn)動補(bǔ)償單元82通過剖析運(yùn)動向量和其它語法元素而確定當(dāng)前視頻切片的視頻塊的預(yù)測信息,且使用預(yù)測信息產(chǎn)生用于正經(jīng)解碼的當(dāng)前視頻塊的預(yù)測性塊。例如,運(yùn)動補(bǔ)償單元82使用一些所接收語法元素確定用以譯碼視頻切片的視頻塊的預(yù)測模式(例如,幀內(nèi)預(yù)測或幀間預(yù)測)、幀間預(yù)測切片類型(例如,B切片、P切片或GPB切片)、用于切片的參考圖片列表中的一或多者的構(gòu)建信息、用于切片的每一經(jīng)幀間編碼視頻塊的運(yùn)動向量、切片的每一經(jīng)幀間譯碼視頻塊的幀間預(yù)測狀態(tài)和用以解碼當(dāng)前視頻切片中的視頻塊的其它信息。
[0229]運(yùn)動補(bǔ)償單元82也可基于內(nèi)插濾波器而執(zhí)行內(nèi)插。運(yùn)動補(bǔ)償單元82可使用如由視頻編碼器20在視頻塊的編碼期間使用的內(nèi)插濾波器,來計算用于參考塊的子整數(shù)像素的內(nèi)插值。在此狀況下,運(yùn)動補(bǔ)償單元82可從所接收語法元素確定由視頻編碼器20使用的內(nèi)插濾波器且使用內(nèi)插濾波器來產(chǎn)生預(yù)測性塊。
[0230]反量化單元86使提供于位流中且由熵解碼單元80解碼的經(jīng)量化的變換系數(shù)反量化(即,解量化)。反量化過程可包含使用由視頻編碼器20針對視頻切片中的每一視頻塊計算的量化參數(shù),以確定量化程度及(同樣地)應(yīng)應(yīng)用的反量化的程度。反變換模塊88將反變換(例如,反DCT、反整數(shù)變換或概念上類似的反變換過程)應(yīng)用于變換系數(shù),以便在像素域中產(chǎn)生殘余塊。
[0231]在運(yùn)動補(bǔ)償單元82基于運(yùn)動向量及其它語法元素而產(chǎn)生用于當(dāng)前視頻塊的預(yù)測性塊之后,視頻解碼器30通過將來自反變換模塊88的殘余塊與由運(yùn)動補(bǔ)償單元82產(chǎn)生的對應(yīng)預(yù)測性塊求和來形成經(jīng)解碼視頻塊。求和器90表示執(zhí)行此求和運(yùn)算的一或多個組件。在需要時,也可應(yīng)用解塊濾波器以對經(jīng)解碼塊濾波以便去除塊效應(yīng)偽影。也可使用其它環(huán)路濾波器(譯碼環(huán)路中或譯碼環(huán)路后)來使像素轉(zhuǎn)變平滑,或以其它方式改進(jìn)視頻質(zhì)量。接著將給定幀或圖片中的經(jīng)解碼視頻塊存儲于參考圖片存儲器92中,參考圖片存儲器92存儲用于后續(xù)運(yùn)動補(bǔ)償?shù)膮⒖紙D片。參考圖片存儲器92也存儲經(jīng)解碼視頻以供稍后呈現(xiàn)于顯示裝置(例如,圖1的顯示裝置28)上。
[0232]作為一個實(shí)例,包含熵解碼單元80的設(shè)備(例如,圖1的目的地裝置14的視頻解碼器30)可被配置用于上下文自適應(yīng)性熵譯碼。例如,設(shè)備可經(jīng)配置以執(zhí)行上文所描述的CABAC、SBAC或PIPE過程中的任一者。在此實(shí)例中,熵解碼單元80可經(jīng)配置以基于一或多個初始化參數(shù)索引值(例如,上文也參看圖1所描述的一或多個“idx_m”及“idx η”值)而確定用于上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)的一或多個初始化參數(shù)(例如,上文參看圖1及圖2所描述的一或多個“m”及“η”參數(shù))。另外,熵解碼單元80可經(jīng)進(jìn)一步配置以基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)。熵解碼單元80可經(jīng)更進(jìn)一步配置以基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0233]在一些實(shí)例中,一或多個初始化參數(shù)可包含于一或多個表中。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵解碼單元80可經(jīng)配置以將一或多個初始化參數(shù)索引值映射到一或多個表中的一或多個初始化參數(shù)。換句話說,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵解碼單元80可經(jīng)配置以基于一或多個初始化參數(shù)索引值而識別一或多個表中的一或多個初始化參數(shù)。
[0234]替代地,在其它實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵解碼單元80可經(jīng)配置以使用一或多個初始化參數(shù)索引值及一或多個公式來計算一或多個初始化參數(shù)。在這些實(shí)例中,一或多個公式中的每一者可僅使用各自選自由以下各者組成的組群的一或多個運(yùn)算來實(shí)施:位移位運(yùn)算、加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算和除法運(yùn)算。
[0235]在再其它實(shí)例中,一或多個初始化參數(shù)可包含一或多個斜率值和一或多個交叉值,且一或多個初始化參數(shù)索引值可包含一或多個斜率索引值和一或多個交叉索引值。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵解碼單元80可經(jīng)配置以基于一或多個斜率索引值而確定一或多個斜率值,且基于一或多個交叉索引值而確定一或多個交叉值。
[0236]替代地,在一些實(shí)例中,一或多個初始化參數(shù)可包含一或多個斜率值和一或多個交叉值。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵解碼單元80可經(jīng)配置以基于一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定一或多個斜率值中的至少一者和一或多個交叉值中的至少一者。
[0237]在上文所描述的實(shí)例中,一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值可包含一或多個斜率索引值分量和一或多個交叉索引值分量。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定一或多個斜率值中的至少一者和一或多個交叉值中的至少一者,熵解碼單元80可經(jīng)配置以基于一或多個斜率索引值分量而確定一或多個斜率值中的至少一者,且基于一或多個交叉索引值分量而確定一或多個交叉值中的至少一者。
[0238]此外,在這些實(shí)例中,為了基于一或多個斜率索引值分量而確定一或多個斜率值中的至少一者,且為了基于一或多個交叉索引值分量而確定一或多個交叉值中的至少一者,熵解碼單元80可經(jīng)配置以使用一或多個位移位運(yùn)算來確定一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值的一或多個斜率索引值分量和一或多個交叉索引值分量中的一者,且使用一或多個邏輯與運(yùn)算來確定一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值的一或多個斜率索引值分量和一或多個交叉索引值分量中的另一者。
[0239]在再其它實(shí)例中,一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值可包含預(yù)定數(shù)目個位。在這些實(shí)例中,一或多個斜率索引值分量和一或多個交叉索引值分量中的每一者可包含預(yù)定數(shù)目個位的相應(yīng)子集。同樣,在這些實(shí)例中,對應(yīng)于一或多個斜率索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目可不同于對應(yīng)于一或多個交叉索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目。[0240]另外,在一些實(shí)例中,上下文自適應(yīng)性熵譯碼過程的一或多個上下文可包含上下文自適應(yīng)性熵譯碼過程的上下文的子集。例如,子集可對應(yīng)于與使用上下文自適應(yīng)性熵譯碼過程譯碼的視頻數(shù)據(jù)相關(guān)聯(lián)的語法類型。在一些實(shí)例中,語法類型可包含與視頻數(shù)據(jù)相關(guān)聯(lián)的以下各者中的一或多者:分量類型、塊大小、變換大小、預(yù)測模式、運(yùn)動信息和變換系數(shù)信息。
[0241 ] 在其它實(shí)例中,包含熵解碼單元80的設(shè)備(例如,圖1的目的地裝置14的視頻解碼器30)可配置為視頻解碼器。在這些實(shí)例中,視頻解碼器可經(jīng)配置以接收位流中與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個經(jīng)編碼語法元素,且基于上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的一或多個上下文而解碼一或多個經(jīng)編碼語法元素。
[0242]在一些實(shí)例中,如先前所描述,包含熵解碼單元80的設(shè)備(例如,圖1的目的地裝置14的視頻解碼器30)可包含以下各者中的至少一者:集成電路、微處理器和包含熵解碼單元80的無線通信裝置。
[0243]以與上文參看圖2所描述的方式及與下文參看圖5到8所描述的方式類似的方式,在其它實(shí)例中,視頻解碼器30或其各種組件(例如,熵解碼單元80)可經(jīng)配置以執(zhí)行關(guān)于用于上下文自適應(yīng)性熵譯碼的上下文狀態(tài)及概率初始化的其它技術(shù)。例如,下文參看圖5所描述的技術(shù)(其類似于此實(shí)例的技術(shù))及下文參看圖6到8所描述的額外技術(shù)可由視頻解碼器30或其任何組件個別地或以任何組合來執(zhí)行。作為一個實(shí)例,可結(jié)合關(guān)于基于一或多個初始化參數(shù)索引值而初始化用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的此實(shí)例(及圖5的實(shí)例)的技術(shù)來執(zhí)行額外技術(shù)中的一或多者。明確地說,下文參看圖6到8所描述的技術(shù)涉及初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文,包含確定指示上下文的初始概率的上下文的初始上下文狀態(tài),或直接確定上下文的初始概率,使得初始概率相對于使用其它技術(shù)所確定的初始概率來說更準(zhǔn)確。
[0244]因此,如通過上述實(shí)例說明,且如將通過圖5到8的實(shí)例展示,本發(fā)明的技術(shù)可使得視頻解碼器30或其任何組件能夠相較于使用其它方法時的情況來說更有效率地解碼各種類型的經(jīng)編碼數(shù)據(jù)(例如,上文所描述的經(jīng)編碼視頻數(shù)據(jù))。作為一個實(shí)例,如通過上述實(shí)例說明(且如將通過圖5的實(shí)例展示),技術(shù)可使視頻解碼器30能夠在使用上下文自適應(yīng)性熵譯碼過程解碼經(jīng)編碼數(shù)據(jù)時,相對于其它系統(tǒng)來說具有較低復(fù)雜性。例如,出于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的目的,技術(shù)可減小存儲于視頻解碼器30內(nèi)和/或從視頻編碼器(例如,視頻編碼器20)傳輸?shù)揭曨l解碼器30的信息的量。明確地說,可通過存儲和/或傳輸指示用以初始化上下文的初始化參數(shù)的初始化參數(shù)索引值而非直接存儲和/或傳輸初始化參數(shù)來減小信息的量。
[0245]以與上文參看圖2所描述的方式類似的方式,在一些實(shí)例中,可通過定義初始化參數(shù)索引值使得使用比初始化參數(shù)少的信息表示初始化參數(shù)索引值而減小信息的量。因此,初始化參數(shù)索弓I值可對應(yīng)于初始化參數(shù)的僅一子集。以這個方式,如通過初始化參數(shù)索引值指示,可使用少于全部的初始化參數(shù)來初始化上下文。例如,上下文中的一些上下文可使用共同初始化參數(shù)來初始化。盡管如此,如上文所描述的存儲于視頻解碼器30內(nèi)且在一些狀況下從視頻編碼器傳輸?shù)揭曨l解碼器30的減小量的信息可在價值上超過與使用初始化參數(shù)的子集而非所有初始化參數(shù)相關(guān)聯(lián)的任何不利效應(yīng)(例如,上下文的初始概率相較于使用所有初始化參數(shù)所確定的初始概率來說相對較不準(zhǔn)確,其中每一上下文是使用獨(dú)特的一或多個初始化參數(shù)來初始化)。
[0246]以這個方式,在一些實(shí)例中,指示初始化參數(shù)子集的初始化參數(shù)索引值及初始化參數(shù)子集自身可存儲于視頻解碼器30內(nèi),由此有可能減小存儲于視頻解碼器30內(nèi)的信息的量。例如,在一些狀況下,因?yàn)槌跏蓟瘏?shù)索引值可使用比初始化參數(shù)少的信息來表示,且因?yàn)槌跏蓟瘏?shù)索引值可對應(yīng)于初始化參數(shù)的僅一子集,所以相對于在視頻解碼器30內(nèi)存儲所有初始化參數(shù)將需要的信息的量來說,可減小在視頻解碼器30內(nèi)用以存儲初始化參數(shù)索引值及初始化參數(shù)子集的總信息量。此外,在其它狀況下,可將初始化參數(shù)索引值而非初始化參數(shù)從視頻編碼器傳輸?shù)揭曨l解碼器30,由此減小從視頻編碼器傳輸?shù)揭曨l解碼器30的總信息量。
[0247]作為另一實(shí)例,如將通過圖6到8的實(shí)例展示,當(dāng)視頻編碼器(例如,視頻編碼器20)經(jīng)配置以使用上下文自適應(yīng)性熵譯碼過程編碼數(shù)據(jù),且視頻解碼器30經(jīng)配置以使用上下文自適應(yīng)性熵譯碼過程解碼經(jīng)編碼數(shù)據(jù)時,本發(fā)明的技術(shù)可改進(jìn)數(shù)據(jù)的壓縮。例如,所述技術(shù)可通過以下操作來改進(jìn)數(shù)據(jù)的壓縮:使得視頻解碼器30或其任何組件能夠初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文,使得一或多個上下文包含與使用其它上下文初始化技術(shù)所確定的初始概率相比較來說相對更準(zhǔn)確的初始概率。另外,在一些實(shí)例中,技術(shù)可通過以下操作來進(jìn)一步改進(jìn)數(shù)據(jù)的壓縮:使得視頻解碼器30或其任何組件能夠隨后更新一或多個上下文的概率,使得更新的概率與使用其它上下文概率更新技術(shù)所更新的概率相比較來說更準(zhǔn)確。
[0248]因此,當(dāng)使用本發(fā)明的技術(shù)時,可存在用于包含由視頻解碼器30或其任何組件解碼的經(jīng)編碼數(shù)據(jù)的經(jīng)譯碼位流的相對位節(jié)省,及在一些狀況下,從視頻編碼器(例如,視頻編碼器20)傳輸?shù)揭曨l解碼器30的初始化參數(shù)索引值的相對位節(jié)省,及用以解碼經(jīng)編碼數(shù)據(jù)的視頻解碼器30的復(fù)雜性的相對減小。
[0249]以這個方式,視頻解碼器30表示用于上下文自適應(yīng)性熵譯碼的設(shè)備的實(shí)例,設(shè)備包括譯碼器,譯碼器經(jīng)配置以基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù),基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài),以及基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0250]圖4為說明與本發(fā)明的技術(shù)一致的使用可調(diào)式視頻譯碼(SVC)譯碼的經(jīng)譯碼視頻序列(CVS)的時間階層的實(shí)例的概念圖。如圖4中所展示,CVS可包含以時間次序布置的多個視頻幀(即,幀I到8),時間次序可被稱作輸出或“顯示”次序。當(dāng)使用SVC來譯碼CVS時,如圖4中所描繪,CVS的幀中的一些幀(S卩,幀0、4及8)可譯碼于可被稱作CVS的“基礎(chǔ)層”的幀的子集中,而其它幀(即,幀I到3及5到7)可譯碼于CVS的幀的一或多個額外子集中,額外子集中的每一者可被稱作CVS的“增強(qiáng)層”。例如,可傳輸CVS的基礎(chǔ)層并在顯示裝置上顯示CVS的基礎(chǔ)層。另外,可結(jié)合基礎(chǔ)層選擇性地傳輸CVS的增強(qiáng)層中的一或多者并在相同顯示裝置上顯示CVS的增強(qiáng)層中的一或多者。以這個方式,上文所描述的包括基礎(chǔ)層及一或多個增強(qiáng)層的圖4的CVS可被稱作使用SVC譯碼的CVS。
[0251]如由圖4的實(shí)例說明,使用SVC譯碼的CVS的特定視頻幀可以階層式結(jié)構(gòu)譯碼。如圖4中所展示,幀0、4及8可在特定時間層(例如,“層O”)中經(jīng)譯碼,幀2及6可在另一時間層(例如,“層I”)中經(jīng)譯碼,且剩余幀(即,幀1、3、5及7)可在又一時間層(例如,“層2”)中經(jīng)譯碼。在圖4的實(shí)例中,層O可被稱作基礎(chǔ)層,且層I及層2中的每一者可被稱作增強(qiáng)層。此外,圖4的幀之間的相依性可能并非對稱的。換句話說,如通過圖4中所展示的箭頭指示,在較低時間層(例如,層O)中譯碼的幀可充當(dāng)用于在較高時間層(例如,層I及層2)中譯碼的幀的參考幀。相反地,在較高時間層中譯碼的幀可能并不充當(dāng)用于在較低時間層中譯碼的幀的參考幀。
[0252]根據(jù)本發(fā)明的技術(shù),與例如使用SVC譯碼的CVS的視頻幀的視頻數(shù)據(jù)相關(guān)聯(lián)的時間層可用以初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)的一或多個上下文。例如,如上文參看圖1到3所描述且如下文將參看圖5到8的實(shí)例方法更詳細(xì)描述,可使用時間層參數(shù)表示的與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層可用作確定上下文自適應(yīng)性熵譯碼過程的一或多個上下文的初始上下文狀態(tài)的部分。以這個方式,本發(fā)明的技術(shù)在一些狀況下可使得能夠初始化一或多個上下文,使得通過一或多個上下文的初始上下文狀態(tài)指示的初始概率相較于使用其它技術(shù)(例如,在使用上下文自適應(yīng)性熵譯碼過程譯碼視頻數(shù)據(jù)時并未考慮與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層的技術(shù))所確定的初始概率來說相對更準(zhǔn)確。
[0253]圖5到8為說明與本發(fā)明的技術(shù)一致的初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文及概率的實(shí)例方法的流程圖。明確地說,圖5、圖6及圖8的實(shí)例方法的技術(shù)包含確定用以譯碼數(shù)據(jù)(例如,視頻數(shù)據(jù))的上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)的一或多個上下文的初始上下文狀態(tài)。另外,圖7的實(shí)例方法的技術(shù)包含確定用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的初始概率值,以及基于數(shù)據(jù)而更新初始概率值。
[0254]圖5到8的技術(shù)可大體上由任何處理單元或處理器來執(zhí)行,而不管處理單元或處理器是以硬件、軟件、固件或其組合而實(shí)施,且當(dāng)處理單元或處理器以軟件或固件來實(shí)施時,可提供對應(yīng)硬件以執(zhí)行用于軟件或固件的指令。出于實(shí)例的目的,關(guān)于視頻編碼器20的熵編碼單元56 (圖2)和/或視頻解碼器30的熵解碼單元80 (圖3)來描述圖5到8的技術(shù),但應(yīng)理解,其它裝置可經(jīng)配置以執(zhí)行類似技術(shù)。此外,圖5到8中所說明的步驟可按不同次序執(zhí)行或并行地執(zhí)行,且可在不脫離本發(fā)明的技術(shù)的情況下添加額外步驟且省略某些步驟。另外,與本發(fā)明的技術(shù)一致,圖5到8的實(shí)例方法的技術(shù)可個別地或彼此組合地執(zhí)行,包含依序地執(zhí)行圖5到8的實(shí)例方法的技術(shù)中的一或多者或與圖5到8的實(shí)例方法的技術(shù)中的一或多個其它技術(shù)并行地執(zhí)行圖5到8的實(shí)例方法的技術(shù)中的一或多者。
[0255]在圖5到8中的每一者的實(shí)例中,最初,熵編碼單元56和/或熵解碼單元80可接收視頻數(shù)據(jù)塊。例如,如先前所描述,塊可包括宏塊,或CU的TU。在一些實(shí)例中,熵編碼單元56可使用上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)來編碼視頻數(shù)據(jù)塊。類似地,在其它實(shí)例中,在塊為經(jīng)編碼視頻數(shù)據(jù)塊的例子中,熵解碼單元80可使用與上文參看熵編碼單元56所描述的上下文自適應(yīng)性熵譯碼過程相同或類似的上下文自適應(yīng)性熵譯碼過程來解碼塊。在再其它實(shí)例中,熵編碼單元56和/或熵解碼單元80可使用上下文自適應(yīng)性熵譯碼過程來編碼或解碼其它類型的數(shù)據(jù)(例如,不同于視頻數(shù)據(jù)的數(shù)據(jù))。以這個方式,圖5到8的實(shí)例方法可適用于經(jīng)配置以使用上下文自適應(yīng)性熵譯碼過程譯碼視頻數(shù)據(jù)的包含視頻編碼器、視頻解碼器或其任何組合的任何譯碼系統(tǒng)。另外,圖5到8的實(shí)例方法可適用于用于使用上下文自適應(yīng)性熵譯碼過程譯碼包含不同于視頻數(shù)據(jù)的數(shù)據(jù)的廣泛多種數(shù)據(jù)中的任一者的技術(shù)。
[0256]圖5為說明與本發(fā)明的技術(shù)一致的基于一或多個初始化參數(shù)索引值而初始化用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的實(shí)例方法的流程圖。換句話說,圖5的實(shí)例方法的技術(shù)包含使用一或多個初始化參數(shù)確定用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文中的每一者的初始上下文狀態(tài),其中一或多個初始化參數(shù)是使用一或多個初始化參數(shù)索引值來確定。
[0257]作為一個實(shí)例,為了使用如上文所描述的上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)譯碼視頻數(shù)據(jù)塊或其它類型的數(shù)據(jù),熵編碼單元56和/或熵解碼單元80可基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)(500)。例如,一或多個初始化參數(shù)可對應(yīng)于上文所描述的一或多個“m”及“η”參數(shù)。也如上文所描述,熵編碼單元56和/或熵解碼單元80可使用一或多個“m”及“η”參數(shù)的值,以(例如)使用上文參看H.264/AVC及HEVC的某些草案版本所描述的線性關(guān)系來確定上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài)。此外,根據(jù)本發(fā)明的技術(shù),一或多個初始化參數(shù)索引值可使用比用以表示一或多個初始化參數(shù)的值的信息量少的信息(例如,較少數(shù)據(jù)位)來表示。
[0258]在一個實(shí)例中,在一或多個初始化參數(shù)對應(yīng)于一或多個“m”及“η”參數(shù)的狀況下,一或多個“m”及“η”參數(shù)中的每一者的值可使用8個數(shù)據(jù)位來表示。因此,在此實(shí)例中,使用16個數(shù)據(jù)位來表示用以初始化特定上下文的每一 “m”及“η”參數(shù)值“對”。作為一個實(shí)例,在每一初始化參數(shù)索引值用以確定一或多個“m”及“η”參數(shù)中的一特定“m”及“η”參數(shù)的值的狀況下,每一初始化參數(shù)索引值可使用4個數(shù)據(jù)位來表示,從而導(dǎo)致使用8個數(shù)據(jù)位來確定每一 “m”及“η”參數(shù)值對。作為另一實(shí)例,在每一初始化參數(shù)索引值用以確定一特定“m”及“η”參數(shù)值對的狀況下,每一初始化參數(shù)索引值可使用8個數(shù)據(jù)位來表示,從而再次導(dǎo)致使用8個數(shù)據(jù)位來確定每一 “m”及“η”參數(shù)值對。
[0259]以這個方式,并非存儲和/或傳輸16個數(shù)據(jù)位以便初始化特定上下文,而是僅存儲和/或傳輸8個數(shù)據(jù)位。此外,因?yàn)橐换蚨鄠€初始化參數(shù)索引值可對應(yīng)于所有可能初始化參數(shù)的僅一子集,所以可使用少于全部的可能初始化參數(shù)來初始化上下文。例如,上下文中的一些上下文可使用共同初始化參數(shù)來初始化。盡管如此,如上文所描述的所存儲和/或所傳輸?shù)男畔⒌臏p小量可在價值上超過與使用初始化參數(shù)的子集而非所有可能初始化參數(shù)相關(guān)聯(lián)的任何不利效應(yīng)。
[0260]熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)(502)。例如,如先前所描述,編碼單元56和/或熵解碼單元80可使用一或多個關(guān)系(例如,上文參看H.264/AVC及HEVC的某些草案版本所描述的線性關(guān)系)基于一或多個初始化參數(shù)而確定一或多個初始上下文狀態(tài)。
[0261 ] 熵編碼單元56和/或熵解碼單元80可更進(jìn)一步基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文(504)。例如,也如先前所描述,編碼單元56和/或熵解碼單元80可將一或多個上下文中的特定上下文的上下文狀態(tài)定義為一或多個初始上下文狀態(tài)中的對應(yīng)初始上下文狀態(tài)。也如先前所描述,一或多個上下文中的特定上下文的經(jīng)初始化的上下文狀態(tài)又可指示上下文的初始概率。[0262]在一些實(shí)例中,熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的一或多個上下文而熵譯碼數(shù)據(jù)(例如,視頻數(shù)據(jù)塊或其它類型的數(shù)據(jù))(506)。例如,熵編碼單元56和/或熵解碼單元80可通過基于上文所描述的經(jīng)初始化的一或多個上下文而執(zhí)行上下文自適應(yīng)性熵譯碼過程來譯碼數(shù)據(jù)。如先前所描述,數(shù)據(jù)可包含例如視頻數(shù)據(jù)塊的視頻數(shù)據(jù),和/或任何其它類型的數(shù)據(jù)。另外,在其它實(shí)例中,熵編碼單元56和/或熵解碼單元80可更進(jìn)一步基于數(shù)據(jù)而更新上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的一或多個上下文的上下文狀態(tài)(508)。例如,熵編碼單元56和/或熵解碼單元80可基于數(shù)據(jù)(例如,基于數(shù)據(jù)的一或多個值)而更新如通過上文所描述的一或多個初始上下文狀態(tài)指示的經(jīng)初始化的一或多個上下文的初始概率。
[0263]在一些實(shí)例中,一或多個初始化參數(shù)可包含于一或多個表中。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56和/或熵解碼單元80可將一或多個初始化參數(shù)索引值映射到一或多個表中的一或多個初始化參數(shù)。
[0264]在其它實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56和/或熵解碼單元80可使用一或多個初始化參數(shù)索引值和一或多個公式來計算一或多個初始化參數(shù)。例如,一或多個公式中的每一者可僅使用各自選自由以下各者組成的組群的一或多個運(yùn)算來實(shí)施:位移位運(yùn)算、加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算和除法運(yùn)算。
[0265]在再其它實(shí)例中,一或多個初始化參數(shù)可包含一或多個斜率值及一或多個交叉值,且一或多個初始化參數(shù)索引值可包含一或多個斜率索引值及一或多個交叉索引值。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56和/或熵解碼單元80可基于一或多個斜率索引值而確定一或多個斜率值,且基于一或多個交叉索引值而確定一或多個交叉值。
[0266]在一些實(shí)例中,一或多個初始化參數(shù)可再次包含一或多個斜率值和一或多個交叉值。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值而確定一或多個初始化參數(shù),熵編碼單元56和/或熵解碼單元80可基于一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定一或多個斜率值中的至少一者和一或多個交叉值中的至少一者。換句話說,在一些實(shí)例中,每一初始化參數(shù)索引值可用以確定一或多個斜率值和一或多個交叉值。作為一個實(shí)例,可將每一初始化參數(shù)索引值映射到一或多個表中的一或多個斜率值和一或多個交叉值。作為另一實(shí)例,每一初始化參數(shù)索引值可用以基于一或多個公式而計算一或多個斜率值和一或多個交叉值。然而,在其它實(shí)例中,每一初始化參數(shù)索引值可包含可用以確定一或多個斜率值和一或多個交叉值的一或多個分量或“子集”,如下文更詳細(xì)描述。
[0267]例如,在一些實(shí)例中,一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值可包含一或多個斜率索引值分量及一或多個交叉索引值分量。在這些實(shí)例中,為了基于一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定一或多個斜率值中的至少一者及一或多個交叉值中的至少一者,熵編碼單元56和/或熵解碼單元80可基于一或多個斜率索引值分量而確定一或多個斜率值中的至少一者,且基于一或多個交叉索引值分量而確定一或多個交叉值中的至少一者。
[0268]此外,在其它實(shí)例中,為了基于一或多個斜率索引值分量而確定一或多個斜率值中的至少一者,且基于一或多個交叉索引值分量而確定一或多個交叉值中的至少一者,熵編碼單元56和/或熵解碼單元80可使用一或多個位移位運(yùn)算來確定一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值的一或多個斜率索引值分量和一或多個交叉索引值分量中的一者,且使用一或多個邏輯與運(yùn)算來確定一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值的一或多個斜率索引值分量和一或多個交叉索引值分量中的另一者。
[0269]在再其它實(shí)例中,一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值可包含預(yù)定數(shù)目個位,其中一或多個斜率索引值分量和一或多個交叉索引值分量中的每一者包含預(yù)定數(shù)目個位的一相應(yīng)子集。在一些實(shí)例中,對應(yīng)于一或多個斜率索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目可不同于對應(yīng)于一或多個交叉索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目。在其它實(shí)例中,對應(yīng)于一或多個斜率索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目可與對應(yīng)于一或多個交叉索引值分量的子集中的每一者所包含的預(yù)定數(shù)目個位的數(shù)目相同。
[0270]另外,在一些實(shí)例中,上下文自適應(yīng)性熵譯碼過程的一或多個上下文可包含上下文自適應(yīng)性熵譯碼過程的上下文的子集。例如,子集可對應(yīng)于與使用上下文自適應(yīng)性熵譯碼過程譯碼的視頻數(shù)據(jù)相關(guān)聯(lián)的語法類型。在一些實(shí)例中,語法類型可包含與視頻數(shù)據(jù)相關(guān)聯(lián)的以下各者中的一或多者:分量類型、塊大小、變換大小、預(yù)測模式、運(yùn)動信息和變換系數(shù)信息。
[0271]以這個方式,圖5的方法表示上下文自適應(yīng)性熵譯碼的方法的實(shí)例,所述方法包括:基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù),基于一或多個初始化參數(shù)而確定用于初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài),以及基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0272]圖6為說明與本發(fā)明的技術(shù)一致的基于與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層而初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的實(shí)例方法的流程圖。換句話說,圖6的實(shí)例方法的技術(shù)包含使用一或多個初始化參數(shù)及時間層參數(shù)來確定用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文中的每一者的初始上下文狀態(tài),時間層參數(shù)指示與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層。
[0273]作為一個實(shí)例,為了使用如上文所描述的上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)譯碼視頻數(shù)據(jù)塊或其它類型的數(shù)據(jù),熵編碼單元56和/或熵解碼單元80可基于一或多個初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層參數(shù)而確定用于初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)(600)。例如,時間層參數(shù)可對應(yīng)于用于視頻數(shù)據(jù)的語法元素,其中語法元素的值指示與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層。如上文參看圖4所描述,與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層可對應(yīng)于在與視頻數(shù)據(jù)相關(guān)聯(lián)的時間階層內(nèi)的視頻數(shù)據(jù)(例如,視頻數(shù)據(jù)的特定視頻幀)的位置。
[0274]以這個方式,如通過一或多個初始上下文狀態(tài)指示的一或多個上下文的初始概率相較于使用其它技術(shù)(例如,在不考慮與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層的情況下,確定用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài)的技術(shù))所確定的上下文的初始概率來說可能相對更準(zhǔn)確。
[0275]隨后,如上文參看圖5所描述,熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文(602)。另外,在一些實(shí)例中,以與上文參看圖5所描述的方式類似的方式,熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的一或多個上下文而熵譯碼視頻數(shù)據(jù)(604),且在一些狀況下,基于視頻數(shù)據(jù)而更新上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的一或多個上下文的上下文狀態(tài)(606)。
[0276]在一些實(shí)例中,視頻數(shù)據(jù)可包含視頻數(shù)據(jù)幀及視頻數(shù)據(jù)幀的切片中的一者。在這些實(shí)例中,時間層參數(shù)可包含相應(yīng)視頻數(shù)據(jù)幀的時間層。
[0277]在其它實(shí)例中,為了基于一或多個初始化參數(shù)及時間層參數(shù)而確定一或多個初始上下文狀態(tài),熵編碼單元56和/或熵解碼單元80可基于以下各者而確定一或多個初始上下文狀態(tài):一或多個初始化參數(shù),和基于時間層參數(shù)而變化的偏移參數(shù)及基于時間層參數(shù)而變化的初始化量化參數(shù)值中的一者。
[0278]在一些實(shí)例中,為了基于一或多個初始化參數(shù)及偏移參數(shù)而確定一或多個初始上下文狀態(tài),熵編碼單元56和/或熵解碼單元80可使用偏移參數(shù)來修改與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值。在其它實(shí)例中,偏移參數(shù)及初始化量化參數(shù)值中的一或多者中的每一者可進(jìn)一步基于以下各者中的一或多者而變化:切片類型、幀分辨率和與視頻數(shù)據(jù)相關(guān)聯(lián)的參考幀列表大小。此外,在一些實(shí)例中,熵編碼單元56和/或熵解碼單元80可進(jìn)一步譯碼待包含于以下各者中的至少一者中的偏移參數(shù)及初始化量化參數(shù)值中的一或多者:圖片參數(shù)集(PPS)、序列參數(shù)集(SPS)和與視頻數(shù)據(jù)相關(guān)聯(lián)的調(diào)適參數(shù)集(APS),例如,或另一參數(shù)集或高階語法位置。
[0279]另外,在一些實(shí)例中,上下文自適應(yīng)性熵譯碼過程的一或多個上下文可包含上下文自適應(yīng)性熵譯碼過程的上下文的一子集。作為一個實(shí)例,子集可對應(yīng)于與視頻數(shù)據(jù)相關(guān)聯(lián)的語法類型。作為另一實(shí)例,語法類型可包含與視頻數(shù)據(jù)相關(guān)聯(lián)的以下各者中的一或多者:分量類型、塊大小、變換 大小、預(yù)測模式、運(yùn)動信息和變換系數(shù)信息。
[0280]以這個方式,圖6的方法表示上下文自適應(yīng)性熵譯碼的方法的實(shí)例,所述方法包括:基于一或多個初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層參數(shù)而確定用于初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài),以及基于一或多個初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文。
[0281]圖7為說明與本發(fā)明的技術(shù)一致的基于一或多個概率偏移而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的實(shí)例方法的流程圖。換句話說,圖7的實(shí)例方法的技術(shù)包含確定用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文中的每一者的初始概率,使得每一上下文的初始概率位于由下限及上限定義的總概率值范圍的子集內(nèi)。在圖7的實(shí)例方法中,由相對于概率值范圍的下限及上限中的一或多者的一或多個概率偏移來定義子集。
[0282]作為一個實(shí)例,為了使用如上文所描述的上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)譯碼視頻數(shù)據(jù)塊或其它類型的數(shù)據(jù),熵編碼單元56和/或熵解碼單元80可確定第一值(700)。例如,第一值可對應(yīng)于使用給定上下文概率初始化技術(shù)導(dǎo)出的上下文自適應(yīng)性熵譯碼過程的特定上下文的初始概率。在此實(shí)例中,上下文的初始概率可對應(yīng)于(例如)使用上文參看H.264/AVC及HEVC所描述的上下文概率初始化技術(shù)導(dǎo)出的“默認(rèn)”初始概率。然而,不同于其它技術(shù),圖7的實(shí)例方法的技術(shù)包含:確定不同于第一值的第二值是否可導(dǎo)致上下文的相對更準(zhǔn)確(例如,較不歪斜)的初始概率,且基于確定而選擇第一值或第二值作為上下文的初始概率。
[0283]例如,在第一值處于由下限、上限及相對于下限及上限中的一或多者的一或多個偏移定義的值范圍內(nèi)的情況下(702,“是”),熵編碼單元56和/或熵解碼單元80可進(jìn)一步選擇第一值(704)。然而,在第一值處于值范圍外的情況下(702,“否”),熵編碼單元56和/或熵解碼單元80可改為選擇第二值,其中第二值不同于第一值(706)。如上文所解釋,第二值可對應(yīng)于相對于對應(yīng)于第一值的概率來說更準(zhǔn)確的上下文的不同概率,且反之亦然。
[0284]以這個方式,上下文的初始概率與使用其它技術(shù)(例如,在不考慮在概率值范圍內(nèi)的初始概率的相對位置的情況下,確定用以譯碼數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的初始概率的技術(shù))所確定的上下文的初始概率相比較來說可能相對更準(zhǔn)確。例如,根據(jù)一些技術(shù),上下文的初始概率可位于相對接近于概率值范圍的下限及上限中的任一者處,從而可能導(dǎo)致初始概率較不準(zhǔn)確。
[0285]隨后,熵編碼單元56和/或熵解碼單元80可基于所選定的第一值或第二值而初始化上下文自適應(yīng)性熵譯碼過程的上下文的概率(708)。例如,熵編碼單元56和/或熵解碼單元80可通過將上下文的概率定義為所選定的第一值或第二值而初始化上下文的概率。
[0286]在一些實(shí)例中,熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于上下文自適應(yīng)性熵譯碼過程的上下文的經(jīng)初始化的概率而熵譯碼數(shù)據(jù)(例如,視頻數(shù)據(jù)塊或其它類型的數(shù)據(jù))(710)。例如,熵編碼單元56和/或熵解碼單元80可通過以下操作來譯碼數(shù)據(jù):基于上文所描述的經(jīng)初始化的概率,以及基于以與上文所描述的方式相同或類似的方式初始化的上下文的一或多個其它概率,執(zhí)行上下文自適應(yīng)性熵譯碼過程。
[0287]另外,在其它實(shí)例中,熵編碼單元56和/或熵解碼單元80可更進(jìn)一步基于數(shù)據(jù)及一或多個偏移而更新上下文自適應(yīng)性熵譯碼過程的上下文的經(jīng)初始化的概率(712)。例如,以與上文參看圖5及圖6所描述的方式類似的方式,熵編碼單元56和/或熵解碼單元80可基于數(shù)據(jù)(例如,基于數(shù)據(jù)的一或多個值)而更新上下文的經(jīng)初始化的概率。另外,熵編碼單元56和/或熵解碼單元80也可基于一或多個偏移而更新上下文的經(jīng)初始化的概率,使得更新的概率也位于由下限及上限定義的總概率值范圍的先前所描述的子集內(nèi)。換句話說,在一些實(shí)例中,圖7的實(shí)例方法的技術(shù)可適用于確定特定上下文的初始概率,以及連續(xù)更新上下文的概率。然而,在其它實(shí)例中,以與上文參看圖5及圖6所描述的方式類似的方式,熵編碼單元56和/或熵解碼單元80可單獨(dú)基于數(shù)據(jù)而更新上下文的經(jīng)初始化的概率。
[0288]在一些實(shí)例中,一或多個偏移可包含第一偏移及第二偏移。在這些實(shí)例中,為了在第一值處于值范圍內(nèi)的情況下選擇第一值,熵編碼單元56和/或熵解碼單元80可在第一值大于下限的值加上第一偏移所得值且小于上限的值減去第二偏移所得值的情況下,選擇第一值。在一些實(shí)例中,第一偏移可等于第二偏移。在其它實(shí)例中,第一偏移可不同于第二偏移。
[0289]在再其它實(shí)例中,如上文已描述,熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于一或多個偏移而更新上下文自適應(yīng)性熵譯碼過程的上下文的概率。
[0290]以這個方式,圖7的方法表示上下文自適應(yīng)性熵譯碼的方法的實(shí)例,所述方法包括:確定第一值;在第一值處于由下限、上限及相對于下限及上限中的一或多者的一或多個偏移定義的值范圍內(nèi)的情況下,選擇第一值;在第一值處于值范圍外的情況下,選擇第二值,其中第二值不同于第一值;以及基于所選定的第一值或第二值而初始化上下文自適應(yīng)性熵譯碼過程的上下文的概率。
[0291]圖8為說明與本發(fā)明的技術(shù)一致的基于參考上下文狀態(tài)及量化參數(shù)值以及一或多個關(guān)系而初始化上下文自適應(yīng)性熵譯碼過程的一或多個上下文的實(shí)例方法的流程圖。換句話說,圖8的實(shí)例方法的技術(shù)包含使用三個或三個以上值集合和一或多個關(guān)系來確定用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的一或多個上下文中的每一者的初始上下文狀態(tài),三個或三個以上值集合各自包含參考上下文狀態(tài)值及對應(yīng)的參考量化參數(shù)值。
[0292]作為一個實(shí)例,為了使用如上文所描述的上下文自適應(yīng)性熵譯碼過程(例如,CABAC過程)譯碼視頻數(shù)據(jù)塊或其它類型的數(shù)據(jù),熵編碼單元56和/或熵解碼單元80可基于一初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的一量化參數(shù)值而確定用于初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài),初始化參數(shù)定義各自對應(yīng)于三個或三個以上參考量化參數(shù)值中的相應(yīng)者的三個或三個以上參考上下文狀態(tài)(800)。例如,可將三個或三個以上參考上下文狀態(tài)及對應(yīng)的三個或三個以上參考量化參數(shù)值預(yù)定為三個或三個以上值集合或“對”,每一值集合或?qū)Π粎⒖忌舷挛臓顟B(tài)值及一對應(yīng)參考量化參數(shù)值。作為一個實(shí)例,每一對中的參考上下文狀態(tài)值可在執(zhí)行步驟(800)之前使用相應(yīng)對中的對應(yīng)參考量化參數(shù)值及一或多個關(guān)系來導(dǎo)出。在一些實(shí)例中,一或多個關(guān)系可包含(例如)上文參看H.264/AVC及HEVC的某些草案版本所描述的線性關(guān)系、用于圖6的實(shí)例方法中的考慮與視頻數(shù)據(jù)相關(guān)聯(lián)的時間層的關(guān)系或用以基于量化參數(shù)值而確定上下文的上下文狀態(tài)的任何其它關(guān)系。另外,與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值可為與視頻數(shù)據(jù)的一或多個幀、切片、塊或其它部分相關(guān)聯(lián)的量化參數(shù)值。
[0293]以這個方式,如由初始上下文狀態(tài)指示的上下文的初始概率相較于使用其它技術(shù)(例如,使用由斜率及交叉值且由與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)定義的線性關(guān)系,確定用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài)的技術(shù))所確定的上下文的初始概率來說可能相對更準(zhǔn)確。此線性關(guān)系的一實(shí)例系上文參看H.264/AVC及HEVC的某些草案版本所描述。根據(jù)圖8的實(shí)例方法的技術(shù),上下文的初始概率可使用初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值以及各種(例如,線性及非線性)內(nèi)插技術(shù)來導(dǎo)出,此可導(dǎo)致上下文的初始概率相對更準(zhǔn)確。
[0294]隨后,以與上文參看圖5及圖6所描述的方式類似的方式,熵編碼單元56和/或熵解碼單元80可基于初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的上下文(802)。另外,在一些實(shí)例中,也以與上文參看圖5及圖6所描述的方式類似的方式,熵編碼單元56和/或熵解碼單元80可進(jìn)一步基于上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的上下文而熵譯碼視頻數(shù)據(jù)(804),且在一些狀況下,基于視頻數(shù)據(jù)而更新上下文自適應(yīng)性熵譯碼過程的經(jīng)初始化的上下文的上下文狀態(tài)(806)。
[0295]在一些實(shí)例中,為了基于初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值而確定初始上下文狀態(tài),熵編碼單元56和/或熵解碼單元80可使用與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值來在三個或三個以上參考上下文狀態(tài)及對應(yīng)的三個或三個以上參考量化參數(shù)值當(dāng)中進(jìn)行線性內(nèi)插。例如,熵編碼單元56和/或熵解碼單元80可使用線性或任何部分線性內(nèi)插技術(shù)來基于初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值而確定初始上下文狀態(tài)。
[0296]在其它實(shí)例中,為了基于初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值而確定初始上下文狀態(tài),熵編碼單元56和/或熵解碼單元80可在三個或三個以上參考上下文狀態(tài)及對應(yīng)的三個或三個以上參考量化參數(shù)值當(dāng)中擬合一曲線,且使用經(jīng)擬合的曲線及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值來在三個或三個以上參考上下文狀態(tài)及對應(yīng)的三個或三個以上參考量化參數(shù)值當(dāng)中進(jìn)行內(nèi)插。例如,熵編碼單元56和/或熵解碼單元80可使用基于仿樣函數(shù)、雙線性或任何非線性或部分線性內(nèi)插技術(shù)來基于初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值而確定初始上下文狀態(tài)。
[0297]另外,在再其它實(shí)例中,三個或三個以上參考量化參數(shù)值中的每一者可相對于三個或三個以上參考量化參數(shù)值中的另一者而偏移為“2”的整數(shù)倍的值。例如,如上文所描述,第一參考量化參數(shù)值(例如,“Q P1”)可等于“26”,第二參考量化參數(shù)值(例如,“QP2”)可等于“QP1-8”或“18”,且第三參考量化參數(shù)值(“QP3”)可等于“QP1+8”或“34”。在此實(shí)例中,參考量化參數(shù)值QPl、QP2及QP3中的每一者相對于彼此而偏移為“2”的整數(shù)倍的值(在此狀況下,為“8”)。在其它實(shí)例中,三個或三個以上參考量化參數(shù)值中的每一者可相對于彼此而偏移任何其它值,包含為“2”的整數(shù)倍的任何其它值。
[0298]以這個方式,圖8的方法表示上下文自適應(yīng)性熵譯碼的方法的實(shí)例,所述方法包括:基于初始化參數(shù)及與視頻數(shù)據(jù)相關(guān)聯(lián)的量化參數(shù)值而確定用于初始化用以譯碼視頻數(shù)據(jù)的上下文自適應(yīng)性熵譯碼過程的上下文的初始上下文狀態(tài),初始化參數(shù)定義各自對應(yīng)于三個或三個以上參考量化參數(shù)值中的一相應(yīng)者的三個或三個以上參考上下文狀態(tài);以及基于初始上下文狀態(tài)而初始化上下文自適應(yīng)性熵譯碼過程的上下文。
[0299]在一或多個實(shí)例中,所描述的功能可以硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件來實(shí)施,那么功能可作為一或多個指令或代碼而存儲于計算機(jī)可讀媒體上或經(jīng)由計算機(jī)可讀媒體予以傳輸,且由基于硬件的處理單元來執(zhí)行。計算機(jī)可讀媒體可包含計算機(jī)可讀存儲媒體(其對應(yīng)于例如數(shù)據(jù)存儲媒體的有形媒體)或通信媒體,通信媒體包含(例如)根據(jù)通信協(xié)議促進(jìn)計算機(jī)程序從一處傳送到另一處的任何媒體。以這個方式,計算機(jī)可讀媒體大體上可對應(yīng)于:(I)非暫時性的有形計算機(jī)可讀存儲媒體,或(2)例如信號或載波的通信媒體。數(shù)據(jù)存儲媒體可為可由一或多個計算機(jī)或一或多個處理器接入以檢索指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)以用于實(shí)施本發(fā)明中所描述的技術(shù)的任何可用媒體。計算機(jī)程序產(chǎn)品可包含計算機(jī)可讀媒體。
[0300]作為實(shí)例而非限制,這些計算機(jī)可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用以存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要代碼且可由計算機(jī)接入的任何其它媒體。同樣,任何連接可適當(dāng)?shù)胤Q為計算機(jī)可讀媒體。例如,如果使用同軸電纜、光纜、雙絞線、數(shù)字訂戶線(DSL)或無線技術(shù)(例如,紅外線、無線電及微波)而從網(wǎng)站、服務(wù)器或其它遠(yuǎn)端源傳輸指令,那么同軸電纜、光纜、雙絞線、DSL或無線技術(shù)(例如,紅外線、無線電及微波)包含于媒體的定義中。然而,應(yīng)理解,計算機(jī)可讀存儲媒體及數(shù)據(jù)存儲媒體不包含連接、載波、信號或其它暫時性媒體,而是關(guān)于非暫時性有形存儲媒體。如本文中所使用,磁盤及光盤包含緊密光盤(⑶)、雷射光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤及藍(lán)光光盤,其中磁盤通常以磁性方式再生數(shù)據(jù),而光盤通過雷射以光學(xué)方式再生數(shù)據(jù)。以上各者的組合也應(yīng)包含于計算機(jī)可讀媒體的范圍內(nèi)。
[0301]可由例如一或多個數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它等效集成或離散邏輯電路的一或多個處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指上述結(jié)構(gòu)或適于實(shí)施本文中所描述的技術(shù)的任何其它結(jié)構(gòu)中的任一者。另外,在一些方面中,可將本文中所描述的功能性提供于經(jīng)配置以用于編碼及解碼的專用硬件和/或軟件模塊內(nèi),或并入于組合式編碼解碼器中。同樣,技術(shù)可完全實(shí)施于一或多個電路或邏輯元件中。
[0302]本發(fā)明的技術(shù)可以廣泛多種裝置或設(shè)備予以實(shí)施,裝置或設(shè)備包含無線手機(jī)、集成電路(IC)或IC集合(例如,芯片組)。在本發(fā)明中描述各種組件、模塊或單元以強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示技術(shù)的裝置的功能方面,但未必需要通過不同硬件單元來實(shí)現(xiàn)。確切來說,如上文所描述,可將各種單元組合于編碼解碼器硬件單元中,或由互操作的硬件單元(包含如上文所描述的一或多個處理器)結(jié)合合適軟件和/或固件的集合來提供所述單元。
[0303]已描述各種實(shí)例。這些及其它實(shí)例在以下權(quán)利要求書的范圍內(nèi)。
【權(quán)利要求】
1.一種上下文自適應(yīng)性熵譯碼的方法,所述方法包括: 基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù); 基于所述一或多個初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài);以及 基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文。
2.如權(quán)利要求1所述的方法,其中所述一或多個初始化參數(shù)包含于一或多個表中,且其中基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)包括基于所述一或多個初始化參數(shù)索引值而識別所述一或多個表中的所述一或多個初始化參數(shù)。
3.如權(quán)利要求1所述的方法,其中基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)包括使用所述一或多個初始化參數(shù)索引值和一或多個公式來計算所述一或多個初始化參數(shù)。
4.如權(quán)利要求3所述的方法,其中僅使用一或多個運(yùn)算來實(shí)施所述一或多個公式中的每一者,每一運(yùn)算選自由以下各者組成的組群: 位移位運(yùn)算; 加法運(yùn)算; 減法運(yùn)算; 乘法運(yùn)算;以及 除法運(yùn)算。
5.如權(quán)利要求1所述的方法,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,所述一或多個初始化參數(shù)索引值包含一或多個斜率索引值和一或多個交叉索引值,且其中基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)包括: 基于所述一或多個斜率索引值而確定所述一或多個斜率值;以及 基于所述一或多個交叉索引值而確定所述一或多個交叉值。
6.如權(quán)利要求1所述的方法,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,且其中基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)包括基于所述一或多個初始化參數(shù)索引值中的單一初始化參數(shù)索引值而確定所述一或多個斜率值中的至少一者和所述一或多個交叉值中的至少一者。
7.如權(quán)利要求6所述的方法,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括一或多個斜率索引值分量及一或多個交叉索引值分量,且其中基于所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值而確定所述一或多個斜率值中的所述至少一者及所述一或多個交叉值中的所述至少一者包括: 基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者;以及 基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者。
8.如權(quán)利要求7所述的方法,其中基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者以及基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者包括: 使用一或多個位移位運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的一者;以及 使用一或多個邏輯與運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的另一者。
9.如權(quán)利要求7所述的方法,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括預(yù)定數(shù)目個位,其中所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的每一者包括所述預(yù)定數(shù)目個位的相應(yīng)子集,且其中對應(yīng)于所述一或多個斜率索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目不同于對應(yīng)于所述一或多個交叉索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目。
10.如權(quán)利要求1所述的方法,其中所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文包括所述上下文自適應(yīng)性熵譯碼過程的上下文的子集。
11.如權(quán)利要求1所述的方法,其進(jìn)一步包括: 基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而編碼與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個語法元素;以及 在位流中輸出所述經(jīng)編碼的一或多個語法元素。
12.如權(quán)利要求1所述的方法,其進(jìn)一步包括: 在位流中接收與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個經(jīng)編碼語法元素;以及 基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而解碼所述一或多個經(jīng)編碼語法元素。
13.一種用于上下文自適應(yīng)性熵譯碼的設(shè)備,所述設(shè)備包括經(jīng)配置以進(jìn)行以下操作的譯碼器: 基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù); 基于所述一或多個初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài);以及 基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文。
14.如權(quán)利要求13所述的設(shè)備,其中所述一或多個初始化參數(shù)包含于一或多個表中,且其中為了基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù),所述譯碼器經(jīng)配置以基于所述一或多個初始化參數(shù)索引值而識別所述一或多個表中的所述一或多個初始化參數(shù)。
15.如權(quán)利要求13所述的設(shè)備,其中為了基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù),所述譯碼器經(jīng)配置以使用所述一或多個初始化參數(shù)索引值及一或多個公式來計算所述一或多個初始化參數(shù)。
16.如權(quán)利要求 15所述的設(shè)備,其中所述一或多個公式中的每一者僅使用一或多個運(yùn)算來實(shí)施,每一運(yùn)算選自由以下各者組成的組群:位移位運(yùn)算; 加法運(yùn)算; 減法運(yùn)算; 乘法運(yùn)算;以及 除法運(yùn)算。
17.如權(quán)利要求13所述的設(shè)備,其中所述一或多個初始化參數(shù)包含一或多個斜率值及一或多個交叉值,所述一或多個初始化參數(shù)索引值包含一或多個斜率索引值及一或多個交叉索引值,且其中為了基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù),所述譯碼器經(jīng)配置以: 基于所述一或多個斜率索引值而確定所述一或多個斜率值;以及 基于所述一或多個交叉索引值而確定所述一或多個交叉值。
18.如權(quán)利要求13所述的設(shè)備,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,且其中為了基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù),所述譯碼器經(jīng)配置以基于所述一或多個初始化參數(shù)索引值中的一單一初始化參數(shù)索引值而確定所述一或多個斜率值中的至少一者和所述一或多個交叉值中的至少一者。
19.如權(quán)利要求18所述的設(shè)備,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括一或多個斜率索引值分量和一或多個交叉索引值分量,且其中為了基于所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值而確定所述一或多個斜率值中的所述至少一者和所述一或多個交叉值中的所述至少一者,所述譯碼器經(jīng)配置以: 基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者;以及 基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者。
20.如權(quán)利要求19所述的設(shè)備,其中為了基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者,且為了基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者,所述譯碼器經(jīng)配置以: 使用一或多個位移位運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的一者;以及 使用一或多個邏輯與運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的另一者。
21.如權(quán)利要求19所述的設(shè)備,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括預(yù)定數(shù)目個位,其中所述一或多個斜率索引值分量及所述一或多個交叉索引值分量中的每一者包括所述預(yù)定數(shù)目個位的相應(yīng)子集,且其中對應(yīng)于所述一或多個斜率索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目不同于對應(yīng)于所述一或多個交叉索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目。
22.如權(quán)利要求13所述的設(shè)備,其中所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文包括所述上下文自適應(yīng)性熵譯碼過程的上下文的子集。
23.如權(quán)利要求13所述的設(shè)備,其中所述譯碼器包括視頻編碼器,且其中所述視頻編碼器經(jīng)進(jìn)一步配置以: 基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而編碼與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個語法元素;以及 在位流中輸出所述經(jīng)編碼的一或多個語法元素。
24.如權(quán)利要求13所述的設(shè)備,其中所述譯碼器包括視頻解碼器,且其中所述視頻解碼器經(jīng)進(jìn)一步配置以: 在位流中接收與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個經(jīng)編碼語法元素;以及基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而解碼所述一或多個經(jīng)編碼語法元素。
25.如權(quán)利要求13所述的設(shè)備,其中所述設(shè)備包括以下各者中的至少一者: 集成電路; 微處理器;以及 包含所述譯碼器的無線通信裝置。
26.一種用于上下文自適應(yīng)性熵譯碼的裝置,所述裝置包括: 用于基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù)的裝置; 用于基于所述一或多個初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài)的裝置;以及 用于基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文的裝置。
27.如權(quán)利要求26所述的裝置,其中所述一或多個初始化參數(shù)包含于一或多個表中,且其中所述用于基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的裝置包括用于基于所述一或多個初始化參數(shù)索引值而識別所述一或多個表中的所述一或多個初始化參數(shù)的裝置。
28.如權(quán)利要求26所述的裝置,其中所述用于基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的裝置包括用于使用所述一或多個初始化參數(shù)索引值及一或多個公式來計算所述一或多個初始化參數(shù)的裝置。
29.如權(quán)利要求28所述的裝置,其中所述一或多個公式中的每一者僅使用一或多個運(yùn)算來實(shí)施,每一運(yùn)算選自由以下各者組成的組群: 位移位運(yùn)算; 加法運(yùn)算; 減法運(yùn)算; 乘法運(yùn)算;以及 除法運(yùn)算。
30.如權(quán)利要求26所述的裝置,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,所述一或多個初始化參數(shù)索引值包含一或多個斜率索引值和一或多個交叉索引值,且其中所述用于基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的裝置包括:用于基于所述一或多個斜率索引值而確定所述一或多個斜率值的裝置;以及 用于基于所述一或多個交叉索引值而確定所述一或多個交叉值的裝置。
31.如權(quán)利要求26所述的裝置,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,且其中所述用于基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的裝置包括用于基于所述一或多個初始化參數(shù)索引值中的一單一初始化參數(shù)索引值而確定所述一或多個斜率值中的至少一者和所述一或多個交叉值中的至少一者的裝置。
32.如權(quán)利要求31所述的裝置,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括一或多個斜率索引值分量和一或多個交叉索引值分量,且其中所述用于基于所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值而確定所述一或多個斜率值中的所述至少一者和所述一或多個交叉值中的所述至少一者的裝置包括: 用于基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者的裝置;以及 用于基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者的裝置。
33.如 權(quán)利要求32所述的裝置,其中所述用于基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者的裝置和所述用于基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者的裝置包括: 用于使用一或多個位移位運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的一者的裝置;以及 用于使用一或多個邏輯與運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的另一者的裝置。
34.如權(quán)利要求32所述的裝置,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括預(yù)定數(shù)目個位,其中所述一或多個斜率索引值分量及所述一或多個交叉索引值分量中的每一者包括所述預(yù)定數(shù)目個位的相應(yīng)子集,且其中對應(yīng)于所述一或多個斜率索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目不同于對應(yīng)于所述一或多個交叉索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目。
35.如權(quán)利要求26所述的裝置,其中所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文包括所述上下文自適應(yīng)性熵譯碼過程的上下文的子集。
36.如權(quán)利要求26所述的裝置,其進(jìn)一步包括: 用于基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而編碼與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個語法元素的裝置;以及 用于在位流中輸出所述經(jīng)編碼的一或多個語法元素的裝置。
37.如權(quán)利要求26所述的裝置,其進(jìn)一步包括: 用于在位流中接收與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個經(jīng)編碼語法元素的裝置;以及 用于基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而解碼所述一或多個經(jīng)編碼語法元素的裝置。
38.一種存儲有指令的非暫時性計算機(jī)可讀存儲媒體,所述指令在執(zhí)行時使一或多個處理器執(zhí)行上下文自適應(yīng)性熵譯碼,其中所述指令使所述一或多個處理器進(jìn)行以下操作: 基于一或多個初始化參數(shù)索引值而確定用于上下文自適應(yīng)性熵譯碼過程的一或多個初始化參數(shù); 基于所述一或多個初始化參數(shù)而確定用于初始化所述上下文自適應(yīng)性熵譯碼過程的一或多個上下文的一或多個初始上下文狀態(tài);以及 基于所述一或多個初始上下文狀態(tài)而初始化所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文。
39.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其中所述一或多個初始化參數(shù)包含于一或多個表中,且其中所述使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的指令包括使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值而識別所述一或多個表中的所述一或多個初始化參數(shù)的指令。
40.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其中所述使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的指令包括使所述一或多個處理器使用所述一或多個初始化參數(shù)索引值及一或多個公式來計算所述一或多個初始化參數(shù)的指令。
41.如權(quán)利要求40所述的非暫時性計算機(jī)可讀存儲媒體,其中所述一或多個公式中的每一者僅使用一或多個運(yùn)算來實(shí)施,每一運(yùn)算選自由以下各者組成的組群: 位移位運(yùn)算; 加法運(yùn)算; 減法運(yùn)算; 乘法運(yùn)算;以及 除法運(yùn)算。
42.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,所述一或多個初始化參數(shù)索引值包含一或多個斜率索引值和一或多個交叉索引值,且其中所述使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的指令包括使所述一或多個處理器進(jìn)行以下操作的指令: 基于所述一或多個斜率索引值而確定所述一或多個斜率值;及 基于所述一或多個交叉索引值而確定所述一或多個交叉值。
43.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其中所述一或多個初始化參數(shù)包含一或多個斜率值和一或多個交叉值,且其中所述使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值而確定所述一或多個初始化參數(shù)的指令包括使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值中的一單一初始化參數(shù)索引值而確定所述一或多個斜率值中的至少一者和所述一或多個交叉值中的至少一者的指令。
44.如權(quán)利要求43所述的非暫時性計算機(jī)可讀存儲媒體,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括一或多個斜率索引值分量和一或多個交叉索引值分量,且其中所述使所述一或多個處理器基于所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值而確定所述一或多個斜率值中的所述至少一者和所述一或多個交叉值中的所述至少一者的指令包括使所述一或多個處理器進(jìn)行以下操作的指令: 基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者;及基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者。
45.如權(quán)利要求44所述的非暫時性計算機(jī)可讀存儲媒體,其中所述使所述一或多個處理器基于所述一或多個斜率索引值分量而確定所述一或多個斜率值中的所述至少一者和基于所述一或多個交叉索引值分量而確定所述一或多個交叉值中的所述至少一者的指令包括使所述一或多個處理器進(jìn)行以下操作的指令: 使用一或多個位移位運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的一者;及 使用一或多個邏輯與運(yùn)算來確定所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值的所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的另一者。
46.如權(quán)利要求44所述的非暫時性計算機(jī)可讀存儲媒體,其中所述一或多個初始化參數(shù)索引值中的所述單一初始化參數(shù)索引值包括預(yù)定數(shù)目個位,其中所述一或多個斜率索引值分量和所述一或多個交叉索引值分量中的每一者包括所述預(yù)定數(shù)目個位的相應(yīng)子集,且其中對應(yīng)于所述一或多個斜率索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目不同于對應(yīng)于所述一或多個交叉索引值分量的所述子集中的每一者所包含的所述預(yù)定數(shù)目個位的數(shù)目。
47.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其中所述上下文自適應(yīng)性熵譯碼過程的所述一或多個上下文包括所述上下文自適應(yīng)性熵譯碼過程的上下文的子集。
48.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其進(jìn)一步包括使所述一或多個處理器進(jìn)行以下操作的指令: 基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而編碼與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個語法元素;以及 在位流中輸出所述經(jīng)編碼的一或多個語法元素。
49.如權(quán)利要求38所述的非暫時性計算機(jī)可讀存儲媒體,其進(jìn)一步包括使所述一或多個處理器進(jìn)行以下操作的指令: 在位流中接收與視頻數(shù)據(jù)塊相關(guān)聯(lián)的一或多個經(jīng)編碼語法元素;以及 基于所述上下文自適應(yīng)性熵譯碼過程的所述經(jīng)初始化的一或多個上下文而解碼所述一或多個經(jīng)編碼語法元素。
【文檔編號】H04N19/13GK103975532SQ201280053886
【公開日】2014年8月6日 申請日期:2012年11月1日 優(yōu)先權(quán)日:2011年11月3日
【發(fā)明者】郭立威, 翔林·王, 馬爾塔·卡切維奇, 霍埃爾·索賴·羅哈斯 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1