iT邦幫忙

2021 iThome 鐵人賽

DAY 25
1
Software Development

新手也能打造網路電話系統-WebRTC入門與活用系列 第 25

Day 25 - 進階篇 - Codec

在談談Codec之前,要先來簡要的說明一下採集這些媒體資訊的過程。

多媒體採集

在自然界中有許多的訊號,例如光、溫度、聲音、影像,這些我們稱為類比訊號,但這些訊號不易數據化且不穩定,因此誕生了分為0(低電位)與1(高電位)兩種值的數位訊號,這兩種訊號可藉由工具互相轉換,大家可以想像成人體在感受溫度的時候,大致能區分冷與熱,但實際上不能明確的說出冷熱的度數,而需要藉由溫度計將自然界的溫度轉換成人類可閱讀的數值。

類比轉數位

為了保存聲音或影像,我們會將這些類比訊號進行取樣、量化及編碼,使其轉換成數位訊號。

  • 取樣:每間隔一段固定時間就記錄一次波形的大小。取樣頻率越高越能表達原始的訊號,但相對也會產生更多的資料,因此對儲存空間與處理速度的要求也越高。
  • 量化:將取樣後的訊號轉換成「近似值」。由於量化後的值是近似值,所以會產生誤差。
  • 編碼:將量化後的值轉換成二進位碼,即0與1的值。這裡指的編碼是訊號處理領域的編碼,而本文後續所描述的內容是資料壓縮領域的編碼,兩者名稱相同,但意義上不同。

得到數位訊號後,會經過資料壓縮變成電子產品可使用的檔案,而在聽音樂與觀看影片時,則解碼檔案使其能被播放。

編碼與解碼

編碼

編碼是指將一群資料傳換為另一種形式的過程,主要目的在於壓縮資料量。大家可以想像成一筆無順序的資料內有100個數字,但有50個數字都是1,因此儲存這筆資料的時候,其實只要紀錄不重複的50個數字,以及註記其他50個數字都是1就好,這樣就能大幅減少需要紀錄的量,達成資料壓縮的目的。

解碼

解碼是指編碼的逆向操作,主要目的在於將編碼後的資料還原成編碼前的資料。

有損壓縮及無損壓縮

完整記錄原始資料的資料量太大了,因此編解碼在多媒體處理上幾乎是必須的過程,而為了因應不同的情境與需求,編碼分成有損與無損兩種類型。

  • 有損壓縮:壓縮的過程會損失資訊,使得解碼後無法完整還原成原始檔案,損失程度取決於編解碼器與壓縮率,通常損失的越多檔案就越小,而損失的資訊大部分是人類感官較不敏感的細節,主要應用於在乎檔案大小或即時通訊的情況。
  • 無損壓縮:壓縮的過程不會損失資訊,使得解碼後能完整還原成原始檔案,主要應用於在乎檔案品質的情況。

上一篇
Day 24 - 進階篇 - 頻寬調整
下一篇
Day 26 - 進階篇 - Codec設定
系列文
新手也能打造網路電話系統-WebRTC入門與活用30

尚未有邦友留言

立即登入留言