光碟裡頭的東東PART2



贊助商連結


PIANO
2002-07-06, 02:06 PM
***介紹之前,容小弟先聲明粉重要的一點,那就是以下內容皆為小弟個人的心得,所以有些部份含有小弟自己的理解推敲,並無法保證所言絕對正確!同時亦因為如此,所以希望能有幸接受各位大大與先進的指誤,糾正或點解小弟的錯誤!****
在Part1的部份介紹過3t~11t之後,可能小弟的言詞仍有些詞不達意的情況,在此小弟再補充解釋一些有關part1所提到的部份:首先應該釐清的是雷射的訊號單位雖然是t,但這個值只用在光碟專業領域上,相反的如果把這種t看做是一個位元,那麼對於一般人來說會比較容易理解,例如3t看成100或001,4t看成1000或0001。不過很重要的是,這種看做位元的方式,其位元並不直接等於電腦位元,也就是8t不等於電腦的一個byte,在part1最後的部份有提到,事實上是14個t才等於電腦的一個byte,轉換的方式是使用一張對照表來參考(efm表)。因為把t也看做是位元,和一般認知的位元很容易搞混,所以在此小弟進一步把t所代表的位元稱為[訊號位元],而一般認知的位元稱為[電腦位元],這樣應該會比較容易搞清楚!
在Part1提到使用14bit的[訊號位元]來轉換成8bit的[電腦位元]方法後,卻產生另一個困擾的問題,那就是當這樣的一個14bit[訊號位元]:00100000010001,剛好和這樣的一個14bit[訊號位元]:10000000000100接在一起時,第一組的最後一個1便會和第二組的第一個1相連,這情況和最小3t的要求相衝突,因此必須再想辦法解決這樣的問題,所以跟著有了所謂3t間插訊號的使用,也就是在那二個連續的1中間,再插入一個t長度來符合最小3t的要求,而這個t既然只是插入,所以用3t來插當然是最划算的囉!
光碟的物理訊號(資料)格式從t之後,上推一層便是所謂的block,每一個block本身包含24組的14bit訊號位元當做資料儲存區,以及8組14bit訊號位元當做檢驗修正碼,還有一組14bit訊號位元當做控制與顯示訊號,最後再加上一組24bit訊號位元當做同步訊號區。這樣全部加起來則有24*14+8*14+1*14+1*24=486bit的訊號位元,但別忘了還要再各組之間加入3t間插,所以最後變成486+3*(24+8+1+1)=486+3*34=588bit的訊號位元。換句話說如果不考慮同步、顯示與檢驗修正的部份,則一個block實際用來儲存資料的部份只有24*14=336bit訊號位元,相當於只有24*8=192bit=24byte的電腦資料。
block再往上推一層則是sector或稱frame,這是光碟片資料構成的最小邏輯單位,也就是用一般光碟機讀取時,能顯示出來的最小單位,而每個sector則包含98個block,因為每個block只有24byte是用來放實際資料,所以一個sector有98*24=2352byte的資料容量。但如果連控制與檢驗修正都考慮進去的話,一個sector則有98*(24+8+1)=3234byte的容量,只是控制與檢驗修正的部份一般人使用者是看不到也用不著,那是給光碟機或軟軔體使用的,所以還是說一個sector=2352byte。
sector另一方面的重要處,便是它決定了此光碟片的碟片格式,也就是雖然含有2352byte的資料空間,但各種格式的碟片會定義不同的使用方式,例如audio cd定義2352byte全部用來儲存音樂資料,而cd-rom mode1資料光碟則定義其中的2048byte儲存資料,其他304byte別有用處,而cd-rom xa form2的光碟則定義其中2324byte為資料,其他28byte別有用處。這碟片為什麼是audio cd?那碟片為什麼又是data cd?差別就是這裡不同而已!

贊助商連結


PIANO
2002-07-07, 09:02 AM
sector再往上推一層,就是所謂的[秒]囉(秒再往上當然就是[分鐘],這應該沒有人不知道吧!),每一秒鐘含有75個sector,所以一般看到的光碟容量都顯示成像是這樣:70:00:74的格式,其代表容量為74分75個sector。而sector顯示的編號方式,和時間格式是一樣的,也就是一分鐘雖有60秒,但卻是從00到59,而75個sector的編號當然也是從00到74。
整理一下光碟片整個相關的內部單位層次:1min=60sec=60*75sector=60*75*98block=60*75*98*24byte
=====================================================
p~w sub-channel
p~w子頻道所使用的儲存空間,是分散位於98個block裡頭,其中每個block僅使用一個byte,因此一組p~w資料全部是98個byte(也就是一個frame有98byte的子頻道容量)。不過其開頭的2byte被用於同步訊號使用,所以p~w子頻真正可用的空間只剩96byte,剛好一個子頻各佔12byte。
當初定義p~w子頻的目的,是想預留空間讓進階程式或資料可以使用,不過其中的q頻道還是先被使用於[時間]與[相關位置]的訊息儲存,像是其中第25~48位元,以及第57~80位元就是儲存該frame的[相對]與[絕對]msf時間位置,如果少了這些時間位置訊息,那雷射讀取頭怎麼可以知道正在讀取哪個地方呢?或是這個frame目前又是位在哪一個track裡?
除了q子頻已經被定義使用之外,其他的子頻則維持保留不用,只有後來推出的像是cd+g、cd+midi等這一類延伸規格的碟片,才進一步使用到其他子頻空間。只可惜推出這類光碟時,市面上已經有為數眾多的舊光碟機,它們都是直接忽略這些子頻而不做讀取。

PIANO
2002-07-08, 06:17 AM
首先感謝mk2兄對小弟在part1部份的指導!
經由mk2兄的提醒,小弟這才想到有一個容易混淆的觀念應該先釐清,否則在分析block的訊號位元時,很可能會被搞混。
block裡的坑(或面)訊號是有3t到11t等9種,而間插(merging bit)用的也叫3t,但這個間插3t和訊號3t是不同的,訊號3t一定是100,但間插3t則沒有限制,它只要求3個訊號bit的空間,可以是000或100或001,視當時前後訊號的狀態而定。例如5t訊號後跟著一個3t間插,則有可能是10000100或是10000001或是10000000

idiot
2002-07-13, 04:52 PM
push!