CN115694870A - 编码方法和编码器 - Google Patents

编码方法和编码器 Download PDF

Info

Publication number
CN115694870A
CN115694870A CN202210876581.XA CN202210876581A CN115694870A CN 115694870 A CN115694870 A CN 115694870A CN 202210876581 A CN202210876581 A CN 202210876581A CN 115694870 A CN115694870 A CN 115694870A
Authority
CN
China
Prior art keywords
key
bits
data
encoded
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210876581.XA
Other languages
English (en)
Inventor
阿利亚扎姆·阿巴斯法尔
A·阿米尔克汉尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Display Co Ltd
Original Assignee
Samsung Display Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Display Co Ltd filed Critical Samsung Display Co Ltd
Publication of CN115694870A publication Critical patent/CN115694870A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code 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/145Conversion to or from block codes or representations thereof
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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 using multiple parity bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0086Unequal error protection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

公开了一种编码方法和一种编码器。该编码方法可以包括:在编码器处接收数据位的序列;在编码器处对数据位执行第一转换编码,以基于密钥生成被编码的数据位的序列;在编码器处对密钥执行保护编码,以生成密钥保护数据;在编码器处对密钥保护数据执行第二转换编码,以生成被编码的密钥保护数据;以及将被编码的发送位的序列发送到接收器,被编码的发送位的序列包括被编码的数据位的序列和被编码的密钥保护数据。

Description

