An encoding method and apparatus

CN122951654APending Publication Date: 2026-10-20HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510460648.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-11
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

里德-所罗门(reed-solomon,RS)码是基于有限域构造的,有限域的大小限制RS码的码字长度,进而限制了RS码的纠错能力

Benefits of technology

[0039]以上第二方面至第八方面所带来的技术效果可参见上述第一方面中相应方案有益效果的描述,此处不再赘述。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure BDA0005357190720000011
    Figure BDA0005357190720000011
  • Figure BDA0005357190720000021
    Figure BDA0005357190720000021
  • Figure BDA0005357190720000044
    Figure BDA0005357190720000044
Patent Text Reader

Abstract

An encoding method and apparatus are disclosed to achieve a balance between error correction capability and encoding complexity in the encoding algorithm. The encoding method includes: acquiring a target message; determining a target codeword based on the target message and a set of basis functions; the set of basis functions is determined based on the automorphism group of a first algebraic curve; any basis function in the set of basis functions is contained in the Riemann LOCH space L(λP) defined by the first algebraic curve. ∞ Send the target codeword.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of mobile communication technology, and in particular to an encoding method and apparatus. Background Technology

[0002] Channel coding is a technique used in communication systems to improve transmission reliability. Reed-Solomon (RS) codes are constructed based on finite fields. The size of the finite field limits the codeword length of RS codes, which in turn limits their error correction capabilities. Common algebraic geometric (AG) codes can overcome the size limitation of finite fields, but AG codes have low coding complexity and cannot guarantee transmission reliability.

[0003] Achieving a balance between error correction capability and coding complexity in encoding algorithms is a problem that urgently needs to be solved. Summary of the Invention

[0004] This application provides an encoding method and apparatus to achieve a balance between error correction capability and encoding complexity in the encoding algorithm.

[0005] Firstly, this application provides an encoding method that can be applied to an encoding device, a component within the encoding device (such as a processor, chip, chip system, circuit, functional module, or others), or a software module. The method may include: the encoding device acquiring a target message; the encoding device determining a target codeword based on the target message and a set of basis functions; the set of basis functions being determined based on the automorphism group of a first algebraic curve; and any basis function in the set of basis functions being contained in the Riemann LOCH space L(λP) defined by the first algebraic curve. ∞ The encoding device sends the target codeword.

[0006] Using this method, the encoding device can determine the target codeword corresponding to the target message based on the target message and the basis function set. Since the basis function set is determined based on the automorphism group of the first algebra curves, a linear code with stronger error correction capability can be constructed based on this basis function set; that is, the target codeword can meet the requirement of good error correction capability. Furthermore, the determination process of the basis function set has lower encoding complexity compared to conventional RS coding. In summary, the encoding algorithm based on the basis function set to determine the target codeword achieves a balance between error correction capability and encoding complexity.

[0007] In one possible design, the basis function set includes k basis functions. The process by which the encoding device determines the target codeword based on the target message and the basis function set may include: the encoding device converting the target message into k message blocks; the message blocks being contained within the domain of the first algebraic curve; the encoding device determining message functions based on the k message blocks and the k basis functions; and the encoding device assigning values ​​to the message functions to obtain the target codeword.

[0008] With this design, the encoding device can map the k message blocks corresponding to the target message to the k basis functions of the basis function set. Furthermore, the encoding device can also perform assignment encoding on the message functions. Since the basis function set is determined by the automorphism group of the first algebra curves, the message functions obtained under the mapping relationship of one-to-one correspondence between the k message blocks and the k basis functions can still retain good error correction capabilities.

[0009] In one possible design, the encoding device may also determine a first function based on the automorphism group of the first algebraic curve; determine a second function in the first function domain corresponding to the first algebraic curve; and determine the basis function set based on the first and second functions.

[0010] With this design, the encoding device can determine the first function based on the automorphism group of the first algebraic curve, and can also determine the second function in the first function domain, thereby determining the basis function set based on the first and second functions.

[0011] In one possible design, the basis function set includes the s-th basis function; the variables of the first function domain include the first variable x and the second variable y; the first function, the second function, and the s-th basis function satisfy the following formula:

[0012]

[0013] Among them, B s Used to represent the s-th basis function, y i Used to represent the first function, t j Used to represent the second function; the values ​​of i and j satisfy the first condition; the first condition is based on the number of times the first function domain expands the second function domain, and the infinite number P of the second variable with respect to the first function domain. ∞ The discrete assignment of the opposite number and the Riemann Loch space L(λP) defined by the first algebraic curve ∞ The second function domain is determined; the rational function domain of the first variable x is determined.

[0014] With this design, the encoding device can determine each basis function in the basis function set based on the aforementioned formula, thereby enabling the encoding algorithm determined based on this basis function set to achieve a balance between error correction capability and encoding complexity.

[0015] In one possible design, the first condition includes at least one of the following: i·d+j·m≤λ; 0≤i≤m-1; j≥0.

