TWI593240B - 包含錯誤更正程序之解碼裝置及解碼方法 - Google Patents
包含錯誤更正程序之解碼裝置及解碼方法 Download PDFInfo
- Publication number
- TWI593240B TWI593240B TW105116622A TW105116622A TWI593240B TW I593240 B TWI593240 B TW I593240B TW 105116622 A TW105116622 A TW 105116622A TW 105116622 A TW105116622 A TW 105116622A TW I593240 B TWI593240 B TW I593240B
- Authority
- TW
- Taiwan
- Prior art keywords
- error
- decoding
- corrected
- candidate
- location information
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
- H03M13/293—Decoding strategies with erasure setting
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6555—DVB-C2
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
本發明與錯誤更正解碼器相關,並且尤其與能提高正確更正錯誤之可能性的技術相關。
由於信號傳輸的通道在現實環境中常會受各種雜訊的干擾,使得信號失真,失真的信號送到接收端之後,經過降頻轉換得到一基頻的數位信號,再經過解調器解調,最後,經由解碼器對其進行解碼,並對其中的錯誤位元進行更正。錯誤更正碼最重要的任務就是將信號在通道傳輸過程中產生的錯誤修正過來,以達到高可靠度的信號傳輸。其中,里德所羅門碼(Reed–Solomon code)是一種被廣泛應用於高速數位通訊傳輸系統中的錯誤更正碼。里德所羅門碼特別對於傳輸過程中所產生的叢集錯誤或隨機錯誤有相當優秀的錯誤更正能力,因此成為非常受歡迎的通道錯誤更正編解碼。
圖一(A)呈現數位視訊電纜廣播(digital video broadcasting – cable, DVB-C)傳送端的功能方塊圖做為範例。影音編碼器111中負責將影像資料、聲音資料以及其他輔助資料混合編碼為一連串的影音編碼後封包,每個影音編碼後封包的長度各自為一百八十八個位元組。外部編碼器112對該等影音編碼後封包施以里德所羅門編碼。由於加入了十六個位元組的檢查碼,外部編碼器112輸出的每一個外部編碼後封包之長度各自增長為兩百零四個位元組。通常亦稱該等外部編碼後封包各自包含兩百零四個符號(symbol)。接著,外部交錯器(external interleaver) 113負責對外部編碼後封包進行迴旋交錯編碼(convolutional interleaving),藉由重新安排資料的順序來增強資料的錯誤容忍力。差分編碼器(differential encoder) 114對交錯後資料中每個符號的前兩個最高有效位元(most significant bit, MSB)施以差分編碼。隨後,調變器115對差分編碼後資料施以正交振幅調變(quadrature amplitude modulation, QAM),並將調變後資料交由前端電路116進行升頻轉換及數位-類比轉換等程序。
圖一(B)呈現數位視訊電纜廣播(DVB-C)接收端的功能方塊圖。比較圖一(A)與圖一(B)可看出,信號進入此接收端後依序通過的前端電路121、解調器122、差分解碼器123、外部反交錯器124、錯誤更正解碼器125與影音解碼器126與圖一(A)所示之傳送端中的各個功能區塊相對應。錯誤更正解碼器125接收到的每一個待更正封包各自包含兩百零四個符號,且這兩百零四個符號中可能包含一或多個因在傳輸過程中受到雜訊干擾而發生錯誤的符號。錯誤更正解碼器125會依照里德所羅門碼的特性進行解碼並同時找出其中的錯誤加以更正。
里德所羅門解碼器的錯誤更正能力與檢查碼的數量相關;檢查碼愈多,錯誤更正能力愈高。假設一個長度為n個符號的封包中有k個符號為實際資料、(n-k)個符號為檢查碼,則里德所羅門解碼器的錯誤更正能力上限為(n-k)個符號。更明確地說,若能預先得知所有錯誤符號在該封包中的位置(不需要知道錯誤內容),則里德所羅門解碼器最多能將(n-k)個錯誤符號的內容更正為正確。不過,若完全不知道該封包中任何一個錯誤符號的位置(亦不知道錯誤內容),里德所羅門解碼器最多只能將(n-k)/2個錯誤符號的內容更正為正確。綜合以上兩種情況,若能預先得知一個封包中F個錯誤符號的位置且F小於(n-k),則除了更正該F個錯誤符號之外,里德所羅門解碼器最多能再將E個不知道位置的錯誤符號更正回來,其中數值E的上限為[(n-k)-F]/2。因此,里德所羅門解碼器的錯誤更正能力亦常被表示為2E + F ≤ (n-k)。
以圖一(B)呈現的數位視訊電纜廣播(DVB-C)接收端為例,錯誤更正解碼器125收到的每一個待更正封包中有一百八十八個符號為實際資料、十六個符號為檢查碼。由此可知,錯誤更正解碼器125的錯誤更正能力上限為2E + F ≤ (204-188) = 16。因此,在完全不知道任何一個錯誤符號的位置的情況下(F=0),只要一個待更正封包中的錯誤符號不超過八個(E≤8),錯誤更正解碼器125便能在解碼過程中將這個待更正封包中的所有錯誤符號更正回來。相對地,在完全不知道一個待更正封包中任何一個錯誤符號的位置的情況下,若其中的錯誤符號超過八個,錯誤更正解碼器125只能將這個待更正封包視為無法解碼,也就是解碼失敗。再看另外一個例子,若可於對一個待更正封包進行解碼前預先得知其中五個錯誤符號的位置(F=5),則除了這五個已知位置的錯誤符號之外,錯誤更正解碼器125有能力再更正這個待更正封包中五個未知位置的錯誤符號(E≤5.5),相當於使得這個待更正封包能被更正的錯誤符號總數量上升為十個符號 (五個已知位置、五個未知位置)。
以上範例係用以指出里德所羅門碼的一個特性:若能在進行解碼前預先掌握部分或全部的錯誤位置資訊,里德所羅門解碼器能更正回來的錯誤總數量便得以提高。因此,針對里德所羅門碼或同樣具有上述特性的錯誤更正碼,如何找出可信的錯誤位置資訊供錯誤更正解碼器運用,一直是相關領域中備受關注的議題。
本發明提出一種新的解碼裝置及解碼方法,適用於經過差分編碼(differential encoding)以及錯誤更正編碼的信號。在根據本發明之解碼裝置及解碼方法中,當信號已被差分解碼並進一步要被錯誤更正解碼時,利用已知的差分編碼關聯性,能合理推測封包中的錯誤發生位置,進而提高解碼程序能更正的錯誤數量。
根據本發明之一具體實施例為一種解碼裝置,其中包含一差分解碼器、一錯誤更正解碼器與一控制器。該差分解碼器根據一差分編碼關聯性對多筆待差分解碼資料進行差分解碼程序,以產生一差分解碼結果。該錯誤更正解碼器對根據該差分解碼結果產生之多個待更正封包分別施以一解碼程序,並據此為各個待更正封包分別產生一錯誤更正記錄。該控制器接收該等錯誤更正記錄。當一第一待更正封包之錯誤更正記錄顯示該錯誤更正解碼器施於該第一待更正封包之解碼程序失敗,該控制器根據一第二待更正封包之錯誤更正記錄產生一錯誤位置資訊,並請求該錯誤更正解碼器根據該錯誤位置資訊對該第一待更正封包施以另一次解碼程序。根據該差分編碼關聯性,該第二待更正封包為該第一待更正封包之一差分編碼參考封包。
根據本發明之另一具體實施例為一種解碼方法。首先,根據一差分編碼關聯性,多筆待差分解碼資料被施以差分解碼程序,以產生一差分解碼結果。接著,根據該差分解碼結果產生之多個待更正封包分別被施以一解碼程序,並且據此為各個待更正封包分別產生一錯誤更正記錄。當一第一待更正封包之錯誤更正記錄顯示施於該第一待更正封包之解碼程序失敗,一錯誤位置資訊根據一第二待更正封包之錯誤更正記錄被產生。根據該差分編碼關聯性,該第二待更正封包為該第一待更正封包之一差分編碼參考封包。隨後,根據該錯誤位置資訊,該第一待更正封包被施以另一次解碼程序。
關於本發明的優點與精神可以藉由以下發明詳述及所附圖式得到進一步的瞭解。
根據本發明之一具體實施例為一種解碼裝置,其中包含一差分解碼器、一錯誤更正解碼器與一控制器。實務上,該解碼裝置可單獨存在,亦可被整合在各種兼有差分解碼功能與錯誤更正功能的解碼系統中。圖二呈現將該解碼裝置應用於一數位視訊電纜廣播(DVB-C)接收端的功能方塊圖做為範例。透過後續說明,本發明所屬技術領域中具有通常知識者可理解,本發明的精神可實現於其他規格的接收端,不以DVB-C接收端為限。
如圖二所示,DVB-C接收端200包含一前端電路221、一解調器222、一差分解碼器223、一外部反交錯器224、一錯誤更正解碼器225、一影音解碼器226與一控制器227。前端電路221、解調器222、外部反交錯器224、影音解碼器226的詳細運作方式為本發明所屬技術領域中具有通常知識者所知,不再贅述。以下主要針對差分解碼器223、錯誤更正解碼器225以及控制器227的相關部分加以說明。
DVB-C規範中的差分編碼係指,圖一(A)中的差分編碼器114在產生與□第N個外部編碼後封包中第
i個符號的前兩個最高有效位元(MSB)□相對應之差分編碼後資料時 (N為一正整數,
i為一整數指標),除了與□第N個外部編碼後封包中第
i個符號的前兩個最高有效位元□相對應之交錯後資料,還會使用到與□第(N-1)個外部編碼後封包中第(
i+1)個符號的前兩個最高有效位元□相對應之差分編碼後資料。以下稱第N個外部編碼後封包與第(N-1)個外部編碼後封包具有一差分編碼關聯性,且根據該差分編碼關聯性,第(N-1)個外部編碼後封包為第N個外部編碼後封包的差分編碼參考封包。
與DVB-C傳送端相對應,在DVB-C接收端,一連串待更正封包中的第N個待更正封包與第(N-1)個待更正封包也會具有上述差分編碼關聯性,且第(N-1)個待更正封包為第N個待更正封包的差分編碼參考封包。基於此差分編碼關聯性,差分解碼器223在產生與□第N個待更正封包中第
i個符號的前兩個最高有效位元□相對應之差分解碼結果(在圖中標為待反交錯資料)時,除了採用與□第N個待更正封包中第
i個符號的前兩個最高有效位元□相對應之待差分解碼資料,還必須使用到與□第(N-1)個待更正封包中第(
i+1)個符號的前兩個最高有效位元□相對應之待差分解碼資料。由此可推論,如果第(N-1)個待更正封包中第(
i+1)個符號的前兩個最高有效位元在傳輸過程中發生錯誤,與□第(N-1)個待更正封包中第(
i+1)個符號的前兩個最高有效位元□相對應之待差分解碼資料也必然出錯,因此很可能導致差分解碼器223據此產生的與□第N個待更正封包中第
i個符號的前兩個最高有效位元□相對應之差分解碼結果(在圖中標為待反交錯資料)也發生錯誤,進而使得第N個待更正封包中第
i個符號的前兩個最高有效位元出現錯誤。請參閱圖三呈現的示意圖。第(N-1)個待更正封包中第(
i+1)個符號的前兩個最高有效位元被標示為MSB#1,第N個待更正封包中第
i個符號的前兩個最高有效位元被標示為MSB#2。當MSB#1在傳輸過程中發生錯誤,可能會導致錯誤更正解碼器225接收到的MSB#2也是錯誤的。
錯誤更正解碼器225負責對外部反交錯器224輸出的待更正封包施以里德所羅門解碼程序,在解碼的同時進行錯誤更正。對應於圖一(A)中由外部編碼器112提供給外部交錯器113的外部編碼後封包,錯誤更正解碼器225會收到多個待更正封包,且每一個待更正封包各自包含兩百零四個符號。在初次對一個待更正封包進行解碼程序時,錯誤更正解碼器225通常尚未掌握其中發生錯誤的符號之位置。如先前所述,若一個待更正封包中的錯誤符號數量不超過八個,即使未握有任何錯誤位置資訊,錯誤更正解碼器225仍能解碼成功,亦即找出該待更正封包中所有錯誤符號的位置並加以更正。 反之,在沒有任何錯誤位置資訊的情況下,若一個待更正封包中的錯誤符號數量超過八個,錯誤更正解碼器225便無法更正其中任何一個錯誤符號,亦無法得知任何的錯誤位置資訊,稱為解碼失敗。
於此實施例中,若解碼成功,錯誤更正解碼器225會產生一筆錯誤更正記錄傳遞給控制器227,告知該待更正封包中曾經發生錯誤但已經由錯誤更正解碼器225更正的錯誤符號位置(最少零個、最多八個)。針對解碼失敗的待更正封包,錯誤更正解碼器225也會產生一筆錯誤更正記錄傳遞給控制器227,告知此封包解碼失敗。實務上,控制器227可如圖二所示,包含一個用以儲存該等錯誤更正記錄的記憶體227A。
於本實施例中,針對錯誤更正解碼器225解碼成功的待更正封包,除了儲存其錯誤更正記錄之外,控制器227不動作。相對地,一旦出現錯誤更正解碼器225解碼失敗的情況,控制器227會開始介入,嘗試利用兩個待更正封包之間的差分編碼關聯性找出可供錯誤更正解碼器225參考的錯誤位置資訊,其運作方式詳述如下。
如先前所述,第N個待更正封包與第(N-1)個待更正封包具有差分編碼關聯性。待更正封包間的差分編碼關聯性係依DVB-C規範而訂,因此為控制器227預先所知。若控制器227收到第N個待更正封包的錯誤更正記錄顯示解碼失敗,控制器227會自記憶體227A找出第(N-1)個待更正封包的錯誤更正記錄,查看第(N-1)個待更正封包中有哪幾個符號的前兩個最高有效位元在進入錯誤更正解碼器225時原本有錯誤,但已被錯誤更正解碼器225更正。
舉例而言,若第三個待更正封包(N=3)的錯誤更正記錄顯示錯誤更正解碼器225於解碼第三個待更正封包時失敗,則控制器227會自記憶體227A找出第二個待更正封包(N-1=2)的錯誤更正記錄。假設第二個待更正封包的錯誤更正記錄指出錯誤更正解碼器225先前為第二個待更正封包更正了三處錯誤,分別是:第八個符號的前兩個最高有效位元、第五十三個符號的末兩個最低有效位元,以及第一百三十六個符號的前四個最高有效位元。在這個範例中,第二個待更正封包中的第八個符號與第一百三十六個符號分別符合□前兩個最高有效位元進入錯誤更正解碼器225時原本有錯誤,但已被錯誤更正解碼器225更正□的條件。如先前所述,若第(N-1)個待更正封包中第(
i+1)個符號的前兩個最高有效位元在傳輸過程中發生錯誤,極可能導致第N個待更正封包中第
i個符號的前兩個最高有效位元也出現錯誤。因此,可推斷第三個待更正封包中的第七個符號與第一百三十五個符號各自的前兩個最高有效位元也很可能是錯誤的。在這個情況下,控制器227可將第三個待更正封包中的第七個符號與第一百三十五個符號視為兩個可能的錯誤符號,並據此產生相對應的兩筆錯誤位置資訊。隨後,控制器227請求錯誤更正解碼器225根據這兩筆錯誤位置資訊對第三個待更正封包重新施以另一次解碼程序。
如先前所述,錯誤更正解碼器225的錯誤更正能力為2E + F ≤ 16。在錯誤更正解碼器225初次對第三個待更正封包施以解碼程序時,尚未掌握任何的錯誤位置資訊,因此數值F等於零、數值E的上限等於八。控制器227根據差分編碼關聯性為第三個待更正封包找出兩筆錯誤位置資訊,等同於將數值F修改為二、令數值E的上限變為七,進而使得錯誤更正解碼器225最多能為第三個待更正封包更正的錯誤符號總數量(亦即數值E與F的最大值總和)由八個提升為九個。由此可看出,利用控制器227根據差分編碼關聯性找出的錯誤位置資訊,對第三個待更正封包施以另一次解碼程序時,錯誤更正解碼器225更有機會成功更正第三個待更正封包。
在上面的範例中,第二個待更正封包的第五十三個符號先前被錯誤更正解碼器225更正的是末兩個最低有效位元,不符合□前兩個最高有效位元進入錯誤更正解碼器225時原本有錯誤,但已被錯誤更正解碼器225更正□的條件。因此,控制器227並不會據此產生一筆錯誤位置資訊。由此可看出,第(N-1)個待更正封包的錯誤更正記錄未不一定能完全被控制器227利用來產生有效的錯誤位置資訊。不過,只要錯誤更正解碼器225先前成功更正第(N-1)個待更正封包中之至少一錯誤符號,控制器227便有機會可根據差分編碼關聯性與第(N-1)個待更正封包的錯誤發生位置產生第N個待更正封包的錯誤位置資訊。
須說明的是,差分解碼與里德所羅門解碼的詳細實施方式為本發明所屬技術領域中具有通常知識者所知,於此不贅述其解碼細節。
實務上,控制器227可被實現為固定式及/或可程式化數位邏輯電路,例如可程式化邏輯閘陣列、特定應用積體電路、微控制器、微處理器、數位信號處理器。或者,控制器227亦可被設計為透過執行記憶體227A中所儲存之處理器指令以完成其任務。此外,本發明的範疇並未限定於特定儲存機制。記憶體227A可包含一個或多個揮發性或非揮發性記憶體裝置,例如隨機存取半導體記憶體、唯讀記憶體、磁性及/或光學記憶體、快閃記憶體等等。
於另一具體實施例中,根據本發明之解碼裝置進一步包含一輸入功率評估電路。如圖四所示,相較於DVB-C接收端200,DVB-C接收端300進一步包含一輸入功率評估電路228。輸入功率評估電路228係用以為一待更正封包所包含的複數筆資料(例如各個符號)分別產生一輸入功率評估值,並計算各輸入功率評估值與一參考功率的差異,提供給控制器227。一般而言,沒有錯誤的符號之功率會落在一個已知的概略範圍(可透過實驗或統計產生)內,此概略範圍的中間值可做為上述參考功率。相對地,出現錯誤的符號之功率往往會與此參考功率差異較大。由此可推論,功率與參考功率差異較大的符號可能是錯誤的符號。
在DVB-C接收端300中,錯誤更正解碼器225首先可在沒有任何錯誤位置資訊的情況下嘗試將一待更正封包解碼。若初次解碼失敗,錯誤更正解碼器225可利用控制器227根據差分編碼關聯性找出的錯誤位置資訊對該待更正封包再次解碼。若再次解碼仍然是失敗的,控制器227便會根據輸入功率評估電路228產生之該等功率差異值中高於一預設門檻值的功率差異值,選出一筆或多筆候選錯誤位置資訊。隨後,控制器227會請求錯誤更正解碼器225進一步根據該一筆或多筆候選錯誤位置資訊再一次對該待更正封包施以解碼程序。更明確地說,除了根據差分編碼關聯性產生的錯誤位置資訊,控制器227還可根據各符號的輸入功率為錯誤更正解碼器225進一步提供其他候選錯誤位置資訊,以協助錯誤更正解碼器225更有機會成功更正該待更正封包。
於一實施例中,控制器227提供給錯誤更正解碼器225的錯誤位置資訊被預先設定一數量上限。舉例而言,假設該數量上限等於十,若根據差分編碼關聯性產生的錯誤位置資訊已指出一個封包中的六個錯誤符號,則控制器227至多再根據輸入功率選出四個候選錯誤位置資訊(例如對應於輸入功率與參考功率差異最大的四個符號)。
經模擬實驗證明,控制器227根據輸入功率選出的候選錯誤位置資訊不一定都是真正對應於存在錯誤的資料。此外,選用並非真正錯誤的候選錯誤位置資訊供錯誤更正解碼器225進行解碼程序,可能會導致錯誤更正解碼器225誤判已正確更正某個待更正封包,但實際上是將該封包誤解讀為另一個封包。因此,於一具體實施例中,根據本發明之解碼裝置進一步包含一覆核電路,覆核根據輸入功率選出的候選錯誤位置資訊,以避免上述誤判情況,詳述如下。
如圖五所示,相較於DVB-C接收端300,DVB-C接收端400進一步包含一覆核電路229。舉例而言,假設控制器227根據輸入功率總共為一待更正封包選出六筆候選錯誤位置資訊,控制器227可首先自該六筆候選錯誤位置資訊中進一步選出少於六筆(例如五筆)的候選錯誤位置資訊,做為一第一候選組合,並請求錯誤更正解碼器225利用根據差分編碼關聯性產生的錯誤位置資訊,加上該第一候選組合,對該待更正封包施以解碼程序。若錯誤更正解碼器225利用根據差分編碼關聯性產生的錯誤位置資訊以及該第一候選組合對該待更正封包施以解碼後,判定解碼成功,覆核電路229 便會接著根據錯誤更正解碼器225提供給控制器227的錯誤更正記錄,判斷該待更正封包被更正的錯誤符號是否符合一錯誤分布條件。舉例而言,該錯誤分布條件可為「同一封包中有連續三個相鄰符號被錯誤更正解碼器225更正」。實際上,連續多個相鄰符號皆錯誤的情況非常罕見。也就是說,若該第一候選組合使得據此更正後的待更正封包符合上述錯誤分布條件,表示該第一候選組合中包含的候選錯誤位置資訊可信度不高。因此,在本實施例中,控制器227會放棄該第一候選組合,並自該六筆候選錯誤位置資訊中重新選出另外五筆候選錯誤位置資訊,做為一第二候選組合,並請求錯誤更正解碼器225再次利用根據差分編碼關聯性產生的錯誤位置資訊,加上該第二候選組合,對該待更正封包施以又一次解碼程序,依此類推。
根據本發明之另一具體實施例為一種解碼方法,其流程圖係繪示於圖六。首先,步驟S61為根據一差分編碼關聯性對多筆待差分解碼資料進行差分解碼程序,以產生一差分解碼結果。接著,步驟S62為對根據該差分解碼結果產生之多個待更正封包分別施以一解碼程序,並據此為各個待更正封包分別產生錯誤更正記錄。步驟S63為:當一第一待更正封包之錯誤更正記錄顯示施於該第一待更正封包之解碼程序失敗,根據一第二待更正封包之錯誤更正記錄產生一錯誤位置資訊,其中根據該差分編碼關聯性,該第二待更正封包為該第一待更正封包之一差分編碼參考封包。隨後的步驟S64則是根據該錯誤位置資訊對該第一待更正封包施以另一次解碼程序。
圖七呈現的解碼方法流程圖係針對單一待更正封包,並且進一步包含先前介紹過的輸入功率評估工作。首先,步驟S71為對一待更正封包施以一錯誤更正解碼程序。步驟S72為判斷步驟S71中的錯誤更正解碼程序是否成功。若步驟S72的判斷步驟為是,此解碼流程700即結束於成功狀態。若步驟S72的判斷步驟為否,則步驟S73繼續被執行,亦即嘗試根據一差分編碼參考封包的錯誤更正記錄產生一錯誤位置資訊。如先前所述,若該差分編碼參考封包中的封包皆不符合□前兩個最高有效位元原本有錯誤,但已被錯誤更正解碼程序更正□的條件,便無法產生可用的錯誤位置資訊。步驟S74為判斷步驟S73是否有產生任何的錯誤位置資訊。若步驟S74的判斷步驟為否,此解碼流程700即結束於失敗狀態。若步驟S74的判斷步驟為是,則步驟S75繼續被執行,亦即根據該錯誤位置資訊對該待更正封包施以另一次錯誤更正解碼程序。
步驟S76為判斷步驟S75中的錯誤更正解碼程序是否成功。若步驟S76的判斷步驟為是,此解碼流程700即結束於成功狀態。若步驟S76的判斷步驟為否,則步驟S77繼續被執行,亦即嘗試根據該待更正封包的多筆輸入功率評估值產生一候選錯誤位置資訊。如先前所述,候選錯誤位置資訊係根據高於一預設門檻值的功率差異值選出。因此,若該待更正封包沒有任一個功率差異值高於該預設門檻值,即無法產生任何候選錯誤位置資訊。步驟S78為判斷步驟S77是否有產生任何的候選錯誤位置資訊。若步驟S78的判斷步驟為否,此解碼流程700即結束於失敗狀態。若步驟S78的判斷步驟為是,則步驟S79繼續被執行,亦即除了利用步驟S73產生的錯誤位置資訊,再進一步將步驟S77產生的候選錯誤位置資訊納入考量,據此對該待更正封包施以又一次解碼程序。步驟S80為判斷步驟S79中的錯誤更正解碼程序是否成功。若步驟S80的判斷步驟為是,此解碼流程700即結束於成功狀態。若步驟S80的判斷步驟為否,則此解碼流程700即結束於失敗狀態。在這個失敗狀態之後,DVB-C接收端可能可以要求DVB-C傳送端重新傳送對應於該待更正封包的信號。
本發明所屬技術領域中具有通常知識者可理解,先前在介紹DVB-C接收端200、300、400時描述的各種操作變化亦可應用至圖六、圖七中的解碼方法,其細節不再贅述。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之範疇加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的範疇內。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
111‧‧‧影音編碼器
112‧‧‧外部編碼器
113‧‧‧外部交錯器
114‧‧‧差分編碼器
115‧‧‧調變器
116‧‧‧前端電路
121、221‧‧‧前端電路
122、222‧‧‧解調器
123、223‧‧‧差分解碼器
124、224‧‧‧外部反交錯器
125、225‧‧‧錯誤更正解碼器
126、226‧‧‧影音解碼器
227‧‧‧控制器
227A‧‧‧記憶體
228‧‧‧輸入功率評估電路
229‧‧‧覆核電路
200、300、400‧‧‧數位視訊電纜廣播接收端
S61~S64、S71~S80‧‧‧流程步驟
圖一(A)與圖一(B)分別呈現數位視訊電纜廣播傳送端與接收端的功能方塊圖。 圖二為根據本發明之一實施例中的數位視訊電纜廣播接收端之功能方塊圖。 圖三為兩個待更正封包間的差分編碼關聯性示意圖。 圖四呈現根據本發明之數位視訊電纜廣播接收端進一步包含一輸入功率評估電路的實施例之功能方塊圖。 圖五呈現根據本發明之數位視訊電纜廣播接收端進一步包含一覆核電路的實施例之功能方塊圖。 圖六為根據本發明之一實施例中的解碼方法之流程圖。 圖七為根據本發明之另一實施例中的解碼方法之流程圖。 須說明的是,本發明的圖式包含呈現多種彼此關聯之功能性模組的功能方塊圖。該等圖式並非細部電路圖,且其中的連接線僅用以表示信號流。功能性元件及/或程序間的多種互動關係不一定要透過直接的電性連結始能達成。此外,個別元件的功能不一定要如圖式中繪示的方式分配,且分散式的區塊不一定要以分散式的電子元件實現。
200‧‧‧數位視訊電纜廣播接收端
221‧‧‧前端電路
222‧‧‧解調器
223‧‧‧差分解碼器
224‧‧‧外部反交錯器
225‧‧‧錯誤更正解碼器
226‧‧‧影音解碼器
227‧‧‧控制器
227A‧‧‧記憶體
Claims (10)
- 一種解碼裝置,包含:一差分解碼器,根據一差分編碼關聯性對多筆待差分解碼資料進行差分解碼程序,以產生一差分解碼結果;一錯誤更正解碼器,對多個待更正封包分別施以一解碼程序,並據此為該多個待更正封包分別產生多個錯誤更正記錄,其中該多個待更正封包係根據該差分解碼結果產生;以及一控制器,當一第一待更正封包之錯誤更正記錄顯示該錯誤更正解碼器施於該第一待更正封包之解碼程序失敗,該控制器根據一第二待更正封包之錯誤更正記錄產生一錯誤位置資訊,並送出一請求,使該錯誤更正解碼器根據該錯誤位置資訊對該第一待更正封包施以另一次解碼程序,其中該第二待更正封包與該第一待更正封包具有一差分編碼關聯性。
- 如申請專利範圍第1項所述之解碼裝置,進一步包含:一輸入功率評估電路,用以為該第一待更正封包產生複數個輸入功率評估值,以及分別計算該複數個輸入功率評估值與一參考功率之複數個功率差異值;其中,若該錯誤更正解碼器根據該錯誤位置資訊對該第一待更正封包施以之該另一次解碼程序依然失敗,該控制器根據該複數個功率差異值中高於一預設門檻值之功率差異值,選出一個或多個候選錯誤位置資訊。
- 如申請專利範圍第2項所述之解碼裝置,其中該控制器選出該一個或多個候選錯誤位置資訊時,使該錯誤位置資訊與該一個或多個候選錯誤位置資 訊之一總數量不超過一預定的錯誤資訊數量上限。
- 如申請專利範圍第2項所述之解碼裝置,其中該控制器請求該錯誤更正解碼器進一步根據該候選錯誤位置資訊對該第一待更正封包又一次施以該解碼程序。
- 如申請專利範圍第2項所述之解碼裝置,其中該控制器根據該複數個功率差異值選出多筆候選錯誤位置資訊之後,自該多筆候選錯誤位置資訊中進一步選出一第一候選組合,並請求該錯誤更正解碼器根據該第一候選組合對該第一待更正封包又一次施以該解碼程序;該解碼裝置進一步包含:一覆核電路,若該錯誤更正解碼器根據該第一候選組合對該第一待更正封包又一次施以該解碼程序後判定解碼成功,該覆核電路判斷經過更正後之該第一待更正封包是否符合一錯誤分布條件,其中該錯誤分布條件用以指示該第一候選組合中包含的候選錯誤位置資訊之可信度;其中,若該覆核電路之判斷結果為是,該控制器自該多筆候選錯誤資料中另選出一第二候選組合,並請求該錯誤更正解碼器根據該第二候選組合再次對該第一待更正封包施以該解碼程序。
- 一種解碼方法,包含:(a)根據一差分編碼關聯性對多筆待差分解碼資料進行差分解碼程序,以產生一差分解碼結果;(b)對根據該差分解碼結果產生之多個待更正封包分別施以一解碼程序,並據此為各個待更正封包分別產生多個錯誤更正記錄;(c)當一第一待更正封包之錯誤更正記錄顯示施於該第一待更正封包之解碼程序失敗,根據一第二待更正封包之錯誤更正記錄產生一錯誤位置 資訊,其中該第二待更正封包與該第一待更正封包具有一差分編碼關聯性;以及(d)根據該錯誤位置資訊對該第一待更正封包施以另一次解碼程序。
- 如申請專利範圍第6項所述之解碼方法,進一步包含:(e1)為該第一待更正封包產生複數個輸入功率評估值;(e2)分別計算該複數個輸入功率評估值與一參考功率之複數個功率差異值;以及(e3)若步驟(d)中所執行之該另一次解碼程序依然失敗,根據該複數個功率差異值中高於一預設門檻值之功率差異值,選出一候選錯誤位置資訊。
- 如申請專利範圍第7項所述之解碼方法,其中步驟(e3)選出該一個或多個候選錯誤位置資訊時,使該錯誤位置資訊與該一個或多個候選錯誤位置資訊之一總數量不超過一預定的錯誤資訊數量上限。
- 如申請專利範圍第7項所述之解碼方法,進一步包含:根據該候選錯誤位置資訊對該第一待更正封包又一次施以該解碼程序。
- 如申請專利範圍第7項所述之解碼方法,其中步驟(e3)根據該複數個功率差異值選出多筆候選錯誤位置資訊;該解碼方法進一步包含:自該多筆候選錯誤位置資訊中進一步選出一第一候選組合;根據該第一候選組合對該第一待更正封包又一次施以該解碼程序;若根據該第一候選組合對該第一待更正封包又一次施以該解碼程序後判定解碼成功,判斷經過更正後之該第一待更正封包是否符合一錯誤分 布條件,其中該錯誤分布條件用以指示該第一候選組合中包含的候選錯誤位置資訊之可信度;若經過更正後之該第一待更正封包符合該錯誤分布條件,自該多筆候選錯誤資料中另選出一第二候選組合;以及根據該第二候選組合再次對該第一待更正封包施以該解碼程序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105116622A TWI593240B (zh) | 2016-05-27 | 2016-05-27 | 包含錯誤更正程序之解碼裝置及解碼方法 |
US15/285,639 US9912443B2 (en) | 2016-05-27 | 2016-10-05 | Decoding apparatus and decoding method including error correction process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105116622A TWI593240B (zh) | 2016-05-27 | 2016-05-27 | 包含錯誤更正程序之解碼裝置及解碼方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI593240B true TWI593240B (zh) | 2017-07-21 |
TW201742384A TW201742384A (zh) | 2017-12-01 |
Family
ID=60048405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105116622A TWI593240B (zh) | 2016-05-27 | 2016-05-27 | 包含錯誤更正程序之解碼裝置及解碼方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9912443B2 (zh) |
TW (1) | TWI593240B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019216368A (ja) * | 2018-06-13 | 2019-12-19 | ソニーセミコンダクタソリューションズ株式会社 | 復調回路、処理方法、および処理装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2226470A (en) * | 1988-12-23 | 1990-06-27 | Philips Electronic Associated | Encoding,decoding and processing pixel values for storing and reproducing a digitised image in expanded format |
TW465234B (en) * | 1997-02-18 | 2001-11-21 | Discovision Ass | Single chip VLSI implementation of a digital receiver employing orthogonal frequency division multiplexing |
US20020138793A1 (en) | 2001-03-26 | 2002-09-26 | Leif Wilhelmsson | Iterative decoding of differentially modulated symbols |
EP1463255A1 (en) * | 2003-03-25 | 2004-09-29 | Sony United Kingdom Limited | Interleaver for mapping symbols on the carriers of an OFDM system |
US7826712B2 (en) * | 2006-08-29 | 2010-11-02 | Echostar Technologies Corporation | Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage |
KR101093346B1 (ko) * | 2006-11-16 | 2011-12-14 | 엘지에릭슨 주식회사 | Ofdma 심볼 송신 장치 및 송신 방법 |
WO2010079868A1 (en) * | 2009-01-09 | 2010-07-15 | Lg Electronics Inc. | Apparatus for transmitting and receiving a signal and method of transmitting and receiving a signal |
JP2010244669A (ja) * | 2009-03-16 | 2010-10-28 | Sony Corp | 記録再生装置、及びその調整方法 |
WO2011142113A1 (ja) * | 2010-05-10 | 2011-11-17 | パナソニック株式会社 | デジタル放送受信装置及びデジタル放送受信方法 |
EP2632068B1 (en) | 2012-02-24 | 2022-01-05 | THALES DIS AIS Deutschland GmbH | Method of detecting a jamming transmitter affecting a communication user equipment, and system |
US9203558B1 (en) * | 2013-01-23 | 2015-12-01 | Viasat, Inc. | Soft-decision decoding of differential 16-QAM |
-
2016
- 2016-05-27 TW TW105116622A patent/TWI593240B/zh not_active IP Right Cessation
- 2016-10-05 US US15/285,639 patent/US9912443B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9912443B2 (en) | 2018-03-06 |
US20170346597A1 (en) | 2017-11-30 |
TW201742384A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743621B (zh) | 基于极化码的harq信号发送、接收方法及装置 | |
US5230003A (en) | Decoding system for distinguishing different types of convolutionally-encoded signals | |
US7461324B2 (en) | Parallel processing for decoding and cyclic redundancy checking for the reception of mobile radio signals | |
US8359523B2 (en) | Method and system for decoding video, voice, and speech data using redundancy | |
AU2020221993B2 (en) | Multi-mode channel coding with mode specific coloration sequences | |
CN109347487A (zh) | 基于比特冻结辅助的极化码scl译码方法 | |
US5539755A (en) | Method and apparatus for decoding an error protected block of extended data | |
CA3069594C (en) | Media content-based adaptive method, device and system for fec coding and decoding of systematic code, and medium | |
WO2020165260A1 (en) | Multi-mode channel coding with mode specific coloration sequences | |
CN112994838B (zh) | 信道编码及译码方法和装置、信息传输*** | |
US8824564B2 (en) | Method and system for redundancy-based decoding of video content | |
TWI593240B (zh) | 包含錯誤更正程序之解碼裝置及解碼方法 | |
EP0827298A2 (en) | Data receiver and data receiving method | |
CN109428674B (zh) | 数据传输方法、装置和***、接收端及存储介质 | |
CN107579803B (zh) | 包括错误更正程序的解码装置及解码方法 | |
CN111277830B (zh) | 一种编码方法、解码方法及装置 | |
TWI601387B (zh) | 包含錯誤更正程序之解碼裝置及解碼方法 | |
US6192500B1 (en) | Method and apparatus for enhanced performance in a system employing convolutional decoding | |
EP0571019B1 (en) | Extended error protected communication system | |
US7975212B2 (en) | Sequential decoding method and apparatus thereof | |
US7818632B2 (en) | Code-word list algorithm | |
JP6552776B1 (ja) | 誤り訂正復号装置および誤り訂正復号方法 | |
CN110460339B (zh) | 卷积码译码的检测方法、装置、存储介质及电子设备 | |
CN111181695B (zh) | 一种极化码混合自动重传请求方法、装置和*** | |
RU2361361C1 (ru) | Способ декодирования информации, закодированной помехоустойчивым каскадным кодом переменной блоковой длины |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |