iOS音視頻一-音頻理論

一、簡介:

關(guān)于聲音的物理定義:

  • 聲音:是由物體振動(dòng)產(chǎn)生的聲波。是通過介質(zhì)傳播并能被人或動(dòng)物聽覺器官所感知的波動(dòng)現(xiàn)象。

  • 最初發(fā)出振動(dòng)的物體叫聲源。聲音以的形式振動(dòng)傳播。聲音是聲波通過任何物質(zhì)傳播形成的運(yùn)動(dòng)。

  • 聲音作為一種波,頻率在20 Hz~20 kHz之間的聲音是可以被人耳識(shí)別的。

二、音頻簡介:

任何我們可以聽見的聲音經(jīng)過音頻線或話筒的傳輸都是一系列的模擬信號(hào)。模擬信號(hào)是我們可以聽見的。而數(shù)字信號(hào)就是用一堆數(shù)字記號(hào)(二進(jìn)制的1和0)來記錄聲音,而不是用物理手段來保存信號(hào)(用普通磁帶錄音就是一種物理方式)。
我們實(shí)際上聽不到數(shù)字信號(hào)。而聲音的存儲(chǔ)通常存儲(chǔ)的是音頻的數(shù)字信號(hào).模擬信號(hào)通過采樣--量化--編碼可以轉(zhuǎn)化為數(shù)字信號(hào).

相關(guān)概念:
采樣:
在音頻處理時(shí)要先把音頻的模擬信號(hào)變成數(shù)字信號(hào),這叫A/D轉(zhuǎn)換。要把音頻的模擬信號(hào)變成數(shù)字信號(hào),就需要采樣。

采樣率:
一秒鐘內(nèi)采樣的次數(shù)稱為采樣頻率,采樣率越高,失真越小.

8000hz 為電話采樣。
22050hz 的采樣頻率是常用的。
44100hz已是CD音質(zhì)。
超過48000的采樣對(duì)人耳已經(jīng)沒有意義...

采樣位數(shù)/位寬:
每個(gè)采樣數(shù)據(jù)記錄的是振幅, 采樣精度取決于采樣位數(shù)的大小:

數(shù)字信號(hào)是用0和1來表示的。采樣位數(shù)就是采樣值用多少位0和1來表示,也叫采樣精度,用的位數(shù)越多就越接近真實(shí)聲音。如用8位表示,采樣值取值范圍就是-128 ~ 127,如用16位表示,采樣值取值范圍就是-32768 ~ 32767。采樣位數(shù)越高,精度越高,聲音變化的梯度越小,聲音更加細(xì)膩,失真越低。當(dāng)然音頻文件的體積也會(huì)成倍的放大.

1 字節(jié)(也就是8bit) 只能記錄 256 個(gè)數(shù), 也就是只能將振幅劃分成 256 個(gè)等級(jí)
2 字節(jié)(也就是16bit) 可以細(xì)到 65536 個(gè)數(shù), 這已是 CD 標(biāo)準(zhǔn)了;
4 字節(jié)(也就是32bit) 能把振幅細(xì)分到 4294967296 個(gè)等級(jí), 實(shí)在是沒必要了。

聲道:
通常語音只用一個(gè)聲道。而對(duì)于音樂來說,既可以是單聲道(mono),也可以是雙聲道(即左聲道右聲道),還可以是多聲道,叫環(huán)繞立體聲。

編解碼 :
編碼過程:模擬信號(hào)->采樣->量化->編碼->數(shù)字信號(hào).

  • 通常把音頻采樣過程也叫做脈沖編碼調(diào)制編碼,即PCM(Pulse Code Modulation)編碼,采樣值也叫PCM值。脈沖編碼調(diào)制是數(shù)字通信的編碼方式之一。主要過程是將話音、圖像等模擬信號(hào)每隔一定時(shí)間進(jìn)行取樣,使其離散化,同時(shí)將抽樣值按分層單位四舍五入取整量化,同時(shí)將抽樣值按一組二進(jìn)制碼來表示抽樣脈沖的幅值。

  • 如果把采樣值直接保存或者發(fā)送,會(huì)占用很大的存儲(chǔ)空間。以16kHz采樣率16位采樣位數(shù)單聲道為例,一秒鐘就有16*16000/8 = 32000字節(jié)。為了節(jié)省保存空間或者發(fā)送流量,會(huì)對(duì)PCM值壓縮。

  • 目前主要有三大技術(shù)標(biāo)準(zhǔn)組織制定壓縮標(biāo)準(zhǔn):

1. ITU,主要制定有線語音的壓縮標(biāo)準(zhǔn)(g系列),有g(shù)711/g722/g726/g729等。
2. 3GPP,主要制定無線語音的壓縮標(biāo)準(zhǔn)(amr系列等),有amr-nb/amr-wb。后來ITU吸納了amr-wb,形成了g722.2。
3. MPEG,主要制定音樂的壓縮標(biāo)準(zhǔn),有11172-3,13818-3/7,14496-3等。

壓縮:
對(duì)于自然界中的音頻信號(hào),如果轉(zhuǎn)換成數(shù)字信號(hào),進(jìn)行音頻編碼,那么只能無限接近,不可能百分百還原。所以說實(shí)際上任何信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)都會(huì)“有損”。但是在計(jì)算機(jī)應(yīng)用中,能夠達(dá)到最高保真水平的就是PCM編碼。因此,PCM約定俗成了無損編碼
。我們而習(xí)慣性的把MP3列入有損音頻編碼范疇,是相對(duì)PCM編碼的。強(qiáng)調(diào)編碼的相對(duì)性的有損和無損

碼率:
碼率 = 采樣頻率 * 采樣位數(shù) * 聲道個(gè)數(shù); 例:采樣頻率44.1KHz,量化位數(shù)16bit,立體聲(雙聲道),未壓縮時(shí)的碼率 = 44.1KHz * 16 * 2 = 1411.2Kbps = 176.4KBps,即每秒要錄制的資源大小,理論上碼率和質(zhì)量成正比

1.bps(bits per second)即比特率、比特/秒、位/秒、每秒傳送位數(shù)

2.比特(bit)是信息技術(shù)中的最小單位。
文件大小(例如文本或圖像文件)通常以字節(jié)(Byte)為單位。一字節(jié)對(duì)應(yīng)八比特。

3.在數(shù)據(jù)傳輸中,數(shù)據(jù)通常是串行傳輸?shù)?,即一個(gè)比特接一個(gè)比特地傳輸。
數(shù)據(jù)速率的單位是比特每秒(bps),含義是每秒串行通過的位數(shù)。

4. Bps (Bytes per second), 即字節(jié)每秒,因?yàn)橐蛔止?jié)對(duì)應(yīng)八比特,所以1 Bps = 8bps。

常用音頻格式

WAV 格式:音質(zhì)高 無損格式 體積較大

AAC(Advanced Audio Coding) 格式:相對(duì)于 mp3,AAC 格式的音質(zhì)更佳,文件更小,有損壓縮,一般蘋果或者Android SDK4.1.2(API 16)及以上版本支持播放,性價(jià)比高

AMR 格式:壓縮比比較大,但相對(duì)其他的壓縮格式質(zhì)量比較差,多用于人聲,通話錄音

AMR分類:
AMR(AMR-NB): 語音帶寬范圍:300-3400Hz,8KHz抽樣

mp3 格式:特點(diǎn) 使用廣泛, 有損壓縮,犧牲了12KHz到16KHz高音頻的音質(zhì)

三、音頻編碼原理:

有一定電子基礎(chǔ)的都知道傳感器采集音頻信號(hào)是模擬量,而我們實(shí)際傳輸過程中使用的是數(shù)字量。而這就涉及到模擬轉(zhuǎn)數(shù)字的過程。而模擬信號(hào)數(shù)字化必須經(jīng)過三個(gè)過程,即抽樣、量化和編碼,以實(shí)現(xiàn)話音數(shù)字化的脈沖編碼調(diào)制(PCM,Pulse Coding Modulation)技術(shù)。

