多年以來,人們設(shè)計出許多不同的算法來壓縮視頻。視頻壓縮雖然聽起來是一個很現(xiàn)代的詞,但其實它從模擬視頻開始,已經(jīng)有很長的歷史了。在本篇文章中,我會向大家一一介紹視頻壓縮的里程碑事件,正是這些事件的發(fā)生才有了今天的視頻壓縮。從過去到現(xiàn)在,各類視頻壓縮方法由最初的概念最終演化成現(xiàn)今的標(biāo)準(zhǔn)。很多壓縮標(biāo)準(zhǔn)今天還在使用,人們也一直在繼續(xù)開發(fā)和完善新的標(biāo)準(zhǔn)。
1929:出現(xiàn)幀間壓縮
幀間壓縮是指僅保留一張關(guān)鍵圖像,以及后面幀與此圖像之間的差異,這張關(guān)鍵圖像被稱為關(guān)鍵幀(Keyframe)。令人驚訝的是,關(guān)于幀間壓縮的討論可以追溯到1929年。英國的R.D. Kell提出將幀間壓縮用于模擬視頻,這一概念隨后便延續(xù)下來并應(yīng)用在今天的數(shù)字視頻上。
1952:差分脈沖編碼調(diào)制
下一個視頻壓縮的里程碑事件發(fā)生在1952年。貝爾實驗室的B.M. Oliver和 C.W. Harrison提出可以在視頻編碼中使用差分脈沖編碼調(diào)制(DPCM)。在此之前,DPCM一直被用于音頻(今天依然如此)。DPCM技術(shù)是指你可以從圖像中采樣,并據(jù)此推測未來的樣本值。因為可以通過推測準(zhǔn)確地重建圖像,所以不需要存儲太多圖像數(shù)據(jù)。
1959:使用時間壓縮的幀間預(yù)測編碼
1959年,使用時間壓縮的預(yù)測性幀間視頻編碼次被提出。時間壓縮是指在一段視頻中選擇一組間隔的關(guān)鍵幀,只對這些關(guān)鍵幀的變化進行編碼。作為其他幀的參考點,關(guān)鍵幀是被記錄下來的幀。這一概念由日本廣播公司(NHK)的研究人員Y. Taki、M. Hatori和S. Tanaka提出。
1967:行程長度編碼
行程長度編碼(Run-length encoding,RLE)是指將連續(xù)出現(xiàn)的同一個數(shù)據(jù)值存儲為單一值和出現(xiàn)次數(shù),如輸入數(shù)據(jù)流“AAABBCCCC”,輸出的是連續(xù)數(shù)據(jù)值的計數(shù)序列“3A2B4C”。之后你可以利用這些信息準(zhǔn)確地重建同一張圖像!倫敦大學(xué)的研究人員A.H. Robinson和C. Cherry提出這一概念,最初用于降低模擬電視信號的傳輸帶寬。今天,行程長度編碼仍在數(shù)字視頻中使用。
20世紀(jì)70年代:早期數(shù)字視頻算法
數(shù)字視頻在70年代出現(xiàn)。發(fā)送視頻時使用了和電信相同的技術(shù)——PCM(脈沖編碼調(diào)制)。是不是有些眼熟?PCM就來自上文提到的DPCM。PCM以數(shù)字形式表示采樣的模擬信號。它最初是音頻標(biāo)準(zhǔn),在70 年代被用來壓縮數(shù)字視頻。雖然可以傳輸視頻,但它需要大碼率且傳輸效率較低。
1972:數(shù)字視頻的壓縮
Nasir Ahmed,印裔美國電氣工程師、計算機科學(xué)家
1972年左右,堪薩斯州立大學(xué)的Nasir Ahmed提出使用DCT編碼壓縮圖像。DCT代表離散余弦變換(Discrete Cosine Transform),它將圖像分成由不同頻率組成的小塊。在量化過程中,舍棄高頻分量,剩下的低頻分量被保存下來并用于后面的圖像重建。由于舍棄了某些頻率的圖像,所以最終呈現(xiàn)出來的圖像不會*相同,但大多時候,這種差異不會被人們察覺。
1973:DCT技術(shù)成為一種圖像壓縮算法
DCT
Nasir Ahmed與德克薩斯大學(xué)的T. Natarajan和K.R. Rao合作,實現(xiàn)了DCT圖像壓縮算法。1974年,他們發(fā)表了自己的工作成果。
1974:混合編碼的發(fā)展過程
1974年,南加州大學(xué)的Ali Habibi將預(yù)測編碼和DCT編碼組合在一起使用。我們在上文提到過,預(yù)測編碼是指猜測當(dāng)前圖像出現(xiàn)前后的數(shù)值。Habibi的算法只能應(yīng)用于幀內(nèi)圖像,無法預(yù)測幀間圖像。
1975:混合編碼的進一步發(fā)展
John A. Roesse 和Guner S. Robinson進一步發(fā)展了Habibi的算法,使它可以應(yīng)用于幀間,為此,他們嘗試了各種方法,最終發(fā)現(xiàn)Ahmed的DCT技術(shù)和預(yù)測編碼結(jié)合起來使用是的。
1977:更快的DCT算法
陳文雄、C.H. Smith和S.C. Fralick一起優(yōu)化了DCT算法,他們創(chuàng)立了Compression Labs公司,將DCT商業(yè)化。
1979~1981:運動補償DCT視頻壓縮
Anil K. Jain 和Jaswant R. Jain 繼續(xù)發(fā)展運動補償DCT視頻壓縮技術(shù)。陳文雄使用他們的成果創(chuàng)造出一種結(jié)合了所有研究的視頻壓縮算法。運動補償DCT上的持續(xù)研究工作使它最終成為了標(biāo)準(zhǔn)的壓縮技術(shù),從20世紀(jì)80年代一直使用到現(xiàn)在。
1984:數(shù)字視頻壓縮標(biāo)準(zhǔn)——H.120
前期的所有研究最終取得成果——個視頻壓縮標(biāo)準(zhǔn)H.120問世。該標(biāo)準(zhǔn)對于單個圖像非常有用,但在維持幀間圖像質(zhì)量方面效果不佳,于1988年被修訂。H.120是國際視頻壓縮標(biāo)準(zhǔn),主要用于視頻會議。這是一次偉大的成就,但由于H.120多方面的低效,許多公司不得不試驗各種方法來完善這個標(biāo)準(zhǔn)。
1988:用H.261舉行視頻會議
H.261很可能是你見過或者使用過的一系列編中的個。它是個有效使用幀內(nèi)和幀間壓縮技術(shù)的數(shù)字視頻壓縮標(biāo)準(zhǔn)。H.261 也是個在商業(yè)上成功的數(shù)字視頻編碼標(biāo)準(zhǔn)。它被用于的視頻會議,并引入混合的基于塊的視頻編碼,該編碼今天仍在許多視頻標(biāo)準(zhǔn)(MPEG-1 第 2 部分、H.262/MPEG-2 第 2 部分、H.263 MPEG-4 第 2 部分、H.264/MPEG-4 第 10 部分和 HEVC)中使用。創(chuàng)建H.261標(biāo)準(zhǔn)的方法今天依然被廣泛使用。它支持的分辨率是352x288。
雖然這個標(biāo)準(zhǔn)在國際上很受歡迎,但它在剛發(fā)布時并不完整。該標(biāo)準(zhǔn)分別在 1990 年和 1993 年進行了修訂。H.261不包括處理編碼的細(xì)節(jié),僅用于解碼視頻。
1992:使用Motion JPEG(MJPEG)的PC多媒體應(yīng)用
1992年,Motion JPEG被創(chuàng)建出來用于計算機上的多媒體應(yīng)用。這種視頻壓縮技術(shù)將視頻每一幀都分別壓縮成JPEG圖像。
1993:使用MPEG-1的視頻CD