Wireless communication using batch-based cross-coding block network coding

By adopting a batch-based cross-coded block no-code rate encoding scheme in wireless communication, combined with the combined fountain erasure coding and cross-coded block design, the high latency and high decoding complexity problems of erasure coding in non-errorized channels in the prior art are solved, and more efficient decoding performance and flexibility are achieved.

CN119698765APending Publication Date: 2025-03-25HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202280097865.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-07-08
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

In existing wireless communications, the network encoding scheme based on erasure coding has problems with high latency and suboptimal performance in non-erected channels, especially in multicast applications, where the decoding complexity is high.

Method used

Batch-based cross-coding block (network coding) uncoded encoding solution, combined with joint fountain erasure coding and cross-coding block design, more effective decoding performance is achieved by mapping high-level coding packets to physical layer packets where cross-coding blocks are applied, and sub-blocks are used as the minimum decoding unit.

Benefits of technology

This solution reduces decoding complexity in wireless communication, improves decoding performance, and achieves better overall reliability and flexibility through batch design and sub-block decoding units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119698765A_ABST
    Figure CN119698765A_ABST
Patent Text Reader

Abstract

A code block (CB) is transmitted by a transmitting device in a wireless communication network and received by a receiving device. The CB is generated based on a batch of physical layer packets to which a subset of high-layer coded packets is mapped, and the high-layer coded packets are generated from high-layer information packets. A packet of the high-layer information packets used to generate the subset of high-layer encoded packets for the batch overlaps a packet of the high-layer information packets used to generate another subset of the high-layer encoded packets to map to another batch of physical layer packets. Check blocks are also transmitted and received, and each check block is generated based on portions of a number of CBs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates generally to wireless communications and, more particularly, to wireless communications using batch-based cross-coding block network coding. Background Art

[0002] Certain characteristics of network coding and rateless codes may be important in specific communication applications such as extended reality (XR), vehicle-to-everything (V2X), and multimedia broadcast service (MBS).

[0003] Fountain codes are an example of application layer rateless codes and have been used in multicast applications such as multimedia broadcast multicast service (MBMS). One motivation for using fountain codes in multicast applications is to reduce the inefficiencies associated with retransmissions. Automatic repeat request (ARQ) based retransmissions in multicast are inefficient because each receiver needs to send ARQ feedback, which incurs a large overhead. In addition, if any receiver cannot decode a multicast packet, the transmitter needs to retransmit the packet, which may result in a large number of retransmissions. Fountain codes help reduce retransmissions because fountain codes are rateless codes. In rateless codes, each decoded packet can help decode all the original packets. However, fountain codes also have limitations. Fountain codes are high-layer (e.g., application layer) codes and therefore have relatively high latency compared to physical layer Hybrid ARQ (HARQ) schemes. In addition, fountain codes are erasure codes and therefore their performance is limited in non-erasure channels. In addition, fountain codes are not easy to implement in network coding scenarios because their degree distribution is optimized for a single hop, which is the reason for their good performance and low decoding complexity.

[0004] Network coding schemes for multicast have been proposed and have been shown to be more suitable for multicast than traditional routing at intermediate nodes. Random linear network coding (RLNC) has been proposed as a practical implementation of network coding schemes. In RLNC, the source node sends a random linear combination of the input packets and each intermediate node sends a random linear combination of the packets it receives. However, RLNC may not always be practical because the decoding complexity is high when the number of packets is large.

[0005] A more practical network coding scheme is called batched sparse (BATS) code, which uses a fountain-style outer code and RLNC as an inner code. The outer code encodes the original packets into batches and applies RLNC in each batch to generate RLNC-encoded packets by linearly combining different source / intermediate packets with random coefficients.

[0006] According to another approach, a HARQ scheme based on cross-coding block coding using different sub-block interleaver groups can be used as a rateless code and also for multicast.

[0007] Each of the above existing solutions has its own shortcomings for multicast applications with very large files and other network coding applications. Fountain codes, RLNC and BATS are high-level erasure codes, so they all suffer from high latency and suboptimal performance in non-erasure channels. Wireless communication channels are mainly non-erasure channels, so the above erasure code-based solutions are not optimal or perfect in real wireless communication channels. As mentioned earlier, the above HARQ scheme based on cross-coding block coding can be used as a rateless code, and although this can solve the problems associated with the above high-level erasure code-based solutions and have excellent decoding performance, the decoding complexity of the cross-coding block coding-based solutions may be high for larger files or a large number of retransmissions.

[0008] For example, for network coding applications based on multicast or multi-source cooperation, it remains a challenge to find a network coding method to solve or at least reduce the impact of one or more of the above shortcomings. Summary of the invention

[0009] Some embodiments of the present invention relate to a new batch-based cross-codeblock (CB) rateless coding solution for network coding applications. For example, the batch-based cross-CB coding according to some embodiments uses a joint fountain erasure code and cross-CB coding design to fully utilize the rateless code and cross-CB coding. The batch design can maintain the overall degree distribution of the erasure code to achieve optimal global decoding. In addition, when mapping a high-level coding packet to a batch of physical layer packets to which cross-CB coding is applied, a sub-block of the CB can be used as the minimum decoding unit, which makes each batch helpful for decoding even when all cross-CB encoded physical layer packets in the batch are not fully decoded.

[0010] The complexity of the batch-based cross-CB coding disclosed in this article may also be limited because the cross-CB coding is applied to a small number of packets. Nevertheless, the batch-based cross-CB coding can still achieve better decoding performance than traditional network coding. This is because when decoding cross-CB encoded packets, the decoder can utilize soft combining, while traditional network coding is based on erasure codes and cannot utilize soft combining because the decoder will discard any packets that are not successfully decoded.

[0011] Batch-based encoding also allows for connecting different batches and achieving better overall reliability and flexibility through communication link adaptation, in the sense that each batch does not need to be guaranteed to be fully decoded. This is because if a batch is not successfully decoded, it is still possible that the batch can be recovered.

[0012] Cross-CB coding could be a complete physical layer solution that has the potential to compete with traditional network coding applications but better support cooperative applications based on multicast and network coding.

[0013] According to one aspect of the present invention, a method involves sending a plurality of CBs to a receiving device in a wireless communication network, wherein the CBs are generated based on a batch of physical layer packets to which a subset of high-level coding packets is mapped. The high-level coding packets are generated based on high-level information packets. The packets of the subset of high-level coding packets used to generate the batch overlap with packets of the high-level information packets used to generate another subset of the high-level coding packets to map to another batch of physical layer packets. The method also involves sending a plurality of check blocks to the receiving device. Each check block is generated based on parts of several CBs in the plurality of CBs.

[0014] Another aspect of the present invention relates to a method, the method involving receiving a plurality of CBs from a transmitting device in a wireless communication network and receiving a plurality of check blocks from the transmitting device. The CBs are generated based on a batch of physical layer packets to which a subset of high-level coding packets is mapped, and the high-level coding packets are generated based on high-level information packets. Packets of the subset of high-level coding packets used to generate the batch overlap with packets of the high-level information packets used to generate another subset of the high-level coding packets to map to another batch of physical layer packets. Each check block is generated based on parts of several CBs among the plurality of CBs.

[0015] According to another aspect of the present invention, an apparatus includes a processor and a non-transitory computer-readable storage medium coupled to the processor. The non-transitory computer-readable storage medium stores a program executed by the processor. A computer program product may be or include such a non-transitory computer-readable medium storing the program.

[0016] In one embodiment, the program includes instructions for performing the following operations or causing the processor to perform the following operations: sending multiple CBs from a transmitting device in a wireless communication network, and sending multiple check blocks from the transmitting device. In another embodiment, the program includes instructions for performing the following operations or causing the processor to perform the following operations: receiving the multiple CBs from the transmitting device, and receiving the multiple check blocks from the transmitting device. The CBs are generated based on a batch of physical layer packets to which a subset of high-level coding packets are mapped, and the high-level coding packets are generated based on high-level information packets. The packets of the subset of high-level coding packets used to generate the batch of high-level coding packets overlap with the packets of the high-level information packets used to generate another subset of the high-level coding packets to map to another batch of physical layer packets. Each check block is generated based on parts of several CBs among the multiple CBs.

[0017] Another aspect of the present invention relates to a processor used in a device, wherein the processor is configured to cause the device to execute any of the above methods.

[0018] The present invention encompasses these and other aspects or embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] For a more complete understanding of the embodiments of the present invention and its advantages, the following description is now made by way of example with reference to the accompanying drawings.

[0020] Figure 1 It is a simplified diagram of the communication system.

[0021] Figure 2 yes Figure 1 A block diagram of an exemplary communication system in FIG.

[0022] Figure 3 Exemplary electronic devices and base station examples are shown.

[0023] Figure 4 Shows units or modules in the device.

[0024] Figure 5 Batch-based cross-CB encoding of one embodiment is shown.

[0025] Fig. 6A and 6B An example of cross-CB coding is illustrated, where different interleaving is performed to generate multiple groups of vertical check blocks.

[0026] Figure 7 The mapping of higher layer coding packets to physical layer packets for batch-based cross-CB coding according to one embodiment is shown.

[0027] Figure 8 A decoding example in which a sub-block is the minimum decoding unit is shown.

[0028] Fig. 9 is a signal flow diagram illustrating an exemplary communication method of one embodiment. DETAILED DESCRIPTION

[0029] For the purpose of explanation, specific exemplary embodiments will now be explained in more detail with reference to the accompanying drawings.

[0030] The embodiments described herein represent information sufficient to practice the claimed subject matter and illustrate the manner in which such subject matter may be practiced. After reading the following description in light of the accompanying drawings, those skilled in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not specifically described herein. It should be understood that these concepts and applications are within the scope of the present invention and the appended claims.

[0031] refer to Figure 1 , as a non-limiting illustrative example, a simplified schematic diagram of a communication system is provided. The communication system 100 includes a radio access network 120. The radio access network 120 may be a next generation (e.g., sixth generation (“6G”) or higher) radio access network, or a conventional (e.g., 5G, 4G, 3G, or 2G) radio access network. One or more communication electronic devices (EDs) 110a, 110b, 110c, 110d, 110e, 110f, 110g, 110h, 110i, 110j (generally referred to as 110) may be interconnected with each other or connected to one or more network nodes (170a and 170b, generally referred to as 170) in the radio access network 120. The core network 130 may be part of the communication system and may be dependent on or independent of the radio access technology used in the communication system 100. In addition, the communication system 100 includes a public switched telephone network (PSTN) 140, the Internet 150, and other networks 160.

[0032] Figure 2An exemplary communication system 100 is shown. Typically, the communication system 100 enables multiple wireless or wired units to send data and other content. The purpose of the communication system 100 may be to provide content such as voice, data, video and / or text through broadcast, multicast and unicast, etc. The communication system 100 may operate by sharing resources such as carrier spectrum bandwidth between its constituent units. The communication system 100 may include a terrestrial communication system and / or a non-terrestrial communication system. The communication system 100 may provide a wide range of communication services and applications (e.g., earth monitoring, remote sensing, passive sensing and positioning, navigation and tracking, autonomous delivery and mobility, etc.). The communication system 100 may provide high availability and robustness through the joint operation of a terrestrial communication system and a non-terrestrial communication system. For example, by integrating a non-terrestrial communication system (or its components) into a terrestrial communication system, a heterogeneous network including multiple layers may be formed. Compared with traditional communication networks, heterogeneous networks may achieve better overall performance through efficient multi-link joint operation, more flexible function sharing, and faster physical layer link switching between terrestrial networks and non-terrestrial networks.

[0033] Terrestrial communication systems and non-terrestrial communication systems can be considered as subsystems of the communication system. Figure 2 In the example shown, the communication system 100 includes electronic devices (EDs) 110a, 110b, 110c, 110d (generally referred to as ED 110), radio access networks (RANs) 120a and 120b, non-terrestrial communication networks 120c, core networks 130, public switched telephone networks (PSTNs) 140, the Internet 150, and other networks 160. RANs 120a and 120b include corresponding base stations.

