JM與h264標準中的關鍵字說明

有些亂,先存著,留著看

如何結合H.264標準看JM代碼》這個web文件,大家都應該有了吧。不過,那個web文檔是“H.264樂園”群中聊天的內容

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

?

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

3、一個NALU對應一個片嗎?
????這種說法不太準確,NALU 包括一個片、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
???? 問題:什么時候進入哪個,有什么說明的文章或書么?
???????答?:進入哪個 case 是由從 NALU 頭里解碼出來的 nalu_type 決定的

?

6、解碼器中的誤碼隱藏只對丟包有用,丟包之后,包的序號不連續,解碼器一旦檢測到包序號不連續就會將不連續地方的 ei_flag ?置 1

?

7、字節流格式和RTP格式碼流,具體的不同點有哪些?相關的資料哪里有?
?? ?? 字節流格式主要用于文件存儲,因此在該格式碼流中 NALU 前面只有一個開始前綴,RTP格式碼流因為需要進行網絡傳輸,?因此 NALU 前面還有很多輔助信息

?

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

?

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

?

10、NALU是對RBSP的封裝。而RTP之類的是對NALU的封裝。

?

11、為什么要分ABC片?
??????? ——分ABC片主要目的是為了對重要程度不同的數據進行不同程度的保護

?

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

?

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

?

14、JM 進行 CAVLC 編碼時候,對于 level = 8 的情況是采用 escape suffix 處理的,我修改代碼將 level = 8 的情況采用無符號數表示,結果編碼出來的碼流與未修改完全一樣

附:RBSP、SODB、EBSP三者的區別和聯系!
??????? SODB:最原始的編碼數據,沒有任何附加數據
??????? RBSP:在 SODB 的基礎上加了rbsp_stop_ont_bit(bit 值為 1)并用 0 按字節補位對齊
??????? EBSP:在 RBSP 的基礎上增加了防止偽起始碼字節(0X03)

?????? 1、1 frame的數據可以分為多個slice.
?????? 2、每個slice中的數據,在幀內預測只用到自己slice的數據, 與其他slice 數據沒有依賴關系。
????? ?3、NAL 是用來將編碼的數據進行大包的。 比如,每一個slice 數據可以放在NAL 包中。
????? ?4、I frame. 是自己獨立編碼,不依賴于其他frame. 數據。
?????? ???? P frame. 依賴 I frame. 數據。
?????? ??? ?B frame. 依賴 I frame, P frame. 或其他 B frame. 數據。

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

?

15、NAL、Slice與frame意思及相互關系

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

?

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

?

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

?

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455091.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455091.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455091.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

云計算(cloud computing)十大問答

本文講的是云計算(cloud computing)十大問答,【IT168 資訊】云計算這個新名詞最近甚囂塵上,最近周圍不少朋友都在談,有必要寫一個關于云計算的科普了。  一般的業界比較喜歡用一些新名詞來體現 自己的戰略眼光和與對…

3150cdn打印機清零 hl_兄弟HL-3150/3140彩色打印機粉盒清零方法,我們提前了解一下...

原標題:兄弟HL-3150/3140彩色打印機粉盒清零方法,我們提前了解一下對于兄弟品牌的打印機,相信各位經銷商朋友都遇到過,更換新的粉盒或者加粉后還會提示墨粉不足、更換碳粉盒、更換硒鼓。這個情況需要在機器上操作清零!…

Python 關于bytes類方法對數字轉換的誤區, Json的重要性

本文起源于一次犯錯, 在發覺bytes()里面可以填數字, 轉出來的也是bytes類型, 就心急把里面的東西decode出來. 結果為空.搞來搞去以為是命令不熟練事實上錯在邏輯.a1 bytes(11, encodingutf-8) print(a1)b1 a1.decode()print(b1)a2 bytes(11) print(a2)b2 a2.decode() print…

前綴中綴后綴表達式的計算求值

原文在這里 表達式 前綴表達式(波蘭表達式) 前綴表達式又稱波蘭式,前綴表達式的運算符位于操作數之前舉例說明: (34)5-6 對應的前綴表達式就是 - 3 4 5 6 前綴表達式求值 前綴表達式的計算機求值 從右至左掃描表達式,遇到數字時,將數…

psnr 計算

PSNR是“Peak Signal to Noise Ratio”的縮寫,峰值信噪比。psnr一般是用于最大值信號和背景噪音之間的一個工程項目。 PSNR計算公式如下: 8bits表示法中,peak的最大值為255;MSE指Mean Square Error(均方誤差&#xff0…

光源時間_縮短背光源的使用壽命的原因

許多場所都會使用到led這種產品,這種產品經常用于背光的照亮中。但是由于使用led的局限性較大,所以led逐漸被背光源這種產品所代替,常常用于背景的照亮讓宣傳圖可以展現出更好的視覺,這也是許多人選擇背光源的原因。那么&#xff…

《結對-貪吃蛇-需求分析》

結對編程:貪吃蛇項目 準備階段:安裝Python、pygame 編寫階段:1. 設置游戲窗口 2. 設置游戲必要功能: a)開始、暫停、退出按鈕 b)貪吃蛇身體 c)食物 d)移動貪吃蛇所需按鍵 3. 完善游戲:添加游戲時間、貪吃蛇失敗次數…