[0016] In one possible design, the first algebraic curve satisfies at least one of the following: the expansion degree of the first function domain corresponding to the first algebraic curve over the second function domain is a smooth integer; the first function domain is the function domain corresponding to the first algebraic curve, and the second function domain is the rational function domain of the first variable x; the first variable is a variable of the second function domain; the conjugate root of any second variable in the first function domain is a linear function of the second variable; the infinite position of the first function domain completely diverges during the expansion of the second function domain; each rational position in the multipoint set of the second function domain completely splits during the expansion of the second function domain; the expansion degree of the first function domain over the second function domain is related to the infinite position P of the second variable with respect to the first function domain. ∞ The discrete assignments are coprime opposites; in the extension of the first function domain to the second function domain, the basis vectors formed by the second variable are not in P. ∞ The position of is an integer; where the basis vectors formed by the second variable are {1, y, ..., y}. m-1}

[0017] With this design, the first algebraic curve satisfies the aforementioned preset conditions, thus the basis function set determined by the first algebraic curve has good error correction capabilities. Furthermore, implementing the encoding based on this design allows the encoding algorithm to achieve a complexity of O(Nlog N), while the lowest complexity of current conventional encoding algorithms is O(Nlog N). 2 N), obviously, the aforementioned design keeps the complexity of the encoding algorithm at a low level.

[0018] Secondly, embodiments of this application provide an encoding apparatus. The apparatus can implement the method described in the first aspect and any possible implementation thereof.

[0019] In one optional implementation, the apparatus may include modules, units, or means corresponding one-to-one with the methods / operations / steps / actions that perform the first aspect and any possible implementation thereof. These modules, units, or means may be hardware circuits, software, or a combination of hardware circuits and software. In another optional implementation, the apparatus includes a processing module (sometimes also called a processing unit) and a transceiver module (sometimes also called a communication module, communication unit, etc.). The transceiver module is capable of both sending and receiving functions. When the transceiver module performs the sending function, it may be called a sending unit (sometimes also called a sending module); when it performs the receiving function, it may be called a receiving unit (sometimes also called a receiving module). The sending unit and the receiving unit may be the same functional module, referred to as the transceiver module, which performs both sending and receiving functions; or, the sending unit and the receiving unit may be different functional modules, with the transceiver module being a collective term for these functional modules.

[0020] For example, when the apparatus is used to perform the method described in the first aspect, the apparatus may include a processing module and a transceiver module. The transceiver module is used to acquire a target message; the processing module is used to determine a target codeword based on the target message and a set of basis functions; the set of basis functions is determined based on the automorphism group of a first algebraic curve; any basis function in the set of basis functions is contained in the Riemann LOCH space L(λP) defined by the first algebraic curve. ∞ The transceiver module is also used to send target codewords.

[0021] In one possible design, the basis function set includes k basis functions, and the processing module is specifically used to: convert the target message into k message blocks; the message blocks are contained in the domain of the first algebraic curve; determine the message function based on the k message blocks and the k basis functions; and assign values ​​to the message function to obtain the target codeword.

[0022] In one possible design, the processing module is also used to: determine a first function based on the automorphism group of the first algebraic curve; determine a second function in the first function domain corresponding to the first algebraic curve; and determine the set of basis functions based on the first function and the second function.

[0023] In one possible design, the basis function set includes the s-th basis function; the variables of the first function domain include the first variable x and the second variable y; the first function, the second function, and the s-th basis function satisfy the following formula:

[0024]

[0025] Among them, B s Used to represent the s-th basis function, y i Used to represent the first function, tj Used to represent the second function; the values ​​of i and j satisfy the first condition; the first condition is based on the number of times the first function domain expands the second function domain, and the infinite number P of the second variable with respect to the first function domain. ∞ The discrete assignment of the opposite number and the Riemann Loch space L(λP) defined by the first algebraic curve ∞ The second function domain is determined; the rational function domain of the first variable x is determined.

[0026] In one possible design, the first condition includes at least one of the following: i·d+j·m≤λ; 0≤i≤m-1; j≥0.

[0027] In one possible design, the first algebraic curve satisfies at least one of the following: the expansion degree of the first function domain corresponding to the first algebraic curve over the second function domain is a smooth integer; the first function domain is the function domain corresponding to the first algebraic curve, and the second function domain is the rational function domain of the first variable x; the first variable is a variable of the second function domain; the conjugate root of any second variable in the first function domain is a linear function of the second variable; the infinite position of the first function domain completely diverges during the expansion of the second function domain; each rational position in the multipoint set of the second function domain completely splits during the expansion of the second function domain; the expansion degree of the first function domain over the second function domain is related to the infinite position P of the second variable with respect to the first function domain. ∞ The discrete assignments are coprime opposites; in the extension of the first function domain to the second function domain, the basis vectors formed by the second variable are not in P. ∞ The position of is an integer; where the basis vectors formed by the second variable are {1, y, ..., y}. m-1}

[0028] Thirdly, embodiments of this application also provide an encoding device, including a processor, for executing a computer program (or computer-executable instructions) stored in a memory, which, when executed, causes the device to perform the method as described in the first aspect and any possible implementation thereof.

[0029] In one possible implementation, the processor and memory are integrated together.

[0030] In another possible implementation, the memory is located outside the encoding device.

[0031] The encoding device also includes a communication interface for communicating with other devices, such as transmitting or receiving data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.

[0032] Fourthly, a computer-readable storage medium is provided for storing a computer program or instructions that, when executed, enable the implementation of the methods of the first aspect and any possible implementation thereof.

[0033] Fifthly, a computer program product containing instructions is provided, which, when run on a computer, enables the implementation of the method of the first aspect and any possible implementation thereof.

