1. 程式人生 > >菜鳥也能懂的 - 音視訊基礎知識。

菜鳥也能懂的 - 音視訊基礎知識。

https://www.jianshu.com/p/614b3e6e641a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

前言

說到視訊,大家自己腦子裡基本都會想起電影、電視劇、線上視訊等等,也會想起一些視訊格式 AVI、MP4、RMVB、MKV等等。
但是我們如果認真思考這些應該就有很多疑問,比如以下問題:

*  mp4 和 mkv有什麼區別 ?
*  視訊封裝格式 和 解碼格式 有什麼區別?
*  什麼是H.264 ?什麼是 mpeg ?

等等很多疑問,我們不知道這些問題的答案是因為我們沒有去了解他們背後的東西,下面我會給大家分享當初我學習時候的整理的一些知識。
一、光與顏色

1,光和顏色
光是一種肉眼可以看見(接受)的電磁波(可見光譜)。在科學上的定義,光有時候是指所有的電磁波。光是由一種稱為光子的基本粒子組成。具有粒子性與波動性,或稱為波粒二象性。

人類肉眼所能看到的可見光只是整個電磁波譜的一部分。電磁波之可見光譜範圍大約為390~760nm(1nm=10-9m=0.000000001m)。
在這個世界如果沒有光,我們就無法生存。

顏色是視覺系統對可見光的感知結果,研究表明人的視網膜有對紅、綠、藍顏色敏感程度不同的三種錐體細胞。紅、綠和藍三種錐體細胞對不同頻率的光的感知程度不同,對不同亮度的感知程度也不同。

自然界中的任何一種顏色都可以由R,G,B 這 3 種顏色值之和來確定,以這三種顏色為基色構成一個RGB 顏色空間。
顏色=R(紅色的百分比)+G(綠色的百分比)+B(藍色的百分比),只要其中一種不是由其它兩種顏色生成,可以選擇不同的三基色構造不同的顏色空間。

如圖所示,適當的紅光和綠光能合成黃光;適當的綠光和藍光能合成青光;適當的藍光和紅光能合成品紅色的光;而適當的紅、綠、藍三色光能合成白光。因此紅、綠、藍三種色光被稱為色光的“三原色。”
在這裡插入圖片描述
2,顏色的度量
飽和度(saturation)
是相對於明度的一個區域的色彩,是指顏色的純潔性,它可用來區別顏色明暗的程度。完全飽和的顏色是指沒有滲入白光所呈現的顏色,例如僅由單一波長組成的光譜色就是完全飽和的顏色。
明度(brightness)
是視覺系統對可見物體輻射或者發光多少的感知屬性。它和人的感知有關。由於明度很難度量,因此國際照明委員會定義了一個比較容易度量的物理量,稱為亮度(luminance) 來度量明度,亮度(luminance)即輻射的能量。明度的一個極端是黑色(沒有光),另一個極端是白色,在這兩個極端之間是灰色。
光亮度(lightness)
是人的視覺系統對亮度(luminance)的感知響應值,光亮度可用作顏色空間的一個維,而明度(brightness)則僅限用於發光體,該術語用來描述反射表面或者透射表面。

3,顏色空間
在這裡插入圖片描述
顏色空間是表示顏色的一種數學方法,人們用它來指定和產生顏色,使顏色形象化。顏色空間中的顏色通常使用代表三個引數的三維座標來指定,這些引數描述的是顏色在顏色空間中的位置,但並沒有告訴我們是什麼顏色,其顏色要取決於我們使用的座標。

下面介紹幾種常見的顏色空間:
RGB:

用途:主要用來在LCD、CRT顯示器上用的。

RGB色彩模式是工業界的一種顏色標準,是通過對紅®、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍三個通道的顏色。

目前的顯示器大都是採用了RGB顏色標準,在顯示器上,是通過電子槍打在螢幕的紅、綠、藍三色發光極上來產生色彩的。

電腦螢幕上的所有顏色,都由這紅色綠色藍色三種色光按照不同的比例混合而成的。一組紅色,綠色,藍色就是一個最小的顯示單位。螢幕上的任何一個顏色都可以由一組RGB值來記錄和表達。

映象管內電子槍射出的三個電子束,它們分別射到屏上顯示出紅、綠、藍色的熒光點上,通過分別控制三個電子束的強度,可以改變三色熒光點的亮度。由於這些色點很小又靠得很近,人眼無法分辨開來,看到的是三個色點的複合.即合成的顏色。

以RGB24為例,影象畫素資料的儲存方式如下:
在這裡插入圖片描述
RGB的格式:
在這裡插入圖片描述
RGB16 RGB24 RGB32 等等這些到底格式有什麼區別呢 ?

總的來說區別就是一個畫素所使用的位數不同,顯示出來的色彩豐富度不同,位數越大,色彩越豐富。

計算機使用的都是二進位制,因此所有的數量級都是建立在二進位制的基礎上的,無論是儲存空間,運算速度,檔案大小等等。
如果要表示顏色,每一個對應的顏色都需要一個二進位制程式碼來表示,

使用8位的二進位制, 可以表示 2^8 (2的8次方) , 也就是256種色彩。
使用16位的二進位制,可以表示 2^16 (2 的16次方),也就是65536種色彩。
使用24位的二進位制,可以表示 2^24 (2的24次方) ,也就是16,777,216種色彩。

一般稱24bit以上的色彩為真彩色,當然還有采用30bit、36bit、42bit的。使用的色彩程式碼越長,同樣畫素的檔案的檔案大小也就相應的成冪次級增長。使用超過16位以上的色彩檔案在普通的顯示器,尤其是液晶顯示器上看不出任何區別,原因是液晶顯示器本身不能顯示出那麼多的色彩。但是對於彩色印刷就非常有用,因為油墨的點非常的細,同時由於印刷尺幅的放大原因, 更大的檔案可以在印刷的時候呈現出更細膩的層次和細節。

YUV:

用途:主要用於視訊訊號的壓縮、傳輸和儲存,和向後相容老式黑白電視。

在生理學中,有一條規律,那就是人類視網膜上的視網膜杆細胞要多於視網膜錐細胞,說得通俗一些,視網膜杆細胞的作用就是識別亮度,而視網膜錐細胞的作用就是識別色度。所以,人眼對亮度解析度的敏感度高於對色彩解析度的敏感度
在這裡插入圖片描述
從上圖我們可以看出,我們更容易識別去除色彩的影象,而對於單獨剝離出的只有色彩的影象,不好識別。