编码方法和编码器
相关申请的交叉引用
本申请要求于2021年7月29日提交的第63/227,278号美国临时专利申请的优先权和权益,该美国临时专利申请通过引用全部并入本文中。
技术领域
本申请总体上涉及转换编码,并且更具体地,涉及用于使用受保护的密钥进行转换编码的系统和方法。
背景技术
使用串行数据发送的电子装置依赖从发送器提供到接收器的无错误信息。此外,一些串行数据发送技术依赖密钥以对串行数据进行编码并且然后进行解码。由于编码和解码过程依赖密钥,如果不正确或错误的密钥被接收器接收,则来自密钥的错误传播到数据,并且无法正确地对串行数据进行解码。因此,期望用于确保密钥的可靠性和完整性的技术。
发明内容
根据一些实施例,描述一种用于编码的方法。该方法可以包括:在编码器处接收数据位的序列;在编码器处对数据位执行第一转换编码,以基于密钥生成被编码的数据位的序列;在编码器处对密钥执行保护编码,以生成密钥保护数据;在编码器处对密钥保护数据执行第二转换编码,以生成被编码的密钥保护数据;以及将被编码的发送位的序列发送到接收器,被编码的发送位的序列包括被编码的数据位的序列和被编码的密钥保护数据。
密钥保护数据可以包括校验位。
生成被编码的密钥保护数据可以包括对校验位取反。
该方法可以进一步包括:在编码器处将密钥选择为其中最高有效位(MSB)为常数的值;以及从密钥中去除MSB以生成被修改的密钥,其中,被编码的发送位的序列包括被修改的密钥。
常数可以为零。
密钥保护数据可以包括多个校验位。
多个校验位可以根据汉明码来计算。
生成被编码的密钥保护数据可以包括对多个校验位中的至少一个取反。
该方法可以进一步包括:在编码器处将密钥选择为其中MSB为常数的值;以及从密钥中去除MSB以生成被修改的密钥,其中,被编码的发送位的序列包括被修改的密钥。
生成被编码的密钥保护数据可以进一步包括:将被取反的校验位中的一个或多个位插入到被修改的密钥的前面,并将被取反的校验位中的一个或多个位插入到被修改的密钥的结尾。
根据一些实施例,描述一种编码器。该编码器可以包括:输入端,被配置成接收数据位的序列;处理器,被配置成执行操作,该操作可以包括:对数据位执行第一转换编码,以基于密钥生成被编码的数据位的序列;对密钥执行保护编码,以生成密钥保护数据;以及对密钥保护数据执行第二转换编码,以生成被编码的密钥保护数据;以及输出端,被配置成将被编码的发送位的序列发送到接收器,被编码的发送位的序列包括被编码的数据位的序列和被编码的密钥保护数据。
密钥保护数据可以包括校验位。
生成被编码的密钥保护数据可以包括对校验位取反。
该操作可以进一步包括:在编码器处将密钥选择为其中最高有效位(MSB)为常数的值;以及从密钥中去除MSB以生成被修改的密钥,其中,被编码的发送位的序列包括被修改的密钥。
常数可以为零。
密钥保护数据可以包括多个校验位。
多个校验位可以根据汉明码来计算。
生成被编码的密钥保护数据可以包括对多个校验位中的至少一个取反。
该操作可以进一步包括:在编码器处将密钥选择为其中MSB为常数的值;以及从密钥中去除MSB以生成被修改的密钥,其中,被编码的发送位的序列包括被修改的密钥。
生成被编码的密钥保护数据进一步包括:将被取反的校验位中的一个或多个位插入到被修改的密钥的前面,并将被取反的校验位中的一个或多个位插入到被修改的密钥的结尾。
本发明的范围由权利要求限定,权利要求通过引用并入本部分。通过考虑一个或多个实施例的以下详细描述,本领域技术人员将获得对本发明的实施例的更完整的理解以及对其附加优点的认识。将对将首先被简要描述的所附的图纸做出参照。
附图说明
图1是根据本公开的各种实施例的示出数据内的转换的数据位的序列的示例。
图2是示出根据本公开的各种实施例的示例码字的表格。
图3是示出根据本公开的各种实施例的用于对数据位的序列进行编码的步骤的流程图。
图4是示出根据本公开的各种实施例的用于对密钥保护数据进行编码的步骤的流程图。
图5是根据本公开的各种实施例的电子系统的框图。
通过参照下面的详细描述,最好地理解本公开的实施例及其优点。除非另有说明,否则在整个附图和书面描述中,同样的附图标记表示同样的元件,并且因此,将不再重复其描述。在附图中,为了清楚起见,可以夸大元件、层和区域的相对尺寸。
具体实施方式
通过参照实施例的详细描述和附图,可以更容易地理解本公开的一些实施例的方面以及实现其的方法。在下文中,将参照附图更详细地描述实施例。然而,描述的实施例可以以各种不同的形式来实施,并且不应被解释为仅限于本文中的示出的实施例。相反,提供这些实施例作为示例使得本公开将是彻底的和完整的,并且将向本领域技术人员充分传达本公开的方面。相应地,对于本领域普通技术人员完全理解本公开的方面来说不是必需的过程、元件和技术可以不被描述。
在数字通信中,编码器对数据位(例如,数据包)进行编码,并将被编码的数据位发送到解码器。解码器然后对被编码的数据位进行解码,使得数据位可以被诸如以电视、显示装置、计算机等为例的系统使用。根据一种技术,被编码的数据位可以被串行化并通过串行数字数据链路从编码器发送到解码器。这样的串行数字数据可以与伴随串行数字数据的单独的时钟信号一起发送,或者串行数字数据可以与嵌入在串行数字数据信号中的时钟信号一起(即,在没有单独的时钟信号的情况下)发送。
转换编码是用于在没有单独的时钟信号的情况下发送串行数字数据信号的方法。转换编码依赖在数据位的序列中的数据转换(其中数据位从零转换或改变到一,或者从一转换或改变到零)的存在。换句话说,为了使解码器正确地利用接收的数据,特定量的转换必须发生在数据位的序列内。然而,如果数据位的序列中的游程长度超过特定限制,则解码器可能不能正确地对数据进行解码,并且系统将不以其应该接收的数据而结束。游程长度是指在数据位的序列中的连续的一或零的数量。例如,在图1中示出的示例数据位的序列10100111001中,每个转换之间的游程长度指示为1、2或3。例如,其中存在三个连续的一的情境的游程长度为3。
一些转换编码技术包括可以在对数据位进行编码时使用的密钥(例如,加扰密钥),以在数据跨过串行数据链路得到发送时维持被编码的数据位的序列的完整性。在这样的情况下,编码器生成密钥,并基于密钥对数据位应用转换编码,并将密钥添加到被编码的数据位的序列中,以生成用于发送到接收器的发送位的序列。当被编码的发送位被解码器接收时,解码器使用密钥对接收的发送位进行解码。如果密钥在发送期间变得损坏,则解码器将不能对发送位进行解码,并可能导致错误传播。也就是说,在密钥中的错误延续到整个数据位的序列中的错误,从而使得整个数据位的序列不可用。相应地,本公开的实施例描述了用于改善密钥的发送的可靠性的技术。而且,可以期望在不改变被编码的序列的转换属性的情况下(例如,不超过编码的游程长度限制)保护密钥。
示例转换编码技术包括对31组6位的数据的字和也是6位的密钥进行编码。因此,根据实施例,发送位的序列包括192位,其中186位是数据并且6位是密钥。6位密钥可以表示为D,并且D可以是与原始数据字的全部的31个字不同的字,并且还可以是与31个原始数据字的补码不同的字。相应地,可以选择D的值,并且可以对31个字中的每个和D应用异或(“XOR”)运算。因此,例如,186个数据位的每个字可以表示为x1、x2、……x31,并且XOR运算可以应用于字(x1、x2、……x31)中的每个以及密钥(D)以产生x1^D、x2^D、……x31^D。因此,通过对数据字的序列{x1、x2、……x31}执行转换编码,被编码的数据字将变为{D、x1^D、x2^D、……x31^D},其中,第一数据字是密钥(D),随后是与密钥(D)进行了XOR的31个数据字中的每个。相应地,发送数据流的序列变为32个字长,其中,192位被串行化并通过串行数据链路发送。根据该示例转换编码技术,可以将游程长度限制为10。用于确定该转换编码技术的游程长度的细节与本公开不相关,并且因此将不在此描述。
当发送数据序列被解码器接收时,解码器取得密钥(D)并将XOR运算应用于每个被编码的字(即,31个字中的每个)。因此,通过将D与第一被编码的字(x1^D)进行XOR,D被消除,由此只剩下作为第一字的x1。对全部的31个被编码的字执行相同的XOR运算以对31个字进行解码。因此,如果错误被引入密钥(D)中,则错误将传播到31个字中的每个,因为解码器将使用错误的(即,不正确的)密钥(D)执行XOR运算。
根据本公开的各种实施例,将描述用于保护密钥(D)的完整性的技术。换句话说,用于错误检测和/或错误校正的方法和技术可以由编码器实现并应用于密钥(D),使得如果错误(例如,在发送期间)发生在密钥(D)中,解码器将能够检测在密钥(D)中的错误,并且因此不应用错误的密钥(D)以对数据流进行解码。相反,解码器可以例如等待不包含错误的另一密钥(D)到达。在其他实施例中,解码器不仅可以检测错误的存在,而且还可以校正错误,使得解码器不必丢弃密钥(D)并等待下一密钥,而是校正错误的密钥,使得解码器现在可以立即使用校正的密钥。注意的是,本公开中描述的用于保护密钥的完整性的技术适用于本领域技术人员已知的各种编码和/或解码技术。这样的编码和/或解码技术可以包括利用不同的逻辑操作、不同的字长、不同的字数等。
一般来说,校验位可以包括在被编码的数据中,以帮助检测错误的存在。一个示例是生成偶校验位并将偶校验位包括在被编码的数据中。例如,如果在给定的字(例如,6位密钥)或块中存在n个位(d1至dn),则可以通过对位(d1至dn)执行XOR运算来生成或计算偶校验位(p)。因此,d1至dn的偶校验位(p)可以示出为:
Figure BDA0003762403950000051
并且包括偶校验位(p)的被编码的块可以表示为:{d1、d2、d3、……dn、p}。因此,在数据位与校验位之间的相关性可以写为
Figure BDA0003762403950000052
换句话说,如果在偶校验位的情况下,相关性表示等于0,则数据位(d1至dn)很可能不包含错误。另一方面,如果相关性表示等于1,则存在数据位(d1至dn)中的一个包含错误的可能性。
可以通过包括多个校验位来构造更复杂的块代码。例如,可以使用诸如(7,4)汉明码的汉明码。在(7,4)汉明码中,可以在被编码的数据位的块中实现三个校验位。在这样的情况下,校验位(p1、p2、p3)可以生成为:
Figure BDA0003762403950000053
Figure BDA0003762403950000054
Figure BDA0003762403950000055
并且在校验位与数据位之间的相关性可以表示为:
Figure BDA0003762403950000056
Figure BDA0003762403950000061
Figure BDA0003762403950000062
校验位的另一示例是奇校验位。对于奇校验位(pb),对数据位和奇校验位应用XOR运算产生1,这可以表示为
Figure BDA0003762403950000063
因此,奇校验位(pb)可以生成为:
Figure BDA0003762403950000064
也就是说,奇校验位是全部的数据位的XOR运算结果的反数。
在转换编码中,奇校验位包括一些有用的特征。例如,如果块由奇数个位组成,也就是说,n为奇数,则在数据位的块中存在保证的转换。也就是说,如果d1=0,d2=0,d3=0,d4=0,并且d5=0,则
Figure BDA0003762403950000065
Figure BDA0003762403950000066
因此,如果在代码的结尾处插入奇校验位,则块代码为000001,其包括一个转换。类似地,如果d1=1,d2=1,d3=1,d4=1,并且d5=1,则
Figure BDA0003762403950000067
因此,块代码为111110,其也包括一个转换。相应地,在其中位(d1至dn)(其中n为奇数)全部为一或全部为零的最坏情境下,将游程长度限制为n,并且奇校验位的包括保证转换。
现在返回到使用31组6位字和6位密钥(D)的示例转换编码技术,可以将使用奇校验位的构思应用于密钥(D)以检测错误,并在一些实施例中检测和校正错误。根据该示例,密钥(D)包括6位并且密钥(D)的值的最高有效位(“MSB”)(即,第6位)始终为零。因此,根据本公开的实施例,密钥(D)的第6位可以被去除并用奇校验位来替换,而不是零。例如,解码器知道的是密钥(D)的值的MSB始终为零。因此,当解码器接收被编码的密钥(D)时,即使MSB的实际值(即,0)用奇校验位替换,解码器也可以在解码过程期间从MSB中去除奇校验位并用零来替换它。
相应地,通过从密钥(D)的值的MSB中去除0并且用奇校验位来替换它,被编码的密钥(D)现在包括与密钥数据对应的五个位,以及用于奇校验位的1个位(即,第6位)。例如,密钥(D)可以表示为D=d1、d2、d3、d4、d5、pb,其中,pb与奇校验位对应,其中
Figure BDA0003762403950000068
相应地,在奇校验位与五个数据位之间的关系为:
Figure BDA0003762403950000069
因此,如果在密钥(D)的数据位中的任何一个中存在错误,则奇校验相关性将不再适用,并且将因此揭示的是在数据位d1、d2、d3、d4和d5中的一个中存在错误。
此外,将游程长度限制为5,因为如上所解释的,在其中全部的数据位d1至d5为一的最坏情境下,奇校验位为零,或者如果全部的数据位d1至d5为零,则奇校验位为一。因此,游程长度不大于5,其落在如先前针对该示例转换编码技术所指示的10的游程长度限制内。然而,虽然实现一个奇校验位能够检测错误的存在,但是在该示例中错误的具体位置是不可确定的。应该注意的是,上述实施例仅仅是用于解释实施例的方面的示例,并不旨在限制。因此,相同或相似的技术可以适合于其中字具有不同的位数、不同的游程限制等的其他方案。例如,在其他实施例中,字可以具有8位,并且游程长度限制可以为9。
根据本公开的另一实施例,密钥(D)可以包括多个校验位,以进一步提高密钥的完整性。例如,类似于包括6位的上述示例密钥(D)(其中MSB始终为零),可以丢弃第6位并且可以包括四个附加的奇校验位。相应地,新的密钥(D)为9位,其中,5位是数据位并且4位是校验位。在一些实施例中,四个奇校验位可以生成并插入到块。例如,四个奇校验位可以如下生成:
Figure BDA0003762403950000071
Figure BDA0003762403950000072
Figure BDA0003762403950000073
Figure BDA0003762403950000074
相应地,通过生成并包括四个校验位,如果在数据位中的一个中存在错误,则校验位的相关性将不再适用,并且因此将揭示的是存在错误。此外,因为存在四个校验位,所以取决于哪些相关性等式不再适用,系统可以确定五个数据位中的哪一个是错误的,并且然后校正错误位。例如,如果错误在d1中,则包括pb1和pb2的相关性等式将无效。如果错误在d2中,则包括pb1和pb3的相关性等式将无效。如果错误在d3中,则包括pb1、pb2、pb3和pb4的相关性等式将无效。如果错误在d4中,则包括pb2和pb4的相关性等式将无效。如果错误在d5中,则包括pb3和pb4的相关性等式将无效。相应地,系统能够精确找准错误位,并且然后校正错误位,因为这些位是二进制的,并且如果错误位为零,则它变为一,并且如果它为一,则它变为零。在一些实施例中,如果在数据位中存在两个错误,则系统能够检测错误但将不能精确地确定错误位以校正错误。相反,错误将只被检测。
在一些实施例中,9位密钥被排列为使得前两位和后两位是校验位并且中间五位是数据位。因此,包括奇校验位的密钥可以表示为pb1、pb2、d1、d2、d3、d4、d5、pb3、pb4。通过以这种方式排列数据位和校验位,可以将游程长度限制为5,并且可以在密钥(D)中保证转换。图2是示出密钥(D)的数据位的每种组合的图表。因为存在5个数据位,所以存在32种可能的组合。如用阴影框所指示的,当全部的数据位为零时以及当全部的数据位为一时,游程长度限制是5。相应地,游程长度限制满足在本公开中描述的示例转换编码技术的10的游程长度限制,并且相应地,可以降低串行数据链路中的错误和错误传播的可能性。
图3是示出根据本公开的各种实施例的用于对数据位的序列进行编码的步骤的流程图300。根据实施例,编码器被配置成接收将被编码并发送到接收器的数据位的序列(302)。在一些实施例中,数据可以是数据的包,而在其他实施例中,数据可以是具有嵌入式时钟信号的任何串行数据。可以通过对数据位执行第一转换编码来对在编码器处接收的数据位的序列进行编码,第一转换编码基于密钥生成被编码的数据位的序列(304)。在一些实施例中,密钥的值可以用于与数据位执行XOR运算以生成被编码的数据位的序列。因此,当要对数据位进行解码时,解码器依赖密钥以执行解码操作。相应地,密钥是重要的并且应该保护密钥的完整性,使得错误例如在发送期间不被引入密钥中。而且,如果密钥产生错误,则期望检测错误的存在并在一些情况下校正错误。相应地,编码器可以被配置成对密钥执行保护编码以生成密钥保护数据(306)。
在一些实施例中,密钥保护数据是校验位。例如,可以通过对密钥的每个位执行XOR运算并采取结果的反数来生成奇校验位。因此,如果密钥包括位(d1、d2……dn),则奇校验位(pb)可以表示为:
Figure BDA0003762403950000081
一旦生成奇校验位,编码器就可以对密钥保护数据(例如,奇校验位)执行第二转换编码以生成被编码的密钥保护数据(308)。在一些实施例中,被编码的密钥保护数据可以表示为添加了密钥保护数据的密钥位。换句话说,如果密钥保护数据是奇校验位(pb),并且密钥包括奇数的位(d1、d2、……dn)(其中,n为奇数),则被编码的密钥保护数据可以表示为d1、d2、……dn、pb。在其中根据汉明码计算校验位的其他实施例中,被编码的密钥保护数据可以表示为例如d1、d2、……dn、p1、p2、p3。一旦生成被编码的密钥保护数据,就可以将被编码的数据位的序列和被编码的密钥保护数据组合成被编码的发送位的序列并发送到接收器(310)。发送器和接收器可以与串行数据链路耦接,并且可以经由串行数据链路将被编码的发送位的序列从发送器发送到接收器。在一些实施例中,接收器可以包括解码器,解码器接收被编码的发送位的序列并使用密钥对其进行解码。为了减少错误传播,可以通过使用包括的密钥保护数据(例如,奇校验位)来验证密钥的完整性,以确保密钥的值与奇校验位对应。
图4是示出根据本公开的各种实施例的用于对密钥保护数据进行编码的步骤的流程图400。根据实施例,可以选择密钥,使得可以用它对密钥保护数据进行编码。例如,密钥可以被编码器选择,使得密钥的值的最高有效位(MSB)为常数(例如,始终一或始终零)(402)。因此,通过选择其中MSB始终为相同值的密钥,不一定必须将MSB发送到接收器,因为接收器可以被配置成知道的是密钥的值的MSB始终为相同的值。例如,如果选择的密钥是6位值,并且6位(即,第6位)的MSB始终为零,则可以去除第6位。相反,MSB可以被密钥保护数据(例如,奇校验位)替换,因此更好地利用由位占用的带宽。相应地,可以生成被修改的密钥,并且可以将被修改的密钥包括在被编码的发送位的序列中(404)。
在一些实施例中,密钥保护数据可以包括多个校验位,这通过能够检测密钥中的多个错误以及校正错误来改善密钥的完整性。例如,在一些实施例中,密钥保护数据可以包括汉明码。相应地,可以通过优化串行数据发送同时符合游程长度要求来减少在接收器处的灾难性错误传播。
图5是电子系统500的示例框图。通过示例而非限制的方式,电子系统500可以是电视机或显示装置,并且可以至少包括发送器502和接收器504,发送器502和接收器504可以被配置成例如经由高速数字串行链路506彼此通信。在一些实施例中,发送器502可以包括编码器508,编码器508取得可以在系统500内生成或从另一源(例如,外部源)接收的数据(例如,数字数据),并且对数据进行编码并然后将被编码的数据发送到接收器504。接收器504可以与对例如显示装置中的根据接收的数据而发光的像素进行控制的显示驱动器通信。接收器504可以包括解码器510,解码器510通过高速数字串行链路506从发送器502接收被编码的数据,并对被编码的数据进行解码,使得数据可以被电子系统500利用。在一些实施例中,编码器508可以是转换编码器,以执行诸如根据本公开的各种实施例描述的技术的转换编码。在又一实施例中,编码器508可以被配置成执行本领域技术人员已知的其他数字编码技术。应该注意的是,示出的电子系统500仅仅是利用依赖发送的数据的准确性的高速串行数据发送的电子系统的一个示例,但是本领域普通技术人员将理解的是,可以预期其他系统。
除非另有说明,否则在整个附图和书面描述中,同样的附图标记、字符或其组合表示同样的元件,并且因此将不重复其描述。此外,为了使描述清楚,可能不示出与实施例的描述不相关或无关的部分。
在附图中,为了清楚起见,可以夸大元件、层和区域的相对尺寸。另外,通常提供附图中的交叉影线和/或阴影的使用以阐明邻近的元件之间的边界。如此,除非指定,否则无论是存在还是不存在交叉影线或阴影都不能传达或指示对特定材料、材料属性、尺寸、比例、示出的元件之间的共性和/或元件的任何其他特性、特质、属性等的任何偏好或要求。
在详细描述中,出于解释的目的,阐述了许多具体细节以提供对各种实施例的彻底的理解。然而,明显的是,各种实施例可以在没有这些具体细节或具有一个或多个等同布置的情况下实践。在其他实例中,公知的结构和装置以框图形式示出以避免不必要地模糊各种实施例。
将理解的是,当元件、层、区域或部件被称为“形成在”、“在”另一元件、层、区域或部件“上”,“连接到”或“耦接到”另一元件、层、区域或部件时,它可以直接形成在、在该另一元件、层、区域或部件上,直接连接到或耦接到该另一元件、层、区域或部件,或者间接形成在、在该另一元件、层、区域或部件上,间接连接到或耦接到该另一元件、层、区域或部件,使得可以存在一个或多个居间元件、层、区域或部件。此外,这可以共同地意味着直接或间接耦接或连接以及一体式或非一体式耦接或连接。例如,当层、区域或部件被称为“电连接”或“电耦接”到另一层、区域或部件时,它可以直接电连接或耦接到该另一层、区域或部件,或者可以存在居间层、区域或部件。然而,“直接连接/直接耦接”是指一个部件直接连接或耦接另一部件而没有中间部件。同时,可以类似地解释诸如“在……之间”、“直接在……之间”或“邻近于”和“直接邻近于”的描述部件之间的关系的其他表述。此外,还将理解的是,当元件或层被称为“在”两个元件或层“之间”时,它可以是该两个元件或层之间的唯一元件或层,或者也可以存在一个或多个居间元件或层。
出于本公开的目的,当诸如“……中的至少一个”的表述在一列元件之后时,修饰整列元件并且不修饰该列的单个元件。例如,“X、Y和Z中的至少一个”和“选自由X、Y和Z组成的组中的至少一个”可以被解释为仅X、仅Y、仅Z、或者X、Y和Z中的两个或更多个的任何组合,诸如以XYZ、XYY、YZ和ZZ或者其任何变型为例。类似地,诸如“A和B中的至少一个”的表述可以包括A、B或者A和B。如本文中所使用的,术语“和/或”包括关联的所列项目中的一个或多个的任何组合和所有组合。例如,诸如“A和/或B”的表述可以包括A、B或者A和B。
将理解的是,尽管术语“第一”、“第二”、“第三”等可以在本文中用于描述各种元件、部件、区域、层和/或部分,但是这些元件、部件、区域、层和/或部分不应受这些术语的限制。这些术语用于将一个元件、部件、区域、层或部分与另一元件、部件、区域、层或部分区分开。因此,本文描述的第一元件、部件、区域、层或部分可以被称为第二元件、部件、区域、层或部分,而不脱离本公开的精神和范围。将元件描述为“第一”元件可以不需要或暗示存在第二元件或其他元件。术语“第一”、“第二”等还可在本文中用于区分元件的不同类别或组。为了简洁起见,术语“第一”、“第二”等可以分别表示“第一类别(或第一组)”、“第二类别(或第二组)”等。
本文中所使用的术语仅是出于描述特定实施例的目的,而并非旨在限制本公开。如本文中所使用的,单数形式“一”也旨在包括复数形式,除非上下文另有明确指示。将进一步理解的是,当术语“包括”、“具有”、“包含”及其变型在本说明书中使用时,指定陈述的特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
如本文中所使用的,术语“基本”、“约”、“近似”和类似术语被用作近似术语而不是程度术语,并且旨在说明本领域普通技术人员将认识到的测量值或计算值中的固有偏差。考虑到有问题的测量以及与特定量的测量关联的误差(即,测量系统的限制),如本文中所使用的“约”或“近似”包括如由本领域普通技术人员确定的特定值的可接受的偏差范围内的陈述的值和平均值。例如,“约”可以意味着在一个或多个标准偏差内,或者在陈述的值的±30%、±20%、±10%、±5%内。进一步地,当描述本公开的实施例时,“可以”的使用是指“本公开的一个或多个实施例”。
当一个或多个实施例可以不同地实现时,具体过程顺序可以以与所描述的顺序不同的顺序执行。例如,两个连续描述的过程可以基本同时执行或以与描述的顺序相反的顺序执行。
本文中描述的根据本公开的实施例的电子装置或电气装置和/或任何其他相关装置或部件可以利用任何合适的硬件、固件(例如,专用集成电路)、软件或者软件、固件和硬件的组合来实现,以处理数据或数字信号。例如,这些装置的各种部件可以形成在一个集成电路(IC)芯片上或形成在单独的IC芯片上。进一步地,这些装置的各种部件可以实现在柔性印刷电路膜、载带封装(TCP)、印刷电路板(PCB)上,或形成在一个基板上。电路硬件可以包括例如专用集成电路(ASIC)、被配置成执行存储在非暂时性存储介质中的指令的通用或专用中央处理单元(CPU)、数字信号处理器(DSP)、图形处理单元(GPU)以及诸如现场可编程门阵列(FPGA)的可编程逻辑装置。
此外,这些装置的各种部件可以是在一个或多个计算装置中的一个或多个处理器上运行的、执行计算机程序指令并与其他系统部件交互从而执行本文中描述的各种功能的进程或线程。计算机程序指令存储在存储器中,存储器可以实现在使用诸如以随机存取存储器(RAM)为例的标准存储器装置的计算装置中。计算机程序指令也可以存储在诸如以CD-ROM或闪存驱动器等为例的其他非暂时性计算机可读介质中。此外,本领域的技术人员应该认识到的是,各种计算装置的功能可以组合或集成到单个计算装置中,或者特定计算装置的功能可以遍及一个或多个其他计算装置分布,而不脱离本公开的实施例的精神和范围。
除非另有限定,否则本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解的是,术语(诸如在通用词典中定义的术语)应该被解释为具有与在相关技术和/或本说明书的背景中的它们的含义一致的含义,并且不应以理想化的或过于正式的意义来解释,除非在本文中明确地如此限定。
本文中描述的实施例仅是示例。本领域技术人员可以从具体公开的实施例中认识到各种可替代的实施例。那些可替代的实施例也旨在在本公开的范围内。如此,实施例仅受所附权利要求及它们的等同物限制。