PCM.png
  • 抽樣(Sampling)

抽樣是把模擬信號(hào)以其信號(hào)帶寬2倍以上的頻率提取樣值,變?yōu)樵跁r(shí)間軸上離散的抽樣信號(hào)的過程。

  • 量化(quantizing)

抽樣信號(hào)雖然是時(shí)間軸上離散的信號(hào),但仍然是模擬信號(hào),其樣值在一定的取值范圍內(nèi),可有無限多個(gè)值。顯然,對(duì)無限個(gè)樣值一一給出數(shù)字碼組來對(duì)應(yīng)是不可能的。為了實(shí)現(xiàn)以數(shù)字碼表示樣值,必須將連續(xù)信號(hào)進(jìn)行離散,既將聲音信號(hào)振幅的值域,以采樣位寬所表示的范圍進(jìn)行量化。這一過程稱為量化。

量化后的抽樣信號(hào)與量化前的抽樣信號(hào)相比較,當(dāng)然有所失真,且不再是模擬信號(hào)。這種量化失真在接收端還原模擬信號(hào)時(shí)表現(xiàn)為噪聲,并稱為量化噪聲。量化噪聲的大小取決于把樣值分級(jí)“取整”的方式,分的級(jí)數(shù)越多,即量化級(jí)差或間隔越小,量化噪聲也越小。

  • 編碼(Coding)
    量化后的抽樣信號(hào)就轉(zhuǎn)化為按抽樣時(shí)序排列的一串十進(jìn)制數(shù)字碼流,即十進(jìn)制數(shù)字信號(hào)。簡單高效的數(shù)據(jù)系統(tǒng)是二進(jìn)制碼系統(tǒng),因此,應(yīng)將十進(jìn)制數(shù)字代碼變換成二進(jìn)制編碼,根據(jù)十進(jìn)制數(shù)字代碼的總個(gè)數(shù),可以確定所需二進(jìn)制編碼的位數(shù),即字長(采樣位數(shù))這種把量化的抽樣信號(hào)變換成給定字長的二進(jìn)制碼流的 過程稱為編碼。

四、音頻開發(fā)的具體內(nèi)容:

  • 音頻采集/播放
  • 音頻算法處理(去噪、靜音檢測、回聲消除、音效處理、功放/增強(qiáng)、混音/分離,等等)
  • 音頻的編解碼和格式轉(zhuǎn)換
  • 音頻傳輸協(xié)議的開發(fā)(SIP,A2DP、AVRCP,等等)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 前言: 記載資料多為網(wǎng)絡(luò)搜集,侵刪。 根據(jù)最近接觸的整機(jī)項(xiàng)目做了一些整機(jī)音頻相關(guān)基礎(chǔ)知識(shí)的總結(jié),如有不足或表述問題...
    Gawain_Knowknow閱讀 8,668評(píng)論 0 4
  • 前些日子由于項(xiàng)目需要,一直在研究iOS CoreAudio相關(guān)的內(nèi)容.在這里記錄一些筆記.現(xiàn)實(shí)生活中,我們聽到的聲...
    brownfeng閱讀 4,815評(píng)論 4 14
  • 概述 PCM 脈沖編碼調(diào)制是Pulse Code Modulation的縮寫。脈沖編碼調(diào)制是數(shù)字通信的編碼方式之一...
    充滿活力的早晨閱讀 34,238評(píng)論 0 19
  • 有陣子沒出文章,接下來爭取這段時(shí)間持續(xù)更新,將沉淀的東西記錄下來,廢話不多說剛接觸了音視頻方面,趁熱乎記錄一下,歡...
    vvengzt閱讀 5,624評(píng)論 0 20
  • ### YUV顏色空間 視頻是由一幀一幀的數(shù)據(jù)連接而成,而一幀視頻數(shù)據(jù)其實(shí)就是一張圖片。 yuv是一種圖片儲(chǔ)存格式...
    天使君閱讀 3,656評(píng)論 0 4

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