iOS音視頻(二) 視頻編碼-H264

一、H264核心知識(shí)


咱們?nèi)粘=佑|的直播、監(jiān)控視頻,大多用H264編碼。它最大的好處是壓縮得狠同樣清晰的畫面,文件能小不少,省流量也省存儲(chǔ),所以應(yīng)用特別廣。今天我就把H264的核心知識(shí)點(diǎn)捋一捋,從基礎(chǔ)幀類型到播放出問題怎么排查,都說明白。

1、IPB幀:H264壓縮的“三板斧”

H264能把視頻壓得小,全靠I、P、B這三種幀配合。這三者不是孤立的,是靠“互相參考”來省數(shù)據(jù)的,咱們一個(gè)個(gè)說。

1. 1 I幀:關(guān)鍵幀

I幀是幀內(nèi)編碼幀,我把它理解成視頻里的“獨(dú)立標(biāo)桿”編碼時(shí)不用參考其他幀,只對(duì)自己這一幀畫面壓縮。所以它數(shù)據(jù)量最大,但解碼快,獨(dú)立出來就能還原完整畫面。拖視頻進(jìn)度條不卡,全靠它;視頻開頭、場(chǎng)景切畫面時(shí),也必須以I幀當(dāng)“基準(zhǔn)”。

1.2? P幀:向前參考幀

P幀是前向預(yù)測(cè)幀,說白了就是偷懶編碼時(shí)只盯著前面的I幀或P幀,把不一樣的地方記下來,也就是運(yùn)動(dòng)矢量和殘差數(shù)據(jù)。數(shù)據(jù)量比I幀小很多,壓縮效果好,但解碼時(shí)必須要前面的參考幀才能出畫面,主要作用就是降碼率還不影響流暢度。

1.3 B幀:雙向參考幀

B幀是雙向預(yù)測(cè),比P幀更省既看前面的幀,也看后面的幀,只存中間變化的部分,所以壓縮比最高,數(shù)據(jù)量最小。但它也麻煩,編碼解碼都費(fèi)勁兒,傳輸時(shí)要把前后的參考幀先傳過來。

如果在泛娛樂直播中,可以接受一定度的延時(shí),需要比較高的壓縮比就可以使用B幀.

如果在實(shí)時(shí)互動(dòng)直播,我們需要提高時(shí)效性,這時(shí)就不能使用B幀了.

2、GOF幀組:幀的打包邏輯

說完幀的類型,再聊聊幀的組織方式GOF幀組,就是把連續(xù)的幀按規(guī)律打包。最常見的就是“I-B-B-P-B-B-P”,以I幀開頭,后面跟一串P幀和B幀。這么是為了平衡:既壓縮得小,又能控制錯(cuò)誤影響范圍,一幀丟了,不至于整個(gè)視頻都亂套。

GOF的長(zhǎng)度不是固定的,得看具體用途。直播、監(jiān)控這種要實(shí)時(shí)看的,就用短GOF(15幀以內(nèi)),就算丟幀也只影響半秒左右,拖進(jìn)度條也快;影視點(diǎn)播、存視頻的話,用長(zhǎng)GOF(30幀以上)更省空間,不用實(shí)時(shí)響應(yīng)。每個(gè)GOF都是獨(dú)立的,解碼時(shí)也是一組一組解。

3、SPS/PPS:解碼的鑰匙

很多人解碼時(shí)黑屏、花屏,查來查去就是少了SPS和PPS。這倆不是視頻幀,是解碼的配置說明沒有它們,解碼器拿到幀也不知道怎么處理。一般在視頻開頭發(fā),要是分辨率、碼率變了,會(huì)再發(fā)一次。

3.1? SPS:管全局的配置

SPS是序列參數(shù)集,管整個(gè)視頻的大方向:比如是1080P還是720P,一秒多少幀,碼率怎么控制。這些都是全局參數(shù),不用經(jīng)常發(fā),除非視頻分辨率這類核心設(shè)置變了才重發(fā)。

3.2 PPS:管細(xì)節(jié)的補(bǔ)充

PPS是圖像參數(shù)集,補(bǔ)充SPS沒說到的細(xì)節(jié):比如一幀畫面怎么切成小塊處理,壓縮的精細(xì)度調(diào)多少。它和具體的幀關(guān)聯(lián)緊,要是某幀的壓縮參數(shù)變了,PPS就得跟著重發(fā)。

必須強(qiáng)調(diào)順序:解碼器得先拿到SPS和PPS,再處理I/P/B幀才行。要是這倆丟了或者發(fā)晚了,就算幀數(shù)據(jù)全到了,也會(huì)解碼失敗。

4、視頻花屏/卡頓?從編碼到解碼找原因

看視頻最煩花屏(馬賽克、色塊)和卡頓,其實(shí)問題都出在“編碼-傳輸-解碼”這條鏈路上——要么數(shù)據(jù)丟了、亂了,要么設(shè)備處理不了。

4.1 編碼端:源頭就有問題

參數(shù)沒調(diào)好:比如GOF設(shè)太長(zhǎng),一幀丟了后面一串都解不出來;量化參數(shù)太高,畫面細(xì)節(jié)壓沒了,直接出色塊;SPS里寫的分辨率和實(shí)際幀對(duì)不上,解碼器直接懵了。

編碼環(huán)節(jié)出問題:硬件編碼器壞了,或者軟件編碼器有bug,編出來的幀數(shù)據(jù)是錯(cuò)的。比如運(yùn)動(dòng)矢量指錯(cuò)位置,解出來肯定花屏。

原始視頻本身差:攝像頭拍的畫面有噪點(diǎn),或者采集數(shù)據(jù)時(shí)丟了線,這些毛病編碼后會(huì)更明顯。

4.2 傳輸鏈路:數(shù)據(jù)在半路“掉鏈子”

數(shù)據(jù)丟了:最常見,網(wǎng)絡(luò)一卡、帶寬不夠,就容易丟I幀、SPS這些關(guān)鍵數(shù)據(jù)I幀丟了,后面一整組都白費(fèi);SPS丟了,直接解不了。

傳得亂七八糟:H264幀得按編碼順序傳,不是播放順序。比如B幀得等后面的參考幀到了才能解,要是B幀先傳過來,解碼器沒東西參考,畫面就卡。

傳太慢了:直播時(shí)最明顯,幀數(shù)據(jù)到解碼器時(shí)早就過了播放時(shí)間,只能丟掉,畫面就頓一下。


二、H.264編碼原理及核心壓縮技術(shù)解析


H.264(又稱AVC)是目前主流的視頻編碼標(biāo)準(zhǔn),憑借多種技術(shù)的協(xié)同作用,實(shí)現(xiàn)了高畫質(zhì)與低碼率的平衡,在視頻存儲(chǔ)與傳輸領(lǐng)域應(yīng)用廣泛。下面我們就來解析其四大核心壓縮技術(shù)。

1、幀內(nèi)預(yù)測(cè):消除空間冗余的核心

幀內(nèi)預(yù)測(cè)主要針對(duì)I幀設(shè)計(jì),它利用圖像中像素的空間相關(guān)性,通過已編碼的相鄰像素來預(yù)測(cè)當(dāng)前像素值,最終對(duì)預(yù)測(cè)值與實(shí)際值的差進(jìn)行編碼,從而消除空間冗余。編碼端會(huì)從中選擇最優(yōu)模式,以提升預(yù)測(cè)精度。

這種編碼方式無需參考其他幀,獨(dú)立性強(qiáng),能為后續(xù)的壓縮打下良好基礎(chǔ)。

2、幀間預(yù)測(cè):挖掘時(shí)間冗余的關(guān)鍵

幀間預(yù)測(cè)則面向P幀和B幀,它借助連續(xù)視頻幀之間的時(shí)間相關(guān)性來預(yù)測(cè)當(dāng)前幀內(nèi)容,編碼時(shí)只需保留預(yù)測(cè)差和運(yùn)動(dòng)信息即可。這一技術(shù)的核心是運(yùn)動(dòng)估計(jì)與運(yùn)動(dòng)補(bǔ)償兩個(gè)環(huán)節(jié)。

為適配不同的運(yùn)動(dòng)場(chǎng)景,H.264引入了多尺寸塊劃分、亞像素運(yùn)動(dòng)估計(jì)以及B幀雙向預(yù)測(cè)等優(yōu)化手段,進(jìn)一步提升了幀間預(yù)測(cè)的效率。

3、整數(shù)DCT:殘差的頻域壓縮

整數(shù)離散余弦變換(DCT)是殘差壓縮的核心步驟,它能將殘差信號(hào)從空間域轉(zhuǎn)換到頻域,使能量集中在少數(shù)低頻分量上。與傳統(tǒng)DCT相比,它摒棄了浮點(diǎn)數(shù)運(yùn)算,不僅降低了計(jì)算開銷,還能保證逆變換的完全可逆性。

變換后,圖像主體對(duì)應(yīng)的低頻分量能量較高,而細(xì)節(jié)對(duì)應(yīng)的高頻分量能量很低。量化過程中可以對(duì)高頻分量進(jìn)行粗粒度處理,以微小的畫質(zhì)損失換取顯著的壓縮比提升。

4、CABAC:高效熵編碼收尾

CABAC是H.264中壓縮效率最高的編碼方式。它根據(jù)編碼符號(hào)的概率分布來分配碼長(zhǎng),概率高的符號(hào)用短碼,概率低的用長(zhǎng)碼,從而實(shí)現(xiàn)無失真壓縮。

5、總結(jié):H.264編碼的技術(shù)協(xié)同效應(yīng)

H.264的高效壓縮能力離不開四大技術(shù)的協(xié)同作用:幀內(nèi)與幀間預(yù)測(cè)分別消除空間和時(shí)間冗余,整數(shù)DCT完成差的頻域壓縮,CABAC負(fù)責(zé)最后的編碼收尾。這一架構(gòu)既保證了壓縮效率,又平衡了畫質(zhì)與計(jì)算成本,也正是H.264長(zhǎng)期占據(jù)主流地位的原因。


三、宏塊劃分與幀分組


作為主流視頻編碼標(biāo)準(zhǔn),H264的高效壓縮能力核心源于宏塊劃分與幀分組兩大技術(shù)。前者聚焦幀內(nèi)空間維度優(yōu)化,后者針對(duì)幀間時(shí)間維度提升效率,二者協(xié)同實(shí)現(xiàn)帶寬占用與畫面質(zhì)量的平衡。

1. 宏塊劃分:幀內(nèi)編碼的“最小操作單元”

宏塊是H264幀內(nèi)編碼的基礎(chǔ)操作單元,其核心作用是通過自適應(yīng)的尺寸劃分策略,消除圖像像素間的空間冗余,從而適配不同區(qū)域的圖像特征。

1.1 基礎(chǔ)宏塊結(jié)構(gòu)

H264的基礎(chǔ)宏塊尺寸為16×16,包含16×16的亮度分量(Y),以及兩個(gè)8×8的色度分量(Cb、Cr),這種結(jié)構(gòu)契合人眼對(duì)亮度更敏感的特性,為后續(xù)差異化編碼策略提供了結(jié)構(gòu)基礎(chǔ)。

1.2 層級(jí)化子宏塊劃分

為匹配圖像細(xì)節(jié)差異,16×16基礎(chǔ)宏塊可進(jìn)一步劃分為更小的子塊,具體劃分為幀內(nèi)與幀間兩類:

幀內(nèi)劃分:主要用于I幀,支持16×16、8×8、4×4三種尺寸,可分別適配平坦區(qū)域高效壓縮與細(xì)節(jié)區(qū)域畫質(zhì)保留的需求。

幀間劃分:適用于P幀與B幀,在幀內(nèi)尺寸基礎(chǔ)上新增8×16、16×8矩形劃分,更貼合運(yùn)動(dòng)物體的不規(guī)則輪廓。

1.3 宏塊劃分的核心意義

這種自適應(yīng)劃分機(jī)制能為不同圖像區(qū)域分配最優(yōu)尺寸,在編碼效率與畫面質(zhì)量之間取得最優(yōu)平衡,是H264壓縮性能提升的關(guān)鍵。

2. 幀分組:幀間關(guān)聯(lián)的“時(shí)間維度管理”

幀分組是H264從時(shí)間維度組織視頻幀的核心,通過按編碼依賴關(guān)系劃分幀組,結(jié)合幀間預(yù)測(cè)機(jī)制消除視頻序列的時(shí)間冗余,其結(jié)構(gòu)設(shè)計(jì)直接影響編碼效率、解碼延遲與隨機(jī)訪問性能。

3. 宏塊劃分與幀分組的協(xié)同關(guān)系

宏塊劃分與幀分組形成H264的“二維優(yōu)化體系”:GOP確立幀間預(yù)測(cè)的整體框架,宏塊劃分則在該框架下完成具體的像素級(jí)預(yù)測(cè)與編碼執(zhí)行,二者協(xié)同構(gòu)建起高效的壓縮能力。


四、幀間壓縮原理


幀間壓縮是視頻編碼核心技術(shù),利用相鄰幀,記錄幀間差異實(shí)現(xiàn)壓縮,核心為組內(nèi)宏塊查找、運(yùn)動(dòng)估算、運(yùn)動(dòng)矢量與補(bǔ)償壓縮三步。

