TW202324040A - 減少錯誤傳播的轉態編碼器及轉態編碼方法 - Google Patents
減少錯誤傳播的轉態編碼器及轉態編碼方法 Download PDFInfo
- Publication number
- TW202324040A TW202324040A TW111137999A TW111137999A TW202324040A TW 202324040 A TW202324040 A TW 202324040A TW 111137999 A TW111137999 A TW 111137999A TW 111137999 A TW111137999 A TW 111137999A TW 202324040 A TW202324040 A TW 202324040A
- Authority
- TW
- Taiwan
- Prior art keywords
- word
- conversion
- words
- input
- encoded
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M99/00—Subject matter not provided for in other groups of this subclass
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/027—Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
-
- 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/31—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 coding for error detection or correction and efficient use of the spectrum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本發明係提供一種編碼輸入資料的方法、用於編碼輸入資料的轉態編碼器、以及解碼輸入傳輸資料的方法。編碼輸入資料的方法包含:接收包含複數個輸入字的該輸入資料,該複數個輸入字包含第一輸入字以及第二輸入字;產生包含第一轉換字以及第二轉換字的複數個轉換字,第一轉換字至少基於第一輸入字,第二轉換字基於第一轉換字以及第二輸入字;基於複數個轉換字來識別關鍵值;以及基於關鍵值以及複數個轉換字來產生複數個編碼字。
Description
相關申請案之交互參照
本申請案主張於2021年20月6日所提出名稱為「減少錯誤傳播的轉態編碼方法(TRANSITION ENCODING METHOD WITH REDUCED ERROR PROPAGATION)」之第63/252,948號美國臨時申請案之優先權,其內容透過引用方式全文併入本文中。
本揭露的實施例的態樣大致上涉及一種資料通訊系統。
一般而言,串列資料通訊通常用於透過線路、光纖甚至無線的方式來進行通訊的各種系統中。在數位資料的串列通訊中,當發送器不與資料串流一起傳輸時序訊號時,接收器必須使用來自資料串流的時序資訊來重新產生時序。從串列資料串流中提取時序資訊的過程稱為時序回復(clock recovery),其對於允許接收器電路解碼傳輸的符號至關重要。
可以透過修改傳輸的資料來輔助接收器的時序回復,以確保資料串流中有足夠數量的轉態(transitions)。換句話說,必須限制最壞情況下的無轉態運行長度(run-length)。為了確保頻繁的轉態,發送器可以利用轉態編碼演算法對原始資料進行編碼,從而定期地發生轉態。
此處先前技術部分所揭露的上述資訊僅用於增進對本揭露的理解,因此可能包含不構成本揭露所屬技術領域具有通常知識者已知的現有技術的資訊。
本揭露的實施例的態樣涉及一種用於對傳輸串流進行編碼以使得能夠在表現出較低錯誤傳播的接收器處進行時序回復的的系統及方法。在一些實施例中,發送器透過在使用關鍵值對資料串流進行編碼之前預處理資料串流來對資料串流進行編碼。在一些實施例中,接收器透過對接收的編碼串流的連續編碼字應用二進制互斥或(binary XOR)運算來解碼編碼流。
根據本發明的一些實施例,其提供一種編碼輸入資料的方法,此方法包含:接收包含複數個輸入字的輸入資料,該複數個輸入字包含第一輸入字以及第二輸入字;產生包含第一轉換字以及第二轉換字的複數個轉換字,第一轉換字至少基於第一輸入字,第二轉換字基於第一轉換字以及第二輸入字;基於複數個轉換字來識別關鍵值;以及基於關鍵值以及複數個轉換字來產生複數個編碼字。
在一些實施例中,第一輸入字為第i-1輸入字,第二輸入字為第i輸入字,i為大於1的整數,並且其中第一轉換字為第i-1轉換字,並且第二轉換字為第i轉換字。
在一些實施例中,產生複數個轉換字包含:產生第一轉換字作為第一輸入字;以及透過對第二輸入字以及第一轉換字執行二進制互斥或運算來產生第二轉換字。
在一些實施例中,產生複數個轉換字包含:透過對第一輸入字與複數個轉換字中的前一個轉換字執行二進制互斥或運算來產生第一轉換字;以及透過對第二輸入字以及第一轉換字執行二進制互斥或運算來產生第二轉換字。
在一些實施例中,第一輸入字的位元長度與第一轉換字的位元長度相同。
在一些實施例中,第一轉換字的位元長度與複數個編碼字中的一個的位元長度相同。
在一些實施例中,關鍵值具有與複數個轉換字中的一個的位元長度相同的位元長度,並且其與複數個轉換字中的任意一個的位元長度不相同。
在一些實施例中,複數個編碼字包含第一編碼字以及第二編碼字,第一編碼字至少基於關鍵值並且第二編碼字基於關鍵值以及第一轉換字。
在一些實施例中,產生複數個編碼字包含:產生第一編碼字作為關鍵值;以及透過對第一轉換字以及關鍵值執行二進制互斥或運算來產生第二編碼字。
在一些實施例中,產生複數個編碼字包含:透過對第一轉換字以及關鍵值執行二進制互斥或運算來產生第一編碼字;以及透過對第二轉換字以及關鍵值執行二進制互斥或運算來產生第二編碼字。
在一些實施例中,標示為{
y 1,
y 2, … ,
y N}的複數個轉換字表示為:{
x 1,
x 2^
x 1, … ,
x N^
…^
x 2^
x 1},其中{
x 1,
x 2, … ,
x N}表示複數個輸入字,N為大於2的整數,並且^表示二進制互斥或運算。
在一些實施例中,其中複數個編碼字表示為:{ D ,
y 1^D,
y 2^D, … ,
y N^D },其中D表示關鍵值。
在一些實施例中,此方法進一步包含:透過通訊通道發送傳輸資料至接收器,傳輸資料包含複數個編碼字。
根據本發明的一些實施例,其提供一種用於編碼輸入資料的轉態編碼器,轉態編碼器包含:處理器;以及處理器記憶體,係為處理器本地的記憶體,其中處理器具有儲存於其上的指令,當由處理器來執行指令時,使得處理器執行:接收包含複數個輸入字的輸入資料,該複數個輸入字包含第一輸入字以及第二輸入字;產生包含第一轉換字以及第二轉換字的複數個轉換字,第一轉換字至少基於第一輸入字,第二轉換字基於第一轉換字以及第二輸入字;基於複數個轉換字來識別關鍵值;以及基於關鍵值以及複數個轉換字來產生複數個編碼字。
根據本發明的一些實施例,其提供一種解碼傳輸資料的方法,此方法包含:接收包含複數個編碼字的傳輸資料,該複數個編碼字包含第一編碼字以及第二編碼字;以及透過對第一編碼字以及第二編碼字執行二進制互斥或運算來產生複數個解碼字中的第一解碼字。
在一些實施例中,第一編碼字以及第二編碼字為連續的字。
在一些實施例中,複數個編碼字表示為:{ D ,
y 1^D,
y 2^D, … ,
y N^D },其中{
y 1,
y 2, … ,
y N}表示複數個轉換字,D表示用於編碼複數個編碼字的一關鍵值,並且^表示二進制互斥或運算。
在一些實施例中,複數個轉換字表示為:{
x 1,
x 2^
x 1, … ,
x N^
…^
x 2^
x 1},其中{
x 1,
x 2, … ,
x N}表示複數個解碼字,並且N為大於2的整數。
在一些實施例中,第一編碼字的位元長度與第一解碼字的位元長度相同。
在一些實施例中,接收傳輸資料包含:透過通訊通道從發送器接收傳輸資料。
在下文中的詳細說明旨在作為串列資料通訊中的用於轉態編碼/解碼資料的系統及方法的例示性實施例的說明,其根據本揭露來提供,並且其並非旨在表示本揭露可以被構成或利用的唯一形式。結合所示的實施例的說明闡明了本揭露的特徵。然而,應當理解的是,相同或同等的功能及結構可以透過不同的實施例來實現,這些實施例也旨在包含於本揭露的範圍內。如本文中其他部分所指出的,相似的元件符號旨在指代相似的元件或特徵。
在相關技術領域中,為了實現運行長度限制(run-length-limited)傳輸,發送器可以透過基於輸入資料來識別金鑰,使用金鑰對輸入資料的每一個字進行編碼,並且將金鑰連同編碼字一起發送至接收器。編碼資料可以具有特定的運行長度限制。接收器依序識別傳輸資料中的金鑰,並使用此金鑰對接收到的編碼字進行解碼以獲取原始輸入資料。然而,如果識別出的金鑰中有錯誤(例如,肇因於失真(lossy)/有雜訊(noisy)的通訊通道),使用此金鑰來進行編碼的每個單字都可能被錯誤地解碼。因此,識別出的金鑰中的錯誤可能向下傳播至解碼字並且損壞接收到的資料中的許多字。這可能需要重新傳輸資料並且將降低發射器-接收器系統的整體傳輸速率。
為了減輕這樣的錯誤傳播,根據一些實施例,發射器包含轉態編碼器,其透過運行互斥或(XOR)運算或者累加互斥或(accumulative XOR)運算來對輸入資料的字進行預處理,並且將關鍵值應用於預處理的字以產生編碼字。編碼字被傳輸至接收器,其透過一次對兩個連續的編碼字執行串列的互斥或(serially performing XOR)運算來解碼接收到的編碼字,以獲取原始輸入字。使用這種方法,關鍵值或任意其他接收到的編碼字中的錯誤最多可能損壞兩個字。因此,與現有技術不同的是,錯誤將不會沿著編碼字鏈傳播。
第1A圖為根據本揭露一些實施例的串列資料通訊系統的方塊圖。第1B圖為根據本揭露一些實施例的串列資料通訊系統的發送器/接收器的方塊圖。
參照第1A圖,在一些實施例中,串列資料通訊系統1包含發送器10、通訊通道(例如,串列通訊通道)15、以及接收器20。發送器10可以包含資料壓縮器及/或編碼器12,其用於對輸入資料串流執行壓縮及/或編碼,以產生用於透過通訊通道15傳輸至接收器20的傳輸資料。接收器20可以包含資料解壓縮器及/或解碼器22,其用於對接收器20接收到的資料串流執行解壓縮及/或解碼以回復輸入資料串流。接收器20可以進一步包含時序回復電路24。
根據一些實施例,發送器10包含轉態編碼器100,其配置為透過確保轉態以至少特定頻率發生來編碼傳輸資料串流,此特定頻率使得接收器20能夠從透過通訊通道15傳輸的編碼資料串流(例如,轉態-編碼的)中提取時序訊號。也就是說,轉態編碼器100限制了編碼資料串流的運行長度。
如第1B圖所示,由發射器10及接收器20的構成部件執行的操作可以由「處理電路」或「處理器」30來執行,其可以包含用於處理資料或數位訊號的硬體、韌體、以及軟體的任意組合。處理電路硬體可以包含,例如特殊應用積體電路(Application Specific Integrated Circuits,ASICs)、通用或專用的中央處理器(Central Processing Units,CPUs)、數位訊號處理器(Digital Signal Processors,DSPs)、圖像處理器(Graphics Processing Units,GPUs)、以及諸如場域可程式閘陣列(Field Programmable Gate Arrays,FPGAs)的可程式邏輯裝置。在處理電路中,如本文所使用的,各個功能可以由配置為執行此功能的硬體(即,固線)來執行,或者由配置為執行儲存於非暫態儲存媒體中的指令的更為通用的硬體(例如,中央處理器)來執行。處理電路可以製造於單個印刷線路板(Printed Wiring Board,PWB)上或者分佈在多個互連的印刷線路板上。處理電路可能包含其他的處理電路;例如,處理電路可以包含在印刷線路板上互連的兩個處理電路,場域可程式閘陣列以及中央處理器。處理器30本地的處理器記憶體32可以在其上儲存有指令,當處理器30執行這些指令時,使得處理器30執行在本文中參照第1A圖及第2圖至第4圖所說明的描述的操作。
第2圖為根據本揭露一些實施例的被分割為多個字的資料封包。
參照第1A圖及第2圖,在一些實施例中,轉態編碼器100將輸入資料(可以為已經透過資料壓縮器及/或編碼器12進行編碼/壓縮,或者可以為尚未透過資料壓縮器及/或編碼器12進行編碼/壓縮)劃分成多個輸入資料封包(例如,位元串流)。各輸入資料封包(也稱作輸入封包)被劃分為N個字/數字,其中各個字/數字含有q個位元。因此,資料封包X可以表示為:
X[0:qxN-1] =
x 1(b[0:q-1]), x
2(b[q:2q-1]), … ,
x N(b[qx(N-1):(qxN)-1]) 等式(1)。
其中,
x 1,
x 2, ...,
x N表示構成輸入封包的N個字/數字,並且各個字/數字的值介於0至2
q-1之間。在第2圖的示例中,各個字包含6個位元(即,q = 6)並且具有[0:63]範圍內的值。然而,本發明的實施例不限定於此,並且各個字可以包含任意合適數量的位元(例如,8個位元)。
轉態編碼器100對各個字進行編碼/加擾(scrambles)以確保各個字/數字中的轉態並且將傳輸資料的運行長度限制為期望值。
根據一些實施例,轉態編碼器100預處理輸入資料封包以產生包含多個轉換字
y 0,
y 1,…
y N的轉換封包Y,各轉換字
y可以具有0至2
q-1之間的值。各轉換字
y可以基於一個或多個輸入字
x。在一些實施例中,轉態編碼器100利用對輸入字運行互斥或(XOR)運算或累加互斥或(accumulated XOR)運算來產生轉換字。轉換字
y i(i為大於1的整數)可以表示為:
y i=
x i^
y i-1等式(2)。
其中,符號^表示二進制互斥或(binary XOR)運算,且其中
y 1=
x 1。因此,轉換封包(也稱作互斥或累加封包)可以表示為:
Y = {
y 1,
y 2, … , y
N} = {
x 1,
x 2^
x 1,
x 3^
x 2^
x 1, … ,
x N^
…^
x 2^
x 1} 等式(3)。
轉態編碼器100接續透過識別與各轉換字不同的值以基於複數個轉換字來判定關鍵值D。例如,轉態編碼器100可以運行具有與轉換字相同位元長度的字的所有可能的二進制值,來比較各二進制值與各轉換字,並且選擇與各轉換字不同的第一個二進制值來作為關鍵值。然而,本揭露的實施例不限定於此,可以使用任何合適的方法來判定關鍵值。在此,關鍵值具有與轉換字以及輸入字相同的位元數(即,位元長度)。
轉態編碼器100產生用於傳輸至接收器20的包含複數個編碼字的編碼封包。編碼封包係基於關鍵值以及轉換封包。在一些實施例中,各編碼字為對對應的轉換字以及關鍵值執行互斥或運算的結果。因此,編碼封包Z可以表示為:
Z = {
z 1,
z 2, … ,
z N} = { D ,
y 1^D,
y 2^D, … ,
y N^D } 等式(4)。
其中,D表示關鍵值。由於編碼封包中包含關鍵值以及編碼字,因此編碼封包的字元長度比轉換封包的字元長度大一個(即,其包含N+1個字)。雖然等式(4)將關鍵值表示為編碼封包的第一個字,但是本揭露的實施例不限定於此。例如,關鍵值可以為編碼封包Z中的最後一個字,或者可以在封包內具有任意其他合適的位置,只要接收器20知道資料封包內關鍵值的位置,並相應的執行解碼即可。
根據一些實施例,一旦接收器20經由通訊通道15接收到傳輸資料,轉態解碼器200將基於對應的編碼字對來對接收到的編碼字中的每一個進行解碼並且產生解碼封包X’,其表示為{
x’ 1,
x’ 2, ...,
x’ N+1}。在一些實施例中,解碼字
x’ i(i為大於或等於1的整數)可以表示為:
x' i=
z i^
z i+1等式(5)。
因此,使用互斥或運算的交換性(commutative)、結合性(associative)以及自逆性(self-inverse)的性質,
x' 1=
z 1^
z 2= D^(
y 1^D) =
y 1=
x 1等式(6);
x' 2=
z 2^
z 3= (
y 1^D)^(
y 2^D) =
y 1^
y 2=
x 1^(
x 2^
x 1) =
x 2等式(7);
x' N=
z N^
z N+1= (
y N -1^D)^(
y N^D) =
y N-1^
y N= (
x N-1^
…^
x 2^
x 1)^(
x N^
x N-1^
…^
x 2^
x 1) =
x N等式(8)。
因此,假設接收到的編碼封包沒有受到任何錯誤損壞,接收器20(例如,轉態解碼器200)能夠透過對接收到的編碼封包的連續字執行互斥或運算來復原原始輸入封包。然而,如果在接收器20處的任何接收到的字受到錯誤損壞,則此錯誤將至多影響兩個解碼字,並且不會沿著鏈傳播而影響其他解碼字。例如,如果第一個編碼值
z 1,即關鍵值D,由於錯誤而未被正確接收,則可能只有第一個解碼字x'1受到影響,此錯誤將不影響剩餘的解碼字的計算。相似地,如果第二編碼值
z 2受到損壞,則涉及第二編碼值
z 2的第二解碼字
x' 2以及第三解碼字
x' 3的計算也可能受到損壞;然而,由於剩餘的解碼字的計算不依賴於第二編碼值
z 2,因此這些計算可以不受到此錯誤的影響。
因此,透過如等式(3)所示對輸入字進行預處理,並且透過將解碼運算減少至兩個連續的接收字,串列資料通訊系統1能夠將任何單個錯誤的錯誤傳播隔離到相應的兩個連續編碼字。與相關技術相反的是,在相關技術中在傳輸期間關鍵值的損壞可能導致整個接收到的封包的發生損壞。進一步地,根據一些實施例,串列資料通訊系統1在不向轉態編碼方案增加任何負擔(overhead)的情況下實現了這種預期功效。
第3圖為根據本揭露一些實施例的編碼輸入資料的流程300。
在一些實施例中,發送器10(例如,轉態編碼器100)接收包含複數個輸入字(例如,
x 1,
x 2, ...,
x N)的輸入資料,其包含第一輸入字以及第二輸入字(步驟S302)。在一些示例中,第一輸入字可以為第(i-1)個輸入字
x i-1,並且第二輸入字可以是第i個輸入字
x i(i為大於1的整數)。
發送器10接續產生包含第一轉換字以及第二轉換字的複數個轉換字(步驟S304)。第一轉換字可以為第(i-1)個轉換字
y i-1,並且第二轉換字可以為第i個轉換字
y i。第一轉換字可以至少基於第一輸入字,並且第二轉換字可以基於第一轉換字以及第二輸入字。在一些示例中,產生複數個轉換字包含:產生第一轉換字作為第一輸入字,以及透過對第二輸入字以及第一轉換字執行二進制互斥或(binary XOR)運算來產生第二轉換字。在一些示例中,產生複數個轉換字包含:透過對第一輸入字以及複數個轉換字中的前一個轉換字執行二進制互斥或運算來產生第一轉換字,以及透過對第二輸入字以及第一個轉換字執行二進制互斥或運算來產生第二轉換字。在此,第一/第二輸入字的位元長度與第一/第二轉換字的位元長度以及第一/第二編碼字的位元長度相同。
在一些實施例中,發送器10基於複數個轉換字來識別關鍵值D(步驟S306),並且基於關鍵值以及複數個轉換字來產生複數個編碼字(例如,
z 1、
z 2、…、
z N)(步驟S308)。在一些示例中,關鍵值可以具有與複數個轉換字中的一個相同的位元長度,並且不與複數個轉換字中的任字一個的二進制值(或二進制補碼)匹配。複數個編碼字可以包含至少基於關鍵值的第一編碼字以及基於關鍵值及第一轉換字的第二編碼字。在一些示例中,產生複數個編碼字可以包含產生第一編碼字作為關鍵值,以及透過對第一轉換字以及關鍵值執行二進制互斥或運算來產生第二編碼字。在其他示例中,產生複數個編碼字可以包含透過對第一轉換字以及關鍵值執行二進制互斥或運算來產生第一編碼字,以及透過對第二轉換字以及關鍵值執行二進制互斥或運算來產生第二編碼字。
第4圖為根據本揭露一些實施例的解碼傳輸資料的流程400。
在一些實施例中,接收器20透過通訊通道15從發送器10接收包含複數個編碼字的傳輸資料(步驟S402),其包含第一編碼字以及第二編碼字。接收器20(例如,轉態解碼器200)產生複數個解碼字(步驟S404)。接收器20透過對第一編碼字以及第二編碼字執行二進制互斥或運算來產生複數個解碼字中的第一解碼字。在一些實施例中,第一及第二編碼字為連續的字。第一編碼字的位元長度可以與第一解碼字的位元長度相同。
如上所述,根據一些實施例,互斥或累加封包(XOR accumulated packet)的轉態編碼使得能夠在接收器處對編碼字進行差分檢測(differential detection)。轉態編碼方法透過對輸入字執行累加互斥或運算來預處理輸入字的封包,並且接續利用基於互斥或的(XOR-based)轉態編碼技術以及轉態金鑰來確保傳輸資料串流中的轉態。接收器20的轉態解碼方案係基於用於檢測的兩個連續資料的互斥或(XOR)。
應當理解的是,儘管在本文中可以使用「第一(first)」、「第二(second)」、「第三(third)」等術語來說明各種元件、組件、區域、層、及/或部分,但是這些元件、組件、區域、層、及/或部分不應受到這些術語的限制。這些術語用於將一個元件、組件、區域、層、或部分與另一元件、組件、區域、層、或部分區分開來。因此,在不脫離本發明思想的範圍的情況下,在下文中說明的第一元件、組件、區域、層、或部分可以被稱作第二元件、組件、區域、層、或部分。
在本文中使用的術語係用於說明特定實施例的目的,而不是用於限制本發明的思想。如本文所使用的單數形式「一(a)」及「一(an)」也意圖包含複數形式,除非上下文明確的另外指出。應進一步理解的是,在本說明書中使用的術語「包含(includes)」、「包含(including)」、「包含(comprises)」、及/或「包含(comprising)」時,指定所陳述的特徵、整體、步驟、操作、元件、及/或組件存在,但不排除一個或複數個其他特徵、整體、步驟、操作、元件、組件、及/或其組合的存在或添加。如本文中所使用的「及/或(and/or)」包含一個或多個相關的列出項目中的任一個及所有組合。此外,在說明根據本發明思想的實施例時,「可以(may)」表示一個或多個根據本發明思想的實施例。並且,術語「例示性(exemplary)」表示範例或示出。
如本文所用的術語「使用(use)」、「使用(using)」、「使用(used)」可以分別與「利用(utilize)」、「利用(utilizing)」、「利用(utilized)」同義。
進一步地,在說明根據本發明思想的實施例時,「可以(may)」表示一個或多個根據本發明思想的實施例。同樣地,術語「例示性(exemplary)」表示範例或示出。
雖然本揭露已經具體參考其說明性的實施例進行了詳細說明,但本文所說明的實施例並非旨在詳盡無疑或者限制本揭露的範圍為所揭露的確切形式。本領域具有通常知識者可以理解的是,可以在不脫離本揭露內容的原理及範圍的情況下實踐所說明的結構以及組裝與操作方法的更改及變化,並且本發明的保護範圍由所附的申請專利範圍及其等同物所限定。
1:串列資料通訊系統
10:發送器
12:編碼器
15:通訊通道
20:接收器
22:解碼器
24:時序回復電路
30:處理器
32:處理器記憶體
100:轉態編碼器
200:轉態解碼器
300,400:流程
S302,S304,S306,S308,S402,S404:步驟
將結合附圖及說明書來說明本揭露的例示性實施例,並且結合此說明以闡明本揭露的原理。
第1A圖為根據本揭露一些實施例的串列資料通訊系統的方塊圖。
第1B圖為根據本揭露一些實施例的串列資料通訊系統的發送器/接收器的方塊圖。
第2圖為根據本揭露一些實施例的被分割為多個字的資料封包。
第3圖為根據本揭露一些實施例的編碼輸入資料的流程。
第4圖為根據本揭露一些實施例的解碼傳輸資料的流程。
300:流程
S302,S304,S306,S308:步驟
Claims (20)
- 一種編碼輸入資料的方法,該方法包含: 接收包含複數個輸入字的該輸入資料,該複數個輸入字包含一第一輸入字以及一第二輸入字; 產生包含一第一轉換字以及一第二轉換字的複數個轉換字,該第一轉換字至少基於該第一輸入字,該第二轉換字基於該第一轉換字以及該第二輸入字; 基於該複數個轉換字來識別一關鍵值;以及 基於該關鍵值以及該複數個轉換字來產生複數個編碼字。
- 如請求項1所述之方法,其中該第一輸入字為第i-1輸入字,該第二輸入字為第i輸入字,i為大於1的整數,並且 其中該第一轉換字為第i-1轉換字,並且該第二轉換字為第i轉換字。
- 如請求項1所述之方法,其中產生該複數個轉換字包含: 產生該第一轉換字作為該第一輸入字;以及 透過對該第二輸入字以及該第一轉換字執行二進制互斥或(binary XOR)運算來產生該第二轉換字。
- 如請求項1所述之方法,其中產生該複數個轉換字包含: 透過對該第一輸入字與該複數個轉換字中的前一個轉換字執行二進制互斥或運算來產生該第一轉換字;以及 透過對該第二輸入字以及該第一轉換字執行二進制互斥或運算來產生該第二轉換字。
- 如請求項1所述之方法,其中該第一輸入字的位元長度與該第一轉換字的位元長度相同。
- 如請求項1所述之方法,其中該第一轉換字的位元長度與該複數個編碼字中的一個的位元長度相同。
- 如請求項1所述之方法,其中該關鍵值具有與該複數個轉換字中的一個的位元長度相同的位元長度,並且其與該複數個轉換字中的任意一個的位元長度不相同。
- 如請求項1所述之方法,其中該複數個編碼字包含一第一編碼字以及一第二編碼字,該第一編碼字至少基於該關鍵值並且該第二編碼字基於該關鍵值以及該第一轉換字。
- 如請求項8所述之方法,其中產生該複數個編碼字包含: 產生該第一編碼字作為該關鍵值;以及 透過對該第一轉換字以及該關鍵值執行二進制互斥或運算來產生該第二編碼字。
- 如請求項8所述之方法,其中產生該複數個編碼字包含: 透過對該第一轉換字以及該關鍵值執行二進制互斥或運算來產生該第一編碼字;以及 透過對該第二轉換字以及該關鍵值執行二進制互斥或運算來產生該第二編碼字。
- 如請求項1所述之方法,其中標示為{ y 1, y 2, … , y N}的該複數個轉換字表示為: { x 1, x 2^ x 1, … , x N^ …^ x 2^ x 1}, 其中{ x 1, x 2, … , x N}表示該複數個輸入字,N為大於2的整數,並且^表示二進制互斥或運算。
- 如請求項11所述之方法,其中該複數個編碼字表示為: { D , y 1^D, y 2^D, … , y N^D }, 其中D表示該關鍵值。
- 如請求項1所述之方法,其進一步包含: 透過一通訊通道發送一傳輸資料至一接收器,該傳輸資料包含複數個編碼字。
- 一種用於編碼輸入資料的轉態編碼器,該轉態編碼器包含: 一處理器;以及 一處理器記憶體,係為該處理器本地的記憶體,其中該處理器具有儲存於其上的指令,當由該處理器來執行指令時,使得該處理器執行: 接收包含複數個輸入字的該輸入資料,該複數個輸入字包含一第一輸入字以及一第二輸入字; 產生包含一第一轉換字以及一第二轉換字的複數個轉換字,該第一轉換字至少基於該第一輸入字,該第二轉換字基於該第一轉換字以及該第二輸入字; 基於該複數個轉換字來識別一關鍵值;以及 基於該關鍵值以及該複數個轉換字來產生複數個編碼字。
- 一種解碼傳輸資料的方法,該方法包含: 接收包含複數個編碼字的該傳輸資料,該複數個編碼字包含一第一編碼字以及一第二編碼字;以及 透過對該第一編碼字以及該第二編碼字執行二進制互斥或運算來產生複數個解碼字中的一第一解碼字。
- 如請求項15所述之方法,其中該第一編碼字以及該第二編碼字為連續的字。
- 如請求項15所述之方法,其中該複數個編碼字表示為: { D , y 1^D, y 2^D, … , y N^D }, 其中{ y 1, y 2, … , y N}表示複數個轉換字,D表示用於編碼複數個編碼字的一關鍵值,並且^表示二進制互斥或運算。
- 如請求項17所述之方法,其中該複數個轉換字表示為: { x 1, x 2^ x 1, … , x N^ …^ x 2^ x 1}, 其中{ x 1, x 2, … , x N}表示該複數個解碼字,並且N為大於2的整數。
- 如請求項15所述之方法,其中該第一編碼字的位元長度與該第一解碼字的位元長度相同。
- 如請求項15所述之方法,其中接收該傳輸資料包含: 透過一通訊通道從一發送器接收該傳輸資料。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163252948P | 2021-10-06 | 2021-10-06 | |
US63/252,948 | 2021-10-06 | ||
US17/533,014 | 2021-11-22 | ||
US17/533,014 US11764805B2 (en) | 2021-10-06 | 2021-11-22 | System and method for transition encoding with reduced error propagation |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202324040A true TW202324040A (zh) | 2023-06-16 |
Family
ID=83902693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111137999A TW202324040A (zh) | 2021-10-06 | 2022-10-06 | 減少錯誤傳播的轉態編碼器及轉態編碼方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11764805B2 (zh) |
EP (1) | EP4164131A1 (zh) |
JP (1) | JP2023055683A (zh) |
KR (1) | KR20230050256A (zh) |
CN (1) | CN115941116A (zh) |
TW (1) | TW202324040A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230146120A1 (en) * | 2021-11-05 | 2023-05-11 | Samsung Display Co., Ltd. | Dc balanced transition encoding |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0658996B1 (de) | 1993-12-14 | 2000-03-22 | Landis & Gyr Technology Innovation AG | Verfahren und Einrichtung zum Sichern der Information eines Datenpaketes |
EP0698329B1 (en) | 1994-03-09 | 1999-06-09 | Koninklijke Philips Electronics N.V. | Transmitter and receiver apparatus, method for transmitting and method for receiving and record carrier obtained by the method or the transmitter apparatus |
AU693967B2 (en) | 1994-12-12 | 1998-07-09 | Sony Corporation | Data encoding method and data decoding method |
EP0791249B1 (en) | 1995-09-08 | 2002-07-03 | Koninklijke Philips Electronics N.V. | Transmitter and receiver apparatus, method for transmitting and method for receiving and record carrier obtained by the method or the transmitter apparatus |
US6718491B1 (en) | 2000-03-06 | 2004-04-06 | Agilent Technologies, Inc. | Coding method and coder for coding packetized serial data with low overhead |
US6986094B2 (en) | 2001-03-29 | 2006-01-10 | Intel Corporation | Device and method for selecting opcode values with maximum hamming distance to minimize latency and buffering requirements |
CN100428633C (zh) | 2001-06-29 | 2008-10-22 | 日本胜利株式会社 | 数字信号的调制方法及调制装置 |
US20040028076A1 (en) | 2001-06-30 | 2004-02-12 | Strolle Christopher H | Robust data extension for 8vsb signaling |
DE10142102A1 (de) | 2001-08-30 | 2003-03-27 | Schleifring Und Appbau Gmbh | Vorrichtung zur störarmen Signalübertragung |
US7088398B1 (en) | 2001-12-24 | 2006-08-08 | Silicon Image, Inc. | Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data |
US7194047B2 (en) | 2002-09-20 | 2007-03-20 | Ati Technologies Inc. | Receiver for robust data extension for 8VSB signaling |
US7197685B2 (en) | 2003-01-02 | 2007-03-27 | Samsung Electronics, Co., Ltd. | Robust signal transmission in digital television broadcasting |
FR2857811A1 (fr) | 2003-07-16 | 2005-01-21 | St Microelectronics Sa | Methode de chiffrage d'un flux audio ou video compresse a tolerance d'erreurs |
US8595582B2 (en) | 2009-10-01 | 2013-11-26 | Stmicroelectronics, Inc. | High-rate reverse-order run-length-limited code |
KR20130126876A (ko) | 2012-04-30 | 2013-11-21 | 삼성전자주식회사 | 통신 시스템에서 패킷 송수신 방법 및 장치 |
US9729681B2 (en) | 2012-09-28 | 2017-08-08 | Anapass Inc. | Data transmission method and data restoration method |
KR101235696B1 (ko) | 2012-09-28 | 2013-02-21 | 주식회사 아나패스 | 데이터 전송 방법 및 데이터 복원 방법 |
US9490836B2 (en) | 2012-10-26 | 2016-11-08 | Altera Corporation | Apparatus for improved encoding and associated methods |
US9942063B2 (en) | 2012-10-26 | 2018-04-10 | Altera Corporation | Apparatus for improved encoding and associated methods |
CN110838892B (zh) | 2019-11-19 | 2022-02-01 | 天津津航计算技术研究所 | 多路全双工串口的高可靠合并转发方法 |
-
2021
- 2021-11-22 US US17/533,014 patent/US11764805B2/en active Active
-
2022
- 2022-10-03 EP EP22199351.2A patent/EP4164131A1/en active Pending
- 2022-10-05 JP JP2022161244A patent/JP2023055683A/ja active Pending
- 2022-10-06 TW TW111137999A patent/TW202324040A/zh unknown
- 2022-10-06 KR KR1020220128113A patent/KR20230050256A/ko unknown
- 2022-10-08 CN CN202211223062.XA patent/CN115941116A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230108230A1 (en) | 2023-04-06 |
CN115941116A (zh) | 2023-04-07 |
US11764805B2 (en) | 2023-09-19 |
KR20230050256A (ko) | 2023-04-14 |
JP2023055683A (ja) | 2023-04-18 |
EP4164131A1 (en) | 2023-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Demir et al. | Joint source/channel coding for variable length codes | |
US6999516B1 (en) | Technique for emulating differential signaling | |
EP2195955A1 (en) | Signal segmentation method and crc attachment method for reducing undetected error | |
AU2014227460B2 (en) | Maximal transition hamming codes | |
US20070168835A1 (en) | Serial communications system and method | |
CN113507289B (zh) | 一种编码器、解码器及码字生成方法 | |
TW202324040A (zh) | 減少錯誤傳播的轉態編碼器及轉態編碼方法 | |
KR102326070B1 (ko) | 계단 코드의 디코딩 방법, 장치 및 기억매체 | |
US11888962B2 (en) | System and method for transition encoding with flexible word-size | |
US11632127B2 (en) | Near-optimal transition encoding codes | |
US12021548B2 (en) | System and method for efficient transition encoding for decimation CDR | |
JP3287543B2 (ja) | 誤り訂正符号化方法および復号化方法 | |
US20030106013A1 (en) | Architecture for multi-symbol encoding and decoding | |
KR950010428B1 (ko) | 길쌈 부호화 방법 | |
TW202315341A (zh) | 具保護金鑰之轉換編碼系統及方法 | |
Martínez-Noriega et al. | Recovering synchronization with iterative decoders: LDPC codes | |
KR100600310B1 (ko) | 2차원 페이지의 인코딩 및 디코딩 방법 | |
Priya et al. | Highly Compressed and Errorless Reconfigurable DAB/DAB+ Architecture | |
Yao et al. | A Viterbi based decoding algorithm for multiple description variable length codes | |
Rajpurohit et al. | An Efficient Error Detection Technique for VLC Coded Data | |
TWM461107U (zh) | 無線音樂傳輸糾錯裝置 |