日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JM与h264标准中的关键字说明

發(fā)布時(shí)間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JM与h264标准中的关键字说明 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有些亂,先存著,留著看

如何結(jié)合H.264標(biāo)準(zhǔn)看JM代碼》這個(gè)web文件,大家都應(yīng)該有了吧。不過,那個(gè)web文檔是“H.264樂園”群中聊天的內(nèi)容

1、一個(gè)sps后,有若干個(gè)pps嗎?
????? 這主要又編碼器決定,但JM代碼中只有一個(gè)

?

2、標(biāo)準(zhǔn)中第二欄的C是什么意思?
????請(qǐng)看標(biāo)準(zhǔn)7.2--分類(在表中以C標(biāo)記)表明了片數(shù)據(jù)被劃分為三類片數(shù)據(jù)分割的情況。片數(shù)據(jù)A類分割包含所有的2類語法元素。片數(shù)據(jù)B類分割包含所有的3 類語法元素。片數(shù)據(jù)C類分割包含所有的4類語法元素。其他類語法元素取值的含義未做規(guī)定。對(duì)于某些語法元素,使用一個(gè)垂直豎線表示其包含兩類語法元素。在這種情況下,該語法元素將使用的分類值將在文本中進(jìn)一步確定。

3、一個(gè)NALU對(duì)應(yīng)一個(gè)片嗎?
????這種說法不太準(zhǔn)確,NALU 包括一個(gè)片、SPS、PPS、SEI等等

?

4、decode_one_frame()包括I、P、B

?

5、 case NALU_TYPE_SLICE:
???? ?case NALU_TYPE_IDR:
???? ?case NALU_TYPE_DPA
????? case NALU_TYPE_DPB:
????? case NALU_TYPE_DPC
????? case NALU_TYPE_SEI:
??????case NALU_TYPE_PPS
????? case NALU_TYPE_SPS
???? ?case NALU_TYPE_AUD:
???? ?case NALU_TYPE_EOSEQ:
???? ?case NALU_TYPE_EOSTREAM:
???? ?case NALU_TYPE_FILL
???? 問題:什么時(shí)候進(jìn)入哪個(gè),有什么說明的文章或書么?
???????答?:進(jìn)入哪個(gè) case 是由從 NALU 頭里解碼出來的 nalu_type 決定的

?

6、解碼器中的誤碼隱藏只對(duì)丟包有用,丟包之后,包的序號(hào)不連續(xù),解碼器一旦檢測(cè)到包序號(hào)不連續(xù)就會(huì)將不連續(xù)地方的 ei_flag ?置 1

?

7、字節(jié)流格式和RTP格式碼流,具體的不同點(diǎn)有哪些?相關(guān)的資料哪里有?
?? ?? 字節(jié)流格式主要用于文件存儲(chǔ),因此在該格式碼流中 NALU 前面只有一個(gè)開始前綴,RTP格式碼流因?yàn)樾枰M(jìn)行網(wǎng)絡(luò)傳輸,?因此 NALU 前面還有很多輔助信息

?

8、rtp格式就是在字節(jié)流前加包頭嗎?
????? 不是,字節(jié)流=開始前綴+NALU,而 RTP 中沒有 開始前綴

?

9、RTP中沒有開始前綴,為什么還是要插03?
????? ?防止偽起始碼、、RTP完全可以不用起始碼,或許是為了與字節(jié)流格式統(tǒng)一吧

?

10、NALU是對(duì)RBSP的封裝。而RTP之類的是對(duì)NALU的封裝。

?

11、為什么要分ABC片?
??????? ——分ABC片主要目的是為了對(duì)重要程度不同的數(shù)據(jù)進(jìn)行不同程度的保護(hù)

?

12、baseline沒有數(shù)據(jù)分割吧?
??????baseline只是如何產(chǎn)生RBSP,如何封裝NALU。具體如何傳輸,RTP之類只是一種方式,文件copy也是一種方式,那一般?baseline最多有多少參考幀?任意個(gè)。

?

13、解碼profile_idc之后解碼器要做什么工作?比如baseline不支持CABAC那么后面相應(yīng)的位entropy_coding_mode_flag是不是就不存在了,如果存在,相抵觸怎么辦?
??????當(dāng)然不會(huì)執(zhí)行 CABAC 的代碼,編碼器如果是編碼 baseline ,那么碼流中自然就不存在與 CABAC 相關(guān)的語法元素,例如 ?entropy_coding_mode_flag ,解碼器解碼 SPS ,得知碼流是 baseline 后,自然也就不會(huì)去調(diào)用與 CABAC 相關(guān)的解碼程?序,也就不會(huì)出錯(cuò)了。profile_idc 為 baseline ,active_pps->entropy_coding_mode_flag 就不會(huì)為 CABAC,,碼流是?否是 baseline 并不是由多少個(gè)參考幀決定的

