精華區beta EZsoft 關於我們 聯絡資訊
※ 引述《filiaslayers (司馬雲)》之銘言: : 剛才看了一下,ICE ECC是用Reed-Solomon codes : 假設k是原始長度,d是最小可修正長度 : 那編碼後的長度是=k+2*d : 所以應該是10mb的資料,如果編碼成15mb : 可以修正2.5mb的資料才對。 : 有問題可以推文,我會盡可能的回答 終於看懂你寫的東西了 基本上是正確的 但是不符合 ICEECC 或者 Par2 實際操作所產生的東西 因為 ICEECC/Par2 是產生一個「額外」的修正檔 根據理論所描述是 "原始檔案+額外檔" 即 k+2t=n 才是一個編碼後的集合 整個集合=k+2t oooooooooooooooooooooooooo........... k=原始資料 2t=修正碼 但是實際作業時,原始檔案我們不能動 總不能編碼後把修正碼硬加到檔案尾端,導致原始檔案損毀 所以 ICEECC/Par2 產生的只有 那個 2t,且會獨立出來一個到數個檔案 但最早原 PO 所說的也有錯誤 一般而言,這套利用RS修正碼原理的軟體能修正的錯誤大小,只有額外檔案的一半 PS: 只是我還有點不解的地方,那假如產生一個與原檔一樣大小的修正碼 整個集合 n = k + 2t , k=2t,明明一樣的大小,卻只能修正一半 這不是比單純複製還來的沒效率嗎? 顯然我的認知好像還有謬誤的地方? 常見的案例在 CD/DVD 系統中被應用 也就是說整張 CD/DVD 的實際容量要比 650MB/4.3GB 還要更大 因為包含了錯誤修正碼,所以能用的部份只剩那 650MB/4.3GB 而問題就來了,既然 CD/DVD 本身就有使用錯誤修正碼 那我們為何還要再額外弄一份呢? 就實際的經驗來講,DVD 當有發生讀取錯誤的情況時 整片就差不多了,弄那額外的修正碼意義不太大 除了某些片子的尾端 (燒太滿時) 特別容易燒壞 而且 DVD 本身包含二重修正,不要有 PO Failures 出現就好 可是 CD 因為只有一層的修正,只要有 C2 Errors 就肯定有就不回來的資料 所以這額外的修正碼,用在 CD 上比較合理 ------------------- 另外,WinRAR 本身也有類似的功能 (這是 7-zip 沒有的) 不過這個要配合解壓縮才能用,實用性可能小輸給 ICEECC/Par2 根據 WinRAR 官方宣稱,他們針對 RAR 檔案的特性進行最佳化 所以 WinRAR 產生的修正檔有更高的效率 使用辦法: 「放置恢復紀錄」打勾 至於同樣的 Reed-Solomon Codes 在 WinRAR 之中應該是用於 製作分割壓縮檔的時候,可產生的「恢復分割檔」 使用辦法:到「進階設定」裡頭,選取 n 個恢復分割檔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.5.241
filiaslayers:不好意思,因為我没用過ICE ECC所以不知道另外產生 06/25 09:43
filiaslayers:一個修正檔。不過你講的是正確的 06/25 09:43