YUV色彩模型就是利用這個原理,把亮度與色度分離,根據人對亮度更敏感些,增加亮度的訊號,減少顏色的訊號,以這樣“欺騙”人的眼睛的手段來節省空間,從而適合於影象處理領域。

YUV三個字母中,其中"Y"表示明亮度(Lumina nce或Luma),也就是灰階值;而"U"和"V"表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定畫素的顏色。

使用YUV的優點有兩個:
一、彩色YUV影象轉黑白YUV影象。
如果只有Y訊號分量而沒有U、V分量,那麼這樣表示的影象就是黑白灰度影象。因此可相容老式黑白電視。

二、YUV是資料總尺寸小於RGB格式。
因為YUV,可以增加亮度的訊號,減少顏色的訊號,用於減少體積。
YCbCr :

在技術文件裡,YUV經常有另外的名字, YCbCr ,其中Y與YUV 中的Y含義一致,Cb , Cr 同樣都指色彩,只是在表示方法上不同而已,Cb Cr 就是本來理論上的“分量/色差”的標識。C代表分量(是component的縮寫)Cr、Cb分別對應r(紅)、b(藍)分量訊號,Y除了g(綠)分量訊號,還疊加了亮度訊號。

YCbCr模型來源於YUV模型,算是YUV的壓縮版本,不同之處在於Y’CbCr用於數字影象領域,YUV用於模擬訊號領域,MPEG、DVD、攝像機中常說的YUV其實是Y’CbCr。

其中Y與YUV 中的Y含義一致,Cb , Cr 同樣都指色彩,,只是在表示方法上不同而已,Cb Cr 就是本來理論上的“分量/色差”的標識。C代表分量(是component的縮寫)Cr、Cb分別對應r(紅)、b(藍)分量訊號,Y除了g(綠)分量訊號,還疊加了亮度訊號。

在YUV 家族中, YCbCr 是在計算機系統中應用最多的成員, 其應用領域很廣泛,JPEG、MPEG均採用此格式。一般人們所講的YUV大多是指YCbCr。

YCbCr 有許多取樣格式, 如4∶4∶4 , 4∶2∶2 , 4∶1∶1 和4∶2∶0:

**4:4:4 **

在這裡插入圖片描述
YUV三個通道的抽樣率相同,因此在生成的影象裡,每個象素的三個分量資訊完整。

**4:2:2 **

在這裡插入圖片描述
每個色差通道的抽樣率是亮度通道的一半,所以水平方向的色度抽樣率只是4:4:4的一半

4:1:1

在這裡插入圖片描述
4:1:1的色度抽樣,是在水平方向上對色度進行4:1抽樣。對於低端使用者和消費類產品這仍然是可以接受的。

4:2:0

在這裡插入圖片描述
4:2:0並不意味著只有Y,Cb而沒有Cr分量。它指得是對每行掃描線來說,只有一種色度分量以2:1的抽樣率儲存。相鄰的掃描行儲存不同的色度分量,也就是說,如果一行是4:2:0的話,下一行就是4:0:2,再下一行是4:2:0…以此類推。對每個色度分量來說,水平方向和豎直方向的抽樣率都是2:1,所以可以說色度的抽樣率是4:1。對非壓縮的8位元量化的視訊來說,每個由2x2個2行2列相鄰的畫素組成的巨集畫素需要佔用6位元組記憶體。

4,顏色空間的轉換:
不同顏色可以通過一定的數學關係相互轉換:

RGB轉YUV:
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
Cr = V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
Cb = U = -( 0.148 * R) - (0.291 * G) + (0.439 * B) + 128

YUV轉RGB:
B = 1.164(Y - 16) + 2.018(U - 128)
G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
R = 1.164(Y - 16) + 1.596(V - 128)

二、電視制式
1,介紹

電視訊號的標準簡稱制式,可以簡單地理解為用來實現電檢視像或聲音訊號所採用的一種技術標準,就是用來實現電檢視像訊號和伴音訊號,或其它訊號傳輸的方法,和電檢視像的顯示格式,以及這種方法和電檢視像顯示格式所採用的技術標準。

只有遵循一樣的技術標準,才能夠實現電視機正常接收電視訊號、播放電視節目。就像電源插座和插頭,規格一樣才能插在一起,中國的插頭就不能插在英國規格的電源插座裡,只有制式一樣,才能順利對接。

嚴格來說,電視制式有很多種,對於模擬電視,有黑白電視制式,彩色電視制式,以及伴音制式等。

目前世界上現行的彩色電視制式有三種:NTSC 制、PAL 制和SECAM 制。
中國大部分地區使用PAL制式,日本、韓國及東南亞地區與美國等歐美國家使用NTSC制式,俄羅斯則使用SECAM制式。
2,制式說明

NTSC電視標準:
NTSC電視標準主要用於美、日等國家和地區。

NTSC電視標準的特性:
(1) 525 行/幀,每秒29.97幀(簡化為30幀)
(2)電視掃描線為525線。
(3)隔行掃描,一幀分成2 場(field),262.5 線/場
(4)24位元的色彩位深。
(5)高寬比:電視畫面的長寬比(電視為4:3;電影為3:2;高清晰度電視為16:9)
(6)場頻為每秒60場( 幀數30 * 2 = 60 )
它是1952年由美國國家電視標準委員會指定的彩色電視廣播標準,它採用正交平衡調幅的技術方式,故也稱為正交平衡調幅制。

優點是電視接收機電路簡單,缺點是容易產生偏色,因此NTSC制電視機都有一個色調手動控制電路,供使用者選擇使用;

PAL電視標準:
PAL電視標準主要用於中國、歐洲等國家和地區。

PAL電視標準的特性

(1)625 行(掃描線)/幀,每秒25幀.
(2)電視掃描線為625線
(3)隔行掃描,2 場/幀,312.5 行/場
(4)24位元的色彩位深
(5)畫面的寬高比為4:3。
(6)場頻為每秒50場( 幀數25 * 2 = 50 )
它是西德在1962年指定的彩色電視廣播標準,它採用逐行倒相正交平衡調幅的技術方法,克服了NTSC制相位敏感造成色彩失真的缺點。

