音視頻學(xué)習(xí)(一)-- 基礎(chǔ)知識(shí)準(zhǔn)備

本章知識(shí)點(diǎn)一覽:

  • 視頻播放原理
  • 視頻文件封裝格式
  • 音視頻編碼方式簡(jiǎn)介

一、視頻播放器原理:

我們播放的視頻文件一般都是用一種封裝格式封裝起來(lái)的,封裝格式的作用是什么呢?一般視頻文件里不光有視頻,還有音頻,封裝格式的作用就是把視頻和音頻打包起來(lái)。
所以我們先要解封裝格式,看有哪些視頻流和哪些音頻流,此時(shí)的音頻流和視頻流都還是壓縮數(shù)據(jù),不能直接用于顯示的,這就需要解碼。下面是播放一個(gè)視頻文件時(shí)的流程圖。

視頻播放流程圖.png

根據(jù)上面流程圖中的流程,我們從上至下一步步的來(lái)了解下每步驟的原理和實(shí)現(xiàn)方式。先來(lái)看下 視頻封裝格式。

二、視頻文件封裝格式

封裝格式(也叫容器),就是將已經(jīng)編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個(gè)文件中,也就是說(shuō)僅僅是一個(gè)外殼,或者大家把它當(dāng)成一個(gè)放視頻軌和音頻軌的文件夾也可以。說(shuō)得通俗點(diǎn),視頻軌相當(dāng)于飯,而音頻軌相當(dāng)于菜,封裝格式就是一個(gè)碗,或者一個(gè)鍋,用來(lái)盛放飯菜的容器。
下面是幾種常用的 視頻文件后綴類型 與其相對(duì)應(yīng)的 封裝格式

視頻文件格式 視頻封裝格式
.avi AVI(Audio Video Interleaved)
.wmv、.asf WMV(Windows Media Video)
.mpg、.mpeg、.vob、.dat、.3gp、.mp4 MPEG(Moving Picture Experts Group)
.mkv Matroska
.rm、.rmvb Real Video
.mov QuickTime File Format
.flv Flash Video

下面詳細(xì)介紹幾個(gè)視頻的封裝格式

  • 1、AVI 格式,對(duì)應(yīng)的文件格式為 .avi,全稱 Audio Video Interleaved,是由 Microsoft 公司于 1992 年推出。這種視頻格式的優(yōu)點(diǎn)是圖像質(zhì)量好,無(wú)損 AVI 可保存 alpha 通道。缺點(diǎn)是體積過(guò)于龐大,并且壓縮標(biāo)準(zhǔn)不統(tǒng)一,存在較多的高低版本兼容問(wèn)題。

  • 2、DV-AVI 格式,對(duì)應(yīng)的文件格式為 .avi,英文全稱 Digital Video Format,是由索尼、松下、JVC 等多家廠商聯(lián)合提出的一種家用數(shù)字視頻格式。常見(jiàn)的數(shù)碼攝像機(jī)就是使用這種格式記錄視頻數(shù)據(jù)的。它可以通過(guò)電腦的 IEEE 1394 端口傳輸視頻數(shù)據(jù)到電腦,也可以將電腦中編輯好的的視頻數(shù)據(jù)回錄到數(shù)碼攝像機(jī)中。

  • 3、WMV 格式,對(duì)應(yīng)的文件格式是 .wmv、.asf,英文全稱 Windows Media Video,是微軟推出的一種采用獨(dú)立編碼方式并且可以直接在網(wǎng)上實(shí)時(shí)觀看視頻節(jié)目的文件壓縮格式。在同等視頻質(zhì)量下,WMV 格式的文件可以邊下載邊播放,因此很適合在網(wǎng)上播放和傳輸。

  • 4、MPEG 格式,對(duì)應(yīng)的文件格式有 .mpg、.mpeg、.mpe、.dat、.vob、.asf、.3gp、.mp4 等等,英文全稱 Moving Picture Experts Group,是由運(yùn)動(dòng)圖像專家組制定的視頻格式,該專家組于 1988 年組建,專門負(fù)責(zé)視頻和音頻標(biāo)準(zhǔn)制定,其成員都是視頻、音頻以及系統(tǒng)領(lǐng)域的技術(shù)專家。MPEG 格式目前有三個(gè)壓縮標(biāo)準(zhǔn),分別是 MPEG-1、MPEG-2、MPEG-4。MPEG-4 是現(xiàn)在用的比較多的視頻封裝格式,它為了播放流式媒體的高質(zhì)量視頻而專門設(shè)計(jì)的,以求使用最少的數(shù)據(jù)獲得最佳的圖像質(zhì)量。

  • 5、Matroska 格式,對(duì)應(yīng)的文件格式是 .mkv,Matroska 是一種新的視頻封裝格式,它可將多種不同編碼的視頻及 16 條以上不同格式的音頻和不同語(yǔ)言的字幕流封裝到一個(gè) Matroska Media 文件當(dāng)中。

  • 6、Real Video 格式,對(duì)應(yīng)的文件格式是 .rm、.rmvb,是 Real Networks 公司所制定的音頻視頻壓縮規(guī)范稱為 Real Media。用戶可以使用 RealPlayer 根據(jù)不同的網(wǎng)絡(luò)傳輸速率制定出不同的壓縮比率,從而實(shí)現(xiàn)在低速率的網(wǎng)絡(luò)上進(jìn)行影像數(shù)據(jù)實(shí)時(shí)傳送和播放。

  • 7、QuickTime File Format 格式,對(duì)應(yīng)的文件格式是 .mov,是 Apple 公司開(kāi)發(fā)的一種視頻格式,默認(rèn)的播放器是蘋果的 QuickTime。這種封裝格式具有較高的壓縮比率和較完美的視頻清晰度等特點(diǎn),并可以保存 alpha 通道。

  • 8、Flash Video 格式,對(duì)應(yīng)的文件格式是 .flv,是由 Adobe Flash 延伸出來(lái)的一種網(wǎng)絡(luò)視頻封裝格式。這種格式被很多視頻網(wǎng)站所采用。

