前言
本節(jié)介紹了音視頻的基本原理知識以及編碼相關(guān)概念。
一、視頻
1、視頻的概念
視頻(Video) 泛指將一系列靜態(tài)影像以電信號的方式加以捕捉、 紀(jì)錄、 處理、 儲存、 傳送與重現(xiàn)的各種技術(shù)。
連續(xù)的圖像變化每秒超過 24 幀(frame,fps) 畫面以上時(shí), 根據(jù)視覺暫留原理, 人眼無法辨別單幅的靜態(tài)畫面; 看上去是平滑連續(xù)的視覺效果, 這樣連續(xù)的畫面叫做視頻。
2、常見的視頻格式
avi,mov,mp4,wmv,flv,mkv…
3、視頻幀
幀 , 是視頻的一個(gè)基本概念, 表示一張畫面, 如翻頁動畫書中的一頁, 就是一幀。一個(gè)視頻就是由許許多多幀組成的。
4、幀率
幀率, 即單位時(shí)間內(nèi)幀的數(shù)量, 單位為: 幀/秒 或 fps(frames per second) 。 如動畫書中, 一秒內(nèi)包含多少張圖片,圖片越多, 畫面越順滑, 過渡越自然。
幀率的一般以下幾個(gè)典型值:
- 24/25 fps: 1 秒 24/25 幀, 一般的電影幀率;
- 30/60 fps: 1 秒 30/60 幀, 游戲的幀率, 30 幀可以接受, 60 幀會感覺更加流暢逼真。
85 fps 以上人眼基本無法察覺出來了, 所以更高的幀率在視頻里沒有太大意義。
5、色彩空間
這里我們只講常用到的兩種色彩空間。
- RGB: RGB 的顏色模式應(yīng)該是我們最熟悉的一種, 在現(xiàn)在的電子設(shè)備中應(yīng)用廣泛。通過 R G B 三種基礎(chǔ)色, 可以混合出所有的顏色;
- YUV: 這里著重講一下 YUV, 這種色彩空間并不是我們熟悉的。 這是一種亮度與色度分離的色彩格式。
早期的電視都是黑白的, 即只有亮度值, 即 Y。 有了彩色電視以后, 加入了 UV 兩種色度, 形成現(xiàn)在的 YUV, 也叫 YCbCr。
- Y: 亮度, 就是灰度值。 除了表示亮度信號外, 還含有較多的綠色通道量;
- U: 藍(lán)色通道與亮度的 差值;
- V: 紅色通道與亮度的差值。
問:為什么沒有綠色通道與亮度的差值呢?
答:三基色原理是根據(jù)它們的比例顯示不同的顏色,假如它們的總和為 1,那么有了藍(lán)色和紅色的比例值,就無需記錄綠色了,因?yàn)?1 -(紅色+綠色比例)= 綠色比例;因此我們用盡少的值來存儲這些,存下來的值就是真正的一個(gè)像素點(diǎn)的值。
舉個(gè)例子:
下圖是正常的一張圖像
下圖是 Y,即亮度的值
下圖是 U,即藍(lán)色與亮度的差值
下圖是 V,即紅色與亮度的差值
6、采用 YUV 的優(yōu)勢
人眼對亮度敏感, 對色度不敏感, 因此減少部分 UV 的數(shù)據(jù)量, 人眼卻無法感知出來, 這樣可以通過壓縮 UV 的分辨率, 在不影響觀感的前提下, 減小視頻的體積。
7、RGB 和 YUV 的換算
- Y = 0.299R + 0.587G + 0.114B
- U = -0.147R - 0.289G + 0.436B
- V = 0.615R - 0.515G - 0.100B
- R = Y + 1.14V
- G = Y - 0.39U - 0.58V
- B = Y + 2.03U
二、音頻
1、音頻的概念
音頻數(shù)據(jù)的承載方式最常用的是脈沖編碼調(diào)制, 即 PCM。在自然界中, 聲音是連續(xù)不斷的, 是一種模擬信號, 那怎樣才能把聲音保存下來呢?那就是把聲音數(shù)字化, 即轉(zhuǎn)換為數(shù)字信號。
我們知道聲音是一種波, 有自己的振幅和頻率, 那么要保存聲音, 就要保存聲音在各個(gè)時(shí)間點(diǎn)上的振幅。
而數(shù)字信號并不能連續(xù)保存所有時(shí)間點(diǎn)的振幅, 事實(shí)上, 并不需要保存連續(xù)的信號,就可以還原到人耳可接受的聲音。
根據(jù)奈奎斯特采樣定理: 為了不失真地恢復(fù)模擬信號, 采樣頻率應(yīng)該不小于模擬信號頻譜中最高頻率的 2 倍。
根據(jù)以上分析, PCM 的采集步驟分為以下步驟:模擬信號 -> 采樣 -> 量化 -> 編碼 -> 數(shù)字信號
2、采樣率和采樣位數(shù)
①、采樣率
采樣率, 即采樣的頻率。
上面提到, 采樣率要大于原聲波頻率的 2 倍, 人耳能聽到的最高頻率為 20kHz, 所以為了滿足人耳的聽覺要求, 采樣率至少為 40kHz, 通常為 44.1kHz, 更高的通常為 48kHz。注意: 人耳聽覺頻率范圍[20Hz, 20KHz]
②、采樣位數(shù)
涉及到上面提到的振幅量化。 波形振幅在模擬信號上也是連續(xù)的樣本值, 而在數(shù)字信號中, 信號一般是不連續(xù)的, 所以模擬信號量化以后, 只能取一個(gè)近似的整數(shù)值, 為了記錄這些振幅值, 采樣器會采用一個(gè)固定的位數(shù)來記錄這些振幅值, 通常有 8 位、 16 位、 32 位。注意: 位數(shù)越多, 記錄的值越準(zhǔn)確, 還原度越高。 但是占用的硬盤空間越大。
位數(shù) | 最小值 | 最大值 |
---|---|---|
8 | 0 | 255 |
16 | -32768 | 32767 |
32 | -2147483648 | 2147483647 |
3、音頻編碼
由于數(shù)字信號是由 0,1 組成的, 因此, 需要將幅度值轉(zhuǎn)換為一系列 0 和 1 進(jìn)行存儲, 也就是編碼, 最后得到的數(shù)據(jù)就是數(shù)字信號: 一串 0 和 1 組成的數(shù)據(jù)。
整個(gè)過程如下:
4、聲道數(shù)
聲道數(shù), 是指支持能不同發(fā)聲(注意是不同聲音) 的音響的個(gè)數(shù)。
- 單聲道:1 個(gè)聲道
- 雙聲道:2 個(gè)聲道
- 立體聲道:默認(rèn)為 2 個(gè)聲道
- 立體聲道(4 聲道):4 個(gè)聲道
5、碼率
碼率, 是指一個(gè)數(shù)據(jù)流中每秒鐘能通過的信息量, 單位 bps(bit per second) 。
碼率 = 采樣率 * 采樣位數(shù) * 聲道數(shù)
6、音頻格式
常見的音頻格式有: CD 格式、 WAVE(*.WAV) 、 AIFF、 MP3、 MIDI、 AAC、 WMA、OggVorbis。
三、編碼
1、為什么要編碼
這里的編碼和上面音頻中提到的編碼不是同一個(gè)概念, 而是指壓縮編碼。
音視頻中,其實(shí)包含了大量 0 和 1 的重復(fù)數(shù)據(jù),因此可以通過一定的算法來壓縮這些 0 和 1 的數(shù)據(jù)。
特別在視頻中,由于畫面是逐漸過渡的,因此整個(gè)視頻中,包含了大量畫面/像素的重復(fù),這正好提供了非常大的壓縮空間。因此, 編碼可以大大減小音視頻數(shù)據(jù)的大小, 讓音視頻更容易存儲和傳送。
未經(jīng)編碼的原始音視頻, 數(shù)據(jù)量到底有多大?
以一個(gè)分辨率 1920×1280, 幀率 30 的視頻為例:
共:1920×1280=2,073,600(Pixels 像素) ,每個(gè)像素點(diǎn)是 24bit;
也就是:每幅圖片 2073600×24=49766400 bit,8 bit(位) =1 byte(字節(jié));
所以:49766400bit=6220800byte ≈ 6.22MB。
這是一幅 1920×1280 圖片的原始大小(6.22MB),再乘以幀率 30。
也就是說:每秒視頻的大小是 186.6MB,每分鐘大約是 11GB, 一部 90 分鐘的電影,約是 1000GB。 。 。
2、視頻編碼
視頻編碼格式有很多,比如 H26x 系列和 MPEG 系列的編碼。
- H26x(1/2/3/4/5) 系列由 ITU(International Telecommunication Union) 國際電訊聯(lián)盟主導(dǎo)
- MPEG(1/2/3/4) 系列由 MPEG(Moving Picture Experts Group, ISO 旗下的組織)主導(dǎo)
現(xiàn)在主流的編碼格式 H264, 當(dāng)然還有下一代更先進(jìn)的壓縮編碼標(biāo)準(zhǔn) H265。
所謂視頻編碼方式就是指能夠?qū)?shù)字視頻進(jìn)行壓縮或者解壓縮(視頻解碼)的程序或者設(shè)備。 通常這種壓縮屬于有損數(shù)據(jù)壓縮。 也可以指通過過特定的壓縮技術(shù),將某個(gè)視頻格式轉(zhuǎn)換成另一種視頻格式。
①、H.26X 系列
- H.261:主要在老的視頻會議和視頻電話產(chǎn)品中使用。
- H.263:主要用在視頻會議、 視頻電話和網(wǎng)絡(luò)視頻上。
- H.264: H.264/MPEG-4 第十部分,或稱 AVC(Advanced Video Coding,高級視頻編碼),是一種視頻壓縮標(biāo)準(zhǔn),一種被廣泛使用的高精度視頻的錄制、壓縮和發(fā)布格式。
- H.265:高效率視頻編碼(High Efficiency Video Coding, 簡稱 HEVC)是一種視頻壓縮標(biāo)準(zhǔn),H.264/MPEG-4 AVC 的繼任者。HEVC 被認(rèn)為不僅提升圖像質(zhì)量,同時(shí)也能達(dá)到 H.264/MPEG-4 AVC 兩倍之壓縮率(等同于同樣畫面質(zhì)量下比特率減少了50%),可支持 4K 分辨率甚至到超高畫質(zhì)電視,最高分辨率可達(dá)到 8192×4320(8K分辨率),這是目前發(fā)展的趨勢。 直至 2013 年,Potplayer 添加了對于 H.265 視頻的解碼,尚未有大眾化編碼軟件出現(xiàn)。
②、MPEG 系列
- MPEG-1 第二部分(MPEG-1 第二部分主要使用在 VCD 上,有些在線視頻也使用這種格式。該編解碼器的質(zhì)量大致上和原有的 VHS 錄像帶相當(dāng)。)
- MPEG-2 第二部分(MPEG-2 第二部分等同于 H.262,使用在 DVD、SVCD 和大多數(shù)數(shù)字視頻廣播系統(tǒng)和有線分布系統(tǒng)(cable distribution systems)中。)
- MPEG-4 第二部分(MPEG-4 第二部分標(biāo)準(zhǔn)可以使用在網(wǎng)絡(luò)傳輸、廣播和媒體存儲上。 比起 MPEG-2 和第一版的 H.263,它的壓縮性能有所提高。)
- MPEG-4 第十部分(MPEG-4 第十部分技術(shù)上和 ITU-TH.264 是相同的標(biāo)準(zhǔn),有時(shí)候也被叫做“AVC”) 最后這兩個(gè)編碼組織合作,誕生了 H.264/AVC 標(biāo)準(zhǔn)。 ITU-T 給這個(gè)標(biāo)準(zhǔn)命名為 H.264, 而 ISO/IEC 稱它為 MPEG-4 高級視頻編碼(Advanced VideoCoding, AVC) 。
③、其他系列:
AMV · AVS · Bink · CineForm · Cinepak · Dirac · DV · Indeo · Video · Pixlet · RealVideo ·RTVideo · SheerVideo · Smacker · Sorenson Video · Theora · VC-1 · VP3 · VP6 · VP7 · VP8 · VP9 · WMV。 因?yàn)橐陨暇幋a方式不常用,不再介紹。
3、音頻編碼
和視頻編碼一樣,音頻也有許多的編碼格式,如: WAV、 MP3、 WMA、 APE、 FLAC 等等。這里以 AAC 格式為例,直觀的了解音頻壓縮格式。
AAC 是新一代的音頻有損壓縮技術(shù),一種高壓縮比的音頻壓縮算法。在 MP4 視頻中的音頻數(shù)據(jù),大多數(shù)時(shí)候都是采用 AAC 壓縮格式。
AAC 格式主要分為兩種: ADIF、 ADTS。
①、ADIF
ADIF: Audio Data Interchange Format。 音頻數(shù)據(jù)交換格式。
這種格式的特征是可以確定的找到這個(gè)音頻數(shù)據(jù)的開始, 不需進(jìn)行在音頻數(shù)據(jù)流中間開始的解碼, 即它的解碼必須在明確定義的開始處進(jìn)行。 這種格式常用在磁盤文件中。
ADIF 只有一個(gè)統(tǒng)一的頭, 所以必須得到所有的數(shù)據(jù)后解碼。
ADIF 數(shù)據(jù)格式:header | raw_data
②、ADTS
這種格式的特征是它是一個(gè)有同步字的比特流, 解碼可以在這個(gè)流中任何位置開始。它的特征類似于 mp3 數(shù)據(jù)流格式。
ADTS 一幀 數(shù)據(jù)格式(中間部分,左右省略號為前后數(shù)據(jù)幀):
對比 ADIF 和 ADTS
ADTS 可以在任意幀解碼,它每一幀都有頭信息。
ADIF 只有一個(gè)統(tǒng)一的頭,所以必須得到所有的數(shù)據(jù)后解碼。
且這兩種的 header 的格式也是不同的,目前一般編碼后的都是 ADTS 格式的音頻流。
4、硬解碼和軟解碼
在手機(jī)或者 PC 上,都會有 CPU、GPU 或者解碼器等硬件。通常,我們的計(jì)算都是在 CPU 上進(jìn)行的,也就是我們軟件的執(zhí)行芯片,而 GPU 主要負(fù)責(zé)畫面的顯示(是一種硬件加速) 。
①、軟解碼
就是指利用 CPU 的計(jì)算能力來解碼,通常如果 CPU 的能力不是很強(qiáng)的時(shí)候,一則解碼速度會比較慢,二則手機(jī)可能出現(xiàn)發(fā)熱現(xiàn)象。但是,由于使用統(tǒng)一的算法,兼容性會很好。
②、硬解碼
指的是利用專門的解碼芯片來加速解碼。 通常硬解碼的解碼速度會快很多, 但是由于硬解碼由各個(gè)廠家實(shí)現(xiàn), 質(zhì)量參差不齊, 非常容易出現(xiàn)兼容性問題。
5、音視頻容器
前面我們介紹的各種音視頻的編碼格式,沒有一種是我們平時(shí)使用到的視頻格式,比如:mp4、rmvb、avi、mkv、mov…
這些我們熟悉的視頻格式,其實(shí)是包裹了音視頻編碼數(shù)據(jù)的容器,用來把以特定編碼標(biāo)準(zhǔn)編碼的視頻流和音頻流混在一起, 成為一個(gè)文件。
例如: mp4 支持 H264、 H265 等視頻編碼和 AAC、 MP3 等音頻編碼。
mp4 是目前最流行的視頻格式, 在移動端, 一般將視頻封裝為 mp4 格式。文章來源:http://www.zghlxwxcb.cn/news/detail-699953.html
我的qq:2442391036,歡迎交流!文章來源地址http://www.zghlxwxcb.cn/news/detail-699953.html
到了這里,關(guān)于音視頻入門基礎(chǔ)理論知識的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!