視頻中場的問題2009-04-03 19:38(一)

視頻中場的問題2009-04-03 19:38(一) 場的用途: 讓25幀/秒的電視畫面幀速率,變為50幀/秒。使觀眾感受到更加流暢的畫面。 (二) 場的由來: 在電視制作的時候,電視掃描一副畫面的時間根據當地交流電源的頻率來確定。比如中國交流電源…

遞歸應用場景和調用機制

原文鏈接:傳送門 遞歸 迷宮問題(回溯) 概念 簡單吶的說: 遞歸就是方法自己調用自己,每次調用時傳入不同的變量,遞歸有助于編程者解決復雜的問題,同時讓代碼變得簡潔. 案例-遞歸調用機制 打印問題 public static void test(int n){if(n>2){test(n-1);}System.out.print…

在vivado里用rtl描述_如何利用Vivado HLS處理許多位準確或任意精度數據類型

我們在設計硬件時,它往往是要求更精確的位寬。例如,一個filter的輸入是12位和一個累加器的結果只需要一個最大范圍為27位。然而對于硬件設計來說,使用標準的C數據類型會造成硬件成本的浪費。這就會造成我們要使用更多的LUT和寄存器&#xff0…

Spring4.0之四:Meta Annotation(元注解)

Spring框架自2.0開始添加注解的支持,之后的每個版本都增加了更多的注解支持。注解為依賴注入,AOP(如事務)提供了更強大和簡便的方式。這也導致你要是用一個相同的注解到許多不同的類中去。這篇文章介紹meta annotation來解決這個問…

八皇后問題分析與Java實現

原文鏈接:傳送門 八皇后問題 八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯貝瑟爾于1848年提出:在88格的國際象棋上擺放八個皇后,使其不能互相攻擊,即:任意兩個…

各種音視頻編解碼學習詳解 h264 ,mpeg4 ,aac 等所有音視頻格式

編解碼學習筆記(一):基本概念 媒體業務是網絡的主要業務之間。尤其移動互聯網業務的興起,在運營商和應用開發商中,媒體業務份量極重,其中媒體的編解碼服務涉及需求分析、應用開發、釋放license收費等等。最…

shell 腳本比較字符串相等_shell腳本--邏輯判斷與字符串比較

涉及到比較和判斷的時候,要注意整數比較使用-lt,-gt,ge等比較運算符,詳情參考:整數比較文件測試使用 -d, -f, -x等運算發,詳情參考:文件測試邏輯判斷使用 &&(且)、||(或)、&#xff…

單例模式之惡漢模式(詳解)

一.設計模式 概念:設計模式是一套被反復使用、多人知曉的、經過分類編目的、代碼設計經驗的總結。 目的:是用設計模式可以重用代碼,讓代碼更容易被他人理解,保證代碼的可靠性。 二.為什么要使用單例模式? 如果創造出多…

JSP中的:request.getScheme()+://+request.getServerName()+:+request.getServer

String path request.getContextPath(); String basePath request.getScheme()"://"request.getServerName()":"request.getServerPort()path"/"; <base href" <%basePath%>"> 這個語句是用來拼裝當前網頁的相對…

迷宮回溯問題分析和實現

原文鏈接:傳送門 迷宮問題 說明: 小球得到的路徑&#xff0c;和程序員設置的找路策略有關即&#xff1a;找路的上下左右的順序相關再得到小球路徑時&#xff0c;可以先使用(下右上左)&#xff0c;再改成(上右下左)&#xff0c;看看路徑是不是有變化測試回溯現象思考: 如何求出…

canvas clear 指定屬性的元素_好程序員web前端分享CSS屬性組成及作用

好程序員web前端分享CSS屬性組成及作用學習目標1、css屬性和屬性值的定義2、css文本屬性3、css列表屬性4、css背景屬性5、css邊框屬性6、css浮動屬性一、css屬性和屬性值的定義屬性&#xff1a;屬性是指定選擇符所具有的屬性&#xff0c;它是css的核心&#xff0c;css2共有150多…

mybatis大于小于等于

大于&#xff1a;<![CDATA[>]]> 小于&#xff1a;<![CDATA[<]]> 等于&#xff1a;<![CDATA[]]> 大于等于&#xff1a;<![CDATA[>]]> 小于等于&#xff1a;<![CDATA[<]]>轉載于:https://www.cnblogs.com/YuanFan123/p/7234530.html

2017年秋招-廣聯達面試及思考

面試官提問&#xff1a; 自我介紹&#xff08;沒有做充分的準備&#xff0c;總感覺說的不好&#xff09;為什么選擇做前端&#xff1f;在前端方向&#xff0c;你認為自身有哪些優點&#xff1f;前端需要掌握哪些技術知識點&#xff1f;看過哪些比較好的網站&#xff1f;會不會使…