三、 音視頻編碼方式簡(jiǎn)介

1、視頻編碼方式

  • 視頻編碼的作用:
    將視頻像素?cái)?shù)據(jù)(RGB,YUV 等)壓縮成視頻碼流,從而降低視頻的數(shù)據(jù)量。
名稱 推出機(jī)構(gòu) 推出時(shí)間 目前使用領(lǐng)域
HEVC(H.265) MPEG/ITU-T 2013 研發(fā)中
H.264 MPEG/ITU-T 2003 各個(gè)領(lǐng)域
MPEG4 MPEG 2001 不溫不火
MPEG2 MPEG 1994 數(shù)字電視
VP9 Google 2013 研發(fā)中
VP8 Google 2008 不普及
VC-1 Microsoft Inc. 2006 微軟平臺(tái)
(1)、H.26X 系列

H.26X 由國(guó)際電傳視訊聯(lián)盟遠(yuǎn)程通信標(biāo)準(zhǔn)化組織(ITU-T)主導(dǎo),包括 H.261、H.262、H.263、H.264、H.265。

  • H.261,主要用于老的視頻會(huì)議和視頻電話系統(tǒng)。是第一個(gè)使用的數(shù)字視頻壓縮標(biāo)準(zhǔn)。實(shí)質(zhì)上說(shuō),之后的所有的標(biāo)準(zhǔn)視頻編解碼器都是基于它設(shè)計(jì)的。

  • H.262,等同于 MPEG-2 第二部分,使用在 DVD、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)中。

  • H.263,主要用于視頻會(huì)議、視頻電話和網(wǎng)絡(luò)視頻相關(guān)產(chǎn)品。在對(duì)逐行掃描的視頻源進(jìn)行壓縮的方面,H.263 比它之前的視頻編碼標(biāo)準(zhǔn)在性能上有了較大的提升。尤其是在低碼率端,它可以在保證一定質(zhì)量的前提下大大的節(jié)約碼率。

  • H.264,等同于 MPEG-4 第十部分,也被稱為高級(jí)視頻編碼(Advanced Video Coding,簡(jiǎn)稱 AVC),是一種視頻壓縮標(biāo)準(zhǔn),一種被廣泛使用的高精度視頻的錄制、壓縮和發(fā)布格式。該標(biāo)準(zhǔn)引入了一系列新的能夠大大提高壓縮性能的技術(shù),并能夠同時(shí)在高碼率端和低碼率端大大超越以前的諸標(biāo)準(zhǔn)。

  • H.265,被稱為高效率視頻編碼(High Efficiency Video Coding,簡(jiǎn)稱 HEVC)是一種視頻壓縮標(biāo)準(zhǔn),是 H.264 的繼任者。HEVC 被認(rèn)為不僅提升圖像質(zhì)量,同時(shí)也能達(dá)到 H.264 兩倍的壓縮率(等同于同樣畫(huà)面質(zhì)量下比特率減少了 50%),可支持 4K 分辨率甚至到超高畫(huà)質(zhì)電視,最高分辨率可達(dá)到 8192×43208K 分辨率),這是目前發(fā)展的趨勢(shì)。

(2)、MPEG 系列

