Code block segmentation method and apparatus, and device

By mapping information bits to amplitude values ​​and performing code block segmentation in future 6G mobile communication systems, the problem of poor data transmission performance caused by unshaped code block segmentation is solved, and data transmission performance is improved.

WO2026158107A1PCT designated stage Publication Date: 2026-07-30VIVO MOBILE COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
VIVO MOBILE COMM CO LTD
Filing Date
2026-01-14
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

In future 6G mobile communication systems, the lack of code block segmentation and reshaping in existing technologies leads to poor data transmission performance.

Method used

The first bit is determined from the bits of the information to be transmitted, mapped to LA amplitude values ​​and then binary mapped to obtain the second bit. Then, code block segmentation is performed to obtain C first code blocks, which supports probability amplitude shaping in constellation shaping technology.

Benefits of technology

By obtaining shaping gain through probability amplitude shaping, data transmission performance can be improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2026072390_30072026_PF_FP_ABST
    Figure CN2026072390_30072026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and discloses a code block segmentation method and apparatus, and a device. The code block segmentation method in embodiments of the present application comprises: a communication device determines a first bit from among information bits to be transmitted; the communication device maps the first bit into LA amplitude values, and performs binary mapping on the LA amplitude values to obtain second bits, wherein LA is a positive integer; and the communication device performs code block segmentation on the second bits to obtain C first code blocks, wherein C is a positive integer.
Need to check novelty before this filing date? Find Prior Art

Description

Code block segmentation methods, apparatus and equipment

[0001] Cross-references to related applications

[0002] This application claims priority to Chinese Patent Application No. 202510094220.3, filed in China on January 21, 2025, the entire contents of which are incorporated herein by reference. Technical Field

[0003] This application belongs to the field of communication technology, specifically relating to a code block segmentation method, apparatus, and device. Background Technology

[0004] Some communication systems (e.g., future 6G mobile communication systems) can support ultra-high throughput data transmission exceeding 100Gbps. This requires utilizing higher frequency bands to obtain greater bandwidth and typically necessitates the use of higher-order modulation methods. Therefore, constellation shaping techniques are needed to obtain shaping gain and improve data transmission performance. In related technologies, code block segmentation is directly based on the bits of information to be transmitted. This results in the segmented code blocks not being shaped, meaning no shaping gain can be obtained, leading to relatively poor data transmission performance. Summary of the Invention

[0005] This application provides a code block segmentation method, apparatus, and device that can solve the problem of poor data transmission performance caused by the inability to obtain shaping gain.

[0006] Firstly, a code block segmentation method is provided, including:

[0007] The communication device determines the first bit in the information bits to be transmitted;

[0008] The communication device maps the first bit to L A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A It is a positive integer;

[0009] The communication device performs code block segmentation on the second bit to obtain C first code blocks, where C is a positive integer.

[0010] Secondly, a code block segmentation device is provided, comprising:

[0011] The processing module is used to determine the first bit in the bits of information to be transmitted;

[0012] The processing module is further configured to map the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where LA It is a positive integer;

[0013] The processing module is further configured to perform code block segmentation on the second bit to obtain C first code blocks, where C is a positive integer.

[0014] Thirdly, a code block segmentation apparatus is provided, the apparatus being configured to perform the steps of the method described in the first aspect.

[0015] Fourthly, a communication device is provided, the device including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect.

[0016] Fifthly, a communication device is provided, including a processor and a communication interface, wherein the processor is configured to determine a first bit in bits of information to be transmitted; and map the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is divided into code blocks to obtain C first code blocks, where C is a positive integer.

[0017] In a sixth aspect, a terminal is provided, the terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect.

[0018] In a seventh aspect, a terminal is provided, including a processor and a communication interface, wherein the processor is configured to determine a first bit in bits of information to be transmitted; and map the first bit to L A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is divided into code blocks to obtain C first code blocks, where C is a positive integer.

[0019] Eighthly, a network-side device is provided, the network-side device including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect.

[0020] In a ninth aspect, a network-side device is provided, including a processor and a communication interface, wherein the processor is configured to determine a first bit in bits of information to be transmitted; and map the first bit to L A Amplitude value, and the LA The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is divided into code blocks to obtain C first code blocks, where C is a positive integer.

[0021] In a tenth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect.

[0022] Eleventhly, a chip is provided, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the steps of the method as described in the first aspect.

[0023] In a twelfth aspect, a computer program / program product is provided, the computer program / program product being stored in a storage medium, the computer program / program product being executed by at least one processor to perform the steps of the method as described in the second aspect.

[0024] In this embodiment of the application, a first bit is determined from the bits of information to be transmitted; the first bit is mapped to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is segmented into C first code blocks, where C is a positive integer. Since the second bit corresponding to the first code block is obtained by mapping the amplitude value, the first code block supports probabilistic amplitude shaping in constellation shaping technology to obtain shaping gain, thereby improving data transmission performance. Attached Figure Description

[0025] Figure 1 is a schematic diagram of a system provided in an embodiment of this application;

[0026] Figure 2 is a flowchart of a code block segmentation method provided in an embodiment of this application;

[0027] Figure 3 is a schematic diagram of an encoded output bit provided in an embodiment of this application;

[0028] Figure 4 is a schematic diagram of a code block segmentation provided in an embodiment of this application;

[0029] Figure 5 is a schematic diagram of a constellation provided in an embodiment of this application;

[0030] Figure 6 is a schematic diagram of another code block segmentation provided in an embodiment of this application;

[0031] Figure 7 is a schematic diagram of another encoded output bit provided in an embodiment of this application;

[0032] Figure 8 is a schematic diagram of another code block segmentation provided in an embodiment of this application;

[0033] Figure 9 is a structural diagram of a code block segmentation device provided in an embodiment of this application;

[0034] Figure 10 is a structural diagram of a communication device provided in an embodiment of this application;

[0035] Figure 11 is a structural diagram of a terminal provided in an embodiment of this application;

[0036] Figure 12 is a structural diagram of a network-side device provided in an embodiment of this application. Detailed Implementation

[0037] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.

[0038] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, the scope of protection for "A or B" covers at least three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. In addition, the terms "A and / or B," "at least one of A and B," and "at least one of A or B" also cover at least the above three scenarios. The character " / " generally indicates that the preceding and following objects are in an "or" relationship.

[0039] The term "instruction" in this application can be either a direct instruction (or explicit instruction) or an indirect instruction (or implicit instruction). A direct instruction can be understood as the sender explicitly informing the receiver of specific information, the required operation, or the requested result in the instruction sent. An indirect instruction can be understood as the receiver determining the corresponding information based on the instruction sent by the sender, or making a judgment and determining the required operation or requested result based on the judgment result.

[0040] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency-Division Multiple Access (SC-FDMA), or other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used with the systems and radio technologies mentioned above, as well as with other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and the term NR is used in most of the following description; however, these technologies can also be applied to systems other than NR systems, such as 6th generation (6G) radio systems. th Generation 6G communication system.

[0041] Figure 1 shows a block diagram of a wireless communication system applicable to an embodiment of this application. The wireless communication system includes a terminal 11 and a network-side device 12. The terminal 11 can also be referred to as User Equipment (UE), and can be a mobile phone, tablet computer, laptop computer, notebook computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR), virtual reality (VR) device, robot, wearable device, flight vehicle, vehicle user equipment (VUE), shipboard equipment, pedestrian user equipment (PUE), smart home (home devices with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), game console, personal computer (PC), ATM, or self-service machine, etc. Wearable devices include: smartwatches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among these, in-vehicle devices can also be referred to as in-vehicle terminals, in-vehicle controllers, in-vehicle modules, in-vehicle components, in-vehicle chips, or in-vehicle units, etc. It should be noted that the specific type of terminal 11 is not limited in this application embodiment. Network-side equipment 12 may include access network equipment or core network equipment, wherein access network equipment may also be referred to as Radio Access Network (RAN) equipment, radio access network function, or radio access network unit. Access network equipment may include base stations, Wireless Local Area Network (WLAN) access points (APs), or Wireless Fidelity (WiFi) nodes, etc.Among them, base stations can be referred to as Node B (NB), Evolved Node B (eNB), Next Generation Node B (gNB), New Radio Node B (NR Node B), Access Point, Relay Base Station (RBS), Serving Base Station (SBS), Base Transceiver Station (BTS), Radio Base Station, Radio Transceiver, Basic Service Set (BSS), Extended Service Set (ESS), Home Node B (HNB), Home Evolved Node B, Transmit / Receive Point (TRP), Non-Terrestrial Network (NTN) equipment (such as satellite or high altitude platform stations). The term "base station" can be any suitable term in the field, such as "station" or any other appropriate term in the relevant field, as long as the same technical effect is achieved. The term "base station" is not limited to specific technical terms. It should be noted that the embodiments of this application only use the base station in the NR system as an example for introduction, and do not limit the specific type of base station.

[0042] Core network equipment, also known as core network nodes, core network functions, or core network elements, includes, but is not limited to, at least one of the following: Mobility Management Entity (MME), Access and Mobility Management Function (AMF), Session Management Function (SMF), User Plane Function (UPF), Policy Control Function (PCF), Policy and Charging Rules Function (PCRF), Edge Application Server Discovery Function (EASDF), Unified Data Management (UDM), Unified Data Repository (UDR), Home Subscriber Server (HSS), Centralized network configuration (CNC), Network Repository Function (NRF), Network Exposure Function (NEF), Local NEF (L-NEF), and Binding Support. Functions include BSF, Application Function (AF), Location Management Function (LMF), Gateway Mobile Location Centre (GMLC), Network Data Analytics Function (NWDAF), and Non-Terrestrial Network (NTN) equipment (such as satellite or high altitude platform station).It should be noted that the embodiments of this application only use the core network equipment in the NR system as an example for introduction, and do not limit the specific type of core network equipment. If the name of the core network equipment mentioned in the embodiments of this application changes in subsequent protocol versions (e.g., 6G), it is also within the scope of protection of this application.

[0043] Optionally, the core network equipment can be implemented by one or more functional modules in a single device, or by multiple devices working together; this application does not specifically limit this. It is understood that the aforementioned functional modules can be network elements in hardware devices, software functional modules running on dedicated hardware, or virtualized functional modules instantiated on a platform (e.g., a cloud platform).

[0044] Constellation shaping techniques can be divided into geometric shaping (GS) and probabilistic shaping (PS). Geometric shaping allows for non-uniform constellation distributions, approximating the optimal distribution by changing the positions of constellation points. Probabilistic shaping, on the other hand, alters the prior transmission probabilities of different constellation points. Compared to geometric shaping, it does not require changing the shape of the constellation diagram and has better compatibility with existing communication systems. For probabilistic shaping, according to the maximum entropy criterion, given an average energy, a constellation point distribution following a Maxwell-Boltzman (MB) distribution maximizes the bit rate. The probability distribution formulas for different constellation points are as follows:

[0045] Where P(r) represents the probability distribution of constellation points, r and Ω represent constellation points and constellation point sets, and λ is the Maxwell-Boltzmann parameter, which determines the balance between bit rate and average energy. When λ = 0, the constellation point distribution is uniform. As λ increases, points in the inner circle of the constellation have a higher probability than points in the outer circle.

[0046] For PS implementations, Probabilistic Amplitude Shaping (PAS) offers low complexity, rate adaptability, and minimal modifications to the modulation and coding scheme, making it widely used. In common PAS-based probabilistic shaping systems, the transmitter uses a distribution matching (DM) unit to map the bit sequence to be transmitted into a set of amplitude values ​​with different probability distributions. This set of amplitude values ​​is then mapped into a binary sequence and fed into the encoder. The encoded bit sequence is then modulated and transmitted. The receiver performs demodulation, decoding, and inverse mapping to obtain the final bit sequence. The main function of the distribution matching unit at the transmitter is to transform a uniformly distributed data sequence into a specific distribution with different probabilities.

[0047] The following description, in conjunction with the accompanying drawings, details a code block segmentation method, apparatus, and device provided in this application through some embodiments and application scenarios.

[0048] Please refer to Figure 2, which is a flowchart of a code block segmentation method provided in an embodiment of this application. As shown in Figure 2, it includes the following steps:

[0049] Step 201: The communication device determines the first bit from the bits of information to be transmitted.

[0050] In this embodiment, the communication device can be a terminal or a network-side device. In an Ambient Internet-of-Things (AIOT) system, the communication device can also be a reader or an AIoT device.

[0051] The aforementioned bits of information to be transmitted can be bits in a Transport Block (TB), and can be bits in a TB with added Cyclic Redundancy Check (CRC), or bits in a TB without added CRC.

[0052] The determination of the first bit in the information bits to be transmitted can be done by selecting a portion of the information bits to be transmitted as the first bit, or by using all of the information bits to be transmitted as the first bit.

[0053] The first bit mentioned above can also be called the first bit sequence or the first bit set, which specifically consists of multiple bits.

[0054] In some implementations, the first bit mentioned above may also be referred to as the amplitude value information bit.

[0055] Step 202: The communication device maps the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A It is a positive integer.

[0056] The above maps the first bit to L A The amplitude value can be obtained by distribution matching based on the first bit. A A magnitude value, for example: using a distribution matcher to map the first bit to L A Amplitude value, and in L A The proportion of different amplitude values ​​in a given amplitude value can be different, meaning the frequency of different amplitude values ​​can be different. For example, a distribution matcher can be used to map the first bit to L with different probability distributions. AAmplitude value. It should be noted that in some implementations, L... A An amplitude value can have an equal proportion of amplitude values, meaning it can include amplitude values ​​that appear the same number of times.

[0057] Among them, the above L A The value can be determined by the protocol, configured by the network-side device, or based on the number of resource units N. RE Number of transmission layers v and modulation order Q m The calculation is not limited to this; the specific settings can be determined based on business requirements or scenario requirements.

[0058] The above will L A The second bit can be obtained by binary mapping the amplitude value. A The amplitude values ​​are binary mapped to obtain a bit size of L. b The second bit, where L b The value of L is determined by A The value of is determined.

[0059] The above L A The second bit is obtained by binary mapping each amplitude value. The bit mapped to each amplitude value can be agreed upon by the protocol or configured by the network-side device. For example, the protocol may specify the bit corresponding to each amplitude value.

[0060] The second bit mentioned above can also be called the second bit sequence or the second bit set, or it can be called the amplitude value mapping bit, such as the second bit represented as L. b Each amplitude value is mapped to a bit.

[0061] Step 203: The communication device performs code block segmentation on the second bit to obtain C first code blocks, where C is a positive integer, that is, the value of C is greater than or equal to 1.

[0062] The above-described code block segmentation process for the second bit to obtain C first code blocks can be achieved by dividing the second bit into multiple first code blocks, where the value of C is greater than 1. In some cases, if the number of the second bits is less than the code block size, the code block segmentation process for the second bit can be achieved by treating the second bit as a single first code block, where the value of C is 1.

[0063] In some implementations, the first code block described above may also be referred to as the amplitude value information code block.

[0064] In this embodiment of the application, since the second bit corresponding to the first code block is obtained by mapping the amplitude value, the first code block supports probability amplitude shaping in constellation shaping technology to obtain shaping gain, thereby improving data transmission performance.

[0065] In this embodiment of the application, after obtaining the above C first code blocks, the method further includes encoding and modulation operations on the above C first code blocks, such as Low Density Parity Check Code (LDPC) encoding or Polar encoding.

[0066] As an optional implementation, the communication device determines the first bit in the information bits to be transmitted by:

[0067] The communication device divides the bits of information to be transmitted into bit groups to obtain the first bit and the third bit.

[0068] The aforementioned third bit can also be called a third bit sequence or a third bit set, or it can be called a sign bit information bit, such as when the third bit is represented as... Each sign bit is an information bit.

[0069] The above-mentioned bit grouping of the information to be transmitted, resulting in the first and third bits, can be achieved by dividing the information into two groups: the first bit and the third bit. For example:

[0070] The communication device divides N bits of information to be transmitted into bit groups to obtain... The second bit of the bit, and the obtained The third bit of the 1 bit, where the above The value can be determined by the protocol, configured by the network-side device, or based on the number of resource units N. RE Number of transmission layers v, modulation order Q m The probability distribution of different amplitude values ​​was calculated.

[0071] Here, the aforementioned N bits of information to be transmitted can refer to the bits in TB after adding CRC, and Where TBsize is the TB size before adding CRC. This is the TB CRC length.

[0072] like but

[0073] like but At this point, bit stuffing can be performed on the N bits of information to be transmitted to obtain... The second bit of the first bit, i.e., the number of fill bits is 1.

[0074] In this implementation, amplitude shaping can be performed on a portion of the bits in the information bits to be transmitted, while the other portion of the bits is encoded and modulated as information bits, thereby improving data transmission performance.

[0075] In some embodiments, the above method further includes:

[0076] The communication device performs code block segmentation on the third bit to obtain C second code blocks.

[0077] In some implementations, the second code block described above may also be referred to as the sign bit information code block.

[0078] The above-described code block segmentation process for the third bit to obtain C second code blocks can be achieved by dividing the third bit into multiple first code blocks, where the value of C is greater than 1. In some cases, if the number of third bits is less than the code block size, the code block segmentation process for the third bit can be performed by treating the third bit as a single second code block, where the value of C is 1.

[0079] In this implementation, C first blocks and C second blocks can be obtained, which can then be used for encoding and modulation to improve data transmission performance.

[0080] As an optional implementation, the value of C is determined based on at least one of the following:

[0081] The number of bits in the second bit, the number of bits in the third bit, the maximum code block size, and the code block cyclic redundancy check (CBCRC) length.

[0082] In some implementations, the value of C is determined based on at least one of the above-mentioned items. This can be based on the mapping relationship between at least one of the above-mentioned items and the value of C, for example, by protocol agreement or network-side device configuration of the mapping relationship between at least one of the above-mentioned items and the value of C.

[0083] In other embodiments, the value of C satisfies at least one of the following:

[0084] When the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the maximum code block size, the value of C is 1;

[0085] If the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the first value, then the value of C is 1;

[0086] When the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the maximum code block size, the

[0087] If the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the first value, then...

[0088] Wherein, B is the sum of the number of bits in the second bit and the number of bits in the third bit, L is the CRC length of the code block, and the first value is K. cb -K0, the K cb K0 is the maximum code block size, and K0 is a value determined based on the boosting factor.