[0034] The non-terrestrial communication network 120c includes an access node 172, which is generally referred to as a non-terrestrial transmit and receive point (NT-TRP) 172.

[0035] Alternatively or in addition, any ED 110 may be used to connect, access or communicate with any T-TRP 170a and 170b, NT-TRP 172, Internet 150, core network 130, PSTN 140, other network 160, or any combination of the foregoing. In some examples, ED 110a may communicate with T-TRP 170a for uplink and / or downlink transmissions via ground air interface 190a. In some examples, ED 110a, 110b, 110c, and 110d may also communicate directly with each other via one or more sidelink air interfaces 190b. In some examples, ED 110d may communicate with NT-TRP 172 for uplink and / or downlink transmissions via non-ground air interface 190c.

[0036] The air interfaces 190a and 190b may use similar communication technologies, such as any suitable wireless access technology. For example, the communication system 100 may implement one or more channel access methods in the air interfaces 190a and 190b, such as code division multiple access (CDMA), space division multiple access (SDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA) or single-carrier FDMA (SC-FDMA). The air interfaces 190a and 190b may utilize other high-dimensional signal spaces, which may involve a combination of orthogonal dimensions and / or non-orthogonal dimensions.

[0037] The non-terrestrial air interface 190c can enable communication between ED 110d and one or more NT-TRPs 172 via a wireless link or a simple link. For some examples, the link is a dedicated connection for unicast transmission, a connection for broadcast transmission, or a connection between a group of EDs 110 and one or more NT-TRPs 175 for multicast transmission.

[0038] The RANs 120a and 120b communicate with the core network 130 to provide various services, such as voice, data, and other services, to the EDs 110a, 110b, and 110c. The RANs 120a and 120b and / or the core network 130 may communicate directly or indirectly with one or more other RANs (not shown), which may (or may not) be directly served by the core network 130 and may (or may not) use the same radio access technology as the RANs 120a, 120b, or both. The core network 130 may also serve as a gateway access between (i) the RANs 120a and 120b or the EDs 110a, 110b, and 110c, or both, and (ii) other networks (e.g., the PSTN 140, the Internet 150, and other networks 160). In addition, some or all of ED 110a, ED 110b, and ED 110c may include functionality to communicate with different wireless networks over different wireless links using different wireless technologies and / or protocols. ED 110a, ED 110b, and ED 110c may communicate with a service provider or switch (not shown) and with Internet 150 over a wired communication channel, rather than wirelessly (or in addition to wirelessly). PSTN 140 may include a circuit-switched telephone network for providing plain old telephone service (POTS). Internet 150 may include a computer network and a subnet (intranet), or both, and may include Internet Protocol (IP) communications.

[0039] (Internet Protocol, IP), Transmission Control Protocol (Transmission Control Protocol, TCP), User Datagram Protocol (User Datagram Protocol, UDP), etc. EDs 110a, 110b, and 110c may be multi-mode devices capable of operating according to multiple wireless access technologies and may include multiple transceivers required to support these technologies.

[0040] Figure 3Another example of ED 110 and base stations 170a, 170b and / or 170c is shown. ED 110 is used to connect people, objects, machines, etc. ED 110 can be widely used in various scenarios, such as cellular communication, device-to-device (D2D), vehicle to everything (V2X), peer-to-peer (P2P), machine-to-machine (M2M), machine-type communication (MTC), Internet of Things (IOT), virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearable devices, smart transportation, smart city, drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery and mobility, etc.

[0041] Each ED 110 represents any suitable end-user device for wireless operation, and may include (or may be referred to as): user equipment / device (UE), wireless transmit / receive unit (WTRU), mobile station, fixed or mobile user unit, cellular phone, station (STA), machine type communication (MTC) device, personal digital assistant (PDA), smart phone, laptop, computer, tablet, wireless sensor, consumer electronic device, smart book, vehicle, car, truck, bus, train or IoT device, industrial equipment, or devices in the above devices (e.g., communication module, modem or chip), etc. The next generation ED 110 may be referred to using other terms. Base stations 170a and 170b are both T-TRPs, which will be referred to as T-TRP 170 below. Similarly, Figure 3 As shown, the NT-TRP will be referred to hereinafter as NT-TRP 172. Each ED 110 connected to T-TRP 170 and / or NT-TRP 172 may be dynamically or semi-statically opened (i.e., established, activated, or enabled), closed (i.e., released, deactivated, or disabled), and / or configured in response to one or more of connection availability and connection necessity.

[0042] ED 110 includes a transmitter 201 and a receiver 203 coupled to one or more antennas 204. Only one antenna 204 is shown. Alternatively, one, some or all of the antennas 204 may be panels. Transmitter 201 and receiver 203 may be integrated into a transceiver, for example. The transceiver is used to modulate data or other content for transmission through at least one antenna 204 or a network interface controller (NIC). The transceiver may also be used to demodulate data or other content received through at least one antenna 204. Each transceiver includes: any suitable structure for generating signals for wireless or wired transmission and / or processing signals received by wireless or wired means. Each antenna 204 includes: any suitable structure for sending and / or receiving wireless or wired signals.

[0043] ED 110 includes at least one memory 208. Memory 208 stores instructions and data used, generated, or collected by ED 110. For example, memory 208 may store software instructions or modules for implementing some or all of the functions and / or embodiments described herein and executed by one or more processing units (e.g., processor 210). Each memory 208 includes any suitable one or more volatile and / or non-volatile storage and retrieval devices. Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disk, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, on-processor cache, etc.

[0044] ED 110 may also include one or more input / output devices (not shown) or interfaces (e.g., Figure 1 The input / output devices support interaction with users or other devices in the network. Each input / output device includes any suitable structure for providing information to or receiving information from a user through operations including network interface communication, such as a speaker, microphone, numeric keypad, keyboard, display, or touch screen.

[0045] ED 110 includes a processor 210 for performing operations, including operations related to preparing to send an uplink transmission to NT-TRP 172 and / or T-TRP 170; operations related to processing a downlink transmission received from NT-TRP 172 and / or T-TRP 170; and operations related to processing a sidelink transmission to and from another ED 110. Processing operations related to preparing to send an uplink transmission may include operations such as encoding, modulation, transmit beamforming, and generating symbols for transmission. Processing operations related to processing a downlink transmission may include operations such as receive beamforming, demodulation, and decoding received symbols. According to an embodiment, the downlink transmission may be received by receiver 203, possibly using receive beamforming, and processor 210 may extract signaling from the downlink transmission (e.g., by detecting the signaling and / or decoding the signaling). An example of signaling may be a reference signal sent by NT-TRP 172 and / or T-TRP 170. In some embodiments, the processor 210 implements transmit beamforming and / or receive beamforming based on a beam direction indication, such as beam angle information (BAI), received from the T-TRP 170. In some embodiments, the processor 210 may perform operations related to network access (e.g., initial access) and / or downlink synchronization, such as operations related to detecting a synchronization sequence, decoding, and obtaining system information. In some embodiments, the processor 210 may perform channel estimation, for example, using a reference signal received from the NT-TRP 172 and / or the T-TRP 170.

[0046] Although not shown, the processor 210 may form a part of the transmitter 201 and / or a part of the receiver 203. Although not shown, the memory 208 may form a part of the processor 210.

[0047] The processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented by the same or different one or more processors, which are used to execute instructions stored in a memory (e.g., memory 208). Alternatively, some or all of the processor 210, the processing components of the transmitter 201, and the processing components of the receiver 203 may each be implemented using a programmed field-programmable gate array (FPGA), a graphical processing unit (GPU), or an application-specific integrated circuit (ASIC).

[0048] In some implementations, T-TRP 170 may have other names, such as base station, base transceiver station (BTS), wireless base station, network node, network device, network side device, sending / receiving node, NodeB, evolved NodeB (eNodeB or eNB), home eNodeB, next generation NodeB (gNB), transmission point (TP), site controller, access point (AP), wireless router, relay station, remote radio head, ground node, ground network device, ground base station, base band unit (BBU), remote radio unit (RRU), active antenna unit (AAU), remote radio head (RRH), centralized unit (CU), distributed unit (DU), positioning node, etc. T-TRP 170 may be a macro base station, a micro base station, a relay node, a donor node, etc. or a combination thereof. T-TRP 170 may refer to the above-mentioned device or a means in the above-mentioned device (eg, a communication module, a modem, or a chip).

[0049] In some embodiments, parts of the T-TRP 170 may be distributed. For example, some modules of the T-TRP 170 may be remote from the device housing the antenna 256 of the T-TRP 170 and may be coupled to the device housing the antenna 256 via a communication link (not shown) such as a common public radio interface (CPRI) sometimes referred to as a fronthaul. Therefore, in some embodiments, the term T-TRP 170 may also refer to network-side modules that perform processing operations such as ED 110 location determination, resource allocation (scheduling), message generation, and encoding / decoding, which are not necessarily part of the device housing the antenna 256 of the T-TRP 170. These modules may also be coupled to other T-TRPs. In some embodiments, the T-TRP 170 may actually be multiple T-TRPs that operate together to serve the ED 110, for example, by using coordinated multi-point transmission.

[0050] The T-TRP 170 includes at least one transmitter 252 and at least one receiver 254 coupled to one or more antennas 256. Only one antenna 256 is shown. Alternatively, one, some, or all of the antennas 256 may be panels. The transmitter 252 and the receiver 254 may be integrated as a transceiver. The T-TRP 170 also includes a processor 260 for performing operations, including operations related to: preparing to send a downlink transmission to the ED 110; processing an uplink transmission received from the ED 110; preparing to send a backhaul transmission to the NT-TRP 172; processing a transmission received from the NT-TRP 172 via the backhaul. Processing operations related to preparing to send a downlink transmission or a backhaul transmission may include operations such as encoding, modulation, precoding (e.g., multiple input multiple output (MIMO) precoding), transmit beamforming, and generating symbols for transmission. Processing operations related to processing a transmission received in the uplink or via the backhaul may include operations such as receive beamforming, demodulating received symbols, and decoding received symbols. The processor 260 may also perform operations related to network access (e.g., initial access) and / or downlink synchronization, such as generating the content of a synchronization signal block (SSB), generating system information, etc. In some embodiments, the processor 260 also generates a beam direction indication, such as a BAI, which may be scheduled by the scheduler 253 for transmission. The processor 260 performs other network-side processing operations described herein, such as determining the location of the ED 110, determining the location of the deployed NT-TRP 172, etc. In some embodiments, the processor 260 may generate signaling, such as configuring one or more parameters of the ED 110 and / or one or more parameters of the NT-TRP 172. Any signaling generated by the processor 260 is sent by the transmitter 252. Note that "signaling" used herein may also be referred to as control signaling. Dynamic signaling may be sent in a control channel such as a physical downlink control channel (PDCCH), while static or semi-static higher layer signaling may be included in packets sent in a data channel such as a physical downlink shared channel (PDSCH).

[0051] The scheduler 253 may be coupled to the processor 260. The scheduler 253 may be included in the T-TRP 170 or may operate separately from the T-TRP 170. The scheduler 253 may schedule uplink transmissions, downlink transmissions, and / or backhaul transmissions, including issuing scheduling grants and / or configuring scheduling-free (“configuration grants”) resources. The T-TRP 170 also includes a memory 258 for storing information and data. The memory 258 stores instructions and data used, generated, or collected by the T-TRP 170. For example, the memory 258 may store software instructions or modules for implementing some or all of the functions and / or embodiments described herein and executed by the processor 260.

[0052] Although not shown, the processor 260 may form a part of the transmitter 252 and / or a part of the receiver 254. In addition, although not shown, the processor 260 may implement the scheduler 253. Although not shown, the memory 258 may form a part of the processor 260.

[0053] The processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may each be implemented by the same or different one or more processors, which are used to execute instructions stored in a memory (e.g., the memory 258). Alternatively, some or all of the processor 260, the scheduler 253, the processing components of the transmitter 252, and the processing components of the receiver 254 may be implemented using a dedicated circuit such as an FPGA, a GPU, or an ASIC.

[0054] It is noteworthy that the NT-TRP 172 is shown as a drone only as an example, and the NT-TRP 172 can be implemented in any suitable non-ground form. In addition, in some implementations, the NT-TRP 172 can have other names, such as a non-ground node, a non-ground network device, or a non-ground base station. The NT-TRP 172 includes a transmitter 272 and a receiver 274 coupled to one or more antennas 280. Only one antenna 280 is shown. Alternatively, one, some, or all of the antennas can be panels. The transmitter 272 and the receiver 274 can be integrated into a transceiver. The NT-TRP 172 also includes a processor 276 for performing operations, including operations related to: preparing to send a downlink transmission to the ED 110; processing an uplink transmission received from the ED 110; preparing to send a backhaul transmission to the T-TRP 170; processing a transmission received from the T-TRP 170 via the backhaul. Processing operations associated with preparing to send a downlink transmission or a backhaul transmission may include operations such as coding, modulation, precoding (e.g., MIMO precoding), transmit beamforming, and generating symbols for transmission. Processing operations associated with processing a transmission received in the uplink or through the backhaul may include operations such as receive beamforming, demodulating received signals, and decoding received symbols. In some embodiments, the processor 276 implements transmit beamforming and / or receive beamforming based on beam direction information (e.g., BAI) received from the T-TRP 170. In some embodiments, the processor 276 may generate signaling, for example, to configure one or more parameters of the ED 110. In some embodiments, the NT-TRP 172 implements physical layer processing, but does not implement higher-level functions such as functions of the medium access control (MAC) or radio link control (RLC) layer. Since this is just an example, in addition to physical layer processing, the NT-TRP 172 may generally implement higher-level functions.

[0055] The NT-TRP 172 also includes a memory 278 for storing information and data. Although not shown, the processor 276 may form a part of the transmitter 272 and / or a part of the receiver 274. Although not shown, the memory 278 may form a part of the processor 276.

[0056] Processor 276, the processing components of transmitter 272, and the processing components of receiver 274 may each be implemented by the same or different one or more processors that execute instructions stored in a memory (e.g., memory 278). Alternatively, some or all of processor 276, the processing components of transmitter 272, and the processing components of receiver 274 may be implemented using a programmed FPGA, GPU, or ASIC, etc., dedicated circuit. In some embodiments, NT-TRP 172 may actually be multiple NT-TRPs that operate together to serve ED 110, for example, via coordinated multi-point transmission.

[0057] The T-TRP 170, NT-TRP 172, and / or ED 110 may include other components, but these components are omitted for clarity.

[0058] One or more steps of the exemplary methods provided herein may be performed according to Figure 4 The corresponding unit or module is executed. Figure 4 Units or modules in devices such as ED 110, T-TRP 170, or NT-TRP 172 are shown. For example, a signal can be sent by a sending unit or a sending module. The signal can be received by a receiving unit or a receiving module. The signal can be processed by a processing unit or a processing module. Other steps can be performed by an artificial intelligence (AI) module or a machine learning (ML) module. The corresponding units or modules can be implemented using hardware, one or more components or devices that execute software, or a combination thereof. For example, one or more of these units or modules can be integrated circuits, such as programmed FPGAs, GPUs, or ASICs. It should be understood that when these modules are implemented using software executed by a processor, for example, in a single or multiple instances, these modules can be retrieved by the processor separately or together for processing as needed, in whole or in part, and these modules themselves can include instructions for further deployment and instantiation.

[0059] Additional details regarding ED 110, T-TRP 170, and NT-TRP 172 are known to those skilled in the art. Therefore, these details are omitted here.

[0060] Embodiments disclosed herein are generally related to wireless communications using batch-based cross-coding block network coding. The disclosed embodiments cover, for example, encoding and decoding for joint cross-CB coding and high-layer erasure coding.

[0061] At least as described above, several existing network coding methods have shortcomings for multicast applications with very large files and other network coding applications based on multi-source cooperation. The batch-based cross-CB coding solution disclosed herein may be suitable for solving or at least reducing the impact of one or more of these shortcomings.

[0062] Figure 5 Batch-based cross-CB encoding of one embodiment is shown.

[0063] The payload to be transmitted in a wireless communication network includes a plurality of information blocks, also referred to herein as information packets. The payload may first be divided into information packets at the transmitter, or may be generated or otherwise obtained as a plurality of information packets at the transmitter. Thus, the transmitter may (but need not necessarily) divide the payload into information packets. Information packets are as follows: Figure 5 Each information packet 510 may include a plurality of (eg, T) information symbols defined in a finite field. To avoid too much content in the drawings, Figure 5 The individual information symbols are not shown.

[0064] The coded packet is determined or generated based on the information packet 510 or a corresponding different subset of the information packet 510. Consistent with the embodiments disclosed herein, the information packet shown at 510 is a high-layer information packet associated with a medium access control (MAC) layer or a higher layer, and the coded packet is a high-layer coded packet generated from the high-layer information packet.

[0065] For example, erasure coding or erasure coding may be used to generate a high-layer coding packet based on the high-layer information packet 510. Figure 5 In the embodiment, batches or subsets of high-level coded packets are shown at 520, 522, and other embodiments may include more than two batches or subsets. Batches or subsets 520, 522 each include multiple high-level coded packets 524, 526. The code used to generate batches or subsets of high-level coded packets from the original high-level information packets may be referred to as, for example, a high-level code or an erasure code.

[0066] For example, consider an embodiment in which the encoding design encodes a number K of original high-level information packets 510 into batches 520, 522 of high-level coded packets. The generation of the high-level coded packets generally includes all high-level information packets 510. For example, a code such as a Reed Solomon (RS) code can be applied to all high-level information packets 510 to generate the high-level coded packets, and the batches or subsets 520, 522 each include a plurality of these high-level coded packets, which can be randomly, sequentially or otherwise selected from the complete set of high-level coded packets. In other embodiments, each individual batch or subset 520, 522 of high-level coded packets is based on a subset of less than all high-level information packets 510, and the corresponding batches or subsets of high-level information packets used to generate different batches or subsets 520, 522 of high-level coded packets are different. In either case, whether high-level coding packets are generated based on all high-level information packets and distributed among or between subsets or batches of high-level coding packets, or different batches or subsets of high-level coding packets are generated using corresponding different subsets of high-level information packets, there is overlap between the high-level information packets used to generate batches or subsets of high-level coding packets.

[0067] With respect to such overlap between the higher layer information packets used to generate batches or subsets of higher layer information packets, in the case where the higher layer information packets are generated based on all the higher layer information packets and then distributed among the batches or subsets, there may be a complete overlap between the original information packet subsets, in the sense that all the higher layer information packets are generated based on all the original higher layer information packets. In embodiments where subsets of the higher layer information packets are generated based on different subsets of the original higher layer information packets, there are common higher layer information packets that are part of multiple subsets, such as Figure 5 As shown in the example shown at the bottom by multiple arrows from the high-layer information packet 510, preferably the subsets of the high-layer information packets are not identical. Similarly, in both cases of generating subsets of high-layer coding packets based on all high-layer information packets or based on corresponding different subsets of high-layer information packets, there is overlap between the high-layer information packets used to generate different subsets of high-layer coding packets.

[0068] Now consider an example of generating batches or subsets 520, 522 of higher layer coded packets based on corresponding subsets of higher layer information packets 510. The number of higher layer information packets 510 in the subset on which the batches or subsets 520, 522 of higher layer coded packets are based may additionally or alternatively be referred to as the degree d of each batch. Figure 5 In the example shown, for batch or subset 520, d = 3. Figure 5d is shown by three arrows from three high-level information packets 510 toward 520. This is just an example, and different degrees may be used in addition or alternatively in other embodiments. Different subsets of high-level information packets may include different numbers of high-level information packets, so that d may be different for different batches or subsets (e.g., d1, d2, ...). Figure 5 In the example shown, the degree of batch 522 can be different from the degree 3 used for batch 520. The degree d of each batch can be selected by sampling a degree distribution, such as a robust soliton distribution (RSD) for Luby transform (LT) codes. The degree distribution characterizes the probability distribution of the random variable from which the degree is generated. Each sample of the degree distribution can be different from other samples, so the degree d of different batches is also different. The above examples of generating the degree d are intended to be non-limiting and illustrative, and different ways of generating the degree may be used in addition or alternatively in other embodiments.

[0069] Details about LT codes can be found in Michael Luby, "LT Codes," Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science, 2002, FOCS'02, pp. 271-282 ("Luby"). The above RSD is an example of a degree distribution, shown as Definition 11 in Luby. Another example of a degree distribution is the ideal soliton distribution, consistent with Definition 9 in Luby. RSD as a degree distribution may be advantageous in providing high decoding probability, where many packets are at low degree so decoding can begin and continue, while the degree is high enough so that all packets are covered. Another potential advantage of RSD is low decoding complexity, which is proportional to the number of edges in the decoding graph.

[0070] These potential advantages of RSD illustrate how the degree distribution from which the selection degree d may be based may be optimized or designed to achieve efficient and low complexity decoding. Selecting from a degree distribution is one example of how the degree d may be obtained for high layer packet coding.

[0071] After obtaining the batch of d, d high-layer information packets are randomly selected from the original K high-layer information packets or selected according to another selection criterion. The d selected high-layer information packets are then processed, for example, by a linear precoding stage, to generate each batch or subset 520, 522 of high-layer coded packets in the illustrated example.

[0072] According to an illustrative embodiment, a batch or subset of N high-level coding packets is generated in a corresponding finite field as a linear combination of d high-level information packets, which are selected to generate the batch or subset of high-level coding packets. This can be expressed as X = (S1, S2, ..., S d )G, where: S1, S2, …, S d Each is a vector of dimension T×1, representing T symbols in high-level information packets 1, 2, ..., d, respectively; G is a generator matrix of dimension d×N, containing linear coefficients for generating high-level coding packets in the batch or subset of high-level coding packets. Each column of G represents a linear coefficient, which in this example is used to generate the corresponding high-level coding packets in the batch or subset. X=(X1,X2,...,X N ), the dimension of X is T×N, and X i represents the i-th high-level coding packet, which is a vector of dimension T×1, and each element represents one of the T symbols of the i-th high-level coding packet.

[0073] In other words, the output of N high-level coding packets is X, whose dimension is T×N. In X, each column vector represents a high-level coding packet containing T symbols. For example, each linear combination coefficient can be a pseudo-random linear coefficient or another system design. This type of code becomes an LT code under the following conditions: N=1, d is selected by sampling the RSD, and the linear combination is an exclusive-OR (XOR) operation.

[0074] N high-level coding packets form a batch or subset to be processed using cross-CB coding. For example, cross-CB coding may be additionally or alternatively referred to as coding based on cross-CB codes, physical layer coding for transmission and retransmission, or two-dimensional (2D) coding. For example, in order to enable a receiver to decode a batch or subset of high-level coding packets generated based on a linear combination of high-level information packets, the linear coefficients of the high-level coding packets used to generate the batch or subset are provided to or to the receiver. One way to provide linear coefficients to a receiver is to include an indication of each linear coefficient and / or an index of the information packet used to generate the high-level coding packet in a packet header. More generally, information indicating how to generate each batch or subset of high-level coding packets can be sent together with the batch or subset as in this example, or separately in control signaling, for example. The information indicating how to generate each batch or subset of high-level coding packets may include any one or a combination of the following: which d high-level information packets are used to generate a batch or subset of high-level coding packets, and the linear coefficients used to combine d information packets. Note that the header of the higher layer coding packet may be included as part of the payload together with the coding bits of the higher layer coding packet to be mapped to the physical layer (PHY) packet disclosed herein.

[0075] In order to use cross-CB coding for each batch or subset of high-layer coding packets, the N high-layer coding packets of each batch or subset are mapped to M physical layer (PHY) packets. Then, cross-CB coding can be applied to the M PHY packets. Each PHY packet includes content to be sent, which can be referred to as, for example, data, information, or payload. For example, a PHY packet may include information bits of a transport block (TB), and as described in the 5G NR or 4G LTE standards, a TB may be divided into one or more code blocks (CBs) for transmission. It can be seen that, at least in this sense, as disclosed herein, mapping a batch or subset of high-layer coding packets to a batch of PHY packets can be considered equivalent to mapping a batch or subset of high-layer coding packets to one or more TBs or information bits of one or more TBs. In other words, mapping a batch or subset of high-layer coding packets to a batch of PHY packets can be considered equivalent to mapping a batch or subset of high-layer coding packets to one or more CBs or information bits (also called input bits) of one or more CBs. A batch or subset of PHY packets may additionally or alternatively be considered to include information bits or input bits of one or more TBs and / or CBs. Similarly, a TB may be considered to include information bits of one or more PHY packets (or from one or more PHY packets), and a CB may be considered to include information bits or input bits of one or more PHY packets (or from one or more PHY packets).

[0076] A TB can have an overall cyclic redundancy check (CRC) and associated parity bits, and each coded block can have its own CRC. In the case where a TB has only 1 CB, only 1 CRC is required because the CRC applies to both the CB and the TB. More details on TBs, CBs, and PHY packets are provided elsewhere in this document (at least below).

[0077] Considering Figure 5 Before batch-based cross-CB encoding in Fig. 6A and 6B , which describes an example of cross-CB coding that performs different interleaving to generate multiple groups of vertical check blocks. Fig. 6A A transmission block 600 is shown, in which the input bits are divided into a plurality of groups of input bits IB1, IB2, ... IB 16 The horizontal check block 602 is determined based on the rows within the transport block, while the vertical check block 604 is determined based on the columns of the groups of encoder input bits. Fig. 6A The overall cross-CB coding in is based on input bits (IBs) that are logically arranged in rows (four rows in the example shown) and columns (four rows in the example shown). Each horizontal check block 602 is determined based on the IBs in the rows and can be generated by encoding the IBs in the rows using a code that can be called a horizontal code, for example. Similarly, each vertical check block 604 is determined based on the IBs in the columns and can be generated by encoding the IBs in the columns using a code that can be called a vertical code, for example. The cross-CB coding is further described in detail below using an illustrative example of a code that can be used to generate horizontal check blocks and vertical check blocks.

[0078] A TB can be divided into one or more CBs. Fig. 6A In the example, each row of IB can be the information bits or input bits of the corresponding CB. In this case, Fig. 6AThere will be four CBs in the TB 600 in the example. The IB of a TB or CB may come from one or more PHY packets to which higher layer coding packets are mapped as described herein. The horizontal check block 602 is generated for sending the CB. Sending the CB involves sending the information bits or input bits of the CB and the check block of the CB, referred to herein as the horizontal check block. The PHY packet described herein includes the information bits of the CB but does not include the check block. The initial transmission of the CB may include the information bits (input bits) of the CB and the horizontal check block 602. At least in this sense, sending the CB may involve sending information bits (input bits) and check blocks generated based on PHY layer packet batches. The vertical check block 604 may be generated based on the IBs of different CBs for retransmissions that may but not necessarily include an IB in addition. The retransmission may include only the check block but not the IB.

[0079] Figure 6B The interleaved input bits are shown. In this example, interleaving is performed between blocks of input bits in a row. It can be seen that in the first row, the order of the blocks has not changed, but in the second, third and fourth rows, the order has changed. A new set of vertical check blocks 606 is determined based on the reordered encoder input bits. First, a horizontal CB including the input bits and a horizontal check block 602 is sent. Then, if necessary, the vertical check blocks in the first group 604 are sent. Then, if necessary, the vertical check blocks in the second group 606 are sent. If at least one horizontal CB still cannot be successfully decoded, other groups of vertical check blocks can be generated and sent based on further interleaving.

[0080] by Fig. 6A and 6B For example, interleaving is based on sub-blocks (IB x ) level. However, other types of interleaving, such as bitwise interleaving, may additionally or alternatively be used for vertical check block generation for cross-CB coding. More generally, the bit groups used to determine one set of vertical check blocks are organized differently from the bit groups used to determine another set of vertical check blocks. Sub-block level interleaving and bitwise interleaving are two specific examples of different bit organizations for vertical check block generation.

[0081] This example illustrates cross-CB coding, where vertical check blocks 604, 606 are generated based on parts of several CBs (especially sub-blocks in this example). In this sense, the coding "spans" the CBs. Cross-CB coding can also or alternatively be referred to as two-dimensional (2D) coding, for example in Fig. 6A and Figure 6B The horizontal and vertical dimensions of .

[0082] Fig. 6A and 6BThe cross-CB encoding example in is intended for illustrative purposes only. The cross-CB encoding for PHY packet batches disclosed in this article is by no means limited to this particular example. For example, International Application No. PCT / CN2021 / 121483, filed on September 28, 2021, entitled "METHODS AND APPRATUSES FOR WIRELESS COMMUNICATION RETRANSMISSION USING CHECKBLOCKS GENERATED ACCORDING TO SUBBLOCK INTERLEAVERS", provides additional examples of different sub-block interleavers for retransmission. Fig. 6A and 6B Another possible variation of the specific example involves extending the cross-CB coding to span multiple packets, such as U.S. patent application publication No. US2021 / 0297180 A1 published on September 23, 2021, and entitled "METHODS AND SYSTEMS FOR NETWORKCODING USING CROSS-PACKET CHECK BLOCKS". Fig. 6A and 6B In the example shown, the IB is shown as part of a single TB 600, but this is not necessarily the case in all embodiments.

[0083] Other variations in encoding across CBs are also possible.

[0084] Now back to Figure 5 , vertical check block (VCB) diagram and Fig. 6A and 6B Slightly different, and to avoid too much content in the figure, the horizontal check block is Figure 5 5 CBs are not shown separately. The example shown includes a total of 5 CBs for one PHY layer packet batch 530. A CB may correspond to 1 or more PHY packets or TBs in the batch. For example, if each PHY packet contains only 1 CB, then 5 CBs correspond to M=5 PHY packets of the batch 530. In another example, there are M=1 PHY packets in the batch 530, and the TB corresponding to the PHY packet is divided or split into 5 CBs (CB1 to CB5). Each CB includes multiple sub-blocks (five in this example). Figure 5The CB in corresponds to the PHY packet 530 in the first PHY packet batch, and a check block of the CB is generated, for example, by applying a forward error correction (FEC) code to the information bits or input bits of the CB. These check blocks are also referred to as horizontal check blocks generated using horizontal codes at least in the above. The cross-CB coding is applied by selecting a sub-block from each of one or more CBs of the M packets in the PHY packet batch, or more generally selecting a portion of the data (information bits or input bits), and applying an FEC code (or channel code) to generate a VCB. The FEC code used for cross-CB coding may be additionally or alternatively referred to as a vertical code.

[0085] The FEC code used to generate the VCB can be independent of the physical layer FEC code, called the horizontal code, which is used to encode the initially transmitted CB before sending the VCB. Therefore, the two FEC codes (horizontal and vertical) can be the same code or the same type of code, or different codes or different types of codes. For example, the two FEC codes can be low density parity check (LDPC) codes, or one FEC code can be an LDPC code and the other FEC code can be a Turbo code. In addition, the code rates of the two FEC codes can be the same or different.

[0086] In some embodiments, CBs with horizontal check codes are sent in the initial transmission, and then VCBs can be sent as retransmissions in a HARQ scheme or other incremental redundancy method, for example, if the initial transmission is not correctly received and decoded, which may involve multiple transmissions. In addition, multiple groups of VCBs can be generated by using interleaving, such as sub-block level interleaving and / or bit-by-bit interleaving as described in this article. For example, Figure 5 Each of the M PHY packets 530 in may contain information bits or input bits of one CB, and each CB may include five sub-blocks. Figure 5 , a set of five VCBs are generated based on the sub-blocks shown. For example, VCB1 is generated based on SB11, SB21, SB31, SB41, and SB51; VCB2 is generated based on SB12, SB22, SB32, SB42, and SB52; and so on. Figure 5 The expression VCB in this way is not intended to indicate that the SB is sent together with the VCB, but is intended to indicate the SB used to generate each VCB. As described herein, including the SB (and the horizontal check block of each CB, Figure 5 The CB of the SB (not shown) may be sent in the initial transmission, and the subsequent retransmission may include the VCB. The information bits of the CB or SB may or may not be included in the VCB in the retransmission.

[0087] In realizing Figure 5When a consistent cross-CB coding method is used, the transmitter can send a total of ten transmissions and retransmissions for each batch, where each transmission or retransmission contains one CB (CB1, CB2...CB5) or one VCB (VCB1, VCB2...VCB5). For example, assume that each PHY packet 530 in the batch contains information bits or input bits of one CB, each CB includes P sub-blocks, and Q groups of sub-block interleavers are used, where each group of sub-block interleavers generates P VCBs. Further assume that each transmission contains 1 VCB or 1 CB, and the amount of time and frequency resources used by each VCB is similar to the original CB. In this scenario, for each transmission / retransmission of each PHY packet batch, M+Q*P transmissions / retransmissions can be sent using cross-CB coding. In some other scenarios, each retransmission may contain more than 1 VCB, and the number and code rate of VCBs used for each retransmission may vary, and may depend on, for example, how the retransmissions are scheduled in the network.

[0088] exist Figure 5 In the example shown, one possible combination of sub-blocks for VCB generation is shown, and sub-block interleaving can be used to generate VCBs based on different combinations of sub-blocks, for example, for other retransmissions. Details of examples of designs using different sub-block interleavers and methods using different subsets of sub-block interleavers can be found in the above-mentioned International Application No. PCT / CN2021 / 121483.

[0089] exist Figure 5 In the example, five CBs and five VCBs are shown. The number of CBs and / or the number of VCBs may be different in different embodiments, and the number of CBs and VCBs may be the same or different.

[0090] An important feature of batch-based cross-CB network coding is mapping high-level coding packets to PHY packets, which, as described above, is equivalent to mapping these high-level coding packets to one or more TBs, one or more CBs, or to information bits or input bits of one or more TBs and / or one or more CBs. There are different ways to implement this mapping, and illustrative examples include the following: mapping each high-level coding packet to a PHY packet (M=N) including information bits of a TB, which actually maps the coding packet to the TB or specifically to the information bits of the TB; mapping each high-level coding packet to a PHY packet or a portion of a PHY packet including information bits or input bits of a CB, which actually maps the coding packet to the CB or specifically to the information bits or input bits of the CB; or mapping each high-level coding packet to a PHY packet or a portion of a PHY packet including information bits or input bits of a sub-block (if a packet contains a CB, then N=M*P), which actually maps the coding packet to the sub-block. The mapping selection may depend on one or more factors or criteria, such as any one or more of the following factors or criteria: the size of the high-level coding packet, the maximum coding block size, and how to decode the high-level coding packet when one or more high-level coding packets or a portion of a batch are not successfully decoded. If the high-level coding packet is mapped to a TB, CB, or sub-block, the TB, CB, or sub-block becomes the smallest decodable unit, respectively.

[0091] Figure 7 The mapping of higher layer coding packets to physical layer packets for batch-based cross-CB coding according to one embodiment is shown. Figure 7 Two examples are included, one example is to map a batch or subset 720 of five high-layer coding packets 724 to a PHY packet 730 (N=M=5) based on CB, and the other example is to map a batch or subset 740 of twenty-five high-layer coding packets 744 to a PHY packet 750 (N=25, M=5) based on sub-block. In these two examples, each of the M PHY packets 730, 750 includes information bits of one CB. However, in another embodiment, each PHY packet may include information bits of several CBs, and each coding packet may also be mapped to one TB.

[0092] For example, there may be N=5 high-layer coding packets in a batch or subset to be mapped to PHY packets in the same batch, each high-layer coding packet can be mapped to one PHY packet, and each PHY packet can correspond to one TB (i.e., including information bits of one TB) (N=M=5). For example, each TB can be divided into two CBs. In this case, cross-CB coding can be used to implement or support a type of incremental redundancy or retransmission for each batch, and can be applied to a total of ten CBs (two CBs in each of the five TBs), where each CB includes ten sub-blocks to generate another ten VCBs. Assuming that each TB containing two CBs in this example can be sent in one transmission, and two VCBs can be sent in one retransmission, ten CBs and ten VCBs can be sent for the batch using a total of 10 transmissions and retransmissions. The result of this example is a total of one hundred sub-blocks per batch.

[0093] In another example, assume that there are M=5 PHY packets, each PHY packet corresponds to a TB, and each TB consists of two CBs. However, for this example, assume that each high-level coding packet corresponds to a CB (i.e., includes information bits or input bits of a CB). In this case, there are N=10 high-level coding packets mapped to batches of 5 PHY packets. The batch-based cross-CB encoding disclosed in this article is flexible and can support any of the various mappings of sub-blocks, coding blocks, transport blocks, high-level coding packets, and PHY packets, as shown in the aforementioned examples. The examples in this article are not exhaustive. Not all possible combinations are provided as examples.

[0094] One possible advantage of mapping a high-level coding packet to a sub-block is that the sub-block size becomes the minimum decoding unit. When the sub-block size is the minimum decoding unit, the following scenarios may occur:

[0095] When the receiver cannot fully decode the entire batch using the inner code based on the cross-CB code, the receiver can still recover some sub-blocks (or in other words, the receiver can recover some higher-layer coded packets);

[0096] Even if a VCB is retransmitted multiple times based on different sub-block interleavers, the sub-block is still the smallest decoding unit;

[0097] The recovered sub-blocks are mapped to higher-level coded packets, so the recovered higher-level coded packets may be helpful for decoding the “global” higher-level code.

[0098] Figure 8A decoding example in which a sub-block is the minimum decoding unit is shown. In the example shown, although two CBs (CB2, CB3) and three VCBs (VCB1, VCB2, VCB3) are not successfully decoded, as shown by the horizontal lines passing through several CBs and VCBs, only six sub-blocks indicated by "X" symbols in the figure cannot be decoded. In this example, two complete CBs are not discarded, but parts of these CBs are recovered. For example, SB24 is not decoded in CB2, but is recovered from VCB4. Similarly, SB25 is not decoded in CB2, SB34 and SB35 are not decoded in CB3, but SB25 is recovered from VCB5, SB34 is recovered from VCB4, and SB35 is recovered from VCB5.

[0099] Batch-based decoding of cross-CB codes involves: local batch-based cross-CB joint decoding, which may be additionally or alternatively referred to as two-dimensional (2D) joint decoding; and global high-level code decoding.

[0100] In batch-based cross-CB joint decoding, decoding information such as soft information can be exchanged between CB and VCB to help improve decoding performance. After such cross-CB joint decoding, even if some CBs cannot be recovered, the hard decisions of the correctly decoded CBs can be mapped back to the high-level coding packets to help decode the original high-level information packets. In the case where the mapping is based on sub-blocks, the hard decisions of the decoded sub-blocks in the decoded CB / VCB can be mapped back to the high-level coding packets sent for global high-level code decoding instead of being discarded. Figure 8 In the example shown, although five of the ten CBs were not successfully decoded, for example because they failed to pass the cyclic redundancy check, only six of the twenty-five sub-blocks were not recovered.

[0101] Global high-level code decoding is performed to recover the original information packets. If the PHY packet batch is fully recovered by cross-CB joint decoding, all corresponding high-level coded packets are recovered. However, if the cross-CB joint decoding cannot fully decode the PHY packet batch, the partial decoding output of all recovered sub-blocks / TBs / CBs in each batch may be converted into high-level coded packets and the original information packets are decoded by high-level code decoding.

[0102] The high-level code decoding may additionally or alternatively involve belief propagation (BP) decoding. If the generator matrix of the high-level coded packet batch is full rank, then d packets can be decoded and eliminated from the remaining uncoded batch. After decoding the batch, first a 1-degree check node (coded packet) is found and eliminated from all remaining undecoded variable nodes (packets). The process continues until no more 1-degree check nodes are found, or all variable nodes (packets) are successfully decoded.

[0103] Deactivation decoding is another possible option for decoding high-level codes. For example, if BP decoding cannot fully recover all original information packets, deactivation decoding can be further performed. BP decoding and deactivation decoding are example methods for decoding high-level codes; for example, other methods or techniques can be used to decode high-level codes depending on the decoding complexity requirements.

[0104] The potential advantage of maintaining the degree distribution disclosed in this article is that each batch of high-level coded information packets is almost equally protected by cross-CB coding, and each batch is generated based on the original optimized degree distribution, thereby providing good decoding performance and low decoding complexity. Therefore, high-level coding and cross-CB coding can also provide the best decoding performance and low decoding complexity of BP decoding in combination.

[0105] Embodiments disclosed herein include various aspects of batch-based cross-CB encoding, which may include either or both of encoding and decoding.

[0106] For example, methods consistent with the present invention include methods related to transmitting, receiving, or both. Fig. 9 is a signal flow diagram illustrating an exemplary communication method of one embodiment, and includes both transmit-side and receive-side operations.

[0107] A method may involve, at 906, high-layer encoding a high-layer information packet at a transmitting side or transmitting device 902 in a wireless communication network to generate a high-layer coded packet. As discussed in detail elsewhere herein, batches or subsets of high-layer coded packets are mapped to batches of PHY packets, and the mapping at 908 represents such mapping of high-layer coded packets to batches of PHY packets. The CB is based on the PHY layer packet, and cross-CB encoding applied to the CB is shown at 910. Transmitting the CB to a receiving device 904 in the wireless communication network is shown at 914 as including an initial transmission of the CB. For example, a corresponding receiving-side operation at the receiving device 904 involves receiving the CB from the transmitting device 902.

[0108] The information bits of the CB come from a batch of physical layer packets to which a batch or subset of high-level coded packets are mapped. Before being sent to the aforementioned receiving device, at 910, each CB can be encoded by a horizontal code such as an LDPC code. In the context of sending a CB, this document refers to sending a CB generated based on a batch of physical layer packets. The information bits of the CB sent by the sending device and received by the receiving device come from one or more physical layer packets. In addition, the transmission shown at 914 includes the information bits of the CB and the corresponding check blocks generated by encoding the information bits using a horizontal code. This illustrates how the CB can be considered to be generated based on a batch of physical layer packets in the case of sending the CB.

[0109] The high-layer coded packets mapped to a batch of physical layer packets are generated based on the high-layer information packets. The high-layer information packets used to generate a batch or subset of high-layer coded packets for a batch of physical layer packets overlap with packets in the high-layer information packets used to generate another batch or subset of high-layer coded packets to be mapped to another batch of physical layer packets.

[0110] At 920, Fig. 9 The transmitting device 902 is shown sending a plurality of check blocks to the receiving device 904. The check blocks are shown as examples of VCBs included in one or more retransmissions. The corresponding receiving-side operation at 920 involves the receiving device 904 receiving the plurality of check blocks from the transmitting device 902. As disclosed herein, each check block is generated based on a portion of several of the plurality of CBs. Although Fig. 9 Cross-CB encoding is shown at 910, but the encoding for generating a check block for the initial transmission of each CB and the encoding for generating a cross-CB check block can be performed separately.

[0111] In some embodiments, the initial transmission of the CB includes the information bits or input bits of the CB and the corresponding check blocks of the CB, and the check blocks of each CB are generated based on a first code (also referred to as a horizontal code in this article) (e.g., an FEC code) applied to the information bits of the CB, which are also in a batch of physical layer packets. Other check blocks such as VCB are generated based on a second code (also referred to as a vertical code in this article), which can also be, for example, an FEC code applied to parts of several CBs. The check blocks of the CB and other check blocks such as VCB can be generated together at 910, or the VCB can be generated separately according to the needs of one or more retransmissions. In order to avoid further congestion in the diagram, Fig. 9 Horizontal encoding and vertical encoding are not shown separately.

[0112] Other operations are also Fig. 9 As shown. For example, a method may involve, at 924, the transmitting device 902 sending an additional CB to the receiving device 904, and / or at 924, the receiving device receiving an additional CB from the transmitting device. The additional CB is generated based on the above-mentioned other batch of physical layer packets. At 926, it is shown that the transmitting device 902 sends additional check blocks to the receiving device 904, and the receiving device receives these additional check blocks from the transmitting device. Each additional check block is generated based on a portion of several CBs in the additional CBs. For example, the CBs and VCBs at 914 and 920 may be associated with a first PHY packet batch, and after all transmissions and any retransmissions of the first PHY packet batch have been completed or the first PHY packet batch has been correctly received and decoded, the additional CBs and additional VCBs at 924 and 926 may be associated with the next PHY packet batch.

[0113] The higher layer coded packets mapped to the physical layer packets may have been generated in any of a number of ways during the higher layer encoding at 906. For example, the higher layer coded packets may have been generated based on a higher layer erasure code applied to the higher layer information packets. This is also described at least above in the context of generating the higher layer coded packets based on all the higher layer information packets, in which case there is a complete overlap between the higher layer information packets used to generate the subset of the higher layer coded packets.

[0114] In another embodiment, the packets of the high-layer information packets used to generate a subset of high-layer coding packets include a subset, the subset includes less than all high-layer information packets, and the packets of the high-layer information packets used to generate another subset of high-layer coding packets include another subset, the another subset also includes less than all high-layer information packets. The subset of the high-layer information packets from which the subset and the another subset of the high-layer coding information packets are generated are different from each other and overlap.

[0115] According to one embodiment, the subset of high-level information packets includes a first number d1 of high-level information packets, and the other subset of high-level information packets includes a second number d2 of high-level information packets. d1 and d2 may be sampled from a degree distribution. In some embodiments, the subset of high-level information packets and the d1 and d2 high-level information packets in the other subset are randomly selected from the high-level information packets.

[0116] At 906, the subset of higher layer coding packets may have been generated based on a linear combination of the subset of higher layer information packets, in which case a method may include the sending device 902 sending coefficients of the linear combination to the receiving device 904, and / or the receiving device receiving the coefficients from the sending device. Fig. 9 912 of . The high-level coding information sent by the transmitting device 902 and received by the receiving device 904 may include these coefficients, indexes or other identifiers or indicators of the high-level information packets combined to generate the high-level coding packets, and / or other information associated with high-level coding or decoding. The high-level coding information can be sent together with the CB or sent separately, as shown in the figure. In some embodiments, the high-level coding information shown in 912 is included as part of the header of the corresponding high-level coding packet. The header may be included as the payload of the high-level coding packet mapped to the PHY packet, which is further sent after cross-CB encoding. In this scenario, no separate signaling is required to send the high-level coding information. This also applies to the high-level coding information for another batch at 922.

[0117] The mapping options that can be applied at 908 include TB, CB, and sub-block mapping. Specifically, each high-level coding packet in the batch can be mapped to a physical layer packet based on which a TB including one or more CBs is generated, each high-level coding packet in the batch can be mapped to a physical layer packet (or a portion of a physical layer packet) based on which a CB is generated, or each high-level coding packet can be mapped to a physical layer packet (or a portion of a physical layer packet) based on which a portion of a CB is generated.

[0118] A portion of a CB refers to a portion of different CBs that are coded across CBs and used to generate a check block. For example, each CB may include a sub-block, each high-level coded packet may be mapped to a physical layer packet (or a portion of a physical layer packet) based on which a sub-block is generated, and the portion of several CBs based on which each check block is generated may be or include a sub-block of each of the several CBs.

[0119] Most of the contents of the present invention are mainly focused on the generation and transmission or reception of CB and check blocks. In terms of communication applications, CB can be sent and / or received as a first transmission in an incremental redundancy retransmission or HARQ process, for example. Fig. 9 For example, the sending or receiving of the CB at 914 may be associated with the initial transmission of a batch of physical layer packets. A method may also involve the sending device 902 sending to the receiving device 904 and / or the receiving device receiving from the sending device a plurality of groups of check blocks generated based on different combinations of portions of the CB. The sending and receiving of a group of check blocks is shown by way of example at 920, and Fig. 9 The symbols below 920 in are intended to indicate possible further transmission of additional group check blocks, for example in subsequent retransmissions of the batch.

[0120] Sending or receiving multiple groups of check blocks may involve sending (or receiving) a corresponding group of check blocks in the multiple groups of check blocks based on receiving (or sending), for example, negative feedback at 918. The receiving device 904 may attempt decoding at 916, and if the decoding is unsuccessful, negative feedback of one or more physical layer packets in the batch may be sent by the receiving device and received by the sending device 902. Negative feedback is not limited to explicit feedback signaling. For example, within a specific time of the CB transmission at 914, the absence of positive feedback at 918 may be another form of negative feedback. There may be one or more feedback / retransmission cycles at 918, 920.

[0121] After positive feedback is given to all physical layer packets of the current batch, retransmission may be stopped, and the transmitting device and the receiving device may switch to another batch of physical layer packets and CBs. The transmitting side operation may involve, based on receiving positive feedback from the receiving device, the transmitting device 902 sending the coded blocks generated according to another batch of physical layer packets to the receiving device 904. The corresponding receiving side operation involves, based on the receiving device sending positive feedback, the receiving device 904 receiving the coded blocks generated according to another batch of physical layer packets from the transmitting device 902.

[0122] Positive feedback is not the only mechanism that may trigger the end of retransmission. For example, a method may involve the sending device 902 sending a coded block generated according to another batch of physical layer packets to the receiving device 904 based on the maximum number of transmissions of multiple groups of check blocks. Similarly, the receiving method may involve the receiving device 904 receiving a coded block generated according to another batch of physical layer packets from the sending device 902 based on the maximum number of transmissions of multiple groups of check blocks.

[0123] 924 shows the transmission and reception of coded blocks generated from another batch of physical layer packets, and 926 shows the VCBs associated with the transmission and reception. To avoid diagram congestion, Fig. 9 The encoding of the coding blocks at 924 is not shown. 922 shows that if the encoding information of different batches is different, the method may involve sending and / or receiving encoding information of additional CBs.

[0124] Embodiments may, but need not necessarily, involve feedback between CB and VCB transmissions. Fig. 9 As indicated by the dashed feedback line at 918 , there is no explicit feedback operation between 924 and 926 .

[0125] The present invention encompasses various embodiments, including not only method embodiments, but also other embodiments, such as apparatus embodiments and embodiments related to non-transitory computer-readable storage media. The embodiments may incorporate the features disclosed herein alone or in combination.

[0126] The apparatus may include a processor and a non-transitory computer-readable storage medium coupled to the processor, the non-transitory computer-readable storage medium storing a program executed by the processor. Figure 3 For example, processors 210, 260, 276 may each be or include one or more processors, and each memory 208, 258, 278 is an example of a non-transitory computer-readable storage medium in ED 110 and TRP 170, 172. For example, a non-transitory computer-readable storage medium does not necessarily need to be combined with a processor, and may also be used alone in a computer program product.

[0127] As an illustrative example, a program stored in or on a non-transitory computer-readable storage medium may include instructions to perform or cause a processor to perform the following operations: send a CB to a receiving device in a wireless communication network, wherein the CB is generated based on a batch of physical layer packets to which a subset of high-level coding packets is mapped. The high-level coding packets are generated based on high-level information packets, and packets in the high-level information packets used to generate a subset of high-level coding packets for the batch overlap with packets in the high-level information packets used to generate another subset of high-level coding packets to map to another batch of physical layer packets. The program also includes instructions to perform or cause a processor to perform the following operations: send a check block to the receiving device. Each check block is generated based on parts of several CBs.

[0128] Embodiments related to an apparatus or non-transitory computer-readable storage medium for transmitting devices or transmitting-side operations may include, for example, any one or more of the following features, which are also discussed elsewhere herein:

[0129] The program also includes instructions to perform or cause the processor to perform the following operations: send another CB generated based on the another batch of physical layer packets to the receiving device;

[0130] The program also includes instructions to perform or cause the processor to perform the following operations: send additional check blocks to the receiving device, each additional check block being generated based on a portion of several of the additional CBs;

[0131] The high-layer coding packet is generated based on a high-layer erasure code applied to the high-layer information packet;

[0132] The high-layer information packets used to generate another subset of the high-layer coded packets in the high-layer information packets include another subset of the high-layer information packets;

[0133] the subset and the further subset of the higher layer information packets from which the subset and the further subset of the higher layer coding packets are generated are different from each other and overlap;

[0134] The subset of the high-level information packets includes a first number d1 of the high-level information packets;

[0135] said another subset of said high-layer information packets comprises a second number d2 of said high-layer information packets;

[0136] Either or both of d1 and d2 are sampled from the degree distribution;

[0137] The subset of the high-level information packets and either or both of the d1 and d2 high-level information packets in the other subset are randomly selected from the high-level information packets;

[0138] The subset of the higher layer coding packets is generated based on a linear combination of the subset of the higher layer information packets;

[0139] The program also includes instructions for performing the following operations or causing the processor to perform the following operations: sending the coefficients of the linear combination to the receiving device;

[0140] The program includes instructions for: transmitting the CB by transmitting information bits of the CB and corresponding check blocks of the CB, the check block of each CB being generated based on a first code applied to the information bits of the CB;

[0141] The check block based on the portion of the number of CBs is generated based on a second code applied to the portion of the number of CBs;

[0142] Each of the higher layer coding packets is mapped to a physical layer packet (or a portion thereof) in the physical layer packet based on which a transport block is generated, the transport block including one or more of the CBs;

[0143] Each of the higher layer coding packets is mapped into the physical layer packet to generate a physical layer packet (or a part thereof) based on one of the CBs;

[0144] Each of the higher layer coding packets is mapped to a physical layer packet (or a portion thereof) in the physical layer packet on which one of the portions of the plurality of CBs is generated;

[0145] Each of the CBs is or includes a sub-block;

[0146] Each of the high-layer coding packets is mapped to the physical layer packet to generate a physical layer packet (or a part thereof) based on one of the sub-blocks;

[0147] The portion of the plurality of CBs based on which each check block is generated is or includes a sub-block of each of the plurality of CBs;

[0148] The program also includes instructions for performing the following operations or causing the processor to perform the following operations: sending multiple groups of check blocks to the receiving device, the multiple groups of check blocks being generated based on different combinations of the parts of the number of CBs;

[0149] The program includes instructions for performing the following operations or causing the processor to perform the following operations: based on receiving negative feedback from the receiving device for at least one of the physical layer packets in the batch of physical layer packets, sending a corresponding set of check blocks in the plurality of sets of check blocks;

[0150] The program further includes instructions for performing the following operations or causing the processor to perform the following operations: based on receiving positive feedback for all the physical layer packets in the batch of physical layer packets from the receiving device, sending the coded blocks generated according to the another batch of physical layer packets to the receiving device;

[0151] The program further includes instructions for performing the following operation or causing the processor to perform the following operation: sending, to the receiving device, coded blocks generated according to the other batch of physical layer packets based on a maximum number of transmission times of multiple groups of check blocks.

[0152] These and other features are also described elsewhere herein, at least in the context of method embodiments, and may additionally or alternatively be implemented in apparatus embodiments and / or computer-readable medium embodiments.

[0153] The program stored in or on a non-transitory computer-readable storage medium may include instructions for performing the following operations or causing a processor to perform the following operations: receiving a CB from a transmitting device in a wireless communication network, wherein the CB is generated based on a batch of physical layer packets to which a subset of high-level coding packets is mapped. The high-level coding packets are generated based on high-level information packets, and packets in the high-level information packets used to generate a subset of high-level coding packets for the batch overlap with packets in the high-level information packets used to generate another subset of high-level coding packets to map to another batch of physical layer packets. The program also includes instructions for performing the following operations or causing a processor to perform the following operations: sending a check block to the receiving device. Each check block is generated based on a portion of several CBs.

[0154] Embodiments related to an apparatus or non-transitory computer-readable storage medium for receiving device or receiving-side operation may include, for example, any one or more of the following features, which are also discussed elsewhere herein:

[0155] The program also includes instructions to perform or cause the processor to perform the following operations: receiving from the transmitting device another CB generated based on the another batch of physical layer packets;

[0156] The program also includes instructions to perform or cause the processor to perform the following operations: receiving additional check blocks from the sending device, each additional check block being generated based on a portion of several of the additional CBs;

[0157] The high-layer coding packet is generated based on a high-layer erasure code applied to the high-layer information packet;

[0158] The high-layer information packets used to generate another subset of the high-layer coded packets in the high-layer information packets include another subset of the high-layer information packets;

[0159] the subset and the further subset of the higher layer information packets from which the subset and the further subset of the higher layer coding packets are generated are different from each other and overlap;

[0160] The subset of the high-level information packets includes a first number d1 of the high-level information packets;

[0161] said another subset of said high-layer information packets comprises a second number d2 of said high-layer information packets;

[0162] Either or both of d1 and d2 are sampled from the degree distribution;

[0163] The subset of the high-level information packets and either or both of the d1 and d2 high-level information packets in the other subset are randomly selected from the high-level information packets;

[0164] The subset of the higher layer coding packets is generated based on a linear combination of the subset of the higher layer information packets;

[0165] The program also includes instructions for performing the following operations or causing the processor to perform the following operations: instructions for receiving coefficients of the linear combination from the transmitting device;

[0166] The program includes instructions for: receiving the CB by receiving information bits of the CB and corresponding check blocks of the CB, the check block of each CB being generated based on a first code applied to the information bits of the CB;

[0167] The check block based on the portion of the number of CBs is generated based on a second code applied to the portion of the number of CBs;

[0168] Each of the higher layer coding packets is mapped to a physical layer packet (or a portion thereof) in the physical layer packet based on which a transport block is generated, the transport block including one or more of the CBs;

[0169] Each of the higher layer coding packets is mapped into the physical layer packet to generate a physical layer packet (or a part thereof) based on one of the CBs;

[0170] Each of the higher layer coding packets is mapped to a physical layer packet (or a portion thereof) in the physical layer packet on which one of the portions of the plurality of CBs is generated;

[0171] Each of the CBs is or includes a sub-block;

[0172] Each of the high-layer coding packets is mapped to the physical layer packet to generate a physical layer packet (or a part thereof) based on one of the sub-blocks;

[0173] The portion of the plurality of CBs based on which each check block is generated is or includes a sub-block of each of the plurality of CBs;

[0174] The program further includes instructions for performing the following operations or causing the processor to perform the following operations: receiving multiple groups of check blocks from the sending device, the multiple groups of check blocks being generated based on different combinations of the parts of the plurality of CBs;

[0175] The program includes instructions for performing the following operations or causing the processor to perform the following operations: receiving a corresponding set of check blocks from among the plurality of sets of check blocks based on sending negative feedback to the sending device for at least one of the physical layer packets from among the batch of physical layer packets;

[0176] The program further includes instructions for performing the following operations or causing the processor to perform the following operations: based on sending positive feedback for all the physical layer packets in the batch of physical layer packets from the receiving device to the sending device, receiving a coded block generated according to the another batch of physical layer packets from the sending device;

[0177] The program further includes instructions for performing the following operation or causing the processor to perform the following operation: based on a maximum number of transmissions of multiple groups of check blocks by the sending device, receiving, from the sending device, coded blocks generated according to the other batch of physical layer packets.

[0178] These and other features are also described elsewhere herein, at least in the context of method embodiments, and may additionally or alternatively be implemented in apparatus embodiments and / or computer-readable medium embodiments.

[0179] Various embodiments are disclosed herein by way of example. Examples of possible application scenarios of any of these embodiments or other embodiments are provided below. Although the embodiments may be implemented for unicast applications, the following exemplary applications may be more compelling.

[0180] For the embodiments disclosed herein, large file multicast or large packet multicast may be attractive applications. In a multicast scenario, cross-CB coding is applied to each batch of PHY packets, and each batch can be successfully decoded without feedback. The cross-CB coding applied to each batch can utilize a 2D HARQ scheme (e.g., soft decoding) without high complexity. Batches of high-layer coded packets and PHY packets are linked by high-layer codes, so each receiver does not need to fully decode each batch, which can reduce the need for feedback and make link adaptation more flexible, and improve reliability due to the use of high-layer codes.

[0181] Another exemplary application is cooperation based on network coding. For example, in a butterfly network, a UE can combine packets from two other UEs to generate cross-CB based coding. Some methods for applying cross-CB coding to network coding without adopting a batch-based approach can be found in the above-mentioned US2021 / 0297180 A1. In order to avoid text redundancy, the details of these methods are not repeated in this article. By using a batch-based approach, this type of packet combination can be operated in batches as described in the present invention. Then, the cooperating nodes only need to combine 2D codes from the same batch to decode the batch. This batch-based cross-CB coding has similar advantages in other applications, including reduced complexity and high decoding performance brought by cross-CB coding, and it is not required that every batch is always successfully decoded.

[0182] Potential benefits of the disclosed embodiments may include any one or more of the following:

[0183] It has the same advantages as high-level rateless codes, and has the performance advantages of cross-CB coding;

[0184] Compared with PHY layer cross-CB rateless coding, the decoding complexity is reduced;

[0185] It is a practical network coding scheme that can be applied to, for example, large packet multicast and network coding-based cooperation;

[0186] Partial recovery is possible without decoding the entire batch of PHY packets, which helps in global high-level code decoding;

[0187] Through sub-block interleaving, sub-blocks can be used as the minimum decoding unit across CB coding and high-layer coding;

[0188] It is a perfect PHY solution in the sense that it can realize the physical layer transmission process in the wireless channel, unlike the traditional network coding scheme that assumes the erasure channel, that is, it assumes that the packet either arrives or is lost.

[0189] A batch-based cross-CB coding method can be preferably used, which uses a high-level erasure code or a rateless code similar to a fountain code as a high-level code to provide potential benefits, such as any one or more of the following: maintaining the degree distribution of the high-level code design; making the sub-block the minimum decoding unit of the cross-CB coding; being able to partially decode the cross-CB code while still being applicable to the high-level code. The exemplary high-level erasure code described in the present invention can be used as a rateless code, so the encoder of the high-level code can generate as many high-level coding information packets as required or needed for a specific application, and therefore, the number of batches generated can also be limited and determined based on the demand or goal. For example, the number of high-level coding packets and the corresponding number of batches can be fixed based on a predetermined code rate of the high-level code, or the high-level code can continue to generate high-level coding packets or batches until positive feedback is received that all high-level information packets are successfully decoded.

[0190] Although the present invention has been described with reference to illustrative embodiments, this specification is not intended to be construed as limiting. After reference to this specification, various modifications and combinations of the illustrative embodiments and other embodiments of the present invention will become apparent to those skilled in the art. Therefore, the appended claims are intended to cover any such modifications or embodiments.

[0191] Features disclosed herein, for example, in the context of method embodiments, may additionally or alternatively be implemented in apparatus or computer program product embodiments. Furthermore, although embodiments are described primarily in the context of methods and apparatus, other implementations are also contemplated, such as instructions stored on one or more non-transitory computer-readable media. Such media may store programs or instructions to perform any of a variety of methods consistent with the present invention.

[0192] Although various aspects of the present invention have been described with reference to the specific features and embodiments of the present invention, various modifications and combinations may be made to the present invention without departing from the present invention. Therefore, the specification and the drawings are only regarded as an explanation of some embodiments of the present invention as defined by the appended claims, and are intended to cover any and all modifications, variations, combinations or equivalents within the scope of the present invention. Therefore, although the embodiments and potential advantages have been described in detail, various changes, substitutions and modifications may be made herein without departing from the present invention as defined by the appended claims. In addition, the scope of the present application is not intended to be limited to the specific embodiments of the processes, machines, manufactured products, material components, components, methods and steps described in the specification. It will be easily understood by those of ordinary skill in the art from the disclosure of the present invention that the processes, machines, manufactured products, material components, components, methods or steps that are currently available or to be developed and that perform functions substantially the same as the corresponding embodiments described herein or that can achieve results substantially the same as the embodiments described may be utilized according to the present invention. Therefore, the appended claims are intended to include these processes, machines, manufactured products, material components, components, methods or steps within their scope.

[0193] In addition, any module, component, or device illustrated herein for executing instructions may include or otherwise access one or more non-transitory computer-readable or processor-readable storage media for storing information, such as computer-readable or processor-readable instructions, data structures, program modules, and / or other data. A non-exhaustive list of examples of non-transitory computer-readable or processor-readable storage media includes: magnetic cassettes, magnetic tapes, disk storage or other magnetic storage devices, compact disc read-only memory (CD-ROM), digital video discs or digital versatile discs (DVD), Blu-ray TM (Blu-ray Disc TM) or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other storage technology. Any such non-transitory computer-readable or processor storage medium can be part of the device, or accessible or connectable to the device. Any application or module described herein can be implemented using computer or processor readable and executable instructions, which can be stored or otherwise saved by such non-transitory computer-readable or processor-readable storage medium.

Claims

1. A method, characterized in that include: sending a plurality of coded blocks CB generated based on a batch of physical layer packets to a receiving device in a wireless communication network, a subset of high-layer coded packets generated based on high-layer information packets being mapped to the batch of physical layer packets, wherein packets of the high-layer information packets used to generate the subset of high-layer coded packets for the batch overlap with packets of the high-layer information packets used to generate another subset of the high-layer coded packets to be mapped to another batch of physical layer packets; A plurality of check blocks are sent to the receiving device, each check block being generated based on a portion of several CBs among the plurality of CBs.

2. The method according to claim 1, characterized in that The method further comprises: sending to the receiving device another CB generated based on the another batch of physical layer packets; Further check blocks are sent to the receiving device, each further check block being generated based on a portion of several of the further CBs.

3. The method according to claim 1 or 2, characterized in that: The high-layer coded packet is generated based on a high-layer erasure code applied to the high-layer information packet.

4. The method according to any one of claims 1 to 3, characterized in that: The packet in the high-layer information packet used to generate the subset of the high-layer coded packet includes the subset of the high-layer information packet; The packets in the high-layer information packets used to generate another subset of the high-layer coded packets include another subset of the high-layer information packets, The subset of the higher layer information packets and the further subset of the higher layer information packets from which the subset and the further subset of the higher layer coded information packets are generated are different from each other and overlap.

5. The method according to claim 4, characterized in that: The subset of high-level information packets includes a first number d1 of high-level information packets; Another subset of the high-level information packets includes a second number d2 of high-level information packets; d1 and d2 are sampled from the degree distribution; The subset of the higher layer information packets and the d1 and d2 higher layer information packets in the further subset are randomly selected from the higher layer information packets.

6. The method according to claim 4 or 5, characterized in that: The subset of the high-layer coding packets is generated based on a linear combination of the subset of the high-layer information packets, and the method further comprises: The coefficients of the linear combination are sent to the receiving device.

7. The method according to any one of claims 1 to 6, characterized in that Sending the multiple CBs includes sending information bits of the CBs and corresponding check blocks of the CBs, the check block of each CB is generated based on a first code applied to the information bits of the CB, and the multiple check blocks are generated based on a second code applied to the portion of the several CBs in the multiple CBs.

8. The method according to any one of claims 1 to 7, characterized in that Each of the high-layer coding packets is mapped to a physical layer packet in the physical layer packet based on which a transport block is generated, and the transport block includes one or more CBs among the multiple CBs.

9. The method according to any one of claims 1 to 7, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet in the physical layer packet to generate a CB among the multiple CBs based on it.

10. The method according to any one of claims 1 to 7, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet based on which one of the portions of the several CBs is generated in the physical layer packet.

11. The method according to any one of claims 1 to 7, characterized in that Each of the multiple CBs includes multiple sub-blocks, wherein each of the high-level coding packets is mapped to a part of a physical layer packet in the physical layer packet based on which one of the sub-blocks is generated, and wherein the part of the several CBs based on which each of the multiple check blocks is generated includes a sub-block of each of the several CBs.

12. The method according to claim 1, characterized in that Also includes: Sending a plurality of groups of check blocks to the receiving device, wherein the plurality of groups of check blocks are generated based on different combinations of the portions of the plurality of CBs.

13. The method according to claim 12, characterized in that Sending the plurality of groups of check blocks includes sending a corresponding group of check blocks in the plurality of groups of check blocks based on receiving negative feedback from the receiving device for at least one of the physical layer packets in the batch of physical layer packets.

14. The method according to claim 13, characterized in that Also includes: Based on receiving positive feedback for all the physical layer packets in the batch of physical layer packets from the receiving device, the coded blocks generated according to the another batch of physical layer packets are sent to the receiving device.

15. The method according to claim 13, characterized in that Also includes: Based on the maximum number of transmission times of the multiple groups of check blocks, the coded blocks generated according to the another batch of physical layer packets are sent to the receiving device.

16. A device, characterized in that: include: processor; A non-transitory computer-readable storage medium, coupled to the processor and storing a program executed by the processor, the program including instructions for performing the following operations: sending a plurality of coded blocks CB generated based on a batch of physical layer packets to a receiving device in a wireless communication network, a subset of higher layer coded packets generated based on higher layer information packets being mapped to the batch of physical layer packets, wherein packets of the higher layer information packets used to generate the subset of higher layer coded packets for the batch overlap with packets of the higher layer information packets used to generate another subset of the higher layer coded packets for mapping to another batch of physical layer packets; A plurality of check blocks are sent to the receiving device, each check block being generated based on a portion of several CBs among the plurality of CBs.

17. The device according to claim 16, characterized in that The program also includes instructions for performing the following operations: sending to the receiving device another CB generated based on the another batch of physical layer packets; Further check blocks are sent to the receiving device, each further check block being generated based on a portion of several of the further CBs.

18. The device according to claim 16 or 17, characterized in that The high-layer coded packet is generated based on a high-layer erasure code applied to the high-layer information packet.

19. The device according to any one of claims 16 to 18, characterized in that: The packet in the high-layer information packet used to generate the subset of the high-layer coded packet includes the subset of the high-layer information packet; The packets in the high-layer information packets used to generate another subset of the high-layer coded packets include another subset of the high-layer information packets, The subset of the higher layer information packets and the other subset of the higher layer information packets from which the subset and the other subset of the higher layer coded packets are generated are different from each other and overlap.

20. The device according to claim 19, characterized in that: The subset of high-level information packets includes a first number d1 of high-level information packets; Another subset of the high-level information packets includes a second number d2 of high-level information packets; d1 and d2 are sampled from the degree distribution; The subset of the higher layer information packets and the d1 and d2 higher layer information packets in the further subset are randomly selected from the higher layer information packets.

21. The device according to claim 19 or 20, characterized in that The subset of the high-level coding packets is generated based on a linear combination of the subset of the high-level information packets, and the program further includes instructions for performing the following operations: The coefficients of the linear combination are sent to the receiving device.

22. The device according to any one of claims 16 to 21, characterized in that The program includes instructions for performing the following operations: sending the multiple CBs by sending information bits of the CBs and corresponding check blocks of the CBs, the check block of each CB is generated based on a first code applied to the information bits of the CB, and the multiple check blocks are generated based on a second code applied to the portion of the several CBs in the multiple CBs.

23. The device according to any one of claims 16 to 22, characterized in that Each of the higher layer coding packets is mapped to a physical layer packet on which a transport block in the physical layer packet is based, and the transport block includes one or more CBs among the multiple CBs.

24. The device according to any one of claims 16 to 22, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet on which one of the multiple CBs in the physical layer packet is based.

25. The device according to any one of claims 16 to 22, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet based on which one of the portions of the several CBs is generated in the physical layer packet.

26. The device according to any one of claims 16 to 22, characterized in that Each of the multiple CBs includes multiple sub-blocks, wherein each of the high-level coding packets is mapped to a part of a physical layer packet in the physical layer packet based on which one of the sub-blocks is generated, and wherein the part of the several CBs based on which each of the multiple check blocks is generated includes a sub-block of each of the several CBs.

27. The device according to claim 16, characterized in that The program also includes instructions for performing the following operations: Sending a plurality of groups of check blocks to the receiving device, wherein the plurality of groups of check blocks are generated based on different combinations of the portions of the plurality of CBs.

28. The device according to claim 27, characterized in that The program includes instructions for transmitting a corresponding set of check blocks among the plurality of sets of check blocks based on receiving negative feedback from the receiving device for at least one of the physical layer packets among the batch of physical layer packets.

29. The device according to claim 28, characterized in that The program also includes instructions for performing the following operations: Based on receiving positive feedback for all the physical layer packets in the batch of physical layer packets from the receiving device, the coded blocks generated according to the another batch of physical layer packets are sent to the receiving device.

30. The device according to claim 28, characterized in that The program also includes instructions for performing the following operations: Based on the maximum number of transmission times of the multiple groups of check blocks, the coded blocks generated according to the another batch of physical layer packets are sent to the receiving device.

31. A computer program product, characterized in that A non-transitory computer readable medium comprising a program storing the program, the program comprising instructions to: sending a plurality of coded blocks CB generated based on a batch of physical layer packets to a receiving device in a wireless communication network, a subset of higher layer coded packets generated based on higher layer information packets being mapped to the batch of physical layer packets, wherein packets of the higher layer information packets used to generate the subset of higher layer coded packets for the batch overlap packets of the higher layer information packets used to generate another subset of the higher layer coded packets to be mapped to another batch of physical layer packets; A plurality of check blocks are sent to the receiving device, each check block being generated based on a portion of several CBs among the plurality of CBs.

32. A computer program product, characterized in that A non-transitory computer readable medium comprising a program storing the program, the program comprising instructions for executing the method according to any one of claims 1 to 15.

33. A method, characterized in that include: receiving, from a transmitting device in a wireless communication network, a plurality of coded blocks CB generated based on a batch of physical layer packets, a subset of higher layer coded packets generated based on higher layer information packets being mapped to the batch of physical layer packets, wherein packets of the higher layer information packets used to generate the subset of higher layer coded packets for the batch overlap with packets of the higher layer information packets used to generate another subset of the higher layer coded packets to be mapped to another batch of physical layer packets; A plurality of check blocks are received from the transmitting device, each check block being generated based on a portion of several CBs among the plurality of CBs.

34. The method according to claim 33, characterized in that The method further comprises: receiving from the transmitting device another CB generated based on the another batch of physical layer packets; Further check blocks are received from the sending device, each further check block being generated based on a portion of several of the further CBs.

35. The method according to claim 33 or 34, characterized in that The high-layer coded packet is generated based on a high-layer erasure code applied to the high-layer information packet.

36. The method according to any one of claims 33 to 35, characterized in that: The packet in the high-layer information packet used to generate the subset of the high-layer coded packet includes the subset of the high-layer information packet; The packets in the high-layer information packets used to generate another subset of the high-layer coded packets include another subset of the high-layer information packets, The subset of the higher layer information packets and the other subset of the higher layer information packets from which the subset and the other subset of the higher layer coded packets are generated are different from each other and overlap.

37. The method according to claim 36, characterized in that: The subset of high-level information packets includes a first number d1 of high-level information packets; Another subset of the high-level information packets includes a second number d2 of high-level information packets, d1 and d2 are sampled from the degree distribution, The subset of the higher layer information packets and the d1 and d2 higher layer information packets in the further subset are randomly selected from the higher layer information packets.

38. The method according to claim 36 or 37, characterized in that The subset of the high-layer coding packets is generated based on a linear combination of the subset of the high-layer information packets, and the method further comprises: The coefficients of the linear combination are received from the transmitting device.

39. The method according to any one of claims 33 to 38, characterized in that Receiving the multiple CBs includes receiving information bits of the CBs and corresponding check blocks of the CBs, wherein the check block of each CB is generated based on a first code applied to the information bits of the CB, and the multiple check blocks are generated based on a second code applied to the portion of the several CBs in the multiple CBs.

40. The method according to any one of claims 33 to 39, characterized in that Each of the high-layer coding packets is mapped to a physical layer packet in the physical layer packet based on which a transport block is generated, and the transport block includes one or more CBs among the multiple CBs.

41. The method according to any one of claims 33 to 39, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet on which one of the multiple CBs in the physical layer packet is based.

42. The method according to any one of claims 33 to 39, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet based on which one of the portions of the several CBs is generated in the physical layer packet.

43. The method according to any one of claims 33 to 39, characterized in that Each of the multiple CBs includes multiple sub-blocks, wherein each of the high-level coding packets is mapped to a part of a physical layer packet in the physical layer packet based on which one of the sub-blocks is generated, and wherein the part of the several CBs based on which each of the multiple check blocks is generated includes a sub-block of each of the several CBs.

44. The method according to claim 33, characterized in that Also includes: A plurality of groups of check blocks are received from the transmitting device, wherein the plurality of groups of check blocks are generated based on different combinations of the portions of the plurality of CBs.

45. The method according to claim 44, characterized in that Receiving the plurality of groups of check blocks includes receiving a corresponding group of check blocks in the plurality of groups of check blocks based on sending negative feedback from the receiving device to the sending device for at least one of the physical layer packets in the batch of physical layer packets.

46. ​​The method according to claim 45, characterized in that Also includes: Based on sending positive feedback for all the physical layer packets in the batch of physical layer packets from the receiving device to the sending device, a coded block generated according to the another batch of physical layer packets is received from the sending device.

47. The method according to claim 45, characterized in that Also includes: Based on the maximum number of transmission times of the plurality of groups of check blocks by the sending device, the coded blocks generated according to the another batch of physical layer packets are received from the sending device.

48. A device, characterized in that include: processor; A non-transitory computer-readable storage medium, coupled to the processor and storing a program executed by the processor, the program including instructions for performing the following operations: receiving, from a transmitting device in a wireless communication network, a plurality of coded blocks CB generated based on a batch of physical layer packets, a subset of higher layer coded packets generated based on higher layer information packets being mapped to the batch of physical layer packets, wherein packets of the higher layer information packets used to generate the subset of higher layer coded packets for the batch overlap with packets of the higher layer information packets used to generate another subset of the higher layer coded packets to be mapped to another batch of physical layer packets; A plurality of check blocks are received from the transmitting device, each check block being generated based on a portion of several CBs among the plurality of CBs.

49. The device according to claim 48, characterized in that The program also includes instructions for performing the following operations: receiving from the transmitting device another CB generated based on the another batch of physical layer packets; Further check blocks are received from the sending device, each further check block being generated based on a portion of several of the further CBs.

50. The device according to claim 48 or 49, characterized in that The high-layer coded packet is generated based on a high-layer erasure code applied to the high-layer information packet.

51. The device according to any one of claims 48 to 50, characterized in that: The packet in the high-layer information packet used to generate the subset of the high-layer coded packet includes the subset of the high-layer information packet; The packets in the high-layer information packets used to generate another subset of the high-layer coded packets include another subset of the high-layer information packets, The subset of the higher layer information packets and the other subset of the higher layer information packets from which the subset and the other subset of the higher layer coded packets are generated are different from each other and overlap.

52. The device according to claim 51, characterized in that: The subset of high-level information packets includes a first number d1 of high-level information packets; Another subset of the high-level information packets includes a second number d2 of high-level information packets, d1 and d2 are sampled from the degree distribution, The subset of the higher layer information packets and the d1 and d2 higher layer information packets in the further subset are randomly selected from the higher layer information packets.

53. The device according to claim 51 or 52, characterized in that The subset of the high-level coding packets is generated based on a linear combination of the subset of the high-level information packets, and the program further includes instructions for performing the following operations: The coefficients of the linear combination are received from the transmitting device.

54. The device according to any one of claims 48 to 53, characterized in that The program includes instructions for performing the following operations: receiving the multiple CBs by receiving information bits of the CBs and corresponding check blocks of the CBs, the check block of each CB is generated based on a first code applied to the information bits of the CB, and the multiple check blocks are generated based on a second code applied to the portion of the several CBs in the multiple CBs.

55. The device according to any one of claims 48 to 54, characterized in that Each of the high-layer coding packets is mapped to a physical layer packet in the physical layer packet based on which a transport block is generated, and the transport block includes one or more CBs among the multiple CBs.

56. The device according to any one of claims 48 to 54, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet in the physical layer packet to generate a CB among the multiple CBs based on it.

57. The device according to any one of claims 48 to 54, characterized in that Each of the higher layer coding packets is mapped to a portion of a physical layer packet based on which one of the portions of the several CBs is generated in the physical layer packet.

58. The device according to any one of claims 48 to 54, characterized in that Each of the multiple CBs includes multiple sub-blocks, wherein each of the high-level coding packets is mapped to a part of a physical layer packet in the physical layer packet based on which one of the sub-blocks is generated, and wherein the part of the several CBs based on which each of the multiple check blocks is generated includes a sub-block of each of the several CBs.

59. The device according to claim 48, characterized in that The program also includes instructions for performing the following operations: A plurality of groups of check blocks are received from the transmitting device, wherein the plurality of groups of check blocks are generated based on different combinations of the portions of the plurality of CBs.

60. The device according to claim 59, characterized in that The program includes instructions for receiving a corresponding set of check blocks from the plurality of sets of check blocks based on sending negative feedback from the receiving device to the sending device for at least one of the physical layer packets in the batch of physical layer packets.

61. The device according to claim 60, characterized in that The program also includes instructions for performing the following operations: Based on sending positive feedback for all the physical layer packets in the batch of physical layer packets from the receiving device to the sending device, a coded block generated according to the another batch of physical layer packets is received from the sending device.

62. The device according to claim 60, characterized in that The program also includes instructions for performing the following operations: Based on the maximum number of transmission times of the plurality of groups of check blocks by the sending device, the coded blocks generated according to the another batch of physical layer packets are received from the sending device.

63. A computer program product, characterized in that A non-transitory computer readable medium comprising a program storing the program, the program comprising instructions to: receiving, from a transmitting device in a wireless communication network, a plurality of coded blocks CB generated based on a batch of physical layer packets, a subset of higher layer coded packets generated based on higher layer information packets being mapped to the batch of physical layer packets, wherein packets of the higher layer information packets used to generate the subset of higher layer coded packets for the batch overlap with packets of the higher layer information packets used to generate another subset of the higher layer coded packets to be mapped to another batch of physical layer packets; A plurality of check blocks are received from the transmitting device, each check block being generated based on a portion of several CBs among the plurality of CBs.

64. A computer program product, characterized in that A non-transitory computer readable medium comprising a program storing the program, the program comprising instructions for executing the method according to any one of claims 33 to 47.

65. A processor of a device, characterized in that The processor is configured to cause the apparatus to perform the method according to any one of claims 1 to 15 and claims 33 to 47.

Citation Information

Patent Citations

  • Methods and systems for network coding using cross-packet check blocks

    US20210297180A1