SECAM電視標準:
SECAM是法文的縮寫,意為順序傳送彩色訊號與儲存恢復彩色訊號制,是由法國在1956年提出,1966年制定的一種新的彩色電視制式。它也克服了NTSC制式相位失真的缺點,但採用時間分隔法來傳送兩個色差訊號。

PAL制式和SECAM制式可以克服NTSC制容易偏色的缺點,但電視接收機電路複雜,要比NTSC制電視接收機多一個一行延時線電路,並且影象容易產生彩色閃爍。

因此三種彩色電視制式各有優缺點,互相比較結果,誰也不能戰勝誰,所以,三種彩色電視制式互相共存已經五十多年。

三、照相機與攝像機

視訊最早是由攝像機拍攝的製作而成的,攝像機的發明又是在照相機的基礎之上的,所以說在這裡,就不得簡單說明下照相機與攝像機。

1,照相機基本原理
現實中照相機和攝像機的成像原理都是基於小孔成像為基礎的。

我們知道,光在同一均勻介質中、不受引力作用干擾的情況下,沿直線傳播;因此它在遇到阻隔物上的孔洞時會穿過它,並能在孔後一定距離內的對應平面上投射出一個倒立的實影;只要投影面周圍的環境足夠暗,影像就能被人眼所觀看到。相信學生時代,大家都曾在自然常識課上做過“小孔成像”的試驗,老師也肯定提到過這一原理與相機之間密不可分的關聯;
在這裡插入圖片描述
照相技術的發明者正是利用光的這一的特性與傳遞原理,以光子為載體,把某一瞬間被攝景物的光資訊以能量方式通過設在相機上“孔洞”傳遞給後方的感光材料。
在這裡插入圖片描述
照相機的基本工作原理就是——將景物影像通過光線的各種傳播特性準確地聚焦在具有感光能力的成像平面上,通過各種輔助手段控制光線的流量,從而獲得符合使用者要求的影像畫面,最後通過不同的手段儲存下來。

最早的照相機結構十分簡單,僅包括暗箱、鏡頭和感光材料。
現代照相機比較複雜,具有鏡頭、光圈、快門、測距、取景、測光、輸片、計數、自拍等系統,是一種結合光學、精密機械、電子技術和化學等技術的複雜產品。

2,攝像機的發明過程
攝像機的發明,起源於一個有趣的故事。

1872年的一天,在美國加利福尼亞州一個酒店裡,斯坦福與科恩發生了激烈的爭執:馬奔跑時蹄子是否都著地?斯坦福認為奔跑的馬在躍起的瞬間四蹄是騰空的;科恩卻認為,馬奔跑時始終有一蹄著地。爭執的結果誰也說服不了誰,於是就採取了美國人慣用的方式打賭來解決。他們請來一位馴馬好手來做裁決,然而,這位裁判員也難以斷定誰是誰非。這很正常,因為單憑人的眼睛確實難以看清快速奔跑的馬蹄是如何運動的。

於是富翁請來了英國攝影師愛德華.麥布里奇來作實驗。麥布里奇把24架照相機的快門連上24根線,在極短的時間裡,使照相機依次拍下24張照片,再將這些照片一張一張地依次按次序看下去,以便觀察馬兒是怎麼樣躍進的,又是怎麼樣著地的。為了這一實驗,麥布里奇和助手們吃盡了苦頭,付出了大量的勞動,歷時六年的工夫,終於拍出了一套寶貴的"馬跑小道"的珍貴資料,同時也證實了這個美國富翁的預言是正確的。然而,麥布里奇的成功又向人們提出了一個新的問題:如何解決連續攝影的問題,因為他用24架照相機僅僅只能拍攝奔馬的一段動作,如果奔馬跑一公里的長距離,就得用成千上萬架照相機,膠捲的長度將會繞地球一週了。所以,如何運用一架單鏡頭的攝影機來代替多鏡頭的攝影機或者一組攝影機,就成了解決連續攝影的關鍵問題。

1874年,法國的朱爾·讓桑發明了一種攝影機。他將感光膠片卷繞在帶齒的供片盤上,在一個鐘擺機構的控制下,供片盤在圓形供片盒內做間歇供片運動,同時鐘擺機構帶動快門旋轉,每當膠片停下時,快門開啟曝光。讓桑將這種相機與一架望遠鏡相接,能以每秒一張的速度拍下行星運動的一組照片。讓桑將其命名為攝影槍,

這就是現代攝影機的始祖。

3,視訊經過哪些步驟,儲存到計算機中?

(1)成像
主要靠鏡頭來完成,拍攝主體反射的光線通過鏡頭進入相機後聚焦,形成清晰影象。

(2)光電轉換
影象落在CCD/CMOS光電器材上,通過光電轉換形成電訊號。

(3)記錄
在這裡插入圖片描述
經處理器加工,進行編碼壓縮,然後把訊號記錄在磁帶或儲存卡上。
四、聲音

1,聲音介紹
在這裡插入圖片描述
聲音:
聲音是一種物理現象。物體振動時產生聲波通過空氣傳到人們的耳膜經過大腦的反射被感知為聲音。

聲音有頻率和振幅的特徵,頻率對應於時間軸線,振幅對應於電平軸線。

聲音以波的形式振動(震動)傳播,聲音作為一種波,頻率在20 Hz~20 kHz之間的聲音是可以被人耳識別的。

音的高低:是由於物體在一定時間內的振動次數頻率而決定的。振動次數多音則高,振動次數少音則低。

音的長短:是由於音的延續時間的不同而決定的,音的延續時間長音則長,音的延續時間短音則短。

音的強弱:是由於振幅音的振動的幅度的大小決定的。振幅大音則強振幅小音則弱。

音色:即聲音的特色是由發聲體的材料、結構以及泛音的多少決定的。

種類:

按照頻率分類:
頻率低於20Hz的聲波稱為次聲波;
頻率在 20Hz~20kHz的聲波稱為可聞聲;
頻率在 20kHz~1GHz的聲波稱為超聲波;
頻率大於1GHz的聲波稱為特超聲或微波超聲。

2,聲音儲存的發展,從 “模擬錄音” 到 “數字錄音”

談到錄音,不得不談到愛迪生髮明的現代錄音裝置的鼻祖:留聲機。