[0089] Wherein, K0 is a value determined based on the lift factor. This value can be determined based on protocol conventions or the mapping relationship between K0 and the lift factor on the network side. For example, in the above case, K0 is 2Z. max Z max To maximize the value that factor Z can achieve, for example, Z can be obtained through Table 1 below. max =384:

[0090] Table 1:

[0091] By the above maximum code block size or K cb -K0 can be used to achieve the maximum code block size or K cb -K0 is used for code block segmentation, where K... cb -K0 is used for code block segmentation, which makes the length of each segmented code block relative to K. cb There is a certain margin to prevent the final code block length from exceeding K due to padding with zeros in the second code block during subsequent processing. cb This improves the code block segmentation effect.

[0092] In addition, the value of C is determined based on at least one of the following: the number of bits in the second bit, the number of bits in the third bit, the maximum code block size, and the code block CRC length. This makes the number of the first and second code blocks after segmentation more reasonable, thereby improving the code block segmentation effect.

[0093] As an optional implementation, the communication device performs code block segmentation on the second bit to obtain C first code blocks, including:

[0094] The communication device performs code block segmentation on the second bit according to at least one of the second and third values ​​to obtain C first code blocks. The C first code blocks include at least one of the following: a code block of size the second value, and a code block of size the third value, wherein the second value is the floor function of the quotient obtained by dividing the number of the second bits by C, and the third value is the floor function of the quotient obtained by dividing the number of the second bits by C; or...

[0095] The communication device fills the second bit, and performs code block segmentation on the filled second bit to obtain C first code blocks, wherein the quotient obtained by dividing the number of bits of the filled second bit by C is a positive integer.

[0096] The second and third values ​​mentioned above can be expressed as follows: and Among them, L b The number of bits in the second bit.

[0097] The above-mentioned code block segmentation process of the second bit according to at least one of the second value and the third value can be performed by alternating the code block segmentation process of the second bit according to the second value and the third value, to obtain a first code block of size 2 and a first code block of size 3.

[0098] Since there is at least one of the C first code blocks of size 2 and the code block of size 3, the C first code blocks can be evenly divided, that is, the second bit is distributed as evenly as possible among the first code blocks, which can improve the effect of probability shaping and further improve data transmission performance.

[0099] The second bit is padded, and the padded second bit is segmented into C first code blocks. Since the quotient of the number of bits in the padded second bit divided by C is a positive integer, the second bit can be distributed as evenly as possible among the first code blocks, which can improve the effect of probability shaping and further improve data transmission performance.

[0100] In some embodiments, the communication device performs code block segmentation on the third bit to obtain C second code blocks, including:

[0101] The communication device performs code block segmentation on the third bit according to at least one of the fourth and fifth values ​​to obtain C second code blocks. The C second code blocks include at least one of the following: a code block of size equal to the fourth value, and a code block of size equal to the fifth value, wherein the fourth value is the integer part of the quotient obtained by dividing the number of third bits by C, and the fifth value is the integer part of the quotient obtained by dividing the number of third bits by C; or...

[0102] The communication device fills the third bit, and performs code block segmentation on the filled third bit to obtain C second code blocks, wherein the quotient obtained by dividing the number of bits of the filled third bit by C is a positive integer.

[0103] The fourth and fifth values ​​mentioned above can be expressed as follows: and in, The number of the third bit.

[0104] The above-mentioned code block segmentation process of the third bit according to at least one of the fourth and fifth values ​​can be performed by alternating the code block segmentation process of the third bit according to the fourth and fifth values ​​to obtain a second code block of size of the fourth value and a second code block of size of the fifth value.

[0105] Since there is at least one of the C second code blocks of size four and size five, the C second code blocks can be evenly divided, that is, the third bit is distributed as evenly as possible among the second code blocks, so as to improve the code block segmentation effect. It can also make the size of the third code block obtained by concatenating the first and second code blocks more uniform, so as to better encode the third code block and improve the coding performance.

[0106] The third bit is padded, and the padded third bit is then segmented into C second code blocks. Since the quotient of the number of bits in the padded third bit divided by C is a positive integer, the third bit can be distributed as evenly as possible among the second code blocks, thus improving the code block segmentation effect. Furthermore, the size of the third code block obtained by concatenating the first and second code blocks is more uniform, which allows for better encoding of the third code block and improves encoding performance.

[0107] As an optional implementation, the method further includes:

[0108] Communication equipment is based on encoded output bits and L A Each amplitude value is modulated to obtain modulated data;

[0109] The encoded output bits are the bits that are encoded and output from the following code blocks:

[0110] The C first code blocks; or,

[0111] The C third code blocks are obtained by concatenating the C first code blocks and the C second code blocks.

[0112] The aforementioned encoded output bits are the bits used to encode and output the C first code blocks or C third code blocks.

[0113] Encoding the aforementioned C first codes can be performed when only C first code blocks are obtained, and encoding the aforementioned C third code blocks can be performed when C first code blocks and C second code blocks are obtained.

[0114] The above is based on the encoded output bits and L A Modulation of each amplitude value can be achieved by selecting a subset of bits from the encoded output bits, and then modulating this subset of bits with L. A Each amplitude value is modulated.

[0115] In this implementation, since it is based on the encoded output bits and L A Modulated data is obtained by modulating each amplitude value, which allows the modulated data to be correlated with the amplitude values, thereby improving the modulation effect.

[0116] In some implementations, the method based on encoded output bits and L A Each amplitude value is modulated to obtain modulated data including:

[0117] The communication device selects a fourth bit from the encoded output bits through rate matching; wherein, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the third bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes the second bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes a parity bit; or, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the second bit, the third bit, and a parity bit.

[0118] The communication device is based on the fourth bit and L A Each amplitude value is modulated to obtain modulated data.

[0119] The encoded output bits described above may include a second bit, a third bit, a sign bit parity bit (i.e., the parity bit corresponding to the third bit), and other parity bits, as shown in Figure 3. In this embodiment, the fourth bit can be selected through rate matching, wherein the parity bits in the fourth bit may be all or part of the sign bit parity bits shown in Figure 3.

[0120] In this implementation, multiple bit combinations and L can be supported.A Modulating the amplitude value allows for compatibility or adaptation to more business or scenarios.

[0121] Additionally, due to the fourth bit and L A Modulating each amplitude value allows for better probability shaping, and because L... A The amplitude values ​​can be non-uniformly distributed, and modulation can be performed based on these amplitude values ​​to obtain non-uniformly distributed constellation points, thereby further improving the probability shaping effect.

[0122] In some implementations, the number of bits in the fourth bit is L. A This allows for the use of the fourth bit and L A Modulation processing with multiple amplitude values ​​yields better modulation results. In this embodiment, the number of bits in the fourth bit is not limited to L. A For example, in some implementations, the number of bits in the fourth bit may be L. A-a or L A+a , where a is a constant.

[0123] In some implementations, the L A The amplitude value is L mapped from the first bit. A One amplitude value; or,

[0124] The L A The amplitude value is: selecting the second bit from the encoded output bits, and mapping the second bit to L. A Amplitude values.

[0125] Among them, the above L A The amplitude value is L mapped from the first bit. A Each amplitude value refers to the L value stored during step 202. A This provides an amplitude value, eliminating the need to generate L during subsequent modulation. A A range of values ​​is used to reduce computational overhead.

[0126] The above describes selecting the second bit from the encoded output bits and mapping the second bit to L. A The amplitude value refers to the amplitude value generated after encoding, which is not used in step 202. A Amplitude values, of which the regenerated L A Each amplitude value and the L generated in step 202 A Each amplitude value is the same. This is because the L value is generated after encoding. A The amplitude values ​​are modulated, making the modulation more flexible.

[0127] In some implementations, the concatenation of the C first code blocks and the C second code blocks includes:

[0128] Concatenate the C first code blocks and the C second code blocks to obtain C fourth code blocks;

[0129] Fill in all or part of the C fourth code blocks to obtain C third code blocks of the same size.

[0130] The filling of all or part of the C fourth code blocks can be done using the largest code block size K′ among the C third code blocks. maxcb Based on the standard, for a code block size of K′ cb The code block is bit-stuffed to make the code block size reach K′. Maxcb That is, the number of bits to be filled is K′ maxcb -K′ cb In this way, the size of each of the C fourth code blocks is K′. maxcb .

[0131] In the above implementation, since there are C third code blocks of the same size, the subsequent encoding and modulation effects can be improved.

[0132] It should be noted that the embodiments of this application are not limited to C third code blocks of the same size. In some implementations, it may also include third code blocks of different sizes.

[0133] It should be noted that the C third code blocks obtained in the above manner can also be understood as concatenating the C first code blocks and the C second code blocks to obtain the C third code blocks, including: concatenating the C first code blocks and the C second code blocks to obtain C fourth code blocks; and filling all or part of the C fourth code blocks to obtain C third code blocks of the same size.

[0134] In some implementations, the second code block is located before the first code block in the third code block.

[0135] Since the second code block is located before the first code block, it can be ensured that when puncturing information bits in the first code block is performed during encoding (such as LDPC encoding), the information bits are not punctured out, thus affecting the probability shaping effect.

[0136] In some implementations, if a padding bit is present in the third code block, the padding bit is placed after the second code block and before the first code block.

[0137] In this embodiment of the application, a first bit is determined from the bits of information to be transmitted; the first bit is mapped to L. A Amplitude value, and the La The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is segmented into C first code blocks, where C is a positive integer. Since the second bit corresponding to the first code block is obtained by mapping the amplitude value, the first code block supports probabilistic amplitude shaping in constellation shaping technology to obtain shaping gain, thereby improving data transmission performance.

[0138] The methods provided in the embodiments of this application are illustrated below through multiple examples:

[0139] Example 1:

[0140] This embodiment mainly describes the code block segmentation method when combining probabilistic shaping technology with LDPC coding, including the following:

[0141] Divide the N bits of information to be transmitted into bit groups to obtain the number of bits. The first bit (also called) (each amplitude value information bit) and the number of bits are The third bit (also called) N sign bits (information bits), where the N information bits to be transmitted can refer to the bits in TB after adding CRC, and Where TBsize is the TB size before adding CRC. This is the TB CRC length.

[0142] like but

[0143] like but At this point, bit stuffing is needed to obtain the N bits of information to be transmitted. The number of bits, i.e., the number of bits to fill is 1.

[0144] Based on the number of bits After performing distribution matching on the first bit, L is obtained. A There are several amplitude values, where distribution matching can be performed according to a preset rule, with the number of bits being... The first bit is mapped to L A Amplitude value, L A The proportion of different amplitude values ​​(the number of times different amplitude values ​​appear) in a given amplitude value can be different, and is related to the distribution of constellation points in the probabilistic shaping scheme.

[0145] According to L A The amplitude values ​​are binary mapped to obtain L bits.b The second bit (also called L) b (Amplitude value mapped to bits).

[0146] in Q m This represents the modulation order.

[0147] Based on the number L of the second bit b Number of third bits Maximum block size K cb CB CRC length At least one of them determines the number of code block segments C, let This represents the sum of the number of the second bit and the number of the third bit.

[0148] If B≤K cb If B > K, then no CB CRC needs to be added, i.e., L = 0, and the number of code blocks C = 1; cb Then L = 24, the number of code blocks

[0149] Or, if B≤K cb If -K0, then no CB CRC needs to be added, i.e., L=0, and the number of code blocks C=1; if B>K cb -K0, then L=24, number of code blocks

[0150] That is, according to K cb -K0 is used for code block segmentation, such that the length of each segmented code block is relative to K. cb There is a certain margin to prevent the final code block length from exceeding K due to padding with zeros in the second code block of each code block in subsequent steps. cb Where K0 can take the value 2Z max Z max To increase the maximum value that factor Z can take, for example according to Table 1 above, Z max =384.

[0151] Based on the number of code block segments C and the number of bits L b The second bit and the number of bits are The third bit is divided into C first code blocks and C second code blocks, or C amplitude value information code blocks and C sign bit information code blocks.

[0152] Optionally, if each second code block size Then, bit stuffing is performed on the second code block, and the number of stuffed bits is 1.

[0153] Bit stuffing is used to prevent amplitude mapping bits from being punched if the size of each second code block is not less than the number of punctured information bits in LDPC encoding.

[0154] C first code blocks and C second code blocks are concatenated to obtain C third code blocks, and at least one of the following characteristics is satisfied:

[0155] The C third code blocks are of the same size;

[0156] One implementation uses the largest code block size K′ among the C third code blocks. maxcb Based on the standard, for a code block size of K′ cb The code block is bit-stuffed to make the code block size reach K′. maxcb That is, the number of bits to be filled is K′ maxcb -K′ cb In this way, the size of each of the C third code blocks is K′. maxcb ;

[0157] For each third code block, the second code block comes first, followed by the first code block;

[0158] If padding bits exist, then K′ Maxcb -K′ cb The padding bits are after the second code block and before the first code block.

[0159] Bit stuffing is performed on C third code blocks to obtain C code blocks of size K. cb The input code block is encoded and then LDPC encoding is performed. After encoding, the fourth bit to be transmitted is selected by rate matching. The fourth bit includes the third bit and the parity bit, or the fourth bit includes the second bit and the parity bit, or the fourth bit includes the second bit, the third bit and the parity bit.

[0160] According to L A The fourth bit, and L A Modulated data is obtained by modulating each amplitude value, and finally the modulated data is sent.

[0161] The code block segmentation based on probabilistic shaping provided in this embodiment includes: determining the number of code block segments C based on at least one of the following: the number of second bits obtained through distribution matching and binary mapping, the number of third bits, the maximum code block size, and the TB CRC length; then segmenting the second bit sequence and the third bit sequence according to the number of code block segments C to obtain C first code blocks and C second code blocks respectively; and then concatenating the second code blocks and the first code blocks to obtain C third code blocks. Furthermore, if the number of bits in the TB after adding the CRC is less than or equal to the number of first bits, then only the first bit is segmented. If the number of bits in the TB after adding the CRC is less than the number of first bits, bit padding is also required.

[0162] In this embodiment, this application provides a code block segmentation method that combines probabilistic shaping technology with LDPC coding. Considering the characteristic of grouping bits in TB into a second bit for mapping to amplitude values ​​and a third bit for mapping to sign bits, a new code block segmentation mechanism is designed so that the second bit mapped to amplitude values ​​and the third bit mapped to sign bits are distributed as evenly as possible in each code block, ensuring the effect of probabilistic shaping and improving data transmission performance.

[0163] Example 2:

[0164] This embodiment mainly describes the probabilistic shaping initiation process, including the following:

[0165] Applying probabilistic shaping techniques to current communication systems requires certain modifications to the coding and modulation process. The specific processing flow at the transmitting end is shown in Figure 4. In Figure 4, the first bit is called the amplitude value information bit, the second bit is called the amplitude value mapping bit, the third bit is called the sign bit information bit, and the fourth bit is called the sign bit.

[0166] The information bits to be transmitted are b0, b1, ..., b N-1 Grouping the data results in two sets of information bits, namely the first set of bits. and the third bit set Wherein, the information bits to be transmitted can be TB with CRC added, and Where TBsize is the TB size before adding CRC. This is the TB CRC length. The number of the third bit is...

[0167] The first bit The set of amplitude values ​​is obtained by feeding them into the distribution matcher. The amplitude value is used to determine the amplitude of the modulation symbol. The amplitude value is related to the modulation order, meaning the size of the amplitude value set is... Q m The amplitude is the modulation order. For example, for 16QAM modulation, the amplitude value can be A∈{1,3}; for 64QAM modulation, the amplitude value can be A∈{1,3,5,7}; and for 256QAM, the amplitude value can be A∈{1,3,5,7,9,11,13,15}. The distribution of amplitude values, i.e., the proportion of different amplitude values, can be non-uniformly distributed, specifically related to the distribution of constellation points in the probabilistic shaping scheme. The distribution matching refers to matching the amplitude values ​​according to preset rules. The first bit is mapped to L A Amplitude value, L AThe proportion of different amplitude values ​​(the number of times different amplitude values ​​appear) in a given amplitude value can be different, and is related to the distribution of constellation points in the probabilistic shaping scheme.

[0168] The set of amplitude values Perform binary mapping to obtain the second bit set in That is, each amplitude value can be mapped to Each binary bit can be mapped using a predefined rule. For example, in 16QAM modulation, each amplitude value is mapped to 1 bit; specifically, amplitude value 1 is mapped to bit 0, and amplitude value 3 is mapped to bit 1. In 64QAM modulation, each amplitude value is mapped to 2 bits; specifically, amplitude value 1 is mapped to bit 01, amplitude value 3 is mapped to bit 00, amplitude value 5 is mapped to bit 10, and amplitude value 7 is mapped to bit 11. One such mapping rule is shown in Table 2 below.

[0169] Table 2

[0170] It should be noted that Table 2 above is only an example of a mapping rule. The embodiments of this application do not limit the mapping rule, that is, it can be a mapping rule other than Table 2, specifically it can be a protocol agreement or network-side device configuration.

[0171] For example, the modulation order Q m =4, meaning QPSK modulation is used. In this case, the amplitude value is A∈{1,3}. Assume that after probability shaping, the probability of amplitude value "3" is 0.25, and the probability of amplitude value "1" is 0.75. The first bit of the input distribution matcher is "0,1,1,0", which indicates the number of bits in the first bit. Based on the probability of the first bit and the occurrence of the amplitude value, a distribution matching is performed, resulting in the set of amplitude values ​​output by the distribution matcher as "1,1,3,1,1,3,1,1", which represents the number of amplitude values ​​L. A =8. Perform a binary mapping on the set of amplitude values ​​to obtain L. b = 8 second bits "0,0,1,0,0,1,0,0".

[0172] The third bit set Second bit set The data is fed into the encoding module for channel coding. Specifically, this includes code block segmentation, CB CRC addition, LDPC encoding of each CB, and rate matching of the encoded bits to obtain a rate-matched output bit set, which includes the fourth bit. The elements in the fourth bit are selected from the third bit set and the parity bit set in the encoded output bit set, as shown in Figure 3.

[0173] In one implementation, based on the set of amplitude values and the fourth bit Modulation is performed to obtain the modulation symbol. Specifically, the fourth bit can be mapped to {±1}, and then multiplied by the set of amplitude values, as shown in the following formula:

[0174] in, α is the power normalization factor, and its value is related to the modulation order. Specifically, for 16QAM modulation, the modulation order Q... m =4, For 64QAM modulation, the modulation order Q m =6, For 256QAM modulation, the modulation order Q m =8, For 1024QAM modulation, the modulation order Q m =10, It can be seen that the set of amplitude values The fourth bit set determines the amplitude of the real (imaginary) part of the modulation symbol. This determines the sign of the real (imaginary) part of the modulation symbol. The constellation distribution obtained after probability shaping is shown in Figure 5.

[0175] It should be noted that the embodiments in this application are not limited to those based on the fourth bit and L. A The amplitude values ​​are modulated. For example, in addition to the formula mentioned above, the fourth bit can also be mapped to {±2}, or {0, 1}, etc., and then multiplied with the set of amplitude values.

[0176] Example 3:

[0177] This embodiment mainly describes The time-probability integer shaping process and code block segmentation method include the following:

[0178] When grouping the bits of information to be transmitted (also called the set of information bits to be transmitted) into blocks, the number of the first bit... (i.e., the number of bits input to the distributed matcher) is based on the number of amplitude values ​​L. A The number of amplitude values, L, is determined by the probability of different amplitude values ​​(after quantization, i.e., the number of times different amplitude values ​​occur). A The method for determining it is as follows:

[0179] Based on the number of resource units N RE Number of transmission layers v, modulation order Q m Determine the total number of bits N to be transmitted transnits =NRE ·Q m ·v, the total number of bits transmitted is L b The second bit and the number of bits are L A The fourth bit (including the parity bit and the third bit (optional)). The number of fourth bits is equal to the number of amplitude values, i.e., L. b The second bit corresponds to L A There are several amplitude values, and they satisfy the following conditions: According to L b +L A =N transbits You can get

[0180] The N bits of information to be transmitted refer to the bits in TB after adding CRC, and Where TBsize is the TB size before adding CRC. This is the TB CRC length. TBsize is based on the number of resource units N. RE Number of transmission layers v, modulation order Q m The target bit rate R is determined (the specific TBsize calculation method can be defined by the protocol). For example, when the target bit rate R is small, the calculated TBsize is relatively small, and the number of information bits N to be transmitted may be less than the number of bits in the first step.

[0181] In this embodiment, the main focus is on The probability shaping process and code block segmentation method are explained in detail.

[0182] when At that time, in the bits of information to be transmitted One bit is used as the first bit, and the rest... One bit is used as the third bit. Distribution matching and binary mapping are performed on the first bit to obtain L bits. b The second bit The specific details are the same as in Example 2.

[0183] Based on the number of the second bit L b Number of third bits Maximum block size K cb TB CRC length At least one of them determines the number of code block segments C, let This represents the sum of the number of the second bit and the number of the third bit.

[0184] If B≤K cb If B > K, then no CB CRC needs to be added, i.e., L = 0, and the number of code blocks C = 1;cb Then L = 24, the number of code blocks

[0185] Or, if B≤K cb If -K0, then no CB CRC needs to be added, i.e., L=0, and the number of code blocks C=1; if B>K cb -K0, then L=24, number of code blocks

[0186] That is, according to K cb -K0 is used for code block segmentation, such that the length of each segmented code block is relative to K. cb There is a certain margin to prevent the final code block length from exceeding K due to padding the second code block in each code block with zeros. cb Where K0 can take the value 2Z max Z max To increase the maximum value that factor Z can take, for example according to Table 5.3.2-1, Z max =384.

[0187] After determining the number of code block segments C, for L b The second set of bits and The third bit set is divided into C first code blocks and C second code blocks. The division should be as uniform as possible. Specifically...

[0188] The method for splitting the second bit set is as follows:

[0189] The method for partitioning the third bit set is as follows:

[0190] Among them, CBsize Ar CBsize represents the size (size, i.e., the number of bits in the code block) of the r-th first code block. Sr This represents the size of the r-th second code block.

[0191] Then, the r-th second code block and the r-th first code block are concatenated to obtain the r-th third code block, the size of which is CBsize. r =CBsize Sr +CBsize Ar Where r = 0, 1, ..., C-1.

[0192] Optionally, to ensure that the size of each third code block is consistent, the size of the (C-1)th third code block is CBsize. C-1 Based on the standard, for dimensions smaller than C A(C-1) The third code block r is bit-stuffed, for example, by filling CBsize. C-1 -CBsizer Each of the first 0 bits is designated as the first padding bit. In this way, each third code block has the same size.

[0193] Optionally, if the difference between the size of the r-th third code block and the size of the r-th first code block (i.e., the size CBsize of the r-th second code block) Sr With the first padding bit number CBsize C-1 -CBsize r The sum of these is less than the number of punctured bits in LDPC encoding, i.e., CBsize. r -CBsize Ar <2Z c Then, bit stuffing is performed on the third code block, for example, by stuffing 2Z before the first code block. c -(CBsize r -CBsize Ar ) bits of 0, denoted as the second padding bit, where 2Z c This represents the number of punctured bits for the information bits. This avoids the amplitude information bits being punctured during LDPC encoding. It's important to note that if the first bit padding is applied to the third code block r, then the size of the r-th third code block is CBsize. C-1 .

[0194] In this embodiment, the flowchart of the grouping and code block segmentation of the information bits to be transmitted is shown in Figure 6.

[0195] After bit stuffing, CB CRC is added to the third code block, and bit stuffing is performed according to the encoder input code block size to obtain the encoder input code block, denoted as the third stuffing bit. In summary, the encoder input code block consists of {second code block, first stuffing bit (if any), second stuffing bit (if any), first code block, CRC check bit, third stuffing bit (if any)}. Let K... r =K represents the size of the r-th encoder input code block, i.e., the number of bits. K is calculated as follows:

[0196] Calculate the sum K of the number of information bits (including the second and third bits), the first padding bit (if any), the second padding bit (if any), and the CRC bits in each code block. ′ =CBsize r (No first padding bit or second padding bit exists), or K ′ =CBsize C-1 (The first padding bit exists, but the second padding bit does not exist), or, K ′ =2Z c +CBsize Ar (A second padding bit exists);

[0197] Determine the parameter K associated with the base graph (BG). b :

[0198] When using BG1 encoding, K b =22;

[0199] When using BG2 for encoding

[0200] If B > 640, K b =10;

[0201] If 560 <B≤640,K b =9;

[0202] If 192 <B≤560,K b =8;

[0203] When B is any other value, K b =6.

[0204] Calculate the number of bits K in each code block, and find the code block that satisfies K from Table 1 above. b ·Z c >K ′ The minimum value of the improvement factor Z is denoted as Z0. c Therefore, the value of K is determined:

[0205] When BG1 is used for encoding, K = 22Z c ;

[0206] When BG2 is used for encoding, K = 10Z c .

[0207] The bit sequence c of each encoder input code block is calculated using the following procedure. rk :

[0208] Another method for code block segmentation is as follows:

[0209] The method for segmenting the second bit set can also be: based on Calculate the size of each first code block and perform bit stuffing on the second bit, for example, stuffing the first bit of the second bit. The zero bits are called the first amplitude value padding bits, ensuring that the number of bits after padding is divisible by the number of code block segments, C. If Then no bit stuffing is needed. Then proceed as follows: The second bit set after bit stuffing is evenly divided into C first code blocks.

[0210] Another method for splitting the third bit is: based on Calculate the size of each second code block and perform bit stuffing on the third bit, for example, stuffing the third bit at the end. The zero bits are called the first sign bit stuffing bits, ensuring that the number of bits after stuffing is divisible by the number of code block segments, C. If Then no bit stuffing is needed. Then proceed as follows: The third bit set after bit stuffing is evenly divided into C second code blocks.

[0211] Then, the second and first code blocks are concatenated to obtain the third code block. At this point, each third code block has the same size, i.e., CBsize = CBsize. S +CBsize A Among them, only the third code block 0 contains the first amplitude value filling bit, and only the third code block C-1 contains the first sign bit filling bit.

[0212] Optionally, if the size of the second code block in the r-th third code block is CBsize S Less than the number of punctured bits in LDPC encoding, i.e., CBsize S <2Z c Then, bit stuffing is performed on the third code block, for example, by stuffing 2Z before the first code block. c -CBsize S Each of the 0 bits is designated as the second padding bit, where 2Z c This specifies the number of punctured bits for the information bits. This prevents the amplitude information bits from being punctured during LDPC encoding.

[0213] Example 4:

[0214] This embodiment mainly describes The time-probability integer shaping process and code block segmentation method include the following:

[0215] when In this case, all N bits of the information to be transmitted are used as the first bit, with no third bit; that is, the fourth bit used for modulation comes entirely from the parity bit, as shown in Figure 7. Additionally, if... Then it is also necessary to perform bit stuffing on the bits of the information to be transmitted, that is, stuffing. Get zero bits Each bit is used as the first bit.

[0216] L is obtained by performing distribution matching and binary mapping on the first bit. b The second bit The specific details are the same as in Example 2.

[0217] Based on the number of the second bit Lb Maximum code block size K cb TB CRC length At least one of the terms determines the number of code block segments C, let B = L b Indicates the number of the second bit.

[0218] If B≤K cb If B > K, then no CB CRC needs to be added, i.e., L = 0, and the number of code blocks C = 1; cb Then L = 24, the number of code blocks

[0219] Or, if B≤K cb If -K0, then no CB CRC needs to be added, i.e., L=0, and the number of code blocks C=1; if B>K cb -K0, then L=24, number of code blocks

[0220] That is, according to K cb -K0 is used for code block segmentation, such that the length of each segmented code block is relative to K. cb There is a certain margin to prevent the final code block length from exceeding K due to padding the second code block in each code block with zeros. cb Where K0 can take the value 2Z max Z max To increase the maximum value that factor Z can take, for example according to Table 1 above, Z max =384.

[0221] After determining the number of code block segments C, for L b The second bit is used to divide the code into C first code blocks. During the division, it is necessary to ensure as uniform a division as possible. Specifically...

[0222] The second bit segmentation method is as follows:

[0223] In this embodiment, the concatenation of the r-th first code block is the r-th third code block, and the size of the r-th third code block is CBsize. r =CBsize Ar Where r = 0, 1, ..., C-1.

[0224] Optionally, to ensure that the size of each third code block is consistent, the size of the (C-1)th third code block is CBsize. C-1 Based on the standard, for sizes smaller than CBsize C-1 The third code block r is bit-stuffed, for example, by stuffing CBsize at the beginning of the third code block r. C-1 -CBsize r Each of the first 0 bits is designated as the first padding bit. In this way, each third code block has the same size.

[0225] Optionally, to avoid the amplitude information bits being punctured during LDPC encoding, bit stuffing is performed on the third code block, for example, by stuffing 2Z at the beginning of the third code block. c -(CBsize C-1 -CBsize r ) bits of 0, denoted as the second padding bit, where 2Z c This represents the number of punctured bits in the information bits.

[0226] In this embodiment, the flowchart of code block segmentation is shown in Figure 8.

[0227] After bit stuffing, CB CRC is added to the third code block, and bit stuffing is performed according to the encoder input code block size to obtain the encoder output code block, denoted as the third stuffing bit. In summary, the encoder output code block consists of {first stuffing bit (if any), second stuffing bit (if any), first code block, CRC check bit, third stuffing bit (if any)}.

[0228] Let K r =K represents the size of the r-th encoder input code block, i.e., the number of bits. The method for calculating K and the bit sequence c for calculating each encoder input code block are also explained. rk The method is the same as in Example 2.

[0229] Another method for code block segmentation is as follows:

[0230] The method for splitting the second bit can also be: according to Calculate the size of each first code block and perform bit stuffing on the second bits, for example, stuffing the beginning of the second bit set. The zero bits are called the first amplitude value padding bits, ensuring that the number of bits after padding is divisible by the number of code block segments, C. If Then no bit stuffing is needed. Then proceed as follows: The second bit, after being padded, is evenly divided into C first code blocks.

[0231] The first code block after segmentation is the third code block. At this time, each third code block has the same size, that is, CBsize = CBsize. A Of these, only the third code block 0 contains the first amplitude value padding bits.

[0232] Optionally, to avoid the amplitude information bits being punctured during LDPC encoding, bit stuffing is performed on the third code block, for example, by stuffing 2Z at the beginning of the third code block. c -CBsize bits of 0, denoted as the second padding bits, where 2Z cThis represents the number of punctured bits in the information bits.

[0233] This application provides a code block segmentation method that combines probabilistic shaping technology with LDPC coding. Considering the characteristic of grouping bits in TB into information bits for mapping amplitude values ​​and information bits for mapping sign bits, a new code block segmentation mechanism is designed to ensure that the information bits mapped to amplitude values ​​and the information bits mapped to sign bits are distributed as evenly as possible among the code blocks, thus ensuring the effect of probabilistic shaping and improving data transmission performance.

[0234] The code block segmentation method provided in this application can be executed by a code block segmentation device. This application uses a code block segmentation device executing the code block segmentation method as an example to illustrate the code block segmentation device provided in this application.

[0235] This application provides a code block segmentation device. As an example, the code block segmentation device can be a communication device or a component in a communication device, such as a chip. The communication device can be a terminal, a network-side device, or a server, etc. Exemplarily, the terminal can be, but is not limited to, the type of terminal 11 listed above, and the network-side device can be, but is not limited to, the type of network-side device 12 listed above. This application does not impose specific limitations.

[0236] The code block segmentation device includes a receiving module, a transmitting module, and a processing module. These modules can be implemented in software or hardware. When implemented in hardware, the processing module can be implemented by a processor. For example, the processor can include a general-purpose processor, a special-purpose processor, such as a Central Processing Unit (CPU), microprocessor, Digital Signal Processor (DSP), Artificial Intelligence (AI) processor, Graphics Processing Unit (GPU), Application Specific Integrated Circuit (ASIC), Network Processor (NP), Field Programmable Gate Array (FPGA), or other programmable logic devices, gate circuits, transistors, discrete hardware components, etc. The receiving and transmitting modules can be implemented by a communication interface, which can include one or more of the following: transceiver, pins, circuits, bus, radio frequency unit, etc.

[0237] Specifically, referring to Figure 9, when the code block segmentation device is a terminal or a component within a terminal, or when the code block segmentation device is a network-side device or a component within a network-side device, the code block segmentation device 900 includes:

[0238] Processing module 901 is used to determine the first bit in the information bits to be transmitted;

[0239] The processing module 901 is further configured to map the first bit to L A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A It is a positive integer;

[0240] The processing module 901 is further configured to perform code block segmentation on the second bit to obtain C first code blocks, where C is a positive integer.

[0241] Optionally, the processing module 901 is used to group the bits of the information to be transmitted into bits to obtain the first bit and the third bit.

[0242] Optionally, the processing module 901 is further configured to perform code block segmentation processing on the third bit to obtain C second code blocks.

[0243] Optionally, the value of C is determined based on at least one of the following:

[0244] The number of bits in the second bit, the number of bits in the third bit, the maximum code block size, and the cyclic redundancy check (CRC) length of the code block.

[0245] Optionally, the value of C satisfies at least one of the following:

[0246] When the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the maximum code block size, the value of C is 1;

[0247] If the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the first value, then the value of C is 1;

[0248] When the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the maximum code block size, the

[0249] If the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the first value, then...

[0250] Wherein, B is the sum of the number of bits in the second bit and the number of bits in the third bit, L is the CRC length of the code block, and the first value is K. cb -K0, the K cb K0 is the maximum code block size, and K0 is a value determined based on the boosting factor.

[0251] Optionally, the processing module 901 is configured to perform code block segmentation processing on the second bit according to at least one of the second value and the third value to obtain C first code blocks, wherein the C first code blocks include at least one of the following: a code block of size the second value, a code block of size the third value, wherein the second value is the result of rounding down the quotient obtained by dividing the number of the second bits by C, and the third value is the result of rounding up the quotient obtained by dividing the number of the second bits by C; or,

[0252] The processing module 901 is used to fill the second bit, and to perform code block segmentation on the filled second bit to obtain C first code blocks, wherein the quotient obtained by dividing the number of bits of the filled second bit by C is a positive integer.

[0253] Optionally, the processing module 901 is configured to perform code block segmentation processing on the third bit according to at least one of the fourth value and the fifth value to obtain C second code blocks, wherein the C second code blocks include at least one of the following: a code block of size the fourth value, and a code block of size the fifth value, wherein the fourth value is the result of rounding down the quotient obtained by dividing the number of the third bits by C, and the fifth value is the result of rounding up the quotient obtained by dividing the number of the third bits by C; or,

[0254] The processing module 901 is used to fill the third bit, and to perform code block segmentation on the filled third bit to obtain C second code blocks, wherein the quotient obtained by dividing the number of bits of the filled third bit by C is a positive integer.

[0255] Optionally, the processing module 901 is also used to base the encoded output bits and L A Each amplitude value is modulated to obtain modulated data;

[0256] The encoded output bits are the bits that are encoded and output from the following code blocks:

[0257] The C first code blocks; or,

[0258] The C third code blocks are obtained by concatenating the C first code blocks and the C second code blocks.

[0259] Optionally, the processing module 901 is configured to select a fourth bit from the encoded output bits by rate matching; wherein, when the encoded output bits are bits used to encode the C third code blocks, the fourth bit includes the third bit and a parity bit; or, when the encoded output bits are bits used to encode the C first code blocks or the C third code blocks, the fourth bit includes the second bit and a parity bit; or, when the encoded output bits are bits used to encode the C first code blocks or the C third code blocks, the fourth bit includes a parity bit; or, when the encoded output bits are bits used to encode the C third code blocks, the fourth bit includes the second bit, the third bit, and a parity bit.

[0260] Based on the fourth bit and L A Each amplitude value is modulated to obtain modulated data.

[0261] Optionally, the L A The amplitude value is L mapped from the first bit. A One amplitude value; or,

[0262] The L A The amplitude value is: selecting the second bit from the encoded output bits, and mapping the second bit to L. A Amplitude values.

[0263] Optionally, the concatenation of the C first code blocks and the C second code blocks includes:

[0264] Concatenate the C first code blocks and the C second code blocks to obtain C fourth code blocks;

[0265] Fill in all or part of the C fourth code blocks to obtain C third code blocks of the same size.

[0266] Optionally, in the third code block, the second code block is located before the first code block.

[0267] The aforementioned code block segmentation device can improve data transmission performance.

[0268] The code block segmentation device provided in this application embodiment can implement the various processes implemented in the method embodiment of FIG2 and achieve the same technical effect. To avoid repetition, it will not be described again here.

[0269] As shown in Figure 10, this application embodiment also provides a communication device 1000, including a processor 1001 and a memory 1002. The memory 1002 stores a program or instructions that can run on the processor 1001. For example, when the communication device 1000 is a terminal, the program or instructions executed by the processor 1001 implement the various steps of the above-described code block segmentation method embodiment and achieve the same technical effect. When the communication device 1000 is a network-side device, the program or instructions executed by the processor 1001 implement the various steps of the above-described code block segmentation method embodiment and achieve the same technical effect. To avoid repetition, further details are omitted here.

[0270] This application also provides a terminal, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the steps in the method embodiment shown in FIG2. This terminal embodiment corresponds to the above-described terminal-side method embodiment, and all implementation processes and methods of the above-described method embodiments can be applied to this terminal embodiment and can achieve the same technical effect. The terminal can be the code block segmentation device shown in FIG9. Specifically, FIG11 is a schematic diagram of the hardware structure of a terminal implementing an embodiment of this application.

[0271] The terminal 1100 includes, but is not limited to, at least some of the following components: radio frequency unit 1101, network module 1102, audio output unit 1103, input unit 1104, sensor 1105, display unit 1106, user input unit 1107, interface unit 1108, memory 1109, and processor 1110.

[0272] Those skilled in the art will understand that terminal 1100 may also include a power supply (such as a battery) for powering various components. The power supply can be logically connected to processor 1110 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The terminal structure shown in Figure 11 does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0273] It should be understood that, in this embodiment, the input unit 1104 may include a graphics processor 11041 and a microphone 11042. The graphics processor 11041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 1106 may include a display panel 11061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 1107 includes at least one of a touch panel 11071 and other input devices 11072. The touch panel 11071 is also called a touch screen. The touch panel 11071 may include a touch detection device and a touch controller. Other input devices 11072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.

[0274] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 1101 can transmit it to the processor 1110 for processing; in addition, the radio frequency unit 1101 can send uplink data to the network-side device. Typically, the radio frequency unit 1101 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.

[0275] The memory 1109 can be used to store software programs or instructions, as well as various data. The memory 1109 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 1109 may include volatile memory or non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 1109 in this embodiment includes, but is not limited to, these and any other suitable types of memory.

[0276] Processor 1110 may include one or more processing units; optionally, processor 1110 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 1110.

[0277] The processor 1110 is configured to determine a first bit in the information bits to be transmitted; and map the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is divided into code blocks to obtain C first code blocks, where C is a positive integer.

[0278] Optionally, determining the first bit in the information bits to be transmitted includes:

[0279] The bits of information to be transmitted are divided into bit groups to obtain the first bit and the third bit.

[0280] Optionally, the processor 1110 is also used for:

[0281] The third bit is subjected to code block segmentation to obtain C second code blocks.

[0282] Optionally, the value of C is determined based on at least one of the following:

[0283] The number of bits in the second bit, the number of bits in the third bit, the maximum code block size, and the cyclic redundancy check (CRC) length of the code block.

[0284] Optionally, the value of C satisfies at least one of the following:

[0285] When the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the maximum code block size, the value of C is 1;

[0286] If the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the first value, then the value of C is 1;

[0287] When the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the maximum code block size, the

[0288] If the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the first value, then...

[0289] Wherein, B is the sum of the number of bits in the second bit and the number of bits in the third bit, L is the CRC length of the code block, and the first value is K. cb -K0, the K cb K0 is the maximum code block size, and K0 is a value determined based on the boosting factor.

[0290] Optionally, the step of performing code block segmentation on the second bit to obtain C first code blocks includes:

[0291] The second bit is segmented into code blocks according to at least one of the second and third values ​​to obtain C first code blocks. The C first code blocks include at least one of the following: a code block of size the second value, and a code block of size the third value, wherein the second value is the floor function of the quotient obtained by dividing the number of the second bits by C, and the third value is the floor function of the quotient obtained by dividing the number of the second bits by C; or...

[0292] The second bit is padded, and the padded second bit is segmented into code blocks to obtain C first code blocks, wherein the quotient obtained by dividing the number of bits of the padded second bit by C is a positive integer.

[0293] Optionally, the step of performing code block segmentation on the third bit to obtain C second code blocks includes:

[0294] The third bit is segmented into code blocks according to at least one of the fourth and fifth values ​​to obtain C second code blocks. Each C second code block includes at least one of the following: a code block of size equal to the fourth value, and a code block of size equal to the fifth value, wherein the fourth value is the floor function of the quotient obtained by dividing the number of third bits by C, and the fifth value is the floor function of the quotient obtained by dividing the number of third bits by C; or...

[0295] The third bit is padded, and the padded third bit is segmented into code blocks to obtain C second code blocks, wherein the quotient obtained by dividing the number of bits of the padded third bit by C is a positive integer.

[0296] Optionally, the processor 1110 is also used for:

[0297] Based on the encoded output bits and L A Each amplitude value is modulated to obtain modulated data;

[0298] The encoded output bits are the bits that are encoded and output from the following code blocks:

[0299] The C first code blocks; or,

[0300] The C third code blocks are obtained by concatenating the C first code blocks and the C second code blocks.

[0301] Optionally, the method based on encoded output bits and L A Each amplitude value is modulated to obtain modulated data including:

[0302] A fourth bit is selected from the encoded output bits by rate matching; wherein, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the third bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes the second bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes a parity bit; or, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the second bit, the third bit, and a parity bit.

[0303] Based on the fourth bit and L A Each amplitude value is modulated to obtain modulated data.

[0304] Optionally, the L A The amplitude value is L mapped from the first bit. A One amplitude value; or,

[0305] The L A The amplitude value is: selecting the second bit from the encoded output bits, and mapping the second bit to L. A Amplitude values.

[0306] Optionally, concatenating the C first code blocks and C second code blocks includes:

[0307] Concatenate the C first code blocks and the C second code blocks to obtain C fourth code blocks;

[0308] Fill in all or part of the C fourth code blocks to obtain C third code blocks of the same size.

[0309] Optionally, in the third code block, the second code block is located before the first code block.

[0310] The aforementioned terminals can improve data transmission performance.

[0311] It is understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the method embodiment and achieve the same or corresponding technical effect. To avoid repetition, it will not be described again here.

[0312] This application also provides a network-side device, including a processor and a communication interface. The communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the steps of the method embodiment shown in FIG2. This network-side device embodiment corresponds to the above-described network-side device method embodiment. All implementation processes and methods of the above-described method embodiments can be applied to this network-side device embodiment and can achieve the same technical effect.

[0313] Specifically, this application embodiment also provides a network-side device, which can be the code block segmentation device shown in FIG9. As shown in FIG12, the network-side device 1200 includes: an antenna 1201, a radio frequency device 1202, a baseband device 1203, a processor 1204, and a memory 1205. The antenna 1201 is connected to the radio frequency device 1202. In the uplink direction, the radio frequency device 1202 receives information through the antenna 1201 and sends the received information to the baseband device 1203 for processing. In the downlink direction, the baseband device 1203 processes the information to be transmitted and sends it to the radio frequency device 1202, which processes the received information and transmits it through the antenna 1201.

[0314] The method executed by the network-side device in the above embodiments can be implemented in the baseband device 1203, which includes a baseband processor.

[0315] The baseband device 1203 may include at least one baseband board, on which multiple chips are disposed, as shown in FIG12. One of the chips is, for example, a baseband processor, which is connected to the memory 1205 via a bus interface to call the program or instructions in the memory 1205 to execute the network-side device operation shown in the above method embodiment.

[0316] The network-side device may also include a network interface 1206, such as a Common Public Radio Interface (CPRI).

[0317] The processor 1204 is configured to determine a first bit in the information bits to be transmitted; and map the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A The second bit is a positive integer; the second bit is divided into code blocks to obtain C first code blocks, where C is a positive integer.

[0318] Optionally, determining the first bit in the information bits to be transmitted includes:

[0319] The bits of information to be transmitted are divided into bit groups to obtain the first bit and the third bit.

[0320] Optionally, the processor 1204 is also used for:

[0321] The third bit is subjected to code block segmentation to obtain C second code blocks.

[0322] Optionally, the value of C is determined based on at least one of the following:

[0323] The number of bits in the second bit, the number of bits in the third bit, the maximum code block size, and the cyclic redundancy check (CRC) length of the code block.

[0324] Optionally, the value of C satisfies at least one of the following:

[0325] When the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the maximum code block size, the value of C is 1;

[0326] If the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the first value, then the value of C is 1;

[0327] When the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the maximum code block size, the

[0328] If the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the first value, then...

[0329] Wherein, B is the sum of the number of bits in the second bit and the number of bits in the third bit, L is the CRC length of the code block, and the first value is K. cb -K0, the K cb K0 is the maximum code block size, and K0 is a value determined based on the boosting factor.

[0330] Optionally, the step of performing code block segmentation on the second bit to obtain C first code blocks includes:

[0331] The second bit is segmented into code blocks according to at least one of the second and third values ​​to obtain C first code blocks. The C first code blocks include at least one of the following: a code block of size the second value, and a code block of size the third value, wherein the second value is the floor function of the quotient obtained by dividing the number of the second bits by C, and the third value is the floor function of the quotient obtained by dividing the number of the second bits by C; or...

[0332] The second bit is padded, and the padded second bit is segmented into code blocks to obtain C first code blocks, wherein the quotient obtained by dividing the number of bits of the padded second bit by C is a positive integer.

[0333] Optionally, the step of performing code block segmentation on the third bit to obtain C second code blocks includes:

[0334] The third bit is segmented into code blocks according to at least one of the fourth and fifth values ​​to obtain C second code blocks. Each C second code block includes at least one of the following: a code block of size equal to the fourth value, and a code block of size equal to the fifth value, wherein the fourth value is the floor function of the quotient obtained by dividing the number of third bits by C, and the fifth value is the floor function of the quotient obtained by dividing the number of third bits by C; or...

[0335] The third bit is padded, and the padded third bit is segmented into code blocks to obtain C second code blocks, wherein the quotient obtained by dividing the number of bits of the padded third bit by C is a positive integer.

[0336] Optionally, the processor 1204 is also used for:

[0337] Based on the encoded output bits and L A Each amplitude value is modulated to obtain modulated data;

[0338] The encoded output bits are the bits that are encoded and output from the following code blocks:

[0339] The C first code blocks; or,

[0340] The C third code blocks are obtained by concatenating the C first code blocks and the C second code blocks.

[0341] Optionally, the method based on encoded output bits and L A Each amplitude value is modulated to obtain modulated data including:

[0342] A fourth bit is selected from the encoded output bits by rate matching; wherein, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the third bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes the second bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes a parity bit; or, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the second bit, the third bit, and a parity bit.

[0343] Based on the fourth bit and L A Each amplitude value is modulated to obtain modulated data.

[0344] Optionally, the L A The amplitude value is L mapped from the first bit. A One amplitude value; or,

[0345] The L A The amplitude value is: selecting the second bit from the encoded output bits, and mapping the second bit to L. A Amplitude values.

[0346] Optionally, concatenating the C first code blocks and C second code blocks includes:

[0347] Concatenate the C first code blocks and the C second code blocks to obtain C fourth code blocks;

[0348] Fill in all or part of the C fourth code blocks to obtain C third code blocks of the same size.

[0349] Optionally, in the third code block, the second code block is located before the first code block.

[0350] In addition, the network-side device 12000 of this application embodiment also includes: a program or instructions stored in the memory 1205 and executable on the processor 1204. The processor 1204 calls the program or instructions in the memory 1205 to execute the methods executed by each module shown in FIG2 and achieve the same technical effect. To avoid repetition, it will not be described in detail here.

[0351] The aforementioned network-side devices can improve data transmission performance.

[0352] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described code block segmentation method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0353] The processor mentioned above is either the processor in the terminal described in the above embodiments or the processor in the network-side device. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk. In some examples, the readable storage medium may be a non-transient readable storage medium.

[0354] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described code block segmentation method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0355] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.

[0356] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described code block segmentation method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0357] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.

[0358] From the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of computer software products plus necessary general-purpose hardware platforms, and of course, they can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disk, optical disk, etc.), and the computer software product includes several instructions to cause the terminal or network-side device to execute the methods described in the various embodiments of this application.

[0359] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other implementations under the guidance of this application without departing from the spirit and scope of the claims. All of these implementations are within the protection scope of this application.

Claims

1. A code block segmentation method, comprising: The communication device determines the first bit in the information bits to be transmitted; The communication device maps the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A It is a positive integer; The communication device performs code block segmentation on the second bit to obtain C first code blocks, where C is a positive integer.

2. The method according to claim 1, wherein, The communication device determines the first bit from the bits of information to be transmitted by including: The communication device divides the bits of information to be transmitted into bit groups to obtain the first bit and the third bit.

3. The method according to claim 2, further comprising: The communication device performs code block segmentation on the third bit to obtain C second code blocks.

4. The method according to any one of claims 1 to 3, wherein, The value of C is determined based on at least one of the following: The number of bits in the second bit, the number of bits in the third bit, the maximum code block size, and the cyclic redundancy check (CRC) length of the code block.

5. The method according to claim 4, wherein, The value of C satisfies at least one of the following: When the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the maximum code block size, the value of C is 1; If the sum of the number of bits in the second bit and the number of bits in the third bit is less than or equal to the first value, then the value of C is 1; When the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the maximum code block size, the If the sum of the number of bits in the second bit and the number of bits in the third bit is greater than the first value, then... Wherein, B is the sum of the number of bits in the second bit and the number of bits in the third bit, L is the CRC length of the code block, and the first value is K. cb -K0, the K cb K0 is the maximum code block size, and K0 is a value determined based on the boosting factor.

6. The method according to any one of claims 1 to 5, wherein, The communication device performs code block segmentation on the second bit to obtain C first code blocks, including: The communication device performs code block segmentation on the second bit according to at least one of the second and third values ​​to obtain C first code blocks. The C first code blocks include at least one of the following: a code block of size the second value, and a code block of size the third value, wherein the second value is the floor function of the quotient obtained by dividing the number of the second bits by C, and the third value is the floor function of the quotient obtained by dividing the number of the second bits by C; or... The communication device fills the second bit, and performs code block segmentation on the filled second bit to obtain C first code blocks, wherein the quotient obtained by dividing the number of bits of the filled second bit by C is a positive integer.

7. The method according to any one of claims 3 to 6, wherein, The communication device performs code block segmentation on the third bit to obtain C second code blocks, including: The communication device performs code block segmentation on the third bit according to at least one of a fourth value and a fifth value to obtain C second code blocks. The C second code blocks include at least one of the following: a code block of size equal to the fourth value, and a code block of size equal to the fifth value, wherein the fourth value is the integer part of the quotient obtained by dividing the number of third bits by C, and the fifth value is the integer part of the quotient obtained by dividing the number of third bits by C; or... The communication device fills the third bit, and performs code block segmentation on the filled third bit to obtain C second code blocks, wherein the quotient obtained by dividing the number of bits of the filled third bit by C is a positive integer.

8. The method according to any one of claims 1 to 7, further comprising: The communication device is based on encoded output bits and L A Each amplitude value is modulated to obtain modulated data; The encoded output bits are the bits that are encoded and output from the following code blocks: The C first code blocks; or, The C third code blocks are obtained by concatenating the C first code blocks and the C second code blocks.

9. The method according to claim 8, wherein, The communication device is based on encoded output bits and L A Each amplitude value is modulated to obtain modulated data including: The communication device selects a fourth bit from the encoded output bits through rate matching; wherein, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the third bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes the second bit and a parity bit; or, when the encoded output bit is a bit used to encode the C first code blocks or the C third code blocks, the fourth bit includes a parity bit; or, when the encoded output bit is a bit used to encode the C third code blocks, the fourth bit includes the second bit, the third bit, and a parity bit. The communication device is based on the fourth bit and L A Each amplitude value is modulated to obtain modulated data.

10. The method according to claim 9, wherein, The L A The amplitude value is L mapped from the first bit. A One amplitude value; or, The L A The amplitude value is: selecting the second bit from the encoded output bits, and mapping the second bit to L. A Amplitude values.

11. The method according to any one of claims 8 to 10, wherein, The concatenation of the C first code blocks and the C second code blocks includes: Concatenate the C first code blocks and the C second code blocks to obtain C fourth code blocks; Fill in all or part of the C fourth code blocks to obtain C third code blocks of the same size.

12. The method according to any one of claims 8 to 11, wherein, In the third code block, the second code block is located before the first code block.

13. A code block segmentation device, comprising: The processing module is used to determine the first bit in the bits of information to be transmitted; The processing module is further configured to map the first bit to L. A Amplitude value, and the L A The second bit is obtained by binary mapping of the amplitude values, where L A It is a positive integer; The processing module is further configured to perform code block segmentation on the second bit to obtain C first code blocks, where C is a positive integer.

14. The apparatus according to claim 13, wherein, The processing module is used to group the bits of the information to be transmitted into bits to obtain the first bit and the third bit.

15. The apparatus according to claim 14, wherein, The processing module is also used to perform code block segmentation on the third bit to obtain C second code blocks.

16. The apparatus according to any one of claims 13 to 15, wherein, The processing module is also used to base the encoded output bits and L A Each amplitude value is modulated to obtain modulated data; The encoded output bits are the bits that are encoded and output from the following code blocks: The C first code blocks; or, The C third code blocks are obtained by concatenating the C first code blocks and the C second code blocks.

17. The apparatus according to claim 16, wherein, The processing module is used to select a fourth bit from the encoded output bits by rate matching; wherein, when the encoded output bit is a bit for encoding the C third code blocks, the fourth bit includes the third bit and a parity bit; or, when the encoded output bit is a bit for encoding the C first code blocks or the C third code blocks, the fourth bit includes the second bit and a parity bit; or, when the encoded output bit is a bit for encoding the C first code blocks or the C third code blocks, the fourth bit includes a parity bit; or, when the encoded output bit is a bit for encoding the C third code blocks, the fourth bit includes the second bit, the third bit, and a parity bit. Based on the fourth bit and L A Each amplitude value is modulated to obtain modulated data.

18. A communication device comprising a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the code block segmentation method as described in any one of claims 1 to 12.

19. A readable storage medium storing a program or instructions that, when executed by a processor, implement the steps of the code block segmentation method as described in any one of claims 1 to 12.

20. A computer program product stored in a storage medium, the computer program product being executed by at least one processor to implement the steps of the code block segmentation method as described in any one of claims 1 to 12.