板 主 | 光碟片容量計算淺談 這是給新手參考的簡單觀念。我們常見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 |
回覆 |
進階會員 | 引用:
是小弟用的算法錯誤嗎...... | |
回覆 |
板 主 | 那有錯?一點也沒有。只是要讓不熟悉者知道一秒等於75 sectors的原由而已。 |
回覆 |
會員 | 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,謝謝你了。 |
回覆 |
會員 | 不客氣啦, 我常常得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 |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。