2015-12-02 70 views
0

我正在閱讀關於H264編解碼器及其使用RTP數據包流的使用。我也指RFC 6184相同。視頻編碼層:什麼是VCL和它的功能是什麼

我有幾個問題如下。

  1. VCL屬於哪個協議棧。
  2. VCL層的預期功能是什麼。

到目前爲止,我只是能夠從NAL的維基百科頁面瞭解NAL功能。

下面是維基頁面的摘錄。

NAL旨在提供「網絡友好性」,以便爲各種系統簡單有效地定製使用VCL。 NAL有助於將VCL數據映射到傳輸層,如:

  1. RTP/IP用於任何類型的實時有線和無線Internet服務。
  2. 文件格式,例如用於存儲和MMS的ISO MP4。
  3. H.32X有線和無線對話服務。
  4. MPEG-2系統廣播服務等
+0

你可以在這裏閱讀有關VCL:http://stackoverflow.com/questions/24884827/ – szatmary

+0

@szatmary我已經閱讀了你的答案,但我覺得它比VCL更加NAL。 –

回答

0

的問題是有點含糊 - 什麼是你的「協議棧」的定義是什麼?我認爲VCL不是協議棧的一部分,因爲它與網絡無關。對於編碼器和解碼器的簡化圖:

Source -> VCL (Encode) -> NAL -> Packet -> Network 
    Network -> Packet -> NAL -> Frame -> VCL (Decode) -> Render 
+0

大概在這個時候我的理解是模糊的。你能幫助我提供任何鏈接或提供的答案。 –

+1

它來源於個人項目經驗和一般「關注點分離」原則。 VCL產生一個視頻數據塊,然後將其打包並通過網絡傳輸或存儲到磁盤。我可以罰款的最佳來源:http://iphome.hhi.de/wiegand/assets/pdfs/DIC_H264_07.pdf – smirnoff

1

要獲取有關VCL和NAL一定的瞭解,看看在H264 standard document在部分7.4.1 NAL單元語義

注1 - VCL被指定爲有效地表示視頻數據的內容。指定NAL格式化該數據並以適合於在通信信道或存儲介質的各種 上傳送的方式提供標題信息。所有數據都包含在 NAL單元中,每個單元包含整數個字節。 NAL 單元指定用於面向分組和比特流系統的通用格式。用於面向分組的 傳輸和字節流的NAL單元的格式是相同的,除了每個NAL單元可以在 流格式之前具有開始代碼前綴和額外的填充字節之前。

爲了闡述一點,VCL將更多地使用視頻壓縮標準(與網絡層不同)。因此它不屬於任何網絡協議棧。 NAL在擁塞時幫助網絡路由器。爲了在接收端實現更好的解碼,關鍵數據包不應該丟失。因此,NAL給出了潛在峯值的規定,以瞭解給定數據包在解碼過程中的重要性,並有助於作出適當的決定(要麼丟棄數據包)。這只是NAL的一個簡單例子。

如果在解碼語法時需要更多的關注,則需要VCL理解。 NAL圍繞VCL提供一層保護。 VCL按切片包含壓縮視頻數據。一個視頻幀可以分成一個或多個片。切片包含一個或多個壓縮格式的宏塊(16x16像素塊),遵循標準語法。