DVD光碟的編碼與糾錯
趙效民 于 2005.02.03 23:36:06 | 源自:www.stor-age.com | 版權:轉載 | 平均/總評分:10.00/60

DVD光碟于1995年設計定型,與CD相比,在設計之初就考慮得很周全,不會再出現不同的扇區結構設計,不同種類的DVD光碟的主要區別體現在邏輯架構的設計上,至于底層的扇區規格則是一樣的。

  • 在DVD光碟中,尋址的單位也是一個數據塊,而這個塊由于包含了ECC數據,因此又被稱為ECC塊(ECCB,ECC Block)。DVD所采用的ECC編碼與CD-ROM Mode 1、Mode 2-Form 1一樣,都是RSPC編碼,因此也稱為RSPC數據塊。

    從上圖中可以發現,DVD的數據流程要比CD簡單不少,但內部校驗(PI,Parity of Inner-code)與外部校驗碼(PO,Parity of Outer-code)則是CD光碟中所沒有的。同樣,由于沒有CIRC的校驗數據,因此也就不存在C1、C2編碼,因此如果哪天聽人說什么DVD光碟的C1、C2錯誤,那就當個笑話聽吧。

    DVD的一個ECCB包含16個扇區,在進行燒錄時,首先要準備一個ECCB的數據(包括RSPC編碼),然后將ECC數據與用戶數據分割為16個扇區,再經過符合RLL(2,10)標準的EFMplus(8至16編碼)調制,形成的信道脈沖進行燒錄。

    RSPC數據塊與扇區結構

    DVD的數據以一個RSPC數據塊(ECCB)為存儲單位,在上文中,我們大概知道了這個數據塊由16個扇區的數據+PI/PO校驗碼組成,在下面這張圖中我們能清楚的看到一個ECCB中的數據結構。

  • 從圖中可以看出一個ECCB的實際容量為37856字節,而不是我們常說的32KB(32768字節),后者只是真正的用戶數據量。那么,它們又是怎么分布到16個扇區中呢?

  • 首先,ECCB中的數據區為192行,每行172個字節(列),而每一行的172字節橫向生成一10字節的PI校驗碼,每一列的192字節縱向則生成一個16字節的PO校驗碼,最后再給每一行的PO校驗碼生成10字節的PI校驗碼,從而構成完整的ECCB。此時的ECCB共有208行/182列,分成16個扇區,則每個扇區為13行/182列,那么是不是前15個扇區為數據+相應的PI校驗碼,最后一個扇區就是PO和相關的PI數據呢?當然不是,在生成燒錄扇區時,16行PO和相應PI碼分交錯分布于16個扇區之中,具體構成如下圖所示。

  • 從圖中可以看出,16行的PO碼和相應的PI碼被依次分布在16個扇區中,也就是說ECCB的校驗數據是分散在16個扇區中的。

    由于PI與PO校驗碼是DVD在讀取時的主要糾錯手段,因此在PI與PO校驗中發現錯誤的次數與程度就可以被用來評價DVD的燒錄質量,而業界也對此做出了相應的規定。

    DVD有關數據錯誤標準的業界規定

    與CD-ROM只規定了C1錯誤標準一樣,DVD其實也只規定了PI錯誤標準,而沒有PO錯誤標準,原因很簡單,PO編碼其實也在PI的保護之下,因此只要保證PI的錯誤率不超過一定的水準就可以了。

    另外,在DVD的相關規范中,也對不可修復的錯誤進行了明確的界定,并立下了相關的標準。

    在DVD-ROM規范中規定:ECCB中某一行如果有一個或更多的字節出現錯誤,則意味著出現一個PI錯誤(PIE,PI Error),連續8個ECCB的PI錯誤不能超過280個。我們可以計算一個,一個ECCB共有208行,8個ECCB則1664行,允許280個PI錯誤(也就是280行出現錯誤)則表示錯誤率為16.8%。

    DVD-R/RW的規定與DVD-ROM一樣。

    在DVD+R/RW規范中則有了更為詳細的規定:ECCB中某一行如果有一個或更多的字節出現錯誤,則意味著出現一個PI錯誤,當一行中的錯誤字節超過5個時,此時的PI錯誤則稱為PI-uncorrectable(不可修復的PI錯誤);連續8個ECCB的PI錯誤不能超過280個(16.8%);一個ECCB中的PI-uncorrectable不能超過4個(1.92%)。

  • 現在不少相關測試軟體中都以DVD+R/RW的規范來制定測試標準。雖然DVD-ROM與DVD-/RW沒有定義PI-uncorrectable(在某些軟體中定義為PI Failure,簡稱PIF),但由于它們都是相兼容的設計,所以DVD+R/RW的相關規定也基本適用于其他兩個規范。那么,有沒有可能出現PO-uncorrectable(POF)呢?在一些DVD測試裝置的技術文檔中筆者也發現了對POF的一些規定,由于DVD想先進行PI糾錯,才進行PO糾錯,因此PI被認為是第一層糾錯,PO則是第二層糾錯,如果出現PIF之后又出現POF,那么意味著該ECCB(注意,不是扇區)是不可修復的(理論上,PO能修復4個字節的錯誤,但即使有超過5行的PIF,也并不意味著錯誤的字節會在垂直方向上排成一列,因此PIF即使超出標準很多,仍有可能被PO糾正,不過為了保險起見,一個ECCB中的PIF行數不能超過4個),就像CD光碟上的E32錯誤一樣,也就是說POF的數值應該是0,只要滿足這個條件,PO錯誤(POE,PO Error)就無所謂了。因此,在一些測試軟體中,只有PIE和PIF的測試,最多再加上POF的測試,而沒有POE的測試。

    請評分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    114.241.180.***
    114.241.180.***
    發表于2017.07.01 10:36:38
    10
    202.207.246.***
    202.207.246.***
    發表于2014.04.21 18:19:53
    9
    112.095.244.***
    112.095.244.***
    發表于2013.04.14 10:17:24
    8
    111.196.177.***
    111.196.177.***
    發表于2012.02.18 19:03:34
    7
    180.125.120.***
    180.125.120.***
    發表于2012.02.18 16:23:15
    6
    03
    發表于2010.05.04 11:22:12
    5
    222.020.***.***
    222.020.***.***
    發表于2005.04.17 18:45:40
    4
    03
    發表于2005.02.05 22:09:03
    3
    03
    發表于2005.02.05 13:54:51
    2
    發表于2005.02.04 11:02:54
    1
    提示
    本貼不可匿名回復,回復等級為:1 ,您現在正處在潛水狀態
    回復
    驗證碼
    0852 為防止廣告機貼垃圾,不得已而為之
    表情
    正文
    京ICP備11010137號 京ICP證110276號 京公網安備110114000469號