?

14、JM 進(jìn)行 CAVLC 編碼時(shí)候,對(duì)于 level = 8 的情況是采用 escape suffix 處理的,我修改代碼將 level = 8 的情況采用無符號(hào)數(shù)表示,結(jié)果編碼出來的碼流與未修改完全一樣

附:RBSP、SODB、EBSP三者的區(qū)別和聯(lián)系!
??????? SODB:最原始的編碼數(shù)據(jù),沒有任何附加數(shù)據(jù)
??????? RBSP:在 SODB 的基礎(chǔ)上加了rbsp_stop_ont_bit(bit 值為 1)并用 0 按字節(jié)補(bǔ)位對(duì)齊
??????? EBSP:在 RBSP 的基礎(chǔ)上增加了防止偽起始碼字節(jié)(0X03)

?????? 1、1 frame的數(shù)據(jù)可以分為多個(gè)slice.
?????? 2、每個(gè)slice中的數(shù)據(jù),在幀內(nèi)預(yù)測(cè)只用到自己slice的數(shù)據(jù), 與其他slice 數(shù)據(jù)沒有依賴關(guān)系。
????? ?3、NAL 是用來將編碼的數(shù)據(jù)進(jìn)行大包的。 比如,每一個(gè)slice 數(shù)據(jù)可以放在NAL 包中。
????? ?4、I frame. 是自己獨(dú)立編碼,不依賴于其他frame. 數(shù)據(jù)。
?????? ???? P frame. 依賴 I frame. 數(shù)據(jù)。
?????? ??? ?B frame. 依賴 I frame, P frame. 或其他 B frame. 數(shù)據(jù)。

??? ?一個(gè)frame是可以分割成多個(gè)Slice來編碼的,而一個(gè)Slice編碼之后被打包進(jìn)一個(gè)NAL單元,不過NAL單元除了容納Slice編碼的碼流外,還可以容納其他數(shù)據(jù),比如序列參數(shù)集SPS。

?

15、NAL、Slice與frame意思及相互關(guān)系

NAL指網(wǎng)絡(luò)提取層,里面放一些與網(wǎng)絡(luò)相關(guān)的信息
Slice是片的意思,264中把圖像分成一幀(frame)或兩場(chǎng)(field),而幀又可以分成一個(gè)或幾個(gè)片(Slilce);片由宏塊(MB)組成。宏塊是編碼處理的基本單元。

?

16、NAL nal_unit_type中的1(非IDR圖像的編碼條帶)、2(編碼條帶數(shù)據(jù)分割塊A)、3(編碼條帶數(shù)據(jù)分割塊B)、4(編碼條帶數(shù)據(jù)分割塊C)、 5(IDR圖像的編碼條帶)種類型與 Slice種的三種編碼模式:I_slice、P_slice、B_slice NAL nal_unit_type 里的五種類型,代表接下來數(shù)據(jù)是表示啥信息的和具體如何分塊。I_slice、P_slice、B_slice 表示I類型的片、P類型的片,B類型的片.其中I_slice為幀內(nèi)預(yù)測(cè)模式編碼;P_slice為單向預(yù)測(cè)編碼或幀內(nèi)模式;B_slice 中為雙向預(yù)測(cè)或幀內(nèi)模式。

?

17、還有frame的3種類型:I frame、P frame、 B frame之間有什么映射關(guān)系么?
I frame、P frame、 B frame關(guān)系同 I_slice、P_slice、B_slice,slice和frame區(qū)別在問題1中已經(jīng)講明白。

?

18、最后,NAL nal_unit_type中的6(SEI)、7(SPS)、8(PPS)屬于什么幀呢?
NAL nal_unit_type 為序列參數(shù)集(SPS)、圖像參數(shù)集(PPS)、增強(qiáng)信息(SEI)不屬于啥幀的概念。表示后面的數(shù)據(jù)信息為序列參數(shù)集(SPS)、圖像參數(shù)集(PPS)、增強(qiáng)信息(SEI)。

總結(jié)

以上是生活随笔為你收集整理的JM与h264标准中的关键字说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。