一孵户、SPS語法
二、語法描述
以下函數(shù)用于語法描述。這些函數(shù)假定解碼器中存在一個(gè)比特流指針仔役,這個(gè)指針指向比特流中解碼過程要讀
取的下一個(gè)比特的位置。
byte_aligned( ) 的規(guī)定如下:
— 如果比特流的當(dāng)前位置是在字節(jié)邊界是己,即又兵,比特流中的下一比特是字節(jié)第一個(gè)比特,byte_aligned( )的返回值為TRUE卒废。
— 否則沛厨,byte_aligned( )的返回值為FALSE。
more_data_in_byte_stream( )摔认,只有在附件B規(guī)定的字節(jié)流NAL單元語法結(jié)構(gòu)中使用逆皮,規(guī)定如下:
— 如果字節(jié)流中后續(xù)還有更多數(shù)據(jù),more_data_in_byte_stream( )的返回值為TRUE参袱。
— 否則电谣,more_data_in_byte_stream( ) 的返回值為 FALSE。
more_rbsp_data( ) 的規(guī)定如下:
— 如果在rbsp_trailing_bits( )之前的RBSP中有更多數(shù)據(jù)抹蚀,more_rbsp_data( ) 的返回值為TRUE剿牺。
— 否則,more_rbsp_data( )的返回值為 FALSE环壤。
判斷RBSP中是否有更多數(shù)據(jù)的方法由應(yīng)用規(guī)定(或者附件B中使用字節(jié)流格式的應(yīng)用)晒来。
more_rbsp_trailing_data( ) 的規(guī)定如下:
— 如果RBSP中有更多數(shù)據(jù),more_rbsp_trailing_data( ) 的返回值為TRUE郑现。
— 否則湃崩,more_rbsp_trailing_data( ) 的返回值為 FALSE。
next_bits(n)提供比特流中接下來的比特用于比較的目的懂酱,而不需要移動(dòng)比特流指針竹习。該函數(shù)使比特流中的下n 個(gè)比特可見,n 在這里是函數(shù)的參數(shù)列牺。當(dāng)用在附件B 規(guī)定的字節(jié)流中時(shí)整陌,如果剩余的字節(jié)流已不足n 個(gè)比特,next_bits( n )返回值為0。
read_bits( n ) 從比特流中讀取下面的n 個(gè)比特泌辫,并且將比特流指針向前移動(dòng)n 個(gè)比特随夸。當(dāng)n 等于0 時(shí),read_bits( n )的返回值為0并且不移動(dòng)比特流指針震放。
類別(在表中以C 表示)規(guī)定條帶數(shù)據(jù)可以至多劃分為三種條帶數(shù)據(jù)類別宾毒。條帶數(shù)據(jù)類別A 包含了類別2的所有語法元素。條帶數(shù)據(jù)類別B 包含了類別3 的所有語法元素殿遂。條帶數(shù)據(jù)類別C 包含了類別4 的所有語法元素诈铛。其他類別值的含義不作規(guī)定。某些語法元素需要使用兩個(gè)類別值墨礁,這兩個(gè)值通過豎線分開幢竹。在這些情況下,本文將會(huì)進(jìn)一步說明應(yīng)用的類別值的含義恩静。對(duì)于在其他語法結(jié)構(gòu)中使用的語法結(jié)構(gòu)焕毫,它所包含的所有語法元素的類別值都應(yīng)列出,通過豎線來分開驶乾。如果語法元素或者語法結(jié)構(gòu)的類別標(biāo)為”All”邑飒,它可以出現(xiàn)在所有的語法結(jié)構(gòu)中。對(duì)于用在其他語法結(jié)構(gòu)中的語法結(jié)構(gòu)级乐,語法表格中的數(shù)字類別值如果處于包含了一個(gè)類別值為“All”的語法結(jié)構(gòu)中疙咸,那么該數(shù)字類別值被認(rèn)為能夠應(yīng)用到類別為“All”的語法元素值。
如下描述符規(guī)定了每個(gè)語法元素的解析處理风科。對(duì)于某些語法元素罕扎,需要使用通過豎線分開的兩個(gè)描述符。在這些情況下丐重,左邊的描述符在entropy_coding_mode_flag 等于0 的時(shí)候使用腔召,右邊的描述符在entropy_coding_mode_flag等于1的時(shí)候使用。
— ae(v):上下文自適應(yīng)算術(shù)熵編碼語法元素扮惦。該描述符的解析過程在9.3節(jié)中規(guī)定臀蛛。
— b(8):任意形式的8比特字節(jié)。該描述符的解析過程通過函數(shù)read_bits( 8 )的返回值來規(guī)定崖蜜。
— ce(v):左位在先的上下文自適應(yīng)可變長(zhǎng)度熵編碼語法元素浊仆。該描述符的解析過程在9.2節(jié)中規(guī)定。
— f(n):n位固定模式比特串(由左至右)豫领,左位在先抡柿, 該描述符的解析過程通過函數(shù)read_bits( n )的返回值來規(guī)定。
— i(n):使用n比特的有符號(hào)整數(shù)等恐。在語法表中洲劣,如果n是‘v’备蚓,其比特?cái)?shù)由其它語法元素值確定。解析過程由函數(shù)read_bits(n)的返回值規(guī)定囱稽,該返回值用最高有效位在前的2的補(bǔ)碼表示郊尝。
— me(v):映射的指數(shù)哥倫布碼編碼的語法元素,左位在先战惊。解析過程在9.1中定義流昏。
— se(v):有符號(hào)整數(shù)指數(shù)哥倫布碼編碼的語法元素位在先。解析過程在9.1中定義吞获。
— te(v):舍位指數(shù)哥倫布碼編碼語法元素况凉,左位在先。解析過程在9.1中定義各拷。
— u(n):n位無符號(hào)整數(shù)茎刚。在語法表中,如果n是‘v’撤逢,其比特?cái)?shù)由其它語法元素值確定。解析過程由函數(shù)read_bits(n)的返回值規(guī)定粮坞,該返回值用最高有效位在前的二進(jìn)制表示蚊荣。
— ue(v):無符號(hào)整數(shù)指數(shù)哥倫布碼編碼的語法元素,左位在先莫杈。解析過程在9.1中定義互例。