一張數碼照片,如果沖印出來,經過幾年顏色就會變得暗淡,但放在電腦中的照片文件即便是過去一百年,也不會出現和沖印照片一樣的褪色問題。這就是將聲像信息保存為數字記錄的優點,記錄的信息永遠都不會發生變化。
這一優點已經得到大眾的認可,不然聲像產品數碼機不會如此快將磁帶機的市場主導地位替代掉,人們都相信,只要存放數碼文件的存儲介質沒有損壞,文件內容就會永遠保持不變。
可生活中有一種情況會讓人們犯暈,去音像店買CD時,正版的價格會相當貴,如果你對售貨員抱怨太貴,他們會告訴你這價格貴有所值,盜版CD效果要差一些。
許多人可能都不會相信這個說法,會認為是售貨員為了推銷才有這么一說,CD和其它電腦軟件光盤都是同樣的東西,軟件光盤用電腦復制刻錄的同樣能用,如果復制刻錄的光盤不能完全一樣,肯定不能使用,可復制出來的軟件光盤從來沒聽人說過會有問題。CD同樣是用光盤記錄的歌曲數碼信息,我自己復制怎么可能效果要差呢?道理上解釋不通。
可實際情況是售貨員真沒說謊,不管是誰,自己用電腦將原版CD復制另外刻錄一張,播放出來的效果就是比不上原版CD,這可真是一個神奇的現象。要是問售貨員這是為什么,售貨員只能是含糊回答盜版的碟質量要差,做得沒有原版的好,別的他也說不出個所以然來。
電腦知識不多的人會認可這個解釋,但有一定電腦知識的人,就會是堅決不信這個解釋,他知道現在做盜版的材質和設備甚至比正版的都要好,絕對不是盜版碟本身質量有問題,到底是什么原因是越想越糊涂。
要弄清楚這個問題需要先對光盤的數據存儲方式做一個初步了解,你可以這樣理解,從光盤的內圈開始有一條線,線繞成蚊香狀的螺旋型,當然這條線實際上是不存在的,只是我們為了便于理解才這樣假設。
光盤的數據信息就記錄在這條“線”上,我們可以在這條“線”上制定一個規則來記錄0和1狀態,比如每毫米為一個數據位,黑色為0,白色為1,我們只要有一把刻度尺就能將上面記錄的數據位信息讀出來。
光盤用的是同樣的方法,只是每個位占用的長度要小許多,0.163毫米的長度能記錄288個數據位,數據位的0和1狀態也不是黑和白,而是平面凹下去為0,否則為1。
光驅是用激光頭去讀取數據位,對于數據位0和1,是高低兩個平面,反射效果幾乎相同,但兩者交界處反射會有明顯差異,光頭利用這一特性輔以其它技術判斷當前數據位是0還是1。刻度是通過光頭的旋轉來進行計算,光盤的旋轉和常見的電機不同,是恒線速度,這樣就可以在“線”上標定出正確的位置,你可以觀察一下影碟機,光頭位置越靠外,轉得越慢。可不要小看這個恒線速度的技術,這可是全世界花了二十余年才得到的成果。
因為誤差的存在,是不可能將線速度完全控制在絕對值上,一定存在一個誤差,如果不做其它處理,是以“線”的起點為參照點,越往后偏差就會越大,一張光盤就算是600M字節的容量,到最后也會把小小誤差累計成一個天文數字,接下來看看到底是用什么技術來實現0和1的識別的。
圖一 光盤數據結構示意圖
圖一中凹坑和突起分別叫“坑”和“岸”,這些"坑"和"岸"是原始數據信號先經過EFM(8位到14位編碼調制)調制,再加上3位間隔代碼,最后形成通道代碼就是光盤里的實際數據序列,這樣處理就能保證正確讀出0和1。
光驅的激光頭讀取光盤數據時,“坑”和“岸”對激光的反射效果幾乎相同,規定此時讀到的狀態位為0,這個0的個數由“坑”和“岸”的連續個數決定。
在“坑”和“岸”的交界邊沿處,光頭會讀到另外一個狀態1。這樣對于8位原始數據中的兩個或兩個以上的連續的1,此方法無法進行表示,兩個邊沿之間一定會讀到至少一個0。為此需要將兩個連續的1,要中間插入0的方法分隔開。
如果我們直接規定連續兩個1中間就插入一個0,這樣原來為11的數據就變成了101,可8位的原始數據中也有這樣的可能,兩者會混淆在一起,顯然不能這么簡單處理。EFM就是用一個14位數據來表示一個8位數據,從16384中組合總提取256種不出現連續兩個1的數據組合(通道碼)與8位數據對應。
為避免調制所得相鄰兩個14位數據(通道碼)出現兩個1連續,在14位數據(通道碼)之間再加上3位合并碼(DVD中用2位合并碼),形成17位的最終數據碼。光盤中的數據就是這種17位的數據,讀取光盤時,將讀到的17位數據碼經過解碼系統反向轉換為8位二進制數。
對于EFM編解碼我們不用過多了解,可以看成一個簡單的查表轉換操作,具體轉轉也是由激光頭硬件自己完成,對于用戶來說并不公開,只需要知道存在這一步處理就可以。
雖然光盤上記錄的是數字信號的位狀態0和1,理論上兩者是不會弄混,實際情況并不如此。比如寫在紙上的0和1的字樣,通常我們是可以準確認出,但如果紙被水打濕,字跡模糊后就難以分辨,同樣道理,激光頭讀光盤數據時,也會有一定幾率出錯,而且這個幾率還比較大,全新的光盤也高達10-4,對于舊盤尤其是刮花的盤,誤碼率更是會大幅度上升,如此高的誤碼率顯然是不能接受的,不然播放的音樂隨時都是雜音。
設計者在制定CD數據格式標準時考慮到了這一點,并不是將所有的數據都用來記錄聲音數據,而是以扇區為單位,每個扇區實際有3528字節數據,但用來記錄聲音數據的只有2352字節,另外的1176字節數據用作同步、控制和糾錯,經過這個糾錯處理新的光盤誤碼率可以降低到10-9。
這里的糾錯簡稱為EDC/ECC,這個誤碼率對于音樂播放來說可以接受,但不能用于計算機數據存儲。簡化計算可知道這個誤碼率讀新盤平均1G位就會出現錯誤,也就是說讀100M字節理論上就會有一個字節出錯,象WINDOWS之類的安裝碟很大機會讀回來包含好幾處錯誤,所以誤碼率要求降低到10-12才能用做計算機數據存儲。
說這些目的只有一個,雖然光盤里面記錄的是0和1這樣的數字信息,但在光驅讀盤的過程中會出錯,這樣對于CD碟電腦抓到的數據相較原始數據就已經包含了一些錯誤,再將抓到的數據刻錄到CD碟中又會產生另外一些錯誤,這樣就使得自己復制的翻版CD效果要差過正版CD。
正版CD ---(電腦復制正版CD)---> 電腦中CD數據文件 ---(電腦刻錄CD)---> 翻版CD
和壓縮算法一樣,糾錯算法也有許多種,而且更為復雜,我們常說的CHECK_SUM和CRC不屬于糾錯算法,它們只是有簡單的錯誤判斷功能,并不能糾正中間的錯誤。
比如有0x120x34 0x56 0x78這樣一組數據,傳輸過程中錯為0x020x34 0x56 0x78,CHECK_SUM和CRC只能發現出了錯,并不能改正,而糾錯算法不但可以知道是什么地方出錯,并能將錯誤的0x02改回正確的0x12。好的糾錯算法功能會非常強,有的理論上可以在誤碼率50%的情況下依然能將原始信息恢復。
-
數據存儲
+關注
關注
5文章
964瀏覽量
50858 -
數字信號
+關注
關注
2文章
957瀏覽量
47516
原文標題:【每日方案】為什么用電腦復制的CD效果要差
文章出處:【微信號:elecfans,微信公眾號:電子發燒友網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論