各種音視訊編解碼學習詳解之 編解碼學習筆記(二):codec型別
最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit/p/3651270.html。若讀過@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,就不用向後看啦
資料(港臺將information翻譯為資料)壓縮是透過去除資料中的冗餘資訊而達成。就視訊資料而言,資料中的冗餘資訊可以分成四類:
時間上的冗餘資訊(temporal redundancy)
在視訊資料中,相鄰的幀(frame)與幀之間通常有很強的關連性,這樣的關連性即為時間上的冗餘資訊。這即是上一次學習中的幀間壓縮。
空間上的冗餘資訊(spatial redundancy)
在同一張幀之中,相鄰的畫素之 間通常有很強的關連性,這樣的關連性即為空間上的冗餘資訊。這即是上一次學習中的幀內壓縮。
統計上的冗餘資訊(statistical redundancy)
統計上的冗餘資訊指的是欲編碼的符號(symbol)的機率分佈是不均勻(non-uniform)的。
感知上的冗餘資訊(perceptual redundancy)
感知上的冗餘資訊是指在人在觀看視訊時,人眼無法察覺的資訊。
視訊壓縮(英文:Video compression)是指運用資料壓縮技術將數位視訊資料中的冗餘資訊去除,降低表示原始視訊所需的資料量,以便視訊資料的傳輸與儲存。實際上,原始視訊資料的資料量往往過大,例如未經壓縮的電視品質視訊資料的位元率高達216Mbps,絕大多數的應用無法處理如此龐大的資料量,因此視訊壓縮是必要的。目前最新的視訊編碼標準為ITU-T視訊編碼專家組(VCEG)和ISO/IEC動態影象專家組(MPEG)聯合組成的聯合視訊組(JVT,Joint Video Team)所提出的H.264/AVC。
一個典型的視訊編碼器:在進行當前訊號編碼時,編碼器首先會產生對當前訊號做預測的訊號,稱作預測訊號(predicted signal),預測的方式可以是時間上的預測(interprediction),亦即使用先前幀的訊號做預測,或是空間上的預測 (intra prediction),亦即使用同一張幀之中相鄰畫素的訊號做預測。得到預測訊號後,編碼器會將當前訊號與預測訊號相減得到殘餘訊號(residual signal),並只對殘餘訊號進行編碼,如此一來,可以去除一部份時間上或是空間上的冗餘資訊。接著,編碼器並不會直接對殘餘訊號進行編碼,而是先將殘餘訊號經過變換(通常為離散餘弦變換)然後量化以 進一步去除空間上和感知上的冗餘資訊。量化後得到的量化係數會再透過熵編碼,去除統計上的冗餘資訊。
視訊編碼標準發展 |
||||
年份 |
標準 |
制定組織 |
解除版權保護 |
主要應用 |
1984 |
是 |
|||
1990 |
是 |
|||
1993 |
是 |
影音光碟(VCD ) |
||
1995 |
否 |
|||
1996 |
||||
1999 |
否 |
|||
2003 |
否 |
常見的編解碼見下表,在以後會分類論述:
上面的表格,檢視某個具體的codec,可以在中文的wiki中查詢,但是英文的wiki諮詢更為豐富,見下表