[0034] Sixthly, embodiments of this application also provide an encoding apparatus for performing the method described in the first aspect and any possible implementation thereof.

[0035] In a seventh aspect, a chip or chip system is provided, comprising logic circuitry (or, as understood, a processor, which may include logic circuitry, etc.), and further comprising input / output interfaces. The input / output interfaces can be used to input messages or to output messages. The input / output interfaces can be the same interface, i.e., the same interface can implement both sending and receiving functions; or, the input / output interface includes an input interface and an output interface, where the input interface is used to implement the receiving function, i.e., to receive messages; and the output interface is used to implement the sending function, i.e., to send messages. The logic circuitry can be used to perform operations other than the sending and receiving functions in the methods of the first aspect and any possible implementation thereof; the logic circuitry can also be used to transmit messages to the input / output interfaces or to receive messages from other encoding devices from the input / output interfaces. The chip system can be used to implement the methods of the first aspect and any possible implementation thereof. The chip system can be composed of chips or can include chips and other discrete devices.

[0036] Optionally, the chip system may also include a memory, which can be used to store instructions, and the logic circuits can call the instructions stored in the memory to implement the corresponding functions.

[0037] Eighthly, a communication system is provided, which may include an encoding device. The encoding device may be used to implement the methods shown in the first aspect and any possible implementation thereof.

[0038] Optionally, the communication system may also include other devices besides the encoding device (such as a decoding device), which is not limited in this application.

[0039] The technical effects brought about by the second to eighth aspects above can be found in the description of the beneficial effects of the corresponding solutions in the first aspect above, and will not be repeated here. Attached Figure Description

[0040] Figure 1 A communication architecture diagram provided for an embodiment of this application;

[0041] Figure 2 A flowchart illustrating an encoding method provided in an embodiment of this application;

[0042] Figure 3 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;

[0043] Figure 4 This is a schematic diagram of another communication device provided in an embodiment of this application. Detailed Implementation

[0044] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The specific operational methods in the method embodiments can also be applied to the device embodiments or system embodiments; therefore, the implementation of the device and the method can refer to each other, and repeated details will not be repeated.

[0045] In the description of this application, unless otherwise stated, " / " signifies "or," for example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Furthermore, in the description of this application, "at least one" refers to one or more items, and "multiple" refers to two or more items. In the description of this application, terms such as "first" and "second" are used only for descriptive purposes and should not be construed as indicating or implying relative importance or order.

[0046] Channel coding technology has a wide range of applications; for example, channel coding technology (using RS code / AG code as an example in this application) can be applied in data storage scenarios, communication and data transmission scenarios (e.g., Ethernet transmission), optical wave and television transmission, new technology and coding extension scenarios (e.g., two-dimensional barcode technology), and computer system and hardware implementation scenarios (e.g., optical fiber communication).

[0047] Figure 1 This is a possible, non-limiting communication architecture diagram applicable to the encoding method provided in this application. For example... Figure 1 As shown, this communication architecture can be applied to Ethernet transmission scenarios, including: a sender and a receiver; wherein, the sender and receiver can be communication devices in Ethernet, such as routers, switches, gateways, IoT devices, etc.

[0048] Based on the design principle of functional separation, the transmitting and receiving ends can be divided into different layers, each responsible for different functions. As shown in the figure, the transmitting end includes a Physical Coding Sublayer (PCS layer), a Forward Error Correction (FEC) layer, and a Physical Medium Attachment (PMA) layer. The receiving end includes a PCS layer, a FEC layer, and a PMA layer. Furthermore, a Physical Medium Dependent (PMD) layer is also included between the Ethernet interfaces of the transmitting and receiving ends.

[0049] The PCS layer is responsible for data encoding and decoding, such as converting data into a format suitable for transmission to ensure signal integrity. The FEC layer improves data reliability and reduces retransmission requirements by adding redundant information to detect and correct transmission errors. The PMA layer handles signal transmission and reception, adapting to different physical media characteristics to achieve reliable data transmission over specific media. The PMD layer is responsible for signal transmission and reception over specific physical media (such as optical fiber or twisted pair), handling media characteristics to achieve data transmission.

[0050] The encoding and decoding processes are briefly explained below with reference to the architecture diagram above. The process at the sending end includes steps A1, A2, and A3; the process at the receiving end includes steps B1, B2, and B3.

[0051] Step A1: The PCS layer at the sending end processes the data. For example, after the sending end confirms the data to be sent, the PCS layer encodes and converts the data, adds a synchronization header and check information, and scrambles the data to optimize the code pattern distribution, forming a standard coded block.

[0052] Step A2: The FEC layer at the sending end encodes the data (e.g., AG encoding, RS encoding).

[0053] Step A3: The PMA layer at the transmitting end processes the data. For example, the data encoded by the FEC layer (e.g., the encoded codewords) is passed to the PMA layer, which modulates the data (converting it into an analog signal adapted to the physical medium (such as optical fiber)) and sends the modulated data to the receiving end through the PMD layer (Ethernet interface).

[0054] Step B1: After the receiving end receives data through the PMD layer (Ethernet interface), the receiving end's PMA layer processes the data. For example, after the PMA layer captures the signal from the medium, it recovers the digital codewords through equalization and analog-to-digital conversion.

[0055] Step B2: The FEC layer at the receiving end decodes the data.