1 組內(nèi)宏塊查找

視頻先劃分為I/P/B幀組成的GOP。此步驟將待壓縮幀拆分為16×16等規(guī)格宏塊,在參考幀內(nèi)查找最相似候選塊。

2 運(yùn)動(dòng)估算

運(yùn)動(dòng)估算為核心環(huán)節(jié),通過計(jì)算當(dāng)前宏塊與參考幀匹配塊的位移,生成運(yùn)動(dòng)矢量,以最小化像素差、捕捉物體運(yùn)動(dòng)軌跡為目標(biāo)。

塊匹配算法應(yīng)用最廣,通過SAD、MSE等指標(biāo)篩選最優(yōu)位移。估算精度直接影響壓縮效果。

3 運(yùn)動(dòng)矢量與補(bǔ)償壓縮

該步驟分運(yùn)動(dòng)補(bǔ)償與差值壓縮:前者用運(yùn)動(dòng)矢量提取參考宏塊生成預(yù)測(cè)宏塊,得到僅含細(xì)節(jié)變化的殘差數(shù)據(jù);后者對(duì)殘差進(jìn)一步處理。

經(jīng)DCT變換、量化、哈夫曼編碼去除冗余,運(yùn)動(dòng)矢量經(jīng)編碼存儲(chǔ)。最終壓縮數(shù)據(jù)僅含兩者,壓縮比大幅提升。

幀間壓縮通過“宏塊查找—運(yùn)動(dòng)估算—運(yùn)動(dòng)補(bǔ)償—?dú)埐顗嚎s”流程剔除時(shí)間冗余,是高清視頻低碼率傳輸存儲(chǔ)的關(guān)鍵。


五、幀內(nèi)壓縮原理

1、幀內(nèi)壓縮的核心目標(biāo)

幀內(nèi)壓縮是圖視壓縮基礎(chǔ)技術(shù),僅依托單幀自身像素信息壓縮,通過挖掘單幀冗余縮減數(shù)據(jù),本質(zhì)是單幀獨(dú)立優(yōu)化。

保證視覺效果的同時(shí)減縮數(shù)據(jù)量;維持單幀獨(dú)立性以支持單獨(dú)解碼與隨機(jī)訪問;平衡編解碼復(fù)雜度、壓縮效率與硬件適配性。

2、幀內(nèi)壓縮的核心技術(shù)路徑

幀內(nèi)壓縮核心是去除圖像冗余,遵循“預(yù)測(cè)-變換-量化-熵編碼”的技術(shù)路徑。

2.1 冗余信息的識(shí)別:壓縮的前提

壓縮首先要識(shí)別冗余:相鄰像素特性相近產(chǎn)生空間冗余;人眼對(duì)高頻細(xì)節(jié)、色度不敏感形成視覺冗余;像素值分布不均則帶來編碼冗余。

2.2 核心壓縮步驟:從冗余去除到數(shù)據(jù)精簡(jiǎn)

(1)幀內(nèi)預(yù)測(cè)編碼:降低空間冗余的核心

幀內(nèi)預(yù)測(cè)是降冗余關(guān)鍵,參考已編碼相鄰像素預(yù)測(cè)當(dāng)前區(qū)域值,僅存儲(chǔ)“預(yù)測(cè)與實(shí)際值的殘差”,大幅減少數(shù)據(jù)量。

預(yù)測(cè)分方向性與非方向性模式,編碼器擇優(yōu)選取。

(2)變換編碼:集中能量,便于后續(xù)壓縮

變換編碼將空間域數(shù)據(jù)轉(zhuǎn)至頻率域聚能,常用離散余弦變換及整數(shù)離散余弦變換。

DCT使能量“低頻集中、高頻稀疏”,整數(shù)DCT規(guī)避浮點(diǎn)數(shù)運(yùn)算,適配性更佳。

(3)量化:可控?fù)p失,平衡質(zhì)量與壓縮比

量化是有損壓縮核心,步長(zhǎng)決定畫質(zhì)與壓縮比;量化矩陣對(duì)低頻用小步長(zhǎng)、高頻用大步長(zhǎng),適配人眼特性。

(4)熵編碼:無損壓縮,進(jìn)一步精簡(jiǎn)比特流

熵編碼實(shí)現(xiàn)無損壓縮,進(jìn)一步精簡(jiǎn)比特流,常用哈夫曼編碼、算術(shù)編碼及CABAC編碼。

哈夫曼編碼常用于JPEG;算術(shù)編碼高效但復(fù)雜;CABAC是主流視頻標(biāo)準(zhǔn)核心技術(shù)。

3、幀內(nèi)壓縮的技術(shù)特點(diǎn)

3.1 獨(dú)立性強(qiáng),抗誤碼能力優(yōu)

幀內(nèi)壓縮幀可獨(dú)立解碼,抗誤碼性優(yōu),支持隨機(jī)訪問,適配視頻編輯、快進(jìn)快退等操作。

3.2 壓縮比與畫質(zhì)的可調(diào)節(jié)性

調(diào)整量化步長(zhǎng)等參數(shù)可靈活平衡畫質(zhì)與壓縮比,適配高清傳輸、監(jiān)控存儲(chǔ)等場(chǎng)景。

3.3 計(jì)算復(fù)雜度適中,適配性廣

其流程簡(jiǎn)潔、復(fù)雜度適中,在服務(wù)器、手機(jī)、監(jiān)控?cái)z像頭等各類設(shè)備中均能高效運(yùn)行。


六、DCT壓縮


1. 技術(shù)定義與核心邏輯

DCT壓縮是主流的有損多媒體壓縮技術(shù),核心邏輯是利用人眼對(duì)高頻細(xì)節(jié)敏感度低的特性,將數(shù)據(jù)從空間域轉(zhuǎn)換至頻率域,通過剔除冗余高頻信息縮減體積,同時(shí)保留低頻核心信息。

2. DCT變換的核心特性

DCT的核心優(yōu)勢(shì)是能量集中性,變換后數(shù)據(jù)能量聚集于低頻系數(shù),高頻系數(shù)多為無效值。與DFT相比,它無需復(fù)數(shù)運(yùn)算、計(jì)算高效,對(duì)圖像等實(shí)值數(shù)據(jù)壓縮效果更優(yōu)。

3 核心壓縮流程

DCT壓縮遵循“分塊-變換-量化-編碼”四步流程。

4. 技術(shù)局限與優(yōu)化方向

DCT壓縮的主要局限是高壓縮比下易出現(xiàn)“塊效應(yīng)”。當(dāng)前優(yōu)化方向包括:重疊塊變換消除邊界痕跡;按需調(diào)整壓縮力度;H.265標(biāo)準(zhǔn)將其與整數(shù)變換融合,提升效率與硬件適配性。


七、VLC壓縮(無損壓縮)


VLC無損壓縮核心是不破壞音視頻原始數(shù)據(jù),僅通過優(yōu)化文件結(jié)構(gòu)、刪除冗余信息縮減體積,完整保留畫質(zhì)音質(zhì)與編碼信息,適用于素材備份、影像歸檔等場(chǎng)景。壓縮率取決于原文件格式,未優(yōu)化的AVI、MOV比封裝完善的MP4壓縮空間更大。

?無損壓縮的核心特征

數(shù)據(jù)零損耗:壓縮后分辨率、幀率等參數(shù)與原文件一致,畫質(zhì)音質(zhì)無損,可直接用于二次編輯。

僅優(yōu)化封裝:僅整合音視頻流、刪除設(shè)備附加冗余信息,不修改音視頻編碼核心數(shù)據(jù)。

壓縮率有限:體積縮減幅度通常10%-30%,F(xiàn)LAC、ProRes等優(yōu)化格式壓縮率可能低于5%。


八、結(jié)構(gòu)與編碼分層


?H264結(jié)構(gòu)

H264碼流采用分層架構(gòu),能靈活適配各類傳輸網(wǎng)絡(luò)與存儲(chǔ)場(chǎng)景。核心由三部分組成:序列參數(shù)集、圖像參數(shù)集及編碼圖像數(shù)據(jù),三者協(xié)同實(shí)現(xiàn)圖像信息的高效傳輸與解析。

SPS是碼流的“全局配置指南”,位于碼流前端,定義視頻分辨率、幀率、碼率、參考幀數(shù)、熵編碼模式等核心參數(shù)。

PPS依賴SPS,聚焦單幀“個(gè)性化配置”,每幀對(duì)應(yīng)1個(gè)或多個(gè)PPS,包含切片劃分、宏塊量化偏移、幀內(nèi)預(yù)測(cè)模式等參數(shù)

編碼圖像數(shù)據(jù)是核心內(nèi)容載體。傳輸時(shí)以“切片”為基本單元,切片由若干宏塊組成。切片設(shè)計(jì)使單幀局部損壞不影響整體解碼,顯著提升碼流抗誤碼能力。

H264編碼分層

H264編碼采用“視頻編碼層+網(wǎng)絡(luò)抽象層”雙層架構(gòu),通過解耦“壓縮”與“傳輸”功能,適配IP網(wǎng)、廣播網(wǎng)及存儲(chǔ)場(chǎng)景,成為主流標(biāo)準(zhǔn)。

VCL是“壓縮核心”,通過去除空間、時(shí)間、視覺冗余實(shí)現(xiàn)高效壓縮。流程核心為:預(yù)處理→ 幀內(nèi)/幀間預(yù)測(cè)→ 殘差變換與量化→ CAVLC/CABAC熵編碼,最終輸出高壓縮比的編碼數(shù)據(jù)。

NAL是“適配橋梁”,將VCL數(shù)據(jù)封裝為“NAL單元”。單元含1字節(jié)頭部和負(fù)載數(shù)據(jù),實(shí)現(xiàn)編碼數(shù)據(jù)與網(wǎng)絡(luò)的適配。

NAL層適配性極強(qiáng):實(shí)時(shí)傳輸時(shí)封裝為RTP包,存儲(chǔ)時(shí)按MP4/MKV組織,廣播場(chǎng)景適配TS流。其“一套編碼、多場(chǎng)景適配”特性,使H264無需修改核心邏輯即可跨場(chǎng)景應(yīng)用。


九、H264碼流


H264是主流視頻編碼標(biāo)準(zhǔn),其碼流為編碼后結(jié)構(gòu)化視頻數(shù)據(jù),是視頻存?zhèn)鹘獯a的核心載體,對(duì)視頻領(lǐng)域至關(guān)重要。

1. H264碼流的核心定義與價(jià)值

H264碼流是原始視頻經(jīng)H264編碼的二進(jìn)制流,本質(zhì)是去冗余后的緊湊數(shù)據(jù)。

2 .H264碼流的分層結(jié)構(gòu)

H264碼流分VCL與NAL,解耦編碼與傳輸,提升兼容性。

2.1 視頻編碼層

VCL負(fù)責(zé)視頻核心壓縮,輸出視覺信息編碼單元,目標(biāo)是最大化壓縮效率。

2.2 網(wǎng)絡(luò)適配層

NAL為VCL與網(wǎng)絡(luò)的橋梁,封裝編碼數(shù)據(jù)為NAL單元

NAL頭:1~2字節(jié),標(biāo)識(shí)單元類型、優(yōu)先級(jí)。

NAL負(fù)載:承載VCL數(shù)據(jù)或SPS/PPS等控制信息。

3. H264碼流的核心組成單元

碼流核心NAL單元為SPS、PPS及I/P/B幀,協(xié)同傳遞視頻信息。

3.1 參數(shù)集單元

SPS與PPS是解碼核心控制單元,多位于碼流起始。

SPS:含分辨率、幀率等全局參數(shù),缺失則解碼失敗。

PPS:依賴SPS,含單幀參數(shù),可多幀共享。

3.2 圖像幀單元

I/P/B幀是視覺核心,通過幀間預(yù)測(cè)壓縮,構(gòu)成碼流“預(yù)測(cè)鏈”。

I幀:關(guān)鍵幀,獨(dú)立編碼,體積大但可恢復(fù)解碼。

P幀:依賴前幀,編碼運(yùn)動(dòng)矢量與殘差,體積小。

B幀:雙向預(yù)測(cè),體積最小,解碼復(fù)雜度高。

3.3 片與宏塊

幀劃分為片,片由16x16宏塊組成,宏塊是編碼基本單元。

片實(shí)現(xiàn)錯(cuò)誤隔離,支持獨(dú)立編解碼,提升處理效率。

4. H264碼流的關(guān)鍵技術(shù)特性

4.1 幀內(nèi)預(yù)測(cè)與幀間預(yù)測(cè)結(jié)合

幀內(nèi)與幀間預(yù)測(cè)結(jié)合,大幅減冗余。

4.2 熵編碼優(yōu)化

支持CAVLC與CABAC,按需選擇。

4.3 靈活的碼率控制

支持CBR/VBR等模式,依畫面復(fù)雜度動(dòng)態(tài)調(diào)碼率,平衡質(zhì)量與帶寬。

H264碼流是主流視頻載體,雖H265壓縮更優(yōu),但H264生態(tài)成熟,仍將長(zhǎng)期占據(jù)重要地位。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容