留音機 最初是1877年偉大的世界發明大王愛迪生髮明的,在一次除錯話筒時因為聽力不好,愛迪生用一根針來檢驗傳話膜的震動,不料針接觸到話膜後隨著聲音的強弱變化產生一種有規律的顫動,而這一現象就成了他發明的靈感。

因為我們都知道,傳送和接受是兩個相對應的過程。說話的快慢高低能使短針發生相應的不同顫動,那麼反過來,這種顫動也能發出原來的說話聲音,可以將聲波變換成金屬針的震動,然後將波形刻錄在圓筒形臘管的錫箔上。當針再一次沿著刻錄的軌跡行進時,便可以重新發出留下的聲音。於是他就用這一原理製作出了他的第一臺留音機。

隨著歷史的發展慢慢經過了 :
機械錄音(以留聲機、機械唱片為代表)----- 光學錄音(以電影膠片為代表)----- 磁性錄音(以磁帶錄音為代表)等模擬錄音方式,直到二十世紀七、八十年代逐漸開始進入了數字錄音(數字音訊)的時代。

3,數字音訊
什麼是音訊?
音訊(Audio)指人能聽到的聲音包括語音、音樂和其它聲音如環境聲、音效聲、自然聲等。

為什麼要存在數字音訊 ?
由物理學可知,複雜的聲波由許許多多具有不同振幅和頻率的正弦波組成。代表聲音的模擬資訊是個連續的量,不能由計算機直接處理,必須將其數字化。
經過數字化處理之後的數字聲音資訊能夠像文字和圖形資訊一樣進行儲存、檢索、編輯和其它處理。

什麼是數字音訊?
數字音訊是指使用數字編碼的方式也就是使用0和1來記錄音訊資訊,它是相對於模擬音訊來說的。

在CD光碟和計算機技術未出現之前都是模擬音訊(如錄音帶),其中數字/模擬轉換器簡稱:DAC、模擬/數字轉換器簡稱:ADC.

我們知道聲音可以表達成一種隨著時間的推移形成的一種波形:
在這裡插入圖片描述

但是如果想要直接描述這樣的一個曲線儲存到計算機中,是沒有辦法描述的。
假如描述也只能是這樣表達:曲線下去了,上去了,又下去了,又上去了,顯然這樣是很不合理的。
人們想到了一個辦法:
在這裡插入圖片描述
每隔一個小小的時間間隔,去用尺子量一下這個點的位置在哪裡。

那麼只要這個間隔是一定的,我們就可以把這個曲線描述成:{9,11,12,13,14,14,15,15,15,14,14,13,12,10,9,7…}

這樣描述是不是比剛才的方法要精確多了?如果我們把這個時間間隔取得更小,拿的尺子越精確,那麼測量得到的,用來描述這個曲線的數字也可以做到更加地精確。

然後我們可以把這些電平訊號轉化成二進位制資料儲存,播放的時候就把這些資料轉換為模擬的電平訊號再送到喇叭播出,就可以了。

用專業的術語來說,我們每兩次測一下位置的時間間隔,就是所謂的取樣率。取樣率等於多少,就意味著我們每秒鐘進行了多少次這樣的測量。所謂音質,就是指最後我們描述這個曲線的數字,到底和真實的曲線誤差有多大。

數字聲音和一般磁帶、廣播、電視中的聲音就儲存播放方式而言有著本質區別。相比而言,它具有儲存方便、儲存成本低廉、儲存和傳輸的過程中沒有聲音的失真、編輯和處理非常方便等特點。
4,從“模擬訊號”到“數字化”的過程:
在這裡插入圖片描述
模擬訊號到數字化的過程需要三個步驟:
(1)取樣:
所謂取樣,即以適當的時間間隔觀測模擬訊號波形不連續的樣本值替換原來的連續訊號波形的操作,又稱為取樣。

取樣的過程就是抽取某點的頻率值,很顯然,在一秒中內抽取的點越多,獲取得頻率資訊更豐富。

取樣的基本定理:為了復原波形,一次振動中,必須有2個點的取樣,人耳能夠感覺到的最高頻率為20kHz,因此要滿足人耳的聽覺要求,則需要至少每秒進行40k次取樣。

(2)量化:
在數字音訊技術中,把表示聲音強弱的模擬電壓用數字表示,如0.5V電壓用數字20表示,2V電壓是80表示。模擬電壓的幅度,即使在某電平範圍內,仍然可以有無窮多個,如1.2V,1.21V,1.215V…。而用數字來表示音訊幅度時,只能把無窮多個電壓幅度用有限個數字表示。即把某一幅度範圍內的電壓用一個數字表示,這稱之為量化。
在這裡插入圖片描述
(3)編碼: 
計算機內的基本數制是二進位制,為此我們也要把聲音資料寫成計算機的資料格式,這稱之為編碼。
在這裡插入圖片描述
5,數字音訊的分類:

數字音訊主要包括兩類:波形音訊 和 MIDI音訊:

** 波形音訊:**
波形音訊檔案是通過聲音錄入裝置錄製的原始聲音,直接記錄了原始真實聲音資訊的資料檔案,通常檔案較大。

MIDI音訊:
譯作樂器數字化介面,是為了把電子樂器與計算機相連而制定的一個規範,是數字音樂的國際標準。 數字式電子樂器的出現,為計算機處理音樂創造了極為有利的條件。MIDI聲音與數字化波形聲音完全不同,它不是對聲波進行取樣、量化和編碼,而是將電子樂器鍵盤的彈奏資訊記錄下來,包括鍵名、力度、時值長短等,這些資訊稱之為MIDI訊息,是樂譜的一種數字式描述。當需要播放時,只需從相應的MIDI檔案中讀出MIDI訊息,生成所需要的樂器聲音波形,經放大後由揚聲器輸出。
五、視訊相關專業術語

(1)視訊:
連續的圖象變化每秒超過24幀(Frame)畫面以上時,根據視覺暫留原理,人眼無法辨別單幅的靜態畫面,看上去是平滑連續的視覺效果,這樣連續的畫面叫做視訊。r
在這裡插入圖片描述
(2)幀(Frame):
是影像中常用的最小單位,相當於電影中膠片的每一格鏡頭,一幀就是一副靜止的畫面,連續的幀就形成了視訊。

