第一章 音視頻基礎概念

目錄
  • 序言
  • 聲音的物理性質
  • 數(shù)字音頻
  • 音頻編碼
  • 圖像的物理現(xiàn)象
  • 圖像的數(shù)值表示
  • 視頻的編碼方式
一 序言

音視頻技術是為了記錄闸度,存儲和回放聲學現(xiàn)象才發(fā)明的寸痢。
當人類有了記錄以及存儲聲音的能力后鸿染,就迎來了模擬信號數(shù)字信號的轉換板祝。

二 聲音的物理性質
2.1 聲音是波

聲音是由物體振動而產(chǎn)生的肛循。

聲音是一種壓力波,當演奏樂器蚊夫、 拍打一扇門或者敲擊桌面時诉字,它們的振動都會引起空氣有節(jié)奏的振動, 使周圍的空氣產(chǎn)生疏密變化这橙,形成疏密相間的縱波(可以理解為石頭落入水中激起的波紋)奏窑,由此就產(chǎn)生了聲波,這種現(xiàn)象會一直延續(xù)到振動 消失為止屈扎。

2.2 聲波的三要素

聲波的三要素是頻率埃唯、振幅波形

  • 頻率代表音階的高低
  • 振幅代表響度
  • 波形代表音色

分貝常用于描述響度的大小
波 的形狀決定了其所代表聲音的音色

2.3 聲音的傳播介質

聲音的傳播介質 很廣,它可以通過空氣鹰晨、液體和固體進行傳播;而且介質不同墨叛,傳播的 速度也不同止毕。

聲音在真空中是無法傳播的。

2.4 共鳴

聲音的傳播過程也是一種能量的傳播過程漠趁。

三 數(shù)字音頻

本節(jié)將分3個概念對數(shù)字音頻進行講解扁凛, 分別是采樣量化編碼闯传。

3.1 采樣

所謂采樣就是在時間軸上對信號進行數(shù)字化谨朝。根據(jù)奈奎斯特定理(也稱為采樣定 理),按比聲音最高頻率高2倍以上的頻率對聲音進行采樣(也稱為AD 轉換)

對于高質量的音頻信號甥绿,其頻率范圍(人耳 能夠聽到的頻率范圍)是20Hz~20kHz字币,所以采樣頻率一般為 44.1kHz

44.1kHz就是代表1秒會采樣44100次共缕。

3.2 量化

具體的每個采樣又該如何表示呢?

這就涉及將要講解的第二個概念:量化洗出,量化是指在幅度軸上對信號進行數(shù)字化。

3.3 編碼

既然每一個量化都是一個采樣图谷,那么這么多的采樣該如何進行存儲 呢?

這就涉及將要講解的第三個概念:編碼翩活。所謂編碼,就是按照一定的格式記錄采樣量化后的數(shù)字數(shù)據(jù)便贵,比如順序存儲壓縮存儲等菠镇。

這里面涉及了很多種格式,通常所說的音頻裸數(shù)據(jù)格式就是脈沖 編碼調制(Pulse Code Modulation嫉沽,PCM)數(shù)據(jù)辟犀。

描述一段PCM數(shù)據(jù)一 般需要以下幾個概念:量化格式(sampleFormat)俏竞、采樣率 (sampleRate)绸硕、聲道數(shù)(channel)。

以CD的音質為例:
1.量化格式(有的地方描述為位深度)為16比特(2字節(jié))
2.采樣率為44100
3.聲道數(shù)為 2

這些信息就描述了CD的音質魂毁。而對于聲音格式玻佩,還有一個概念用來描述它的大小,稱為數(shù)據(jù)比特率席楚,即1秒時間內的比特數(shù)目咬崔,它用于衡 量音頻數(shù)據(jù)單位時間內的容量大小。而對于CD音質的數(shù)據(jù)烦秩,比特率為 多少呢?計算如下

44100 * 16 * 2 = 1378.125kbps

分貝是用來表示聲音強度的單位垮斯。所謂分貝是指兩個相同的 物理量(例如,A1和A0)之比取以10為底的對數(shù)并乘以10(或20)只祠, 即:

N = 10 * lg(A1 / A0)
四 音頻編碼

壓縮算法包括有損壓縮和無損壓縮兜蠕。

