H.263 H.263+ Payload Type

h263 rtp協議封裝協議英文版:rfc4629:http://tools.ietf.org/html/rfc4629

以下文章是部分參考翻譯:

文章出處: http://blog.csdn.net/zblue78/archive/2009/04/09/4059414.aspx
General H.263 Payload Header

The H.263 payload header is structured as follows:

0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- - - - - - - - - - - - - - - -
| RR |P|V| PLEN |PEBIT|
- - - - - - - - - - - - - - - -


RR: 5 bits

Reserved bits. It SHALL be zero and MUST be ignored by receivers.

P: 1 bit

Indicates the picture start or a picture segment (GOB/Slice) start
or a video sequence end (EOS or EOSBS). Two bytes of zero bits
then have to be prefixed to the payload of such a packet to
compose a complete picture/GOB/slice/EOS/EOSBS start code. This
bit allows the omission of the two first bytes of the start codes,
thus improving the compression ratio.

V: 1 bit

Indicates the presence of an 8-bit field containing information
for Video Redundancy Coding (VRC), which follows immediately after
the initial 16 bits of the payload header, if present. For syntax
and semantics of that 8-bit VRC field, see Section 5.2.

PLEN: 6 bits

Length, in bytes, of the extra picture header. If no extra
picture header is attached, PLEN is 0. If PLEN>0, the extra
picture header is attached immediately following the rest of the
payload header. Note that the length reflects the omission of the
first two bytes of the picture start code (PSC). See Section 6.1.

PEBIT: 3 bits

Indicates the number of bits that shall be ignored in the last
byte of the picture header. If PLEN is not zero, the ignored bits
shall be the least significant bits of the byte. If PLEN is zero,
then PEBIT shall also be zero.

H.263是國際電聯ITU-T的一個標準草案,是為低碼流通信而設計的。但實際上這個標準可用在很寬的碼流范圍,而非只用于低碼流應用,它在許多應用中可以認為被用于取代H.261。H.263的編碼算法與H.261一樣,但做了一些改善和改變,以提高性能和糾錯能力。.263標準在低碼率下能夠提供比H.261更好的圖像效果,兩者的區別有:(1)H.263的運動補償使用半象素精度,而H.261則用全象素精度和循環濾波;(2)數據流層次結構的某些部分在H.263中是可選的,使得編解碼可以配置成更低的數據率或更好的糾錯能力;(3)H.263包含四個可協商的選項以改善性能; (4)H.263采用無限制的運動向量以及基于語法的算術編碼;(5)采用事先預測和與MPEG中的P-B幀一樣的幀預測方法;(6)H.263支持5種分辨率,即除了支持H.261中所支持的QCIF和CIF外,還支持SQCIF、4CIF和16CIF,SQCIF相當于QCIF一半的分辨率,而 4CIF和16CIF分別為CIF的4倍和16倍。
??
??? 1998年IUT-T推出的H.263+是H.263建議的第2版,它提供了12個新的可協商模式和其他特征,進一步提高了壓縮編碼性能。如H.263只有5種視頻源格式,H.263+允許使用更多的源格式,圖像時鐘頻率也有多種選擇,拓寬應用范圍;另一重要的改進是可擴展性,它允許多顯示率、多速率及多分辨率,增強了視頻信息在易誤碼、易丟包異構網絡環境下的傳輸。另外,H.263+對H.263中的不受限運動矢量模式進行了改進,加上12個新增的可選模式,不僅提高了編碼性能,而且增強了應用的靈活性。H.263已經基本上取代了H.261。 

 ? H.263 由 ITU 定義,支持用于視頻會議和視頻電話應用程序的視頻壓縮(解碼)。 H.263 基于 H.261 編碼,并且為在最低帶寬為 20K 到 24K bit/sec 上傳輸的視頻流而開發。作為一種一般規則, H.263 只需 H.261 一半的帶寬即可達到與 H.261 相同的視頻質量,所以在很大程度上 H.263 取代了 H.261 。 H.263 使用 RTP 傳輸視頻流。

H.263 的編碼算法和 H.261 中的類似,但它在 H.261 的基礎上有了提高和改變,從而增強了性能和錯誤恢復能力。 H.263 中運動補償采用的是半像素精度,而在 H.261 中采用的是全像素精度和環路過濾。數據流中分層結構的某些部分是可選的,如此視頻編譯碼就可以被配置成有較低的數據率或較好的錯誤恢復能力。目前有四種能夠提高性能的可選協商選項:無限制運動矢量、基于語法的算術編碼、先進預測和前后幀預測,這類似于 MPEG ,叫做 P-B 幀。
H.263 支持五種分辨率。除了 H.261 支持的 QCIF 和 CIF 外,還有 SQCIF 、4CIF 和 16CIF 。  SQCIF 的分辨率大約是 QCIF 的一半,而 4CIF 和 16CIF 的分辨率分別是 CIF 的 4 倍和 16 倍。支持 4CIF 和 16CIF 意味著視頻編碼器可以與其它具有較高比特率的視頻編碼標準相抗衡 ,如 MPEG 標準。

協議結構

 H.263 有效載荷頭定義了三種格式(模式 A、模式 B 和模式 C)。在模式 A 中,在實際壓縮 H.263 視頻比特流之前存在4字節的 H.263 有效載荷頭。這樣允許在 GOB 邊界有分段。在模式 B 中,使用的是8字節的 H.263 有效載荷頭,且每個數據包從MB 邊界開始,沒有 PB 幀選項。最后,模式 C 中使用的是12字節的 H.263 有效載荷頭,采用 PB 幀選項支持在 MB 邊界的幀分段。


 模式 A 中的頭格式如下所示:
?
??? 0?????????????????? 1?????????????????? 2?????????????????? 3
??? 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
?? |F|P|SBIT |EBIT | SRC |I|U|S|A|R????? |DBQ| TRB |??? TR???????? |
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


F ― 標志位,表示有效載荷頭的模式,具有以下幾個值:
0 ― 模式 A;
1 ― 模式 B 或模式 C,取決于 P 位。
P ― P 指定可選的 PB 幀模式。
SBIT ― 起始位,指定最重要位(在第一個數據字節中忽略)的編號。
EBIT ― 結束位,指定最不重要位(在最后一個數據字節中忽略)的編號。
SRC ― 源格式(在 H.263 標準中 PTYPE 的位6、7和8壓縮比特流)表示當前圖片解析。
I ― 圖片編碼類型(在 H.263 標準中 PTYPE 的位9壓縮比特流)。
U ― 在當前圖片頭中,如果無限制運動向量選項值為1,那么該值設置為1(在 H.263 標準中 PTYPE 的位10壓縮比特流),否則

該值為0。
S ― 在當前圖片頭中,如果基于語法的算法編碼選項值為1,那么該值設置為1(在 H.263 標準中 PTYPE 的位11壓縮比特流),

否則該值為0。
A ― 在當前圖片頭中,如果高級預測選項值為1,那么該值設置為1(在 H.263 標準中 PTYPE 的位12壓縮比特流),否則該值為

0。
R ― 預留,值為0。
DBQ ― 用于計算量化值的差分量化參數,當使用 PB 幀選項時,B 幀的量化值基于 P 幀的量化值。該值需要與 H.263 標準壓縮

比特流中的 DBQUANT 相同。如果不是采用的 PB 幀選項,則該值為0。
TRB ― 該字段是作為 H.263 標準壓縮比特流中 B 幀的暫時參考。如果不是采用的 PB 幀選項,則該值為0。
TR ― 該字段是作為 H.263 標準壓縮比特流中 P 幀的暫時參考。如果不是采用的 PB 幀選項,則該值為0。
  模式 B 中的頭格式如下所示:

??? 0?????????????????? 1?????????????????? 2?????????????????? 3
??? 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
?? |F|P|SBIT |EBIT | SRC | QUANT?? |? GOBN?? |?? MBA?????????? |R? |
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
?? |I|U|S|A| HMV1??????? | VMV1??????? | HMV2??????? | VMV2??????? |
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

關于 F、P、SBIT、EBIT、SRC、I、U、S 和 A 各定義請參照模式 A。
?
QUANT ― 在數據包起始進行編碼的第一個 MB 的量化值。如果數據包以 GOB 頭開始,那么該值設置為0。
GOBN ― 數據包起始處的 GOB 編號。不同的解析中 GOB 編號不同。
MBA ― 數據包中第一個 MB 的 GOB 內的地址,按照掃描順序從0開始計數。例如任意 GOB 中的第三個 MB 設置為 MBA = 2。
R ― 預留,值為0。
HMV1、VMV1 ― 為數據包中的第一個 MB 設置的水平和垂直運動向量預測。如果有某四個運動向量能為當前 MB 提供高級預測選項功能時,那么這些向量就是 MB 中的1號塊的運動向量預測。
HMV2、 VMV2 ― 為數據包中第一個 MB 的3號塊提供的水平和垂直運動向量預測。如果有某四個運動向量能為當前 MB 提供高級預測選項功能時,需要該字段,這是因為 MB 中的3號塊需要不同于 MB 中其它塊的運動向量預測。當 MB 只具有一個運動向量時,不需要使用這兩個字段。

  模式 C 中的頭格式如下所示:?