MPEG 系列由國(guó)際標(biāo)準(zhǔn)組織機(jī)構(gòu)(ISO)下屬的運(yùn)動(dòng)圖象專家組(MPEG)開(kāi)發(fā)。

  • MPEG-1 第二部分,主要使用在 VCD 上,有些在線視頻也使用這種格式。該編解碼器的質(zhì)量大致上和原有的 VHS 錄像帶相當(dāng)。
  • MPEG-2 第二部分,等同于 H.262,使用在 DVD、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)中。
  • MPEG-4 第二部分,可以使用在網(wǎng)絡(luò)傳輸、廣播和媒體存儲(chǔ)上。比起 MPEG-2 第二部分和第一版的 H.263,它的壓縮性能有所提高。
  • MPEG-4 第十部分,等同于 H.264,是這兩個(gè)編碼組織合作誕生的標(biāo)準(zhǔn)。

2、音頻編碼方式

音頻編碼的作用:
將音頻采樣數(shù)據(jù)(PCM 等)壓縮成音頻碼流,從而降低音頻的數(shù)據(jù)量。
常用的音頻編碼方式有以下幾種:

名稱 推出機(jī)構(gòu) 推出時(shí)間 目前使用領(lǐng)域
AAC MPEG 1997 各個(gè)領(lǐng)域(新)
MP3 MPEG 1993 各個(gè)領(lǐng)域(舊)
WMV Microsoft Inc. 1999 微軟平臺(tái)
AC-3 Dolby Inc. 1992 電影
(1)MP3

MP3,英文全稱 MPEG-1 or MPEG-2 Audio Layer III,是曾經(jīng)非常流行的一種數(shù)字音頻編碼和有損壓縮格式,它被設(shè)計(jì)來(lái)大幅降低音頻數(shù)據(jù)量。它是在 1991 年,由位于德國(guó)埃爾朗根的研究組織 Fraunhofer-Gesellschaft 的一組工程師發(fā)明和標(biāo)準(zhǔn)化的。MP3 的普及,曾對(duì)音樂(lè)產(chǎn)業(yè)造成極大的沖擊與影響。

(2)AAC

AAC,英文全稱 Advanced Audio Coding,是由 Fraunhofer IIS、杜比實(shí)驗(yàn)室、AT&T、Sony 等公司共同開(kāi)發(fā),在 1997 年推出的基于 MPEG-2 的音頻編碼技術(shù)。2000 年,MPEG-4 標(biāo)準(zhǔn)出現(xiàn)后,AAC 重新集成了其特性,加入了 SBR 技術(shù)和 PS 技術(shù),為了區(qū)別于傳統(tǒng)的 MPEG-2 AAC 又稱為 MPEG-4 AAC。
AACMP3 有更高的壓縮比,同樣大小的音頻文件,AAC 的音質(zhì)更高。

(3)WMA

WMA,英文全稱 Windows Media Audio,由微軟公司開(kāi)發(fā)的一種數(shù)字音頻壓縮格式,本身包括有損和無(wú)損壓縮格式。

四、 視頻像素?cái)?shù)據(jù)

1、視頻像素?cái)?shù)據(jù)簡(jiǎn)介

  • 視頻像素?cái)?shù)據(jù)作用:
    保存了屏幕上每個(gè)像素點(diǎn)的像素值。
  • 格式:
    常見(jiàn)的像素格式有 RGB24,RGB32,YUV420P,YUV422P,YUV444P 等。壓縮編碼中一般使用的是 YUV 格式的像素?cái)?shù)據(jù),最常見(jiàn)的格式為 YUV420P。
  • 特點(diǎn):視頻像素?cái)?shù)據(jù)體積很大,一個(gè) 1 小時(shí)電影的RGB24格式的數(shù)據(jù)體積為:
    3600 * 25 * 1920 * 1080 * 3 = 559.872GByte
    PS:這里嘉定頻率為 25Hz,取樣精度 8bit

2、顏色模型

(1)RGB 顏色編碼
4624551-cd5ce515e4596c75.png

我們開(kāi)發(fā)場(chǎng)景中使用最多的應(yīng)該是 RGB 模型,R、G、B 分別代表了紅、綠、藍(lán),這三種顏色稱為三原色,將它們以不同的比例相加,可以產(chǎn)生任何顏色。

RGB 圖像中,每個(gè)像素點(diǎn)都有紅、綠、藍(lán)三個(gè)原色,其中每種原色都占用 8 bit,也就是一個(gè)字節(jié),那么一個(gè)像素點(diǎn)也就占用 24 bit,也就是三個(gè)字節(jié)。
那么一張 1280 * 720 大小的圖片,就占用 1280 * 720 * 3 / 1024 / 1024 = 2.63 MB 存儲(chǔ)空間。有沒(méi)有更高效的顏色模型能夠用更少的 bit 來(lái)表示顏色呢?那就是 YUV 顏色編碼。

