本發(fā)明的實施例涉及算術編碼器。其他實施例涉及算術解碼器。另外的實施例涉及視頻編碼器或視頻解碼器。本發(fā)明的其他實施例涉及用于對具有符號值的符號進行編碼的方法。本發(fā)明的另外的實施例涉及用于對具有符號值的符號進行解碼的方法。本發(fā)明的其他實施例涉及用于對視頻內(nèi)容進行編碼的方法。本發(fā)明的另外的實施例涉及用于對視頻內(nèi)容進行解碼的方法。根據(jù)本發(fā)明的實施例涉及數(shù)字表示的內(nèi)容(例如視頻信號、音頻信號、神經(jīng)網(wǎng)絡的參數(shù)等)的解碼器和編碼器,其采用例如二進制決策(或者,可選地,具有多于兩個狀態(tài)的決策)的熵編碼和解碼。根據(jù)本發(fā)明的實施例涉及用于二進制熵編碼或解碼的概率估計方法,該方法可用于例如視頻編碼器、視頻解碼器以及圖像編碼器、圖像解碼器、音頻編碼器、音頻解碼器、針對神經(jīng)網(wǎng)絡的參數(shù)的編碼器和解碼器等。在該上下文中,二進制熵編碼或解碼表示對二進制決策序列進行編碼或解碼的任何方法,其中二進制熵編碼器或解碼器可以(或在一些情況下必須)在對決策進行編碼或解碼之前可以被提供有針對每個二進制決策的概率估計。這些概率估計例如由概率估計方法提供,該概率估計方法在編碼器和解碼器中必須相同。例如,hevc視頻壓縮標準的cabac的m編碼器就是這樣的二進制熵編碼方案。另一示例是pipe編碼概念。
背景技術:
1、算術編碼和解碼被證明是在對音頻和視頻內(nèi)容進行編碼和解碼以及對其他類型信息(例如圖片、神經(jīng)網(wǎng)絡系數(shù)等)進行編碼時的有價值的工具。本發(fā)明的實施例可以用于所有這些應用。例如,可以利用二進制序列中的表示視頻或音頻內(nèi)容(或其他類型的內(nèi)容)的二進制值(例如符號)的已知出現(xiàn)概率來提高編碼效率。
2、然而,為了使算術編碼和解碼帶來最佳的編碼效率,重要的是具有關于符號值的概率的良好信息,該信息很好地反映了實際出現(xiàn)的頻率。
3、為了適應“0”和“1”的概率(或者一般地,適應要編碼的符號的概率),構思通常用于在總(當前)值范圍內(nèi)調(diào)整區(qū)間邊界,以獲得區(qū)間細分(例如,使得整個值范圍被細分為與不同二進制值或二進制值組相關聯(lián)的區(qū)間)。
4、換言之,關于不同符號(如“0”和“1”)概率的信息用于導出區(qū)間大小,該區(qū)間大小描述了與符號相關聯(lián)的區(qū)間的寬度(其中,總區(qū)間寬度(例如整體編碼區(qū)間大小值)可以例如取決于編碼或解碼過程而隨時間變化)。
5、因此,需要確定用于編碼或解碼過程的區(qū)間大小信息(例如概率估計)和/或區(qū)間大小的構思,例如用于區(qū)間細分(例如,用于總編碼區(qū)間的細分),這提供了高壓縮率和計算效率之間的良好折衷。
技術實現(xiàn)思路
1、本發(fā)明的實施例可以涉及編碼器(例如算術編碼器和視頻編碼器)以及解碼器(例如算術解碼器和視頻解碼器)。例如,所描述的解碼器可以允許對由所描述的編碼器編碼的信息進行解碼。相應地,所描述的編碼器可以允許對信息進行編碼,使得所描述的解碼器能夠?qū)幋a信息進行解碼。因此,本發(fā)明構思的實現(xiàn)可以包括在編碼器側(cè)或解碼器側(cè)或兩側(cè)上實現(xiàn)的特征。因此,關于編碼器側(cè)或解碼器側(cè)描述的特征的功能和優(yōu)點可以等效地或類似地分別適用于解碼器側(cè)或編碼器側(cè)上的對應特征,盡管可能沒有明確地重復描述。此外,一些描述的特征可以在本發(fā)明的多個描述的方面中實現(xiàn)。關于特定方面描述的特征的功能和優(yōu)點可以等效地或類似地適用于在其他方面的上下文中對應特征的實現(xiàn),盡管沒有明確地重復描述。本發(fā)明的實施例可以組合關于本發(fā)明的方面描述的各個特征及其組合。
2、本發(fā)明的第一方面取決于實現(xiàn)用于符號值的編碼或解碼的兩個或更多個操作模式的思想,使得對于每個操作模式,可以單獨選擇壓縮率和計算工作量之間的折衷。在第一操作模式下,要編碼或解碼的符號值用于更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,其用于確定用于對要編碼或解碼的一個或多個后續(xù)符號值進行算術編碼或解碼的區(qū)間大小。因此,對后續(xù)符號值的編碼或解碼可以取決于當前要編碼或解碼的符號值(即直接在后續(xù)符號值之前的符號值)來執(zhí)行??紤]直接在前的符號值可以提供與符號值相關聯(lián)的區(qū)間大小信息的準確估計,例如符號值的概率估計,并且因此可以允許高壓縮。在第二操作模式下,編碼器或解碼器禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新,從而節(jié)省計算能力。因此,可以實現(xiàn)更高的數(shù)據(jù)吞吐量。由于編碼器或解碼器可以在第一操作模式或第二操作模式下操作,因此編碼器或解碼器的操作可以適應當前對編碼或解碼過程或由編碼器提供或由解碼器接收的比特流的要求。具體地,在預期要編碼的符號值保持不變的情形中,即估計符號值改變的概率很低,禁用狀態(tài)變量值和/或區(qū)間大小信息的更新可以允許增加吞吐量,而壓縮率可能僅受到很小的影響。例如,可以取決于要編碼或解碼的符號值的上下文模型來確定區(qū)間大小信息,即使狀態(tài)變量值的更新被禁用,使得仍然可以實現(xiàn)對區(qū)間大小信息的可靠確定,例如在區(qū)間大小信息主要取決于上下文模型的情況下。在其他示例中,其中區(qū)間大小信息的更新被禁用,所需的計算能力可能特別低,從而允許高吞吐量。因此,編碼器或解碼器的壓縮率和吞吐量之間的折衷可以特別準確地適應操作要求。
3、根據(jù)第一方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為:在操作的第一模式下,基于一個或多個狀態(tài)變量值(at+1,bt+1,也稱為源統(tǒng)計值)(其例如與給定的上下文模型相關聯(lián))來導出用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如,概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps),一個或多個狀態(tài)變量值表示多個先前編碼的符號值(例如,二進制值0和1的序列,例如xt、xt-1、xt-2等)的統(tǒng)計;以及在第一模式下(例如在正常吞吐量操作模式下),更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,以用于對一個或多個后續(xù)符號值進行編碼;其中,算術編碼器被配置為在第二模式下(例如,在高吞吐量操作模式下)禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新(例如,使得已經(jīng)用于一個或多個符號值的編碼的一個或多個狀態(tài)變量值和/或已經(jīng)用于一個或多個符號值的編碼的區(qū)間大小信息被重用于一個或多個后續(xù)符號值的編碼),其中,算術編碼器被配置為提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
4、根據(jù)實施例,算術編碼器被配置為在每幀的基礎上(例如每幀一次)、或在每片的基礎上(例如,每片一次)、或在每圖片組的基礎上(例如,每圖片組一次)或在每序列的基礎上(例如,每序列一次)提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。通過避免為要編碼或解碼的每個符號值單獨提供輔助信息,信令開銷以及因此比特流的大小可以是較低的。
5、根據(jù)實施例,算術編碼器被配置為在每簡檔的基礎上提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式(其中,例如,每個簡檔可能已經(jīng)關聯(lián)了第一模式和第二模式中的模式,使得由輔助信息發(fā)信號通知的簡檔的選擇可以例如決定是使用第一模式還是使用第二模式)。例如,編碼器和解碼器可以具有關于哪個操作模式與特定簡檔相關聯(lián)的信息。因此,發(fā)信號通知當前使用的簡檔可能就足夠了。由于關于編碼和解碼過程的進一步信息可以與簡檔相關聯(lián),因此在每簡檔的基礎上發(fā)信號通知操作模式可以具有特別低的信令開銷。
6、根據(jù)實施例,算術編碼器被配置為提供專用輔助信息(例如,專用比特或標志,其特別專用于指示是使用第一模式還是第二模式),該專用輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。具有用于發(fā)信號通知操作模式的專用輔助信息提供了用于分別在編碼器和解碼器側(cè)上提供和提取輔助信息的簡單實現(xiàn)和低計算工作量。
7、根據(jù)實施例,算術編碼器被配置為在使用第二模式時重用一個或多個先前確定的狀態(tài)變量值和/或先前確定的區(qū)間大小信息(例如,用于對要編碼的一個或多個后續(xù)符號值進行編碼)(使得例如當使用第二模式時,相同的一個或多個先前確定的狀態(tài)變量值或相同的先前確定的區(qū)間大小信息用于對要編碼的多個后續(xù)符號值進行編碼,要編碼的多個后續(xù)符號值在使用第一模式時使用不同的更新的區(qū)間大小信息來編碼)。重用先前確定的狀態(tài)變量值和/或區(qū)間大小信息可以增加用于確定區(qū)間大小的可能性或準確度,盡管狀態(tài)變量值和/或區(qū)間大小信息可能沒有被更新。
8、根據(jù)實施例,算術編碼器被配置為基于整體編碼區(qū)間大小值(例如r)并且基于區(qū)間大小信息(例如概率值pt+1或概率值pt+1或移位操作計數(shù)值glps)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)(例如,使得由于整體編碼區(qū)間大小值的改變,獲得不同的區(qū)間大小用于對要編碼的后續(xù)符號值進行編碼)。
9、根據(jù)實施例,算術編碼器被配置為當在第一模式下操作時使用第一計算規(guī)則并且當在第二模式下操作時使用第二計算規(guī)則來基于整體編碼區(qū)間大小值(例如r)以及基于區(qū)間大小信息獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)(其中,例如,第一計算規(guī)則包括比第二計算規(guī)則更高的準確度,和/或其中,第一計算規(guī)則包括比第二計算規(guī)則更高的復雜度)。針對操作模式使用單獨的計算規(guī)則允許進一步適配用于確定操作模式中的區(qū)間大小的相應準確度和計算工作量。
10、根據(jù)實施例,算術編碼器被配置為:當在第一模式下操作時,基于整體編碼區(qū)間大小值(例如r)并且基于區(qū)間大小信息,使用整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本的乘法來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及當在第二模式下操作時,使用將位移操作應用(或通過將位移操作應用)(例如右移操作)于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。乘法可以提供對區(qū)間大小的準確確定,從而在第一模式下操作時允許特別高的壓縮率。位移操作提供了一種用于確定區(qū)間大小的特別快速且計算效率高的方法,從而在第二操作模式下操作時允許高吞吐量。
11、根據(jù)實施例,算術編碼器被配置為基于包括(或使用)bits個比特的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來確定移位計數(shù)值(例如,glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位的比特數(shù),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上預定(例如常數(shù))值)。確定最高有效非零位的位位置是低復雜的操作,因此這種確定移位計數(shù)值的方法非常有效。
12、根據(jù)實施例,算術編碼器被配置為基于一個或多個初始化參數(shù)(例如,slopeidx和/或qp和/或offsetidx)(例如,在沒有基于一個或多個源統(tǒng)計值確定區(qū)間大小信息的情況下)來確定移位計數(shù)值(例如,glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位的比特數(shù)。例如,基于初始化參數(shù)確定移位計數(shù)值可以允許例如初始化第二操作模式下的編碼或解碼,而例如不必初始化用于在第一模式下的編碼或解碼的參數(shù)。
13、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來獲得第一狀態(tài)值的更新版本at+1
14、at+1=at+xt·(onea>>na)-(at>>na)
15、其中at是第一狀態(tài)值的當前版本,其中xt是當前編碼的符號(例如,取值為0或1的二進制符號),其中na是窗口大小信息(例如,具有整數(shù)值),其中
16、onea=(1<<bitsa)-ka
17、其中bitsa是用于表示第一狀態(tài)值的比特數(shù),其中ka是預定數(shù)(例如,整數(shù)值,例如0或1);和/或其中,算術編碼器被配置為根據(jù)以下等式來獲得第一狀態(tài)值的更新版本bt+1
18、bt+1=bt+xt·(oneb>>nb)-(bt>>nb)
19、其中bt是第一狀態(tài)值的當前版本,其中xt是當前編碼的符號(例如,取值為0或1的二進制符號),其中nb是窗口大小信息(例如,具有整數(shù)值),其中
20、oneb=(1<<bitsb)-kb
21、其中bitsb是用于表示第一狀態(tài)值的比特數(shù),其中kb是預定數(shù)(例如,整數(shù)值,例如0或1)。
22、根據(jù)實施例,算術編碼器被配置為執(zhí)行第一狀態(tài)變量值(at)和第二狀態(tài)變量值(bt)的加權組合,以獲得區(qū)間大小信息。
23、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來導出概率估計pt
24、pt=((at>>(bitsa-bitsmin))+(bt>>(bitsb-bitsmin)))>>1
25、其中
26、bitsmin=min(bitsa,bitsb)
27、其中at是第一狀態(tài)變量值,其中bt是第二狀態(tài)變量值,其中bitsa是用于表示at的比特數(shù);其中,bitsb是用于表示bt的比特數(shù)。(其中,概率值可以通過pt除以1<<bitsmin導出)。
28、本發(fā)明的第二方面取決于實現(xiàn)用于符號值的編碼或解碼的兩個或更多個操作模式的思想,使得對于每個操作模式,可以單獨選擇壓縮率和計算工作量之間的折衷。在第一操作模式下,通過將整體編碼區(qū)間大小值與區(qū)間大小信息相乘來獲得用于對符號值進行編碼或解碼的區(qū)間大小。這種區(qū)間大小的確定可以特別準確或可靠。準確的區(qū)間大小可以提供高壓縮率。在第二操作模式下,使用位移操作來獲得用于編碼或解碼的區(qū)間大小,其中整體編碼區(qū)間大小值被移位由區(qū)間大小信息確定的比特數(shù)。由于位移操作是計算效率高的,因此第二模式可以提供高吞吐量。由于編碼器或解碼器可以在第一操作模式或第二操作模式下操作,因此編碼器或解碼器的操作可以適應當前對編碼或解碼過程或由編碼器提供或由解碼器接收的比特流的要求。
29、根據(jù)第二方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術編碼器被配置為在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力(potency)的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術編碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定;以及其中,算術編碼器被配置為提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),其指示是使用執(zhí)行整體編碼大小值與區(qū)間大小信息值之間的乘法的第一模式還是通過位移獲得區(qū)間大小的第二模式。
30、根據(jù)實施例,算術編碼器被配置為導出移位計數(shù)值(例如glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位了多少比特。具有移位計數(shù)值能夠有效地實現(xiàn)位移操作。
31、根據(jù)實施例,算術編碼器被配置為基于概率值(例如plps)來導出移位計數(shù)值(例如glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位了多少比特,該概率值描述了多個可能的符號值中的符號值的概率?;诟怕手祵С鲆莆挥嫈?shù)值允許取決于概率值確定區(qū)間大小。因此,可以非常準確地確定區(qū)間大小,使得在使用位移操作確定區(qū)間大小時可以實現(xiàn)良好的壓縮率。
32、根據(jù)實施例,算術編碼器被配置為基于包括(或使用)bits個比特的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值(例如,glps),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上預定(例如常數(shù))值)??梢杂幂^低工作量來導出最高有效非零位的位位置。此外,使用概率值的整數(shù)值表示可以減少執(zhí)行操作所需的比特數(shù)。因此,可以特別快速地確定移位計數(shù)值。
33、根據(jù)實施例,算術編碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去取決于概率值的整數(shù)值表示的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少??梢杂幂^低計算工作量來執(zhí)行加法或減法。
34、根據(jù)實施例,算術編碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去作為概率值的整數(shù)值表示的右移版本的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少??梢杂幂^低計算工作量來確定概率值的整數(shù)值表示的右移版本。因此,結(jié)合加法或減法操作,可以特別有效地確定移位計數(shù)值。
35、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式導出移位計數(shù)值glps:
36、
37、或
38、
39、或
40、
41、或
42、
43、其中,plps是概率值的整數(shù)值表示;其中,const1是預定值(例如bits-1)(優(yōu)選地是整數(shù)值);其中,const2是預定值(例如2)(優(yōu)選地是整數(shù)值);其中,const2’是預定值(優(yōu)選地是不同于1的值);其中,const3是預定值(優(yōu)選地是整數(shù)值;例如等于零);其中,gmax是預定值;其中,“>>”是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。具有移位計數(shù)值的最大允許值可以限制表示移位計數(shù)值和/或區(qū)間大小所需的最大比特數(shù),并且可以允許區(qū)間大小的高效計算。
44、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來導出移位計數(shù)值glps
45、
46、其中,bits-1是用于plps的數(shù)字表示的比特數(shù)(其中,plps的數(shù)字表示優(yōu)選地包括比pt的數(shù)字表示少一比特);其中,plps是概率值的整數(shù)值表示;其中,gmax是預定數(shù);其中,>>是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
47、根據(jù)實施例,算術編碼器被配置為基于初始概率值(pinit)的(范圍受限的)整數(shù)值表示(例如pclip)導出移位計數(shù)值,該初始概率值是基于一個或多個上下文模型初始化參數(shù)(例如斜率(slope)、qp和偏移量(offset))獲得的(例如,至少在一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新被禁用的情況下)。因此,可以基于一個或多個初始化參數(shù)來確定移位計數(shù)值,從而允許基于初始化參數(shù)來初始化第二操作模式。因此,移位計數(shù)值的確定不一定取決于先前編碼或解碼的符號值或描述其統(tǒng)計的狀態(tài)變量值。因此,即使未更新先前編碼或解碼的符號值或描述其統(tǒng)計的狀態(tài)變量值,也可以準確地確定移位計數(shù)值并因此確定區(qū)間大小。
48、根據(jù)實施例,算術編碼器被配置為取決于初始概率值(例如pinit或pinit)的(范圍受限的)整數(shù)值表示(例如pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt),該初始概率值是基于一個或多個上下文模型初始化參數(shù)獲得的(例如,至少在使用一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的情況下)。
49、根據(jù)實施例,算術編碼器被配置為使用位移操作取決于初始概率值(pinit)的范圍受限的整數(shù)值表示pclip來初始化一個或多個源統(tǒng)計值at、bt。
50、根據(jù)實施例,算術編碼器被配置為取決于初始概率值(pinit)的范圍受限的整數(shù)值表示pclip來初始化一個或多個源統(tǒng)計值at、bt,根據(jù)
51、at=pclip<<(bitsa-const31)
52、和/或根據(jù)
53、bt=pclip<<(bitsb-const31)
54、其中,bitsa是用于源統(tǒng)計值at的數(shù)字表示的比特數(shù);其中,bitsb是用于源統(tǒng)計值bt的數(shù)字表示的比特數(shù);其中,const31是預定值(例如7);以及其中,<<是左移運算符。
55、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來導出初始概率值(例如pinit)的(范圍受限的)整數(shù)值表示(例如pclip):
56、pclip=min(const11,max(const12,pinit))
57、pinit=((斜率·(qp-const13))>>const14)+偏移量其中,const11是預定值(例如127);其中,const12是預定值(例如1);其中,const13是預定值(例如16);其中,const14是預定值(例如1);其中,斜率是初始化參數(shù)值(例如整數(shù)值,例如在-4和3之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如slopeidx);其中,qp是質(zhì)量參數(shù)值(例如整數(shù)值,例如在0和51之間的范圍內(nèi))(例如描述用于符號值量化的量化步長的量化參數(shù));其中,offset是初始化參數(shù)值(例如整數(shù)值,例如在1和127之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如offsetidx)。
58、根據(jù)實施例,算術編碼器被配置為基于相同的一個或多個初始化參數(shù)(例如slopeidx、offsetidx)來確定:一個或多個源統(tǒng)計值(例如at、bt)的初始值,其用于在第一模式下導出區(qū)間大小信息值(例如plps或plps);以及移位計數(shù)值(例如glps)的初始值,其在第二模式下使用。
59、根據(jù)實施例,算術編碼器被配置為在第一模式下根據(jù)以下等式來獲得區(qū)間大小rlps:
60、hlps=(((r>>shiftr)·(plps>>shiftp))>>shiftmul)+addlps
61、其中,r是整體編碼區(qū)間大小值;其中,shiftr是預定值;其中,plps是整數(shù)值區(qū)間大小信息值;
62、其中,shiftp是預定值;其中,shiftmul是預定值;
63、其中,addlps是預定值(優(yōu)選地為大于零)。
64、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來獲得整數(shù)值區(qū)間大小信息值plps:
65、valmps=pt>>(bitsmin-1)
66、plps=(valmps?(1<<bitsmin)-1-pt:pt)
67、其中,pt是整數(shù)值概率值;其中,bitsmin是用于表示pt的比特數(shù);其中,(cond?a:b)是運算符,如果條件cond不為零,則提供值a,否則提供b。例如,plps可以表示小概率符號的概率,使得基于整數(shù)值區(qū)間大小信息值確定的區(qū)間大小可以是分別與小概率符號和大概率符號相關聯(lián)的可能區(qū)間大小中較小的。確定針對小概率符號的區(qū)間大小提高區(qū)間大小的準確度,假設用于表示區(qū)間大小的比特數(shù)恒定。
68、本發(fā)明的第三方面基于通過將位移操作應用于整體編碼區(qū)間大小值來確定用于對符號值進行編碼或解碼的區(qū)間大小的思想。位移操作是導出區(qū)間大小的計算高效的方式。該方面還包括基于區(qū)間大小信息的整數(shù)值表示來導出移位計數(shù)值,該移位計數(shù)值確定整體編碼區(qū)間大小值被移位的比特數(shù),該區(qū)間大小信息例如表示對與要確定的區(qū)間大小相關聯(lián)的符號值的概率的估計。區(qū)間大小信息的整數(shù)值表示可以具有例如比分數(shù)表示低的低比特數(shù)。低比特數(shù)可以確保較短的處理時間。該方面還包括使用取決于區(qū)間大小信息的操作數(shù)值的最高有效非零位的位位置的確定來確定移位計數(shù)值??梢愿咝У卮_定最高有效位的位位置,從而提供用于確定區(qū)間大小的低計算工作量。
69、根據(jù)第三方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,算術編碼器被配置為通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定;以及其中,算術編碼器被配置為基于(例如包括(或使用)bits個比特)的概率值(例如區(qū)間大小信息)的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值(例如,glps),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值)。
70、根據(jù)實施例,算術編碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去取決于概率值的整數(shù)值表示的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少。
71、根據(jù)實施例,算術編碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去作為概率值的整數(shù)值表示的右移版本的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少。
72、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式導出移位計數(shù)值glps:
73、
74、或
75、
76、或
77、
78、或
79、
80、其中,plps是概率值的整數(shù)值表示;其中,const1是預定值(例如bits-1)(優(yōu)選地是整數(shù)值);其中,const2是預定值(例如2)(優(yōu)選地是整數(shù)值);其中,const2’是預定值(優(yōu)選地是不同于1的值);其中,const3是預定值(優(yōu)選地是整數(shù)值);其中,gmax是預定值;其中,“>>”是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。用于確定移位計數(shù)值的該方法是計算復雜性和得到的壓縮之間的良好折衷。
81、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來導出移位計數(shù)值glps:
82、
83、其中,bits-1是用于plps的數(shù)字表示的比特數(shù);其中,plps是概率值的整數(shù)值表示;其中,gmax是預定數(shù);其中,>>是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
84、根據(jù)實施例,算術編碼器被配置為基于初始概率值(pinit)的(范圍受限的)整數(shù)值表示(pclip)導出移位計數(shù)值,該初始概率值是基于一個或多個上下文模型初始化參數(shù)(例如斜率、qp和偏移量)獲得的(例如,至少在一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新被禁用的情況下)。
85、根據(jù)實施例,算術編碼器被配置為取決于初始概率值(pinit)的(范圍受限的)整數(shù)值表示(pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt),該初始概率值是基于一個或多個上下文模型初始化參數(shù)獲得的(例如,至少在使用一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的情況下)。
86、根據(jù)實施例,算術編碼器被配置為使用位移操作取決于初始概率值(pinit)的范圍受限的整數(shù)值表示pclip來初始化一個或多個源統(tǒng)計值at、bt。
87、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式取決于初始概率值(pinit)的范圍受限的整數(shù)值表示pclip來初始化一個或多個源統(tǒng)計值at、bt:
88、at=fclip<<(bitsa-const31)
89、和/或
90、bt=pclip<<(bitsb-const31)
91、其中,bitsa是用于源統(tǒng)計值at的數(shù)字表示的比特數(shù);其中,bitsb是用于源統(tǒng)計值bt的數(shù)字表示的比特數(shù);其中,const31是預定值(例如7);以及其中,<<是左移運算符。
92、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來導出初始概率值(pinit)的(范圍受限的)整數(shù)值表示pclip:
93、pclip=min(const11,max(const12,pinit))
94、pinit=((斜率·(qp-const13))>>const14)+偏移量其中,const11是預定值(例如127);其中,const12是預定值(例如1);其中,const13是預定值(例如16);其中,const14是預定值(例如1);其中,斜率是初始化參數(shù)值(例如整數(shù)值,例如在-4和3之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如slopeidx);其中,qp是質(zhì)量參數(shù)值(例如整數(shù)值,例如在0和51之間的范圍內(nèi))(例如描述用于符號值量化的量化步長的量化參數(shù));其中,偏移量是初始化參數(shù)值(例如整數(shù)值,例如在1和127之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如offsetidx)。
95、根據(jù)實施例,算術編碼器被配置為基于相同的一個或多個初始化參數(shù)(例如slopeidx、offsetidx)來確定:一個或多個源統(tǒng)計值(例如at、bt)的初始值,其用于在第一模式下導出區(qū)間大小信息值(例如plps或plps);以及移位計數(shù)值(例如glps)的初始值,其在第二模式下使用。
96、本發(fā)明的第四方面取決于實現(xiàn)用于符號值的編碼或解碼的兩個或更多個操作模式的思想,使得對于每個操作模式,可以單獨選擇壓縮率和計算工作量之間的折衷。第四方面包括第一初始化值和第二初始化值是基于一個或多個初始化參數(shù)的公共集合來確定的,第一初始化值可用于確定用于在第一模式下編碼或解碼的符號值的區(qū)間大小,第二初始化值可用于確定在第二模式下編碼或解碼的區(qū)間大小。由于第一初始化值和第二初始化值是由初始化參數(shù)的相同集合確定的,因此兩個模式的實現(xiàn)復雜度較低,并且編碼器或解碼器所需的初始化參數(shù)數(shù)量較少。具有低數(shù)量的初始化參數(shù)計量器可以提供小的信令開銷。
97、根據(jù)第四方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術編碼器被配置為在第一模式下使用第一區(qū)間大小確定方法獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術編碼器被配置為在第二模式下使用第二區(qū)間大小確定方法(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術編碼器被配置為基于一個或多個初始化參數(shù)(例如斜率和偏移量,分別由slopidx和offsetidx表示)(例如使用第一初始化值確定方法)來獲得一個或多個第一初始化值(例如at和/或bt)(例如初始源統(tǒng)計值),其用于使用第一區(qū)間大小確定方法來確定區(qū)間大小,并且其中,算術編碼器被配置為基于一個或多個初始化參數(shù)(例如,使用不同于第一初始化值確定方法的第二初始化值確定方法)來獲得一個或多個第二初始化值(例如glps),其用于使用第二區(qū)間大小確定方法來確定區(qū)間大小。
98、根據(jù)實施例,第一區(qū)間大小確定方法(“第一區(qū)間大小估計器”)包括第一準確度(例如,相對較高的分辨率),其中,第二區(qū)間大小確定方法(“第二區(qū)間大小估計器”)包括第二準確度(例如相對較低的分辨率),其中,第一準確度不同于第二準確度;和/或其中,第一區(qū)間大小確定方法包括第一計算復雜度(例如,相對較高的計算復雜度),其中,第二區(qū)間大小確定方法包括第二計算復雜度(例如,相對較低的計算復雜度),其中,第一計算復雜度不同于第二計算復雜度。用于確定區(qū)間大小的高準確度可以提供高壓縮率。使用低準確度來確定區(qū)間大小可以允許使用低數(shù)量的比特來呈現(xiàn)區(qū)間大小,從而允許高吞吐量。高計算復雜度可以允許準確地確定區(qū)間大小,從而可以實現(xiàn)高壓縮率。低計算復雜度可以提供熱的高吞吐量。因此,具有不同準確度和/或計算復雜度的兩個模式允許在高壓縮率和高吞吐量之間進行選擇。因此,編碼器或解碼器的操作可以適應比特流要求和/或編碼器或解碼器能力。
99、根據(jù)實施例,算術編碼器被配置為在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術編碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
100、根據(jù)實施例,算術編碼器被配置為確定一個或多個源統(tǒng)計值(例如at、bt)作為一個或多個第一初始化值;和/或其中,算術編碼器被配置為確定移位計數(shù)值(例如glps)作為第二初始化值,該移位計數(shù)值確定整體編碼區(qū)間大小值要被移位的比特數(shù),以獲得與多個可能的符號中的符號值相關聯(lián)的區(qū)間大小(rlps)。
101、根據(jù)實施例,算術編碼器被配置為使用第一映射(例如第一初始化值確定方法)來確定一個或多個第一初始化值,除了一個或多個裁剪操作和一個或多個舍入取整操作之外,該第一映射將基于一個或多個初始化參數(shù)(斜率、偏移量)獲得的中間概率值(例如pclip)線性地映射到一個或多個第一初始化值(例如at、bt)上。映射是低計算工作量的操作,增加了確定區(qū)間大小的吞吐量。
102、根據(jù)實施例,算術編碼器被配置為使用等于中間概率值(例如,pclip)或基于中間概率值(例如pclip)的操作數(shù)值(例如plps+(plps>>2))的對數(shù)壓縮到縮小范圍的(例如整數(shù))值(例如glps)(例如第二初始化值確定方法)來確定一個或多個第二初始化值;或者
103、其中,算術編碼器被配置為使用對等于中間概率值(例如,pclip)或基于中間概率值(例如pclip)的操作數(shù)值(例如plps+(plps>>2))的對數(shù)域中的網(wǎng)格進行量化(例如以獲得glps)(例如第二初始化值確定方法)來確定一個或多個第二初始化值。
104、根據(jù)實施例,算術編碼器被配置為使用第二映射來確定一個或多個第二初始化值,第二映射包括:計算等于中間概率值(例如,pclip)或基于中間概率值(例如pclip)的操作數(shù)值(例如plps+(plps>>2))的對數(shù)(例如log2);以及將對數(shù)的計算結(jié)果舍入取整為整數(shù)值。
105、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式來獲得一個或多個第一初始化值at和/或bt:
106、at=pclip<<(bitsa-const64)
107、bt=pclip<<(bitsb-const64)
108、其中,算術編碼器被配置為根據(jù)以下等式來獲得中間概率值pclip:
109、pclip=min(const?60,max(const61,pinit))
110、pinit=((斜率·(qp-const?62))>>const63)+偏移量
111、其中,斜率是第一初始化參數(shù);其中,偏移量是第二初始化參數(shù);其中,qp是第三初始化參數(shù);其中,const60是預定值(例如127);其中,const61是預定值(例如1);其中,const62是預定值(例如16);其中,const63是預定值(例如1);其中,const64是預定值(例如7);其中,bitsa是用于表示第一源統(tǒng)計值at的比特數(shù);其中,bitsb是用于表示第一源統(tǒng)計值bt的比特數(shù)。
112、根據(jù)實施例,算術編碼器被配置為根據(jù)以下等式獲得第二初始化值glps:
113、
114、或
115、
116、或
117、
118、或
119、
120、其中plps等于pclip或基于pclip(例如使用小概率符號概率確定從pclip導出),其中,pclip是根據(jù)以下等式獲得的:
121、pclip=min(const?60,max(const61,pinit))
122、pinit=((斜率·(qp-const?62))>>const63)+偏移量
123、其中,斜率是第一初始化參數(shù);其中,偏移量是第二初始化參數(shù);其中,qp是第三初始化參數(shù);其中,const60是預定值(例如127);其中,const61是預定值(例如1);其中,const62是預定值(例如16);其中,const63是預定值(例如1);其中,const1是預定值(例如bits-1)(優(yōu)選地是整數(shù)值);其中,const2是預定值(例如2)(優(yōu)選地是整數(shù)值);其中,const2'是預定值(優(yōu)選地是不同于1的值);其中,const3是預定值(優(yōu)選地是整數(shù)值);其中,gmax是預定值;其中,“>>”是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
124、本發(fā)明的第五方面取決于實現(xiàn)用于符號值的編碼或解碼的兩個或更多個操作模式的思想,使得對于每個操作模式,可以單獨選擇壓縮率和計算工作量之間的折衷。根據(jù)第五方面,與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小是基于整體編碼區(qū)間大小值來確定的。編碼器或解碼器可以在用于表示整體編碼區(qū)間大小值的第一比特數(shù)的使用和第二比特數(shù)的使用之間切換。雖然高數(shù)量的比特可以提供整體編碼區(qū)間大小值的更高準確度,但低數(shù)量的比特可以提供高吞吐量。編碼區(qū)間大小值的更高準確度可以提供高壓縮率。因此,能夠在第一比特數(shù)和第二比特數(shù)之間切換允許調(diào)整編碼或解碼的高壓縮率和高吞吐量之間的折衷。例如,對于整體編碼區(qū)間大小值,在第一比特數(shù)和第二比特數(shù)之間切換的能力允許在實現(xiàn)高壓縮率的操作模式下(例如在高效模式下,例如第一模式)操作時使用高數(shù)量的比特。例如,在高吞吐量模式(例如第二模式)下,可以使用低數(shù)量的比特。
125、方面提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,算術編碼器被配置為在第一模式下基于整體編碼區(qū)間大小值(例如r)(例如使用第一區(qū)間大小確定方法)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術編碼器被配置為在第二模式下基于整體編碼區(qū)間大小值(例如r)(使用第二區(qū)間大小確定方法)(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術編碼器被配置為在用于表示整體編碼區(qū)間大小值(例如,r)的第一比特數(shù)(或第一比特分辨率)的使用和第二比特數(shù)(或第二比特分辨率)的使用之間切換(例如,使得當在第一模式下操作時使用第一比特數(shù),并且使得例如當在第二模式下操作時使用第二比特數(shù))。
126、根據(jù)實施例,算術編碼器被配置為確定(和更新,例如重新歸一化)整體編碼區(qū)間大小值,使得在對符號值進行編碼之前(例如,在重新歸一化之后)整體編碼區(qū)間大小值在以下區(qū)間中:
127、(1<<(bitsr1-1),(1<<bitsr1)-1)
128、,(并且使得在對符號值進行編碼之后以及在可能的重新歸一化之前,整體編碼區(qū)間大小值在區(qū)間(1,(1<<bitsr1)-2)中)其中,算術編碼器被配置為在第一模式下用bitsr1個比特表示編碼區(qū)間大小,并且其中,算術編碼器被配置為在第二模式下用bitsr2比特表示編碼區(qū)間大小,其中,bitsr2<bitsr1。
129、根據(jù)實施例,算術編碼器被配置為在第一模式(其中,例如可以使用相對較高的第一比特數(shù)或第一分辨率)下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
130、根據(jù)實施例,算術編碼器被配置為在第二模式(其中,例如可以使用相對較低的第二比特數(shù)或第二分辨率)下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
131、根據(jù)實施例,算術編碼器被配置為當在第二模式下操作時導出移位計數(shù)值(例如glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位了多少比特。
132、根據(jù)實施例,算術編碼器被配置為將移位計數(shù)值(例如glps)限制為最大值gmax,并且其中,第一比特數(shù)(例如bitsr1)大于第二比特數(shù),并且其中,第二比特數(shù)(例如bitsr2)大于最大值gmax(其中,例如bitsr2=gmax+addmax,其中addmax為正整數(shù)值)。
133、根據(jù)實施例,算術編碼器被配置為在用于表示整體編碼區(qū)間大小值(例如r)的第一比特數(shù)(或第一比特分辨率)的使用和第二比特數(shù)(或第二比特分辨率)的使用之間切換,使得當在第一模式下操作時使用第一比特數(shù),并且使得當在第二模式下操作時使用第二比特數(shù),其中,第一比特數(shù)大于第二比特數(shù),并且其中,算術編碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定;以及其中,移位計數(shù)值在第一模式下被限制為第一最大值(例如,gmax(mode1)),并且其中,移位計數(shù)值在第二模式下被限制為第二最大值(例如gmax(mode2)),其中第一最大值大于第二最大值。由于移位計數(shù)值被限制為最大值,因此可以存在以最大準確度表示區(qū)間大小所需的最大比特數(shù),表示區(qū)間大小所需的最大比特數(shù)與移位計數(shù)值的最大值相關。由于移位計數(shù)值在第一模式下被限制為第一最大值,并且在第二模式下被限制為第二最大值,因此在第一模式下使用第一比特數(shù)來表示整體編碼區(qū)間大小值并且在第二模式下使用第二比特數(shù)來表示整體編碼區(qū)間大小值可以允許在第二模式和第二模式二者下表示整體編碼區(qū)間大小值,使得整體編碼區(qū)間大小值的表示具有可以表示整體編碼區(qū)間大小值的最大準確度的最少比特數(shù)。因此,對于兩種模式,可以實現(xiàn)準確度和吞吐量之間的高度折衷。
134、根據(jù)實施例,第一比特數(shù)適合于第一最大值,使得由第一比特數(shù)定義的比特數(shù)表示的整體編碼大小值的移位導致非零值,并且其中,第二比特數(shù)適合于第二最大值,使得由第二比特數(shù)定義的比特數(shù)表示的整體編碼大小值的移位導致非零值。
135、根據(jù)第一方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼,其中,算術解碼器被配置為:在操作的第一模式下,基于一個或多個狀態(tài)變量值(at+1,bt+1,也稱為源統(tǒng)計值)(其例如與給定的上下文模型相關聯(lián))來導出用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如,概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps),一個或多個狀態(tài)變量值表示多個先前解碼的符號值(例如,二進制值0和1的序列,例如xt、xt-1、xt-2等)的統(tǒng)計;以及在第一模式下(例如在正常吞吐量操作模式下),更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,以用于對一個或多個后續(xù)符號值進行解碼;其中,算術解碼器被配置為在第二模式下(例如,在高吞吐量操作模式下)禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新(例如,使得已經(jīng)用于一個或多個符號值的解碼的一個或多個狀態(tài)變量值和/或已經(jīng)用于一個或多個符號值的解碼的區(qū)間大小信息被重用于一個或多個后續(xù)符號值的解碼),其中,算術解碼器被配置為接收輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
136、根據(jù)實施例,算術解碼器被配置為在每幀的基礎上(例如每幀一次)、或在每片的基礎上(例如,每片一次)、或在每圖片組的基礎上(例如,每圖片組一次)或在每序列的基礎上(例如,每序列一次)接收輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
137、根據(jù)實施例,算術解碼器被配置為在每簡檔的基礎上接收輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式(其中,例如,每個簡檔可能已經(jīng)關聯(lián)了第一模式和第二模式中的模式,使得由輔助信息發(fā)信號通知的簡檔的選擇可以例如決定是使用第一模式還是使用第二模式)。
138、根據(jù)實施例,算術解碼器被配置為接收專用輔助信息(例如,專用比特或標志,其特別專用于指示是使用第一模式還是第二模式),該專用輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
139、根據(jù)第一方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼,其中,算術解碼器被配置為:在操作的第一模式下,基于一個或多個狀態(tài)變量值(at+1,bt+1,也稱為源統(tǒng)計值)(其例如與給定的上下文模型相關聯(lián))來導出用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如,概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps),一個或多個狀態(tài)變量值表示多個先前解碼的符號值(例如,二進制值0和1的序列,例如xt、xt-1、xt-2等)的統(tǒng)計;以及在第一模式下(例如在正常吞吐量操作模式下),更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,以用于對一個或多個后續(xù)符號值進行解碼;其中,算術解碼器被配置為在第二模式下(例如,在高吞吐量操作模式下)禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新(例如,使得已經(jīng)用于一個或多個符號值的解碼的一個或多個狀態(tài)變量值和/或已經(jīng)用于一個或多個符號值的解碼的區(qū)間大小信息被重用于一個或多個后續(xù)符號值的解碼),其中,算術解碼器被配置為提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
140、根據(jù)實施例,算術解碼器被配置為在每幀的基礎上(例如每幀一次)、或在每片的基礎上(例如,每片一次)、或在每圖片組的基礎上(例如,每圖片組一次)或在每序列的基礎上(例如,每序列一次)提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
141、根據(jù)實施例,算術解碼器被配置為提供專用輔助信息(例如,專用比特或標志,其特別專用于指示是使用第一模式還是第二模式),該專用輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
142、以下實施例可以參考根據(jù)本發(fā)明的第一方面的任何解碼器。
143、根據(jù)實施例,算術解碼器被配置為在使用第二模式時重用一個或多個先前確定的狀態(tài)變量值和/或先前確定的區(qū)間大小信息(例如,用于對要解碼的一個或多個后續(xù)符號值進行解碼)(使得例如當使用第二模式時,相同的一個或多個先前確定的狀態(tài)變量值或相同的先前確定的區(qū)間大小信息用于對要解碼的多個后續(xù)符號值進行解碼,要解碼的多個后續(xù)符號值在使用第一模式時使用不同的更新的區(qū)間大小信息來解碼)。
144、根據(jù)實施例,算術解碼器被配置為基于整體編碼區(qū)間大小值(例如r)并且基于區(qū)間大小信息(例如概率值pt+1或概率值pt+1或移位操作計數(shù)值glps)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)(例如,使得由于整體編碼區(qū)間大小值的改變,不同的區(qū)間大小被獲得用于對要解碼的后續(xù)符號值進行解碼)。
145、根據(jù)實施例,算術解碼器被配置為當在第一模式下操作時使用第一計算規(guī)則并且當在第二模式下操作時使用第二計算規(guī)則來基于整體編碼區(qū)間大小值(例如r)以及基于區(qū)間大小信息獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)(其中,例如,第一計算規(guī)則包括比第二計算規(guī)則更高的準確度,和/或其中,第一計算規(guī)則包括比第二計算規(guī)則更高的復雜度)。
146、根據(jù)實施例,算術解碼器被配置為:當在第一模式下操作時,基于整體編碼區(qū)間大小值(例如r)并且基于區(qū)間大小信息,使用整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本的乘法來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及當在第二模式下操作時,使用將位移操作應用(或通過將位移操作應用)(例如右移操作)于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
147、根據(jù)實施例,算術解碼器被配置為基于包括(或使用)bits個比特的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來確定移位計數(shù)值(例如,glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位的比特數(shù),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上預定(例如常數(shù))值)。
148、根據(jù)實施例,算術解碼器被配置為基于一個或多個初始化參數(shù)(例如,slopeidx和/或qp和/或offsetidx)(例如,在沒有基于一個或多個源統(tǒng)計值確定區(qū)間大小信息的情況下)來確定移位計數(shù)值(例如,glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位的比特數(shù)。
149、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來獲得第一狀態(tài)值的更新版本at+1:
150、at+1=at+xt·(onea>>na)-(at>>na)
151、其中at是第一狀態(tài)值的當前版本,其中xt是當前解碼的符號(例如,取值為0或1的二進制符號),其中na是窗口大小信息(例如,具有整數(shù)值),其中:
152、onea=(1<<bitsa)-ka
153、其中bitsa是用于表示第一狀態(tài)值的比特數(shù),其中ka是預定數(shù)(例如,整數(shù)值,例如0或1);和/或其中,算術解碼器被配置為根據(jù)以下等式來獲得第一狀態(tài)值的更新版本bt+1:
154、bt+1=bt+xt·(oneb>>nb)-(bt>>nb)
155、其中bt是第一狀態(tài)值的當前版本,其中xt是當前解碼的符號(例如,取值為0或1的二進制符號),其中nb是窗口大小信息(例如,具有整數(shù)值),其中:
156、oneb=(1<<bitsb)-kb
157、其中bitsb是用于表示第一狀態(tài)值的比特數(shù),其中kb是預定數(shù)(例如,整數(shù)值,例如0或1)。
158、根據(jù)實施例,算術解碼器被配置為執(zhí)行第一狀態(tài)變量值(at)和第二狀態(tài)變量值(bt)的加權組合,以獲得區(qū)間大小信息。
159、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來導出概率估計pt:
160、pt=((at>>(bitsa-bitsmin))+(bt>>(bitsb-bitsmin)))>>1其中
161、bitsmin=min(bitsa,bitsb)
162、其中at是第一狀態(tài)變量值,其中bt是第二狀態(tài)變量值,其中bitsa是用于表示at的比特數(shù);其中,bitsb是用于表示bt的比特數(shù)。(其中,概率值可以通過pt除以1<<bitsmin導出)。
163、根據(jù)第二方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流),其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,算術解碼器被配置為在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定;以及其中,算術解碼器被配置為接收輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),其指示是使用執(zhí)行整體編碼大小值與區(qū)間大小信息值之間的乘法的第一模式還是通過位移獲得區(qū)間大小的第二模式。
164、根據(jù)第二方面的另一實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流),其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術解碼器被配置為在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定;以及其中,算術解碼器被配置為提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),其指示是使用執(zhí)行整體編碼大小值與區(qū)間大小信息值之間的乘法的第一模式還是通過位移獲得區(qū)間大小的第二模式。
165、以下實施例可以參考根據(jù)本發(fā)明的第二方面的任何解碼器。
166、根據(jù)實施例,算術解碼器被配置為導出移位計數(shù)值(例如glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位了多少比特。
167、根據(jù)實施例,算術解碼器被配置為基于概率值(例如plps)來導出移位計數(shù)值(例如glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位了多少比特,該概率值描述了多個可能的符號值中的符號值的概率。
168、根據(jù)實施例,算術解碼器被配置為基于包括(或使用)bits個比特的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值(例如,glps),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上預定(例如常數(shù))值)。
169、根據(jù)實施例,算術解碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去取決于概率值的整數(shù)值表示的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少。
170、根據(jù)實施例,算術解碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去作為概率值的整數(shù)值表示的右移版本的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少。
171、根據(jù)實施例,算術解碼器被配置為導出移位計數(shù)值glps:
172、
173、或
174、
175、或
176、
177、或
178、
179、其中,plps是概率值的整數(shù)值表示;其中,const1是預定值(例如bits-1)(優(yōu)選地是整數(shù)值);其中,const2是預定值(例如2)(優(yōu)選地是整數(shù)值);其中,const2’是預定值(優(yōu)選地是不同于1的值);其中,const3是預定值(優(yōu)選地是整數(shù)值;例如等于零);其中,gmax是預定值;其中,“>>”是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
180、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來導出移位計數(shù)值glps:
181、
182、其中,bits-1是用于plps的數(shù)字表示的比特數(shù)(其中,plps的數(shù)字表示優(yōu)選地包括比pt的數(shù)字表示少一比特);其中,plps是概率值的整數(shù)值表示;其中,gmax是預定數(shù);其中,>>是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
183、根據(jù)實施例,算術解碼器被配置為基于初始概率值(pinit)的(范圍受限的)整數(shù)值表示(pclip)導出移位計數(shù)值,該初始概率值是基于一個或多個上下文模型初始化參數(shù)(例如斜率、qp和偏移量)獲得的(例如,至少在一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新被禁用的情況下)。
184、根據(jù)實施例,算術解碼器被配置為取決于初始概率值(例如pinit)的(例如范圍受限的)整數(shù)值表示(例如pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt),該初始概率值是基于一個或多個上下文模型初始化參數(shù)獲得的(例如,至少在使用一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的情況下)。
185、根據(jù)實施例,算術解碼器被配置為使用位移操作取決于初始概率值(例如pinit、pinit)的范圍受限的整數(shù)值表示(例如pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt)。
186、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式取決于初始概率值(例如pinit、pinit)的范圍受限的整數(shù)值表示(例如pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt):
187、at=pclip<<(bitsa-const31)
188、和/或
189、bt=pclip<<(bitsb-const31)
190、其中,bitsa是用于源統(tǒng)計值at的數(shù)字表示的比特數(shù);其中,bitsb是用于源統(tǒng)計值bt的數(shù)字表示的比特數(shù);其中,const31是預定值(例如7);以及其中,<<是左移運算符。
191、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來導出初始概率值(例如pinit、pinit)的(范圍受限的)整數(shù)值表示(例如pclip):
192、pclip=min(const11,max(const12,pinit))
193、pinit=((斜率·(qp-const13))>>const14)+偏移量其中,const11是預定值(例如127);其中,const12是預定值(例如1);其中,const13是預定值(例如16);其中,const14是預定值(例如1);其中,斜率是初始化參數(shù)值(例如整數(shù)值,例如在-4和3之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如slopeidx);其中,qp是質(zhì)量參數(shù)值(例如整數(shù)值,例如在0和51之間的范圍內(nèi))(例如描述用于符號值量化的量化步長的量化參數(shù));其中,偏移量是初始化參數(shù)值(例如整數(shù)值,例如在1和127之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如offsetidx)。
194、根據(jù)實施例,算術解碼器被配置為基于相同的一個或多個初始化參數(shù)(例如slopeidx、offsetidx)來確定:一個或多個源統(tǒng)計值(例如at、bt)的初始值,其用于在第一模式下導出區(qū)間大小信息值(例如plps或plps);以及移位計數(shù)值(例如glps)的初始值,其在第二模式下使用。
195、根據(jù)實施例,算術解碼器被配置為在第一模式下根據(jù)以下等式來獲得區(qū)間大小rlps:
196、rlps=(((r>>shiftr)·(plps>>shiftp))>>shiftmul)+addlps
197、其中,r是整體編碼區(qū)間大小值;其中,shiftr是預定值;其中,plps是整數(shù)值區(qū)間大小信息值;其中,shiftp是預定值;其中,shiftmul是預定值;其中,addlps是預定值(優(yōu)選地為大于零)。
198、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來獲得整數(shù)值區(qū)間大小信息值plps:
199、valmps=pt>>(bitsmin-1)
200、plps=(valmps?(1<<bitsmin)-1-pt:pt)
201、其中,pt是整數(shù)值概率值;其中,bitsmin是用于表示pt的比特數(shù);其中,(cond?a:b)是運算符,如果條件cond不為零,則提供值a,否則提供b。
202、根據(jù)第三方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流),其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術解碼器被配置為通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定;以及其中,算術解碼器被配置為基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值(例如,glps),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值)。
203、根據(jù)實施例,算術解碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去取決于概率值的整數(shù)值表示的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少。
204、根據(jù)實施例,算術解碼器被配置為使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值,該操作數(shù)值通過加上或減去作為概率值的整數(shù)值表示的右移版本的值(plps>>2)相對于概率值的整數(shù)值表示增加或減少。
205、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式導出移位計數(shù)值glps:
206、
207、或
208、
209、或
210、
211、或
212、
213、其中,plps是概率值的整數(shù)值表示;其中,const1是預定值(例如bits-1)(優(yōu)選地是整數(shù)值);其中,const2是預定值(例如2)(優(yōu)選地是整數(shù)值);其中,const2’是預定值(優(yōu)選地是不同于1的值);其中,const3是預定值(優(yōu)選地是整數(shù)值);其中,gmax是預定值;其中,“>>”是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
214、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來導出移位計數(shù)值glps:
215、
216、其中,bits-1是用于plps的數(shù)字表示的比特數(shù);其中,plps是概率值的整數(shù)值表示;其中,gmax是預定數(shù);其中,>>是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
217、根據(jù)實施例,算術解碼器被配置為基于初始概率值(例如pinit、pinit)的(范圍受限的)整數(shù)值表示(例如pclip)導出移位計數(shù)值,該初始概率值是基于一個或多個上下文模型初始化參數(shù)(例如斜率(slope)、qp和偏移量(offset))獲得的(例如,至少在一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新被禁用的情況下)。
218、根據(jù)實施例,算術解碼器被配置為取決于初始概率值(例如pinit、pinit)的(范圍受限的)整數(shù)值表示(例如pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt),該初始概率值是基于一個或多個上下文模型初始化參數(shù)獲得的(例如,至少在使用一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的情況下)。
219、根據(jù)實施例,算術解碼器被配置為使用位移操作取決于初始概率值(例如pinit、pinit)的范圍受限的整數(shù)值表示(例如pclip)來初始化一個或多個源統(tǒng)計值(例如at、bt)。
220、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式取決于初始概率值(例如pinit、pinit)的范圍受限的整數(shù)值表示pclip來初始化一個或多個源統(tǒng)計值at、bt
221、at=pclip<<(bitsa-const31)
222、和/或
223、bt=pclip<<(bitsb-const31)
224、其中,bitsa是用于源統(tǒng)計值at的數(shù)字表示的比特數(shù);其中,bitsb是用于源統(tǒng)計值bt的數(shù)字表示的比特數(shù);其中,const31是預定值(例如7);以及其中,<<是左移運算符。
225、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來導出初始概率值pinit的(范圍受限的)整數(shù)值表示pclip:
226、pclip=min(const11,max(const12,piinit))
227、pinit=((斜率·(qp-const13))>>const14)+偏移量其中,const11是預定值(例如127);其中,const12是預定值(例如1);其中,const13是預定值(例如16);其中,const14是預定值(例如1);其中,斜率是初始化參數(shù)值(例如整數(shù)值,例如在-4和3之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如slopeidx);其中,qp是質(zhì)量參數(shù)值(例如整數(shù)值,例如在0和51之間的范圍內(nèi))(例如描述用于符號值量化的量化步長的量化參數(shù));其中,偏移量是初始化參數(shù)值(例如整數(shù)值,例如在1和127之間的范圍內(nèi))(其可以由初始化參數(shù)表示,例如offsetidx)。
228、根據(jù)實施例,算術解碼器被配置為基于相同的一個或多個初始化參數(shù)(例如slopeidx、offsetidx)來確定:一個或多個源統(tǒng)計值(例如at、bt)的初始值,其用于在第一模式下導出區(qū)間大小信息值(例如plps或plps);以及移位計數(shù)值(例如glps)的初始值,其在第二模式下使用。
229、根據(jù)第四方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流),其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術解碼器被配置為在第一模式下使用第一區(qū)間大小確定方法獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為在第二模式下使用第二區(qū)間大小確定方法(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為基于一個或多個初始化參數(shù)(例如斜率和偏移量,分別由slopidx和offsetidx表示)(例如使用第一初始化值確定方法)來獲得一個或多個第一初始化值(例如at和/或bt)(例如初始源統(tǒng)計值),其用于使用第一區(qū)間大小確定方法來確定區(qū)間大小,并且其中,算術解碼器被配置為基于一個或多個初始化參數(shù)(例如,使用不同于第一初始化值確定方法的第二初始化值確定方法)來獲得一個或多個第二初始化值(例如glps),其用于使用第二區(qū)間大小確定方法來確定區(qū)間大小。
230、根據(jù)實施例,第一區(qū)間大小確定方法(“第一區(qū)間大小估計器”)包括第一準確度(例如,相對較高的分辨率),其中,第二區(qū)間大小確定方法(“第二區(qū)間大小估計器”)包括第二準確度(例如相對較低的分辨率),其中,第一準確度不同于第二準確度;和/或其中,第一區(qū)間大小確定方法包括第一計算復雜度(例如,相對較高的計算復雜度),其中,第二區(qū)間大小確定方法包括第二計算復雜度(例如,相對較低的計算復雜度),其中,第一計算復雜度不同于第二計算復雜度。
231、根據(jù)實施例,算術解碼器被配置為在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
232、根據(jù)實施例,算術解碼器被配置為確定一個或多個源統(tǒng)計值(例如at、bt)作為一個或多個第一初始化值;和/或其中,算術解碼器被配置為確定移位計數(shù)值(例如glps)作為第二初始化值,該移位計數(shù)值確定整體編碼區(qū)間大小值要被移位的比特數(shù),以獲得與多個可能的符號中的符號值相關聯(lián)的區(qū)間大小(rlps)。
233、根據(jù)實施例,算術解碼器被配置為使用第一映射(例如第一初始化值確定方法)來確定一個或多個第一初始化值,除了一個或多個裁剪操作和一個或多個舍入取整操作之外,該第一映射將基于一個或多個初始化參數(shù)(斜率、偏移量)獲得的中間概率值(例如pclip)線性地映射到一個或多個第一初始化值(例如at、bt)上。
234、根據(jù)實施例,算術解碼器被配置為使用等于中間概率值(例如,pclip)或基于中間概率值(例如pclip)的操作數(shù)值(例如plps+(plps>>2))的對數(shù)壓縮到縮小范圍的(例如整數(shù))值(例如glps)(例如第二初始化值確定方法)來確定一個或多個第二初始化值;或者
235、其中,算術解碼器被配置為使用對等于中間概率值(例如,pclip)或基于中間概率值(例如pclip)的操作數(shù)值(例如plps+(plps>>2))的對數(shù)域中的網(wǎng)格進行量化(例如以獲得glps)(例如第二初始化值確定方法)來確定一個或多個第二初始化值。
236、根據(jù)實施例,算術解碼器被配置為使用第二映射來確定一個或多個第二初始化值,第二映射包括:計算等于中間概率值(例如,pclip)或基于中間概率值(例如pclip)的操作數(shù)值(例如plps+(plps>>2))的對數(shù)(例如log2);以及將對數(shù)的計算結(jié)果舍入取整為整數(shù)值。
237、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式來獲得一個或多個第一初始化值at和/或bt:
238、at=pclip<<(bitsa-const64)
239、bt=pclip<<(bitsb-const64)
240、其中,算術解碼器被配置為根據(jù)以下等式來獲得中間概率值pclip:
241、pclip=min(const?60,max(const61,pinit))
242、pinit=((斜率·(qp-const?62))>>const63)+偏移量
243、其中,斜率是第一初始化參數(shù);其中,偏移量是第二初始化參數(shù);其中,qp是第三初始化參數(shù);其中,const60是預定值(例如127);其中,const61是預定值(例如1);其中,const62是預定值(例如16);其中,const63是預定值(例如1);其中,const64是預定值(例如7);其中,bitsa是用于表示第一源統(tǒng)計值at的比特數(shù);其中,bitsb是用于表示第一源統(tǒng)計值bt的比特數(shù);
244、根據(jù)實施例,算術解碼器被配置為根據(jù)以下等式獲得第二初始化值glps:
245、
246、或
247、
248、或
249、
250、或
251、
252、其中plps等于pclip或基于pclip(例如使用小概率符號概率確定從pclip導出),其中,pclip是根據(jù)以下等式獲得的:
253、pclip=min(const?60,max(const61,pinit))
254、pinit=((斜率·(qp-const?62))>>const63)+偏移量
255、其中,斜率是第一初始化參數(shù);其中,偏移量是第二初始化參數(shù);其中,qp是第三初始化參數(shù);其中,const60是預定值(例如127);其中,const61是預定值(例如1);其中,const62是預定值(例如16);其中,const63是預定值(例如1);其中,const1是預定值(例如bits-1)(優(yōu)選地是整數(shù)值);其中,const2是預定值(例如2)(優(yōu)選地是整數(shù)值);其中,const2’是預定值(優(yōu)選地是不同于1的值);其中,const3是預定值(優(yōu)選地是整數(shù)值);其中,gmax是預定值;其中,“>>”是右移運算符;其中,log2是以2為底的對數(shù)運算符;其中,是向上取整運算符。
256、根據(jù)第五方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流),其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術解碼器被配置為在第一模式下基于整體編碼區(qū)間大小值(例如r)(例如使用第一區(qū)間大小確定方法)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為在第二模式下基于整體編碼區(qū)間大小值(例如r)(使用第二區(qū)間大小確定方法)(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,算術解碼器被配置為在用于表示整體編碼區(qū)間大小值(例如,r)的第一比特數(shù)(或第一比特分辨率)的使用和第二比特數(shù)(或第二比特分辨率)的使用之間切換(例如,使得當在第一模式下操作時使用第一比特數(shù),并且使得例如當在第二模式下操作時使用第二比特數(shù))。
257、根據(jù)實施例,算術解碼器被配置為確定(和更新,例如重新歸一化)整體編碼區(qū)間大小值,使得在對符號值進行解碼之前(例如,在重新歸一化之后)整體編碼區(qū)間大小值在以下區(qū)間中:
258、(1<<(bitsr1-1),(1<<bitsr1)-1)
259、(并且使得在對符號值進行解碼之后以及在可能的重新歸一化之前,整體編碼區(qū)間大小值在區(qū)間(1,(1<<bitsr1)-2)中)其中,算術解碼器被配置為在第一模式下用bitsr1個比特表示編碼區(qū)間大小,并且其中,算術解碼器被配置為在第二模式下用bitsr2比特表示編碼區(qū)間大小,其中,bitsr2<bitsr1。
260、根據(jù)實施例,算術解碼器被配置為在第一模式(其中,例如可以使用相對較高的第一比特數(shù)或第一分辨率)下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
261、根據(jù)實施例,算術解碼器被配置為在第二模式(其中,例如可以使用相對較低的第二比特數(shù)或第二分辨率)下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
262、根據(jù)實施例,算術解碼器被配置為當在第二模式下操作時導出移位計數(shù)值(例如glps),該移位計數(shù)值描述了整體編碼區(qū)間大小值被移位了多少比特。
263、根據(jù)實施例,算術解碼器被配置為將移位計數(shù)值(例如glps)限制為最大值gmax,并且其中,第一比特數(shù)(例如bitsr1)大于第二比特數(shù),并且其中,第二比特數(shù)(例如bitsr2)大于最大值gmax(其中,例如bitsr2=gmax+addmax,其中addmax為正整數(shù)值)。
264、根據(jù)實施例,算術解碼器被配置為在用于表示整體編碼區(qū)間大小值(例如r)的第一比特數(shù)(或第一比特分辨率)的使用和第二比特數(shù)(或第二比特分辨率)的使用之間切換,使得當在第一模式下操作時使用第一比特數(shù),并且使得當在第二模式下操作時使用第二比特數(shù),其中,第一比特數(shù)大于第二比特數(shù),并且其中,算術解碼器被配置為在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定;以及其中,移位計數(shù)值在第一模式下被限制為第一最大值(例如,gmax(mode1)),并且其中,移位計數(shù)值在第二模式下被限制為第二最大值(例如gmax(mode2)),其中第一最大值大于第二最大值。
265、根據(jù)實施例,第一比特數(shù)適合于第一最大值,使得由第一比特數(shù)定義的比特數(shù)表示的整體編碼大小值的移位導致非零值,并且其中,第二比特數(shù)適合于第二最大值,使得由第二比特數(shù)定義的比特數(shù)表示的整體編碼大小值的移位導致非零值。
266、根據(jù)第一方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括:在操作的第一模式下,基于一個或多個狀態(tài)變量值(at+1、bt+1,也稱為源統(tǒng)計值)(其例如與給定的上下文模型相關聯(lián))來導出用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如,概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps),一個或多個狀態(tài)變量值表示多個先前編碼的符號值(例如,二進制值0和1的序列,例如xt、xt-1、xt-2等)的統(tǒng)計;以及在第一模式下(例如在正常吞吐量操作模式下),更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,以用于對一個或多個后續(xù)符號值進行編碼;其中,該方法包括在第二模式下(例如,在高吞吐量操作模式下)禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新(例如,使得已經(jīng)用于一個或多個符號值的編碼的一個或多個狀態(tài)變量值和/或已經(jīng)用于一個或多個符號值的編碼的區(qū)間大小信息被重用于一個或多個后續(xù)符號值的編碼);其中,該方法包括提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
267、根據(jù)第二方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大小;例如rlps);其中,該方法包括在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定;以及其中,該方法包括提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),其指示是使用執(zhí)行整體編碼大小值與區(qū)間大小信息值之間的乘法的第一模式還是使用通過位移獲得區(qū)間大小的第二模式。
268、根據(jù)第三方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,該方法包括通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定;以及其中,該方法包括基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值(例如,glps),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值)。
269、根據(jù)第四方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,該方法包括在第一模式下使用第一區(qū)間大小確定方法獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下使用第二區(qū)間大小確定方法(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括基于一個或多個初始化參數(shù)(例如斜率和偏移量,分別由slopidx和offsetidx表示)(例如使用第一初始化值確定方法)來獲得一個或多個第一初始化值(例如at和/或bt)(例如初始源統(tǒng)計值),其用于使用第一區(qū)間大小確定方法來確定區(qū)間大小,并且其中,該方法包括基于一個或多個初始化參數(shù)(例如,使用不同于第一初始化值確定方法的第二初始化值確定方法)來獲得一個或多個第二初始化值(例如glps),其用于使用第二區(qū)間大小確定方法來確定區(qū)間大小。
270、根據(jù)第五方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大小;例如rlps);其中,該方法包括在第一模式下基于整體編碼區(qū)間大小值(例如r)(例如使用第一區(qū)間大小確定方法)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下基于整體編碼區(qū)間大小值(例如r)(使用第二區(qū)間大小確定方法)(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在用于表示整體編碼區(qū)間大小值(例如,r)的第一比特數(shù)(或第一比特分辨率)的使用和第二比特數(shù)(或第二比特分辨率)的使用之間切換(例如,使得當在第一模式下操作時使用第一比特數(shù),并且使得例如當在第二模式下操作時使用第二比特數(shù))。
271、根據(jù)第一方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼的方法,其中,該方法包括:在操作的第一模式下,基于一個或多個狀態(tài)變量值(at+1,bt+1,也稱為源統(tǒng)計值)(其例如與給定的上下文模型相關聯(lián))來導出用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如,概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps),一個或多個狀態(tài)變量值表示多個先前解碼的符號值(例如,二進制值0和1的序列,例如xt、xt-1、xt-2等)的統(tǒng)計;以及在第一模式下(例如在正常吞吐量操作模式下),更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,以用于對一個或多個后續(xù)符號值進行解碼;其中,該方法包括在第二模式下(例如,在高吞吐量操作模式下)禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新(例如,使得已經(jīng)用于一個或多個符號值的解碼的一個或多個狀態(tài)變量值和/或已經(jīng)用于一個或多個符號值的解碼的區(qū)間大小信息被重用于一個或多個后續(xù)符號值的解碼);其中,該方法包括接收輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
272、根據(jù)第一方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼的方法,其中,該方法包括:在操作的第一模式下,基于一個或多個狀態(tài)變量值(at+1,bt+1,也稱為源統(tǒng)計值)(其例如與給定的上下文模型相關聯(lián))來導出用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如,概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps),一個或多個狀態(tài)變量值表示多個先前解碼的符號值(例如,二進制值0和1的序列,例如xt、xt-1、xt-2等)的統(tǒng)計;以及在第一模式下(例如在正常吞吐量操作模式下),更新一個或多個狀態(tài)變量值和/或區(qū)間大小信息,以用于對一個或多個后續(xù)符號值進行解碼;其中,該方法包括在第二模式下(例如,在高吞吐量操作模式下)禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新(例如,使得已經(jīng)用于一個或多個符號值的解碼的一個或多個狀態(tài)變量值和/或已經(jīng)用于一個或多個符號值的解碼的區(qū)間大小信息被重用于一個或多個后續(xù)符號值的解碼);其中,該方法包括提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),該輔助信息指示是使用啟用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第一模式還是使用禁用對一個或多個狀態(tài)變量值和/或區(qū)間大小信息的更新的第二模式。
273、根據(jù)第二方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,該方法包括在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定;以及其中,該方法包括接收輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),其指示是使用執(zhí)行整體編碼大小值與區(qū)間大小信息值之間的乘法的第一模式還是使用通過位移獲得區(qū)間大小的第二模式。
274、根據(jù)第二方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,該方法包括在第一模式下將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定;以及其中,該方法包括提供輔助信息(例如,專用比特或標志,或描述簡檔的輔助信息),其指示是使用執(zhí)行整體編碼大小值與區(qū)間大小信息值之間的乘法的第一模式還是使用通過位移獲得區(qū)間大小的第二模式。
275、根據(jù)第三方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,該方法包括通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定;以及其中,該方法包括基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出移位計數(shù)值(例如,glps),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值)。
276、根據(jù)第四方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,該方法包括在第一模式下使用第一區(qū)間大小確定方法獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下使用第二區(qū)間大小確定方法(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括基于一個或多個初始化參數(shù)(例如斜率和偏移量,分別由slopidx和offsetidx表示)(例如使用第一初始化值確定方法)來獲得一個或多個第一初始化值(例如at和/或bt)(例如初始源統(tǒng)計值),其用于使用第一區(qū)間大小確定方法來確定區(qū)間大小,并且其中,該方法包括基于一個或多個初始化參數(shù)(例如,使用不同于第一初始化值確定方法的第二初始化值確定方法)來獲得一個或多個第二初始化值(例如glps),其用于使用第二區(qū)間大小確定方法來確定區(qū)間大小。
277、根據(jù)第五方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼(例如,以便提供包括符號的算術解碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大小;例如rlps);其中,該方法包括在第一模式下基于整體編碼區(qū)間大小值(例如r)(例如使用第一區(qū)間大小確定方法)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在第二模式下基于整體編碼區(qū)間大小值(例如r)(使用第二區(qū)間大小確定方法)(例如通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由移位計數(shù)值(例如glps)確定)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps);以及其中,該方法包括在用于表示整體編碼區(qū)間大小值(例如,r)的第一比特數(shù)(或第一比特分辨率)的使用和第二比特數(shù)(或第二比特分辨率)的使用之間切換(例如,使得當在第一模式下操作時使用第一比特數(shù),并且使得例如當在第二模式下操作時使用第二比特數(shù))。
278、本發(fā)明的第六方面取決于使用計數(shù)值來確定用于符號的編碼或解碼的區(qū)間大小的思想,該區(qū)間大小與符號值相關聯(lián)。該思想包括基于區(qū)間大小信息的整數(shù)值表示來導出計數(shù)值,該區(qū)間大小信息可以例如描述相關聯(lián)的符號值的概率。導出計數(shù)值使用操作數(shù)值的最高有效非零位的位位置的確定,該操作數(shù)值相對于區(qū)間大小信息的整數(shù)值表示增加或減少。例如,確定操作數(shù)值的最高有效非零位的位位置是將操作數(shù)值舍入取整為2的冪的有效操作。通過相對于區(qū)間大小信息的整數(shù)值表示來增加或減少操作數(shù)值,可以導致將區(qū)間大小信息向上舍入取整或舍入取整到例如下一個最接近的2的冪。因此,舍入取整可以是準確的,例如,在不增加或減少區(qū)間大小信息的整數(shù)值表示的情況下更準確。此外,確定最高有效位的位置可能需要很少的計算工作量。因此,例如,根據(jù)所描述的過程確定計數(shù)值可以表示一種非常有效的方式,用于將區(qū)間大小值的整數(shù)值表示準確地舍入取整到非零位的位位置,即,例如,到2的冪。2的冪可以用低數(shù)量的比特來表示,例如,通過指示冪而不是值。因此,使用計數(shù)值來確定區(qū)間大小可能需要用于計數(shù)值的低數(shù)量的比特,因此允許高效且快速的實現(xiàn)。例如,計數(shù)值可以用作映射函數(shù)或位移操作的輸入。由于計數(shù)值可以以2的冪的形式表示區(qū)間大小值的整數(shù)值,因此可以直接映射到表中條目的位置而無需進一步處理,從而可以非常高效地實現(xiàn)映射。類似地,計數(shù)值的形式可以實現(xiàn)移位操作的高效實現(xiàn),其中計數(shù)值用于指示操作數(shù)值(例如,整體編碼區(qū)間大小值)將被移位例如以獲得區(qū)間大小的比特數(shù)。注意,在本文描述的一些方面中,移位計數(shù)值可以與計數(shù)值類似地或等效地導出,或者移位計數(shù)值可以對應于計數(shù)值,從而關于計數(shù)值描述的功能和優(yōu)點也可以適用于移位計數(shù)值。
279、根據(jù)第六方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(例如xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術編碼器被配置為基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(例如x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出計數(shù)值(glps;也稱為移位計數(shù)值或移位參數(shù)),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值);以及其中,算術編碼器被配置為使用計數(shù)值獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
280、根據(jù)實施例,算術編碼器被配置為將位移操作(例如右移操作)應用于預定值(例如r';例如384)(例如,該預定值位于允許的整體編碼區(qū)間大小值的范圍內(nèi),并且可以位于允許的整體編碼區(qū)間大小值的范圍(或區(qū)間)的中間,相對于范圍(或區(qū)間)的寬度在+/-10%的公差范圍內(nèi)),以便獲得區(qū)間大小(例如rlps),其中,預定值被移位的比特數(shù)由計數(shù)值(例如glps)確定。使用預定值來確定區(qū)間大小是一種用很少的計算工作量來確定區(qū)間大小的方式,例如,與基于連續(xù)適配的整體編碼區(qū)間大小感知值來確定區(qū)間大小相比,工作量更少。因此,該實現(xiàn)允許特別高的吞吐量。
281、根據(jù)實施例,算術編碼器被配置為將計數(shù)值(例如,glps)映射到區(qū)間大小上(例如,映射到rlps上)(例如,使用映射表)(至少在計數(shù)值的可能值范圍的子范圍內(nèi))。映射操作可以快速且不費力地執(zhí)行,從而提供高吞吐量。
282、根據(jù)實施例,算術編碼器被配置為如果計數(shù)值位于第一值范圍內(nèi)(例如,如果計數(shù)值大于1,或者如果計數(shù)值大于(預定)閾值),則獨立于當前整體編碼區(qū)間大小(例如r)來確定區(qū)間大小(例如使用對預定值(例如r')的位移操作的應用,或使用映射表),并且其中,算術編碼器被配置為如果計數(shù)值位于與第一值范圍不同的第二值范圍內(nèi)(例如,如果計數(shù)值小于或等于1,或者如果計數(shù)值小于或等于(預定)閾值,或者如果計數(shù)值取預定值(例如1)),則取決于當前整體編碼區(qū)間大小值(例如r)確定區(qū)間大小。因此,區(qū)間大小的確定可以適應計數(shù)值,該計數(shù)值基于區(qū)間大小信息,該區(qū)間大小信息例如表示與區(qū)間大小相關聯(lián)的符號值的概率。例如,針對計數(shù)值的第一值范圍可以表示相關聯(lián)的符號值的概率高于二進制符號值中的另一個的概率或高于閾值的值,而第二值范圍可以表示二進制符號值的概率相等或相似或相關聯(lián)的符號值的概率低于閾值的值。例如,對于二進制符號值的相等或相似概率,確定區(qū)間大小并基于整體編碼區(qū)間大小值,例如重用整體編碼區(qū)間大小值作為區(qū)間大小,在計算上可以是高效的。否則,獨立于整體編碼區(qū)間大小值的區(qū)間大小的確定可以提供區(qū)間大小的準確確定,并因此提供高壓縮率。換言之,基于計數(shù)值適配獲得區(qū)間大小的方式可以提供計算效率和壓縮率之間的良好折衷。
283、根據(jù)實施例,算術編碼器被配置為:如果計數(shù)值位于第二值范圍內(nèi),則接管當前整體編碼區(qū)間大小值(例如r)作為區(qū)間大小(例如rlps)(并且跳過區(qū)間大小重新歸一化)(即使用旁路模式)(其中,例如,整體編碼區(qū)間大小被限制在2n和2n+1-1之間的范圍內(nèi))。接管當前編碼區(qū)間大小值可以節(jié)省計算工作量并提供高吞吐量。如在第二值范圍中,例如,計數(shù)值可以表示與區(qū)間大小相關聯(lián)的符號值的概率,該概率等于或類似于二進制值中的另一個的概率,然而,重用當前整體編碼區(qū)間大小可以提供高壓縮率,因為例如可以省略整體編碼區(qū)間大小值的重新歸一化。因此,例如可以節(jié)省更多的計算能力,而不會損失準確度。
284、根據(jù)實施例,算術編碼器被配置為:如果計數(shù)值位于第二值范圍內(nèi),則將位移操作(例如,右移操作)應用于當前整體編碼區(qū)間大小值(例如,r),以便獲得區(qū)間大小(例如,rlps)(其中,當前整體編碼區(qū)間大小值被移位的比特數(shù)由計數(shù)值(例如glps)確定,或者是預定的)。如果計數(shù)值在第二值范圍內(nèi),則基于整體編碼區(qū)間大小值確定區(qū)間大小提供對區(qū)間大小的特別準確的確定。
285、根據(jù)實施例,算術編碼器被配置為如果計數(shù)值位于第一值范圍內(nèi)(例如,對于大于1的計數(shù)值),則將位移操作(例如,右移操作)應用于當前整體編碼區(qū)間大小值(例如,r),以便獲得區(qū)間大小(例如,rlps)(其中,當前整體編碼區(qū)間大小值被移位的比特數(shù)由計數(shù)值(例如glps)確定,或者是預定的),并且其中,算術編碼器被配置為如果計數(shù)值位于第二值范圍內(nèi)(例如對于計數(shù)值為1),則接管當前整體編碼區(qū)間大小值(例如r)作為區(qū)間大小(例如)(并跳過區(qū)間大小重新歸一化)(即使用旁路模式)(其中,例如,整體編碼區(qū)間大小被限制在2n和2n+1-1之間的范圍內(nèi))。
286、本發(fā)明的第七方面取決于實現(xiàn)用于符號值的編碼或解碼的兩個或更多個操作模式的思想,使得對于每個操作模式,可以單獨選擇壓縮率和計算工作量之間的折衷。該思想包括:當在第一模式下操作時,以第一粒度或第一分辨率確定用于符號值的編碼或解碼的區(qū)間大??;以及當?shù)诙J较虏僮鲿r,以第二粒度或分辨率確定區(qū)間大小。以高粒度或分辨率確定區(qū)間大小可以允許編碼比特流的高壓縮率,要編碼的符號值被編碼到該編碼比特流中或要解碼的符號值從該編碼比特流中解碼。相反,低分辨率或粒度可以允許特別快速地確定區(qū)間大小,并且還可以允許使用低數(shù)量的比特來表示區(qū)間大小。因此,區(qū)間大小的低分辨率或粒度可以允許計算高效的編碼或解碼過程。因此,具有不同分辨率或粒度的兩種操作模式允許使編碼或解碼適應當前比特流要求或解碼器或編碼器能力,同時允許在高壓縮率和計算工作量之間的良好折衷。
287、根據(jù)第七方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,算術編碼器被配置為可在第一模式(高吞吐量模式)和第二模式(正常模式)之間切換,其中,算術編碼器被配置為當在第一模式下操作時以第一粒度或第一分辨率(例如8的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如,rlps),并且當在第二模式下操作時以第二粒度或分辨率(例如1的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,第一粒度或第一分辨率比第二粒度或第二分辨率粗。
288、注意,關于方面七描述的第一操作模式可以例如是高吞吐量操作模式并且可以對應于關于其他方面描述的第二操作模式。此外,關于方面七描述的第二操作模式可以例如是正常模式或高效模式并且可以對應于關于其他方面描述的第一操作模式。
289、根據(jù)實施例,算術編碼器被配置為當在第一模式下操作時使用包括第一比特數(shù)的區(qū)間大小(例如,rlps)的表示,并且其中,算術編碼器被配置為當在第二模式下操作時使用包括第二比特數(shù)的區(qū)間大小(例如,rlps)的表示,其中,第二比特數(shù)(例如9個比特)大于第一比特數(shù)(例如6個比特);或者其中,算術編碼器被配置為當在第一模式下操作時將區(qū)間大小(例如rlps)的表示的多個比特(例如,最低有效3位)保留為預定比特值(例如0)(使得以預定值保留的比特不攜帶有意義的信息),并且當在第一模式下操作時使用區(qū)間大小(例如rlps)的表示的所有比特作為信息攜帶比特。例如,信號比特或使用比特的數(shù)量可以適應于確定區(qū)間大小的分辨率或粒度。因此,在第一模式下使用第一比特數(shù)和在第二模式下使用第二比特數(shù)允許例如高效實現(xiàn)或快速編碼過程,而不會損失準確度。
290、根據(jù)實施例,算術編碼器被配置為當在第一模式下操作時使用包括第三比特數(shù)的整體編碼區(qū)間大小(例如,r)的表示,并且其中,算術編碼器被配置為當在第二模式下操作時使用包括第四比特數(shù)的整體編碼區(qū)間大小(例如,r)的表示,其中,第四比特數(shù)(例如9個比特)大于第三比特數(shù)(例如5個比特);或者其中,算術編碼器被配置為當在第一模式下操作時將整體編碼區(qū)間大小(例如r)的表示的多個比特(例如,最低有效3位)保留為預定比特值(例如0)(使得以預定值保留的比特不攜帶有意義的信息),并且當在第一模式下操作時使用整體編碼區(qū)間大小(例如r)的表示的所有比特作為信息攜帶比特。根據(jù)當前操作模式適配用于表示整體編碼區(qū)間大小值的比特數(shù)允許高效實現(xiàn),例如,而沒有準確度損失,也如關于方面五所說明的。將用于表示區(qū)間大小的比特數(shù)的適配與用于整體編碼區(qū)間大小值的比特數(shù)的適配相結(jié)合是特別有益的,例如,基于整體編碼區(qū)間大小值確定區(qū)間大小可以特別容易地實現(xiàn),并且例如,區(qū)間大小的確定可能僅必須處理與確定區(qū)間大小的準確度所需一樣多的比特。
291、根據(jù)實施例,算術編碼器被配置為當在第二操作(正常模式)模式下操作時,確定區(qū)間大小,使得區(qū)間大小取決于整體編碼區(qū)間大小(r)。
292、根據(jù)實施例,算術編碼器被配置為當在第一模式(高吞吐量模式)下操作時確定區(qū)間大小,使得區(qū)間大小至少在區(qū)間大小信息的值范圍內(nèi)獨立于整體編碼區(qū)間大小(r)。
293、根據(jù)實施例,算術編碼器被配置為當在第二模式(正常模式)下操作時執(zhí)行基于乘法的整體編碼區(qū)間細分。
294、根據(jù)實施例,算術編碼器被配置為當在第二模式(正常模式)下操作時將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
295、根據(jù)實施例,算術編碼器被配置為當在第二模式(正常模式)下操作時執(zhí)行基于位移的整體編碼區(qū)間細分?;谖灰频募毞挚梢钥焖賵?zhí)行并且計算工作量很小。例如,當選擇高數(shù)量來表示區(qū)間大小時,可以實現(xiàn)區(qū)間大小的高準確度并因此實現(xiàn)高壓縮率。因此,結(jié)合取決于操作模式適配用于表示區(qū)間大小的比特數(shù),通過在第二模式下以及可選地在第一模式下通過位移操作確定區(qū)間大小,可以以高計算效率實現(xiàn)具有高吞吐量的第一操作模式和具有高壓縮率的第二操作模式。
296、根據(jù)實施例,算術編碼器被配置為當在第二模式(正常模式)下操作時通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
297、根據(jù)實施例,算術編碼器被配置為當在第一模式(高吞吐量模式)下操作時將整體編碼區(qū)間大小(r)初始化為預定的2的冪的倍數(shù)。通過將整體編碼區(qū)間大小值初始化為預定的2的倍數(shù),并且例如通過使用位移操作基于整體編碼區(qū)間大小值確定區(qū)間大小,可以導致區(qū)間大小是預定的2的冪的倍數(shù)。因此,區(qū)間大小可以由低數(shù)量的比特來表示,而例如不會損失準確度。
298、根據(jù)實施例,算術編碼器被配置為當在高吞吐量模式下操作時提供區(qū)間大小,使得區(qū)間大小(例如rlps)(并且優(yōu)選地還有互補符號區(qū)間大小(與不同于給定符號值的符號值相關聯(lián),例如與大概率符號值相關聯(lián)),例如rmps=r-rlps,其是通過從整體編碼區(qū)間大小中減去區(qū)間大小(與給定符號值相關聯(lián),例如與小概率符號值相關聯(lián))(例如rlps)來獲得的)是預定的2的冪的倍數(shù)(例如8)。因此,區(qū)間大小可以用低數(shù)量的比特或攜帶信息的低數(shù)量的比特來表示,從而允許高效信令和快速處理。
299、根據(jù)實施例,算術編碼器被配置為使用表查找(并且可選地使用旁路模式,其中當前整體編碼區(qū)間大小值(例如r)被接管為區(qū)間大小(例如rlps),并且其中對于區(qū)間大小信息的一個或多個值跳過區(qū)間大小重新歸一化)來提供區(qū)間大小,其中,查找表的條目是預定的2的冪的倍數(shù)(例如,8)。由于條目是預定的2的冪的倍數(shù),因此可以使用低數(shù)量的比特或攜帶信息的低數(shù)量的比特來發(fā)信號通知區(qū)間大小。
300、根據(jù)實施例,算術編碼器被配置為使用對預定值(例如r')的位移操作的應用來提供區(qū)間大小,該預定值被選擇為使得預定值的位移版本是預定的2的冪的倍數(shù)(例如8)(例如r’=384十進制=110000000二進制)。
301、第六方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼,其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,算術解碼器被配置為基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出計數(shù)值(glps;也稱為移位計數(shù)值或移位參數(shù)),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值);以及其中,算術解碼器被配置為使用計數(shù)值獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
302、根據(jù)實施例,算術解碼器被配置為將位移操作(例如右移操作)應用于預定值(例如r';例如384)(例如,該預定值位于允許的整體編碼區(qū)間大小值的范圍內(nèi),并且可以位于允許的整體編碼區(qū)間大小值的范圍(或區(qū)間)的中間,在相對于范圍(或區(qū)間)的寬度在+/-10%的公差范圍內(nèi)),以便獲得區(qū)間大小(例如rlps),其中,預定值被移位的比特數(shù)由計數(shù)值(例如glps)確定。
303、根據(jù)實施例,算術解碼器被配置為將計數(shù)值(例如,glps)映射到區(qū)間大小上(例如,映射到rlps上)(例如,使用映射表)(至少在計數(shù)值的可能值范圍的子范圍內(nèi))。
304、根據(jù)實施例,算術解碼器被配置為如果計數(shù)值位于第一值范圍內(nèi)(例如,如果計數(shù)值大于1,或者如果計數(shù)值大于(預定)閾值),則獨立于當前整體編碼區(qū)間大小(例如r)來確定區(qū)間大小(例如使用對預定值(例如r')的位移操作的應用,或使用映射表),并且其中,算術解碼器被配置為如果計數(shù)值位于與第一值范圍不同的第二值范圍內(nèi)(例如,如果計數(shù)值小于或等于1,或者如果計數(shù)值小于或等于(預定)閾值,或者如果計數(shù)值取預定值(例如1)),則取決于當前整體編碼區(qū)間大小值(例如r)來確定區(qū)間大小。
305、根據(jù)實施例,算術解碼器被配置為:如果計數(shù)值位于第二值范圍內(nèi),則接管當前整體編碼區(qū)間大小值(例如r)作為區(qū)間大小(例如rlps)(并且跳過區(qū)間大小重新歸一化)(即使用旁路模式)(其中,例如,整體編碼區(qū)間大小被限制在2n和2n+1-1之間的范圍內(nèi))。
306、根據(jù)實施例,算術解碼器被配置為:如果計數(shù)值位于第二值范圍內(nèi),則將位移操作(例如,右移操作)應用于當前整體編碼區(qū)間大小值(例如,r),以便獲得區(qū)間大小(例如,rlps)(其中,當前整體編碼區(qū)間大小值被移位的比特數(shù)由計數(shù)值(例如glps)確定,或者是預定的)。
307、根據(jù)實施例,算術解碼器被配置為如果計數(shù)值位于第一值范圍內(nèi)(例如,對于大于1的計數(shù)值),則將位移操作(例如,右移操作)應用于當前整體編碼區(qū)間大小值(例如,r),以便獲得區(qū)間大小(例如,rlps)(其中,當前整體編碼區(qū)間大小值被移位的比特數(shù)由計數(shù)值(例如glps)確定,或者是預定的),并且其中,算術解碼器被配置為如果計數(shù)值位于第二值范圍內(nèi)(例如對于計數(shù)值為1),則接管當前整體編碼區(qū)間大小值(例如r)作為區(qū)間大小(例如)(并跳過區(qū)間大小重新歸一化)(即使用旁路模式)(其中,例如,整體編碼區(qū)間大小被限制在2n和2n+1-1之間的范圍內(nèi))。
308、根據(jù)第七方面的實施例提供了一種算術解碼器,用于對具有符號值(例如二進制值)的多個符號進行解碼,其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術解碼器被配置為可在第一模式(高吞吐量模式)和第二模式(正常模式)之間切換,其中,算術解碼器被配置為當在第一模式下操作時以第一粒度或第一分辨率(例如8的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如,rlps),并且當在第二模式下操作時以第二粒度或分辨率(例如1的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,第一粒度或第一分辨率比第二粒度或第二分辨率粗。
309、根據(jù)實施例,算術解碼器被配置為當在第一模式下操作時使用包括第一比特數(shù)的區(qū)間大小(例如,rlps)的表示,并且其中,算術解碼器被配置為當在第二模式下操作時使用包括第二比特數(shù)的區(qū)間大小(例如,rlps)的表示,其中,第二比特數(shù)(例如9個比特)大于第一比特數(shù)(例如6個比特);或者其中,算術解碼器被配置為當在第一模式下操作時將區(qū)間大小(例如rlps)的表示的多個比特(例如,最低有效3位)保留為預定比特值(例如0)(使得以預定值保留的比特不攜帶有意義的信息),并且當在第一模式下操作時使用區(qū)間大小(例如rlps)的表示的所有比特作為信息攜帶比特。
310、根據(jù)實施例,算術解碼器被配置為當在第一模式下操作時使用包括第三比特數(shù)的整體編碼區(qū)間大小(例如,r)的表示,并且其中,算術解碼器被配置為當在第二模式下操作時使用包括第四比特數(shù)的整體編碼區(qū)間大小(例如,r)的表示,其中,第四比特數(shù)(例如9個比特)大于第三比特數(shù)(例如5個比特);或者其中,算術解碼器被配置為當在第一模式下操作時將整體編碼區(qū)間大小(例如r)的表示的多個比特(例如,最低有效3位)保留為預定比特值(例如0)(使得以預定值保留的比特不攜帶有意義的信息),并且當在第一模式下操作時使用整體編碼區(qū)間大小(例如r)的表示的所有比特作為信息攜帶比特。
311、根據(jù)實施例,算術解碼器被配置為當在第二操作(正常模式)模式下操作時確定區(qū)間大小,使得區(qū)間大小取決于整體編碼區(qū)間大小(r)。
312、根據(jù)實施例,算術解碼器被配置為當在第一模式(高吞吐量模式)下操作時確定區(qū)間大小,使得區(qū)間大小至少在區(qū)間大小信息的值范圍內(nèi)獨立于整體編碼區(qū)間大小(r)。
313、根據(jù)實施例,算術解碼器被配置為當在第二模式(正常模式)下操作時執(zhí)行基于乘法的整體編碼區(qū)間細分。
314、根據(jù)實施例,算術解碼器被配置為當在第二模式(正常模式)下操作時將整體編碼區(qū)間大小值或其位移版本(例如r)與區(qū)間大小信息值或其位移版本(例如plps或plps)(其包括具有不同的位權重的兩個或更多個比特的分辨率和/或可以采用不同于2的效力的值)相乘,以便(直接或間接地,例如使用附加加法)獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
315、根據(jù)實施例,算術解碼器被配置為當在第二模式(正常模式)下操作時執(zhí)行基于位移的整體編碼區(qū)間細分。
316、根據(jù)實施例,算術解碼器被配置為當在第二模式(例如正常模式)下操作時通過將位移操作(例如右移操作)應用于整體編碼區(qū)間大小值(例如r)來獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,整體編碼區(qū)間大小值被移位的比特數(shù)由區(qū)間大小信息(例如glps)確定。
317、根據(jù)實施例,算術解碼器被配置為當在第一模式(高吞吐量模式)下操作時將整體編碼區(qū)間大小(r)初始化為預定的2的冪的倍數(shù)。
318、根據(jù)實施例,算術解碼器被配置為當在高吞吐量模式下操作時提供區(qū)間大小,使得區(qū)間大小(例如rlps)(并且優(yōu)選地還有互補符號區(qū)間大小(與不同于給定符號值的符號值相關聯(lián),例如與大概率符號值相關聯(lián)),例如rmps=r-rlps,其是通過從整體編碼區(qū)間大小中減去區(qū)間大小(與給定符號值相關聯(lián),例如與小概率符號值相關聯(lián))(例如rlps)來獲得的)是預定的2的冪的倍數(shù)(例如8)。
319、根據(jù)實施例,算術解碼器被配置為使用表查找(并且可選地使用旁路模式,其中當前整體編碼區(qū)間大小值(例如r)被接管為區(qū)間大小(例如rlps),并且其中對于區(qū)間大小信息的一個或多個值跳過區(qū)間大小重新歸一化)來提供區(qū)間大小,其中,查找表的條目是預定的二的冪的倍數(shù)(例如,8)。
320、根據(jù)實施例,算術解碼器被配置為使用對預定值(例如r')的位移操作的應用來提供區(qū)間大小,該預定值被選擇為使得預定值的位移版本是預定的2的冪的倍數(shù)(例如8)(例如r’=384十進制=110000000二進制)。
321、根據(jù)第六方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,該方法包括基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出計數(shù)值(glps;也稱為移位計數(shù)值或移位參數(shù)),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值);以及其中,該方法包括使用計數(shù)值獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
322、根據(jù)第七方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,該方法包括在第一模式(高吞吐量模式)和第二模式(正常模式)之間切換,其中,該方法包括當在第一模式下操作時以第一粒度或第一分辨率(例如8的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如,rlps),并且當在第二模式下操作時以第二粒度或分辨率(例如1的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,第一粒度或第一分辨率比第二粒度或第二分辨率粗。
323、根據(jù)第六方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大小;例如rlps);其中,該方法包括基于(例如包括(或使用)bits個比特)的概率值的整數(shù)值表示(例如plps)使用操作數(shù)值(x,plps+(plps>>2))的最高有效非零位的位位置的確定來導出計數(shù)值(glps;也稱為移位計數(shù)值或移位參數(shù)),該操作數(shù)值相對于概率值的整數(shù)值表示增加或減少(例如,通過縮放操作,和/或通過加上或減去取決于概率值的整數(shù)值表示的值,和/或通過加上或減去預定(例如常數(shù))值);以及其中,該算術方法包括使用計數(shù)值獲得與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps)。
324、根據(jù)第七方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行解碼的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,該方法包括在第一模式(高吞吐量模式)和第二模式(正常模式)之間切換,其中,該方法包括當在第一模式下操作時以第一粒度或第一分辨率(例如8的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如,rlps),并且當在第二模式下操作時以第二粒度或分辨率(例如1的粒度)確定與多個可能的符號值中的符號值相關聯(lián)的區(qū)間大小(例如rlps),其中,第一粒度或第一分辨率比第二粒度或第二分辨率粗。
325、根據(jù)本發(fā)明的第八方面,用于導出用于符號值的算術編碼或解碼的區(qū)間大小的區(qū)間大小信息是基于針對符號值的編碼或解碼選擇的低復雜度上下文模型確定的。第八方面取決于以下思想:初始化多個低復雜度上下文模型的一個或多個參數(shù),使得與要編碼或解碼的同一語法元素但一個或多個先前編碼或解碼的符號的不同環(huán)境或不同編碼器或解碼器狀態(tài)相關聯(lián)的兩個或更多個低復雜度上下文模型的一個或多個參數(shù)值是相同的。由于兩個或更多個低復雜度上下文模型的參數(shù)值相同,并且可以省略對應參數(shù)的變化,因此節(jié)省計算工作量。換言之,基于低復雜度上下文模型的區(qū)間大小值的確定可以獨立于兩個或更多個低復雜度上下文模型的所述參數(shù),從而提供區(qū)間大小信息的容易確定。因此,可以實現(xiàn)編碼或解碼的高吞吐量。
326、根據(jù)第八方面的實施例提供了一種算術編碼器,用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流),其中,算術編碼器被配置為確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術編碼器被配置為基于區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps)來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大??;例如rlps);其中,算術編碼器被配置為取決于一個或多個先前編碼的符號或取決于編碼器狀態(tài)從多個低復雜度上下文模型中選擇低復雜度上下文模型(例如高吞吐量上下文模型;例如上下文模型,根據(jù)該上下文模型,已用于一個或多個符號值的編碼的一個或多個狀態(tài)變量值和/或已用于一個或多個符號值的編碼的區(qū)間大小信息重用于一個或多個后續(xù)符號值的編碼;例如上下文模式,根據(jù)該上下文模式,不執(zhí)行源統(tǒng)計值的更新),以便確定區(qū)間大小信息(例如,移位操作計數(shù)值glps);其中,算術編碼器被配置為初始化多個低復雜度上下文模型的一個或多個參數(shù)(例如glps和valmps)(例如使用上下文初始化值glps和valmps)(例如使用與低復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括值glps和valmps),使得兩個或更多個低復雜度上下文模型(其在編碼符號時可以保持不變)的一個或多個(初始)參數(shù)值(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前編碼的符號的不同環(huán)境(或集合)或不同編碼器狀態(tài)相關聯(lián))是相同的。
327、根據(jù)實施例,算術編碼器被配置為在高效模式和高吞吐量模式之間切換,在高效模式下使用多個高復雜度上下文模型(根據(jù)其,一個或多個相應的狀態(tài)變量值(例如at和bt)和/或區(qū)間大小信息被更新),在高吞吐量模式下使用低復雜度上下文模型(例如,其不包括一個或多個相應的狀態(tài)變量值(例如glps和valmps)的更新)。能夠在高效模式和高吞吐量模式之間切換允許針對比特流的當前要求和/或編碼器或解碼器能力來調(diào)整高壓縮率和高吞吐量之間的折衷。
328、根據(jù)實施例,算術編碼器被配置為當在高效模式下操作時取決于一個或多個先前編碼的符號或取決于編碼器狀態(tài)從多個高復雜度上下文模型中選擇高復雜度上下文模型(其中,當在高效模式下操作時,啟用一個或多個相應的狀態(tài)變量值(例如at和bt)和/或區(qū)間大小信息的更新,而當在高吞吐量模式下操作時禁用對一個或多個相應的狀態(tài)變量值(例如glps和valmps)的更新),以便確定區(qū)間大小信息。考慮編碼器狀態(tài)和/或一個或多個先前編碼或解碼的符號允許精確預測或確定區(qū)間大小值,從而可以實現(xiàn)高壓縮率。
329、根據(jù)實施例,算術編碼器被配置為初始化多個高復雜度上下文模型(例如與先前編碼的符號的不同環(huán)境或集合相關聯(lián)的多個高復雜度上下文模型)的一個或多個參數(shù)(例如at和bt,或slopeidx和offsetidx,at和bt可以從其導出)(例如使用與不同的高復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第一)集合,包括例如參數(shù)slopeidx和offsetidx),使得兩個或更多個高復雜度上下文模型(其在編碼符號時可以保持不變)的(例如初始)參數(shù)值或參數(shù)值集合(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前編碼的符號的不同環(huán)境(或集合)或不同編碼器狀態(tài)相關聯(lián))是不同的。因此,例如,高復雜度上下文模型的相應參數(shù)值取決于一個或多個先前編碼或解碼的符號的環(huán)境或編碼器或解碼器狀態(tài)。通過考慮環(huán)境和/或編碼器或解碼器狀態(tài),可以非常準確地確定區(qū)間大小信息,從而可以實現(xiàn)高壓縮比。
330、根據(jù)實施例,算術編碼器被配置為確定兩個或更多個低復雜度上下文模型(其在編碼符號時可以保持不變)的參數(shù)值(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前編碼的符號的不同環(huán)境(或集合)或不同編碼器狀態(tài)相關聯(lián))是否是相同的,并且其中,算術編碼器被配置響應于發(fā)現(xiàn)與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素;例如某個“二進制決策”)以及一個或多個先前編碼的符號(或二進制決策)的不同環(huán)境(或集合)或不同編碼器狀態(tài)相關聯(lián)的兩個或更多個低復雜度上下文模型的參數(shù)值是相同的而選擇性地禁用對一個或多個先前編碼的符號的不同環(huán)境(或集合)或不同編碼器狀態(tài)之間的區(qū)別。通過禁用不同環(huán)境或編碼器或解碼器狀態(tài)之間的區(qū)別,可以節(jié)省計算步驟,從而減少用于確定區(qū)間大小信息的處理時間。
331、根據(jù)實施例,算術編碼器被配置為當在高效模式下操作時區(qū)分獨立編碼的圖像部分(例如,視頻幀或視頻片或i片或i幀或幀內(nèi)編碼片或幀內(nèi)編碼幀)、單向預測的圖像部分(例如視頻幀或視頻片或p片p幀或預測編碼片或預測編碼幀)和雙向預測的圖像部分(例如視頻幀或視頻片或b片或b幀或雙向編碼片或雙向編碼幀)(以及在對與獨立編碼的圖像部分相關聯(lián)的一個或多個符號進行編碼時、在對與單向預測的圖像部分相關聯(lián)的一個或多個符號進行編碼時、以及在對與雙向預測的圖像部分相關聯(lián)的一個或多個符號進行編碼時使用不同的上下文模型)。例如,符號值的概率取決于圖像部分的類型(獨立、單向預測、雙向預測),因此在確定區(qū)間大小信息時區(qū)分圖像部分的類型可以提高針對區(qū)間大小信息的準確度。
332、根據(jù)實施例,算術編碼器被配置為當在低復雜度模式下操作時獨立于圖像部分類型(例如,獨立編碼的圖像部分、單方向預測的圖像部分或雙方向預測的圖像部分)而使用相同區(qū)間大小信息。獨立于圖像部分的類型確定區(qū)間大小信息在高吞吐量下提供低處理時間。
333、根據(jù)實施例,算術編碼器被配置為初始化多個高復雜度上下文模型(例如與先前編碼的符號的給定環(huán)境或集合相關聯(lián)的多個高復雜度上下文模型)的一個或多個參數(shù)(例如at和bt,或slopeidx和offsetidx,at和bt可以從其導出)(例如使用與不同的高復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第一)集合,包括例如參數(shù)slopeidx和offsetidx),使得兩個或更多個高復雜度上下文模型(其在編碼符號時可以更新)的(初始)參數(shù)值或參數(shù)值集合(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及不同類型的圖像部分(例如,獨立編碼的圖像部分、單向預測的圖像部分或雙向預測的圖像部分)相關聯(lián))是不同的(例如取決于圖像部分的類型)。
334、根據(jù)實施例,算術編碼器被配置為初始化多個高吞吐量上下文模型(例如與先前編碼的符號的給定環(huán)境或集合相關聯(lián)的多個高吞吐量上下文模型)的一個或多個參數(shù)(例如glps和valmps)(例如使用與不同的高吞吐量上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括例如參數(shù)glps和valmps),使得兩個或更多個高吞吐量上下文模型(其在編碼符號時可以保持不變)的(初始)參數(shù)值或參數(shù)值集合(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及不同類型的圖像部分(例如,獨立編碼的圖像部分、單向預測的圖像部分或雙向預測的圖像部分)相關聯(lián))是相同的(例如獨立于圖像部分的類型)。
335、根據(jù)實施例,算術編碼器被配置為取決于編碼質(zhì)量參數(shù)(例如圖片質(zhì)量參數(shù))來初始化多個高復雜度上下文模型(例如與先前編碼的符號的給定環(huán)境或集合相關聯(lián)的多個高復雜度上下文模型)的一個或多個參數(shù)(例如at和bt,或slopeidx和offsetidx,at和bt可以從其導出)(例如使用與不同的高復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第一)集合,包括例如參數(shù)slopeidx和offsetidx)(使得兩個或更多個高復雜度上下文模型(其在編碼符號時可以更新)的(初始)參數(shù)值或參數(shù)值集合(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及不同類型的質(zhì)量參數(shù)值相關聯(lián))是不同的(例如取決于質(zhì)量參數(shù)))。通過考慮編碼質(zhì)量參數(shù),一個或多個參數(shù)可以適應編碼質(zhì)量參數(shù)的值,從而允許基于高質(zhì)量上下文模型精確確定區(qū)間大小信息。
336、根據(jù)實施例,算術編碼器被配置為獨立于編碼質(zhì)量參數(shù)(例如qp)來初始化多個高吞吐量上下文模型(例如與先前編碼的符號的給定環(huán)境或集合相關聯(lián)的多個高吞吐量上下文模型(其例如可以對應于低復雜度上下文模型))的一個或多個參數(shù)(例如glps和valmps)(例如使用與不同的高吞吐量上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括例如參數(shù)glps和valmps)(使得兩個或更多個高吞吐量上下文模型(其在編碼符號時可以保持不變)的(初始)參數(shù)值或參數(shù)值集合(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及不同質(zhì)量參數(shù)相關聯(lián))是相同的(例如獨立于質(zhì)量參數(shù)))。獨立于編碼質(zhì)量參數(shù)初始化一個或多個參數(shù)允許快速初始化。
337、根據(jù)實施例,算術編碼器被配置為從多個候選上下文模型(例如,高效候選上下文模型和高吞吐量候選上下文模型二者)中選擇上下文模型,以用于確定區(qū)間大小信息(例如,用于對要編碼的符號進行編碼),其中,算術編碼器被配置為使用上下文模型初始化參數(shù)的單獨集合(例如單獨的slopeidx和單獨的offsetidx,以從中導出單獨的at和bt)來初始化高效候選上下文模型(其例如對應于高復雜度上下文模型)中的每一個,并且其中,算術編碼器被配置為使用上下文模型初始化參數(shù)的公共(相同)集合(例如,公共的glps和valmps)來初始化兩個或更多個高吞吐量候選上下文模型。使用上下文模型初始化參數(shù)的公共集合來初始化兩個或更多個高吞吐量候選上下文模型允許快速初始化,并且同時允許簡單的實現(xiàn),這例如與高效候選上下文模型的實現(xiàn)兼容。此外,使用上下文模型初始化參數(shù)的公共集合來來初始化兩個或更多個高吞吐量候選上下文模型允許省略對用于確定區(qū)間大小信息的上下文模型的評估。
338、根據(jù)第八方面的實施例提供了一種算術解碼器,用于(例如,基于包括符號的算術編碼表示和輔助信息的比特流)對具有符號值(例如二進制值)的多個符號進行解碼,其中,算術解碼器被配置為確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,算術解碼器被配置為基于區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps)來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大小;例如rlps);其中,算術解碼器被配置為取決于一個或多個先前解碼的符號或取決于解碼器狀態(tài)從多個低復雜度上下文模型中選擇低復雜度上下文模型(例如高吞吐量上下文模型;例如上下文模型,根據(jù)該上下文模型,已用于一個或多個符號值的解碼的一個或多個狀態(tài)變量值和/或已用于一個或多個符號值的解碼的區(qū)間大小信息重用于一個或多個后續(xù)符號值的解碼;例如上下文模式,根據(jù)該上下文模式,不執(zhí)行源統(tǒng)計值的更新),以便確定區(qū)間大小信息(例如,移位操作計數(shù)值glps);其中,算術解碼器被配置為初始化多個低復雜度上下文模型的一個或多個參數(shù)(例如glps和valmps)(例如使用上下文初始化值glps和valmps)(例如使用與低復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括值glps和valmps),使得兩個或更多個低復雜度上下文模型(其在解碼符號時可以保持不變)的一個或多個(初始)參數(shù)值(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前解碼的符號的不同環(huán)境(或集合)或不同解碼器狀態(tài)相關聯(lián))是相同的。
339、根據(jù)實施例,算術解碼器被配置為在高效模式和高吞吐量模式之間切換,在高效模式下使用多個高復雜度上下文模型(根據(jù)其,一個或多個相應的狀態(tài)變量值(例如at和bt)和/或區(qū)間大小信息被更新),在高吞吐量模式下使用低復雜度上下文模型(例如,其不包括一個或多個相應的狀態(tài)變量值(例如glps和valmps)的更新)。
340、根據(jù)實施例,算術解碼器被配置為當在高效模式下操作時取決于一個或多個先前解碼的符號或取決于解碼器狀態(tài)從多個高復雜度上下文模型中選擇高復雜度上下文模型(其中,當在高效模式下操作時,啟用一個或多個相應的狀態(tài)變量值(例如at和bt)和/或區(qū)間大小信息的更新,而當在高吞吐量模式下操作時禁用對一個或多個相應的狀態(tài)變量值(例如glps和valmps)的更新),以便確定區(qū)間大小信息。
341、根據(jù)實施例,算術解碼器被配置為初始化多個高復雜度上下文模型(例如與先前解碼的符號的不同環(huán)境或集合相關聯(lián)的多個高復雜度上下文模型)的一個或多個參數(shù)(例如at和bt,或slopeidx和offsetidx,at和bt可以從其導出)(例如使用與不同的高復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第一)集合,包括例如參數(shù)slopeidx和offsetidx),使得兩個或更多個高復雜度上下文模型(其在解碼符號時可以保持不變)的(初始)參數(shù)值或參數(shù)值集合(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前解碼的符號的不同環(huán)境(或集合)或不同解碼器狀態(tài)相關聯(lián))是不同的。
342、根據(jù)實施例,算術解碼器被配置為確定兩個或更多個低復雜度上下文模型(其在解碼符號時可以保持不變)的參數(shù)值(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前解碼的符號的不同環(huán)境(或集合)或不同解碼器狀態(tài)相關聯(lián))是否是相同的,并且其中,算術解碼器被配置響應于發(fā)現(xiàn)與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素;例如某個“二進制決策”)以及一個或多個先前解碼的符號(或二進制決策)的不同環(huán)境(或集合)或不同解碼器狀態(tài)相關聯(lián)的兩個或更多個低復雜度上下文模型的參數(shù)值是相同的而選擇性地禁用對一個或多個先前解碼的符號的不同環(huán)境(或集合)或不同解碼器狀態(tài)之間的區(qū)別。
343、根據(jù)實施例,算術解碼器被配置為當在高效模式下操作時區(qū)分獨立解碼的圖像部分(例如,視頻幀或視頻片或i片或i幀或幀內(nèi)編碼片或幀內(nèi)編碼幀)、單向預測的圖像部分(例如視頻幀或視頻片或p片p幀或預測編碼片或預測編碼幀)和雙向預測的圖像部分(例如視頻幀或視頻片或b片或b幀或雙向編碼片或雙向編碼幀)(以及在對與獨立解碼的圖像部分相關聯(lián)的一個或多個符號進行解碼時、在對與單向預測的圖像部分相關聯(lián)的一個或多個符號進行解碼時、以及在對與雙向預測的圖像部分相關聯(lián)的一個或多個符號進行解碼時使用不同的上下文模型)。
344、根據(jù)實施例,算術解碼器被配置為當在低復雜度模式下操作時獨立于圖像部分類型(例如,獨立解碼的圖像部分、單方向預測的圖像部分或雙方向預測的圖像部分)而使用相同區(qū)間大小信息。
345、根據(jù)實施例,算術解碼器被配置為初始化多個高復雜度上下文模型(例如與先前解碼的符號的給定環(huán)境或集合相關聯(lián)的多個高復雜度上下文模型)的一個或多個參數(shù)(例如at和bt,或slopeidx和offsetidx,at和bt可以從其導出)(例如使用與不同的高復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第一)集合,包括例如參數(shù)slopeidx和offsetidx),使得兩個或更多個高復雜度上下文模型(其在解碼符號時可以更新)的(初始)參數(shù)值或參數(shù)值集合(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及不同類型的圖像部分(例如,獨立解碼的圖像部分、單向預測的圖像部分或雙向預測的圖像部分)相關聯(lián))是不同的(例如取決于圖像部分的類型)。
346、根據(jù)實施例,算術解碼器被配置為初始化多個高吞吐量上下文模型(例如與先前解碼的符號的給定環(huán)境或集合相關聯(lián)的多個高吞吐量上下文模型)的一個或多個參數(shù)(例如glps和valmps)(例如使用與不同的高吞吐量上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括例如參數(shù)glps和valmps),使得兩個或更多個高吞吐量上下文模型(其在解碼符號時可以保持不變)的(初始)參數(shù)值或參數(shù)值集合(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及不同類型的圖像部分(例如,獨立解碼的圖像部分、單向預測的圖像部分或雙向預測的圖像部分)相關聯(lián))是相同的(例如獨立于圖像部分的類型)。
347、根據(jù)實施例,算術解碼器被配置為取決于解碼質(zhì)量參數(shù)(例如圖片質(zhì)量參數(shù))來初始化多個高復雜度上下文模型(例如與先前解碼的符號的給定環(huán)境或集合相關聯(lián)的多個高復雜度上下文模型)的一個或多個參數(shù)(例如at和bt,或slopeidx和offsetidx,at和bt可以從其導出)(例如使用與不同的高復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第一)集合,包括例如參數(shù)slopeidx和offsetidx)(使得兩個或更多個高復雜度上下文模型(其在解碼符號時可以更新)的(初始)參數(shù)值或參數(shù)值集合(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及不同類型的質(zhì)量參數(shù)值相關聯(lián))是不同的(例如取決于質(zhì)量參數(shù)))。
348、根據(jù)實施例,算術解碼器被配置為獨立于解碼質(zhì)量參數(shù)(例如qp)來初始化多個高吞吐量上下文模型(例如與先前解碼的符號的給定環(huán)境或集合相關聯(lián)的多個高吞吐量上下文模型)的一個或多個參數(shù)(例如glps和valmps)(例如使用與不同的高吞吐量上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括例如參數(shù)glps和valmps)(使得兩個或更多個高吞吐量上下文模型(其在解碼符號時可以保持不變)的(初始)參數(shù)值或參數(shù)值集合(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及不同質(zhì)量參數(shù)相關聯(lián))是相同的(例如獨立于質(zhì)量參數(shù)))。
349、根據(jù)實施例,算術解碼器被配置為從多個候選上下文模型(例如,高效候選上下文模型和高吞吐量候選上下文模型二者)中選擇上下文模型,以用于確定區(qū)間大小信息(例如,用于對要解碼的符號進行解碼),其中,算術解碼器被配置為使用上下文模型初始化參數(shù)的單獨集合(例如單獨的slopeidx和單獨的offsetidx,以從中導出單獨的at和bt)來初始化高效候選上下文模型中的每一個,并且其中,算術解碼器被配置為使用上下文模型初始化參數(shù)的公共(相同)集合(例如,公共的glps和valmps)來初始化兩個或更多個高吞吐量候選上下文模型。
350、根據(jù)第八方面的實施例提供了一種用于對具有符號值(例如二進制值)的多個符號進行編碼(例如,以便提供包括符號的算術編碼表示和輔助信息的比特流)的方法,其中,該方法包括確定(例如導出)用于對要編碼的一個或多個符號值(xt+1)進行算術編碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps)來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大?。焕鐁lps);其中,該方法包括取決于一個或多個先前編碼的符號或取決于編碼狀態(tài)從多個低復雜度上下文模型中選擇低復雜度上下文模型(例如高吞吐量上下文模型;例如上下文模型,根據(jù)該上下文模型,已用于一個或多個符號值的編碼的一個或多個狀態(tài)變量值和/或已用于一個或多個符號值的編碼的區(qū)間大小信息重用于一個或多個后續(xù)符號值的編碼;例如上下文模式,根據(jù)該上下文模式,不執(zhí)行源統(tǒng)計值的更新),以便確定區(qū)間大小信息(例如,移位操作計數(shù)值glps);其中,該方法包括初始化多個低復雜度上下文模型的一個或多個參數(shù)(例如glps和valmps)(例如使用上下文初始化值glps和valmps)(例如使用與低復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括值glps和valmps),使得兩個或更多個低復雜度上下文模型(其在編碼符號時可以保持不變)的一個或多個(初始)參數(shù)值(其與要編碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行編碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前編碼的符號的不同環(huán)境(或集合)或不同編碼狀態(tài)相關聯(lián))是相同的。
351、根據(jù)第八方面的實施例提供了一種用于(例如,基于包括符號的算術編碼表示和輔助信息的比特流)對具有符號值(例如二進制值)的多個符號進行解碼的方法,其中,該方法包括確定(例如導出)用于對要解碼的一個或多個符號值(xt+1)進行算術解碼的區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps);其中,該方法包括基于區(qū)間大小信息(例如概率值pt+1或概率值pt+1或plps或移位操作計數(shù)值glps)來導出區(qū)間大小(例如,與給定符號值相關聯(lián)的區(qū)間的大小;例如rlps);其中,該方法包括取決于一個或多個先前解碼的符號或取決于解碼狀態(tài)從多個低復雜度上下文模型中選擇低復雜度上下文模型(例如高吞吐量上下文模型;例如上下文模型,根據(jù)該上下文模型,已用于一個或多個符號值的解碼的一個或多個狀態(tài)變量值和/或已用于一個或多個符號值的解碼的區(qū)間大小信息重用于一個或多個后續(xù)符號值的解碼;例如上下文模式,根據(jù)該上下文模式,不執(zhí)行源統(tǒng)計值的更新),以便確定區(qū)間大小信息(例如,移位操作計數(shù)值glps);其中,該方法包括初始化多個低復雜度上下文模型的一個或多個參數(shù)(例如glps和valmps)(例如使用上下文初始化值glps和valmps)(例如使用與低復雜度上下文模型相關聯(lián)的初始化參數(shù)的相應(第二)集合,包括值glps和valmps),使得兩個或更多個低復雜度上下文模型(其在解碼符號時可以保持不變)的一個或多個(初始)參數(shù)值(其與要解碼的同一語法元素(例如,具有特定含義的標志、變換系數(shù)等;例如,用于對視頻信息進行解碼的不同語法元素的集合中的某種類型的語法元素)以及一個或多個先前解碼的符號的不同環(huán)境(或集合)或不同解碼狀態(tài)相關聯(lián))是相同的。
352、實施例提供了一種用于對視頻內(nèi)容進行編碼的方法,其中,該方法包括對多個視頻幀進行編碼,其中,該方法包括執(zhí)行根據(jù)第一方面至第八方面中任一方面的算術編碼,用于基于表示視頻內(nèi)容的二進制值序列提供編碼的二進制序列。
353、一方面提供了一種用于對視頻內(nèi)容進行解碼的方法,其中,該方法包括對多個視頻幀進行解碼,其中,該方法包括執(zhí)行根據(jù)第一方面至第八方面中任一方面的算術解碼,用于基于基于二進制序列的編碼表示提供解碼的二進制序列(例如,基于解碼的符號值)。
354、這些方法基于與對應用戶設備相同的考慮。此外,這些方法可以通過本文關于用戶設備描述的任何特征、功能和細節(jié)單獨或組合地補充。
355、一方面提供了一種計算機程序,用于當計算機程序在計算機上運行時執(zhí)行任何前述方法。
356、一方面提供了一種視頻編碼器,其中,視頻編碼器被配置為對多個視頻幀進行編碼,其中,視頻編碼器包括算術編碼器,其用于根據(jù)第一方面至第八方面中的任一方面,基于表示視頻內(nèi)容的二進制值序列來提供編碼的二進制序列。
357、一方面提供了一種視頻解碼器,其中,視頻解碼器被配置為對多個視頻幀進行解碼,其中,視頻解碼器包括算術解碼器,其用于根據(jù)第一方面至第八方面中的任一方面,基于二進制序列的編碼表示來提供解碼的二進制序列(例如,基于解碼的符號值)。