This application relates to the field of communication technologies, and in particular, to an information processing method and device.
Currently, researchers have proposed use of two low-density parity-check codes (LDPC) to perform source coding and channel coding and use of a joint decoder to perform decoding at a receiving end. This method is referred to as a double LDPC (D-LDPC) joint source and channel coding/decoding scheme. Compared with independent source and channel coding/decoding methods, this scheme can have better bit error rate performance.
Later, some researchers have proposed an adaptive code rate allocation scheme using double LDPC codes. In this scheme, the researchers use R4JA and AR3A as source code and channel code respectively. However, a quantity of source coding rates that can be supported by this scheme is limited, and it is difficult to integrate this scheme into an existing LDPC-based channel coding scheme of the 5th generation mobile communication technology (5G) new radio (NR).
Embodiments of this application provide an information processing method and device, to provide a coding/decoding scheme that can be adapted to a 5G NR system.
According to a first aspect, a first information processing method is provided. The method may be performed by a terminal device, or may be performed by a larger device including a terminal device, or may be performed by a chip system or another functional module. The chip system or the functional module can implement a function of the terminal device, and the chip system or the functional module is, for example, disposed in the terminal device. Alternatively, the method may be performed by an access network device, or may be performed by another device including a function of an access network device, or may be performed by a chip system or another functional module. The chip system or the functional module can implement the function of the access network device. The chip system or the functional module is, for example, disposed in the access network device. The access network device is, for example, a base station. The method includes: determining a first source coding rate; determining a source coding matrix based on the first source coding rate and a channel coding basis matrix; and inputting a source sequence into the source coding matrix, to perform source coding on the source sequence.
In embodiments of this application, the source coding matrix may be determined based on the channel coding basis matrix, which is equivalent to determining source coding information based on channel coding information, to implement joint source and channel coding. Through the joint source and channel coding, a quantity of output bits of source coding can match a quantity of input bits of channel coding, so that the technical solutions in embodiments of this application can be adapted to a 5G NR system.
With reference to the first aspect, in a first optional implementation of the first aspect, the method further includes: determining the first source coding rate from first information based on an entropy rate and a source code length of the source sequence, where the first information includes a correspondence among a source coding rate, a source code length, and an entropy rate, and a quantity of source coding rates included in the first information is greater than 6. The first information provided in embodiments of this application includes a large quantity of source coding rates. For example, the quantity of source coding rates included in the first information is greater than 6. Therefore, a granularity of the source coding rate provided by the first information is finer. A first device has high flexibility in selecting a source coding rate, and can select an appropriate source coding rate based on the entropy rate and the source code length of the source sequence, to improve flexibility and accuracy of code rate selection.
With reference to the first aspect or the first optional implementation of the first aspect, in a second optional implementation of the first aspect, the determining a source coding matrix based on the first source coding rate and a channel coding basis matrix includes: determining a source coding basis matrix based on the first source coding rate and the channel coding basis matrix; and determining the source coding matrix based on the source coding basis matrix. The source coding basis matrix may be first determined, and then the source coding matrix is determined based on the source coding basis matrix.
With reference to the second optional implementation of the first aspect, in a third optional implementation of the first aspect, the determining a source coding basis matrix based on the first source coding rate and the channel coding basis matrix includes: determining a set index to which a lifting size corresponding to the first source coding rate belongs; determining a first channel coding basis matrix corresponding to the set index; transposing the first channel coding basis matrix to obtain a second channel coding basis matrix; and pruning rows and/or columns of the second channel coding basis matrix to obtain the source coding basis matrix. This is only a manner of obtaining the source coding basis matrix, and the source coding basis matrix may be alternatively obtained in another manner. For example, after the first channel coding basis matrix is obtained, the first channel coding basis matrix may not be transposed, but rows and/or columns of the first channel coding basis matrix are pruned to obtain the source coding basis matrix; or after the first channel coding basis matrix is obtained, rows and/or columns of the first channel coding basis matrix are pruned first, and then transposed to obtain the source coding basis matrix; or the source coding basis matrix may be obtained in another manner, which is flexible.
With reference to the third optional implementation of the first aspect, in a fourth optional implementation of the first aspect, the pruning rows and/or columns of the second channel coding basis matrix includes: reserving the first N1 rows of the second channel coding basis matrix, where N1 is a positive integer less than or equal to a total quantity of rows of the second channel coding basis matrix; and/or reserving N2 columns of the second channel coding basis matrix, where N2 is a positive integer less than or equal to a total quantity of columns of the second channel coding basis matrix. This manner is effective for performance improvement.
With reference to the fourth optional implementation of the first aspect, in a fifth optional implementation of the first aspect, N1=22. Alternatively, N1 may be another value. When N1=22, the performance is better.
With reference to the fourth optional implementation of the first aspect or the fifth optional implementation of the first aspect, in a sixth optional implementation of the first aspect, if N2 is less than or equal to a first value, the N2 columns are a 13th column to an (N2+12)th column of the second channel coding basis matrix; or if N2 is greater than a first value, the N2 columns are a (46−N2)th column to a 45th column of the second channel coding basis matrix. In this column pruning manner, the performance is better.
With reference to any one of the first aspect or the first optional implementation of the first aspect to the sixth optional implementation of the first aspect, in a seventh optional implementation of the first aspect, the method further includes: performing, based on a first matrix, channel coding on bits output by the source coding matrix, where an output dimension of the source coding matrix is equal to an input dimension of the first matrix. The first matrix is also referred to as, for example, a channel generator matrix, and may be used in a channel coding process. The output dimension of the source coding matrix is equal to the input dimension of the first matrix, so that the technical solutions provided in embodiments of this application can be applied to a 5G system.
With reference to the seventh optional implementation of the first aspect, in an eighth optional implementation of the first aspect, the performing, based on a first matrix, channel coding on bits output by the source coding matrix includes: shuffling, based on a second matrix, the bits output by the source coding matrix; and performing the channel coding on the shuffled bits based on the first matrix. The second matrix is, for example, an identity matrix, or may be a matrix obtained based on an identity matrix.
According to a second aspect, a second information processing method is provided. The method may be performed by a terminal device, or may be performed by a larger device including a terminal device, or may be performed by a chip system or another functional module. The chip system or the functional module can implement a function of the terminal device, and the chip system or the functional module is, for example, disposed in the terminal device. Alternatively, the method may be performed by an access network device, or may be performed by another device including a function of an access network device, or may be performed by a chip system or another functional module. The chip system or the functional module can implement the function of the access network device. The chip system or the functional module is, for example, disposed in the access network device. The access network device is, for example, a base station. The method includes: obtaining a joint check matrix based on a second matrix, where the second matrix is a matrix obtained based on an identity matrix; and decoding received second information based on the joint check matrix.
For technical effects of the second aspect, refer to the descriptions of the technical effects of the first aspect or the corresponding implementations.
According to a third aspect, a third information processing method is provided. The method may be performed by a terminal device, or may be performed by a larger device including a terminal device, or may be performed by a chip system or another functional module. The chip system or the functional module can implement a function of the terminal device, and the chip system or the functional module is, for example, disposed in the terminal device. Alternatively, the method may be performed by an access network device, or may be performed by another device including a function of an access network device, or may be performed by a chip system or another functional module. The chip system or the functional module can implement the function of the access network device. The chip system or the functional module is, for example, disposed in the access network device. The access network device is, for example, a base station. The method includes: determining a first source coding rate; determining a source coding matrix based on the first source coding rate; and decoding received second information based on the source coding matrix.
For technical effects of the third aspect, refer to the descriptions of the technical effects of the first aspect or the corresponding implementations.
According to a fourth aspect, a communication apparatus is provided. The communication apparatus may be a device configured to perform the method in the foregoing first aspect. The communication apparatus has a function of the device configured to perform the method in the foregoing first aspect. The communication apparatus is, for example, a terminal device, or a functional module in a terminal device, for example, a baseband apparatus, a chip system, or the like. Alternatively, the communication apparatus is, for example, an access network device, or a functional module in an access network device, for example, a baseband apparatus, a chip system, or the like. In an optional implementation, the communication apparatus includes a baseband apparatus and a radio frequency apparatus. In another optional implementation, the communication apparatus includes a processing unit (sometimes also referred to as a processing module) and a transceiver unit (sometimes also referred to as a transceiver module). The transceiver unit can implement a sending function and a receiving function. When the transceiver unit implements the sending function, the transceiver unit may be referred to as a sending unit (sometimes also referred to as a sending module). When the transceiver unit implements the receiving function, the transceiver unit may be referred to as a receiving unit (sometimes also referred to as a receiving module). The sending unit and the receiving unit may be a same functional module, and the functional module is referred to as the transceiver unit. The functional module can implement the sending function and the receiving function. Alternatively, the sending unit and the receiving unit may be different functional modules, and the transceiver unit is a general term for these functional modules.
In an optional implementation, the communication apparatus further includes a storage unit, and the processing unit is configured to be coupled to the storage unit, and execute a program or instructions in the storage unit, to enable the communication apparatus to perform the method in the first aspect.
According to a fifth aspect, a communication apparatus is provided. The communication apparatus may be a device configured to perform the method in the foregoing second aspect. The communication apparatus has a function of the device configured to perform the method in the foregoing second aspect. The communication apparatus is, for example, a terminal device, or a functional module in a terminal device, for example, a baseband apparatus, a chip system, or the like. Alternatively, the communication apparatus is, for example, an access network device, or a functional module in an access network device, for example, a baseband apparatus, a chip system, or the like. In an optional implementation, the communication apparatus includes a baseband apparatus and a radio frequency apparatus. In another optional implementation, the communication apparatus includes a processing unit (sometimes also referred to as a processing module) and a transceiver unit (sometimes also referred to as a transceiver module). For an implementation of the transceiver unit, refer to related descriptions in the fourth aspect.
In an optional implementation, the communication apparatus further includes a storage unit, and the processing unit is configured to be coupled to the storage unit, and execute a program or instructions in the storage unit, to enable the communication apparatus to perform the method in the second aspect.
According to a sixth aspect, a communication apparatus is provided. The communication apparatus may be a device configured to perform the method in the foregoing fourth aspect. The communication apparatus has a function of the device configured to perform the method in the foregoing third aspect. The communication apparatus is, for example, a terminal device, or a functional module in a terminal device, for example, a baseband apparatus, a chip system, or the like. Alternatively, the communication apparatus is, for example, an access network device, or a functional module in an access network device, for example, a baseband apparatus, a chip system, or the like. In an optional implementation, the communication apparatus includes a baseband apparatus and a radio frequency apparatus. In another optional implementation, the communication apparatus includes a processing unit (sometimes also referred to as a processing module) and a transceiver unit (sometimes also referred to as a transceiver module). For an implementation of the transceiver unit, refer to related descriptions in the fourth aspect.
In an optional implementation, the communication apparatus further includes a storage unit, and the processing unit is configured to be coupled to the storage unit, and execute a program or instructions in the storage unit, to enable the communication apparatus to perform the method in the third aspect.
According to a seventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium is configured to store a computer program or instructions. When the computer program or the instructions is/are run, the method performed by the terminal device or the access network device in the foregoing aspects is implemented.
According to an eighth aspect, a computer program product including instructions is provided. When the instructions are run on a computer, the method in the foregoing aspects is implemented.
According to a ninth aspect, an apparatus is provided, including one or more units configured to perform the method in any embodiment of this application.
According to a tenth aspect, a communication system is provided, including the communication apparatus in the fourth aspect and the communication apparatus in the fifth aspect.
According to an eleventh aspect, a communication system is provided, including the communication apparatus in the fourth aspect and the communication apparatus in the sixth aspect.
To make objectives, technical solutions, and advantages of embodiments of this application clearer, the following further describes embodiments of this application in detail with reference to the accompanying drawings.
The following describes some terms or concepts in embodiments of this application, to facilitate understanding by a person skilled in the art.
In embodiments of this application, a terminal device is a device with a wireless transceiver function, and may be a fixed device, a mobile device, a handheld device (for example, a mobile phone), a wearable device, an in-vehicle device, or a wireless apparatus (for example, a communication module, a modem, or a chip system) built in the foregoing device. The terminal device is configured to connect people, things, machines, and the like, and may be widely used in various scenarios, for example, including, but not limited to, the following scenarios: cellular communication, device-to-device communication (D2D), vehicle to everything (V2X), machine-to-machine/machine-type communication (M2M/MTC), internet of things (IoT), virtual reality (VR), augmented reality (AR), industrial control (industrial control), self driving (self driving), remote medical (remote medical), smart grid (smart grid), smart furniture, smart office, smart wearables, smart transportation, smart city (smart city), drones, and robots. The terminal device may be sometimes referred to as user equipment (UE), a terminal, an access station, a UE station, a remote station, a wireless communication device, a user apparatus, or the like. For ease of description, in embodiments of this application, the terminal device being UE is used as an example for description.
A network device in embodiments of this application may include, for example, an access network device and/or a core network device. The access network device is a device having a wireless transceiver function, and is configured to communicate with the terminal device. The access network device includes, but is not limited to, a base station (base transceiver station (BTS), a NodeB, an eNodeB/eNB, or a gNodeB/gNB), a transmission reception point (TRP), a base station evolved after the 3rd generation partnership project (3GPP), an access node in a wireless fidelity (Wi-Fi) system, a wireless relay node, a wireless backhaul node, and the like. The base station may be a macro base station, a micro base station, a pico base station, a small cell, a relay station, or the like. A plurality of base stations may support networks using a same access technology, or may support networks using different access technologies. The base station may include one or more co-site or non-co-site transmission reception points. The access network device may be alternatively a radio controller, a central unit (CU), and/or a distributed unit (DU) in a cloud radio access network (CRAN) scenario. The access network device may be alternatively a server or the like. For example, a network device in a vehicle to everything (V2X) technology may be a road side unit (RSU). The following uses an example in which the access network device is a base station for description. The base station may communicate with a terminal device, or may communicate with a terminal device via a relay station. The terminal device may communicate with a plurality of base stations in different access technologies. The core network device is configured to implement functions such as mobility management, data processing, session management, and policy and charging. Names of devices that implement core network functions in systems of different access technologies may be different. This is not limited in embodiments of this application. Using a 5G system as an example, the core network device includes an access and mobility management function (AMF), a session management function (SMF), a policy control function (PCF), a user plane function (UPF), or the like.
In embodiments of this application, a communication apparatus configured to implement a function of the network device may be a network device, or may be an apparatus, for example, a chip system, that can support the network device in implementing the function. The apparatus may be installed in the network device. In the technical solutions provided in embodiments of this application, an example in which the apparatus configured to implement the function of the network device is a network device is used for describing the technical solutions provided in embodiments of this application.
In embodiments of this application, unless otherwise specified, a quantity of nouns indicates “a singular noun or a plural noun”, namely, “one or more”. “At least one” means one or more, and “a plurality of” means two or more. “And/or” describes an association relationship between associated objects and represents that three relationships may exist. For example, A and/or B may represent the following three cases: Only A exists, both A and B exist, and only B exists. A and B may be singular or plural. The character “/” usually indicates an “or” relationship between the associated objects. For example, A/B indicates A or B. “At least one of the following items (pieces)” or a similar expression thereof refers to any combination of these items, including any combination of singular items (pieces) or plural items (pieces). For example, at least one item (piece) of a, b, or c indicates a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural.
Ordinal numerals such as “first” and “second” mentioned in embodiments of this application are used to distinguish between a plurality of objects, and are not intended to limit sizes, content, a sequence, a time sequence, priorities, importance degrees, or the like of the plurality of objects. For example, first information and second information may be same information or may be different information. In addition, the names do not indicate a difference between content, application scenarios, priorities, importance degrees, or the like of the two pieces of information. In addition, step numbers in embodiments described in this application are merely used to distinguish between different steps, but are not used to limit a sequence of the steps. For example, S201 may occur before S202, or may occur after S202, or may occur at the same time with S202.
In embodiments of this application, a source coding matrix may be determined based on a channel coding basis matrix, which is equivalent to determining source coding information based on channel coding information, to implement joint source and channel coding. Through the joint source and channel coding, a quantity of output bits of source coding can match a quantity of input bits of channel coding, so that the technical solutions in embodiments of this application can be adapted to a 5G NR system.
The technical solutions provided in embodiments of this application may be applied to a 4th generation mobile communication technology (4G) system, for example, a long term evolution (LTE) system, or may be applied to a 5G system, for example, a new radio (NR) system, or may be applied to a next generation mobile communication system or another similar communication system. This is not specifically limited. In addition, the technical solutions provided in embodiments of this application may be applied to a device-to-device (D2D) scenario, for example, an NR-D2D scenario, or may be applied to a vehicle to everything (V2X) scenario, for example, an NR-V2X scenario, for example, may be applied to an internet of vehicles, for example, V2X, vehicle-to-vehicle (V2V), or may be applied to fields such as intelligent driving, assisted driving, intelligent and connected vehicles, or the like. If the technical solutions are applied to a D2D scenario, both communication parties may be UEs. If the technical solutions are applied to a non-D2D scenario, one communication party may be UE, and the other communication party may be a network device (for example, an access network device or a core network device), or both communication parties may be network devices. Alternatively, either or both of the two communication parties may be electronic devices of other types than a network device and a terminal device. In the following description process, an example in which two communication parties are respectively a first device and a second device is used. The first device is, for example, a terminal device, a network device, or an electronic device of another type, and the second device is, for example, a terminal device, a network device, or an electronic device of another type.
To better describe embodiments of this application, the following describes a method provided in embodiments of this application with reference to the accompanying drawings. In the accompanying drawings corresponding to embodiments of this application, all optional steps are represented by dashed lines.
An embodiment of this application provides a first information processing method.
S201: The first device determines a first source coding rate.
Optionally, the first device may determine a source coding rate of a source sequence based on a corresponding feature of the source sequence, that is, determine the first source coding rate. The source sequence is original data to be sent by the first device. The first device needs to perform processing such as source coding and channel coding on the source sequence, and then sends the processed source sequence to the second device. For example, the source sequence is represented as c0, c1, . . . , CN-1. N represents a length of the source sequence, and subscripts of characters used to represent the source sequence are integers from 0 to N−1, and are sequentially increased by 1. N is a positive integer.
Optionally, the feature of the source sequence includes, for example, an entropy rate and a source code length (where the source code length is also referred to as a code length for short in embodiments of this application) of the source sequence. In this case, the first device may determine the first source coding rate based on the entropy rate and the code length of the source sequence. In embodiments of this application, the source coding rate may also be referred to as a code rate for short, and the entropy rate of the source sequence may be referred to as a source entropy rate, or referred to as an entropy rate for short.
After obtaining the source sequence, the first device may evaluate the entropy rate of the source sequence. For example, the entropy rate of the source sequence is represented as H. In addition, the first device can further determine the code length of the source sequence. For example, the code length of the source sequence is related to N. For example, after obtaining the entropy rate and the code length of the source sequence, the first device may determine the first source coding rate by querying first information. Optionally, the first information includes a correspondence between a source coding rate and an entropy rate, or the first information includes a correspondence between a source coding rate and a source code length, or the first information includes a correspondence among a source coding rate, a source code length, and an entropy rate. Considering that there is a correspondence between a source code length and a lifting size (lifting size), the first information may alternatively include a correspondence among a source coding rate, a lifting size, and an entropy rate. Alternatively, the first information may include a correspondence among a source coding rate, a source code length, a lifting size, and an entropy rate. After obtaining the entropy rate and the code length of the source sequence, the first device may determine the source coding rate of the source sequence from the first information, that is, determine the first source coding rate. For example, the first information includes a correspondence among a source coding rate, a source code length, and an entropy rate, or the first information includes a correspondence among a source coding rate, a source code length, a lifting size, and an entropy rate. After obtaining the entropy rate and the code length of the source sequence, the first device may directly determine the first source coding rate from the first information. Alternatively, the first information includes a correspondence among a source coding rate, a lifting size, and an entropy rate. After obtaining the entropy rate and the code length of the source sequence, the first device may determine a lifting size based on the code length of the source sequence, and then may determine the first source coding rate based on the first information.
For example, the first information is presented in a form of a table, or may be presented in another form. For example, the first information is presented in a form of a table. Table 1 is an example of the first information.
A row in Table 1 is considered as one entry, and the first information may include only one or more entries in Table 1; or the first information includes one or more entries in Table 1, and further includes another entry; or the first information does not include all entries in Table 1, but includes another entry. It can be learned from Table 1 that the first information provided in embodiments of this application includes a large quantity of source coding rates. For example, the first information is Table 1, and the quantity of source coding rates included in the first information is greater than 6. Therefore, a granularity of the source coding rate provided by the first information is finer. The first device has high flexibility in selecting a source coding rate, and can select an appropriate source coding rate based on the entropy rate and the source code length of the source sequence, to improve flexibility and accuracy of code rate selection.
In Table 1, Zc represents the lifting size, and Rsc represents the code rate. If the lifting size is greater than or equal to 40 and less than 160, the corresponding code length is considered as a short code length. If the lifting size is greater than or equal to 160, the corresponding code length is considered as a long code length. For example, if the first device determines that the entropy rate H is less than or equal to 0.3469 and the source code length is a short code length or determines that the entropy rate H is less than or equal to 0.3469 and the lifting size is greater than or equal to 40 and less than 160, it may be determined, according to Table 1, that the corresponding code rate is 22/46.
The first device needs to process the source sequence. For example, in a processing manner, the source sequence is processed based on a source coding matrix, and a process of the processing is considered as a process of coding and compressing the source sequence. Bits output by the source coding matrix may be used as input bits in a channel coding process, and then the first device performs processing such as channel coding on the bits output by the source coding matrix. The compression performed on the source sequence based on the source coding matrix is a lossy compression when an LDPC is used as source code. Through tests, different source code rates, source code lengths, or source entropy rates affect the height of an error floor (error floor) of the LDPC used as the source code. In conclusion, when a source code rate and a source code length are fixed, a higher source entropy rate indicates a more serious error floor; when a source entropy rate and a source code length are fixed, a higher source code rate indicates a more serious error floor; or when a source entropy rate and a source code rate are fixed, an increase in a source code length can alleviate an error floor. To ensure effectiveness of source coding, embodiments of this application provide that, when the source entropy rate is fixed, the source code rate is made as high as possible on the premise that the error floor phenomenon is within an acceptable range, to reduce a waste of coding resources as much as possible. For example, if the source code rate is closer to the source entropy rate, source compression coding is more effective, and fewer coding resources are wasted. With reference to Table 1, in a case of a short code length, when the entropy rate H is 0.3508, a corresponding code length is 22/45. 22/45 is approximately equal to 0.48, and has a small difference from 0.3508, so that it may be considered that the two are close. It can be learned that source compression coding can be more effective by using the first information provided in embodiments of this application.
Table 1 is obtained in a plurality of manners. For example, one manner is that a code rate of channel coding is fixed. Based on this, a source coding rate and a lifting size are given, and a corresponding source coding matrix can be obtained. The source coding matrix is used in a joint source and channel coding/decoding system provided in embodiments of this application, bit error rates (BERs) of the source coding matrix in different signal-to-noise ratios are obtained through simulation at a specific source entropy rate, and an error floor of the source coding matrix is evaluated. If the error floor is low, the source entropy rate is increased within an acceptable range to determine whether the source coding matrix can process a source sequence with a higher entropy rate. After a plurality of times of similar processing, Table 1 can be obtained by combining different source code lengths and the highest entropy rates that can be processed by the source coding matrices corresponding to the source code rates.
Alternatively, the first device may not perform a process of determining the first source coding rate, but directly applies the first source coding rate. Therefore, S201 is an optional step.
S202: The first device determines a source coding matrix based on a channel coding basis matrix.
For example, the first device may first determine a source coding basis matrix based on the channel coding basis matrix, and then determine the source coding matrix based on the source coding basis matrix. The following describes the two steps separately.
S2021: The first device determines the source coding basis matrix based on the channel coding basis matrix.
The channel coding basis matrix is information related to a channel coding process, and is equivalent to source coding information determined by the first device based on channel coding information, so that the channel coding process matches a source coding process, and the technical solutions in embodiments of this application can be adapted to a 5G NR system.
Optionally, in addition to the channel coding basis matrix, the first device may further refer to the first source coding rate when determining the source coding matrix. In other words, the first device may determine the source coding matrix based on the first source coding rate and the channel coding basis matrix. Correspondingly, in an implementation in which the first device determines the source coding basis matrix based on the channel coding basis matrix, the first device may determine the source coding basis matrix based on the first source coding rate and the channel coding basis matrix. The first device determines the source coding basis matrix based on the first source coding rate and the channel coding basis matrix. For example, in a determining process, the first device processes a first channel coding basis matrix to obtain the source coding basis matrix. The processing manner includes, for example, transposition and/or pruning, and if the processing manner includes transposition and pruning, a sequence between the two steps of transposition and pruning is not limited. The first channel coding basis matrix is used in this determining process. Optionally, the determining process may further include a step of obtaining the first channel coding basis matrix by the first device. The first device needs to obtain the first channel coding basis matrix. For example, in an obtaining manner, the first device determines a set index to which a lifting size corresponding to the first source coding rate belongs, and then determines a matrix corresponding to the set index. The matrix may be used as the first channel coding basis matrix. The first channel coding basis matrix may be represented as Hcc_BG. For example, the first device may query third information, and determine, from the third information, a set index to which a lifting size corresponding to the first source coding rate belongs. The first device then queries fourth information, and determines, from the fourth information, a matrix corresponding to the set index. The matrix may be used as the first channel coding basis matrix Hcc_BG.
Optionally, the third information is presented, for example, in a form of a table. For example, the third information may include one or more entries of the following Table 2. A row in Table 2 is considered as one entry.
For example, if the lifting size corresponding to the first source coding rate is 2, it may be determined, according to Table 2, that the set index to which the lifting size belongs is 0.
Alternatively, the third information may be presented in another form, or even if the third information is presented in a form of a table, the third information may be presented in another table than Table 2.
Optionally, the fourth information is presented, for example, in a form of a table. For example, the fourth information may include one or more entries of the following Table 3. A row in Table 3 is considered as one entry.
Alternatively, the fourth information may be presented in another form, or even if the fourth information is presented in a form of a table, the fourth information may be presented in another table than Table 3.
As described above, after determining the first channel coding basis matrix, the first device may perform processing such as transposition and/or pruning on the first channel coding basis matrix, to obtain the source coding basis matrix. There may be several cases in which the first device performs processing such as transposition and/or pruning on the first channel coding basis matrix. For example, in Case 1, the first device first transposes the first channel coding basis matrix, and an obtained matrix is referred to as a second channel coding basis matrix; and then the first device prunes the second channel coding basis matrix (for example, prunes rows and/or columns of the second channel coding basis matrix), to obtain the source coding basis matrix. For another example, in Case 2, the first device first prunes the first channel coding basis matrix (for example, prunes rows and/or columns of the first channel coding basis matrix), and an obtained matrix is referred to as a third channel coding basis matrix; and then the first device transposes the third channel coding basis matrix, to obtain the source coding basis matrix. For another example, in Case 3, the first device prunes the first channel coding basis matrix (for example, prunes rows and/or columns of the first channel coding basis matrix) to obtain the source coding basis matrix. In this case, no transposition is required, and a processing process can be simplified. The following describes these cases through examples.
1. Case 1: To be specific, the first device first transposes the first channel coding basis matrix to obtain the second channel coding basis matrix; and then the first device prunes the second channel coding basis matrix (for example, prunes rows and/or columns of the second channel coding basis matrix), to obtain the source coding basis matrix.
The first device first determines the first channel coding basis matrix. After determining the first channel coding basis matrix, the first device transposes the first channel coding basis matrix to obtain the second channel coding basis matrix. For example, the second channel coding basis matrix is represented as Hsc1_BG, and Hsc1_BG is, for example, a matrix of 68 rows and 46 columns.
Next, the first device prunes rows and/or columns of the second channel coding basis matrix to obtain the source coding basis matrix.
That the first device prunes rows of the second channel coding basis matrix means that the first device selects some rows from the second channel coding basis matrix. That the first device prunes columns of the second channel coding basis matrix means that the first device selects some columns from the second channel coding basis matrix. The first device may prune only rows of the second channel coding basis matrix, and a quantity of columns remains unchanged; or the first device may prune only columns of the second channel coding basis matrix, and a quantity of rows remains unchanged; or the first device prunes both rows and columns of the second channel coding basis matrix. Specifically, how to perform pruning may be determined based on factors such as performance of an actual coding/decoding system or adaptability between embodiments of this application and a 5G NR system. The following uses an example in which the first device prunes both rows and columns of the second channel coding basis matrix for description.
The second channel coding basis matrix includes a large quantity of rows. However, the technical solutions provided in embodiments of this application are expected to be applied to a 5G NR system. In the 5G NR system, a quantity of input bits in a channel coding process is small. Therefore, the first device may select rows for the second channel coding basis matrix, that is, select some rows of the second channel coding basis matrix, so that a quantity of remaining rows of the second channel coding basis matrix can match the quantity of input bits in the channel coding process in the 5G NR system. Optionally, the quantity of remaining rows of the second channel coding basis matrix may be equal to the quantity of input bits in the channel coding process in the 5G NR system. For example, if the quantity of input bits in the channel coding process in the 5G NR system is 22, in embodiments of this application, the first device may select 22 rows from the second channel coding basis matrix, so that in embodiments of this application, a quantity of output bits in the source coding process is equal to the quantity of input bits in the channel coding process, and embodiments of this application can be applied to the 5G NR system. If the quantity of input bits in the channel coding process in the 5G NR system changes, for example, changes to another value than 22, the quantity of remaining rows of the second channel coding basis matrix may also change accordingly.
For example, the first device needs to select N1 rows from the second channel coding basis matrix. N1 is a positive integer less than or equal to a total quantity of rows of the second channel coding basis matrix. For example, N1 is determined based on the quantity of input bits in the channel coding process, and for example, N1 is 22, or may be another value, provided that N1 can match the quantity of input bits in the channel coding process. In a manner of selecting N1 rows, for example, the first device may select the first N1 rows of the second channel coding basis matrix, for example, a 0th row to an (N1-1)th row of the second channel coding basis matrix. In this selection manner, the selected matrix may have good performance. In addition, the first device may further select N1 rows in another manner. For example, the first device may select the last N1 rows of the second channel coding basis matrix, or the first device may randomly select N1 rows from the second channel coding basis matrix. The first device selects N1 rows from the second channel coding basis matrix. The N1 rows may form a matrix, for example, referred to as a fourth channel coding basis matrix. The fourth channel coding basis matrix is, for example, represented as Hsc2_BG. For example, if the second channel coding basis matrix is a matrix of 68 rows and 46 columns, the fourth channel coding basis matrix is, for example, a matrix of N1 rows and 46 columns. For example,
If the first device needs to prune only rows of the second channel coding basis matrix, and does not need to prune columns, Hsc2_BG is the obtained source coding basis matrix. If needing to prune both rows and columns of the second channel coding basis matrix, the first device may continue to perform the following steps.
The first device may determine a quantity of columns that need to be reserved. For example, the first device may determine, based on the first source coding rate, the quantity of columns that need to be reserved. N2 is used to represent the quantity of columns that need to be reserved, and N2 is a positive integer less than or equal to a total quantity of columns of the second channel coding basis matrix. For example, if Rsc represents the first source coding rate, an optional manner of determining N2 based on the first source coding rate is
In LDPC coding of 5G, a quantity of columns of a channel coding basis matrix is usually 46. Therefore, optionally, N2 may be less than or equal to 46. In another aspect, because the source code rate is less than 1, if N2 is excessively small, a compression capability of source coding may be excessively low, and actual application significance is lost. Therefore, N2 may be greater than 22. In this case, optionally, in embodiments of this application, N2 is an integer greater than 22 and less than or equal to 46. Alternatively, to improve the compression capability of source coding, N2 may be set to an integer greater than or equal to 27 and less than or equal to 46. Alternatively, N2 may be another value.
If the first device has pruned rows of the second channel coding basis matrix, when the first device prunes columns, the first device prunes the fourth channel coding basis matrix, and N3 represents a quantity of rows of the fourth channel coding basis matrix, that is, N3=N1. Alternatively, if the first device does not prune rows of the second channel coding basis matrix, for example, the first device does not need to prune rows, or the first device first prunes columns and then prunes rows, when pruning columns, the first device prunes the second channel coding basis matrix, and N3 represents a quantity of rows of the second channel coding basis matrix.
That the first device prunes columns of the second channel coding basis matrix is used as an example. Optionally, if N2 is less than or equal to a first value, the N2 columns are a 13th column to an (N2+12)th column of the second channel coding basis matrix; or if N2 is greater than a first value, the N2 columns are a (46−N2)th column to a 45th column of the second channel coding basis matrix. Selection of the first value may affect performance of a double LDPC system. Optionally, the first value is an integer greater than or equal to 27 and less than or equal to 46. For example, the first value is 33, or may be another value. Through tests, when the first value is 33, the performance of the double LDPC system provided in embodiments of this application is good; when the first value is 34, 35, 36, or 37, the performance of the double LDPC system provided in embodiments of this application is slightly worse than that when the first value is 33; and when the first value is greater than 37, the performance of the double LDPC system provided in embodiments of this application may be poor. The first value is not supposed to be excessively small. For example, when the first value is less than 33, the first value can only be significant only at a high source code rate.
The N2 columns are selected in this manner, so that the performance of a matrix formed by the selected N2 columns is good. Alternatively, the first device may prune columns of the second channel coding basis matrix in another manner. For example, the first device may select the first N2 columns or the last N2 columns of the second channel coding basis matrix, or the first device may randomly select N2 columns from the second channel coding basis matrix. If the first device prunes the fourth channel coding basis matrix, a pruning manner is also similar. A matrix obtained by the first device by pruning columns of the second channel coding basis matrix or columns of the fourth channel coding basis matrix may be referred to as a fifth channel coding basis matrix, and the fifth channel coding basis matrix may be represented as Hsc3_BG.
If the first device only needs to prune columns of the second channel coding basis matrix and does not need to prune rows, or the first device needs to prune rows and columns and prunes rows before columns, Hsc3_BG is the obtained source coding basis matrix. Alternatively, if the first device needs to prune both rows and columns of the second channel coding basis matrix and prunes columns before rows, after obtaining Hsc3_BG, the first device may prune rows of Hsc3_BG, and a matrix obtained through pruning may be used as the source coding basis matrix.
For example, the second channel coding basis matrix is a matrix of 68 rows and 46 columns. The first device prunes rows of the second channel coding basis matrix to obtain a fourth channel coding basis matrix of N1 rows and 46 columns. The first device then further prunes columns of the fourth channel coding basis matrix to obtain a source coding basis matrix of N1 rows and N2 columns. For example, the source coding basis matrix is represented as Hsc_BG.
2. Case 2: To be specific, the first device first prunes the first channel coding basis matrix (for example, prunes rows and/or columns of the first channel coding basis matrix) to obtain the third channel coding basis matrix; and then the first device transposes the third channel coding basis matrix to obtain the source coding basis matrix.
The first device first obtains the first channel coding basis matrix, and then prunes rows and/or columns of the first channel coding basis matrix to obtain the third channel coding basis matrix.
For the pruning of rows and/or columns of the first channel coding basis matrix by the first device, refer to the foregoing descriptions of content of pruning the second channel coding basis matrix by the first device in Case 1. A difference is that in Case 2, when the first device prunes rows of the first channel coding basis matrix, refer to a manner of pruning columns of the second channel coding basis matrix by the first device in Case 1; and when the first device prunes columns of the first channel coding basis matrix, refer to a manner of pruning rows of the second channel coding basis matrix by the first device in Case 1. For example, in Case 2, if the first device prunes rows of the first channel coding basis matrix, the first device needs to select N2 rows from the first channel coding basis matrix. For a selection manner, refer to the descriptions of selecting N2 columns in Case 1. If the first device prunes columns of the first channel coding basis matrix, the first device needs to select N1 columns from the first channel coding basis matrix. For a selection manner, refer to the descriptions of selecting N1 rows in Case 1.
The first device obtains the third channel coding basis matrix after pruning rows and/or columns of the first channel coding basis matrix. The first device then transposes the third channel coding basis matrix to obtain the source coding basis matrix. For example, if the first device prunes both rows and columns of the first channel coding basis matrix, the third channel coding basis matrix is a matrix of N2 rows and N1 columns, and the source coding basis matrix is a matrix of N1 rows and N2 columns. For example, the source coding basis matrix is represented as Hsc_BG.
3. Case 3: To be specific, the first device prunes the first channel coding basis matrix (for example, prunes rows and/or columns of the first channel coding basis matrix) to obtain the source coding basis matrix.
For the pruning of rows and/or columns of the first channel coding basis matrix by the first device, refer to the foregoing descriptions of content of pruning the second channel coding basis matrix by the first device in Case 1. Similar to Case 1, in Case 3, if the first device prunes rows of the first channel coding basis matrix, the first device needs to select N1 rows from the first channel coding basis matrix. For a selection manner, refer to the descriptions of selecting N1 rows in Case 1. If the first device prunes columns of the first channel coding basis matrix, the first device needs to select N2 columns from the first channel coding basis matrix. For a selection manner, refer to the descriptions of selecting N2 columns in Case 1. The first device obtains the source coding basis matrix after pruning rows and/or columns of the first channel coding basis matrix. For example, if the first device prunes both rows and columns of the first channel coding basis matrix, the source coding basis matrix is a matrix of N1 rows and N2 columns. For example, the source coding basis matrix is represented as Hsc_BG.
In addition to the foregoing three cases, the first device may further obtain the source coding basis matrix in another manner. This is not limited in embodiments of this application.
It can be learned that in embodiments of this application, the first device determines the source coding basis matrix based on the channel coding basis matrix, so that joint source and channel coding is implemented, and a quantity of output bits in a source coding process can match a quantity of input bits in a channel coding process, so that the technical solutions provided in embodiments of this application can be adapted to a 5G NR system.
S2022: The first device determines the source coding matrix based on the source coding basis matrix.
For example, the first device may perform a repetition-interleaving operation based on the source coding basis matrix, to obtain the source coding matrix. The repetition-interleaving refers to a process of generating the source coding matrix based on the source coding basis matrix.
For example, the source coding matrix is represented as Hc. A repetition-interleaving process is a process of generating the source coding matrix Hsc with a dimension of (N1×Zc) rows and (N2×Zc) columns based on a source coding basis matrix Hsc_BG with a dimension of N1 rows and N2 columns. Zc represents the lifting size corresponding to the first source coding rate. For example, each element in the source coding basis matrix Hsc_BC corresponds to each square matrix with a size of Zc×Zc in the source coding matrix Hsc. If a value of an element in the source coding basis matrix Hsc_BG is −1, a square matrix corresponding to the element in the source coding matrix Hsc is a 0 square matrix. If a value of an element in the source coding basis matrix Hsc_BG is a nonnegative integer v, a square matrix corresponding to the element in the source coding matrix Hsc is a square matrix obtained by cyclically shifting an identity matrix right v times.
As can be learned from
S203: The first device inputs a source sequence into the source coding matrix, to perform source coding on the source sequence.
For example, the source sequence is c0, c1, . . . , CN-1. After the source coding matrix performs coding compression on the source sequence, the bits output by the source coding matrix are represented as d0, d1, . . . , dS-1. A quantity N of input bits of the source coding matrix may be equal to N2×Zc. S represents a quantity of the bits output by the source coding matrix, and is also a quantity of rows of the source coding matrix, in other words, a height of the source coding matrix. For example, S=N1×Zc. The source sequence is processed based on the source coding matrix, and the process may be represented as [d0, d1, . . . , dS-1]T=HSC[c0, c1, . . . , CN-1]T. T represents the transposition.
The bits output by the source coding matrix may further be used as input bits in a channel coding process, that is, the first device further needs to perform channel coding on the bits output by the source coding matrix. For example, the first device may input the bits output by the source coding matrix into a first matrix, and a process in which the first matrix processes these bits is a process of performing channel coding on these bits. The first matrix may also be referred to as, for example, a channel generator matrix, or a channel coding matrix, or may have another name. The first matrix is, for example, determined based on a channel coding basis matrix (for example, the first channel coding basis matrix) and a lifting size corresponding to the channel coding process. Optionally, during channel coding, the lifting size corresponding to the channel coding process may be the same as a lifting size corresponding to the source coding process (that is, the lifting size corresponding to the first source coding rate). In addition, in embodiments of this application, the source coding matrix is obtained based on the channel coding basis matrix. Therefore, an output dimension of the source coding matrix may be equal to an input dimension of the channel generator matrix. In this way, the technical solutions in embodiments of this application can be applied to a 5G NR system.
Optionally, the first device may directly use the bits output by the source coding matrix as input bits in the channel coding process; or the first device may process, based on a second matrix, the bits output by the source coding matrix, and then use the processed bits as input bits in the channel coding process. For example, the first device shuffles, based on the second matrix, the bits output by the source coding matrix, and then uses the shuffled bits as the input bits in the channel coding process. A manner in which the first device obtains the second matrix is described in the embodiment in
For example, information output in the channel coding process is referred to as second information.
S204: The first device sends second information. Correspondingly, the second device receives the second information from the first device.
After obtaining the second information, the first device may send the second information to the second device. Optionally, the first device may further perform processing such as scrambling and constellation mapping on the second information, and then send the second information. This is not limited in embodiments of this application.
In addition, optionally, in addition to sending the second information to the second device, the first device may further send auxiliary information to the second device, to help the second device decode the second information. For example, the auxiliary information includes one or more of the first source coding rate, a channel coding rate (that is, a channel coding rate corresponding to a source sequence of the first device) corresponding to the second information, or the lifting size. For example, the auxiliary information includes the first source coding rate. Optionally, the first device may send the first source coding rate to the second device based on physical layer control information, a media access control (MAC) control element (CE), or radio resource control (RRC) signaling.
For example, the auxiliary information includes the first source coding rate and both the first device and the second device pre-store source coding matrices corresponding to different source coding rates, and/or store channel generator matrices (which may also be referred to as channel coding matrices or the like, and are also referred to as first matrices in embodiments of this application) corresponding to different channel coding rates. When sending data to the second device, the first device may indicate, in the control information for scheduling the data, information related to a source coding rate and/or a channel coding rate. The second device determines, based on the control information, a source coding matrix and/or a channel generator matrix used by the first device, to further obtain a joint check matrix.
Alternatively, a protocol may define a procedure of generating the source coding matrix and/or the channel generator matrix based on the source coding rate. The second device may obtain, based on information related to the source coding rate (for example, indicating the first source coding rate) indicated by the first device and according to a generation procedure, the source coding matrix and/or the channel generator matrix used by the first device.
Alternatively, the first device may send one or more of the source coding matrix, the channel generator matrix, or the joint check matrix to the second device. However, this manner requires high overheads.
S205: The second device decodes the second information to obtain the source sequence. In an ideal case, the source sequence obtained by the second device and the source sequence processed by the first device are supposed to be a same sequence.
For example, the second device performs joint source and channel decoding on the second information. The following briefly describes a decoding process.
When the second information arrives at the second device, due to interference, the second device needs to first determine whether the received information is 0 or 1, in other words, needs to determine a probability of the received information being 0 (P0) and a probability of the received information being 1 (P1).
In Formula 1, the log-likelihood ratio (log-likelihood ratio, LLR) is a value obtained by dividing the probability of the received information being 0 by the probability of the received information being 1 and then taking a logarithm of the obtained result. Optionally, in embodiments of this application, for a source variable node, an initial LLR may be set to:
In Formula 2, P1 is, for example, source prior information.
A process of joint source and channel decoding usually includes a plurality of iterations, and the LLR is updated in each iteration. One iteration includes two sub-processes: LLR update of a check node and LLR update of a variable node. In a subprocess of updating an LLR of the check node, which variable nodes are connected to one check node needs to be specified. In a subprocess of updating an LLR of the variable node, which check nodes are connected to one variable node need to be specified. A connection relationship that needs to be specified between the check node and the variable node may be determined based on the joint check matrix.
An element of the joint check matrix includes two values: “0” and “1”. The matrix usually has more “0s” than “Is”. If a value of an element in the joint check matrix is “1”, it indicates that a check node represented by a row in which the element is located is connected to a variable node represented by a column in which the element is located.
When the first iteration starts, the variable node transfers a current LLR to the check node. With reference to
After receiving an LLR from a variable node, a check node calculates a new LLR based on the received LLR and returns the new LLR to the variable node. Still using an example in which the source check node 2 receives an LLR from a variable node, for example, the source check node 2 may calculate a new LLR, for example, referred to as an LLR 4, based on the LLR 1 from the source variable node 2 and the LLR 2 from the source variable node 3. The source check node 2 may transfer the LLR 4 to the channel variable node 6. The source check node 2 may calculate a new LLR, for example, referred to as an LLR 5, based on the LLR 1 from the source variable node 2 and the LLR 3 from the channel variable node 6. The source check node 2 may transfer the LLR 5 to the source variable node 3. The source check node 2 may calculate a new LLR, for example, referred to as an LLR 6, based on the LLR 2 from the source variable node 3 and the LLR 3 from the channel variable node 6. The source check node 2 may transfer the LLR 6 to the source variable node 2. Alternatively, the source check node 2 may obtain a new LLR, for example, referred to as an LLR 8, based on the LLR 1 from the source variable node 2, the LLR 2 from the source variable node 3, and the LLR 3 from the channel variable node 6. The source check node 2 may obtain an LLR 9 by subtracting an impact of the LLR 3 from the LLR 8. The source check node 2 may transfer the LLR 9 to the channel variable node 6. The source check node 2 may obtain an LLR 10 by subtracting an impact of the LLR 2 from the LLR 8. The source check node 2 may transfer the LLR 10 to the source variable node 3. The source check node 2 may obtain an LLR 11 by subtracting an impact of the LLR 1 from the LLR 8. The source check node 2 may transfer the LLR 11 to the source variable node 2. That is, an LLR transferred by a check node i to a variable node j does not include information about an LLR previously transferred by the variable node j to the check node i. For a process in which the check node transfers an LLR to the variable node, refer to
A variable node may receive a new LLR from one or more check nodes. The variable node may obtain an LLR based on information such as the received LLR and an LLR from a channel (or based on the received LLR and prior information), and the LLR may participate in a subsequent iteration process. The variable node obtains an LLR based on information such as the received LLR and the LLR from the channel (or based on the received LLR and prior information). For example, in a manner, the variable node adds the received LLR and the LLR (or prior information) from the channel to obtain a new LLR.
In the subsequent iteration process, an LLR transmitted by the variable node to the check node is slightly different. For example, in a subsequent iteration process, the source variable node 2 needs to transfer an LLR to the source check node 2. In this case, the LLR transferred by the source variable node 2 is a difference between an LLR obtained by the source variable node 2 after a previous round of iteration ends and an LLR transferred by the source variable node 2 to the source check node 2 in the previous round. For example, an LLR transferred by the source variable node 2 to the source check node 2 in a previous round is an LLR 1, and an LLR obtained by the source variable node 2 after the previous round of iteration ends, that is, an LLR obtained by the source variable node 2 based on information such as an LLR 6 received in a process of the previous round of iteration and an LLR from a channel (or based on the received LLR and prior information) is, for example, referred to as an LLR 7. In this case, the LLR transferred by the source variable node 2 to the source check node 2 in a process of a current round of iteration is a value obtained by subtracting the LLR 6 from the LLR 7.
After the plurality of iterations are completed, the second device completes joint source and channel decoding on the second information.
In
In
In
The first device does not necessarily send the second information after obtaining the second information. Therefore, S204 and S205 are optional steps.
In embodiments of this application, the first device may determine the first source coding rate from the first information based on the entropy rate and the source code length of the source sequence. The first information includes a large quantity of source coding rates, and flexibility is high during selection. An appropriate source coding rate can be selected based on the entropy rate and the source code length of the source sequence, to improve the flexibility and accuracy of code rate selection. The first device may determine a source coding matrix based on a channel coding basis matrix, which is equivalent to determining source coding information based on channel coding information, to implement joint source and channel coding. Through the joint source and channel coding, a quantity of output bits of source coding can match a quantity of input bits of channel coding, so that the technical solutions in embodiments of this application can be adapted to a 5G NR system.
It can be learned from the embodiment shown in
S701: A second device determines a second matrix. In embodiments of this application, it is considered that a joint check matrix can be improved by changing an identity matrix. For example, in the embodiment shown in
For example, if the joint check matrix is represented as HJSC. For an implementation of HJSC, refer to
The second matrix may be a matrix obtained based on the identity matrix. The second matrix may also be referred to as a permutation matrix or the like. A symbol used to represent the second matrix, a name of the second matrix, and the like are not limited in embodiments of this application.
An optional manner of obtaining the second matrix based on the identity matrix is processing the identity matrix according to a search algorithm to obtain the second matrix. The search algorithm may include a plurality of types such as a simulated annealing algorithm, a Cuckoo algorithm, a genetic algorithm, or the like. The identity matrix is processed according to the search algorithm to obtain the second matrix. For example, for a processing manner, refer to
First, a maximum quantity of iterations is determined. The maximum quantity of iterations may be specified according to an algorithm or customized. In addition, a reference matrix, or referred to as an initial matrix, needs to be set. For example, the reference matrix is an identity matrix, or another matrix may be used as the reference matrix. After the reference matrix is set, one or more to-be-screened matrices may be obtained based on the reference matrix and by performing some processing (for example, processing such as random combination and/or mutation). The decoding performance of the one or more to-be-screened matrices may be obtained by testing the one or more to-be-screened matrices. Based on the decoding performance of the one or more to-be-screened matrices, Q matrices with good decoding performance may be selected from the one or more to-be-screened matrices, and the Q matrices are set as new reference matrices. Q is a positive integer. At this point, a current iteration is completed, and a quantity of iterations may be increased by 1, or a quantity of iterations may be increased by 1 when the iteration starts. If a current quantity of iterations is equal to the maximum quantity of iterations, an iteration process ends, and the Q matrices are output. Some or all of the Q matrices may be used as the second matrix. Alternatively, if the current quantity of iterations is less than the maximum quantity of iterations, the foregoing iteration process continues to be performed.
The following uses an example in which the search algorithm is a simulated annealing algorithm to describe a process of processing the identity matrix according to the simulated annealing algorithm to obtain the second matrix.
For example, if a source code length is short, for example, the source code length is a short code length described in Table 1, the identity matrix may be processed according to the simulated annealing algorithm to obtain the second matrix. For another example, if a source code length is long, for example, the source code length is a long code length described in Table 1, the identity matrix may also be processed according to the simulated annealing algorithm to obtain the second matrix; or the identity matrix may be first processed according to the simulated annealing algorithm, an obtained matrix is temporarily referred to as a third matrix, and then the second matrix may be obtained based on the third matrix. The source code length corresponding to the second matrix is greater than the source code length corresponding to the third matrix. That is, if a source code length is long, a permutation matrix corresponding to a short code length may be used to generate a permutation matrix corresponding to a long code length. In this case, the permutation matrix corresponding to the short code length may also be referred to as a basic permutation matrix, and the permutation matrix corresponding to the long code length may also be referred to as a derived permutation matrix. The derived permutation matrix is generated based on the basic permutation matrix, and the second matrix does not need to be directly generated in a manner such as the simulated annealing algorithm, so that the generation of the second matrix can be accelerated, and the generation efficiency of the second matrix can be improved.
In addition, if δ2 is greater than or equal to 61, a first device may accept the matrix I1 at a particular probability. If the matrix I1 is accepted, PS is set as the matrix I1, and δ1=δ2 is set. In this case, if the quantity of iterations is reached, the temperature decreases. If the decreased temperature T is less than or equal to a temperature threshold Tth, the matrix PS is output. In this case, the matrix PS is the obtained second matrix (or third matrix), and in addition, a performance gain of δ1-δ0 may be output. Alternatively, after the matrix I1 is accepted at a particular probability, if the quantity of iterations is not reached, some rows of the matrix I1 are randomly shuffled to generate a new matrix, which is represented as 12, and a similar determining process continues to be performed.
A matrix output through
The quantity of iterations is preconfigured according to a simulated annealing algorithm, and may be greater than or equal to 1. The first device receives a matrix at a particular probability, and there may be a plurality of acceptance manners. For example, if the current temperature is high, an acceptance probability is high, and if the current temperature is low, it indicates that the system is stable, and a matrix with a larger decoding threshold may not be expected to be accepted. When the decoding threshold is larger, the performance may be poorer. Therefore, if the current temperature is low, the acceptance probability is low. Alternatively, if a difference between decoding thresholds corresponding to two adjacent matrices is small, for example, a difference between δ2 and δ1 is less than a first threshold, the acceptance probability is large. If the difference is large, the acceptance probability is small. A specific acceptance probability can be specified according to the simulated annealing algorithm.
As described above, if the source code length is long, a derived permutation matrix corresponding to the long source code length may be generated based on a basic permutation matrix corresponding to a short source code length.
It can be learned from
It is also possible that the source code length corresponding to the derived permutation matrix is k times the source code length corresponding to the basic permutation matrix, and the derived permutation matrix may be generated by repeatedly performing the procedure shown in
For example,
In embodiments of this application, if the source code length is long, the derived permutation matrix may be generated based on the basic permutation matrix. In this case, the first device or the second device only needs to store the basic permutation matrix, but does not need to store the derived permutation matrix, which helps save storage space.
In embodiments of this application, for example, if the search algorithm is a simulated annealing algorithm, the second matrix may be a matrix obtained based on the procedure shown in
Table 4 shows some optional permutation matrices and lifting sizes and performance gains corresponding to the permutation matrices. In embodiments of this application, any permutation matrix in Table 4 may be used as the second matrix, or in embodiments of this application, another matrix than the matrix shown in Table 4 may be used as the second matrix. The permutation matrix used in Table 4 may be a basic permutation matrix, or may be a derived permutation matrix.
Zc represents a lifting size. Zc of each row in Table 4 represents a lifting size corresponding to a permutation matrix of the row. The following describes eight permutation matrices A1 to A8 used in Table 4.
The permutation matrix provided above is not a complete matrix, and only positions of elements with a value being “1” in the permutation matrix are provided. For example, the foregoing values are used to sequentially represent rows of the permutation matrix, the first value represents a 0th row, the second value represents a 1st row, and the rest is deduced by analogy. The foregoing specific value represents a position of an element with a value being “1” in a row corresponding to the value, and in the row, values of elements at other positions than the position are all 0. For example, for the permutation matrix A8, the first value is 144, indicating that a value of a 144th element in the 0th row of the permutation matrix A8 is 1, and values of other elements in the 0th row are all 0; the second value is 587, indicating that a value of a 587th element in the 1′ row of the permutation matrix A8 is 1, and values of other elements in the 1st row are all 0; the third value is 283, indicating that a value of a 283rd element in a 2nd row of the permutation matrix A8 is 1, and values of other elements in the 2nd row are all 0; and the rest is deduced by analogy. The understanding of the foregoing permutation matrices A1 to A7 is also similar.
In a double LDPC system, a connection matrix between source code and channel code needs to be a permutation matrix. In a case of a fixed code length, a quantity of permutation matrices is limited. Therefore, in embodiments of this application, an appropriate permutation matrix may be found according to a search algorithm, to improve a connection between source code and channel code. In this way, the performance of the double LDPC system provided in embodiments of this application can be effectively improved. In addition, because a source coding basis matrix is obtained based on a channel coding basis matrix, an association exists between the source coding matrix and the channel check matrix. An appropriate interleaving matrix (for example, the second matrix) is searched for and screened out according to an appropriate search algorithm, so that the association between the source coding matrix and the channel check matrix can also be effectively removed.
S702: The second device obtains a joint check matrix based on the second matrix. Optionally, the second device may obtain the joint check matrix based on the source coding matrix, the channel check matrix, and the second matrix. For the joint check matrix, refer to
After obtaining the joint check matrix, the second device may perform decoding based on the joint check matrix. The embodiment shown in
In addition to a process of obtaining the second matrix, for a decoding process by the second device in embodiments of this application, refer to the descriptions of the decoding process in the embodiment shown in
In embodiments of this application, the second device may correspondingly process an identity matrix to obtain a joint check matrix, and perform decoding based on the joint check matrix, so that a decoding threshold can be effectively reduced, to improve decoding performance.
To better describe effects brought by the technical solutions provided in embodiments of this application,
Eb represents bit energy. N0 represents channel noise energy. When a value of
is larger, the performance is better. It can be seen from
In addition, further,
As shown in
The communication apparatus 1500 includes at least one processor 1501. The processor 1501 may be configured to perform internal processing of the apparatus, to implement a specific control processing function. Optionally, the processor 1501 includes instructions. Optionally, the processor 1501 may store data. Optionally, different processors may be independent components, may be located at different physical positions, or may be located on different integrated circuits. Optionally, different processors may be integrated into one or more processors, for example, integrated into one or more integrated circuits.
Optionally, the communication apparatus 1500 includes one or more memories 1503, configured to store instructions. Optionally, the memory 1503 may further store data. The processor and the memory may be separately disposed, or may be integrated together.
Optionally, the communication apparatus 1500 includes a communication line 1502 and at least one communication interface 1504. Because the memory 1503, the communication line 1502, and the communication interface 1504 are all optional, they are all represented by dashed lines in
Optionally, the communication apparatus 1500 may further include a transceiver and/or an antenna. The transceiver may be configured to send information to another apparatus or receive information from the another apparatus. The transceiver may be referred to as a transceiver, a transceiver circuit, an input/output interface, or the like, and is configured to implement a receiving and sending function of the communication apparatus 1500 through an antenna. Optionally, the transceiver includes a transmitter (transmitter) and a receiver (receiver). For example, the transmitter may be configured to generate a radio frequency (radio frequency) signal based on a baseband signal, and the receiver may be configured to convert the radio frequency signal into the baseband signal.
The processor 1501 may include a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling program execution for the solutions of this application.
The communication line 1502 may include a path for transferring information between the foregoing components.
The communication interface 1504 is configured to communicate with another device or a communication network such as an ethernet, a radio access network (RAN), a wireless local area network (WLAN) or a wired access network through any apparatus such as a transceiver.
The memory 1503 may be a read-only memory (ROM) or another type of static storage device that can store static information and instructions, or a random access memory (RAM) or another type of dynamic storage device that can store information and instructions, or may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or another compact disc storage, an optical disc storage (including a compact disc, a laser disc, an optical disc, a digital versatile disc, a Blu-ray disc, or the like), a magnetic disk storage medium or another magnetic storage device, or any other medium that can be used to carry or store expected program code in a form of an instruction or a data structure and that can be accessed by a computer, but is not limited thereto. The memory 1503 may exist independently, and is connected to the processor 1501 through the communication line 1502. Alternatively, the memory 1503 may be integrated with the processor 1501.
The memory 1503 is configured to store computer-executable instructions for executing the solutions of this application, and execution of the computer-executable instructions is controlled by the processor 1501. The processor 1501 is configured to execute the computer-executable instructions stored in the memory 1503, to implement the information processing method provided in the foregoing embodiments of this application.
Optionally, the computer-executable instructions in embodiments of this application may also be referred to as application code. This is not specifically limited in embodiments of this application.
During specific implementation, in an embodiment, the processor 1501 may include one or more CPUs, for example, a CPU 0 and a CPU 1 in
During specific implementation, in an embodiment, the communication apparatus 1500 may include a plurality of processors, for example, the processor 1501 and a processor 1508 in
When the apparatus shown in
In a first implementation, the communication apparatus 1500 may be configured to implement the method corresponding to the terminal device in the foregoing embodiment of this application. For a specific function, refer to the descriptions in the foregoing embodiment.
For example, the communication apparatus 1500 includes a processor 1501. The processor 1501 is configured to execute a computer program or instructions, so that the method corresponding to the first device in the foregoing embodiments of this application is performed. For example, the method corresponding to the first device in the foregoing embodiments of this application includes: determining a first source coding rate; determining a source coding matrix based on the first source coding rate and a channel coding basis matrix; and inputting a source sequence into the source coding matrix, to perform source coding on the source sequence.
In a second implementation, the communication apparatus 1500 may be configured to implement the method corresponding to the second device in the foregoing embodiment of this application. For a specific function, refer to the descriptions in the foregoing embodiment.
For example, the communication apparatus 1500 includes a processor 1501. The processor 1501 is configured to execute a computer program or instructions, so that the method corresponding to the second device in the foregoing embodiments of this application is performed. For example, the method corresponding to the second device in the foregoing embodiments of this application includes: obtaining a joint check matrix based on a second matrix, where the second matrix is a matrix obtained based on an identity matrix; and decoding received second information based on the joint check matrix.
For another example, the method corresponding to the second device in the foregoing embodiments of this application includes: determining a first source coding rate; determining a source coding matrix based on the first source coding rate; and decoding received second information based on the source coding matrix.
In embodiments of this application, the apparatus may be divided into functional modules based on the foregoing method examples. For example, each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software functional module. It is to be noted that, in embodiments of this application, module division is an example, and is merely logical function division. In an actual implementation, another division manner may be used. For example, when functional modules are obtained through division based on corresponding functions,
It is to be understood that the apparatus 1600 may be configured to implement the steps performed by the access network device or the terminal device in the methods in embodiments of this application. For related features, refer to the foregoing embodiments. Details are not described herein again.
Optionally, functions/implementation processes of the sending unit 1601, the receiving unit 1603, and the processing unit 1602 in
Optionally, when the apparatus 1600 is a chip or a circuit, functions/implementation processes of the sending unit 1601 and the receiving unit 1603 may be alternatively implemented by a pin, a circuit, or the like.
This application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program or instructions. When the computer program or the instructions are run, the method performed by the access network device or the terminal device in the foregoing method embodiments is implemented. In this way, the functions in the foregoing embodiments may be implemented in a form of a software functional unit and sold or used as an independent product. Based on such an understanding, the technical solutions of this application essentially, or the contributing part, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in embodiments of this application. The storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a ROM, a RAM, a magnetic disk, an optical disc, or the like.
This application further provides a computer program product. The computer program product includes computer program code. When the computer program code is run on a computer, the computer is enabled to perform the method performed by the terminal device or the access network device in any one of the foregoing method embodiments.
An embodiment of this application further provides a processing apparatus, including a processor and an interface. The processor is configured to perform the method performed by the terminal device or the access network device in any one of the foregoing method embodiments.
All or some of the foregoing embodiments may be implemented by software, hardware, firmware, or any combination thereof. When software is used to implement embodiments, all or some of embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedure or functions according to embodiments of this application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by the computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid-state drive (SSD)), or the like.
Various illustrative logical units and circuits described in embodiments of this application may implement or operate the described functions through a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or another programmable logic apparatus, discrete gate or transistor logic, discrete hardware components, or any combination of the foregoing designs. The general-purpose processor may be a microprocessor. Optionally, the general-purpose processor may be alternatively any conventional processor, controller, microcontroller, or state machine. The processor may also be achieved through the combination of computing apparatuses, such as combination of a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors and one digital signal processor, or any other similar configurations.
Steps of the methods or algorithms described in embodiments of this application may be directly embedded into hardware, a software unit executed by the processor, or a combination thereof. The software unit may be stored in a RAM, a flash memory, a ROM, an erasable programmable read-only memory (EPROM), an EEPROM, a register, a hard disk, a removable disk, a CD-ROM, or a storage medium in any other form in the art. For example, storage media may be connected to the processor, so that the processor can read information from the storage media and may save the information in the storage media. Optionally, the storage media may be alternatively integrated into the processor. The processor and the storage media may be disposed in an ASIC, and the ASIC may be disposed in a terminal device. Optionally, the processor and the storage media may be alternatively disposed in different components in the terminal device.
These computer program instructions may also be loaded onto a computer or another programmable data processing device, so that a series of operations and steps are performed on the computer or the another programmable device, thereby generating computer-implemented processing. Therefore, the instructions executed on the computer or the another programmable device provide steps for implementing a specific function in one or more processes in the flowcharts and/or in one or more blocks in the block diagrams.
Although embodiments of this application are described with reference to specific features and embodiments thereof, it is clear that various modifications and combinations may be made to embodiments of this application without departing from the scope of embodiments of this application. Correspondingly, embodiments and the accompanying drawings are merely example descriptions of embodiments of this application that are defined by the appended claims, and are considered to cover any or all of modifications, variations, combinations, or equivalents in the scope of embodiments of this application. It is clearly that a person skilled in the art may make various modifications and variations to embodiments of this application without departing from the scope of embodiments of this application. In this way, embodiments of this application are also intended to cover these modifications and variations provided that they fall within the scope of the claims of embodiments of this application and equivalent technologies thereof.
Embodiment 1. An information processing method, including:
Embodiment 2. The method according to Embodiment 1, where the method further includes:
Embodiment 3. The method according to Embodiment 1 or 2, where the determining a source coding matrix based on the first source coding rate and a channel coding basis matrix includes:
Embodiment 4. The method according to Embodiment 3, where the determining a source coding basis matrix based on the first source coding rate and the channel coding basis matrix includes:
Embodiment 5. The method according to Embodiment 4, where the pruning rows and/or columns of the second channel coding basis matrix includes:
Embodiment 6. The method according to Embodiment 5, where N1=22.
Embodiment 7. The method according to Embodiment 5 or 6, where
Embodiment 8. The method according to any one of Embodiments 1 to 7, where the method further includes:
Embodiment 9. The method according to Embodiment 8, where the performing, based on a first matrix, channel coding on bits output by the source coding matrix includes:
Embodiment 10. An information processing method, including:
Embodiment 11. The method according to Embodiment 10, where the second matrix is obtained by processing the identity matrix according to a search algorithm.
Embodiment 12. The method according to Embodiment 11, where the method further includes:
Embodiment 13. The method according to any one of Embodiments 10 to 12, where the obtaining a joint check matrix based on a second matrix includes:
Embodiment 14. The method according to Embodiment 13, where the method further includes:
Embodiment 15. The method according to Embodiment 14, where the method further includes:
Embodiment 16. The method according to Embodiment 14 or 15, where the determining the source coding matrix based on the first source coding rate includes:
Embodiment 17. The method according to Embodiment 16, where the determining the source coding basis matrix based on the first source coding rate and a channel coding basis matrix includes:
Embodiment 18. The method according to Embodiment 17, where the pruning rows and/or columns of the second channel coding basis matrix includes:
Embodiment 19. The method according to Embodiment 18, where N1=22.
Embodiment 20. The method according to Embodiment 18 or 19, where
Embodiment 21. An information processing method, including:
Embodiment 22. The method according to Embodiment 21, where the method further includes:
Embodiment 23. The method according to Embodiment 21 or 22, where the determining a source coding matrix based on the first source coding rate includes:
Embodiment 24. The method according to Embodiment 23, where the determining a source coding basis matrix based on the first source coding rate and a channel coding basis matrix includes:
Embodiment 25. The method according to Embodiment 24, where the pruning rows and/or columns of the second channel coding basis matrix includes:
Embodiment 26. The method according to Embodiment 25, where N1=22.
Embodiment 27. The method according to Embodiment 25 or 26, where
Embodiment 28. The method according to any one of Embodiments 21 to 27, where the decoding received second information based on the source coding matrix includes:
Embodiment 29. The method according to Embodiment 28, where the determining a joint check matrix based on the source coding matrix includes:
Embodiment 30. The method according to Embodiment 29, where the second matrix is obtained by processing the identity matrix according to a search algorithm.
Embodiment 31. The method according to Embodiment 29, where the method further includes:
Embodiment 32. An information processing apparatus, including:
Embodiment 33. The apparatus according to Embodiment 32, where the processing unit is further configured to determine the first source coding rate from first information based on an entropy rate and a source code length of the source sequence, where the first information includes a correspondence among a source coding rate, a source code length, and an entropy rate, and a quantity of source coding rates included in the first information is greater than 6.
Embodiment 34. The apparatus according to Embodiment 33 or 34, where the processing unit is configured to determine the source coding matrix based on the first source coding rate and the channel coding basis matrix in the following manner:
Embodiment 35. The apparatus according to Embodiment 34, where the processing unit is configured to determine the source coding basis matrix based on the first source coding rate and the channel coding basis matrix in the following manner:
Embodiment 36. The apparatus according to Embodiment 35, where the processing unit is configured to prune rows and/or columns of the second channel coding basis matrix in the following manner:
Embodiment 37. The apparatus according to Embodiment 36, where N1=22.
Embodiment 38. The apparatus according to Embodiment 36 or 37, where
Embodiment 39. The apparatus according to any one of Embodiments 32 or 38, where the processing unit is further configured to perform, based on a first matrix, channel coding on bits output by the source coding matrix, where an output dimension of the source coding matrix is equal to an input dimension of the first matrix.
Embodiment 40. The apparatus according to Embodiment 39, where the processing unit is configured to perform, based on the first matrix, the channel coding on the bits output by the source coding matrix in the following manner:
Embodiment 41. The apparatus according to any one of Embodiments 32 to 40, where the apparatus further includes a transceiver unit, configured to send second information, where the second information is information obtained through the channel coding.
Embodiment 42. An information processing apparatus, including:
Embodiment 43. The apparatus according to Embodiment 42, where the apparatus further includes a transceiver unit, configured to receive the second information.
Embodiment 44. The apparatus according to Embodiment 42 or 43, where the second matrix is obtained by processing the identity matrix according to a search algorithm.
Embodiment 45. The apparatus according to Embodiment 44, where the processing unit is further configured to:
Embodiment 46. The apparatus according to any one of Embodiments 42 to 45, where the processing unit is configured to obtain the joint check matrix based on the second matrix in the following manner:
Embodiment 47. The apparatus according to Embodiment 46, where the processing unit is further configured to:
Embodiment 48. The apparatus according to Embodiment 47, where the processing unit is further configured to determine the first source coding rate from first information based on an entropy rate and a source code length of a source sequence, where the first information includes a correspondence among a source coding rate, a source code length, and an entropy rate, and a quantity of source coding rates included in the first information is greater than 6.
Embodiment 49. The apparatus according to Embodiment 47 or 48, where the processing unit is configured to determine the source coding matrix based on the first source coding rate in the following manner:
Embodiment 50. The apparatus according to Embodiment 49, where the processing unit is configured to determine the source coding basis matrix based on the first source coding rate and the channel coding basis matrix in the following manner:
Embodiment 51. The apparatus according to Embodiment 50, where the processing unit is configured to prune rows and/or columns of the second channel coding basis matrix in the following manner:
Embodiment 52. The apparatus according to Embodiment 51, where N1=22.
Embodiment 53. The apparatus according to Embodiment 51 or 52, where
Embodiment 54. An information processing apparatus, including:
Embodiment 55. The apparatus according to Embodiment 54, where the apparatus further includes a transceiver unit, configured to receive the second information.
Embodiment 56. The apparatus according to Embodiment 54 or 55, where the processing unit is further configured to determine the first source coding rate from first information based on an entropy rate and a source code length of a source sequence, where the first information includes a correspondence among a source coding rate, a source code length, and an entropy rate, and a quantity of source coding rates included in the first information is greater than 6.
Embodiment 57. The method according to any one of Embodiments 54 or 56, where the processing unit is configured to determine the source coding matrix based on the first source coding rate in the following manner:
Embodiment 58. The apparatus according to Embodiment 57, where the processing unit is configured to determine the source coding basis matrix based on the first source coding rate and the channel coding basis matrix in the following manner:
Embodiment 59. The apparatus according to Embodiment 58, where the processing unit is configured to prune rows and/or columns of the second channel coding basis matrix in the following manner:
Embodiment 60. The apparatus according to Embodiment 59, where N1=22.
Embodiment 61. The apparatus according to Embodiment 59 or 60, where
Embodiment 62. The apparatus according to any one of Embodiments 54 to 61, where the processing unit is configured to decode the received second information based on the source coding matrix in the following manner:
Embodiment 63. The apparatus according to Embodiment 62, where the processing unit is configured to determine the joint check matrix based on the source coding matrix in the following manner:
Embodiment 64. The apparatus according to Embodiment 63, where the second matrix is obtained by processing the identity matrix according to a search algorithm.
Embodiment 65. The apparatus according to Embodiment 63, where the processing unit is further configured to:
Embodiment 66. An apparatus, including units configured to perform the method described in any embodiment of this application.
Embodiment 67. A computer program product, where the computer program product includes a computer program, and when the computer program runs on a computer, the computer is enabled to perform the method according to any one of Embodiments 1 to 9, or the computer is enabled to perform the method according to any one of Embodiments 10 to 20, or the computer is enabled to perform the method according to any one of Embodiments 21 to 31.
Number | Date | Country | Kind |
---|---|---|---|
202111395441.2 | Nov 2021 | CN | national |
202210045064.8 | Jan 2022 | CN | national |
This application is a continuation of International Application No. PCT/CN2022/127004, filed on Oct. 24, 2022, which claims priority to Chinese Patent Application No. 202111395441.2, filed on Nov. 23, 2021, and Chinese Patent Application No. 202210045064.8, filed on Jan. 14, 2022. All of the aforementioned patent applications are hereby incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2022/127004 | Oct 2022 | WO |
Child | 18670138 | US |