(2)YUV (YCbCr)顏色編碼

相關(guān)實(shí)驗(yàn)表明,人眼對(duì)亮度敏感而對(duì)色度不敏感。因而可以將亮度信息和色度信息分離,并對(duì)色度信息采用更“狠”一點(diǎn)的壓縮方案,從而提高壓縮效率。

YUV 顏色編碼采用的是 明亮度 Y色度 UV 來(lái)指定像素的顏色。
“Y”表示明亮度(LuminanceLuma),也就是灰階值。
“U”“V” 表示的則是色度(ChrominanceChroma),作用是描述影像色調(diào)和飽和度。

RGB 表示圖像類似,每個(gè)像素點(diǎn)都包含 Y、U、V 分量。但是它的 YUV 分量是可分離的,沒(méi)有 UV 分量一樣可以顯示完整的圖像,但是是黑白的。

  • YCbCr 顏色空間是 YUV 的國(guó)際標(biāo)準(zhǔn)化變種,在數(shù)字電視和圖像壓縮(比如JPEG)方面都有應(yīng)用。
    YCbCr 其實(shí)是 YUV 經(jīng)過(guò)縮放和偏移的翻版。其中 YYUV 中的 Y 含義一致, Cb,Cr 同樣都指色彩, 只是在表示方法上不同而已。在 YUV 家族中, YCbCr 是在計(jì)算機(jī)系統(tǒng)中應(yīng)用最多的成員,其應(yīng)用領(lǐng)域很廣泛,JPEG、MPEG 均采用此格式。一般人們所講的 YUV 大多是指YCbCr。
    Cb:反映的是 RGB 輸入信號(hào)藍(lán)色部分與 RGB 信號(hào)亮度值之間的差異。
    Cr:反映了 RGB 輸入信號(hào)紅色部分與 RGB 信號(hào)亮度值之間的差異。
    YCbCr.png
  • RGB 轉(zhuǎn)換為 Ycbcr 公式
Y = 0.257*R+0.564*G+0.098*B+16
Cb = -0.148*R-0.291*G+0.439*B+128
Cr = 0.439*R-0.368*G-0.071*B+128
  • Ycbcr 轉(zhuǎn)換為 RGB 公式
R = 1.164*(Y-16)+1.596*(Cr-128)
G = 1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)
B = 1.164*(Y-16)+2.017*(Cb-128)
(3)YUV 采樣格式

為節(jié)省帶寬,大多數(shù) YUV 格式平均使用的每像素位數(shù)都少于24位。主要的抽樣(subsample)格式有 YCbCr4:2:0、YCbCr4:2:2、YCbCr4:1:1YCbCr4:4:4。

YUV像素.png

  • 4:2:0
    4:2:0 是目前用的畢竟廣泛的一種采樣格式。4:2:0 表示 2:1 的水平取樣,垂直 2:1 采樣。比 RGB 小了二分之一。我們以4:2:0 為例詳細(xì)看一下這種采樣格式。

    YUV420.png
    從上圖中可以看 YUV4:2:0 先存儲(chǔ)個(gè)整張圖像的 Y 信息,然后存儲(chǔ) U 信息,最后存儲(chǔ) V 信息。但存儲(chǔ)的比例是不同的,可以看出是每存儲(chǔ)兩行 Y,才會(huì)存儲(chǔ)半行 U 和半行 V
    YUV4-2-0.png

  • 4:4:4
    4:4:4 表示完全取樣。和 RGB 大小一樣。

    YUV4-4-4.png

  • 4:2:2 表示 2:1 的水平取樣,垂直完全采樣。比 RGB 小了三分之一。

    YUV4-2-2.png

以上的總結(jié)參考了并部分摘抄了以下文章,非常感謝以下作者的分享?。?br> 1、雷霄驊的視頻課《基于FFmpeg+SDL的視頻播放器的制作-第1節(jié)-大綱和視音頻基礎(chǔ)知識(shí)》(PS:致敬音視頻大神雷神雷曉華先生,謝謝你生前為我們留下來(lái)的無(wú)私分享成果)
2、音視頻直播技術(shù)專家的《H264基本原理》
3、TIM鄧肯的《RGB與YCbCr》
4、取次花叢懶回顧的《【H.264/AVC視頻編解碼技術(shù)詳解】二十三、幀間預(yù)測(cè)編碼(1):幀間預(yù)測(cè)編碼的基本原理》

轉(zhuǎn)載請(qǐng)備注原文出處,不得用于商業(yè)傳播——凡幾多

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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