(3)幀速率(FPS):
每秒鐘所傳輸圖片的個數,也可以理解為處理器每秒重新整理的次數,通常用FPS標識,當然幀數越高,畫面也就越流暢。

(4)轉碼 :
指將一段多媒體包括音訊、視訊或者其他的內容從一種編碼格式轉換成為另外一種編碼格式。
(原視訊 – 解碼 – 畫素資料 – 編碼 – 目標視訊)
(原音訊 – 解碼 – 音訊資料 – 編碼 – 目標音訊)

(5)視訊編碼:
講到視訊編碼,大家可能都會問為什麼視訊要編碼?
— 要知道,採集的原始音視訊訊號體積都非常大,裡面有很多相同的、眼看不到的、耳聽不到的內容,比如,如果視訊不經過壓縮編碼的話,體積通常是非常大的,一部電影可能就要上百G的空間。

— 專業的來說,視訊編碼也就是檔案當中的視訊所採用的壓縮演算法,視訊編碼的主要作用是將視訊畫素資料(RGB,YUV等)壓縮成為視訊碼流,從而降低視訊的資料量。

(6)視訊解碼:
有了編碼,當然也需要有解碼。
因為壓縮(編碼)過的內容無法直接使用,使用(觀看)時必須解壓縮,還原為原始的訊號(比如視訊中某個點的顏色等),這就是“解碼“或者”解壓縮“。

(7)取樣頻率:
指錄音裝置在一秒鐘內對聲音訊號的取樣次數,它用赫茲(Hz)來表示,比如44.1KHz取樣率的聲音就是要花費44000個數據點來描述1秒鐘的聲音波形。原則上取樣率越高,聲音質量越好。

在數字音訊領域,常用的取樣率有:

**(8)取樣位數: **
表示了計算機度量聲音波形幅度(音量)的精度,就是通常所說的音效卡的位數。

就像表示顏色的位數一樣(8位表示256種顏色,16位表示65536種顏色),有8位,16位,24位等。這個數值越大,解析度就越高,錄製和回放的聲音就越真實。

每一個取樣點都需要用一個數值來表示大小,這個數值的資料型別大小可以是:8bit、16bit、32bit 等等,位數越多,表示得就越精細,聲音質量自然就越好,而資料量也會成倍增大。我們在音訊取樣過程中常用的位寬是 8bit 或者 16bit。

(9)位元率(位元速率):
表示單位時間(1秒)內傳送的位元數,一般我們用的單位是kbps,其英文是 Kilobits per second,意即“千位每秒”(根據發音亦譯作“千位元每秒”),意思是說每過一秒鐘,有多少千位元的資料流過,因此位元速率也經常被稱為“位元率”。

— 音訊中 位元速率:就是音訊檔案或者音訊流中1秒中的資料量,如1.44Mbps,就是1秒鐘內的資料量1.44Mbits 。 位元速率越高,傳送的資料越大,音質越好,
聲音位元率 = 取樣率(Hz) x 取樣位數(bit) x 聲道數.

— 視訊中 位元速率:原理與聲音中的相同,都是指由模擬訊號轉換為數字訊號後,單位時間內的二進位制資料量,通俗來講就是把每秒顯示的圖片進行壓縮後的資料量。
視訊位元率(位/秒)= (畫面尺寸彩色位數(bit)幀數)**

假設有一張標準音樂CD光碟容量是746.93MB(注意大B是位元組,小b是位。一位元組(B)等於8位(b)。)

CD音訊是以取樣率為44.1KHZ,取樣位數為16位,左右雙聲道(立體聲)進行取樣的。而一張標準CD光碟的時長是74分鐘。

那麼容量計算公式為:(44100 x 16 x 2)/8 x (74 x 60)=783216000位元組 轉為MB為 783216000/1024/1024=746.93MB(兆位元組)

(9)場頻:
場頻又稱為重新整理頻率,即顯示器的垂直掃描頻率,指顯示器每秒所能顯示的圖象次數,單位為赫茲(Hz)。

一般在60-100Hz左右 場頻也叫螢幕重新整理頻率,指螢幕在每秒鐘內更新的次數。

人眼睛的視覺暫留約為每秒16-24次左右,因此只要以每秒30次或更短的時間間隔來更新螢幕畫面,就可以騙過人的眼睛,讓我們以為畫面沒有變過。

實際上每秒30次的螢幕重新整理率所產生的閃爍現象我們的眼睛仍然能夠察覺從而產生疲勞的感覺。所以螢幕的場頻越高,畫面越穩定,使用者越感覺舒適。

另外:熒光屏上塗的是中短餘輝熒光材料,如果電子槍不進行不斷的反覆“點亮”、“熄滅”熒光點 的話,就會導致影象變化時前面影象的殘影滯留在螢幕上。

一般螢幕重新整理率場頻在每秒75次以上人眼就完全覺察不到了,所以建議場頻設定在75Hz-85Hz之間,這足以滿足一般使用者的需求了。

場頻越大,圖象重新整理的次數越多,圖象顯示的閃爍就越小,畫面質量越高。注意,這裡的所謂“重新整理次數”和我們通常在描述遊戲速度時常說的“畫面幀數”是兩個截然不同的概念。後者指經電腦處理的動態影象每秒鐘顯示映象管電子槍的掃描頻率。

場頻與影象內容的變化沒有任何關係,即便螢幕上顯示的是靜止影象,電子槍也照常更新。掃描頻率過低會導致螢幕有明顯的閃爍感,即穩定性差,容易造成眼睛疲勞。早期顯示器通常支援60Hz的掃描頻率,但是不久以後的調查表明,仍然有5%的人在這種模式下感到閃爍,因此VESA組織於1997年對其進行修正,規定85Hz逐行掃描為無閃爍的標準場頻。

常見疑問:

(1)為什麼視訊需要壓縮?
未經壓縮的數字視訊的資料量巨大,儲存困難,一張DVD只能儲存幾秒鐘的未壓縮數字視訊。

如果不進行壓縮,1兆的頻寬傳輸一秒的數字電視視訊需要大約4分鐘。

(2)為什麼常見的CD,都是為44.1kHz ?
人耳能夠感覺到的最高頻率為20kHz,因此要滿足人耳的聽覺要求,則需要至少每秒進行40k次取樣,用40kHz表達,但是為什麼大部分都是44.kHz 呢.