[0056] Step B3: The PCS layer at the receiving end processes the data. For example, the PCS layer descrambles the data, parses the synchronization header, and removes the checksum, and then submits the processed data to the upper layer.

[0057] In the channel coding process (such as step A2 mentioned above), both error correction capability and coding complexity are important. Generally, stronger error correction capability often requires the introduction of more complex mathematical structures or redundancy mechanisms, and enhancing the error correction capability of the coding algorithm may lead to an increase in algorithm complexity. Among the current standard coding algorithms that can meet the error correction capability requirements, the lowest coding complexity is O(Nlog₂). 2 The encoding efficiency is relatively low (N). Therefore, to achieve a balance between error correction capability and encoding complexity in the encoding algorithm, this application provides an encoding method.

[0058] The following is combined Figure 2 The technical solution of this application will be described in detail with specific method embodiments. Figure 2 As shown, the encoding method may include:

[0059] S201: The encoding device acquires the target message.

[0060] In this embodiment, the encoding device can be a communication device in an Ethernet network, such as a switch.

[0061] S202: The encoding device determines the target codeword based on the target message and the basis function set; the basis function set is determined based on the automorphism group of the first algebraic curves; any basis function in the basis function set is contained in the Riemann LOCH space L(λP) defined by the first algebraic curves. ∞ ).

[0062] In one possible design, the encoding device may also determine the first algebraic curve before executing S202. For ease of understanding, the definitions and symbols related to the first algebraic curve are explained below.

[0063] The first algebraic curve is defined as x; where the variables of the first algebraic curve include a first variable x and a second variable y. That is, the first variable x and the second variable y satisfy the parametric equation of the first algebraic curve.

[0064] Finite field This represents a field containing q elements; Used to indicate in The finite field obtained by removing the 0 element from the middle.

[0065] First function domain: The function domain corresponding to the first algebraic curve, denoted as E; that is:

[0066] E* It is the function domain obtained by removing the 0 elements from the first function domain.

[0067] The second function domain: the rational function domain of the first algebraic curve with respect to the first variable x, denoted as F; that is:

[0068] Galois extension of the first function domain to the second function domain: Gal(E / F). In some examples, the extension of the first function domain to the second function domain can be a Galois extension; for example, the Kummer extension and the Artin-Schreier extension.

[0069] The automorphism group of first algebraic curves: G = Gal(E / F).

[0070] The number of times the first function domain extends the second function domain is m. In this application, the process of extending the first function domain to the second function domain is illustrated using the Galois extension as an example.

[0071] The infinite bit of the first function domain: denoted as P ∞ .

[0072] Divisor on the first algebraic curve: D = λP ∞ .

[0073] Divided by λP ∞ Defined Riemann Roch space: L(λP) ∞ In some examples, the Riemann Loch space of a first-algebraic curve can be represented as: L(λP) ∞ )={f∈E * |div(f)≥-λP ∞}∪{0};where λ is a preset constant; div(f) is the principal divider of function f, and function f is E * One of the elements.

[0074] L(λP ∞ As The dimension of the linear space: k.

[0075] The second variable is about P. ∞ Discrete assignment: ν P∞ (y).

[0076] The second variable is about P. ∞ The opposite of the discrete assignment: d.

[0077] Q ∞ It is P ∞ Restricted to an infinite number of bits over the second function domain.

[0078] The rational point set of a first algebraic curve: in, supp(D) is the set of all points in the divisor of a first-algebraic curve that have non-zero coefficients. This represents the empty set.

[0079] Optionally, the first algebraic curve may satisfy at least one of the following preset conditions one to five.

[0080] Presupposition 1: The degree of expansion of the first function domain over the second function domain is a smoothed integer; the first function domain is the function domain corresponding to the first algebraic curve, and the second function domain is the rational function domain of the first variable x; the first variable is a variable of the second function domain.

[0081] In some examples, the number of expansions satisfies the following formula: Where, p t is a small prime number; r is the number of prime factors in m. It should be understood that m that satisfies the aforementioned formula is a smooth integer.

[0082] Presupposition 2: The conjugate root of any second variable in the first function domain is a linear function of the second variable.

[0083] In some examples, let σ be a linear function of the second variable, satisfying the following formula: σ(y)=ay+b; where σ∈Gal(E / F), It should be understood that satisfying the aforementioned formula means satisfying the second preset condition.

[0084] Presupposition 3: The infinite number of bits P in the first function domain ∞ The process of extending the second function domain from the first function domain completely diverges.

[0085] Presupposition 4: Each rational bit in the multi-point set of the second function domain is completely split during the expansion of the second function domain by the first function domain.

[0086] In some examples, let the set of multiple points of the second function domain be... Q i It is a multi-point set Any rational bit in Q. It should be understood that when Q i Preset condition four is satisfied when the expansion is complete and the split occurs.

[0087] Presupposition condition five: The number of times the first function domain expands over the second function domain is related to the infinite position P of the second variable with respect to the first function domain. ∞ The discrete assignments are coprime opposites.

[0088] In some examples, the number of expansions and P ∞ The discrete assignments satisfy the following formula: Indicate m and The greatest common divisor. It should be understood that satisfying the aforementioned formula satisfies the fifth presupposition condition.

[0089] Presupposition condition six: In the extension of the first function domain to the second function domain, the basis set formed by the second variable is not P. ∞ The position is integral.

[0090] In some examples, the basis set consisting of the second variable can be {1,y,…,y}. m-1}, and this basis is integral. It should be understood that in the extension of the first functional field to the second functional field, if this basis is not divisible by P... ∞ If the position is a set of whole bases, then the preset condition six is ​​satisfied.

[0091] It should be understood that the target codeword performs best when the first algebraic curve satisfies all of the above conditions; therefore, this embodiment of the application uses the first algebraic curve satisfying all the aforementioned preset conditions as an example for illustration, but this does not constitute a limitation of this application.

[0092] In one possible design, the encoding device can obtain the set of basis functions before executing S202.

[0093] In some examples, the encoding device can also construct a set of basis functions based on a determined first algebraic curve, specifically including steps C1 to C3.

[0094] Step C1: The encoding device determines the first function based on the automorphism group of the first algebra curve.

[0095] The first function is identified as y. i ;

[0096] Optionally, the process by which the encoding device determines the first function based on the automorphism group of the first algebraic curve may include steps C1-1 to C1-5.

[0097] Step C1-1: The encoding device determines the subgroup decomposition result of the automorphism group of the first algebra curve.

[0098] In some examples, since the expansion order m is a smooth integer, the subgroup decomposition of the automorphism group of the first algebraic curve satisfies the following formula: Wherein, any subgroup G t The order satisfies: |G t |=p1…p t p t It is a small prime number.

[0099] Step C1-2: The encoding device computes the fixed subdomains of each subgroup in the automorphism group of the first algebraic curve. Wherein, the subgroup G... tThe fixed subdomain is E t .

[0100] In some examples, the fixed subdomains of each subgroup of the automorphism group of a first-algebraic curve satisfy the following formula (or function domain tower): And p t =[E t-1 E t ]; among them, [E t-1 E t ] represents E t-1 For E t The number of expansions.

[0101] Step C1-3: The encoding device determines the algebraic element y to be added to the second function domain based on the function pyramid domain between the fixed subdomains of multiple subgroups. t The extended field, algebraic element y t It is an element of the first function. Algebraic element y t It is determined based on the automorphism group of the first algebraic curves.

[0102] In some examples, the encoding device can encode multiple functions in the first function domain corresponding to the P-value of the first algebraic curve. ∞ Discrete assignment is performed at the point, and the function whose discrete assignment result satisfies the assignment condition among multiple functions is selected as the second function. t The following formula applies between the second function domain and the second function domain: E t =F(y t ), F(y t ) indicates adding an algebraic element y to the second function domain. t ;in, σ(y) is a linear function of the second variable.

[0103] Step C1-4: Select index i in [0, m-1] and calculate the vector i corresponding to index i. Accordingly, m vectors i are calculated.

[0104] based on Each index i can be written as: i = i0 + i1·p1 + i2·p1p2 + ... + i t-1 p1…p t-1 +…+i r-1 p1…p r-1 , 0≤i t-1 ≤p t -1. Correspondingly, the vector i corresponding to index i is: i = (i0, i1, ..., i... r-1 ).

[0105] Step C1-5: The encoding device uses vector i and algebraic element y to... t The calculation formula determines the first function.

[0106] In some examples, each algebraic element y t (From t=0 to t=r-1) respectively according to the corresponding exponent (i t Perform exponentiation on (t=0 to t=r-1), then multiply the results of all exponentiations to obtain the first function; that is, the first function y i It can be calculated using the following formula:

[0107] Step C2: The encoding device acquires the second function; the second function is contained within the first function domain; the first function domain is the function domain corresponding to the first algebraic curve. The second function is identified as t. j .

[0108] In some examples, Where j≥0. Indicates t j In Q ∞ Discrete assignment at the location.

[0109] Step C3: The encoding device determines the set of basis functions based on the first function and the second function.

[0110] For example, suppose the set of basis functions includes the s-th basis function; B s This is used to represent the s-th basis function. The encoding device can determine the s-th basis function based on the following formula, provided that the values ​​of indices i and j satisfy a first condition:

[0111]

[0112] Optionally, the first condition is based on the degree of expansion of the first function domain over the second function domain and the infinite position P of the second variable with respect to the first function domain. ∞ The discrete assignment of the opposite number and the Riemann Loch space L(λP) defined by the first algebraic curve ∞ It is certain.

[0113] In some examples, the first condition may include the following three items:

[0114] i·d+j·m≤λ;

[0115] 0≤i≤m-1;

[0116] j≥0.

[0117] In another possible design, the encoding device can receive a pre-constructed set of basis functions.

[0118] In another possible design, the encoding device can retrieve the basis function set by querying the stored basis function set locally.

[0119] In one possible design, the basis function set includes k basis functions; the process by which the aforementioned encoding device determines the target codeword may include the following S202-1 to S202-3.

[0120] S202-1: The encoding device converts the target message into k message blocks; the message blocks are contained within the domain of the first algebraic curve. The k message blocks can be identified as: a1, a2, ..., a k .

[0121] In some examples, when the length of the target message is insufficient to be converted into k message blocks, some message blocks can be padded with zeros. For instance, assuming the target message can be converted into c message blocks (c < k), the encoding device can determine that the last kc message blocks out of the k message blocks have a value of 0.

[0122] S202-2: The encoding device determines the message function based on k message blocks and k basis functions.

[0123] Suppose the basis function set contains k basis functions, and the basis function set B is represented as: B = {B1, B2, ..., B} s ,…,B k}; where the s-th basis function can be represented as B s .

[0124] in,

[0125] In some examples, the encoding device maps k message blocks to k basis functions one-to-one to obtain a message function; for example, the encoding device can map the s-th message block to the s-th basis function. For instance, the message function consists of multiple mapping functions, each mapping function being any one of the k message blocks (e.g., the s-th message block a). s ) and the basis function corresponding to the message block among the k basis functions (e.g., the s-th basis function B) s The dot product of f; that is, the message function can be represented as f a = a1B1 + a2B2 + ... + a s B s +…+a k B k .

[0126] S202-3: The encoding device assigns values ​​to the message function to obtain the target codeword.

[0127] In some examples, the encoding device can compute the aforementioned message function on the rational point set of the first algebraic curve. Multiple values ​​are assigned to the target codeword to obtain the target codeword; correspondingly, the target codeword can be represented as

[0128] S203: The encoding device sends the target codeword.

[0129] Using the methods shown in S201 to S203, the target codeword corresponding to the target message is determined based on the target message and the basis function set. The basis function set is determined based on the automorphism group of the first algebra curve, thereby enabling the encoding algorithm that determines the target codeword based on the basis function set to achieve a balance between error correction capability and encoding complexity.

[0130] Based on the methods described in steps C1 to C3 above, two examples for determining the basis function set are provided below. In the following examples, the aforementioned encoding process is illustrated through some special extensions E / F examples of the first function domain E and the second function domain F.

[0131] Example 1 (using Kummer expansion):

[0132] Assume the domain of the first algebraic curve The number of elements q in the expression satisfies the following conditions: q-1 is a smooth integer; the expansion degree m (m is a factor of q-1) and the polynomial u(x) are chosen such that the degree of u(x) is coprime to m, and u(x) is square-free. For example, when q is 10, q-1 is 9. Since 9 = 3 * 3, the value of m can be 3.

[0133] make: Then the first algebraic curve can be represented as: y m =u(x).

[0134] Thus, the first algebraic curve satisfies the aforementioned preset conditions one through five. Taking preset condition four as an example, the set of multiple points in the second function domain is: in, y m =u(α) t ) in the first function domain There is a solution; that is, each rational bit in the multi-point set of the second function field is completely split during the expansion of the second function field by the first function field.

[0135] Based on the aforementioned assumptions, the automorphism group of the first algebraic curves is:

[0136] Take the t-th subgroup from the r subgroups of the automorphism group of the first algebraic curve:

[0137] Calculate G t Fixed subdomain: E t =F(y t );in,

[0138] therefore,

[0139] In this case, t j =x j .

[0140] For any index i ∈ [0, m-1], index i can be written in the following form: i = i0 + i1·p1 + i2·p1p2 + ... + i t-1 p1…p t-1 +…+i r-1 p1…p r-1 , where 0≤i t ≤p t+1 -1. Correspondingly, the Riemann Roch space L(λP) of the first algebraic curves ∞ A set of bases for ) is:

[0141] And 0≤i≤m-1,j≥0}

[0142] ={y i x j |i·d+j·m≤λ, and 0≤i≤m-1,j≥0}.

[0143] Example 2 (using the Artin-Schreier extension):

[0144] Limited domain In this context, the characteristic p of the finite field is a constant. Let W be a finite field. Given an r-dimensional linear subspace (r≤n) of W, and A(y) as a linearized polynomial of W, i.e., A(y)=∏ w∈W (yw). Furthermore, take a polynomial u(x) such that the degree of u(x) is coprime to p.

[0145] make: Then the first algebraic curve can be represented as: A(y)=u(x).

[0146] Thus, the first algebraic curve satisfies the aforementioned preset conditions one through five. Taking preset condition four as an example, the multi-point set of the second function domain... in, A(y)=u(α t ) in the first function domain There is a solution; that is, each rational bit in the multi-point set of the second function field is completely split during the expansion of the second function field by the first function field.

[0147] Suppose that a basis of W is {w1, w2, ..., w r},Right now Based on the aforementioned settings, the automorphism group of the first algebraic curve is: Gal(E / F) = W.

[0148] Take the t-th subgroup from the r subgroups of the automorphism group of the first algebraic curve: t = 1, ..., r.

[0149] Calculate G t Fixed subdomain: E t =F(y t );in, l t (y) is a linearized polynomial. And l t The degree of (y) is p t .

[0150] Based on the aforementioned calculations therefore,

[0151] For any index i∈[0,p] r -1]; p-base expansion of i: Where, 0≤i t ≤p-1.

[0152] Vector i can be written in the following form: i = (i0, i1, ..., i r-1 ).

[0153] Correspondingly, the Riemann Roch space L(λP) of the first algebraic curves ∞ A set of bases for ) is:

[0154]

[0155] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0156] It should also be noted that each step in the above embodiments can be executed by the corresponding device, or by components such as chips, processors, or chip systems within that device. The embodiments of this application do not limit their execution. The above embodiments are merely illustrative examples of execution by the corresponding device. Furthermore, the specific implementation methods or examples in the above embodiments do not limit the solutions provided by the embodiments of this application.

[0157] Based on the same technical concept, this application provides an encoding device, which includes modules, units or means that perform the method steps in the above method embodiments. The functions, units or means can be implemented by software, or by hardware, or by hardware executing corresponding software.

[0158] For example, see Figure 3 The encoding device 300 may include a processing module 301 and a transceiver module 302.

[0159] Optionally, the transceiver module 302 may include a sending module and / or a receiving module. The sending module is used to perform the sending operation in the above method embodiments. The receiving module is used to perform the receiving operation in the above method embodiments. It should be noted that the encoding device 300 may only include a sending module and not a receiving module. Alternatively, the encoding device 300 may only include a receiving module and not a sending module. Specifically, it depends on whether the above scheme executed by the encoding device 300 includes both sending and receiving actions.

[0160] The processing module 301 is used for data processing. The transceiver module 302 can realize the corresponding communication functions.

[0161] Optionally, the encoding device 300 may further include a storage module, which can be used to store instructions and / or data. The processing module 301 can read the instructions and / or data in the storage module so that the encoding device 300 can implement the aforementioned method embodiments.

[0162] It should be understood that all relevant content of each step involved in the above method embodiments can be referenced to the functional description of the corresponding functional module.

[0163] The processing module 301 in the above embodiments can be implemented by at least one processor or processor-related circuitry. The transceiver module 302 can be implemented by a transceiver or transceiver-related circuitry. The transceiver module 302 can also be referred to as a transceiver module or a communication interface.

[0164] The following is another structural schematic diagram of the encoding device according to an embodiment of this application. For example... Figure 4 As shown, this application embodiment also provides an encoding device 400, including:

[0165] At least one processor 401; and a communication interface 403 communicatively connected to the at least one processor 401; the at least one processor 401 causes the device to perform the method steps in the above method embodiments through the communication interface 403 by executing instructions stored in the memory 402.

[0166] The memory 402 may be located outside the encoding device 400. Alternatively, the memory 402 may be located inside the encoding device 400. Optionally, the encoding device 400 includes the memory 402, which is connected to the at least one processor 401, and stores instructions executable by the at least one processor 401. Figure 4 The dashed line indicates that memory 402 is optional for encoding device 400.

[0167] The processor 401 and the memory 402 can be coupled through an interface circuit or integrated together; no restriction is imposed here.

[0168] This application embodiment does not limit the specific connection medium between the processor 401, memory 402, and communication interface 403. This application embodiment... Figure 4 The processor 401, memory 402, and communication interface 403 are connected via a bus 404. Figure 4 The connections between other components are shown in bold and are for illustrative purposes only, not as limiting information. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 4 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0169] Taking a management entity as an example, when the encoding device 400 is a management entity, the management entity may include a processor, a memory, and a transceiver. The memory may store computer program code, and the transceiver includes a transmitter and a receiver.

[0170] The processor is primarily used for processing communication protocols and data; controlling terminal devices; executing software programs; and processing data from those programs. The memory is primarily used for storing software programs and data. The transmitter is used to send signals to other encoding devices or equipment, and the receiver is used to receive signals from other encoding devices or equipment.

[0171] When the encoding device 400 is a chip in a terminal device, the chip may include a processor, a memory, and a transceiver. The transceiver may be an input / output circuit or a communication interface. The processor may be a processing module integrated on the chip, a microprocessor, or an integrated circuit. In the above method embodiments, the transmitting operation of the terminal device can be understood as the output of the chip, and the receiving operation of the terminal device in the above method embodiments can be understood as the input of the chip.

[0172] It should be understood that the processor mentioned in the embodiments of this application can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc. When implemented in software, the processor can be a general-purpose processor, implemented by reading software code stored in memory.

[0173] For example, the processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0174] It should be understood that the memory mentioned in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0175] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.

[0176] It should be noted that the memories described herein are intended to include, but are not limited to, these and any other suitable types of memories.

[0177] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium, including a program or instructions, which, when run on a computer, cause the methods in the above method embodiments to be executed.

[0178] Based on the same technical concept, embodiments of this application also provide a computer program product, including instructions that, when run on a computer, cause the methods in the above method embodiments to be executed.

[0179] Based on the same technical concept, embodiments of this application also provide a communication system, which may include a base station and core network equipment. For example, this communication system can be used to implement... Figure 3 The method flow is described in the text. Optionally, the communication system may also include other communication devices.

[0180] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0181] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0182] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0183] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0184] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of different embodiments are consistent and can be referenced by each other. The technical features of different embodiments can be combined to form new embodiments according to their inherent logical relationship.

[0185] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The order of the process numbers described above does not imply the order of execution; the execution order of each process should be determined by its function and internal logic.

Claims

1. An encoding method, characterized in that, The method includes: Obtain the target message; The target codeword is determined based on the target message and the basis function set; the basis function set is determined based on the automorphism group of the first algebraic curve; any basis function in the basis function set is contained in the Riemann LOCH space L(λP) defined by the first algebraic curve. ∞ ); Send the target codeword.

2. The method as described in claim 1, characterized in that, The basis function set includes k basis functions, and the step of determining the target codeword based on the target message and the basis function set includes: The target message is converted into the k message blocks; the message blocks are contained within the domain of the first algebraic curve. The message function is determined based on the k message blocks and the k basis functions; The message function is assigned an encoding value to obtain the target codeword.

3. The method as described in claim 1 or 2, characterized in that, The method further includes: The first function is determined based on the automorphism group of the first algebraic curve; Determine the second function in the first function domain corresponding to the first algebraic curve; The basis function set is determined based on the first function and the second function.

4. The method as described in claim 3, characterized in that, The basis function set includes the s-th basis function; the variables in the first function domain include the first variable x and the second variable y; the first function, the second function, and the s-th basis function satisfy the following formula: Among them, B s Used to represent the s-th basis function, y i Used to represent the first function, t j Used to represent the second function; the values ​​of i and j satisfy the first condition; the first condition is based on the number of times the first function domain expands the second function domain, and the infinite number P of the second variable with respect to the first function domain. ∞ The discrete assignment of the opposite number and the Riemann Loch space L(λP) defined by the first algebraic curve ∞ The second function domain is determined; the second function domain is the rational function domain of the first variable x.

5. The method as described in claim 4, characterized in that, The first condition includes at least one of the following: i·d+j·m≤λ; 0≤i≤m-1; j≥0。 6. The method according to any one of claims 1-5, characterized in that, The first algebraic curve satisfies at least one of the following: The degree of expansion of the first function domain corresponding to the first algebraic curve over the second function domain is a smoothed integer; the first function domain is the function domain corresponding to the first algebraic curve, and the second function domain is the rational function domain of the first variable x; the first variable is the variable of the second function domain; The conjugate root of any second variable in the first function domain is a linear function of the second variable; The infinite number of bits in the first function domain completely diverges during the expansion of the second function domain; Each rational bit in the multipoint set of the second function domain is completely split during the expansion of the second function domain; The number of times the first function domain expands over the second function domain is related to the infinite position P of the second variable with respect to the first function domain. ∞ The opposites of the discrete assignments are coprime; In the extension of the first function domain to the second function domain, the basis vectors formed by the second variable are not in P. ∞ The position is whole; Among them, the basis vectors formed by the second variable are {1, y, ..., y}. m-1 } 7. An encoding device, characterized in that, The device includes: The send / receive module is used to acquire the target message; The processing module is configured to determine the target codeword based on the target message and the basis function set; the basis function set is determined based on the automorphism group of the first algebraic curve; any basis function in the basis function set is contained in the Riemann LOCH space L(λP) defined by the first algebraic curve. ∞ ); The transceiver module is also used to: send the target codeword.

8. The apparatus as claimed in claim 7, characterized in that, The basis function set includes k basis functions, and the processing module is specifically used for: The target message is converted into the k message blocks; the message blocks are contained within the domain of the first algebraic curve. The message function is determined based on the k message blocks and the k basis functions; The message function is assigned an encoding value to obtain the target codeword.

9. The apparatus as claimed in claim 7 or 8, characterized in that, The processing module is also used for: The first function is determined based on the automorphism group of the first algebraic curve; Determine the second function in the first function domain corresponding to the first algebraic curve; The basis function set is determined based on the first function and the second function.

10. The apparatus as claimed in claim 9, characterized in that, The basis function set includes the s-th basis function; the variables in the first function domain include the first variable x and the second variable y; the first function, the second function, and the s-th basis function satisfy the following formula: Among them, B s Used to represent the s-th basis function, y i Used to represent the first function, t j Used to represent the second function; the values ​​of i and j satisfy the first condition; the first condition is based on the number of times the first function domain expands the second function domain, and the infinite number P of the second variable with respect to the first function domain. ∞ The discrete assignment of the opposite number and the Riemann Loch space L(λP) defined by the first algebraic curve ∞ The second function domain is determined; the second function domain is the rational function domain of the first variable x.

11. The apparatus as claimed in claim 10, characterized in that, The first condition includes at least one of the following: i·d+j·m≤λ; 0≤i≤m-1; j≥0。 12. The apparatus according to any one of claims 7-11, characterized in that, The first algebraic curve satisfies at least one of the following: The degree of expansion of the first function domain corresponding to the first algebraic curve over the second function domain is a smoothed integer; the first function domain is the function domain corresponding to the first algebraic curve, and the second function domain is the rational function domain of the first variable x; the first variable is the variable of the second function domain; The conjugate root of any second variable in the first function domain is a linear function of the second variable; The infinite number of bits in the first function domain completely diverges during the expansion of the second function domain; Each rational bit in the multipoint set of the second function domain is completely split during the expansion of the second function domain; The number of times the first function domain expands over the second function domain is related to the infinite position P of the second variable with respect to the first function domain. ∞ The opposites of the discrete assignments are coprime; In the extension of the first function domain to the second function domain, the basis vectors formed by the second variable are not in P. ∞ The position is whole; Among them, the basis vectors formed by the second variable are {1, y, ..., y}. m-1 } 13. A communication device, characterized in that, Includes units or modules for performing the method as described in any one of claims 1-6.

14. A communication device, characterized in that, It includes at least one processor for executing computer programs or instructions to implement the method as described in any one of claims 1-6.

15. A computer-readable storage medium, characterized in that, The storage medium stores a computer program or instructions, and when the computer program or instructions are executed by a communication device, the method as described in any one of claims 1-6 is implemented.

16. A computer program product, characterized in that, When the computer program product is executed by a computer, the computer performs the method as described in any one of claims 1-6.