Claims (20)

1.一种编码方法,包括:
在编码器处接收数据位的序列;
在所述编码器处对所述数据位执行第一转换编码,以基于密钥生成被编码的数据位的序列;
在所述编码器处对所述密钥执行保护编码,以生成密钥保护数据;
在所述编码器处对所述密钥保护数据执行第二转换编码,以生成被编码的密钥保护数据;以及
将被编码的发送位的序列发送到接收器,所述被编码的发送位的序列包括所述被编码的数据位的序列和所述被编码的密钥保护数据。
2.根据权利要求1所述的方法,其中,所述密钥保护数据包括校验位。
3.根据权利要求2所述的方法,其中,所述生成被编码的密钥保护数据包括对所述校验位取反。
4.根据权利要求3所述的方法,进一步包括:
在所述编码器处将所述密钥选择为其中最高有效位为常数的值;以及
从所述密钥中去除所述最高有效位以生成被修改的密钥,其中,所述被编码的发送位的序列包括所述被修改的密钥。
5.根据权利要求4所述的方法,其中,所述常数为零。
6.根据权利要求1所述的方法,其中,所述密钥保护数据包括多个校验位。
7.根据权利要求6所述的方法,其中,所述多个校验位根据汉明码来计算。
8.根据权利要求6和7中的任何一项所述的方法,其中,所述生成被编码的密钥保护数据包括对所述多个校验位中的至少一个取反。
9.根据权利要求8所述的方法,进一步包括:
在所述编码器处将所述密钥选择为其中最高有效位为常数的值;以及
从所述密钥中去除所述最高有效位以生成被修改的密钥,其中,所述被编码的发送位的序列包括所述被修改的密钥。
10.根据权利要求9所述的方法,其中,所述生成被编码的密钥保护数据进一步包括:
将被取反的所述校验位中的一个或多个位插入到所述被修改的密钥的前面,并将被取反的所述校验位中的一个或多个位插入到所述被修改的密钥的结尾。
11.一种编码器,包括:
输入端,被配置成接收数据位的序列;
处理器,被配置成执行操作,所述操作包括:
对所述数据位执行第一转换编码,以基于密钥生成被编码的数据位的序列;
对所述密钥执行保护编码,以生成密钥保护数据;以及
对所述密钥保护数据执行第二转换编码,以生成被编码的密钥保护数据;以及
输出端,被配置成将被编码的发送位的序列发送到接收器,所述被编码的发送位的序列包括所述被编码的数据位的序列和所述被编码的密钥保护数据。
12.根据权利要求11所述的编码器,其中,所述密钥保护数据包括校验位。
13.根据权利要求12所述的编码器,其中,所述生成被编码的密钥保护数据包括对所述校验位取反。
14.根据权利要求13所述的编码器,其中,所述操作进一步包括:
在所述编码器处将所述密钥选择为其中最高有效位为常数的值;以及
从所述密钥中去除所述最高有效位以生成被修改的密钥,其中,所述被编码的发送位的序列包括所述被修改的密钥。
15.根据权利要求14所述的编码器,其中,所述常数为零。
16.根据权利要求11所述的编码器,其中,所述密钥保护数据包括多个校验位。
17.根据权利要求16所述的编码器,其中,所述多个校验位根据汉明码来计算。
18.根据权利要求16和17中的任何一项所述的编码器,其中,所述生成被编码的密钥保护数据包括对所述多个校验位中的至少一个取反。
19.根据权利要求18所述的编码器,其中,所述操作进一步包括:
在所述编码器处将所述密钥选择为其中最高有效位为常数的值;以及
从所述密钥中去除所述最高有效位以生成被修改的密钥,其中,所述被编码的发送位的序列包括所述被修改的密钥。
20.根据权利要求19所述的编码器,其中,所述生成被编码的密钥保护数据进一步包括:
将被取反的所述校验位中的一个或多个位插入到所述被修改的密钥的前面,并将被取反的所述校验位中的一个或多个位插入到所述被修改的密钥的结尾。
CN202210876581.XA 2021-07-29 2022-07-25 编码方法和编码器 Pending CN115694870A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163227278P 2021-07-29 2021-07-29
US63/227,278 2021-07-29
US17/516,604 2021-11-01
US17/516,604 US11695429B2 (en) 2021-07-29 2021-11-01 Systems and methods for transition encoding with protected key

Publications (1)

Publication Number Publication Date
CN115694870A true CN115694870A (zh) 2023-02-03

Family

ID=82742593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210876581.XA Pending CN115694870A (zh) 2021-07-29 2022-07-25 编码方法和编码器

Country Status (6)

Country Link
US (2) US11695429B2 (zh)
EP (1) EP4125222A1 (zh)
JP (1) JP2023021015A (zh)
KR (1) KR20230019389A (zh)
CN (1) CN115694870A (zh)
TW (1) TW202315341A (zh)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5349589A (en) 1991-07-01 1994-09-20 Ericsson Ge Mobile Communications Inc. Generalized viterbi algorithm with tail-biting
US5878061A (en) 1996-03-14 1999-03-02 Intel Corporation Providing serial data clock signal transitions with parity bits
US7149955B1 (en) 2001-03-07 2006-12-12 Marvell International Ltd. Encoding and decoding apparatus and method with hamming weight enhancement
US7392464B1 (en) 2004-04-30 2008-06-24 Marvell International Ltd. Universal parity encoder
JP5011116B2 (ja) 2004-10-26 2012-08-29 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ 変調の制約及び誤り制御を用いて情報の符号化及び復号化を実行する方法及びシステム
US9459955B2 (en) * 2012-05-24 2016-10-04 Sandisk Technologies Llc System and method to scramble data based on a scramble key
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 주식회사 아나패스 데이터 전송 방법 및 데이터 복원 방법
US9319179B1 (en) 2013-04-09 2016-04-19 Marvell International Ltd. Methods and apparatus for generating expanded code words to support error correction in a data communication system
US9658921B2 (en) 2013-10-31 2017-05-23 Samsung Display Co., Ltd. Maximal transition hamming codes
US9864654B2 (en) * 2015-09-21 2018-01-09 Sandisk Technologies Llc Detecting data indicated as being uncorrectable at a data storage device
US10372948B2 (en) * 2015-12-15 2019-08-06 Taiwan Semiconductor Manufacturing Company Ltd. Scrambling apparatus and method thereof
FR3058813A1 (fr) * 2016-11-16 2018-05-18 Stmicroelectronics (Rousset) Sas Stockage dans une memoire non volatile
US11074198B2 (en) * 2018-09-18 2021-07-27 Micron Technology, Inc. Key management in computer processors
US11165444B2 (en) * 2019-11-14 2021-11-02 Micron Technology, Inc. Apparatus with a data security mechanism and methods for operating the same

