視頻相關(guān)的理論知識(shí)與基礎(chǔ)概念

本文將視頻相關(guān)的理論知識(shí)與基礎(chǔ)概念劃分為 11 個(gè)知識(shí)點(diǎn)恋捆,如下:

  • 視頻
  • 分辨率
  • 比特率
  • 采樣率
  • 幀率
  • 視頻編碼
  • 編碼標(biāo)準(zhǔn)
  • 視頻封裝格式
  • 視頻解碼
  • 視頻播放原理
  • 視頻與流媒體

1.視頻

根據(jù)人眼視覺(jué)暫留原理拾因,每秒超過(guò) 24 幀的圖像變化看上去是平滑連續(xù)的瘪贱,這樣的連續(xù)畫(huà)面叫視頻。

2.分辨率

分辨率是以橫向和縱向的像素?cái)?shù)量來(lái)衡量的赐写,表示平面圖像的精細(xì)程度恩闻。視頻精細(xì)程度并不只取決于視頻分辨率右蒲,還取決于屏幕分辨率葫录。
1080P 的 P 指 Progressive scan(逐行掃描)蔼夜,即垂直方向像素點(diǎn),也就是 "高"压昼,所以 1920X1080 叫 1080P求冷, 不叫 1920P。
當(dāng) 720P 的視頻在 1080P 屏幕上播放時(shí)窍霞,需要將圖像放大匠题,放大操作也叫上采樣。
上采樣幾乎都是采用內(nèi)插值方法但金,即在原有圖像的像素點(diǎn)之間采用合適的插值算法插入新的元素韭山,所以圖像放大也稱(chēng)為圖像插值。
簡(jiǎn)單的記錄一下插值算法:


image.png

(1)鄰插值算法:
將四個(gè)像素(放大一倍)用原圖一個(gè)像素的顏色填充冷溃,較簡(jiǎn)單易實(shí)現(xiàn)钱磅,早期的時(shí)候應(yīng)用比較普遍,但會(huì)產(chǎn)生明顯的鋸齒邊緣和馬賽克現(xiàn)象似枕。
(2)雙線(xiàn)性插值法:
是對(duì)鄰插值法的一種改進(jìn)盖淡,先對(duì)兩水平方向進(jìn)行一階線(xiàn)性插值,再在垂直方向上進(jìn)行一階線(xiàn)性插值凿歼。能有效地彌補(bǔ)鄰插值算法的不足褪迟,但還存在鋸齒現(xiàn)象并會(huì)導(dǎo)致一些不期望的細(xì)節(jié)柔化。
(3)雙三次插值法:
是對(duì)雙線(xiàn)性插值法的改進(jìn)答憔,它不僅考慮到周?chē)膫€(gè)直接相鄰像素點(diǎn)灰度值的影響味赃,還考慮到它們灰度值變化率的影響,使插值生成的像素灰度值延續(xù)原圖像灰度變化的連續(xù)性虐拓,從而使放大圖像濃淡變化自然平滑心俗。

除此之外還有很多更復(fù)雜效果更優(yōu)的算法,比如小波插值蓉驹、分形等等城榛。

當(dāng) 1080P 的視頻在 720P 屏幕上播放時(shí),需要將圖像縮小戒幔,縮小操作也叫下采樣吠谢。

下采樣的定義為:對(duì)于一個(gè)樣值序列,間隔幾個(gè)樣值取樣一次诗茎,得到新序列工坊。
對(duì)于一幅分辨率為 MN 的圖像,對(duì)其進(jìn)行 s 倍下采樣敢订,即得到 (M/s)(N/s) 分辨率的圖像(s 應(yīng)為 M王污、N 的公約數(shù)),就是把原始圖像 s*s 窗口內(nèi)的圖像變成一個(gè)像素楚午,這個(gè)像素點(diǎn)的值就是窗口內(nèi)所有像素的均值昭齐。

最佳體驗(yàn)為屏幕與視頻分辨率相同且全屏播放,視頻分辨率過(guò)高的話(huà)屏幕沒(méi)有能力去呈現(xiàn)矾柜,視頻分辨率過(guò)低的話(huà)無(wú)法發(fā)揮屏幕的能力阱驾。