最開始,人們採用錄影帶當做數碼裝置當時世界上錄影機主要有兩大制式:歐洲的PAL制式和美國日本的NTSC制式。適用於PAL制式錄影機的編碼器,其取樣頻率就是44.1kHz。適用於NTSC制式錄影機的編碼器,其取樣頻率就是44.056 ,後來統一到44.1kHz了。

當時PAL 制式的錄影機 :3個取樣點 x 245條掃描線 x 60Hz場頻 ( 3 x 245 x 60 = 44100)
** --- 總的來說就是歷史原因 --- **

(2)奈魁斯特(NYQUIST)取樣定理是?
用2倍於一個正弦波的頻率進行取樣就能完全真實地還原該波形,因此一個數碼錄音波的取樣頻率的取值直接關係到它的最高還原頻率指標。
例如用44.1KHZ的取樣頻率進行取樣,則可還原為最高22.05KHZ的頻率——這個數值略高於人耳的聽覺極限。

(3)無失真壓縮和有失真壓縮的區別是什麼?
有失真壓縮:相當於一本書頁數特別多,文字特別多,加入我們把書中修飾詞去掉,囉嗦的情節去掉,雖然去掉這些,但是核心思想還沒變,這就是類似於有失真壓縮。

無失真壓縮:相當於一本書特別長,我們把裡面重複出現的人名,地名,用符號代替,然後書中標註上所有這些符號所代表的人名或地名,這樣就短了些,這種就類似於無失真壓縮 。

六、視訊的構成
在這裡插入圖片描述
一個完整的視訊檔案是由音訊和視訊2部分組成的,而視音訊又是由封裝格式和編碼格式構成,我們在表面看到的如AVI、RMVB、MKV、WMV、MP4、3GP、FLV等檔案其實只能算是一種封裝標準,一個外殼。

外殼裡面核心還有一層是編碼檔案,編碼檔案經過封裝後,才成為我們現在看到的.mp4 .avi等視訊。如H.264、mpeg-4等就是視訊編碼格式, MP3、AAC等就是音訊編碼格式。

例如:將一個H.264視訊編碼檔案和一個MP3視訊編碼檔案按AVI封裝標準封裝以後,就得到一個AVI字尾的視訊檔案,這個就是我們常見的AVI視訊檔案了。

部分技術先進的容器還可以同時封裝多個視訊、音訊編碼檔案,甚至同時封裝進字幕,如MKV封裝格式。MKV檔案可以做到一個檔案包括多語種發音、多語種字幕,適合不同人的需要。
1,封裝格式
在這裡插入圖片描述
(1)封裝格式(也叫容器)就是將已經編碼壓縮好的視訊軌和音訊軌按照一定的格式放到一個檔案中,也就是說僅僅是一個外殼,可以把它當成一個放視訊軌和音訊軌的資料夾也可以。
(2)通俗點說視訊軌相當於飯,而音訊軌相當於菜,封裝格式就是一個碗,或者一個鍋,用來盛放飯菜的容器。
(3)封裝格式和專利是有關係的,關係到推出封裝格式的公司的盈利。
(4)有了封裝格式,才能把字幕,配音,音訊和視訊組合起來。
(5)常見的AVI、RMVB、MKV、ASF、WMV、MP4、3GP、FLV等檔案都指的是一種封裝格式。

舉例MKV格式的封裝:
在這裡插入圖片描述
2,編碼格式

編碼格式指的是對封裝格式中視訊流資料的壓縮編碼方式的一種描述。
視訊不進行壓縮的話,體積會非常大。

視訊壓縮,主要壓縮了哪些東西:
空間冗餘:影象相鄰畫素之間有較強的相關性
時間冗餘:視訊序列的相鄰影象之間內容相似
編碼冗餘:不同畫素值出現的概率不同
視覺冗餘:人的視覺系統對某些細節不敏感
知識冗餘:規律性的結構可由先驗知識和背景知識得到

在這裡插入圖片描述
常見的編碼格式有以下
視訊編碼格式:
在這裡插入圖片描述
音訊編碼格式:
在這裡插入圖片描述
國際上制定視訊編解碼技術的組織有兩個:
1,“國際標準化組織(ISO)” 它制定的標準有MPEG-1、MPEG-2、MPEG-4 等。
視訊編碼:
**(1)MPEG-1 : **
制定於1993年,較早的視訊編碼,質量比較差,它是為CD光碟介質定製的視訊和音訊壓縮格式。

主要用於 CD-ROM 儲存視訊,國內最為大家熟悉的就是 VCD(Video CD),他的視訊編碼就是採用 MPEG-1。

MPEG-1的壓縮演算法可以把一部 120 分鐘長的電影(原始視訊檔案)壓縮到1.2 GB左右大小.(*.dat格式的檔案)

MPEG-1音訊分三層,就是MPEG-1 Layer I, II, III,其中第三層協議也就是MPEG- 1 Layer 3,簡稱MP3。MP3目前已經成為廣泛流傳的音訊壓縮技術。

缺點:

1個音訊壓縮系統限於兩個通道(立體聲)
沒有為隔行掃描視訊提供標準化支援,且壓縮率差
只有一個標準化的“profile” (約束引數位元流),不適應更高解析度的視訊。MPEG - 1可以支援4k的視訊,但難以提供更高解析度的視訊編碼並且標識硬體的支援能力。
支援只有一個顏色空間,4:2:0。

**(2)MPEG-2 : **
制定於1994年,通常用來為廣播訊號提供視訊和音訊編碼, 包括衛星電視、有線電視等。MPEG-2經過少量修改後,也成為DVD產品的核心技術。

使用MPEG-2的壓縮算法制作一部 120 分鐘長的電影(原始視訊檔案)在4GB到8GB大小左右.(*.vob格式的檔案)

** (3)MPEG-3 :**原本目標是為高解析度電視(HDTV)設計,隨後發現MPEG-2已足夠HDTV應用,故 MPEG-3的研發便中止。

** (4)MPEG-4 : **公佈於1998年,為了應對網路傳輸等環境,傳統的 MPEG-1/2 已經不能適應,所以促使了 MPEG-4 的誕生,
MPEG-4,主要用途在於網上流媒體、光碟、 語音傳送(視訊電話),以及電視廣播。

