光碟片容量計算淺談 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ -- 電 腦 硬 體 及 光 碟 燒 錄 討 論 區 > -- 光 碟 燒 錄 討 論 版


PCZONE 討論區



通知

-- 光 碟 燒 錄 討 論 版 各種燒錄 軟體/硬體(CD-R、CD-RW、DVD ± RW)使用心得分享和各種燒錄技術問題與討論。燒錄器 的疑難雜症、使用心得分享

板 主
光碟片容量計算淺談
這是給新手參考的簡單觀念。我們常見74分鐘的光碟片有650M、680M的兩種標示。這是怎麼計算的呢?

1.首先說明,光碟片容納資料的最小單位稱為sector(磁區),磁區分主通道和次通道兩部份。主通道是正常資料(檔案、音軌..)儲存所在,大小是2352 bytes,計算光碟容量時,僅僅計算此部份;次通道次通道有P~W等八個,總計98位元組,則原本是擺放像音樂光碟的歌手、曲名、公司等及一些其他用途。當光碟用於儲存聲音資料時,一個磁區的2352 bytes全部被用到。但用於儲存檔案資料時,由於一個bit錯誤,就會造成嚴重後果,因此必需有偵錯、改正錯誤的機制,一個磁區只有2048 bytes用於儲存檔案資料,其他304 bytes用於存放根據編碼理論得出EDC/ECC碼(Error Detection Codes/Error Correction Codes)。如此,當光碟記錄聲音檔時,是以一個磁區2352 bytes計算,而記錄檔案資料時是以2048 bytes計。

2.74分鐘主要是指可以容納74分鐘的數位聲音軌資料(*.wav)。數位聲音是從類比聲音記錄(真實、連續的聲音記錄)取樣而來,目前公訂的取樣標準是兩個聲道,每聲道,每秒取44100次樣本,每一個樣本的大小為16 bits(=2 bytes),此即wav檔16 bits、44.1Khz的聲音取樣規格。如此一分鐘的音軌大小是 2*44100*2*60=10,584,000 bytes。記憶容量的單位一般是以Mega來算,1 Mega bytes=1 K bytes*1 K bytes。要注意的是 1K bytes應是2^10=1024 bytes,但有時會被以1000 bytes做計算(這樣會顯得光碟或硬碟有較大的容量,這是一種取巧的商業行為)。現在我們先以1M=1024*1024 bytes=1,048,576 bytes計。則 一分鐘的音軌大小是 10,584,000/1048576=10.0937M。所以74分鐘的光碟是可以
容納10.0937*74=746.933M的音軌資料。若是儲存檔案,則是746.933*2048/2352=650.3906M (若以1M=1,000,000 bytes計,則是681.984M)。

3.總結一下,

74分鐘:
音樂,746.993M (783.279M <--若 1M=1,000.000 bytes計)
檔案,650.396M (681.984M <--若 1M=1,000,000 bytes計)

80分鐘:
音樂,807.560M
檔案,703.131M

90分鐘:
音樂,908.505M
檔案,791.022M

99分鐘:
音樂,999.356M
檔案,870.124M

120分鐘:(尚在研發中)
音樂,1211.3M
檔案,1054.7M

回覆
 

謝謝板主教學
回覆
會員

謝謝板主教學
回覆
進階會員

容量計算方面.....
個人是用較簡單的計算方式.....

一個磁區以 2048 byte 計算 (Mode 1) (音訊則以 2352 做計算)
一秒中有 75 個 Sector (磁區)
一分鐘有 60 秒
>>>
2048 x 75 x 60 = 9,216,000 byte (一分鐘)
除以 1024 = 9000 KB
除以 1024 = 8.7890625 MB

74Min = 74 x 8.7890625 = 650.39062 MB (約)
80Min = 80 x 8.7890625 = 703.125 MB (約)
90Min = 90 x 8.7890625 = 791.01562 MB (約)
99Min = 99 x 8.7890625 = 870.11718 MB (約)
回覆
板 主

一秒的聲音資料何以等於75 sectors?

2*44100*2/2352=75
回覆
進階會員

引用:
最初由 jess 發表
一秒的聲音資料何以等於75 sectors?

2*44100*2/2352=75
不懂版主的意思?????

是小弟用的算法錯誤嗎......
回覆
板 主

那有錯?一點也沒有。只是要讓不熟悉者知道一秒等於75 sectors的原由而已。
回覆
mk2
會員

1. 應該使用 Frame 比較貼切
光碟用的基本單位有以下兩種
一是 MSF (Minute : Second : Frame)
另一是 LBA (Logical Block Address)
Frame = Block(就是俗稱的 sector)
一個 second = 75 個 frame, 一個 minute = 60 second

2. jess兄您說得 NERO 編 EDC/ECC 部份與實際上有點出入
大部分燒錄軟體是不編寫 EDC/ECC 的, 那是燒錄器在做的事
只要告訴燒錄器某某軌我要燒錄何種格式的資料, 而我送的資料是每個 Frame 幾個 BTYE
其他的燒錄器會自己想辦法
舉個例子來說 :
ISO 檔大部分是 2048 Byte/Block, 則程式就告訴燒錄器第一軌是Mode1,而我送的資料是2048Byte/Block, 其餘的燒錄器你自己想辦法
這個動作就是所謂的 SEND CUESHEET, 是 SAO 與 DAO 專用的指令. 但是 TAO 也大同小異

還有 SUB-CHANNEL 中有P~W等八個子channel,每個子channel 為12個byte(96個bit), 所以加總起來是 12*8 = 96byte (PS. 98/8 是除不盡的唷, 另外兩個BYTE 是 SYNC, 為碟片同步用是無法讀取與寫入的)
這是我與 small b 兄之前討論的文章 裡頭有關於 SUB-CHANNEL 的相關訊息與圖片
http://www.pczone.com.tw/vbb3/showth...0&pagenumber=2

回覆
板 主

1.謝謝你。我一直以為是軟體產生的,是源自isobuster。專家這麼說,那是當然。你說的除應是事實外,另外,從Nero的檔案映像檔仍維持mode 1/2048,應可佐證。
2.96 bytes/98 bytes真是糊塗,這我是知道的。起得太早,我本是要說總共98bytes,謝謝你了。
回覆
mk2
會員

不客氣啦, 我常常得K SCSI 相關規格書, 來研究相容性的問題
K 久了當然熟悉一點囉, 誰叫我幹的是硬體工程師勒.
大家一起教學相長囉.

還有, 其實即便 NERO 把 MODE1 的映像檔寫成 2352, 在用 SEND CUESHEET 跟他說我現在要寫的是 2352, 其實裝置還是不鳥他(規格書這麼寫), so, 還是無法完成 RAW write 在做的那件事, NERO 就一直保留2048囉(當然, 這是我猜的), 更何況編EDC/ECC還要浪費 CPU 時間, 不然 NERO 的 CPU cost 就不會是這麼低囉.

回覆







 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。