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