??? 0?????????????????? 1?????????????????? 2?????????????????? 3
??? 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
?? |F|P|SBIT |EBIT | SRC | QUANT?? |? GOBN?? |?? MBA?????????? |R? |
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
?? |I|U|S|A| HMV1??????? | VMV1??????? | HMV2??????? | VMV2??????? |
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
?? | RR????????????????????????????????? |DBQ| TRB |??? TR???????? |
?? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

?關于 F、P、SBIT、EBIT、SRC、I、U、S、A、DBQ、TRB 和 TR 各定義請參照模式 A。
?關于 QUANT、GOBN、MBA、HMV1、VMV1、HMV2 和 VNV2 各定義請參照模式 B。

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

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

相關文章

OC 中 load 方法和 initialize 方法的異同

(void)load; 當類對象被引入項目時, runtime 會向每一個類對象發送 load 消息load 方法會在每一個類甚至分類被引入時僅調用一次,調用的順序:父類優先于子類, 子類優先于分類load 方法不會被類自動繼承 (void)initialize; 也是在第一次使用這個類的時候會調用這個方法 轉載于:h…

scrapy框架_Python學習之Scrapy框架

爬蟲界江湖地位No.1說起Python,不得不說到它的爬蟲應用,由于Python的短小精悍,用它來開發爬蟲應用是最合適不過了,基于Python抓取網頁的庫有很多,例如requests,beatifulsoup等等,但是要說到有哪一個框架&am…

JavaWeb筆記03-Servlet

今日內容 ServletHTTP協議Request Servlet 概念 步驟 執行原理 生命周期 Servlet3.0注解配置 Servlet的體系結構 Servlet – 接口 GenericServlet – 抽象類:將Servlet接口中其他方法做了默認空實現,只將service()方法作為抽象 將來定義Servlet類時候,可以繼承Generic…

Android開發中無處不在的設計模式——動態代理模式

繼續更新設計模式系列。寫這個模式的主要原因是近期看到了動態代理的代碼。 先來回想一下前5個模式: - Android開發中無處不在的設計模式——單例模式 - Android開發中無處不在的設計模式——Builder模式 - Android開發中無處不在的設計模式——觀察者模式 - A…

用于MPEG-4視聽流的RTP負載格式

MPEG-4的rtp協議封裝英文原版 RFC 3016:http://www.rfc-editor.org/rfc/rfc3016.txt中文翻譯:組織:中國互動出版網(http://www.china-pub.com/)RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emo…

pycharm python 模板配置_windows下pycharm安裝、創建文件、配置默認模板

本文為大家分享了windows下pycharm安裝、創建文件、配置默認模板的具體步驟,供大家參考,具體內容如下步驟:下包 —->安裝——>創建文件—->定制模板一、下包官方地址這里有企業版和社區版,老司機都知道社區版是免費的&am…

JavaWeb筆記02-Tomcat

今日內容 web相關概念回顧web服務器軟件:TomcatServlet入門學習 web相關概念回顧 軟件架構 C/S: 客戶端/服務器端B/S: 瀏覽器/服務器端 資源分類 靜態資源: 所有用戶訪問后,得到的結果都是一樣的,成為靜態資源,靜態資源可以直接被瀏覽器解析 如:html, css ,JavaScript 動態資…

網上的畫板代碼收集和整理

修改后的代碼[1]為,少了一個} package com.example.administrator.myapplication;import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.graphics.Canvas; import an…

如何寫年終總結(轉)

很多人不重視年終總結,覺得是一個非常令人厭煩的任務,往往是應付了事,短短幾百字,對目前工作中存在的問題發現不夠,思考不足,對自己一年的評價和未來一年的定位沒有說明。造成的后果就是公司得不到來自基層…

cad移動時捕捉不到基點_CAD入門必備(一)移動和復制新手必看

