編解碼器
編解碼器(英語:codec)指的是一個能夠對一個訊號或者一個資料流進行編解碼操作的裝置或者程式。這裡指的變換既包括將訊號或者資料流進行編碼(通常是為了傳輸、儲存或者加密)或者提取得到一個編碼流的操作,也包括為了觀察或者處理從這個編碼流中恢復適合觀察或操作的形式的操作。編解碼器經常用在視訊會議和串流媒體等應用中。一個編解碼器不應該同編碼或壓縮格式或標準混淆,一種格式是一種文件(所謂標準),一種儲存資料的方式,但是編解碼器卻是一段程式用於讀或寫這樣的檔案。實際上,有時編解碼器不嚴謹地意指格式。
編解碼器編碼一個資料流或者用於傳輸、儲存、加密的訊號,解碼一段用於回放或編輯。影片數位機的ADC將它的類比訊號轉換成數位訊號,然後數位訊號通過影片編碼器用於儲存和傳輸。接受器然後通過影片解碼器轉換成類比訊號用於最後的類比顯示。經過編碼的音訊或者影片原始碼流經常被叫做「Essence」(有譯作「本體」),以區別於之後加入碼流的元資料和其它用以幫助訪問碼流和增強碼流強健性的資料。大多數編解碼器是有損的,目的是為了得到更大的壓縮比和更小的檔案大小。當然也有無失真的編解碼器,但是通常沒有必要為了一些幾乎注意不到的的品質損失而大大增加編碼後檔案的大小。除非該編碼的結果還將在以後進行下一步的處理,此時連續的有損編碼通常會帶來較大的品質損失。
很多多媒體資料流需要同時包含音訊資料和影片資料,這時通常會加入一些用於音訊和影片資料同步的元資料。這三種資料流可能會被不同的程式,行程或者硬體處理,但是當它們傳輸或者儲存的時候,這三種資料通常是被封裝在一起的。通常這種封裝是通過視訊檔格式來實現的,例如常見的*.mpg, *.avi, *.mov, *.mp4, *.aac, *.rm or *.tta. 這些格式中有些只能使用某些編解碼器,而更多可以以容器的方式使用各種編解碼器。
編解碼器對應的英文「codec」(compress和decompress簡化而成的合成詞語)和decode通常指軟體,當特指硬體的時候,通常使用「endec」這個單詞。
相關概念
編解碼器(endec= encoder/decoder)是一個相近但是不同的概念,它主要應用於硬體。在二十世紀中葉,「編解碼器」是用於編碼類比資訊到PCM並能將它們解碼回來的硬體裝置。該世紀後些時候,這個名字開始應用於一系列軟體用於轉換數位訊號之間的格式,同時也包括了訊號壓擴器的功能。
數據機(modem= modulator/demodulator)是調製器和解調器的合成詞。它能將從電腦的數字資料轉換到電話交換。在接受端類比訊號轉換回數位訊號。編解碼器做著相反的工作(影片類比訊號轉換成數位訊號,然後電腦把數位訊號轉換回影片)。
壓縮品質
有損編解碼(破壞性)
在軟體界有許多相對更加流行的編解碼器是有損的,意味著它們壓縮過程犧牲了一定的品質。通常這種壓縮看起來同未被壓縮的聲音或圖像沒區別。更小的資料集緩解了相對高昂的記憶體。較低的資料率也降低了花銷並在資料傳輸過程中提升了傳輸品質。
無失真編解碼(非破壞性)
也有許多的無失真壓縮,特別應用於在需要原始流中所有資訊時壓縮模式下取得資料。如果保留資料流的原始品質比削減相應的更巨量資料更加重要,那麼無失真壓縮更佳。連續使用多種編解碼器或者編碼體系也會顯著的降低品質。不斷下降的儲存空間開銷和網路頻寬正使得失真壓縮的需求下降。