MPEG-4 不僅是針對一定位元率下的視訊、音訊編碼,更加註重了多媒體系統的互動性和靈活性。利用很窄的頻寬,通過幀重建技術,壓縮和傳輸資料,以求以最少的資料獲得最佳的影象質量。

MPEG-4代表了基於模型/物件的第二代壓縮編碼技術,它充分利用了人眼視覺特性,抓住了影象資訊傳輸的本質,從輪廓、紋理思路出發,支援基於視覺內容的互動功能,這適應了多媒體資訊的應用由播放型轉向基於內容的訪問、檢索及操作的發展趨勢。

2,“國際電聯(ITU-T)” 它制定的標準有H.261、H.263、H.263+ 等。
視訊編碼:
** (1)H.261 : **
約1990年制定,是最早的運動影象壓縮標準,它詳細制定了視訊編碼的各個部分, 主要在老的視訊會議和視訊電話產品中使用,它是第一個實用的數字視訊編碼標準。

H.261的設計相當成功,之後的視訊編碼國際標準基本上都是基於 H.261相同的設計框架,包括 MPEG-1,MPEG-2/H.262,H.263,甚至 H.264 。

** (2)H.263 : **
約1996年制定 H.263的編碼演算法與H.261一樣,但做了一些改善和改變,以提高效能和糾錯能力。

** (3)H.264:**
H.264等同於MPEG-4的第10部.

H.264/AVC是兩大組織集合H.263+和Mpeg4的優點聯合推出的最新標準,更高的資料壓縮比。在同等的影象質量條件下,H.264的資料壓縮比能比H.263高2倍,比MPEG-4高1.5倍, 舉個例子,原始檔案的大小如果為88GB,採用MPEG-2壓縮標準壓縮後變成3.5GB,壓縮比為25∶1,而採用H.264壓縮標準壓縮後變為879MB,從88GB到879MB,H.264的壓縮比達到驚人的102∶1。

(ITU-T給這個標準命名為H.264(以前叫做H.26L), 而ISO/IEC稱它為MPEG-4 AVC 高階視訊編碼(Advanced Video Coding,AVC),並且它將成為MPEG-4標準的第10部分)

從H.261視訊編碼建議,到H.262/3、MPEG-1/2/4等都有一個共同的不斷追求的目標,即在儘可能低的位元速率(或儲存容量)下獲得儘可能好的影象質量。

3,視訊編碼的發展歷史
在這裡插入圖片描述
4,常見視訊封裝格式介紹

** (1) AVI:**
即Audio Video Interleaved(音訊視訊交錯格式),由微軟在 1992年11月推出的一種多媒體檔案格式,用於對抗蘋果Quicktime的技術。現在所說的AVI多是指一種封裝格式。

AVI格式上限制比較多,只能有一個視訊軌道和一個音訊軌道(現在有非標準外掛可加入最多兩個音訊軌道),還可以有一些附加軌道,如文字等。AVI格式不提供任何控制功能。
特點:相容性好、跨平臺支援、恆定幀率,體積大、容錯性差,不是流媒體,已經過時。

** (2) MKV:**
它是一種新的多媒體封裝格式,是一種萬能的封裝容器,這個封裝格式可把多種不同編碼的視訊及16條或以上不同格式的音訊和語言不同的字幕封裝到一個Matroska Media檔內。
特點:支援多音軌、軟字幕、流式傳輸、強大的相容性, 能夠在一個檔案中容納無限數量的視訊、音訊、圖片或字幕軌道,任何視訊編碼檔案都可以放入MKV 。

** (3) MP4:**
MP4是比較新的封裝格式,但是相對於萬能的MKV,功能遜色一些,但是對於目前的非電腦平臺,可移植性較好。
特點:體積最小,清晰度高、流式傳輸、強大的相容性,手機平板等眾多終端支援。

** (4) MOV:**
MOV是Apple公司開發的QuickTime音訊、視訊檔案封裝格式, 預設的播放器是蘋果的QuickTime 。

MOV具有較高的壓縮比率和較完美的視訊清晰度等特點,但是其最大的特點還是跨平臺性,即不僅能支援MacOS,同樣也能支援Windows系列。

MOV採用了有失真壓縮方式的MOV格式檔案,畫面效果較AVI格式要稍微好一些。
特點:與AVI同期推出,比較老,不流行。

** (4) RM:**
Real Networks公司所制定的音訊/視訊壓縮規範Real Media中的一種,Real Player能做的就是利用Internet資源對這些符合Real Media技術規範的音訊/視訊進行實況轉播。

在Real Media規範中主要包括三類檔案:RealAudio、Real Video和Real Flash (Real Networks公司與Macromedia公司合作推出的新一代高壓縮比動畫格式)。REAL VIDEO (RA、RAM)格式由一開始就是定位就是在視訊流應用方面的,也可以說是視訊流技術的始創者。

(5) RMVB
RealMedia可變位元率(RMVB)是RealNetworks公司開發的RealMedia多媒體數字容器格式的可變位元率(VBR)擴充套件版本,較上一代RM格式畫面要清晰很多,原因是降低了靜態畫面下的位元率。

它的先進之處在於RMVB視訊格式打破了原先RM格式那種平均壓縮取樣的方式,在保證平均壓縮比的 基礎上合理利用位元率資源,就是說靜止和動作場面少的畫面場景採用較低的編碼速率,這樣可以留出更多的頻寬空間,而這些頻寬會在出現快速運動的畫面場景時 被利用。這樣在保證了靜止畫面質量的前提下,大幅地提高了運動影象的畫面質量,從而影象質量和檔案大小之間就達到了微妙的平衡。

**(6) WMV **
.WMV檔案其實不是一個封裝格式。
WMV(Windows Media Video)是微軟公司開發的一組數字視訊編解碼格式的通稱,它是Windows Media架構下的一部分。

具體的這些,大家可以私下去查詢下。
在這裡插入圖片描述
微軟也開發了一種稱之為ASF(Advanced Systems Format)的數字容器格式,用來儲存WMV的視訊編碼。在同等視訊質量下,WMV格式的檔案可以邊下載邊播放,因此很適合在網上播放和傳輸。

** (7) ASF:**
用於微軟WMA和WMV的標準容器。

ASF (Advanced Streaming format高階流格式), ASF是MICROSOFT 為了和現在的 Real player 競爭而發展出來的一種可以直接在網上觀看視訊節目的檔案壓縮格式。