cad也瘋狂前言:CAD繪圖之所以能夠取代手工繪圖,很大的一部分原因是因為它可以很方便的修改和重復利用,例如外參可以節省很大部分時間。而我們在使用CAD中,用得最頻繁的功能就是移動和復制了,當然這也是新手必備的其中一…

H.264軟件解碼器在PXA270平臺上的優化

羅 嶸,何 苦 時間:2009年04月24日摘 要: 研究了嵌入式系統中H.264 Baseline軟件解碼器設計和優化的問題,提出了四種有效的優化方法,并在PXA270平臺上進行了測試。測試結果顯示,綜合使用提出的四種方法,H.26…

JavaWeb筆記04-解決GET與POST亂碼問題

解決GET與POST亂碼問題: 請求的亂碼問題 GET:tomcat8版本之前,get請求會亂碼 正常文字 --> UTF-8編碼 --> 字節數組 --> ISO-8859-1 編碼 --> 亂碼文字 正常文字 <-- UTF-8編碼 <-- 字節數組 <-- ISO-8859-1 編碼 <-- 亂碼文字解決亂碼的兩種格式: …

EF架構~codeFirst從初始化到數據庫遷移

一些介紹 CodeFirst是EntityFrameworks的一種開發模式&#xff0c;即代碼優先&#xff0c;它以業務代碼為主&#xff0c;通過代碼來生成數據庫&#xff0c;并且加上migration的強大數據表比對功能來生成數據庫版本&#xff0c;讓程序開發人員不用維護數據庫的變更&#xff0c;而…

Ubuntu用戶Steam控制器不工作的解決辦法

Steam 控制器已開始送貨到世界各地游戲玩家手中&#xff0c;不過有朋友遇到 Steam 控制器在 Ubuntu 中無法正常工作&#xff0c;本文我們來介紹一下解決辦法。該解決辦法并非 Ubuntu 官方提出的最佳解決方案&#xff0c;不過還是可以臨時解決 Ubuntu 用戶 Steam 控制器不工作的…

lisp 車位塊自動編號_機械車位做產權登記,真的適合嗎?

為了更好地把握停車市場發展動向&#xff0c;給停車行業從業者提供一個發表觀點、各抒己見的平臺&#xff0c;共同促進停車行業的發展&#xff0c;《城市停車》開設熱點版塊&#xff0c;每期針對1-2個行業熱點&#xff0c;廣泛征集業內人士觀點和看法。HOT TOPIC本期熱點今年兩…

JavaWeb筆記05-解決線程安全問題

線程安全問題: Servlet的service方法,每次被請求是,調用. 這個調用很特殊,是在新的子線程中調用的,當service方法執行完畢,子線程死亡了. 可以簡單的理解為:service方法每次執行都是一個新的線程. package cn.xdl.demo1;import javax.servlet.ServletException; import jav…

Java并發編程實戰 第14章 構建自定義的同步工具

狀態依賴性 定義&#xff1a;只有滿足特定的狀態才能繼續執行某些操作&#xff08;這些操作依賴于固定的狀態&#xff0c;這些狀態需要等待別的線程來滿足&#xff09;。 FutureTask&#xff0c;Semaphroe&#xff0c;BlockingQueue等&#xff0c;都是狀態依賴性的類。 條件隊列…

webserver接口_SpringBoot內置源碼解析WebServer初始化過程

WebServer 初始化過程在上一節中 Spring Boot 初始化了 WebServer 對應的工廠類。同時&#xff0c;我們也知道對應 Web容器的WebServer實現類有:TomcatWebServer、JettyWebServer和UndertowWebServer。這節重點講解這些 WebServer 是如何被初始化&#xff0c;又如何啟動的。Web…

提升應用程序彈性:保障工作負載正常運行

通過集群化、復制、快照、微服務和應用程序設計來提高企業工作負載的應用程序彈性和可用性。 應用程序的彈性和可用性是現代企業工作負載的關鍵屬性。應用程序需要在硬件故障發生后&#xff0c;扛過服務故障(例如負載平衡器和域名系統錯誤)保持工作狀態&#xff0c;并且可以忍受…

JDBC筆記01-JDBC,Connection,Statement,ResultSet,PreparedStatement,Properties

學習目標 理解JDBC原理 掌握Connection接口的使用 掌握Statement接口的使用 掌握ResultSet接口的使用 掌握PreparedStatement接口的使用 掌握Properties類與配置文件的使用 JDBC 概念 JDBC (Java DataBase Connectivity) Java數據庫連接技術的簡稱&#xff0c;提供連接各種常…