專利名稱:隨機存取存儲器需求減小的糾錯碼塊編碼器和解碼器的制作方法
技術領域:
本發明涉及用于創建包括多個數據段的數據塊(糾錯碼塊(ECC塊))的方法和裝置,所述數據塊擁有奇偶信息,本發明還涉及用于從擁有奇偶信息的數據塊中恢復數據段的方法和裝置。
背景技術:
在大多數數字數據通信和數據存儲的方法中使用這種類型的方法。例如,數字數據通信的公知方法有數字視頻廣播(DVB)或數字音頻廣播(DAB)。在數字數據存儲方法的領域,基本上論及磁帶存儲器(例如數字音頻磁帶(DAT)、數字視頻盒式磁帶(DVC)、家用數字錄像系統(DVHS))、盤存儲器(例如硬盤、可寫光盤存儲器(CD-R)、數字多用盤+讀/寫(DVD+RW))、以及存儲卡上的存儲器(例如CompactFlash)。在上述及下面的方法中,要存儲或發送的數據段分別都擁有奇偶信息,以便在讀取或接收該數據時,使得能夠在發生讀取或接收錯誤的情況下,糾正錯誤。在寫入或通信處理之前,向數據提供奇偶信息,即編碼。在讀取或接收處理之后,必須從數據中剔除奇偶信息,將其解碼。圖1中簡要圖解了編碼單元1。其具有兩個構造相同的編碼分支2、3。兩個編碼分支2、3各包括第一存儲器21、31;第一編碼器22、32;第二存儲器23、33;以及第二編碼器24、34,存儲器21、23、31、33以行或列的形式組織。編碼器22、24、32、34可以是,例如,Reed-Solomon編碼器(RS編碼器)或XOR編碼器;也可能為其它類型。通常用RAM存儲器作存儲器21、23、31、33。數據段經由輸入端4進入編碼單元1,在那里,經由轉換器6將其轉送到第一編碼分支2或第二編碼分支3。在兩個編碼分支中,在每種情況下,都用第一編碼器22、32以及第二編碼器24、34向數據段提供奇偶信息,并經由第二切換器7輸出到輸出端5。原理上,對應的解碼器結構相同,只是使用對應的解碼器來取代編碼器22、32、24、34。
下面將參考圖1和圖2解釋現有技術中編碼單元1的基本操作方法。在這種情況下,分別基于DVD-RAM或DVD+RW的編碼單元進行描述。
編碼操作可以分為兩個循環階段40、50。原理上該階段是相同的,只是交換了兩個編碼分支中的角色。圖中,兩個階段40、50的方法步驟被分為在第一編碼分支2中進行的方法步驟401、501,和在第二編碼分支中進行的方法步驟402、502。將不同的方法步驟相鄰排列或上下排列并不必代表時間的順序,除非畫出的箭頭明確地規定了時間的順序。
首先描述第一階段40。在步驟41,16個數據段進入第一編碼分支2,其中每個數據段有2064個字節。在下一步驟42中,將其以192行每行172字節的形式,寫入第一編碼分支的第一存儲器21。同時,在第二編碼分支3中,在步驟43,已經以192行每行172字節的形式存儲在第一存儲器31中的數據被從所述第一存儲器逐列讀取。將讀取到的數據傳送到第一編碼器32,并在每種情況下,由所述編碼器向其提供每列16字節的外部奇偶信息。在后續步驟45,將如此得到的每列208字節的172列寫入第二編碼分支3的第二存儲器33。因此,第二存儲器33擁有208行每行172字節,前192行形成數據區而剩余16行形成奇偶區。當第二編碼分支3的第一存儲器31中還沒有數據存在時,在編碼操作之初省略步驟43-45。
在步驟46,從第一編碼分支2的第二存儲器23中讀取每行172字節的208行,并將其傳送到第二解碼器24,在后續步驟47第二解碼器24在每種情況下,向其提供每行10字節的內部奇偶信息。在這種情況下,該數據段的塊可以附加地通過行交織避免錯誤。然后在每種情況下,數據區中的十二行之后跟隨奇偶區中的一行。最后,在步驟48,將剛完成編碼的16個數據段以208行每行182字節的形式,經由切換器7和輸出端5輸出,并可以被記錄或發送。因為第一編碼分支2的第二存儲器23中還沒有數據存在,所以在編碼操作之初省略步驟46-48。
在結束第一階段40之后,在第二階段中,交換第一編碼分支2或第二編碼分支3的角色。在步驟51,下16個數據段經由輸入端4和切換器6進入第二編碼分支3,并以192行每行172字節的形式,被寫入第二編碼分支3的第一存儲器31。現在讀取在第一階段40的步驟42中寫入第一編碼分支2的第一存儲器21中的每行172字節的192行數據,在步驟53,以172列每列192字節的形式,將其傳送到第一編碼器22,并在步驟54由所述編碼器向其提供每列16字節的外部奇偶信息,并且,在步驟55,以172列每列208字節的形式寫入第一編碼分支2的第二存儲器23中。在步驟56相應地讀取第一階段40的步驟45中引入的第二編碼分支3的第二存儲器33中的每行172字節的208行,將其傳送到第二編碼器34,在步驟57由所述編碼器向其提供每行10字節的內部奇偶信息,如果適當則進行交織,在步驟58,經切換器7和輸出端5輸出。
通過逐次重復兩個階段40、50,連續地對在編碼單元1的輸入端4引入的數據流進行編碼。
現有技術的解碼單元與上面的描述類似。在這種情況下,編碼處理期間由編碼器22、24、32、34向數據提供奇偶信息的步驟被取代為對應的由解碼器為擁有奇偶信息的數據剔除奇偶信息的步驟。而且,首先為數據剔除內部奇偶信息,并只在其后才剔除外部奇偶信息;從而,順序與編碼處理期間相反,因此,輸入端4和輸出端5也被交換。相應地,被寫或被讀的行或列的數量及長度分別被改變。嚴格地說來,為數據剔除奇偶信息是復雜的糾錯操作。要么可以已經由第一解碼器用內部奇偶信息糾正所有錯誤,要么將整行標記為不可糾正。只有通過第二解碼器,才可以借助于外部奇偶信息糾正剩余被標記的字節。然而,在要讀取數據的存儲介質是有大缺陷(例如洞、劃痕等)的情況下,還有一定的可能第二次糾錯仍然有錯誤,所以剩余了殘留錯誤。
公知編碼或解碼單元分別有缺點,即對數據流的連續編碼或解碼分別需要四個存儲器和四個編碼器或解碼器,在每種情況下,各有兩個履行相同的任務。由于這些單獨的組件相對較為昂貴,所以現有技術中編碼單元或解碼單元的分別使用導致相對高的成本。
發明內容
所以,本發明的目的是提出一種分別對數據流編碼或解碼的方法,其降低了存儲器需求,并分別管理兩個編碼器或解碼器,并分別提出編碼單元或解碼單元,以實現本發明的方法。本發明的另一個目的是提出一種用于從存儲介質讀取和/或向存儲介質寫入的裝置和用于傳遞或接收數字數據流的方法,其使用本發明的方法,或分別使用本發明的編碼或解碼單元來對數據流分別進行編碼或解碼。
根據本發明,在創建包括多個數據段的ECC塊的方法的情況下,該數據段以多行和列的塊的形式被緩存在以行和列的形式組織的存儲器中,并且為其提供了奇偶信息,如下實現該目的,逐行將連續接收到的數據段的塊分別交替寫入存儲器的行或列中。其優點在于在讀取之后,可以立即由接收到的下一行覆蓋分別設置在存儲器中的行或列,而在處理中不擦除對于創建奇偶信息仍然有用的數據。
最好,存儲器有第一RAM存儲器和第二RAM存儲器。這樣,可以以兩個步驟創建奇偶信息,第一步驟對數據段的塊的行創建,而第二步驟對列創建,從而有可能用慣常的編碼器來編碼。兩個RAM存儲器不必物理上分離;可以涉及上級RAM存儲器的分區。
根據本發明,讀取數據段的第一塊,向其提供第二奇偶信息項目,并將其輸出,其中所述數據段的第一塊已被設置于第二RAM存儲器中,且已向其提供了第一奇偶信息項目,且具有數據區和奇偶區,還在于,讀取已被設置于第一RAM存儲器中的個數據段的第二塊,向其提供第一奇偶信息項目,并將其存儲在第二RAM存儲器中。這確保被設置在第二RAM存儲器中的數據只在其被完全編碼并輸出之時才由新數據取代。
根據本發明,在從擁有奇偶信息的數據段的ECC塊恢復多個數據段的方法的情況下,該ECC塊緩存在以行和列的形式組織的存儲器中,如下實現該目的,逐行將連續接收到的數據段的塊分別交替寫入存儲器的行或列中。其優點在于,可以由數據段的下一ECC塊中接收到的下一行分別覆蓋存儲器中的行或列,而在處理中不擦除對于解碼仍然有用的數據。
最好,存儲器有第一RAM存儲器和第二RAM存儲器。這樣做的優點在于,可以以兩個步驟去除奇偶信息,第一步驟對數據段的塊的行去除,而第二步驟對列去除,從而有可能用慣常的解碼器來解碼。兩個RAM存儲器不必物理上分離;可以涉及上級RAM存儲器的分區。
按照本發明,讀取數據段的第一ECC塊,為其剔除第一奇偶信息項目,并將其存儲在第二RAM存儲器中,其中所述數據段的第一ECC塊已被設置于第一RAM存儲器中,且已向其提供了第一奇偶信息項目,還在于,為擁有第一和第二奇偶信息項目的數據段的第二個隨后接收到的ECC塊剔除第二奇偶信息項目,并將其存儲在第一RAM存儲器中。這確保被設置在第一RAM存儲器中的數據只在其被完全解碼并存儲到第二RAM存儲器中之時才由新數據取代。
根據本發明,如果已將數據段的第一(ECC)塊逐列寫入第二RAM存儲器,那么就從第二RAM存儲器逐行讀取數據段的第一(ECC)塊,而如果已將其逐行寫入第二RAM存儲器,那么就逐列讀取,還在于如果將數據段的第二(ECC)塊逐行寫入第一RAM存儲器的列中,那么就從第一RAM存儲器逐行讀取數據段的第二(ECC)塊,并將其逐行寫入第二RAM存儲器,而如果已將其逐行寫入第一RAM存儲器(11)的行中,那么就逐列讀取,并逐列寫入第二RAM存儲器。這確保在編碼或解碼期間,沒有時間使仍然需要的數據被其它數據覆蓋。這里和下文中,表述“數據段的(ECC)塊”表示該方法的特征同等地適用于數據段的塊和數據段的ECC塊。
根據本發明,如果從第一RAM存儲器分別逐行或逐列讀取了數據段的第二(ECC)塊,那么就將隨后進一步接收到的數據段的(ECC)塊分別逐行寫入第一RAM存儲器的行或列中。這樣實現是為了不使還需要的數據被隨后接收到的數據段的(ECC)塊覆蓋。
在優選方式中,在每種情況下,在從第二RAM存儲器分別讀取行或列之后,立即從第一RAM存儲器分別讀取對應的行或列,并分別寫入第二RAM存儲器中剛被讀取的行或列中。其優點在于,在還沒有處理第二RAM存儲器中存在的所有數據時,就已經可以向第二RAM存儲器寫入了數據。所以,沒有必要等待完整地讀取第二RAM存儲器。
根據本發明的另一個方面,在每種情況下,在從第二RAM存儲器中的數據區讀取、提供奇偶信息以及輸出固定數量的行或列的處理之后,從第二RAM存儲器的奇偶區分別讀取行或列,提供第二奇偶信息項目,并輸出,分別讀取出的行或列并不立即被覆蓋。這使得能夠交織數據段的ECC塊,從而提高誤差防護。
此外,在優選方式中,在每種情況下,在從第一RAM存儲器分別讀取行或列之后,立即將隨后進一步接收到的數據段的(ECC)塊中對應的行分別寫入剛被讀取的行或列中。其優點在于,在還沒有處理第一RAM存儲器中存在的所有數據時,就已經可以向第一RAM存儲器寫入了數據。同樣,沒有必要等待完整地讀取第一RAM存儲器。
根據本發明,在分別讀取已寫入第一RAM存儲器中的所有行或列之后,將隨后進一步接收到的數據段的(ECC)塊中剩余的行分別寫入第一RAM存儲器的行或列中,還在于,在已重新將從第一RAM存儲器中分別讀取的對應的行或列寫入第二RAM存儲器時,在分別讀取第二RAM存儲器的所有行或列之后,分別讀取第二RAM存儲器中剩余的未讀取的行或列,并將其輸出。這樣實現是為了,即使其行和列的數量不同,也分別完整地對數據段的(ECC)塊進行編碼或解碼。
在優選方式中,數據段的塊各包括16個數據段,這與例如當為DVD+RW或DVD-RAM對數據流分別編碼或解碼時的情況一樣。
根據本發明,數據段的塊各包括192行,每行172字節。這樣,可以根據DVD標準分別對數據流編碼或解碼。
根據本發明,數據段的ECC塊各包括208行,每行182字節。同樣,這對應于DVD標準。
根據本發明,與DVD標準對應,第一奇偶信息項目包括16字節,而第二奇偶信息項目包括10字節。
用于創建包括多個數據段的ECC塊的編碼單元,該數據段以塊的形式被緩存在存儲器中,并且為其提供了奇偶信息,最好,該編碼單元使用本發明的方法來對數據段編碼。這樣的編碼單元的優點在于,與現有技術相比,其存儲器需求降低了一半,只需要兩個而不是需要四個編碼器。
根據本發明,用于從擁有奇偶信息的ECC塊恢復多個數據段的解碼單元,該ECC塊緩存在存儲器中,該解碼單元使用本發明的方法來解碼數據段。這樣的解碼單元的優點在于,與現有技術相比,其存儲器需求降低了一半,只需要兩個而不是需要四個解碼器。
根據本發明,用于從存儲介質讀取或向存儲介質寫入的裝置使用本發明的方法或編碼單元來對數據流進行編碼,或使用本發明的方法或解碼單元來對數據流進行解碼。因為對數據流編碼或解碼所需的組件數量下降,所以這樣的裝置可以以較低的成本生產。
根據本發明的另一個方面,用于傳遞數字數據流的方法使用本發明的方法或編碼單元來對要傳遞的數據流進行編碼。這里,優點同樣在于,對要傳遞的數據流進行編碼所需的成本降低了。
相應地,用于接收數字數據流的方法使用本發明的方法或解碼單元來對接收的數據流進行解碼。這里,優點同樣在于,對接收到的數據流進行解碼所需的成本降低了。
最好通過計算機程序來執行本發明的方法。這使得有可能在已經為其它目的而具有存儲模塊的程序控制裝置中使用這些方法,而不提供專用存儲器來對數據流進行編碼或解碼。
不用說,優選特征的結合也在本發明的有效范圍之內。
為了提供更好的理解,下面將參考附圖1至5描述本發明,其中圖1展示現有技術的編碼單元;圖2展示現有技術中用編碼單元對數據流進行編碼的方法;圖3展示本發明的編碼單元;圖4展示本發明的解碼單元;圖5展示本發明中用編碼單元對數據流進行編碼的方法。
具體實施例方式
圖3示意性地展示了本發明的編碼單元10。與現有技術不同,編碼單元10除輸入端15和輸出端16之外,只有第一RAM存儲器11和第二RAM存儲器13及第一編碼器12和第二編碼器14。將經由輸入端15接收的數據存儲在第一RAM存儲器11中,從中讀取數據,由第一編碼器12向其提供第一奇偶信息項目,并將其存儲在第二RAM存儲器13。同樣地,讀出第二RAM存儲器13中存儲的數據,有第二編碼器14向其提供第二奇偶信息項目,并經由編碼單元的輸出端16將其輸出。
圖4示意性地展示了本發明的解碼單元10。與圖3所示編碼單元10相比較,差異只在于RAM存儲器11、13和解碼器12、14顛倒地排列。由第一解碼器12為經由輸入端5接收并被提供第一和第二奇偶信息項目的ECC塊剔除第二奇偶信息項目,并將其存儲在第一RAM存儲器11中。讀出第一RAM存儲器11中存儲的數據,由第二解碼器14為其剔除第一奇偶信息項目,并將其存儲在第二RAM存儲器中13中,從那里依次將其讀出,并經由輸出端16將其輸出。
圖5示意性地圖解本發明用圖3所示的編碼單元對數據編碼的方法。在此例中,本發明用于分別為DVD+RW或DVD-RAM對數據流進行編碼,即在每種情況下,對192行每行172字節的塊的形式的16個數據段,提供16字節每列的外部奇偶信息和10字節每列的內部奇偶信息,并將其以208行每行182字節的ECC塊的形式輸出。此外,假設第一RAM存儲器11和第二RAM存儲器13中已經有數據存在。如果不是這樣,該方法首先從步驟630開始,直到第一循環結束,并滿足了該假設。
本發明的方法可以細分為兩個階段60、70,在第一階段60和第二階段70中都接收數據段的完整塊,并輸出數據段的完整的ECC塊。所以,連續重復兩個階段60、70,以便對數據流編碼。在每種情況下,可以將兩個階段分別細分為子階段601、602、603、604和701、702、703、704。在圖4中,分別在第一階段60和第二階段70中,所有子階段601-604和701-704都被形象地細分為左手和右手半邊。在每種情況下,左手半邊的方法步驟涉及輸入端15、第一RAM存儲器11、以及第一編碼器12,而右手半邊的方法步驟涉及第二RAM存儲器13、第二編碼器14、以及輸出端16。
在第一階段60之初,第二RAM存儲器13擁有208行每行172字節的形式的數據,前192行形成數據區,而剩余16行形成奇偶區。在第一子階段601中,在步驟610,從第二RAM存儲器13中讀取172字節的第一行。在步驟611,由第二編碼器14向該行提供10字節內部奇偶信息,并且在步驟612經由輸出端16將其作為182字節的行輸出。如此,第二RAM存儲器13中的第一行可以被新數據覆蓋。在第二子階段602中,在步驟620,從第一RAM存儲器11讀取192字節的行。在步驟621,由第一編碼器12向這一行提供16字節的外部奇偶信息,并且在步驟622寫入第二存儲器13中被清除的行中。第三子階段603開始,其中首先在步驟630,經由輸入端15接收數據段的下一塊的172字節的行。在步驟631,將該行寫入第一RAM存儲器11的第一行。在步驟632,從第二RAM存儲器13中讀取172字節的下一行,并將其傳送到第二編碼器14。在步驟633,由所述編碼器提供10字節的內部奇偶信息,并且在步驟634,經由輸出端16將其輸出。第二子階段602和第三子階段603總共進行172次,在這種情況下,在第n次重復中,在步驟620中,在每種情況下,從第一RAM存儲器11讀取第n行,并在向其提供外部奇偶信息之后,在步驟622將其寫入第二RAM存儲器13的第n行。此外,在步驟630,在每種情況下,接收數據段的下一塊的第n行,然后,在步驟631將其寫入第一RAM存儲器11的第n行,在這種情況下,在步驟632,讀取第二RAM存儲器13的第(n+1)行,并在步驟634將其作為ECC塊的第(n+1)行輸出。一旦第二和第三子階段602、603已總共進行172次,第四子階段604就開始。在步驟640,經由輸入端15接收數據段的下一塊中的每行172字節的剩余20行,并且在步驟641,將其寫入第一RAM存儲器11中對應的20行中。此外,在步驟642,從第二RAM存儲器13讀取尚未被讀取的每行172字節的剩余35行,并且在步驟643,在每種情況下,由第二編碼器14向其提供10字節每行的內部奇偶信息,并且在步驟644,經由輸出端16以35行每行182字節的形式輸出。因此,在第四子階段604結束之后,數據段的完整塊全部被寫入第一RAM存儲器11,并且經由輸出端16輸出了數據段的完整ECC塊。此外,向第一RAM存儲器11中存在的數據段的塊提供了第一奇偶信息,并且其被寫入第二RAM存儲器13。因此,盡管第一和第二RAM存儲器11、13中行和列的角色已交換,但是,在第二階段70開始之前,已滿足與第一階段60之初相同的前提。
第二階段70與第一階段60完全類似地進行。在第二階段70之初,第二RAM存儲器13擁有208列每列172字節的形式的數據,前192列形成數據區,而剩余16列形成奇偶區。在第一子階段701中,在步驟710,從第二RAM存儲器13中讀取172字節的第一列。在步驟711,由第二編碼器14向該列提供10字節內部奇偶信息,并且在步驟712經由輸出端16將其作為182字節的行輸出。如此,第二RAM存儲器13中的第一列可以被新數據覆蓋。在第二子階段702中,在步驟720,從第一RAM存儲器11讀取192字節的列。在步驟721,由第一編碼器12向這一列提供16字節的外部奇偶信息,并且在步驟722,寫入第二存儲器13中被清除的列中。第三子階段703開始,其中首先在步驟730,經由輸入端15接收數據段的下一塊的172字節的行。在步驟731,將該行寫入第一RAM存儲器11的第一列。在步驟732,從第二RAM存儲器13中讀取172字節的下一列,并將其傳送到第二編碼器14。在步驟733,由所述編碼器提供10字節的內部奇偶信息,并且在步驟734,經由輸出端16將其輸出。第二子階段702和第三子階段703總共進行172次,在這種情況下,在第n次迭代中,在步驟720中,在每種情況下,從第一RAM存儲器11讀取第n列,并在向其提供外部奇偶信息之后,在步驟722,將其寫入第二RAM存儲器13的第n列,并且,在步驟730,在每種情況下,接收數據段的下一塊的第n行,并且在步驟731將其寫入第一RAM存儲器11的第n列,并且,在步驟732,讀取第二RAM存儲器13的第(n+1)列,并在步驟734,將其作為ECC塊的第(n+1)行輸出。一旦第二和第三子階段702、703已總共進行172次,第四子階段704就開始。在步驟740,經由輸入端15接收數據段的下一塊中的每行172字節的剩余20行,并且在步驟741,將其寫入第一RAM存儲器11中對應的20列中。此外,在步驟742,從第二RAM存儲器13讀取尚未被讀取的每列172字節的剩余35列,在步驟743,由第二編碼器14向其提供10字節每列的內部奇偶信息,并且在步驟744,經由輸出端16以35行每行182字節的形式輸出。因此,在第四子階段704結束之后,數據段的完整塊被寫入第一RAM存儲器11,并且經由輸出端16輸出了數據段的完整ECC塊。此外,向第一RAM存儲器11中存在的數據段的塊提供了第一奇偶信息,并且其被寫入第二RAM存儲器13。
通過逐次重復兩個階段60、70,實現了對來自輸入端15的引入數據流的連續解碼。
如果,除了添加奇偶信息,還企圖使要編碼的數據段的塊交織,那么上述序列必須稍作修改。在每種情況下,分別在從第二RAM存儲器13讀取12行或列,向其提供了外部奇偶信息,并將其輸出之后,從奇偶區分別附加讀取一行或列,向其提供奇偶信息,并將其輸出。該行或列分別不被立即覆蓋,相反地,讀取和寫入的進程停止一段時間。因此,在步驟642和742,分別只處理剩余的21行或列,而不是35行或列。
本發明的解碼單元的操作與上面的描述類似,順序相反,所以在每種情況下,首先對數據解碼,然后才存儲。在這種情況下,編碼處理期間有編碼器12、14向數據提供奇偶信息的那些步驟被取代為對應的由解碼器為擁有奇偶信息的數據剔除奇偶信息項目的步驟。而且,首先為數據剔除內部奇偶信息,并只在其后才剔除外部奇偶信息,換句話說,順序與編碼處理期間的順序相反。有關現有技術的已經給出的相同的描述也適用于為數據剔除奇偶信息。嚴格地講,涉及復雜的糾錯操作。
權利要求
1.創建包括多個數據段的糾錯碼塊的方法,該數據段以多行的塊的形式被緩存在以行和列的形式組織的存儲器(11、13)中,并且為其提供了奇偶信息,其特征在于,逐行將連續接收到的多個數據段的塊分別交替寫入存儲器(11、13)的行或列中。
2.如權利要求1所述的方法,其特征在于,存儲器(11、13)有第一RAM存儲器(11)和第二RAM存儲器(13)。
3.如權利要求2所述的方法,其特征在于,讀取(610、632、642、710、732、742)數據段的第一塊,向其提供(611、633、643、711、733、743)第二奇偶信息項目,并將其輸出(612、634、644、712、734、744),其中所述數據段的第一塊已被設置于第二RAM存儲器(13)中,且已向其提供了第一奇偶信息項目,且具有數據區和奇偶區,還在于,讀取(620、720)已被設置于第一RAM存儲器(11)中的數據段的第二塊,向其提供(621、721)第一奇偶信息項目,并將其存儲(622、722)在第二RAM存儲器(13)中。
4.從擁有奇偶信息的數據段的糾錯碼塊恢復多個數據段的方法,該糾錯碼塊緩存在以行和列的形式組織的存儲器(11、13)中,其特征在于,逐行將連續接收到的數據段的塊分別交替寫入存儲器(11、13)的行或列中。
5.如權利要求4述的方法,其特征在于,存儲器(11、13)有第一RAM存儲器(11)和第二RAM存儲器(13)。
6.如權利要求5述的方法,其特征在于,讀取數據段的第一糾錯碼塊,為其剔除第一奇偶信息項目,并將其存儲在第二RAM存儲器(13)中,其中所述數據段的第一糾錯碼塊已被設置于第一RAM存儲器(11)中,且已向其提供了第一奇偶信息項目,還在于,為擁有第一和第二奇偶信息項目的數據段的第二個隨后接收到的糾錯碼塊剔除第二奇偶信息項目,并將其存儲在第一RAM存儲器(11)中。
7.如權利要求3或6的方法,其特征在于,如果已將數據段的第一(糾錯碼)塊逐列寫入第二RAM存儲器(13),那么就從第二RAM存儲器(13)逐行讀取數據段的第一(糾錯碼)塊,而如果已將其逐行寫入第二RAM存儲器,那么就逐列讀取,還在于,如果將數據段的第二(糾錯碼)塊逐行寫入第一RAM存儲器(11)的列中,那么就從第一RAM存儲器(11)逐行讀取數據段的第二(糾錯碼)塊,并將其逐行寫入第二RAM存儲器(13),而如果已將其逐行寫入第一RAM存儲器(11)的行中,那么就逐列讀取,并逐列寫入第二RAM存儲器(13)。
8.如權利要求7所述的方法,其特征在于,如果從第一RAM存儲器(11)分別逐行或逐列讀取了數據段的第二(糾錯碼)塊,那么就將隨后進一步接收到的數據段的(糾錯碼)塊分別逐行寫入第一RAM存儲器(11)的行或列中。
9.如權利要求8所述的方法,其特征在于,在每種情況下,在從第二RAM存儲器(13)分別讀取行或列之后,立即從第一RAM存儲器(11)分別讀取對應的行或列,并分別寫入第二RAM存儲器(13)中當前被讀取的行或列中。
10.如權利要求9所述的方法,其特征在于,在每種情況下,在從第二RAM存儲器(13)中的數據區讀取、提供奇偶信息以及輸出固定數量的行或列的處理之后,從第二RAM存儲器(13)的奇偶區分別讀取行或列,提供第二奇偶信息項目,并輸出,分別讀取出的行或列并不立即被覆蓋。
11.如權利要求9或10的方法,其特征在于,在每種情況下,在從第一RAM存儲器(11)分別讀取行或列之后,立即將隨后進一步接收到的數據段的(糾錯碼)塊中對應的行分別寫入當前被讀取的行或列中。
12.如權利要求11所述的方法,其特征在于,在分別讀取已寫入第一RAM存儲器(11)中的所有行或列之后,將隨后進一步接收到的數據段的(糾錯碼)塊中剩余的行分別寫入第一RAM存儲器(11)的行或列中,還在于,,在分別讀取其中已將從第一RAM存儲器(11)中分別讀取的對應的行或列重新寫入的第二RAM存儲器(13)的所有行或列之后,分別讀取第二RAM存儲器(13)中剩余的未讀取的行或列,并將其輸出。
13.如前述任何一個權利要求所述的方法,其特征在于,數據段的塊各包括16個數據段。
14.如權利要求1-3或7-13中任何一個所述的方法,其特征在于,數據段的塊各包括192行,每行172字節。
15.如權利要求4-13之一所述的方法,其特征在于,數據段的糾錯碼塊各包括208行,每行182字節。
16.如前述任何一個權利要求所述的方法,其特征在于,第一奇偶信息項目包括16字節,而第二奇偶信息項目包括10字節。
17.用于創建包括多個數據段的糾錯碼塊的編碼單元(10),該數據段以塊的形式被緩存在存儲器(11、13)中,并且為其提供了奇偶信息,其特征在于,其使用如權利要求1-3或7-13中任何一個所述的方法來創建糾錯碼塊。
18.用于從擁有奇偶信息的糾錯碼塊恢復多個數據段的解碼單元,該糾錯碼塊緩存在存儲器(11、13)中,其特征在于,其使用如權利要求4-13中任何一個所述的方法來恢復數據段。
19.用于從存儲介質讀取和/或向存儲介質寫入的裝置,其特征在于,其使用如權利要求1-3或7-13中任何一個所述的方法或如權利要求17所述的編碼單元(10)來對數據流進行編碼,或使用如權利要求4-13中任何一個所述的方法或如權利要求18所述的解碼單元來對數據流進行解碼。
20.用于傳遞數字數據流的方法,其特征在于,其使用如權利要求1-3或7-13中任何一個所述的方法或如權利要求17所述的編碼單元(10)來對數據流進行編碼,以便傳遞。
21.用于接收數字數據流的方法,其特征在于,其使用如權利要求4-13中任何一個所述的方法或如權利要求18所述的解碼單元來對所接收到的數據流進行解碼。
22.一種計算機程序產品,用于執行如權利要求1-13、20或21中任何一個所述的方法。
全文摘要
隨機存取存儲器需求減小的糾錯碼塊編碼器和解碼器。本發明涉及用于創建包括多個數據段的數據塊(糾錯碼塊(ECC塊))的方法和裝置,所述數據塊擁有奇偶信息,本發明還涉及用于從擁有奇偶信息的數據塊中恢復數據段的方法和裝置。所以,本發明的目的是提出一種分別對數據流編碼或解碼的方法,其降低了存儲器需求,并分別管理兩個編碼器12、13或解碼器,并分別提出編碼單元和解碼單元10,以實現本發明的方法。根據本發明,在創建包括多個數據段的ECC塊的方法的情況下,該數據段以多行的塊的形式被緩存在以行和列的形式組織的存儲器11、13中,并且為其提供了奇偶信息,如下實現目的,逐行將連續接收到的數據段的塊分別交替寫入存儲器11、13的行或列中。
文檔編號H04N5/92GK1452321SQ0311047
公開日2003年10月29日 申請日期2003年4月16日 優先權日2002年4月16日
發明者阿洛伊斯·克恩, 海因茨-沃納·基森 申請人:湯姆森特許公司