ASF使用了MPEG4的壓縮演算法,壓縮率和影象的質量都很不錯。因為ASF是以一個可以在網上即時觀賞的視訊“流”格式存在的,所以它的影象質量比VCD差一點點並不出奇,但比同是視訊“流”格式的RAM格式要好。

**(8) FLV: **
Flash Video(簡稱FLV)是由Macromedia公司開發的屬於自己的流式視訊格式,FLV也就是隨著Flash MX的推出發展而來的視訊格式,是在sorenson公司的壓縮演算法的基礎上開發出來的。

FLV格式不僅可以輕鬆的匯入Flash中,速度極快,並且能其到保護版權的作用,並且可以不通過本地的微軟或者REAL播放器播放視訊。Flash MX 2004對其提供了完美的支援,它的出現有效地解決了視訊檔案匯入Flash後,使匯出的SWF檔案體積龐大,不能在網路上很好的使用等缺點。

由於它形成的檔案極小、載入速度極快,使得網路觀看視訊檔案成為可能,它的出現有效地解決了視訊檔案匯入Flash後,使匯出的SWF檔案體積龐大,不能在網路上很好的使用等缺點。
** 特點:視訊質量良好、體積小、線上播放、非常普及 。**

**(8) 藍光BD封裝: **
大容量光碟格式,容量分為25G-100G,BD的主視訊檔案為m2ts封裝格式,用Remux無損的提取BD檔案為TS封裝格式可用PC播放。
特點:體積超大、超高清格式、聲道、字幕可選擇
5,音訊編碼與封裝格式介紹

PCM :是一種的很基本的編碼方式,雖然簡單,但是好用,它被稱為無損編碼,也就是模擬訊號轉成數字訊號不壓縮,只轉換,就是經過話筒錄音後直接得到的未經壓縮的資料流,對於音訊來說,CD就是採用PCM編碼。

有失真壓縮格式:
** MP3(MPEG Audio Layer3):**一個有損資料壓縮格式,它丟棄掉脈衝編碼調製(PCM)音訊資料中對人類聽覺不重要的資料,從而達到了小得多的檔案大小。它是目前最為普及的音訊壓縮格式,常用於網際網路上的高質量聲音的傳輸,MP3可以做到12:1的驚人壓縮比並保持基本可聽的音質。

** AAC (高階音訊編碼):出現於1997年,是基於MPEG-2的音訊編碼技術,由Fraunhofer IIS、杜比、蘋果**、AT&T、索尼等公司共同開發,是在MP3基礎上開發出來,,目的是取代MP3格式。2000年,MPEG-4標準出現後,AAC重新集成了其特性,加入了SBR技術和PS技術,為了區別於傳統的MPEG-2 AAC又稱為MPEG-4 AAC,AAC可以在對比MP3檔案縮小30%的前題下提供更好的音質。

** WMA (Windows Media Audio):**是微軟開發的一種數字音訊壓縮格式,WMA格式是以減少資料流量但保持音質的方法來達到更高的壓縮率目的,其壓縮率一般可以達到1:18,生成的檔案大小隻有相應MP3檔案的一半。

無失真壓縮格式:
WAV : 是微軟公司開發的一種聲音檔案格式,是音樂由物理介質(CD碟)轉換為數字形式所得到的聲音檔案,是最早的數字音訊格式,被Windows平臺及其應用程式廣泛支援, WAV是最接近無損的音樂格式,所以檔案大小相對也比較大。
(WAV格式對儲存空間需求太大不便於交流和傳播)

FLAC :無損音訊壓縮編碼,它不會破壞任何原有的音訊資訊,所以可以還原音樂光碟音質,基本上能節省wav 40%的位元速率,FLAC相對於同類如APE,在處理遇到爆音處時會靜音處理,並且相比APE的解碼複雜程度要較低(解碼運算量小、只需要整數運算),解碼速度奇快,容錯高,不容易損壞。

APE :APE這類無失真壓縮格式,同樣不會破壞任何音訊資訊, 相較同類檔案格式FLAC,特色是壓縮率約為55%,比FLAC高,體積大概為原CD的一半,但是APE檔案的容錯性較差,只要在傳輸過程中出現一點差錯,就會讓整首APE音樂作廢。
在這裡插入圖片描述

常見封裝格式與編碼格式的對應
在這裡插入圖片描述
七、播放一個網路上視訊需要的步驟

1,解協議:就是將流媒體協議的資料,解析為標準的相應的封裝格式資料,這些協議在傳輸視音訊資料的同時,也會傳輸一些信令資料,解協議的過程中會去除掉信令資料而只保留視音訊資料。

2,解封裝:就是將輸入的封裝格式的資料,分離成為音訊流壓縮編碼資料和視訊流壓縮編碼資料。

3,解碼:就是將視訊/音訊壓縮編碼資料,解碼成為非壓縮的視訊/音訊原始資料。
把壓縮編碼的視訊資料,輸出成為非壓縮的顏色資料,例如YUV420P,RGB等等;
把壓縮編碼的音訊資料,輸出成為非壓縮的音訊抽樣資料,例如PCM資料。

4,視音訊同步:就是根據解封裝模組處理過程中獲取到的引數資訊,同步解碼出來的視訊和音訊資料,並將視訊音訊資料送至系統的顯示卡和音效卡播放出來。
在這裡插入圖片描述
視訊方面的知識太多了,文章可能還有很多方面沒有提到,和針對某些知識進行繼續往下剖析和擴充套件,有興趣的大家可以去找相關資料繼續往下剖析。
以上只是冰山一角的理論知識,需要我們學習的地方還有太多。

此篇文章的攢寫更多是為了把自己當初學習的知識整理出來,和大家進行分享。如果錯誤,或者補充,歡迎指出.

參考文章:
由於參考的文章很多,就不全列出來了,只列出了部分。
感謝所有在我攢寫這篇文章的時候,所參考過的文章的作者們。
http://xpp02.iteye.com/blog/1784890
http://blog.csdn.net/sunnylgz/article/details/7749136
http://blog.csdn.net/leixiaohua1020/article/details/15811977
http://cai.jstvu.edu.cn/cai/dmtjishu/course2/course2-1.htm
http://sound.zol.com.cn/487/4877507.html