《世界是數字的》書摘:模數轉換

李鬆峰發表於2013-07-08

怎麼把模擬資訊轉換為數字形式?我們還是舉幾個簡單的例子吧,先說照片和音樂,通過它們可以說明一些重要的思想。

把照片轉換為數字形式,應該是最容易想象的了。假設我們給自家的小貓拍張照片:

enter image description here

膠捲相機的成像,是通過把膠片感光區曝露給被拍物體反射的光線實現的,膠片上不同區域接收到的不同顏色的光量不同,從而影響膠片上的染料。在膠片顯影、印相時,彩色染料數量決定了顯示出來的顏色變化。

對數位相機來說,鏡頭把影像聚焦到一塊位於紅、綠、藍濾鏡後面的矩形感光器陣列上,感光器由微小的光敏探測器組成。每個探測器儲存一定數量的電荷,與落在它上面的光量成正比。這些電荷被轉換為數字值,照片的數字表示就是這些表現光強度的數值序列。探測器越小,數量越多,電荷測量的結果就越精細,數字化影像就能越精確地反映原始的影像。

感測器陣列的每個單元都由一組能夠捕獲紅、綠、藍光的探測器構成,每個單元對應一個畫素,即像元。3000×2000畫素的影像,包含600萬個像元,或600萬畫素,對今天的數位相機而言並不算大。畫素的顏色通常由三個值表示,分別代表紅、綠、藍光的強度,因此600萬畫素的影像總共要儲存1800萬個顏色值。螢幕在顯示影像時,使用的是紅、綠、藍光三元組的陣列,其亮度與畫素亮度一致。如果你用放大鏡仔細觀察手機或電腦螢幕,很容易看到每個獨立的彩色塊。

第二個模數轉換的例子是聲音,尤其是音樂。之所以說音樂是個不錯的例子,原因在於以它為代表的數字資訊的所有權,第一次引起了社會、經濟和法律上的廣泛關注。數字音樂與唱片或磁帶不同,你可以在自己家的計算機裡無限次地複製它,完全免費,而且還可以通過網際網路把它複製傳送到世界的任何角落,不會有任何音質損失,同樣完全免費。唱片業把這當成了嚴重的威脅,試圖通過法律或政治手段阻止數字音樂的拷貝。這場戰爭遠未結束,每天都有小規模的戰役打響,因此而對簿公堂和引爆政治辯論儼然成了家常便飯。

什麼是聲音?音源通過振動或快速運動引起空氣壓力的波動,人的耳朵把這種壓力變化轉換為神經活動,經大腦解釋之後就形成了“聲音”。1870年代,托馬斯•愛迪生製造了一個叫做“留聲機”的機器,這臺機器能把聲波轉換為蠟筒上類似的螺旋溝槽,而通過這些溝槽又能再次創造出同樣的氣壓波動來。把聲音轉換為溝槽就是“錄音”,而從溝槽換回到氣壓波動就是“回放”。愛迪生的發明迅速地得到改進,1940年代就出現了密紋唱片(long-playing record)或簡稱LP,而且至今還在使用(儘管數量已經不多了)。麥克風隨著時間推移把變化的聲壓轉換為變化的值並記錄下來,然後根據這些值在乙烯基的碟片上壓制出與聲壓一致的螺旋溝槽。播放LP時,唱針隨著溝槽起伏,其運動軌跡被轉換為波動的電流,電流經過放大後驅動揚聲器或耳機,通過它們的振動薄膜產生聲音。

enter image description here

把空氣壓力隨時間的變化形象地繪製出來並不難。其中壓力可以用任何物理方法來表示,在此我們假設用電路中的電壓。當然,電流、光的亮度,以及愛迪生發明的留聲機中的純機制裝置都沒有問題。

enter image description here

圖中聲波的高度表示聲音強度或大小,水平方向的座標軸表示時間:每秒鐘聲波的數量就是聲調或頻率。

假設我們以固定時間間隔連續測量這條曲線的高度(在這裡就是電壓值),就會得到下圖所示的這些垂直線條。

enter image description here

測量得到的數值連線起來與曲線近似,測量越頻繁,越準確,結果也就越吻合。測量得到的數值序列是波形的數字化表示,可以儲存、複製、操作它們,也可以把它們傳送到任何地方。如果有裝置把這些數值轉換成對應的電壓或電流,然後再通過電壓或電流驅動音響或耳機,就能夠實現回放。從聲波到數值是模數轉換,相應的裝置叫A/D轉換器;反過來當然是數模轉換,或者叫D/A。轉換過程並不是完美無缺的,兩個方向的轉換都會損失一點資訊。但大多數情況下,這種損失是人所覺察不到的(當然,也有不少唱片發燒友會說CD音質不如LP好)。

1982年左右,音訊光碟(或CD)面世,成為最早承載數字聲音的產品。今天的讀者,恐怕沒有誰不認識這個標誌:

enter image description here

與LP唱片上的模擬溝槽不同,CD用長長的螺旋狀軌道在盤面的一側記錄數值。軌道上任意一個區塊的表面要麼平滑,要麼是一個微小的凹坑。這些下凹或平滑的區塊就是用來編碼聲波的數字值的,每個區塊是一位,連續的多位表示二進位制編碼中的一個數值,二進位制的概念我們在下一節再介紹。光碟旋轉時,一束鐳射照射到軌道上,而光電感測器則檢測每個區塊上反射回來的光量多少。如果光量不多,說明是凹坑;如果反射光很強,說明不是凹坑。標準CD編碼取樣率為每秒44 100次,而每次取樣獲得兩個振幅值(立體聲的左、右聲道),精確度為65 536(即216,這並非巧合)分之一。軌道上的每個區塊非常非常小,小到只有用顯微鏡才能看見,一張CD的表面上有60億個小區塊。(DVD中的區塊更小,由於區塊更小,鐳射束頻率更高,DVD的儲存容量近5GB,而CD大約為700MB。)

音訊CD的出現幾乎讓LP沒有了立足之地,相比之下,CD的優點實在太多了:落上點灰塵也不用太擔心了,更沒有磨損一說,而且絕對小巧。但到了我寫這本書的時候,LP開始在某種程度上復甦,流行音樂CD的人氣則日漸衰退。有朝一日,CD很可能也會像LP一樣變成古董,這倒讓我很高興,因為我收藏的音樂全部都是CD格式的。我現在完全擁有它們,而它們的存在將比我的生命更久遠。CD還有第二個用途,那就是作為儲存、分發軟體及資料的介質,不過這個功能已經被DVD取代,而DVD很可能又會被下載所取代。

聲音和圖片經常會被壓縮,因為這兩種媒體包含很多人類根本感知不到的細節。對於音樂,典型的壓縮技術是MP3,大約能把音訊檔案的體積壓縮到原來的十分之一,同時幾乎讓人感覺不到音質下降。對於圖片,最常用的壓縮技術是JPEG(是制定該標準的聯合影像專家組——Joint Photographic Expert Group的英文字頭),它的壓縮率也能達到10倍甚至更高。上文提到很多處理對數字資訊能做,但對模擬資訊卻很難(或不可能),壓縮就是一個例子。第9章我們再進一步探討壓縮。

那電影呢?1870年代,攝影師埃德沃德•邁布里奇向世人證明,快速連續地顯示一系列靜態圖片能夠創造出運動的錯覺。今天,電影顯示影像的速度是每秒24幀,而電視大約是25到30幀,這個速度足以讓人的眼睛把順序播放的影像感知為動畫。而通過組合(並同步)聲音和影像,就可以創造出數字電影。而利用壓縮技術減少空間佔用,則催生了包括MPEG(代表Moving Picture Experts Group)在內的標準電影格式。實際上,視訊的表示要比單純的音訊表示更復雜,一方面是它本身就複雜,另一方面很大程度上還因為它受到了電視的拖累,而電視在其存在的大部分時間內都是模擬的。模擬電視在世界範圍內正逐漸被淘汰,而美國2009年已經將廣播電視切換成了數字訊號。

還有一些資訊很方便以數字形式來表示,因為除了想好如何表示它之外,根本不需要做什麼轉換。比如這本書中的文字、字母、數字和標點符號,我們稱為其普通文字。可以為其中每個字母指定一個唯一的數值,如A是1,B是2等等,這不就是一種數字化表示方法嘛。而事實也正是如此,只不過在表示標準中,AZ用的是65到90,az用的是97到122,數字09用的是48到57,而標點符號等其他字元用的是其他數值。這個表示標準叫做ASCII,即American Standard Code for Information Interchange(美國資訊交換標準程式碼)。

下面給出了ASCII中的部分標準編碼,前四行被我省略了,因為其中包含的都是些製表符、空格符等非列印字元。

enter image description here

不同地區有不同的字符集標準,但也有一個世界通用的標準叫Unicode,它為所有語言的所有字元都規定了一個唯一的數值。這是一個非常龐大的字符集,人類的創造力是無窮無盡的,但在建立自身書寫系統方面卻很少有規則。目前,Unicode涵蓋的字元遠遠超過100 000個,而且這個數字還在穩步增長。可想而知,Unicode中的大部分都是包括中文在內的亞洲字符集,但決不限於此。要了解Unicode都包含哪些字符集,可以訪問unicode.org,這個站點內容豐富,強烈推薦讀者去看一看。

一言以蔽之:數字表示法能夠表示上述所有資訊,以及任何可以轉換為數值的資訊。因為只有數值,所以就可以用數字計算機來處理,而且正如第9章要介紹的,還可以通過網際網路等通用數字網路將它複製到其他計算機上去。

相關文章