HEVC H 265理論知識(11) 網路適配層

2021-07-24 19:42:58 字數 2062 閱讀 6012

二、nal上的資料流由乙個乙個的nalu(nal單元)構成

三、nalu的分類:封裝vps、sps、pps、slice頭部資訊的nalu稱為node-valu;封裝乙個slice segment的編碼資料的nalu稱為vclu

四、影象型別

3、irap影象必須是i幀(但是i幀不一定是irap影象)

4、前置影象分成兩種:

(1)radl影象。它不依賴irap前面的碼流資訊

(2)rasl影象。它依賴irap前面的碼流資訊

5、有三種irap影象

(1)idr影象。idr影象及其後面的影象不參考irap前面的碼流,換句話說idr影象後面不允許包含rasl影象

(2)cra影象。cra影象執行前置影象可以是rasl影象(但是,無法正確解碼)

(3)bla影象。如果指定cra影象後面的rasl影象可以被丟棄(因為無法解碼),那麼這種cra影象就是bla影象

五、時域層

時域層的作用就是為了標記影象的重要性,在網路比較差的時候,有些不重要的影象往往可以被丟棄。層數越高越不重要,層數越底越重要。共有七層(0~6)

1、下切換,從任何影象開始,把更高層的影象丟棄

2、上切換,從任意影象開始,接收處理更高層的影象

3、對於滿足上切換的影象,應該使用sps_temporal_id_nesting_flag標記(值為1)。hevc定義了兩種新的影象型別:tsa和stsa影象用於標識切換點(上切換)。

(1)stsa影象表示從該影象可以切換到該影象所屬的時域層     

(2)tsa影象表示從該影象可以切換到時域層標識號大於或等於該影象時域層的時域層。

六、nalu介紹

1、nalu中的資料部分需要整位元組化(因為資料可能不足整數個位元組),即在真實的資料後面新增乙個位元1(稱為停止位元),如果不足整數個位元組,那麼需要補充位元0,這些總稱為rbsp資料(真實資料+位元1+若干位元0)

2、rbsp資料仍然不能作為nalu的載荷,因為0x000001是nalu的起始碼,0x000000是nalu的結束碼,因此需要對rbsp的資料進行轉換,才能作為nalu的載荷

3、nalu由四個部分構成:

(1)1個位元的forbidden_zero_bit,值是1

(2)6位元的nal_unit_type

(3)3位元的nuh_layer_id,取值為0

(4)3位元的nuh_layer_plus1,該值減去1表示nalu所在的時域層

4、nalu單元的順序和解碼順序一致,接入單元au是多個按解碼順序排列的nalu,這些nalu解碼後恰好生成乙個影象。

(1)乙個au包含一幀影象所有的vclu,還可以包含non-vclu

(2)一般情況下,基本的au不包含下面的nalu:引數集、保留的vcl、填充、保留non-vclu、未明確等

(3)當下面的nalu出現的時候,表示乙個新的au的開始:

①vps的nalu

②sps的nalu

③pps的nalu

④前置sei nalu

⑤nal_unit_type取值為rsv_nvcl41到rsv_nvcl44之間的nalu

⑥定界nalu

⑦nal_unit_type取值為unspec48到unspec55之間的nalu

⑧編碼影象的第乙個vclu(first_slice_segment_in_pic_flag等於1)

5、cvs就是一組按照解碼順序排列的au,從norasoutputflag=1的irap影象的au到下乙個norasoutputflag等於1的au(不包含它)

6、pps包含了乙個或多個影象共用的引數資訊,sps包含乙個cvs共有的引數資訊(被乙個或多個pps使用),vps包含乙個cvs共有的資訊(被乙個或多個sps使用)

7、nalu流生成位元組流的過程:

(1)在每個nalu前面插入3個位元組的起始碼start_code_prefix_one_3byte對應的值是0x000001

(2)如果nalu的型別是vps_nut,sps_nut、pps_nut或者幀的第乙個nalu,那麼在起始碼前面再插入zaro_byte,值是0

(4)根據需要在每個nalu後增加trailing_zero_8bits,值是0

七、結束

HEVC H 265理論知識(6) 量化

一 介紹 1 量化就是把訊號的連續取值對映成多個離散的幅值的過程,實現了訊號取值多對一的對映。2 殘差資料進過變換之後,變換係數具有較大的取值範圍,量化可以有效減小訊號的取值範圍,進而獲得更好的壓縮效果,量化是造成失真的根本原因 二 衡量失真的三種準則 分別有對應的公式 1 均方差mse 2 訊雜比...

HEVC H 265硬體編碼器實現雜談

軟硬體編碼器在設計方法上迥然不同。軟編碼是在特定的硬體平台上實現的,它所對應的硬體資源是固定的,如它在單位時間內的運算處理能力是固定的,對於設計者而言,更多需要做的是在軟體實現演算法上做優化。而硬體編碼器則是在最基本的邏輯電路上進行自由搭建,就好比在一張白紙上繪畫一樣,可根據需要新增硬體資源,如果以...

web services理論知識

web服務作為一種能夠快速整合應用的技術,如果與非同步傳輸進行組合,就將為構建企業級應用提供所需的可靠性。在本文中,我們嘗試用兩種設計方法來部署和訪問非同步web服務 通過使用 apache axis 在第一種方法中,用websphere mq support pac ma0r來提供mq傳輸 利用w...