Also Published As

Publication number Publication date
TW202315341A (zh) 2023-04-01
JP2023021015A (ja) 2023-02-09
US20230318623A1 (en) 2023-10-05
EP4125222A1 (en) 2023-02-01
KR20230019389A (ko) 2023-02-08
US11695429B2 (en) 2023-07-04
US12015423B2 (en) 2024-06-18
US20230036390A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
US7495587B2 (en) Low power balance code using data bus inversion
JP4036338B2 (ja) 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
US7073117B1 (en) Method and apparatus for generating bit errors in a forward error correction (FEC) system to estimate power dissipation characteristics of the system
KR100210583B1 (ko) 에러정정 부호화 복호화 방법 및 이 방법을 사용하는 회로
US7171591B2 (en) Method and apparatus for encoding special uncorrectable errors in an error correction code
CN111628780B (zh) 数据编码、解码方法及数据处理系统
US7962837B2 (en) Technique for reducing parity bit-widths for check bit and syndrome generation for data blocks through the use of additional check bits to increase the number of minimum weighted codes in the hamming code H-matrix
US7243293B2 (en) (18, 9) Error correction code for double error correction and triple error detection
US10382060B2 (en) On-line self-checking hamming encoder, decoder and associated method
JPH02189032A (ja) エラー訂正方法
US5878061A (en) Providing serial data clock signal transitions with parity bits
US5938773A (en) Sideband signaling with parity bit schemes
CN115694870A (zh) 编码方法和编码器
TW202324040A (zh) 減少錯誤傳播的轉態編碼器及轉態編碼方法
US9515682B2 (en) Device for correcting two errors with a code of hamming distance three or four
JPH08293802A (ja) インターリーブ式誤り訂正方法
CN115567164A (zh) 向量信令码信道的流水线式前向纠错方法和装置
JP2005057741A (ja) インラインワイヤ誤り訂正
Gholase et al. Enhancement of error detection and correction capability using orthogonal code convolution
JP4074252B2 (ja) 復号および誤り訂正方法
US8806317B2 (en) Method for coding and decoding digital data, particularly data processed in a microprocessor unit
Juan et al. Utilization of DSP algorithms for Cyclic Redundancy Checking (CRC) in Controller Area Network (CAN) controller
Rohtagi Efficient Codes for Correction and/or Detection of Moderate-Density Repeated Burst Errors.
Chandrasekhar et al. Design of Novel Hamming Encoding and Decoding Circuits with Double Error Detection
RU2297032C2 (ru) Самокорректирующееся запоминающее устройство

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication