作者logs ()
看板EZsoft
標題Re: [推薦] ICEECC v2.4
時間Mon Jun 25 09:34:56 2007
※ 引述《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