3.比特率

比特率即碼率就谜,在不同領(lǐng)域有不同的含義,在多媒體領(lǐng)域里覆,指單位時(shí)間播放音頻或視頻的比特?cái)?shù)丧荐,可以理解成吞吐量或帶寬。

單位為 bps , 即 bits per second喧枷,每秒傳輸?shù)臄?shù)據(jù)量虹统,常用單位有:kbps、mbps 等隧甚。

計(jì)算公式:碼率(kbps)= 文件大谐道蟆(kb)/ 時(shí)長(zhǎng)(s)
通俗一點(diǎn)理解就是取樣率,取樣率越大戚扳,精度就越高忧便,圖像質(zhì)量越好,但數(shù)據(jù)量也越大咖城,所以要找到一個(gè)平衡點(diǎn):用最低的比特率達(dá)到最少的失真茬腿。
在一個(gè)視頻中,不同時(shí)段畫(huà)面的復(fù)雜程度是不同的宜雀,比如高速變化的場(chǎng)景和幾乎靜止的場(chǎng)景切平,所需的數(shù)據(jù)量也是不同的,若都使用同一種比特率是不太合理的辐董,所以引入了動(dòng)態(tài)比特率悴品。

(1)動(dòng)態(tài)比特率
簡(jiǎn)稱(chēng)為 VBR,即 Variable Bit Rate简烘,比特率可以隨著圖像復(fù)雜程度的不同而隨之變化苔严。
圖像內(nèi)容簡(jiǎn)單的片段采用較小的碼率,圖像內(nèi)容復(fù)雜的片段采用較大的碼率孤澎,這樣既保證了播放質(zhì)量届氢,又兼顧了數(shù)據(jù)量的限制。
比如 RMVB 視頻文件覆旭,其中的 VB 就是指 VBR退子,表示采用動(dòng)態(tài)比特率編碼方式,達(dá)到播放質(zhì)量與體積兼得的效果型将。

(2)靜態(tài)比特率
簡(jiǎn)稱(chēng)為 CBR寂祥,即 Constant Bit Rate,比特率恒定七兜。
圖像內(nèi)容復(fù)雜的片段質(zhì)量不穩(wěn)定丸凭,圖像內(nèi)容簡(jiǎn)單的片段質(zhì)量較好。
上面列出的計(jì)算公式顯然是針對(duì) CBR ,除 VBR 和 CBR 外惜犀,還有 CVBR(Constrained VariableBit Rate) 铛碑、ABR (Average Bit Rate) 等等。

4.采樣率

定義:每秒從連續(xù)信號(hào)中提取并組成離散信號(hào)的采樣個(gè)數(shù)向拆,單位為赫茲(Hz)亚茬。
對(duì)于取樣率、采樣率和抽樣率浓恳,沒(méi)必要糾結(jié)它們的區(qū)別,都是同義詞碗暗。
(1)音頻中的采樣率
指把音頻信號(hào)數(shù)字化后 1 個(gè)通道 1 秒鐘采取多少個(gè)樣本颈将,如 44.1kHz 的采樣率,就是指 1 個(gè)通道 1 秒鐘有 44.1k 個(gè)數(shù)據(jù)言疗。
(2)視頻中的采樣率
視頻一般不標(biāo)識(shí)采樣率屬性晴圾,比如:


image.png

采樣率本身就是一個(gè)可泛化的概念,對(duì)于視頻來(lái)說(shuō)噪奄,若非要用采樣率來(lái)描述的話(huà)死姚,那就要分為兩個(gè)層面:幀頻和場(chǎng)頻。
從幀頻層面來(lái)說(shuō)勤篮,采樣率就是指幀率都毒,指 1 秒鐘顯示多少幀圖像。
從場(chǎng)頻層面來(lái)說(shuō)碰缔,采樣率就是指像素頻率账劲,指 1 秒鐘顯示多少個(gè)像素。
像素頻率是顯示器的一個(gè)指標(biāo)金抡,可以理解成顯示器的最大帶寬瀑焦,可以起到限制分辨率和刷新率的作用,根據(jù)含義可得出一個(gè)公式:
像素頻率 = 幀率 X 幀像素?cái)?shù)量
對(duì)于:


image.png

幀率 = 138.5 x 1024 x 1024 / 1920 / 1080 ≈ 70.04 梗肝, 得出的 70Hz 為正常的幀率范圍榛瓮,也可以反向確定對(duì)像素頻率的理解是正確的。

5.幀率

定義:用于測(cè)量顯示幀數(shù)的量度巫击。單位為 FPS(Frames per Second禀晓,每秒顯示幀數(shù))或赫茲(Hz)。
幀率越高喘鸟,畫(huà)面越流暢匆绣、逼真,對(duì)顯卡的處理能力要求越高什黑,數(shù)據(jù)量越大崎淳。
1 中提到每秒超過(guò) 24 幀的圖像變化看上去是平滑連續(xù)的,這是針對(duì)電影等視頻而言愕把,對(duì)游戲來(lái)說(shuō) 24 幀是不流暢的拣凹。
為什么 24fps 的電影感覺(jué)流暢森爽,而 24fps 的游戲就感覺(jué)很卡呢?
第一個(gè)原因:兩者圖像生成原理不同
電影的一幀在一段時(shí)間曝光嚣镜,每一幀都包含一段時(shí)間的信息爬迟,而游戲的畫(huà)面則是由顯卡計(jì)算生成的,一幀只包含那一瞬間的信息菊匿。
比如一個(gè)圓從左上角移動(dòng)到右下角:


image.png

前者為電影的一幀付呕,后者為游戲的一幀,可以看到在電影中動(dòng)作會(huì)出現(xiàn)拖影跌捆,給人以動(dòng)感的效果徽职,連貫而不卡。
第二個(gè)原因:電影的FPS是穩(wěn)定的佩厚,而游戲則是不穩(wěn)定的
電影若為 24fps姆钉,那就表示每隔 1/24 秒刷新一次畫(huà)面,幀間隔是固定的抄瓦。
游戲若為 60fps潮瓶,表示大約每隔 1/60 秒刷新一次畫(huà)面,幀間隔是不穩(wěn)定的钙姊,即使 1 秒能顯示 60 幀毯辅,那也可能是前半秒顯示了 59 幀,后半秒顯示了 1 幀摸恍。

6.視頻編碼

定義:通過(guò)特定的壓縮技術(shù)悉罕,將某個(gè)視頻格式的文件轉(zhuǎn)換成另一種視頻格式。
視頻數(shù)據(jù)在時(shí)域和空域?qū)用娑加袠O強(qiáng)的相關(guān)性立镶,這也表示有大量的時(shí)域冗余信息和空域冗余信息壁袄,壓縮技術(shù)就是去掉數(shù)據(jù)中的冗余信息。

(1)去除時(shí)域冗余信息
運(yùn)動(dòng)補(bǔ)償:通過(guò)先前的局部圖像來(lái)預(yù)測(cè)媚媒、補(bǔ)償當(dāng)前的局部圖像嗜逻,可有效減少幀序列冗余信息。
運(yùn)動(dòng)表示:不同區(qū)域的圖像使用不同的運(yùn)動(dòng)矢量來(lái)描述運(yùn)動(dòng)信息缭召,運(yùn)動(dòng)矢量通過(guò)熵編碼進(jìn)行壓縮(熵編碼在編碼過(guò)程中不會(huì)丟失信息)栈顷。
運(yùn)動(dòng)估計(jì):從視頻序列中抽取運(yùn)動(dòng)信息。
通用的壓縮標(biāo)準(zhǔn)使用基于塊的運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償嵌巷。

(2)去除空域冗余信息
變換編碼:將空域信號(hào)變換到另一正交矢量空間萄凤,使其相關(guān)性下降,數(shù)據(jù)冗余度減小搪哪。
量化編碼:對(duì)變換編碼產(chǎn)生的變換系數(shù)進(jìn)行量化靡努,控制編碼器的輸出位率。
熵編碼: 對(duì)變換、量化后得到的系數(shù)和運(yùn)動(dòng)信息惑朦,進(jìn)行進(jìn)一步的無(wú)損壓縮兽泄。
視頻壓縮編碼技術(shù)可分為兩大類(lèi):無(wú)損壓縮和有損壓縮。
(1)無(wú)損壓縮
無(wú)損壓縮也稱(chēng)為可逆編碼漾月,重構(gòu)后的數(shù)據(jù)與原數(shù)據(jù)完全相同病梢,適用于磁盤(pán)文件的壓縮等。
主要采用熵編碼方式梁肿,包括香農(nóng)編碼蜓陌、哈夫曼編碼和算術(shù)編碼等。
<1>香農(nóng)編碼
香農(nóng)編碼采用信源符號(hào)的累計(jì)概率分布函數(shù)來(lái)分配碼字吩蔑,效率不高护奈,實(shí)用性不大,但對(duì)其他編碼方法有很好的理論指導(dǎo)意義哥纫。
<2>哈夫曼編碼
哈夫曼編碼完全依據(jù)出現(xiàn)概率來(lái)構(gòu)造異字頭的平均長(zhǎng)度最短的碼字。
基本方法為:先對(duì)圖像數(shù)據(jù)掃描一遍痴奏,計(jì)算出各種像素出現(xiàn)的概率蛀骇,按概率的大小指定不同長(zhǎng)度的唯一碼字,由此得到一張?jiān)搱D像的霍夫曼碼表读拆。
編碼后的圖像數(shù)據(jù)記錄的是每個(gè)像素的碼字擅憔,而碼字與實(shí)際像素值的對(duì)應(yīng)關(guān)系記錄在碼表中。
<3>算術(shù)編碼
算術(shù)編碼是用符號(hào)的概率和編碼間隔兩個(gè)基本參數(shù)來(lái)描述的檐晕,在給定符號(hào)集和符號(hào)概率的情況下暑诸,算術(shù)編碼可以給出接近最優(yōu)的編碼結(jié)果。
使用算術(shù)編碼的壓縮算法通常先要對(duì)輸入符號(hào)的概率進(jìn)行估計(jì)辟灰,然后再編碼个榕,估計(jì)越準(zhǔn),編碼結(jié)果就越接近最優(yōu)的結(jié)果芥喇。
(2)有損壓縮
有損壓縮也稱(chēng)為不可逆編碼西采,重構(gòu)后的數(shù)據(jù)與原數(shù)據(jù)有差異,適用于任何允許有失真的場(chǎng)景继控,例如視頻會(huì)議械馆、可視電話(huà)、視頻廣播武通、視頻監(jiān)控等霹崎。
編碼方式包括預(yù)測(cè)編碼、變換編碼冶忱、量化編碼尾菇、混合編碼等。

7.編碼標(biāo)準(zhǔn)

定義:為保證編碼的正確性,編碼要規(guī)范化错沽、標(biāo)準(zhǔn)化簿晓,所以就有了編碼標(biāo)準(zhǔn)。
研制視頻編碼標(biāo)準(zhǔn)的有兩大正式組織:ISO/IEC(國(guó)際標(biāo)準(zhǔn)化組織)千埃、ITU-T(國(guó)際電信聯(lián)盟通信標(biāo)準(zhǔn)部)憔儿。
ISO/IEC 制定的編碼標(biāo)準(zhǔn)有:MPEG-1、MPEG-2放可、MPEG-4谒臼、MPEG-7、MPEG-21 和 MPEG-H 等耀里。
ITU-T 制定的編碼標(biāo)準(zhǔn)有:H.261蜈缤、H.262、H.263冯挎、H.264 和 H.265 等底哥。
MPEG-x 和 H.26x 標(biāo)準(zhǔn)的視頻編碼都是采用有損壓縮的混合編碼方式,主要區(qū)別在于處理圖像的分辨率房官、預(yù)測(cè)精度趾徽、搜索范圍、量化步長(zhǎng)等參數(shù)的不同翰守,所以其應(yīng)用場(chǎng)合也不同孵奶。
MPEG-x 系列:
(1)MPEG-1
MPEG-1 共 5 部分。
第 2 部分視頻編碼方案蜡峰,規(guī)定了逐行掃描視頻的編碼方案了袁。
第 3 部分音頻編碼方案,將音頻流的壓縮分為 3 層并依次增大壓縮比湿颅,廣為流傳的 MP3(MPEG-1 Layer 3)就是按照此部分編碼方案壓縮之后的文件格式载绿。
(2)MPEG-2
MPEG-2 共 11 個(gè)部分,在 MPEG-1 的基礎(chǔ)上提高了碼率和質(zhì)量肖爵。
第 2 部分視頻編碼方案卢鹦,規(guī)定了隔行掃描視頻的編碼方案,是和 ITU-T 共同開(kāi)發(fā)的劝堪,ITU-T 稱(chēng)其為 H.262冀自。
第 3 部分音頻編碼方案,延續(xù)了 MPEG-1 的 3 層壓縮方案秒啦,壓縮后文件格式仍未 MP3熬粗,但在壓縮算法上有所改進(jìn)。
第 7 部分首次提出 AAC(MPEG Advanced Audio Coding)編碼余境,目的以更小的容量和更好的音質(zhì)取代 MP3 格式驻呐。
(3)MPEG-4
MPEG-4 共 27 個(gè)部分灌诅,更加注重多媒體系統(tǒng)的交互性和靈活性。
第 3 部分音頻編碼方案含末,優(yōu)化了 AAC 編碼算法猜拾,并在推出后逐漸取代 MP3,比如和視頻封裝在一起的音頻優(yōu)先考慮 AAC 格式佣盒,但就民用而言大部分還是使用 MP3 格式挎袜。
第 10 部分提出 AVC(Advanced Video Coding)編碼,是和 ITU-T 共同開(kāi)發(fā)的肥惭,ITU-T 稱(chēng)其為 H.264盯仪。
第 14 部分提出了 MP4 格式封裝,官方文件后綴名是 ".mp4"蜜葱,還有其他的以 mp4 為基礎(chǔ)進(jìn)行的擴(kuò)展或縮水版本的格式全景,包括:M4V, 3GP, F4V 等。
(4)MPEG-7
MPEG-7 不同于 MPEG-1牵囤、MPEG-2爸黄、MPEG-4,它不是音視頻壓縮標(biāo)準(zhǔn)揭鳞。
MPEG-7 被稱(chēng)為 "多媒體內(nèi)容描述接口"馆纳,目的就是產(chǎn)生一種描述多媒體信息的標(biāo)準(zhǔn),并將該描述與所描述的內(nèi)容相聯(lián)系汹桦,以實(shí)現(xiàn)快速有效的檢索。
(5)MPEG-12
MPEG-12 其實(shí)就是一些關(guān)鍵技術(shù)的集成鉴裹,通過(guò)這種集成環(huán)境對(duì)全球數(shù)字媒體資源進(jìn)行管理舞骆,實(shí)現(xiàn)內(nèi)容描述、創(chuàng)建径荔、發(fā)布督禽、使用、識(shí)別总处、收費(fèi)管理狈惫、版權(quán)保護(hù)等功能。
(6)MPEG-H
MPEG-H 包含了 1 個(gè)數(shù)字容器標(biāo)準(zhǔn)鹦马、1 個(gè)視頻壓縮標(biāo)準(zhǔn)胧谈、1 個(gè)音頻壓縮標(biāo)準(zhǔn)和 2 個(gè)一致性測(cè)試標(biāo)準(zhǔn)。
其中視頻壓縮標(biāo)準(zhǔn)為高效率視頻編碼(HEVC)荸频,和 ITU-T 聯(lián)合開(kāi)發(fā)菱肖,相比 H.264/MPEG-4 AVC 數(shù)據(jù)壓縮率增加了 1 倍。
H.26x 系列:
(1)H.261
H.261 是第一個(gè)實(shí)用的數(shù)字視頻編碼標(biāo)準(zhǔn)旭从,使用了混合編碼框架稳强,包括了基于運(yùn)動(dòng)補(bǔ)償?shù)膸g預(yù)測(cè)场仲,基于離散余弦變換的空域變換編碼,量化退疫,zig-zag 掃描和熵編碼渠缕。
H.261 的設(shè)計(jì)相當(dāng)成功,之后的視頻編碼國(guó)際標(biāo)準(zhǔn)基本上都是基于 H.261 的設(shè)計(jì)框架褒繁,包括 MPEG-1亦鳞,MPEG-2/H.262,H.263澜汤,甚至 H.264蚜迅。
(2)H.262
H.262 由 MPEG-1 擴(kuò)充而來(lái),支持隔行掃描俊抵,在技術(shù)內(nèi)容上和 MPEG-2 視頻標(biāo)準(zhǔn)一致谁不,DVD 就是采用了該技術(shù)。
(3)H.263
H.263 是一種用于視頻會(huì)議的低碼率視頻編碼標(biāo)準(zhǔn)徽诲,在 H.261 基礎(chǔ)上發(fā)展而來(lái)刹帕。
與 H.261 相比采用了半象素的運(yùn)動(dòng)補(bǔ)償,并增加了 4 種有效的壓縮編碼模式谎替,在低碼率下能夠提供比 H.261 更好的圖像效果偷溺。
H.263 于 1995 年推出第一版,后續(xù)在 1998 年和 2000 年還推出了第二版 H.263+钱贯、第三版 H.263++ 挫掏。
(4)H.264
H.264 又稱(chēng)為 MPEG-4 第 10 部分,即 MPEG-4 AVC秩命,它是一種面向塊尉共,基于運(yùn)動(dòng)補(bǔ)償?shù)囊曨l編碼標(biāo)準(zhǔn)。
于 2003 年正式發(fā)布弃锐,現(xiàn)在已經(jīng)成為高精度視頻錄制袄友、壓縮和發(fā)布的最常用格式之一。
H.264 可以在低碼率情況下提供高質(zhì)量的視頻圖像霹菊,相比 H.263 可節(jié)省 50% 的碼率剧蚣。
相比 H.263,H.264 不需設(shè)置較多的編碼選項(xiàng)旋廷,降低了編碼的復(fù)雜度鸠按。
H.264 可以根據(jù)不同的環(huán)境使用不同的傳輸和播放速率,并且提供了豐富的錯(cuò)誤處理工具饶碘,可以很好的控制或消除丟包和誤碼待诅。
H.264 性能的改進(jìn)是以增加復(fù)雜性為代價(jià)而獲得的,H.264 編碼的計(jì)算復(fù)雜度大約相當(dāng)于 H.263 的 3 倍熊镣,解碼復(fù)雜度大約相當(dāng)于 H.263 的 2 倍卑雁。
H.264 協(xié)議中定義了三種幀募书,分別為 I 幀、P 幀以及 B 幀测蹲。
<1>I 幀
I幀即幀內(nèi)編碼幀莹捡、關(guān)鍵幀,可以理解為一幀畫(huà)面的完整保留扣甲,解碼時(shí)只需要本幀數(shù)據(jù)就可以完成篮赢,不需要參考其他畫(huà)面,數(shù)據(jù)量比較大琉挖。
<2>P 幀
P幀即前向預(yù)測(cè)編碼幀启泣,記錄當(dāng)前幀跟上一關(guān)鍵幀(或P幀)的差別,解碼時(shí)依賴(lài)之前緩存的畫(huà)面示辈,疊加上本幀定義的差別寥茫,才能生成最終畫(huà)面,數(shù)據(jù)量較 I 幀小很多矾麻。
<3>B 幀
B幀即雙向預(yù)測(cè)編碼幀纱耻,記錄當(dāng)前幀跟前后幀的差別,解碼時(shí)依賴(lài)前面的I幀(或P幀)和后面的P幀,數(shù)據(jù)量比I幀和P幀小很多。
數(shù)據(jù)壓縮比大約為: I幀:P幀:B幀 = 7:20:50江场,可見(jiàn) P 幀和 B 幀極大的節(jié)省了數(shù)據(jù)量,節(jié)省出來(lái)的空間可以用來(lái)多保存一些 I 幀蘑志,以實(shí)現(xiàn)在相同碼率下,提供更好的畫(huà)質(zhì)贬派。
(5)H.265
H.265 即高效視頻編碼(High Efficiency Video Coding 卖漫,簡(jiǎn)稱(chēng) HEVC),于 2013 年正式推出赠群。
H.265 編碼架構(gòu)和 H.264 相似,主要也包含旱幼,幀內(nèi)預(yù)測(cè)查描、幀間預(yù)測(cè)、轉(zhuǎn)換柏卤、量化冬三、去區(qū)塊濾波器、熵編碼等模塊缘缚。
H.265 編碼架構(gòu)整體被分為編碼單位勾笆、預(yù)測(cè)單位和轉(zhuǎn)換單位。
H.265 在 H.264 的基礎(chǔ)之上桥滨,使用先進(jìn)的技術(shù)用以改善碼流窝爪、編碼質(zhì)量弛车、延時(shí)和算法復(fù)雜度之間的關(guān)系,達(dá)到最優(yōu)化設(shè)置蒲每。
在碼率減少 51-74% 的情況下纷跛,H.265 編碼視頻的質(zhì)量還能與 H.264 編碼視頻近似甚至更好。
H.265 可以在有限帶寬下傳輸更高質(zhì)量的網(wǎng)絡(luò)視頻邀杏,智能手機(jī)贫奠、平板機(jī)等移動(dòng)設(shè)備將能直接在線(xiàn)播放 1080p 的全高清視頻,讓網(wǎng)絡(luò)視頻跟上了顯示屏 “高分辨率化” 的腳步望蜡。
來(lái)張圖感受一下吧:


image.png

除 MPEG-x 和 H.26x 系列標(biāo)準(zhǔn)外唤崭,還有其他的編碼標(biāo)準(zhǔn),如谷歌的 VP 系列脖律,對(duì)視頻編碼標(biāo)準(zhǔn)歸納一下谢肾,如圖:


image.png

8.視頻封裝格式

視頻封裝格式如 mp4、mkv状您,用來(lái)存儲(chǔ)或傳輸編碼數(shù)據(jù)勒叠,可以理解成一個(gè)容器。

封裝就是按照一定規(guī)則把音視頻膏孟、字幕等數(shù)據(jù)組織起來(lái)眯分,包含編碼類(lèi)型等公共信息,播放器可以按照這些信息來(lái)匹配解碼器柒桑、同步音視頻弊决。

不同的封裝格式支持的視音頻編碼格式是不一樣的,比如 MKV 格式支持比較多魁淳,RMVB 則主要支持 Real 公司的視音頻編碼格式飘诗。

這里列出了常見(jiàn)的視頻封裝格式,可以查看各封裝格式支持的音視頻編碼格式等信息界逛。

9.視頻解碼

定義:將視頻壓縮編碼過(guò)的數(shù)據(jù)昆稿,解壓縮成為視頻原始數(shù)據(jù),即視頻編碼的反過(guò)程息拜。

對(duì)于一個(gè)播放器來(lái)說(shuō)溉潭,很重要的一個(gè)指標(biāo)就是能支持多少種視頻解碼。

10.視頻播放原理

播放一個(gè)本地視頻文件少欺,需要經(jīng)過(guò)解封裝喳瓣,解碼音視頻,音視頻同步等步驟赞别。


image.png

解封裝:就是將輸入的封裝格式的數(shù)據(jù)畏陕,分離成為音頻壓縮編碼數(shù)據(jù)和視頻壓縮編碼數(shù)據(jù)。例如仿滔,F(xiàn)LV 格式的數(shù)據(jù)惠毁,經(jīng)過(guò)解封裝操作后犹芹,輸出 H.264 編碼的視頻碼流和 AAC 編碼的音頻碼流。
解碼:將視頻/音頻壓縮編碼數(shù)據(jù)仁讨,解碼成為非壓縮的視頻/音頻原始數(shù)據(jù)羽莺。音頻的壓縮編碼標(biāo)準(zhǔn)包含 AAC,MP3洞豁,AC-3 等等盐固,視頻的壓縮編碼標(biāo)準(zhǔn)則包含 H.264,MPEG2丈挟,VC-1 等等刁卜。解碼是整個(gè)系統(tǒng)中最重要也是最復(fù)雜的一個(gè)環(huán)節(jié)。通過(guò)解碼曙咽,壓縮編碼的視頻數(shù)據(jù)輸出成為非壓縮的顏色數(shù)據(jù)蛔趴,例如 YUV420P,RGB 等等例朱;壓縮編碼的音頻數(shù)據(jù)輸出成為非壓縮的音頻抽樣數(shù)據(jù)孝情,例如 PCM 數(shù)據(jù)。
視音頻同步:根據(jù)解封裝模塊處理過(guò)程中獲取到的參數(shù)信息洒嗤,同步解碼出來(lái)的視頻和音頻數(shù)據(jù)箫荡,并將視頻音頻數(shù)據(jù)送至系統(tǒng)的顯卡和聲卡播放出來(lái)。

11.視頻與流媒體

上面播放原理中分析的是本地視頻文件渔隶,如果播放的是互聯(lián)網(wǎng)上的視頻羔挡,步驟則為:解協(xié)議,解封裝间唉,解碼音視頻绞灼,音視頻同步,多了一個(gè)解協(xié)議的步驟呈野。
解協(xié)議:將流媒體協(xié)議的數(shù)據(jù)低矮,解析為標(biāo)準(zhǔn)的相應(yīng)的封裝格式數(shù)據(jù)。
視音頻在網(wǎng)絡(luò)上傳播的時(shí)候被冒,常常采用各種流媒體協(xié)議军掂,例如 HTTP,RTMP姆打, MMS 等等。這些協(xié)議在傳輸視音頻數(shù)據(jù)的同時(shí)肠虽,也會(huì)傳輸一些信令數(shù)據(jù)幔戏。
這些信令數(shù)據(jù)包括對(duì)播放的控制(播放,暫停税课,停止)闲延,或者對(duì)網(wǎng)絡(luò)狀態(tài)的描述等痊剖。
解協(xié)議的過(guò)程中會(huì)去除掉信令數(shù)據(jù)而只保留視音頻數(shù)據(jù)。例如垒玲,采用 RTMP 協(xié)議傳輸?shù)臄?shù)據(jù)陆馁,經(jīng)過(guò)解協(xié)議操作后,輸出 FLV 格式的數(shù)據(jù)合愈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叮贩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子佛析,更是在濱河造成了極大的恐慌益老,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寸莫,死亡現(xiàn)場(chǎng)離奇詭異捺萌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)膘茎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)桃纯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人披坏,你說(shuō)我怎么就攤上這事态坦。” “怎么了刮萌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵驮配,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我着茸,道長(zhǎng)壮锻,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任涮阔,我火速辦了婚禮猜绣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘敬特。我一直安慰自己掰邢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布伟阔。 她就那樣靜靜地躺著辣之,像睡著了一般。 火紅的嫁衣襯著肌膚如雪皱炉。 梳的紋絲不亂的頭發(fā)上怀估,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼多搀。 笑死歧蕉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的康铭。 我是一名探鬼主播惯退,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼从藤!你這毒婦竟也來(lái)了催跪?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤呛哟,失蹤者是張志新(化名)和其女友劉穎叠荠,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體扫责,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榛鼎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鳖孤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片者娱。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖苏揣,靈堂內(nèi)的尸體忽然破棺而出黄鳍,到底是詐尸還是另有隱情,我是刑警寧澤平匈,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布框沟,位于F島的核電站,受9級(jí)特大地震影響增炭,放射性物質(zhì)發(fā)生泄漏忍燥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一隙姿、第九天 我趴在偏房一處隱蔽的房頂上張望梅垄。 院中可真熱鬧,春花似錦输玷、人聲如沸队丝。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)机久。三九已至,卻和暖如春赔嚎,著一層夾襖步出監(jiān)牢的瞬間膘盖,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衔憨,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓袄膏,卻偏偏與公主長(zhǎng)得像践图,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沉馆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容