根據(jù)不同的應用場景(包括存儲設備、傳輸網(wǎng)絡環(huán)境抛寝、播放設備 等)熊杨,可以選用不同的壓縮編碼算法曙旭,如PCMWAV晶府、AAC桂躏、MP3Ogg等川陆。

壓縮編碼的原理實際上是壓縮掉冗余信號剂习,冗余信號是指不能被人 耳感知到的信號,包含人耳聽覺范圍之外的音頻信號以及被掩蔽掉的音 頻信號等较沪。

下面介紹幾種常用的壓縮編碼格式进倍。

WAV編碼

WAV編碼的一種實現(xiàn)(有多種實現(xiàn)方 式,但是都不會進行壓縮操作)就是在PCM數(shù)據(jù)格式的前面加上44字節(jié)购对,分別用來描述PCM的采樣率猾昆、聲道數(shù)數(shù)據(jù)格式等信息骡苞。

  • 特點:音質非常好垂蜗,大量軟件都支持。
  • 適用場合:多媒體開發(fā)的中間文件解幽、保存音樂和音效素材贴见。
MP3編碼

MP3具有不錯的壓縮比,使用LAME編碼(MP3編碼格式的一種實 現(xiàn))的中高碼率的MP3文件躲株,聽感上非常接近源WAV文件片部。

  • 特點 音質在128Kbit/s以上表現(xiàn)還不錯,壓縮比比較高霜定,大量軟件和硬件都支持档悠,兼容性好。
  • 適用場合 高比特率下對兼容性有要求的音樂欣賞望浩。
AAC編碼

AAC是新一代的音頻有損壓縮技術辖所,它通過一些附加的編碼技術 (比如PSSBR等)磨德,衍生出了LC-AAC缘回、HE-AACHE-AAC v2三種 主要的編碼格式典挑。

  • 特點 在小于128Kbit/s的碼率下表現(xiàn)優(yōu)異酥宴,并且用于視頻中的音 頻編碼。
  • 適用場合 128Kbit/s以下的音頻編碼您觉,多用于視頻中音頻軌的編碼拙寡。
Ogg編碼

Ogg是一種非常有潛力的編碼,在各種碼率下都有比較優(yōu)秀的表現(xiàn)顾犹,尤其是在中低碼率場景下倒庵。

  • 特點 可以用比MP3更小的碼率實現(xiàn)比MP3更好的音質褒墨,高中低碼 率下均有良好的表現(xiàn),兼容性不夠好擎宝,流媒體特性不支持郁妈。
  • 適用場合 語音聊天的音頻消息場景。
五 圖像的物理現(xiàn)象

紅綠藍三種色光無法被 分解绍申,故稱為三原色光噩咪。

六 圖像的數(shù)值表示
6.1 RGB表示方式

那么像素里面的子像素又該如何表 示呢?常用的表示方式有以下幾種。

整數(shù)表示:取值范圍為0255或者00FF极阅,8個比特表示一個子像素胃碾,32個比特表示一個像素,這就是類似于某些平臺上表示圖像格式的 RGBA_8888數(shù)據(jù)格式筋搏。

對于一幅圖像仆百,一般使用整數(shù)表示方法來進行描述,比如計算一張 1280×720的RGBA_8888圖像的大小奔脐,可采用如下方式:

1280 * 720 * 4 = 3.516MB

比如JPEG壓縮:JPEG是 靜態(tài)圖像壓縮標準俄周,由ISO制定。

6.2 YUV表示方式

對于視頻幀的裸數(shù)據(jù)表示髓迎,其實更多的是YUV數(shù)據(jù)格式的表示峦朗, YUV主要應用于優(yōu)化彩色視頻信號的傳輸,使其向后兼容老式黑白電 視排龄。

RGB視頻信號傳輸相比波势,它最大的優(yōu)點在于只需要占用極少的頻 寬(RGB要求三個獨立的視頻信號同時傳輸)。

Y 表示明亮度 (Luminance或Luma)橄维,也稱灰階值尺铣。
UV 表示的則是色度 (Chrominance或Chroma),它們的作用是描述影像的色彩及飽和度挣郭, 用于指定像素的顏色迄埃。

之所以采用YUV色彩空間,是因為它的亮度信號Y和色度信號U兑障、 V分離的。

YUV最常用的采樣格式是4:2:0蕉汪,4:2:0并不意味著只有Y流译、Cb 而沒有Cr分量。它指的是對每行掃描線來說者疤,只有一種色度分量是以 2:1的抽樣率來存儲的福澡。

相較于RGB,我們可以計算一幀為1280×720的視頻幀驹马,用YUV420P的格式來表示革砸,其數(shù)據(jù)量的大小如下:

1280 * 720 * 1 + 1280 * 720 * 0.5 = 1.318MB
6.3 YUV和RGB的轉化

凡是渲染到屏幕上的東西(文字除秀、圖片或者其 他),都要轉換為RGB的表示形式算利。

七 視頻的編碼方式
7.1 視頻編碼

視頻壓縮也是通過去除冗余信息來進行壓縮的册踩。相較于音頻數(shù)據(jù),視頻數(shù)據(jù)有極強的相關性效拭,也就是說有大量的冗余信息暂吉,包括空間上的冗余信息和時間上的冗余信息。

使用幀間編碼技術可以去除時間上的冗余信息缎患,具體包括以下幾個 部分慕的。

  • 運動補償 運動補償是通過先前的局部圖像來預測、補償當前的局部圖像挤渔,它是減少幀序列冗余信息的有效方法肮街。
  • 運動表示 不同區(qū)域的圖像需要使用不同的運動矢量來描述運動信息。
  • 運動估計 運動估計是從視頻序列中抽取運動信息的一整套技術判导。

使用幀內編碼技術可以去除空間上的冗余信息低散。

對于視頻,ISO同樣也制定了標準:Motion JPEG即MPEG骡楼,MPEG算法是適用于動態(tài)視頻壓縮算法熔号。主要包括這樣幾個版本:Mpeg1(用于VCD)、 Mpeg2(用于DVD)鸟整、Mpeg4 AVC(現(xiàn)在流媒體使用最多的就是它 了)引镊。

相比較于ISO制定的MPEG的視頻壓縮標準ITU-T制定的H.261篮条、 H.262弟头、H.263H.264一系列視頻編碼標準是一套單獨的體系涉茧。

現(xiàn)在使用最多的就是 H.264標準赴恨,H.264創(chuàng)造了多參考幀多塊類型伴栓、整數(shù)變換伦连、幀內預測等新的壓縮技術。

7.2 編碼概念
IPB幀
  • I幀 幀內編碼幀(intra picture)钳垮,I幀通常是每個GOP(MPEG所 使用的一種視頻壓縮技術)的第一個幀惑淳,經(jīng)過適度地壓縮,作為隨機訪問的參考點饺窿,可以當成靜態(tài)圖像歧焦。

I幀可以看作一個圖像經(jīng)過壓縮后的產(chǎn)物,I幀壓縮可以得到6:1的壓縮比而不會產(chǎn)生任何可覺察的模糊現(xiàn) 象肚医。

I幀壓縮可去掉視頻的空間冗余信息绢馍,屬于幀內編碼技術向瓷。

  • P幀 前向預測編碼幀(predictive-frame),通過將圖像序列中前 面已編碼幀的時間冗余信息充分去除來壓縮傳輸數(shù)據(jù)量的編碼圖像舰涌,也稱為預測幀猖任。

  • B幀 雙向預測內插編碼幀(bi-directional interpolated prediction frame),既考慮源圖像序列前面的已編碼幀舵稠,又顧及源圖像序列后面 的已編碼幀之間的時間冗余信息超升,來壓縮傳輸數(shù)據(jù)量的編碼圖像,也稱為雙向預測幀哺徊。

基于上面的定義室琢,我們可以從解碼的角度來理解IPB幀。

  • I幀自身可以通過視頻解壓算法解壓成一張單獨的完整視頻畫面落追,
    所以I幀去掉的是視頻幀在空間維度上的冗余信息盈滴。
  • P幀需要參考其前面的一個I幀或者P幀來解碼成一張完整的視頻畫
    面。
  • B幀則需要參考其前一個I幀或者P幀及其后面的一個P幀來生成一 張完整的視頻畫面轿钠,所以P幀與B幀去掉的是視頻幀在時間維度上的冗 余信息巢钓。

IDR幀與I幀的理解

  • IDR幀 就是一種特殊的I幀
  • 在解碼器中疗垛,一旦收到一個IDR幀症汹,就會立即清理參考幀緩沖區(qū),并將IDR幀作為被參考的幀贷腕。
PTS與DTS

DTS主要用于視頻的解碼背镇,英文全稱是Decoding Time Stamp,
PTS主要用于在解碼階段進行視頻的同步輸出泽裳,全稱Presentation Time Stamp瞒斩。

在沒有B幀的情況下,DTSPTS的輸出順序是一樣的涮总。

FFmpeg中使用AVPacket結構體來描述解碼前或編碼后的壓縮數(shù)據(jù)胸囱,用AVFrame結構體來描述解碼后或編碼前的原始數(shù)據(jù)。

對于視頻來說瀑梗,AVFrame就是視頻 的一幀圖像烹笔,這幀圖像什么時候顯示給用戶,取決于它的PTS夺克。DTSAVPacket里的一個成員箕宙,表示該壓縮包應該在什么時候被解碼

GOP的概念

兩個I幀之間形成的一組圖片铺纽,就是GOP(Group Of Picture)的概 念。通常在為編碼器設置參數(shù)的時候哟忍,必須要設置gop_size的值狡门,其代 表的是兩個I幀之間的幀數(shù)目陷寝。

在提高視頻質量的技巧中,還有個技巧是多使用B幀其馏。

一般來說凤跑,I的壓縮率是7(與JPG差不多),P是20叛复,B可以達到50仔引,可見使用B幀能節(jié)省大量空間。

結合IPB幀和圖1-11褐奥,相信大家能夠更好地理解PTS與DTS的概念咖耘。

image.png

本文是對音視頻開發(fā)進階指南書籍的總結。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末撬码,一起剝皮案震驚了整個濱河市儿倒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌呜笑,老刑警劉巖夫否,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叫胁,居然都是意外死亡凰慈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門驼鹅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來微谓,“玉大人,你說我怎么就攤上這事谤民⊙吣穑” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵张足,是天一觀的道長触创。 經(jīng)常有香客問我,道長为牍,這世上最難降的妖魔是什么哼绑? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮碉咆,結果婚禮上抖韩,老公的妹妹穿的比我還像新娘。我一直安慰自己疫铜,他們只是感情好茂浮,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般席揽。 火紅的嫁衣襯著肌膚如雪顽馋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天幌羞,我揣著相機與錄音寸谜,去河邊找鬼。 笑死属桦,一個胖子當著我的面吹牛熊痴,可吹牛的內容都是我干的。 我是一名探鬼主播聂宾,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼果善,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了亏吝?” 一聲冷哼從身側響起岭埠,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蔚鸥,沒想到半個月后惜论,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡止喷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年馆类,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弹谁。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡乾巧,死狀恐怖,靈堂內的尸體忽然破棺而出预愤,到底是詐尸還是另有隱情沟于,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布植康,位于F島的核電站旷太,受9級特大地震影響,放射性物質發(fā)生泄漏销睁。R本人自食惡果不足惜供璧,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冻记。 院中可真熱鬧睡毒,春花似錦、人聲如沸冗栗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至偶房,卻和暖如春趁曼,著一層夾襖步出監(jiān)牢的瞬間军浆,已是汗流浹背棕洋。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乒融,地道東北人掰盘。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像赞季,于是被迫代替她去往敵國和親愧捕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內容

  • 音視頻之所以叫音視頻是因為他由音頻和視頻構成申钩,我們平時看的視頻其實就是音視頻次绘。本文將記錄筆者在學習音視頻遇到的概念...
    Seacen_Liu閱讀 3,058評論 1 3
  • 本文中涉及到的一些編碼,圖像等的具體處理在代碼上的體現(xiàn)可查看:[總結]視音頻編解碼技術零基礎學習方法 基本概念-顏...
    哈庫吶瑪塔塔__閱讀 603評論 0 0
  • 前言 早在之前就對音視頻開發(fā)這塊兒比較感興趣,但是一直沒有下定決心學習,一個是覺得這塊兒很難,二是感覺自己沒有時間...
    CoderP1閱讀 1,313評論 2 12
  • 推薦指數(shù): 6.0 書籍主旨關鍵詞:特權撒遣、焦點邮偎、注意力、語言聯(lián)想义黎、情景聯(lián)想 觀點: 1.統(tǒng)計學現(xiàn)在叫數(shù)據(jù)分析禾进,社會...
    Jenaral閱讀 5,705評論 0 5
  • 城空了泻云,有樹長出來 我的城死了 鑄起它的人,殺死它的人 不愿因為這件事而驕傲 一座城的終結 永遠因為終結這件事而顯...
    于十六閱讀 2,852評論 6 17