Apparatuses and methods for retransmissions using window-based cross-block check blocks
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-05-25
- Publication Date
- 2026-03-25
Smart Images

Figure CN2023096386_28112024_PF_FP_ABST
Abstract
Description
APPARATUSES AND METHODS FOR RETRANSMISSIONS USING WINDOW-BASED CROSS-BLOCK CHECK BLOCKSTECHNICAL FIELD
[0001] The present disclosure relates to methods and apparatuses for wireless communications using a retransmission scheme, including retransmission schemes using cross-block check blocks.BACKGROUND
[0002] In many applications in wireless communications, a retransmission is performed by a transmitter node if an initial transmission to a receiver node fails or if the initial transmission is not successfully decoded by the receiver node. A receiver node may be required to send feedback to the transmitter node to indicate whether or not the initial transmission was successfully decoded. Retransmission schemes, such as conventional hybrid automatic repeat request (HARQ) schemes may introduce significant overhead in feedback.
[0003] Accordingly, it would be useful to provide solutions for performing transmissions using an improved retransmission scheme.SUMMARY
[0004] In various examples, the present disclosure describes methods and apparatuses for wireless communications using a retransmission scheme that may help to reduce the use of communication resources (e.g., bandwidth, etc. ) compared to some conventional retransmission schemes. For example, the overhead in feedback may be reduced and / or the resources used for a retransmission may be reduced. This may provide technical advantages in that the wireless communications may be carried out more efficiently and / or using fewer communication resources.
[0005] Examples of the present disclosure may be applicable to various types of wireless communications, including unicast, multicast, groupcast and / or broadcast applications.
[0006] In various examples, a retransmission scheme is described in which cross-block check blocks are generated using code blocks that are selected based on a defined window. In some examples, if a receiver node fails to successfully decode multiple code bocks in an initial transmission of a transport block, the receiver node may feedback the index of only one of the unsuccessfully decoded code blocks (e.g., may feedback only the smallest index of the unsuccessfully decoded code blocks) . Only one index may be indicated in the feedback, and the index may be relative to the transmitted transport block. This may enable the feedback to be transmitted using fewer bits, which may provide technical advantages in that the feedback overhead may be reduced.
[0007] The transmitter node may, using the code block having the smallest index indicated in the feedback, define a window for selecting the code blocks for generating a set of cross-block check blocks. One or more of the cross-block check blocks may then be sent in a retransmission. In some examples, this may result in a retransmission that includes one or more cross-block check blocks generated from code blocks selected from across two or more transport blocks. This may result in fewer retransmissions being needed, which may provide technical advantages in that the retransmissions may be carried out more efficiently and / or using fewer communication resources.
[0008] In an example aspect, the present disclosure describes a method at a transmitter node, the method including: transmitting an initial transmission of a first transport block having a first plurality of code blocks to one or more receiver nodes; receiving, from at least one receiver node, feedback indicating that decoding of at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to the first transport block; and transmitting a retransmission of one or more cross-block check blocks from a set of one or more cross-block check blocks, the set of one or more cross-block check blocks being generated from selected code blocks selected by a window, a starting point of the window being defined according to the indication of the unsuccessfully decoded code block in the feedback.
[0009] In an example of the preceding example aspect of the method, the unsuccessfully decoded code block having the smallest index may be indicated as a relative code block index relative to the first transport block.
[0010] In an example of the preceding example aspect of the method, the feedback may be a set of bits having bit value equal to the relative code block index relative to the first transport block.
[0011] In an example of the preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus one.
[0012] In an example of a preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus two.
[0013] In an example of some of the preceding example aspects of the method, the starting point of the window may be defined to be a code block at an actual code block index corresponding to the relative code block index.
[0014] In an example of a preceding example aspect of the method, the unsuccessfully decoded code block having the smallest index may belong to a code block group of the first transport block and the unsuccessfully decoded code may be indicated as a relative code block group index relative to the first transport block.
[0015] In an example of the preceding example aspect of the method, the feedback may be a set of bits having bit value equal to the relative code block group index relative to the first transport block.
[0016] In an example of the preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus one.
[0017] In an example of a preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus two.
[0018] In an example of some of the preceding example aspects of the method, the starting point of the window may be defined to be a first code bock of the code block group.
[0019] In an example of any of the preceding example aspects of the method, the window may select code blocks from the first transport block and a second transport block, the method further including: prior to transmitting the retransmission, transmitting an initial transmission of the second transport block having a second plurality of code blocks to the one or more receiver nodes.
[0020] In an example of the preceding example aspect of the method, the method may include: after transmitting the retransmission, receiving, from a same or different at least one receiver node, feedback indicating that decoding of a same or different at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to a total of the first and the second transport block.
[0021] In an example of some of the preceding example aspects of the method, feedback for the first transport block and feedback for the second transport block may be received together from a single receiver node as multiplexed feedback.
[0022] In an example of any of the preceding example aspects of the method, the method may include: prior to transmitting the initial transmission of the first transport block, transmitting control information to the one or more receiver nodes, the control information including an indicator of a number of transmissions by the transmitter node.
[0023] In an example of any of the preceding example aspects of the method, the method may include: after transmitting the retransmission, receiving, from a same or different at least one receiver node, feedback indicating that decoding of a same or different at least one code block was unsuccessful, wherein the indicated at least one code block is within the window; and transmitting another retransmission of different one or more cross-block check blocks from a same or different set of one or more cross-block check blocks, the same or different set of one or more cross-block check blocks being generated from selected code blocks selected by the window.
[0024] In an example of the preceding example aspect of the method, the retransmission may be a different subset of one or more cross-block check blocks from the same set of one or more cross-block check blocks.
[0025] In an example of any of the preceding example aspects of the method, a size of the window may be defined to be equal to a number of code blocks to be transmitted in a next transport block.
[0026] In another example aspect, the present disclosure describes a method at a receiver node, the method including: receiving, from a transmitter node, an initial transmission of a first transport block having a first plurality of code blocks; and transmitting, to the transmitter node, feedback indicating that decoding of at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to the first transport block.
[0027] In an example of the preceding example aspect of the method, the unsuccessfully decoded code block having the smallest index may be indicated as a relative code block index relative to the first transport block.
[0028] In an example of the preceding example aspect of the method, the feedback may be a set of bits having bit value equal to the relative code block index relative to the first transport block.
[0029] In an example of the preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus one.
[0030] In an example of a preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus two.
[0031] In an example of a preceding example aspect of the method, the unsuccessfully decoded code block having the smallest index may belong to a code block group of the first transport block and the unsuccessfully decoded code may be indicated as a relative code block group index relative to the first transport block.
[0032] In an example of the preceding example aspect of the method, the feedback may be a set of bits having bit value equal to the relative code block group index relative to the first transport block.
[0033] In an example of the preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus one.
[0034] In an example of a preceding example aspect of the method, the feedback may be defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus two.
[0035] In an example of any of the preceding example aspects of the method, the method may include: receiving, from the transmitter node, an initial transmission of a second transport block having a second plurality of code blocks; and receiving, from the transmitter node, a retransmission of one or more cross-block check blocks generated from selected code blocks selected from the first transport block and the second transport block, the one or more cross-block check blocks being useable to assist in decoding the selected code blocks, the selected code blocks including at least the unsuccessfully decoded code block indicated in the feedback.
[0036] In an example of the preceding example aspect of the method, the method may include: transmitting, to the transmitter node, feedback indicating that decoding of a same or different at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to a total of the first and the second transport block.
[0037] In an example of some of the preceding example aspect of the method, feedback for the first transport block and feedback for the second transport block may be transmitted together as multiplexed feedback.
[0038] In an example of any of the preceding example aspect of the method, the method may include: prior to receiving the initial transmission of the first transport block, receiving control information including an indicator of a number of transmissions by the transmitter node.
[0039] In an example of the preceding example aspect of the method, the method may include: after receiving the control information, transmitting, to the transmitter node, feedback indicating that a previous transmission was missed.
[0040] In another example aspect, the present disclosure describes an apparatus including: a processing unit; and a memory including instructions that, when executed by the processing unit, cause the apparatus to perform any preceding examples of the preceding example aspects of the methods.
[0041] In another example aspect, the present disclosure describes a non-transitory computer readable medium having machine-executable instructions stored thereon, wherein the instructions, when executed by an apparatus, cause the apparatus to perform any preceding examples of the preceding example aspects of the methods
[0042] In another example aspect, the present disclosure describes an apparatus including: a transmitting module configured to carry out the transmitting steps of any preceding examples of the preceding example aspects of the methods; and a receiving module configured to carry out the receiving steps of any preceding examples of the preceding example aspects of the methods.
[0043] In another example aspect, the present disclosure describes a processing module configured to control an apparatus to cause the apparatus to carry out any preceding examples of the preceding example aspects of the methods.
[0044] In another example aspect, the present disclosure describes a system chip including a processing unit configured to execute instructions to cause an apparatus to carry out any preceding examples of the preceding example aspects of the methods.
[0045] In another example aspect, the present disclosure describes a computer program characterized in that, when the computer program is run on a computer, the computer is caused to execute any preceding examples of the preceding example aspects of the methods.BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Reference will now be made, by way of example, to the accompanying drawings which show example embodiments of the present application, and in which:
[0047] FIG. 1 illustrates an example wireless communication system, in which examples of the present disclosure may be implemented;
[0048] FIG. 2 illustrates an example apparatus that may be used to implement examples of the present disclosure;
[0049] FIGS. 3A and 3B illustrate examples of how cross-block check blocks may be generated from information bits selected across multiple code blocks;
[0050] FIGS. 4A and 4B illustrate an example of a retransmission scheme in a groupcast, multicast or broadcast scenario, in accordance with examples of the present disclosure;
[0051] FIG. 5 illustrates an example of a retransmission scheme in a unicast scenario, in accordance with examples of the present disclosure;
[0052] FIGS. 6A and 6B illustrate another example of a retransmission scheme in a groupcast, multicast or broadcast scenario, in accordance with examples of the present disclosure;
[0053] FIG. 7 illustrates another example of a retransmission scheme in a unicast scenario, in accordance with examples of the present disclosure;
[0054] FIG. 8 is a flowchart of an example method at a transmitter node, in accordance with examples of the present disclosure; and
[0055] FIG. 9 is a flowchart of an example method at a receiver node, in accordance with examples of the present disclosure.
[0056] Similar reference numerals may have been used in different figures to denote similar components.DETAILED DESCRIPTION
[0057] To assist in understanding the present disclosure, an example wireless communication system is first described.
[0058] FIG. 1 illustrates an example wireless communication system 100 (also referred to as a wireless system 100) in which embodiments of the present disclosure could be implemented. In general, the wireless system 100 enables multiple wireless or wired elements to communicate data and other content. The wireless system 100 may enable content (e.g., voice, data, video, text, etc. ) to be communicated (e.g., via broadcast, groupcast, multicast, narrowcast, device to device, etc. ) among entities of the system 100. The wireless system 100 may operate by sharing resources such as bandwidth. The wireless system 100 may be suitable for wireless communications using 5G technology (e.g., 5G New Release (NR) and Long-Term Evolution (LTE) technologies) and / or later generation wireless technology. In some examples, the wireless system 100 may also accommodate some legacy wireless technology (e.g., 3G or 4G wireless technology) .
[0059] In the example shown, the wireless system 100 includes user equipment (UEs) 110, radio access networks (RANs) 120, a core network 130, a public switched telephone network (PSTN) 140, the internet 150, and other networks 160. In some examples, one or more of the networks may be omitted or replaced by a different type of network. Other networks may be included in the wireless system 100. Although certain numbers of these components or elements are shown in FIG. 1, any reasonable number of these components or elements may be included in the wireless system 100.
[0060] The UEs 110 are configured to operate, communicate, or both, in the wireless system 100. For example, the UEs 110 may be configured to transmit, receive, or both via wireless or wired communication channels. The term “UE” may be used to refer to any suitable end user device for wireless operation and may include such devices (or may be referred to) as a wireless transmit / receive unit (WTRU) , a mobile station, a mobile relay, a fixed or mobile subscriber unit, a cellular telephone, a station (STA) , a machine type communication (MTC) device, a personal digital assistant (PDA) , a smartphone, a laptop, a computer, a tablet, a wireless sensor, an internet of things (IoT) device, a network-enabled vehicle, or a consumer electronics device, among other possibilities. In some examples, the term electronic device (ED) may be used instead of UE. In general, it should be understood that the use of the term UE in the present disclosure does not necessarily limit the present disclosure to any specific wireless technology.
[0061] In FIG. 1, the RANs 120 include base stations (BSs) 170. Although FIG. 1 shows each RAN 120 including a single respective BS 170, it should be understood that any given RAN 120 may include more than one BS 170, and any given RAN 120 may also include base station controller (s) (BSC) , radio network controller (s) (RNC) , relay nodes, elements, and / or devices. FIG. 1 also depicts a non-terrestrial BS 170b, which may be part of a non-terrestrial network (not shown) . A non-terrestrial BS 170b may also be referred to as a satellite. The non-terrestrial BS 170b may communicate with the core network 130 using satellite transmissions. A non-terrestrial BS 170b may wirelessly communicate with one or more UEs 110, similar to terrestrial BSs 170. Communications between a non-terrestrial BS 170b and a UE 110 (which is typically a terrestrial entity) may be slower compared to communications between a terrestrial BS 170 and a UE 110, due to the longer distance between a non-terrestrial BS 170b and a UE 110. For simplicity, a non-terrestrial BS 170b may be referred to as simply a BS 170, except where explicitly stated.
[0062] Each BS 170 is configured to wirelessly interface with one or more of the UEs 110 to enable access to any other BS 170, the core network 130, the PSTN 140, the internet 150, and / or the other networks 160. For example, the BSs 170 may also be referred to as (or include) a base transceiver station (BTS) , a radio base station, a Node-B (NodeB) , an evolved NodeB (eNodeB or eNB) , a Home eNodeB, a gNodeB (gNB) (sometimes called a next-generation Node B) , a transmission point (TP) , a transmission and reception point (TRP) , a site controller, an access point (AP) , or a wireless router, among other possibilities. Future generation BSs 170 may be referred to using other terms. In some examples, the term TRP may be used to encompass a BS 170 or any other node that may serve to transmit and receive communications. Thus, although the present disclosure makes references to BSs 170, it should be understood that this is not intended to be limiting. Any UE 110 may be alternatively or additionally configured to interface, access, or communicate with any other BS 170, the internet 150, the core network 130, the PSTN 140, the other networks 160, or any combination of the preceding. In some examples, a BS 170 may access the core network 130 via the internet 150.
[0063] The UEs 110 and BSs 170 are examples of communication equipment that can be used to implement some or all of the functionality and / or embodiments described herein. Any BS 170 may be a single element, as shown, or multiple elements, distributed in the corresponding RAN 120, or otherwise. Each BS 170 transmits and / or receives wireless signals within a particular geographic region or area, sometimes referred to as a “cell” or “coverage area” . A cell may be further divided into cell sectors, and a BS 170 may, for example, employ multiple transceivers to provide service to multiple sectors. In some embodiments there may be established pico or femto cells where the radio access technology supports such. A macro cell may encompass one or more smaller cells. The number of networks (including terrestrial networks and non-terrestrial networks) shown is exemplary only. Any number of networks may be contemplated when devising the wireless system 100.
[0064] The BSs 170 communicate with one or more of the UEs 110 over one or more uplink (UL) / downlink (DL) wireless interfaces 190 (e.g., via radio frequency (RF) , microwave, infrared, etc. ) . The UL / DL interface 190 may also be referred to as a UL / DL connection, UE-BS link / connection / interface, or UE-network link / connection / interface, for example. The UEs 110 may also communicate directly with one another (i.e., without involving the BS 170) via one or more sidelink (SL) wireless interfaces 195. The SL interface 195 may also be referred to as a SL connection, UE-to-UE link / connection / interface, vehicle-to-vehicle (V2V) link / connection / interface, vehicle-to-everything (V2X) link / connection / interface, vehicle-to-infrastructure (V2I) link / connection / interface, vehicle-to-pedestrian (V2P) link / connection / interface, device-to-device (D2D) link / connection / interface, or simply as SL, for example. The wireless interfaces 190, 195 may utilize any suitable radio access technology. For example, the wireless system 100 may implement one or more channel access methods, such as code division multiple access (CDMA) , time division multiple access (TDMA) , frequency division multiple access (FDMA) , orthogonal FDMA (OFDMA) , or single-carrier FDMA (SC-FDMA) for wireless communications.
[0065] The RANs 120 are in communication with the core network 130 to provide the UEs 110 with various services such as voice, data, and other services. The RANs 120 and / or the core network 130 may be in direct or indirect communication with one or more other RANs (not shown) , which may or may not be directly served by core network 130, and may or may not employ the same radio access technology. The core network 130 may also serve as a gateway access between (i) the RANs 120 or UEs 110 or both, and (ii) other networks (such as the PSTN 140, the internet 150, and the other networks 160) . In addition, some or all of the UEs 110 may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies and / or protocols. Instead of wireless communication (or in addition thereto) , the UEs 110 may communicate via wired communication channels to a service provider or switch (not shown) , and to the internet 150. PSTN 140 may include circuit switched telephone networks for providing plain old telephone service (POTS) . The internet 150 may include a network of computers and subnets (intranets) or both, and incorporate protocols, such as Internet Protocol (IP) , Transmission Control Protocol (TCP) , User Datagram Protocol (UDP) . The UEs 110 may be multimode devices capable of operation according to multiple radio access technologies, and incorporate multiple transceivers necessary to support such.
[0066] FIG. 2 illustrates an example apparatus 200 that may implement examples disclosed herein. FIG. 2 illustrates a possible embodiment for the UE 110 or the BS 170, and is not intended to be limiting.
[0067] As shown in FIG. 2, an example apparatus 200 (e.g., an example embodiment of the UE 110 or BS 170) includes at least one processing unit 201. The processing unit 201 implements various processing operations of the apparatus 200. For example, the processing unit 201 could perform signal coding, data processing, power control, input / output processing, or any other functionality of the apparatus 200. The processing unit 201 may also be configured to implement some or all of the functionality and / or embodiments described in more detail herein. Each processing unit 201 includes any suitable processing or computing device configured to perform one or more operations. Each processing unit 201 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit. Each of the at least one processing unit 201 may include one or more processor cores.
[0068] The apparatus 200 includes at least one communication interface 202 for wired and / or wireless communications. One or multiple communication interfaces 202 could be used in the apparatus 200. Each communication interface 202 includes any suitable structure for generating signals for wireless or wired transmission and / or processing signals received wirelessly or by wire. Although shown as a single functional unit, the communication interface 202 could also be implemented using at least one transmitter interface and at least one separate receiver interface. In some examples, one or more transmitters and one or more receivers may be implemented by the communication interface 202.
[0069] The apparatus 200 includes one or more antennas 204 for wireless communications. Each antenna 204 includes any suitable structure for transmitting and / or receiving wireless signals. In some examples, the apparatus 200 may include multiple antennas 204 to support multiple-input multiple-output (MIMO) communications. There may be multiple antennas 204 that together form an antenna array, which may be used for beamforming and beam steering operations. In some examples, there may be one or more antennas 204 used for transmitting signals and separate one or more antennas 204 used for receiving signals.
[0070] The apparatus 200 further includes one or more input / output devices 206 or input / output interfaces (such as a wired interface to the internet 150) . The input / output device (s) 206 permit interaction with a user or other devices in the wireless system 100. Each input / output device 206 includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touchscreen, including network interface communications.
[0071] In addition, the apparatus 200 includes at least one memory 208. The memory 208 stores instructions and data used, generated, or collected by the apparatus 200. For example, the memory 208 could store software instructions or modules configured to implement some or all of the functionality and / or embodiments described herein and that are executed by the processing unit (s) 201. Each memory 208 includes any suitable volatile and / or non-volatile storage and retrieval device (s) . Any suitable type of non-transitory memory may be used, such as random access memory (RAM) , read only memory (ROM) , hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, and the like.
[0072] In wireless communication systems, a BS 170 may transmit data (e.g., a transport block (TB) ) to one or more UEs 110. A TB can be segmented and encoded (e.g., by forward error correction (FEC) codes) to generate multiple code blocks (CBs) for transmission. Additionally, several CBs in TB can be grouped to form a code block group (CBG) . The code used for the encoding may be a systematic code or a non-systematic code. A CB generally includes information bits and check bits. The information bits represent data and the check bits represent redundancy bits that may be used for error correction. It will be appreciated by persons skilled in the art that the present disclosure is not dependent on whether systematic or non-systematic code is used. For simplicity, examples disclosed herein may be in the context of systematic code. It should be understood that this is not intended to be limiting.
[0073] Hybrid automatic repeat request (HARQ) is a commonly used retransmission technique. Conventional HARQ retransmission schemes are typically based on whether a TB was successfully decoded by a receiver node. If the receiver node was unsuccessful in decoding even one CB of a TB, then negative feedback is sent back to the transmitter node and the transmitter node performs a retransmission of the entire TB (e.g., a single TB may form a transmission packet) or a predefined group of CBs (referred to as a CB group (CBG) ) containing the unsuccessfully decoded CB, even if other CBs of the TB or CBG were successfully decoded by the receiver node. This may be an inefficient use of communication resources. The inefficiency of conventional HARQ retransmission schemes may be exacerbated in broadcast, multicast or groupcast scenarios, in which different receiver nodes may have errors in decoding different CBs. A retransmission of a TB or CBG that contains a CB that was not successfully decoded by one receiver node may be redundant for another receiver node that did successfully decode all the CBs of the TB or CBG.
[0074] Retransmission schemes based on the use of cross-block check blocks (also referred to as cross-packet check blocks or vertical check blocks) have been described. For example, techniques for generating cross-block check blocks have been described in U.S. patent application no. 16 / 665,121, entitled “SYSTEM AND METHOD FOR HYBRID-ARQ” , filed October 28, 2019, the entirety of which is hereby incorporated by reference. The use of cross-block check blocks in network coding (also referred to as 2D network coding or 2D joint network coding) has been described in U.S. patent application no. 17 / 110,226, entitled “METHODS AND SYSTEMS FOR NETWORK CODING USING CROSS-PACKET CHECK BLOCKS” , filed December 2, 2020; and in U.S. patent application no. 17 / 368,500, entitled “METHODS AND SYSTEMS FOR BROADCAST MULTICAST OR GROUPCAST TRANSMISSION USING VERICAL CHECK BLOCKS” , filed July 6, 2021, the entireties of which are hereby incorporated by reference.
[0075] In general, a cross-block check block is formed by check bits that are generated from information bits selected from across two or more different CBs. A cross-block check block may be generated by, for example, selecting information bits from across two or more CBs, then encoding (e.g., using a FEC code, such as low-density parity-check (LDPC) code) or otherwise combining (e.g., using XOR, linear combination, etc. ) the selected bits to obtain the cross-block check block. In some examples, a cross-block check block may be referred to as a “vertical” check block, to distinguish from a “horizontal” check block such as a conventional cyclic redundancy check (CRC) block that is generated using information bits of a single CB.
[0076] Examples of how cross-block check blocks may be generated are now described with reference to FIGS. 3A-3B.
[0077] FIG. 3A illustrates an example code structure for a single TB 302 that is segmented into multiple CBs 310 (in this example, four CBs 310 are shown for simplicity, however this is not intended to be limiting) . Each CB 310 includes an information block 304 formed from encoder input bits. The encoder input bits may also be referred to as information bits. Each CB 310 also includes check bits (e.g., cyclic redundancy check (CRC) bits) generated using the bits from the information block 304 of the CB 310. The check bits, which are appended to the information block 304 of the CB 310, may be referred to as a horizontal check block 306. As shown, there may be one horizontal check block 306 in each CB 310. The term “horizontal” refers to how the check bits in the horizontal check block 306 are generated using only the information bits from a single CB 310 (as distinguished from cross-block check blocks, which may be referred to as “vertical” check blocks) , and is not intended to imply any physical structure or orientation. A horizontal check block 306 may also be referred to as an intra-block check block or a single-CB check block, among other possibilities.
[0078] One or more cross-block check blocks 308 are generated using bits selected from across two or more CBs 310. The cross-block check blocks 308 may include one or more cross-block check blocks 308 generated from bits selected across multiple information blocks 304. Optionally, one or more cross-block check blocks 308 may also be generated using bits selected from across multiple horizontal check blocks 306. Cross-block check blocks 308 generated from bits selected from horizontal check blocks may be referred to as “check on check” blocks.
[0079] In some examples, cross-block check blocks 308 may be referred to as vertical check blocks (to distinguish from the horizontal check blocks 306) , however the term “vertical” is not intended to imply any physical structure or orientation. Further, it should be understood that the terms “parity block” or “redundancy block” may also be used instead of “check block” . In FIG. 3A, each cross-block check block 308 is generated using bits selected from across two or more CBs 310 of the packet 304.
[0080] FIG. 3B illustrates another example, which is similar to that of FIG. 3A with the difference that FIG. 3B illustrates two different TBs 302 and the cross-block check blocks 308 are generated using bits selected from across the CBs 310 of the two different TBs 302. Although two TBs 302 are shown, it should be understood that there may be more than two TBs 302. As well, the number of CBs 310 in each TB 302 may or may not be equal. FIG. 3B illustrates an example in which each cross-block check block 308 is generated using bits selected from across the CBs 310 of two or more TBs 302. As will be discussed further below, the selection of CBs 310 from two or more TBs 302 as a basis for generation of cross-block check blocks 308 may be based on a window that is defined based on feedback. In some examples, generation of cross-block check blocks 308 from CBs 310 selected from two or more TBs 302 may reduce the number of retransmissions required and / or may result in more efficient use of communication resources.
[0081] In general, each cross-block check block 308 is generated from bits selected across multiple CBs 310. In particular, one or more bits may be selected from each of two or more CBs 310. The selected bits may be referred to as cross-block bits (because the bits are selected from across multiple CBs 310) , and the group of selected bits may be referred to as the cross-block information block. The cross-block information block is then encoded (e.g., using a FEC code, such as LDPC code) or otherwise combined (e.g., using XOR, linear combination, etc. ) to obtain the cross-block check block 308. In general, the term check block should be understood to encompass various techniques that may be used to combine bits selected from across different CBs 310, including using XOR or using a linear combination of bits as well as encoding techniques such as encoding the selected bits using a channel code (among other possibilities) .
[0082] In some examples, an interleaver may be used to select the cross-block bits. Examples of how an interleaver may be used in a cross-block check block retransmission scheme are described in PCT application no. PCT / CN2021 / 121483, “METHODS AND APPARATUSES FOR WIRELESS COMMUNICATION RETRANSMISSION USING CHECK BLOCKS GENERATED ACCORDING TO SUBBLOCK INTERLEAVERS” , filed September 28, 2021, the entirety of which is hereby incorporated by reference.
[0083] The manner in which cross-block bits are selected (e.g., which interleaver to use, how many bits to select across different CBs 310, which CBs 310 from which to select the cross-block bits, etc. ) and the manner in which the cross-block check blocks 308 are generated (e.g., what combination or encoding technique to use, how many cross-block check blocks 308 to generate, whether check-on-check blocks are generated, etc. ) may be configured by the transmitter node and / or by a network controller, and / or may be defined by a standard.
[0084] The check bits contained in the horizontal check blocks 306 and cross-block check blocks 308 are useful to assist decoding at a receiver node. For example, after each decoding operation (also referred to as a decoding attempt) at a decoder, error checking can be performed using check bits to determine if the information bits in the CB 310 have been successfully decoded. Each cross-block check block 308 contains check bits generated from across multiple CBs 310, and thus provides information useful for decoding multiple CBs 310. The decoder may use the check bits of the cross-block check block 308 to assist in decoding of a CB 310.
[0085] In examples where the CBs 310 are systematic (such as LDPC code or Turbo code) , an iterative decoding process may be used at the decoder at the receiver node to decode the received CBs 310. The decoder calculates log-likelihood ratios (LLRs) of bit values during decoding of the CBs 310, which may be considered a “soft” output of the decoder. In the present disclosure, soft output may refer to decoder output that is not yet finalized (e.g., bit value not yet definitively determined to be 1 or 0 value) but may provide information that can still be useful (e.g., in a subsequent decoding iteration) . Such soft output may be probabilistic in nature (e.g., LLR) . CBs 310 that are not correctly decoded (e.g., fails a check using the corresponding horizontal check blocks 306) may benefit from information encoded in the cross-block check blocks 308. Because each of the cross-block check blocks 308 is generated from information bits selected from two or more (or all) of the CBs 310, soft output from decoding operations to decode a cross-block check block 308 may help to improve decoding of the CBs 310 (and vice versa) . In at least this way, cross-block check blocks 308 help to improve decoding.
[0086] A HARQ retransmission scheme that makes use of cross-block check blocks may be referred to as cross-block HARQ or 2D HARQ. A HARQ retransmission scheme that does not make use of cross-block check blocks may be referred to as conventional HARQ or 1D HARQ.
[0087] In multicast, groupcast and broadcast transmissions, a transmitter node may transmit the same set of data in an initial transmission to multiple receiver nodes. For example, a transmitter node may be a BS 170 that sends data to multiple receiver nodes that are different UEs 110. It should be understood that the present disclosure is not limited to downlink transmissions. For example, a transmitter node may be a UE 110 that sends data via uplink transmission to a BS 170, or via sidelink transmission to another UE 110. For simplicity, some examples described herein may refer to a BS 170 as a transmitter node and a UE 110 as a receiver node, however this is not intended to be limiting.
[0088] A challenge of implementing a conventional HARQ retransmission scheme, particularly in the case of multicast, groupcast and broadcast (but also in the case of unicast) , is that feedback from receiver nodes may introduce significant overhead and consume a significant amount of communication resources. If rateless coding is used, there may be a large amount of retransmissions required. Fountain code, which is a rateless code, may result in high latency and reduced performance in non-erasure channels.
[0089] Examples of the present disclosure describe methods and systems that may help to improve efficiency of retransmission in unicast, groupcast, multicast and / or broadcast wireless communications. The present disclosure describes the use of a window (which may be defined based on feedback) to select CBs for generating a set of cross-block check blocks (CCBs) to be sent in a retransmission. Further, the present disclosure describes a feedback scheme in which, when a receiver node is unsuccessful in decoding one or more CBs, only the unsuccessfully decoded CB having the smallest index is indicated in the feedback.
[0090] FIGS. 4A and 4B illustrate an example of the present disclosure implemented for multicast, groupcast or broadcast communications. FIG. 4A is a signaling diagram illustrating this example, and FIG. 4B illustrates how CBs are selected in this example using a window. In this example, a single transmitter node 402 transmits the same set of data to two receiver nodes 404-1, 404-2. It should be understood that there may be more than two receiver nodes (generally referred to as receiver nodes 404) , and that this example may be a simplified representation of multicast, groupcast or broadcast communications. In examples of DL transmission, the transmitter node 402 may be a BS 170 and the receiver nodes 404 may each be a UE 110. In examples of UL or SL transmission, the transmitter node 402 may be a UE 110 and a receiver node 404 may be a BS 170 or another UE 110.
[0091] Generally, in multicast, groupcast or broadcast communications, the transmitter node 402 may transmit the same data to a set of multiple receiver nodes 404. Each receiver node 404 is configured to send feedback to the transmitter node 402 after every transmission. If any CB (s) is decoded unsuccessfully at a receiver node 404, that receiver node 404 is configured to send a NACK feedback that indicates the erroneous CB having the smallest index. That is, regardless of whether there is one erroneous CB or multiple erroneous CBs, only the erroneous CB having the smallest index is indicated in the NACK feedback. Otherwise, an ACK feedback is sent.
[0092] The transmitter node 402 sends control information in a control signal 412 to the receiver nodes 404. The control information may be sent as a DCI signal, a UCI signal, or a SCI signal, depending on the DL, UL or SL scenario. The control information may provide information about the resource block on which data is to be received, the modulation and coding scheme used, and other information that may be used by each receiver node 404 to decode the data.
[0093] The transmitter node 402 transmits data in an initial transmission 414 to each receiver node 404. The data may be transmitted as a first TB (denoted TB1) , which in this example includes four CBs (denoted CB1, CB2, CB3, CB4) . It should be understood that the index assigned to each CB may be arbitrary; however, for the purpose of the present disclosure, the index of each CB may refer to an indicator of the order in which the CB is transmitted. For example, CB1 may refer to the first CB that is sent, followed by CB2 (regardless of how the CBs may be indexed internally by the transmitter node 402) . After sending TB1, the transmitter node 402 expects feedback from each receiver node 404.
[0094] Each receiver node 404 performs a decoding attempt. In this example, receiver node 2 404-2 successfully decodes all CBs of TB1 and sends feedback 416 (e.g., ACK) to indicate all CBs were successfully decoded. However, receiver node 1 404-1 is unsuccessful in decoding CB3 and CB4. Thus, receiver node 1 404-1 sends NACK feedback 418 indicating the unsuccessfully decoded CB with the smallest relative index, that is index 3. It should be noted that the index transmitted in this feedback 418 is the index relative to the last transmitted TB (i.e., index 3 indicates the third CB transmitted in TB1) . The relative index of a CB may be different from the actual index of a CB. In the present disclosure, the relative index of a CB may refer to the order of transmission of a CB within a recently transmitted TB or TBs, whereas the actual index of a CB may refer to the order of transmission of a CB among all CBs transmitted in the set of transmissions (i.e., among all CBs transmitted since the first TB) .
[0095] After receiving feedback from all the receiver nodes 404, if all the feedback indicate all CBs were successfully decoded (i.e., all ACKs) , the transmitter node 402 may proceed to transmit the next TB. Otherwise, if there is any feedback indicating unsuccessful decoding (i.e., any NACK) , the transmitter node 402 uses the index included with the NACK feedback to define a window. In general, the window is a selection of two or more CBs, where the number of CBs selected by the window is defined by the size of the window (i.e., the size of the window refers to the number of CBs selected by the window) , and the window may select CBs according to the order of CB indexes. The starting point of the window may be defined by the index of the first CB within the window, and additional CB (s) are selected by the window in order of increasing CB index until the size of the window is reached.
[0096] The transmitter node 402 performs operations 420 to define a window starting from the CB having the smallest index among the CBs indicated in the feedback from all receiver nodes 404. If the transmitter node 402 receives feedback from multiple receiver nodes 404, the transmitter node 402 selects the CB having the smallest index from all the CBs indicated in the feedback as the starting point of the window. In this example, NACK feedback with index 3 is received, thus CB3 is selected as the starting point of the window. The size of the window may be set by the transmitter node 402 (or may be otherwise configured or defined, for example in a standard) . For example, the window size may be defined or configured to be equal to the number of CBs included in the transmitted TB, which is four in this example. Thus, the window defined by the transmitter node 402 starts at CB3 and selects additional CBs in order of increasing CB index until a total of four CBs (which is the size of the window) is selected. In this case, the window results in selection of four CBs starting from CB3, namely the set {CB3, CB4, CB5, CB6} .
[0097] If all CBs selected by the defined window have already been sent in an initial transmission, then the transmitter node 402 may generate a set of one or more CCBs using the selected CBs and perform a retransmission. If the window results in selection of a CB that has not yet been transmitted, then the transmitter node 402 may perform an initial transmission of that CB prior to performing the retransmission.
[0098] In this example, the CBs selected according to the defined window are CB3, CB4, CB5 and CB6. CB3 and CB4 have already been sent in TB1 at the transmission 414, however CB5 and CB6 have not yet been sent in an initial transmission. Accordingly, the transmitter node 402 determines that the next TB (which includes CB5 and CB6) should be sent prior to performing a retransmission.
[0099] The transmitter node 402 sends control information in another control signal 422, to provide information to the receiver nodes 404 for receiving and decoding data in the next TB. Then the transmitter node 402 sends data to each receiver node 404 in another initial transmission 424. This initial transmission 424 sends data in the form of another TB (denoted as TB2) , which includes four CBs, denoted CB5, CB6, CB7 and CB8. As previously noted, the index of the CBs may represent the order in which the CBs are transmitted. The transmitter node 402 then waits for feedback from all receiver nodes 404.
[0100] In this example, receiver node 1 404-1 successfully decodes all CBs of TB2 and thus sends ACK feedback 426. However, receiver node 2 404-2 was unsuccessful in decoding CB5 and CB8, so receiver node 2 404-2 sends feedback 428 that is a NACK with index 1. Notably, the index sent with the NACK feedback 428 indicates the unsuccessfully decoded CB having the smallest index relative to the last received TB. That is, because CB5 is the first CB of TB2, it has an index of 1 relative to TB2, and this is the smallest index of the unsuccessfully decoded CBs at receiver node 2 404-2. Thus, the NACK feedback 428 is sent with index 1. It should be noted that by using the relative index in the feedback, a smaller index value and thus a smaller number of bits may be used in the feedback (thus reducing the overhead required to send the feedback) . However, the present disclosure also encompasses embodiments in which the feedback may use the actual index value rather than relative index value of the unsuccessfully decoded CB (e.g., CB5 may be indicated with index 5 instead) . It may be noted that, because the window has already been defined at the operation 420 and a retransmission using that previously defined window has not yet been sent, the index indicated in the NACK feedback 428 may not be used for defining another window. The NACK feedback 428 may still provide useful information, for example by informing the transmitter node 402 that a transmission was not missed by receiver node 2 404-2.
[0101] After receiving feedback from both receiver nodes 404, the transmitter node 402 can (at the operation 430) generate a set of CCB (s) using the CBs selected according to the defined window (i.e., using CB3, CB4, CB5 and CB6) . The transmitter node 402 then sends another control signal 432 containing control information. The control information may include information about how the CCB (s) are generated by the transmitter node 402 (e.g., which CBs are selected for generating the CCB (s) , indication of any interleaver used, etc. ) , to enable the receiver nodes 404 to make use of the CCB (s) to assist decoding of CBs. One or more of the generated CCB (s) may then be sent in a retransmission 434 to each receiver node 404.
[0102] The CCB (s) may be used by each receiver node 404 to assist in decoding any previously unsuccessfully decoded CBs. For example, receiver node 1 404-1 may use the CCB (s) to assist in decoding CB3 and CB4. Receiver node 1 404-1 has now successfully decoded all CBs that have been received (i.e., all CBs from TB1 and TB2) and thus sends feedback 436 (e.g., ACK) indicating decoding was successful. Receiver node 2 404-2 similarly uses the CCB (s) to assist in decoding CB5. However, because the CCB (s) sent in the retransmission 434 was not generated using any bits from CB8, the CCB (s) are not able to assist receiver node 2 404-2 in decoding CB8. Thus, CB8 remains unsuccessfully decoded at receiver node 2 404-2. Receiver node 2 404-2 thus sends back feedback 438, in the form of a NACK indicating the unsuccessfully decoded CB having the smallest relative index. Notably, because the retransmission 434 covers CBs from both TB1 and TB2, the relative index should be determined relative to TB1 and TB2 together. That is, because CB8 is the eighth CB when TB1 and TB2 are taken together (i.e., CB1 to CB8) , the index value 8 is sent with the NACK. As previously noted, using a relative index value in the feedback may help to reduce the number of bits required to send feedback and thus may help to reduce the overhead required to send feedback. However, the present disclosure may also encompass embodiments where the actual index value is sent in the feedback.
[0103] If feedback from all the receiver nodes 404 indicate that all CBs have been successfully decoded (e.g., all ACKs) , then the transmitter node 402 may determine that no further retransmission is required and may send a new TB in another initial transmission. If there is feedback from at least one receiver node 404 indicating that there is at least one CB that is not successfully decoded, then the transmitter node 402 may, similar to the operation 420, define a window for selecting CBs that will be used to generate CCBs in a retransmission. As previously mentioned, the window may be defined based on the CB having the smallest index of all CBs indicated in feedback from all receiver nodes 404. In some examples, if the CB having the smallest index falls within the window defined for the last retransmission, then instead of defining a new window, the transmitter node 402 may perform another retransmission using the CBs selected according to the currently defined window, using a different redundancy version (RV) .
[0104] For example, consider the scenario where instead of the NACK feedback 438 with index 8 as shown, receiver node 2 404-2 sends NACK feedback 438 with index 5 to indicate that CB5 still could not be successfully decoded. The transmitter node 402 may determine that the CB with index 5 falls within the currently defined window (the currently defined window being {CB3, CB4, CB5, CB6} ) . Accordingly, instead of defining a new window based on CB5, the transmitter node 402 may perform another retransmission using the CCBs generated from the CBs selected by the current window. The transmitter node 402 may perform this second retransmission using a different RV. For example, if the first retransmission 434 was performed with RV=1, then the next retransmission may be performed with RV=2. The transmitter node 402 may perform retransmissions using the same defined window until all receiver nodes 404 feedback ACKs or the index value included with any NACK no longer falls within the currently defined window. In some examples, the transmitter node 402 may perform up to a defined maximum number of retransmissions using the same defined window.
[0105] In the example shown in FIG. 4A, the feedback 438 from receiver node 2 404-2 is a NACK with index 8. Since the CB with index 8 is not within the currently defined window, the transmitter node 402 does not perform any further retransmission using the currently defined window. Instead, the transmitter node 402 may define a new window starting from CB8, for example the new window may be {CB8, CB9, CB10, CB11} . Since CB9, CB10 and CB11 have not yet been sent in an initial transmission, the transmitter node 402 may perform operations to send the next TB containing the next set of CBs (e.g., CB9 to CB12) .
[0106] FIG. 4B is another illustration of how the transmitter node 402 may define a window for selecting the CBs that are to be used for generating CCBs.
[0107] As shown in FIG. 4B, the initial transmission 414 of TB1 includes CB1 to CB4. Two of the CBs failed to be decoded successfully by receiver node 1 404-1, specifically CB3 and CB4 could not be successfully decoded (indicated by X) . The transmitter node 402 thus receives NACK feedback with index 3 and determines that the CB having the smallest index among all received feedback is CB3. The transmitter node 402 then defines the first window 433 to be {CB3, CB4, CB5, CB6} . Since CB5 and CB6 have not yet been sent in an initial transmission, the transmitter node 402 sends another initial transmission 424 with TB2, including CB5 to CB8. CB5 and CB8 could not be successfully decoded by receiver node 2 404-2, thus the receiver node 2 404-2 sends back NACK feedback with index 1 (i.e., the relative index of CB5 with respect to TB2 is 1) . The transmitter node 402 determines that the relative index 1 corresponds to CB5, which falls within the currently defined window 433.
[0108] Now that all CBs in the defined window 433 have been sent, the transmitter node 402 may use the defined window 433 to select the CBs (namely CB3 to CB6) to be used for generating a set of CCBs 434 to be sent in a retransmission.
[0109] This same window 433 may be used to perform additional retransmissions until the transmitter node 402 receives feedback indicating that all CBs within the defined window 433 have been successfully decoded. For example, the transmitter node 402 may receive ACKs from all receiver nodes 404 or any NACKs received only indicate CBs having indexes outside of the defined window 433. If the transmitter node 402 receives feedback indicating that at least one CB within the currently defined window 433 is still in error, the transmitter node 402 may continue using the same defined window 433 to perform retransmissions up to a maximum number of retransmissions.
[0110] In this example, the transmitter node 402 next receives feedback indicating that CB8 was not successfully decoded. Based on this feedback, the transmitter node 402 defines the next window 453 to be {CB8, CB9, CB10, CB11} . Since CB9, CB10 and CB11 have not yet been sent in an initial transmission, the transmitter node 402 sends another initial transmission 444 with TB3, containing CB9 to CB12. In this example, CB10 and CB12 were not successfully decoded by at least one receiver node 404 (e.g., CB10 could not be successfully decoded by receiver node 1 404-1 and CB12 could not be successfully decoded by receiver node 2 404-2) . The transmitter node 402 receives NACK feedback with the relative index of the failed CB from each receiver node 404. Since CB10 is the second CB of TB3, the relative index of CB10 is index 2; since CB12 is the fourth CB of TB3, the relative index of CB12 is index 4. Thus, the transmitter node 402 receives NACK with index 2 from receiver node 1 404-1 and NACK with index 4 from receiver node 2 404-2. It may be appreciated that by using the relative index, the number of bits required to send the feedback may be reduced compared to sending back the actual index. For example, only three bits may be required to send back the relative index 4 (of CB12 relative to TB3) , whereas five bits may be required to send back the actual index 12.
[0111] The transmitter node 402 determines that the CB with the smallest index indicated in the feedback is CB10 (indicated by relative index 2) , which falls within the currently defined window 453 {CB8, CB9, CB10, CB11} . Thus, the transmitter node 402 performs operations to generate another set of CCBs 454 using the CBs selected by the defined window 453 and performs a retransmission. Further transmissions and retransmissions may continue in a similar manner.
[0112] It may be noted that because each CCB is generated using cross-block bits selected from all CBs in the defined window, even one CCB may provide sufficient information to assist in decoding of all CBs in the defined window. In some examples, the transmitter node 402 may send only a subset of CCB (s) from the generated set of CCBs in a retransmission. For example, if four CCBs are generated from {CB8, CB9, CB10, CB11} , the transmitter node 402 may select only two CCBs to send in a retransmission. Then, if another retransmission is required the transmitter node 402 may send the remaining two CCBs in a second retransmission, using the same RV (rather than using a different RV) . This may help to further save retransmission resources. The transmitter node 402 may provide control information to the receiver nodes 404 to indicate that the second retransmission includes different CCBs for the same RV.
[0113] It may be observed that, in this example, the size of the window defined by the transmitter node 402 is such all CBs in the current window are included in the last transmitted TB and the next transmitted TB. This may help to ensure that the relative index number that is included in any NACK feedback after a retransmission will not be greater than the total number of CBs in two TBs (and thus the number of bits needed to send the index value in the feedback may be limited) . In some examples, if different TBs have different numbers of CBs, the transmitter node 402 may determine the size of the current window to ensure that the CBs selected by the current window will all be included in the last transmitted TB and the next TB. For example, to ensure that the window will not select any CB beyond the next TB, the transmitter node 402 may determine the size of the current window to be equal to the number of CBs in the next TB. For example, if the current TB includes four CBs and the next TB will include only two CBs, then the transmitter node 402 may determine that the current window should be sized to select two CBs. It should be understood that the size of the window may be determined in other ways.
[0114] It should be understood that the window may be sized such that the window spans more than two TBs. For example, the window may be sized such that CBs are selected from three TBs (e.g., may select one CB from the last transmitted TB, all CBs from the next transmitted TB, and one more CB from yet another subsequently transmitted TB) . In order for a receiver node 404 to indicate to the transmitter node 402 any unsuccessfully decoded CB within the TBs spanned by the window, the receiver node 404 may need to send feedback with sufficient bits to cover the number of CBs in the last three TBs. That is, the number of bits required for feedback is based on how many TBs are transmitted before the feedback is sent by the receiver node 404, which may be impacted by the size of the window.
[0115] As mentioned above, examples of the present disclosure may provide a technical advantage in that the overhead required to send feedback may be reduced. One technique to help reduce the feedback overhead is to use smaller index values in the feedback (since a smaller number may be represented using fewer bits) . Thus, in an example feedback mechanism disclosed herein, a NACK feedback indicates only the unsuccessfully decoded CB with the smallest index among any unsuccessfully decoded CBs (rather than indicating the indexes of all failed CBs) . Further, the CB may be indicated using a relative index, which is the index of the CB relative to the most recently transmitted TB (in the case where the feedback is in response to an initial transmission) or relative to the last two transmitted TBs (in the case where the feedback is in response to a retransmission) .
[0116] In the example feedback scheme described above, for feedback after an initial transmission, a receiver node 404 that fails to successfully decode one or more CB will send feedback that indicates the unsuccessfully decoded CB having the smallest index relative to the last TB. The number of bits in the feedback should be sufficient to indicate the total number of CBs in the last TB, plus one (to represent ACK feedback) . Mathematically, the feedback overhead per TB may be represented as bits where N denotes the number of CBs in the last TB and refers to the ceiling operation of a real number x (i.e., the smallest integer which is larger than or equal to x) . A feedback state of 0 may be used to represent ACK, and any feedback state n that is 1≤n≤N may be used to represent NACK with relative CB index n. In the example of FIGS. 4A and 4B, each TB has 4 CBs and thus N=4. Therefore, the feedback overhead of feedback following an initial transmission of a TB is For example, bits {000} , corresponding to state 0, may be used to represent ACK, and the set of bits {001, 010, 011, 100} may be used to represent NACK with respective relative CB indexes {1, 2, 3, 4} relative to the last TB.
[0117] In the case of feedback after a retransmission, a receiver node 404 that fails to successfully decode one or more CBs will send feedback that indicates the unsuccessfully decoded CB having the smallest index relative to the last two TBs. The number of bits in the feedback should be sufficient to indicate the total number of CBs in the last two TBs, plus one (to represent ACK feedback) . Mathematically, the feedback overhead per retransmission may be represented as where N1+N2 denotes the total number of CBs of the last two TBs (i.e., N1 is the number of CBs in the first of the last two TBs and N2 is the number of CBs in the second of the last two TBs) . A feedback state of 0 may be used to represent ACK, and any feedback state n that is 1≤n≤N1+N2 may be used to represent NACK with relative index n. In the example of FIGS. 4A and 4B, each TB has 4 CBs and thus the total number of CBs in two TBs is N1+N2=8. Therefore, the feedback overhead of feedback following a retransmission is For example, bits {0000} , corresponding to state 0, may be used to represent ACK, and the set of bits {0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000} may be used to represent NACK with respective relative CB indexes {1, 2, 3, 4, 5, 6, 7, 8} relative to the last two TBs.
[0118] In examples where different TBs may have different numbers of CBs, the number of CBs selected to generate CCBs (i.e., the size of the window) for a retransmission and the number of bits that are required for feedback may be variable. As previously mentioned, the transmitter node 402 may make a determination of the appropriate window size based on the number of CBs to be transmitted in the TBs. Prior to transmitting a new TB or set of CCB (s) , the transmitter node 402 may provide control information (e.g., in a control signal) to inform the receiver node (s) 404 on how to receive and decode the data, including the size of the TBs, number of CBs used to generate the CCB (s) , etc. For example, prior to an initial transmission of a TB, the control information may include indication of the time-frequency resources of transmission, modulation coding scheme (MCS) and other control information. Prior to a retransmission, the control information may include the CB index of the starting point of the window, optionally the window size and RV index (which may indicate the interleaver used to generate the CCBs) , and other control information such as MCS and time-frequency resources of transmission.
[0119] In the example multicast, groupcast or broadcast scenario, each receiver node 404 may be required to send feedback after every transmission (i.e., after every initial transmission and every retransmission) . This may help to address the possibility of missed control information at a receiver node 404, which may cause the loss of a TB at the receiver node 404. As a result, the receiver node 404 is not informed that data has been sent from the transmitter node 402 and will not send any feedback. In some example, a separate feedback channel can be assigned to each receiver node 404. Then the transmitter node 402 may check if any feedback is missing from the receiver nodes 404 after every transmission to identify whether any receiver node 404 is missing a transmission. In some examples, to reduce feedback overhead, the feedback messages from all receiver nodes 404 may be multiplexed and sent in a common feedback resource. The transmitter node 402 may have information about the number of receiver nodes 404 that are intended recipients of a transmission, as well as the number of bits used for feedback from each receiver node 404. Accordingly, the transmitter node 402 may be able to determine, from the multiplexed feedback, whether any transmission is lost at a receiver node 404. In the example of FIGS. 4A and 4B, the transmitter node 402 may have information that there are two receiver nodes 404 that are intended recipients of transmissions and that each receiver node 404 uses three bits to send feedback. Accordingly, the transmitter node 402 may expect a 6-bit multiplexed feedback from the receiver nodes 404. So if the feedback received by the transmitter node 402 has fewer than 6 bits, the transmitter node 402 is able to determine that at least one receiver node 402 lost the transmission and the transmitter node 402 may repeat the transmission.
[0120] FIG. 5 is a signaling diagram illustrating an example of the present disclosure implemented for unicast transmissions. In this example, a single transmitter node 402 transmits data to a single receiver node 404. In examples of DL transmission, the transmitter node 402 may be a BS 170 and the receiver node 404 may be a UE 110. In examples of UL or SL transmission, the transmitter node 402 may be a UE 110 and the receiver node 404 may be a BS 170 or another UE 110.
[0121] For simplicity, the number of CBs per TB and the size of the window are the same as in the example of FIGS. 4A and 4B. Further, for ease of understanding, it is assumed that the single receiver node 404 in the example of FIG. 5 has failed CBs as indicated in FIG. 4B (i.e., the receiver node 404 in FIG. 5 fails to successfully decode CB3 and CB4 after the initial transmission of TB1; fails to successfully decode CB5 and CB8 after the initial transmission of TB2; and fails to successfully decode CB10 and CB12 after the initial transmission of TB3) . Accordingly, reference may be made to FIG. 4B to assist in understanding the example of FIG. 5.
[0122] In unicast transmissions, the feedback scheme may be the same as in multicast, groupcast or broadcast transmissions. For example, the single receiver node 404 may be required to send feedback after every communication from the transmitter node 402 (e.g., after every initial transmission and after every retransmission) . In some examples, in order to save communication resources, a different feedback scheme may be used for unicast transmissions that may help to reduce the amount of feedback sent by the receiver node 404. In the example of FIG. 5, the feedback scheme does not require the receiver node 404 to send feedback immediately after every transmission (e.g., the receiver node 404 may bundle feedbacks together to be sent at a later time) . When the receiver node 404 does not need to send feedback immediately after every transmission, latency may be reduced because the transmitter node 402 may send the next transmission without having to wait for feedback each time. There may also be greater flexibility for scheduling of transmissions.
[0123] The transmitter node 402 sends control information in a control signal 512 to the receiver node 404. The control information may be sent as a DCI signal, a UCI signal, or a SCI signal, depending on the DL, UL or SL scenario. The control information may provide information about the resource block on which data is to be received, the modulation and coding scheme used, and other information that may be used by the receiver node 404 to decode the data. The control information may also include information to enable the receiver node 404 to detect any missed transmissions. For example, the control information may include an indicator of the number of transmissions sent by the transmitter node 402. In the example shown, the control information includes a downlink assignment index (DAI) , which may be suitable where the transmissions are being performed in a DL scenario. The DAI value included in the control signal 512 is DAI=1. Similar to existing HARQ scheme, the DAI indicates the accumulated number of DL transmissions from the transmitter node 402 for which the receiver node 404 can bundle together in a single UL feedback (e.g., if two or more DL transmissions have been scheduled, the receiver node 404 may wait until all scheduled transmissions have been received before sending the bundled feedback) . For example, if DAI=2 then the receiver node 404 may send feedback for two transmissions together. The DAI may provide information to enable the receiver node 404 to detect if any transmissions from the transmitter node 402 have been lost. For example, the receiver node 404 may be configured to expect DAI=1 prior to DAI=2. If the receiver node 404 receives only DAI=2, then the receiver node 404 may detect that a prior transmission was lost and can send feedback (e.g., a MISS feedback) accordingly. On the other hand, if the receiver node 402 only receives DAI=1, the receiver node 404 may fail to send bundled feedback to the transmitter node 402 and the transmitter node 402 may determine that the second transmission was lost.
[0124] It may be noted that in an UL scenario (e.g., where the transmitter node 402 is a UE 110 and the receiver node 404 is a BS 170) , the control information may not necessarily include an indicator of the number of transmissions sent by the transmitter node 402. This is because the BS 170 would schedule UL transmissions, so the BS 170 as the receiver node 404 would already be able to detect if an UL transmission is missing. In a SL scenario (e.g., where the transmitter node 402 is a UE 110 and the receiver node 404 is another UE 110) , the control information may not necessarily include an indicator of the number of transmissions sent by the transmitter node 402. This is because a BS 170 may schedule transmissions for both UEs 110 and would be able to detect missing transmissions.
[0125] As mentioned above, in addition to ACK and NACK feedback, an additional MISS feedback may be defined. The MISS feedback may be used by the receiver node 404 to indicate that a transmission was missed. The MISS feedback may be useful because if the receiver node 404 uses NACK (e.g., with index 1) to indicate a transmission was missed, the transmitter node 402 may not be able to disambiguate whether the NACK indicate that decoding of a CB was unsuccessful or whether the NACK indicates that a transmission was missed.
[0126] Following the control signal 512, the transmitter node 402 transmits data in an initial transmission 514 to the receiver node 404. Similar to the example of FIG. 4A, the data may be transmitted as a TB1, which in this example includes CB1, CB2, CB3 and CB4. As previously mentioned, the index assigned to each CB may be arbitrary; however, for the purpose of the present disclosure, the index of each CB may refer to an indicator of the order in which the CB is transmitted.
[0127] The receiver node 404 performs a decoding attempt. In this example, the receiver node 404 is unsuccessful in decoding CB3 and CB4. However, unlike the example of FIG. 4A, the feedback scheme does not require the receiver node 404 to send back feedback after every transmission. Instead, the receiver node 404 may transmit feedback after a second TB is transmitted (this may be similar to conventional HARQ feedback under the 5G framework) . Separate feedback may be assigned to each transmission (either initial transmission or retransmission) and feedback for two TBs may be sent together, for example based on a defined HARQ codebook.
[0128] In the absence of any feedback from the receiver node 404, The transmitter node 402 sends control information in another control signal 516, to provide information to the receiver node 404 for receiving and decoding data in the next TB. Since this is the second accumulated transmission without feedback, the control information includes DAI=2. Then the transmitter node 402 sends data to the receiver node 404 in another initial transmission 518, in the form of TB2 including CB5, CB6, CB7 and CB8. As previously noted, the index of the CBs may represent the order in which the CBs are transmitted.
[0129] In this example, the receiver node 404 was unsuccessful in decoding CB5 and CB8 (in addition to previous erroneous CB3 and CB4) . The receiver node 404 now sends feedback for each TB, indicating any erroneous CB for each TB. Notably, since two TBs have been transmitted, the receiver node 404 sends two feedbacks, where each feedback indicates the unsuccessfully decoded CB the smallest index relative to each respective TB. That is, the smallest relative index for TB1 is the CB with relative index 3 (corresponding to CB3) and the smallest relative index for TB2 is the CB with relative index 1 (corresponding to CB5) . The bits used to represent these two NACK feedbacks may be multiplexed (e.g., placed next to each other) and sent together as multiplexed feedback 520 in a common feedback channel. For example, if the feedback for TB1 is the set of bits {011} indicating the CB having relative index 3 and the feedback for TB2 is the set of bits {001} indicating the CB having relative index 1, then the multiplexed feedback 520 may be the set of bits {011001} .
[0130] If the transmitter node 402 receives ACK feedback for both TBs (e.g., the multiplexed feedback 520 is {000000} , where the bits {000} indicate ACK) , the transmitter node 402 may proceed with transmitting the next TB in an initial transmission. In this example, the feedback 520 indicates at least one erroneous CB requiring retransmission. Similar to the example of FIG. 4A, the transmitter node 402 performs operations 522 to define a window starting from the CB having the smallest index as indicated in the feedback received from the receiver node 404. Notably, because the feedback in this example indicates erroneous CBs using indexes relative to different TBs, the transmitter node 402 may perform operations to determine, based on the relative CB indexes, the actual CB indexes (e.g., relative index 1 for TB2 may be determined to correspond to actual CB index 5) . In this example, the feedback indicates that CB3 is the erroneous CB with the smallest index for TB1 and CB5 is the erroneous CB with the smallest index for TB2. Thus, the window defined by the transmitter node 402 results in selection of four CBs starting from CB3, namely the set {CB3, CB4, CB5, CB6} . Since the CBs selected by the defined window have all been transmitted, the transmitter node 402 proceeds to generate a set of CCB (s) using the CBs selected according to the defined window (i.e., using CB3, CB4, CB5 and CB6) .
[0131] The transmitter node 402 then sends another control signal 524 containing control information. The control information may include information about how the CCB (s) are generated by the transmitter node 402 (e.g., which CBs are selected for generating the CCB (s) , indication of any interleaver used, etc. ) , to enable the receiver node 404 to make use of the CCB (s) to assist decoding of CBs. Further, the control information may include a DAI with value of 1 (to indicate this is the first transmission since the last feedback) .
[0132] One or more of the generated CCB (s) may then be sent in a retransmission 526 to the receiver node 404. As previously noted, all of the CCBs generated (at operation 522) from the CBs selected by the window may be sent in the retransmission 526, or a subset of the generated CCBs may be sent in the retransmission 526 (and a different subset of the generated CCBs may be sent if another retransmission is needed) .
[0133] The CCB (s) may be used by the receiver node 404 to assist in decoding any previously unsuccessfully decoded CBs. In this example, the receiver node 404 may use the CCB (s) to assist in decoding CB3, CB4, CB5 and CB8. In this example, the receiver node 404 now successfully decodes CB3, CB4 and CB5, but CB8 remains in error. Assuming that only the retransmission 526 has been scheduled (i.e., the receiver node 404 is not expecting another transmission) , the receiver node 404 may then send feedback to the transmitter node 402 If none of the CBs remain in error, the receiver node 404 may send ACK as feedback to the transmitter node 402. In this case, since CB8 remains in error, the receiver node 404 sends feedback 528 in the form of a NACK with the relative index corresponding to the unsuccessfully decoded CB having the smallest index relative to the last two transmitted TBs (i.e., relative index of CB8) . That is, because CB8 is the eighth CB among the CBs of TB1 and TB2, the index value 8 is sent with the NACK. As previously noted, using a relative index value in the feedback may help to reduce the number of bits required to send feedback and thus may help to reduce the overhead required to send feedback. However, the present disclosure may also encompass embodiments where the actual index value is sent in the feedback.
[0134] The transmitter node 402 determines, based on the feedback 528, that a retransmission is needed and uses the index indicated in the feedback 528 to define a window (at operation 530) . As previously mentioned, if the CB having the smallest index indicated in the feedback falls within the window defined for the last retransmission, then instead of defining a new window, the transmitter node 402 may perform another retransmission using the CBs selected according to the currently defined window using a different RV, or if only a subset of the generated CCBs was previously sent may perform another retransmission using a different subset of the generated CCBs (with the same RV) .
[0135] In this example, because CB8 is not within the currently defined window, the transmitter node 402 does not perform another retransmission using the currently defined window. Instead, the transmitter node 402 (at operation 530) defines a new window starting from CB8, for example the new window may be {CB8, CB9, CB10, CB11} . Since CB9, CB10 and CB11 have not yet been sent in an initial transmission, the transmitter node 402 may perform operations to send TB3 containing CB9 to CB12. In this example, the transmitter node 402 sends another control signal 532 containing control information to enable the receiver node 404 to receive and decode the next initial transmission containing TB3. In particular, the control information may include a DAI with value of 1 (to indicate this is the first transmission since the last feedback) .
[0136] Then the transmitter node 402 sends TB3 to the receiver node 404 in another initial transmission 534, where TB3 includes CB9, CB10, CB11 and CB12 (again, the index of the CBs may represent the order in which the CBs are transmitted) . In this example, the receiver node 404 fails to successfully decode CB10 and CB12 (in addition to previous erroneous CB8) . Since the CBs selected by the currently defined window have all been transmitted, the transmitter node 402 proceeds (at operation 536) to generate another set of CCB (s) using the CBs selected according to the defined window (i.e., using CB8, CB9, CB10 and CB11) .
[0137] The transmitter node 402 then sends another control signal 538 containing control information to enable the receiver node 404 to make use of the CCB(s) to assist decoding of CBs. In particular, the control information may include a DAI with value of 2 (to indicate this is the second accumulated transmission since the last feedback) . One or more of the CCB (s) generated (at operation 536) may then be sent in a retransmission 540 to the receiver node 404. As previously noted, all of the CCBs generated from the CBs selected by the window may be sent in the retransmission 540, or a subset of the generated CCBs may be sent in the retransmission 540 (and a different subset of the generated CCBs may be sent if another retransmission is needed) .
[0138] The receiver node 404 uses the received CCB (s) to assist in decoding of the erroneous CBs. In this example, CB8 and CB10 can now be successfully decoded but CB12 remains in error. The receiver node 404 thus sends feedback to the transmitter node 402 to indicate that CB12 was not successfully decoded. Notably, the receiver node 404 sends multiplexed feedback 540 that includes feedback for TB3 (from transmission 534) as well as feedback for the retransmission 540. For TB3, the feedback is NACK with index 2, because CB10 is the erroneous CB having the smallest index after the transmission 534 of TB3 and the relative index of CB10 within TB2 is 2. For the retransmission 540, the feedback is NACK with index 8, which is the relative index of CB12 within the last two TBs (i.e., TB2 and TB3) . It may be noted that the feedback for TB3 indicates the decoding result following transmission 534 of TB3 (despite CB10 being successfully decoded following the retransmission 540) . The feedback for TB3 may not be used by the transmitter node 402 for determining whether another retransmission is needed (or for defining another window) but may inform the transmitter node 402 that the transmission 534 of TB3 was not missed by the receiver node 404.
[0139] In the example feedback scheme described above, the amount of overhead required for feedback following an initial transmission may be mathematically represented as where N denotes the number of CBs in the last TB. It may be noted that the feedback accommodates the MISS feedback in addition to ACK and NACK feedback. Thus, the number of bits in the feedback should be sufficient to indicate the total number of CBs in the last TB, plus two (to represent ACK and MISS feedbacks) . For example, feedback state of n (where 1≤ n ≤N) may be used to represent NACK with relative index n, state 0 may be used to represent ACK and state (N+1) may be used to represent MISS. In the example of FIG. 5, each TB has 4 CBs and thus N=4. Therefore, the feedback overhead for each initial transmission of TB is For example, bits {000} , corresponding to state 0, may be used to represent ACK, the set of bits {001, 010, 011, 100} may be used to represent NACK with respective relative CB indexes {1, 2, 3, 4} relative to the last TB, and bits {101} may be used to represent MISS.
[0140] For feedback after a retransmission, the receiver node 404 may send feedback indicating ACK, MISS, or NACK, where NACK indicates the erroneous CB having the smallest index in the last two transmitted TBs. The number of bits in the feedback should be sufficient to indicate the total number of CBs in the last two transmitted TBs, plus two (to represent ACK and MISS feedbacks) . Mathematically, the corresponding feedback overhead may be represented as where N1+N2 denotes the total number of CBs of the last two TBs (i.e., N1 CBs from the first of the last two TBs and N2 CBs from the second of the last two TBs) . A feedback state of 0 may be used to represent ACK, any feedback state that is 1≤n≤N1+N2 may be used to represent NACK with relative CB index n, and a feedback state of (N1+N2+1) may be used to represent MISS. In the example of FIG. 5, each TB has 4 CBs and thus the total number of CBs in two TBs is N1+N2=8. Therefore, the feedback overhead following a retransmission is For example, bits {0000} , corresponding to state 0, may be used to represent ACK, the set of bits {0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000} may be used to represent NACK with respective relative CB indexes {1, 2, 3, 4, 5, 6, 7, 8} relative to the last two TBs, and bits {1001} may be used to represent MISS.
[0141] Similar to the multicast, groupcast or broadcast example described previously, in scenarios where different TBs may have different numbers of CBs, the transmitter node 402 may determine how the size of the window (i.e., how many CBs to select to generate a set of CCBs) based on the number of CBs to be transmitted in the TBs. For example, the window may be defined to select a number of CBs equal to the number of CBs of the next TB. It should be understood that the size of the window may be defined in other ways. The size of window may affect the number of bits required for feedback.
[0142] The control information transmitted in unicast transmission may be similar to the control information in multicast, groupcast or broadcast transmission. For example, the control information for an initial transmission may provide information to enable the receiver node 404 to receive and decode the data (e.g., indication of time-frequency resources of transmission, MCS, etc. ) . The control information for a retransmission may provide information to enable the receiver node 404 to make use of the CCB (s) to decode the CBs as well (e.g., CB index at the starting point of the window, optionally window size (if this is variable) , RV index, time-frequency resource of transmission, MCS, etc. ) . If a subset of generated CCBs is transmitted (instead of all generated CCBs) , the control information may also indicate the indexes of the CCBs sent in the retransmission.
[0143] In the example of FIG. 5, a feedback scheme is used that does not require the receiver node 404 to send feedback after every transmission. If instead the receiver node 404 is configured to send feedback after every transmission, then the DAI may be omitted from the control information. Instead of relying on DAI to check for a missed transmission, the transmitter node 402 may determine if the expected feedback is not received.
[0144] As discussed above, examples of the present disclosure enable a feedback scheme that helps to reduce the feedback overhead. This is possible at least in part because the number of bits required to send feedback may be reduced. In some examples, the present disclosure describes a feedback scheme that may further reduce the feedback overhead. The CBs of a TB may be grouped into code block groups (CBGs) where each CBG may include two or more CBs. Then, instead of indicating the erroneous CB having the smallest index in the feedback, the receiver node sends feedback indicating the CBG containing the erroneous CB having the smallest index. Then the transmitter node may define the window based on the indicated CBG. In the present disclosure, feedback indicating the CBG containing the erroneous CB having the smallest index may be considered a type of feedback that indicates the erroneous CB having the smallest index. That is, instead of indicating the erroneous CB having the smallest index using the relative CB index, the erroneous CB is indicated using the relative CBG index of the CBG to which the erroneous CB belongs.
[0145] FIGS. 6A and 6B illustrate another example of the present disclosure implemented for multicast, groupcast or broadcast communications, in which feedback includes a relative CBG index (instead of relative CB index) . FIG. 6A is a signaling diagram illustrating this example, and FIG. 6B illustrates how CBs are selected in this example using a window that is defined based on CBG index. In this example, a single transmitter node 402 transmits the same set of data to two receiver nodes 404-1, 404-2. It should be understood that there may be more than two receiver nodes (generally referred to as receiver nodes 404) , and that this example may be a simplified representation of multicast, groupcast or broadcast communications. In examples of DL transmission, the transmitter node 402 may be a BS 170 and the receiver nodes 404 may each be a UE 110. In examples of UL or SL transmission, the transmitter node 402 may be a UE 110 and a receiver node 404 may be a BS 170 or another UE 110.
[0146] The signaling in FIG. 6A is similar to that of FIG. 4A, thus some details may be omitted in the following discussion except where the examples are different. The transmitter node 402 sends control information in a control signal 612 to the receiver nodes 404, similar to the control signal 412 previously described. The transmitter node 402 transmits data in an initial transmission 614 of TB1 (including CB1 to CB4) to each receiver node 404, similar to the initial transmission 414 of TB1 previously described. However, unlike the example of FIGS. 4A and 4B, the CBs in each TB are grouped into CBGs that each include two CBs (see FIG. 6B) . Thus, TB1 contains two CBGs, namely CBG1 containing CB1 and CB2, and CBG2 containing CB3 and CB4. Although FIG. 6B illustrates each TB having equal number of CBs (e.g., four CBs per TB) and equal number of CBGs (e.g., two CBGs per TB) , this is not intended to be limiting. In some examples different TBs may have different numbers of CBs, may have different numbers of CBGs and / or different CBGs may contain different numbers of CBs.
[0147] Each receiver node 404 performs a decoding attempt. Similar to the example of FIG. 4A, receiver node 2 404-2 successfully decodes all CBs of TB1 and sends feedback 616 (e.g., ACK) to indicate all CBs were successfully decoded. Receiver node 1 404-1 is unsuccessful in decoding CB3 and CB4. Thus, receiver node 1 404-1 sends NACK feedback 618 indicating the CBG containing the unsuccessfully decoded CB having the smallest index. Since CB3 and CB4 are both contained in CBG2 (see FIG. 6B) , the feedback 618 is NACK with index 2 (corresponding to the relative index of CBG2 within TB1) .
[0148] The transmitter node 402 uses the index included with the NACK feedback 618 to define a window. The transmitter node 402 performs operations 620 to define a window starting from the CBG having the smallest index indicated in feedback from all receiver nodes 404. As mentioned previously, the size of the window may be configured or defined, or may be selected by the transmitter node 402. In this example, the window size is equal to the number of CBs included in the transmitted TB, which is four. Based on NACK feedback with index 2, the transmitter node 402 defines a window 633 that selects four CBs starting from CBG2, namely the CBs {CB3, CB4, CB5, CB6} (see FIG. 6B) .
[0149] Because the CBs selected according to the defined window 633 have not all been sent in an initial transmission. The transmitter node 402 determines that the next TB (which includes CB5 and CB6) should be sent prior to performing a retransmission. The transmitter node 402 sends control information in another control signal 622, followed by an initial transmission 624 of TB2 (which includes CB5 to CB8) , similar to 422 and 424 described previously. As shown in FIG. 6B, the CBs of TB2 are grouped into CBG1 containing CB8 and CB9, and CBG2 containing CB10 and CB12.
[0150] Similar to the example of FIG. 4A, receiver node 1 404-1 successfully decodes all CBs of TB2 and thus sends ACK feedback 626. However, receiver node 2 404-2 was unsuccessful in decoding CB5 and CB8, so receiver node 2 404-2 sends NACK feedback 628 indicating the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index. Since CB5 belongs to CBG1 and CB8 belongs to CBG2 (see FIG. 6B) , the feedback 628 is NACK with index 1 (corresponding to the relative index of CBG1 within TB2) .
[0151] After receiving feedback from both receiver nodes 404, the transmitter node 402 (at the operation 630) generates a set of CCB (s) using the CBs selected according to the defined window 633 (i.e., using CB3, CB4, CB5 and CB6) . The transmitter node 402 then sends a control signal 632 and performs a retransmission 634 of one or more of the generated CCB (s) , similar to 432 and 434 described previously. As mentioned before, a subset of the generated CCBs may be sent in a retransmission (rather than all of the generated CCBs) , and if a further retransmission is required a different subset may be sent in the further retransmission using the same RV.
[0152] In this example, after using the received CCB (s) to assist in decoding, receiver node 1 404-1 has now successfully decoded all CBs that have been received (i.e., all CBs from TB1 and TB2) and thus sends ACK feedback 636 indicating decoding was successful. Receiver node 2 404-2 similarly uses the CCB (s) to assist in decoding CB5 but CB8 remains in error (note that the CCB (s) sent in the retransmission 634 do not contain information from CB8 and thus cannot assist in decoding CB8) . Receiver node 2 404-2 sends NACK feedback 638 indicating the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index. In this example, CB8 is contained in CBG2 of TB2. Because the retransmission covers CBs from both TB1 and TB2, the relative index should be relative to TB1 and TB2 together. Thus, the relative index of CBG2 within TB2 is index 4 (i.e., the fourth CBG when TB1 and TB2 are taken together) .
[0153] Based on the NACK feedback with index 4, the transmitter node 402 determines that a new window should be defined (because CBG2 of TB2 is not covered by the currently defined window 633) . Thus, at operation 640, the transmitter node 402 defines a new window for selecting CBs that will be used to generate another set of CCBs for a next retransmission, using CBG2 of TB2 as the starting point. Specifically, the new window 653 is defined to cover the set of {CB7, CB8, CB9, CB10} (see FIG. 6B) . It may be appreciated, by considering the window 653 defined based on CBG index compared to the window 453 (see FIG. 4B) defined based on CB index, different CBs may be selected by the defined window depending on whether feedback is based on relative index of CBG or relative index of CB. Regardless of whether the feedback is based on relative index of CBG or relative index of CB, it should be appreciated that the feedback includes a relative index that indicates the erroneous CB having the smallest index.
[0154] Since the defined window 653 includes CB10 and CB11 that have not yet been sent in an initial transmission, the transmitter node 402 may perform operations for sending the next TB. In this example, the transmitter node 402 sends a control signal 642 containing control information for TB3, then sends an initial transmission 644 of TB3 (which includes CB9 to CB12) . In this example, receiver node 1 404-1 is unsuccessful in decoding CB10, and receiver node 2 404-2 is unsuccessful in decoding CB12 (in addition to CB8 that remains in error) . Receiver node 1 404-1 thus sends NACK feedback 646 with index 1 (indicating CBG1 of TB3, since CB10 falls within CBG1 of TB3) , and receiver node 2 404-2 sends NACK feedback 648 with index 2 (indicating CBG2 of TB3, since CB12 falls within CBG2 of TB3) . Operations may continue in a manner similar to that described above.
[0155] In the example feedback scheme described above, following an initial transmission of a TB, each receiver node 404 sends feedback indicating the relative index of the CBG that contains the erroneous CB having the smallest index (relative to the transmitted TB) . The number of bits in the feedback should be sufficient to indicate the total number of CBGs in the last transmitted TB, plus one (to represent ACK feedback) . Mathematically, the feedback overhead per TB may be represented as where M denotes the number of CBGs in the last TB. A feedback state of 0 may be used to represent ACK, and any feedback state that is 1≤m≤M may be used to represent NACK with relative CBG index m. In the example of FIGS. 6A and 6B, each TB has two CBGs and thus M=2. Therefore, the feedback overhead of feedback following an initial transmission of a TB is For example, bits {00} , corresponding to state 0, may be used to represent ACK, and the set of bits {01, 10} may be used to represent NACK with respective relative CBG indexes {1, 2} .
[0156] In the case of feedback after a retransmission, a receiver node 404 that fails to successfully decode one or more CBs will send feedback that indicates the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index, relative to the last two TBs. The number of bits in the feedback should be sufficient to indicate the total number of CBGs in the last two transmitted TBs, plus one (to represent ACK feedback) . Mathematically the feedback overhead following a retransmission may be represented as where M1+M2 denotes the total number of CBGs of the last two TBs (i.e., M1 is the number of CBGs in the first of the last two TBs and M2 is the number of CBGs in the second of the last two TBs) . A feedback state of 0 may be used to represent ACK, any feedback state that is 1≤m≤M1+M2 may be used to represent NACK with relative CBG index m. In the example of FIGS. 6A and 6B, each TB has two CBGs and thus M1+M2=4. Therefore, the feedback overhead following a retransmission is For example, bits {000} , corresponding to state 0, may be used to represent ACK, and the set of bits {001, 010, 011, 100} may be used to represent NACK with respective relative CBG indexes {1, 2, 3, 4} relative to the last two TBs.
[0157] It may be appreciated that the example of FIGS. 6A and 6B is similar to the example of FIGS. 4A and 4B in various aspects, with a difference in whether the feedback is based on relative CBG index or relative CB index. The use of relative CBG index for feedback may help to reduce the feedback overhead, but may consume more transmission resources (because the starting point of a window is not necessarily a CB that was unsuccessfully decoded by a receiver node) . Whether the feedback scheme is based on relative CBG index or relative CB index may be configured ahead of time (e.g., configured by a BS) , may be defined by a standard or may be selected (e.g., by a transmitter node) dynamically or semi-dynamically (e.g., at the start of a set of transmissions) .
[0158] FIG. 7 is a signaling diagram illustrating an example of the present disclosure implemented for unicast transmissions, in which feedback includes a relative CBG index (instead of relative CB index) . In this example, a single transmitter node 402 transmits data to a single receiver node 404. In examples of DL transmission, the transmitter node 402 may be a BS 170 and the receiver node 404 may be a UE 110. In examples of UL or SL transmission, the transmitter node 402 may be a UE 110 and the receiver node 404 may be a BS 170 or another UE 110.
[0159] The signaling in FIG. 7 is similar to that of FIG. 5, thus some details may be omitted in the following discussion except where the examples are different. For simplicity, the number of CBs per TB, number of CBGs per TB and the size of the window are the same as in the example of FIGS. 6A and 6B. Further, for ease of understanding, it is assumed that the single receiver node 404 in the example of FIG. 7 has failed CBs as indicated in FIG. 6B.
[0160] As previously mentioned with respect to the example of FIG. 5, unicast transmission may use a feedback scheme in which the single receiver node 404 sends feedback after every communication from the transmitter node 402 (e.g., after every initial transmission and after every retransmission) . In some examples, in order to save communication resources, the feedback scheme may not require the receiver node 404 to send feedback after every transmission. When the receiver node 404 does not need to send feedback immediately after every transmission, latency may be reduced because the transmitter node 402 may send the next transmission without having to wait for feedback each time. There may also be greater flexibility for scheduling of transmissions. Similar to the example of FIG. 5, to help enable detection of a missed transmission in a DL scenario, DAI may be included in the control information and a MISS feedback state may be defined.
[0161] Similar to the example of FIG. 5, the transmitter node 402 transmits a control signal 712, with control information including DAI=1, followed by TB1 (including CB1 to CB4) in an initial transmission 714 to the receiver node 404. Similar to the example of FIGS. 6A and 6B, there are two CBGs per TB, with two CBs per CBG.
[0162] The receiver node 404 performs a decoding attempt. In this example, the receiver node 404 is unsuccessful in decoding CB3 and CB4. The feedback scheme does not require the receiver node 404 to send back feedback after the initial transmission 714 of TB1. In the absence of any feedback from the receiver node 404, The transmitter node 402 sends control information with DAI=2 in another control signal 716. Then the transmitter node 402 sends TB2 (including CB5 to CB8) to the receiver node 404 in another initial transmission 718.
[0163] In this example, the receiver node 404 was unsuccessful in decoding CB5 and CB8 (in addition to previous erroneous CB3 and CB4) . The receiver node 404 now sends feedback for each TB, indicating the relative CBG index containing the erroneous CB having the smallest index for each TB. In this example, the feedback for TB1 is relative CBG index 2 (indicating that CBG2 is the CBG having the erroneous CB with the smallest index in TB1) and the feedback for TB2 is relative CBG index 1 (indicating that CBG1 is the CBG having the erroneous CB with the smallest index in TB2) . The bits used to represent these two NACK feedbacks may be multiplexed (e.g., placed next to each other) and sent together as multiplexed feedback 720 in a common feedback channel. For example, if the feedback for TB1 is the set of bits {10} indicating index 2 and the feedback for TB2 is the set of bits {01} indicating index 1, then the multiplexed feedback 720 may be the set of bits {1001} .
[0164] Based on the feedback 720, the transmitter node 402 determines that retransmission is required. The transmitter node 402 may further determine the actual CB index indicated by each feedback 720. For example, the feedback for TB1 is index 2, which indicates CB3 (corresponding to the start of CBG2 in TB1) and the feedback for TB2 is index 1, which indicates CB5 (corresponding to the start of CBG1 in TB2) . Because the CB with the smallest index indicated by the feedback 720 is CB3, the transmitter node 402 performs operations 722 to define a window starting from CB3. Thus, the window defined by the transmitter node 402 results in selection of four CBs starting from CB3, namely the set {CB3, CB4, CB5, CB6} . Since the CBs selected by the defined window have all been transmitted, the transmitter node 402 proceeds to generate a set of CCB (s) using the CBs selected according to the defined window.
[0165] The transmitter node 402 then sends another control signal 724 containing control information with DAI=1, followed by one or more of the generated CCBs in a retransmission 726 (similar to the control signal 524 and retransmission 526 of FIG. 5) . As previously noted, all of the CCBs generated (at operation 722) from the CBs selected by the window may be sent in the retransmission 726, or a subset of the generated CCBs may be sent in the retransmission 726 (and a different subset of the generated CCBs may be sent using the same RV if another retransmission is needed) .
[0166] The receiver node 404 uses the CCB (s) to assist in decoding CB3, CB4, CB5 and CB8. In this example, the receiver node 404 now successfully decodes CB3, CB4 and CB5, but CB8 remains in error. Thus, the receiver node 404 sends feedback 728 in the form of a NACK indicating the relative index of the CBG having the unsuccessfully decoded CB with the smallest index in the last two TBs. CB8 belongs to CBG2 of TB2, which is the fourth CBG among the CBGs of TB1 and TB2. Thus, the NACK feedback 728 indicates index 4.
[0167] The transmitter node 402 determines, based on the feedback 728, that a retransmission is needed. Because the CBG indicated by the feedback 728 is not covered by the current window, the transmitter node 402 (at operation 730) defines a new window starting from CBG2 of TB2 (i.e., starting from CB7) . In this example, the new window is defined as the set {CB7, CB8, CB9, CB10} (it may be noted that the window defined here is different from the window defined in FIG. 5) . Since CB9 and CB10 have not yet been sent in an initial transmission, the transmitter node 402 may perform operations to send TB3 containing CB9 to CB12. Similar to the example of FIG. 5, the transmitter node 402 sends another control signal 732 containing control information with DAI=1. Then the transmitter node 402 sends TB3 (which includes CB9 to CB12) in another initial transmission 734 to the receiver node 404.
[0168] In this example, the receiver node 404 fails to successfully decode CB10 and CB12 (in addition to previous erroneous CB8) . However, the receiver node 404 may send feedback at a later time (e.g., following another transmission, such as the retransmission 740 described below) . In the absence of feedback, the transmitter node 402 proceeds (at operation 736) to generate another set of CCB (s) using the CBs selected according to the defined window (i.e., using CB7, CB8, CB9 and CB10) . The transmitter node 402 then sends a control signal 738 containing control information with DAI=2 (similar to the control signal 538) . One or more of the CCB (s) generated (at operation 736) may then be sent in a retransmission 740 to the receiver node 404.
[0169] The receiver node 404 uses the received CCB (s) to assist in decoding of the erroneous CBs. In this example, CB8 and CB10 can now be successfully decoded but CB12 remains in error. The receiver node 404 sends multiplexed feedback 742 that includes the feedback for the initial transmission 734 of TB3 as well as the retransmission 740. For TB3, the feedback is NACK with index 1, because CBG1 within TB3 is the CBG containing the erroneous CB with the smallest index (i.e., CB10) in TB3. For the retransmission 740, the feedback is NACK with index 4, because CB12 is found in CBG2 of TB3, which is the fourth CBG relative to the last two TBs. Operations may continue in a manner similar to that described above.
[0170] In the example feedback scheme described above, the amount of overhead required for feedback following an initial transmission may be mathematically represented as where M denotes the number of CBGs in the last TB. It may be noted that the feedback accommodates the MISS feedback in addition to ACK and NACK feedback. Thus, the number of bits in the feedback should be sufficient to indicate the total number of CBGs in the last transmitted TB, plus two (to represent ACK and MISS feedbacks) . For example, a feedback state of n (where 1≤ m ≤M) may be used to represent NACK with relative index m, state 0 may be used to represent ACK and state (M+1) may be used to represent MISS. In the example of FIG. 7, each TB has 2 CBGs each and thus M=2. Therefore, the feedback overhead for each initial transmission of TB is For example, bits {00} , corresponding to state 0, may be used to represent ACK, the set of bits {01, 10} may be used to represent NACK with respective relative CBG indexes {1, 2} relative to the last TB, and bits {11} may be used to represent MISS.
[0171] For feedback after a retransmission, the receiver node 404 may send feedback indicating ACK, MISS, or NACK, where the NACK indicates the relative index of the CBG containing the erroneous CB with the smallest index in the last two transmitted TBs. The number of bits in the feedback should be sufficient to indicate the total number of CBGs in the last two transmitted TBs, plus two (to represent ACK and MISS feedbacks) . Mathematically, the corresponding feedback overhead may be represented as where M1+M2 denotes the total number of CBGs of the last two TBs (i.e., M1 CBGs from the first of the last two TBs and M2 CBGs from the second of the last two TBs) . A feedback state of 0 may be used to represent ACK, any feedback state that is 1≤m≤M1+M2 may be used to represent NACK with relative CBG index m, and a feedback state of (M1+M2+1) may be used to represent MISS. In the example of FIG. 7, each TB has two CBGs and thus M1+M2=4. Therefore, the feedback overhead following a retransmission is For example, bits {000} , corresponding to state 0, may be used to represent ACK, the set of bits {001, 010, 011, 100} may be used to represent NACK with respective relative CGB indexes {1, 2, 3, 4} relative to the last two TBs, and bits {101} may be used to represent MISS.
[0172] The sizing of the window when relative CBG index is used for feedback, regardless of multicast, groupcast, broadcast or unicast scenarios, may be similar to how the window size is determined when relative CB index is used for feedback. This is because the size of the window may be defined by the number of CBs selected by the window, rather than the number of CBGs selected. Thus, the determination of window size may be similar to that described previously with respect to the examples of FIGS. 4A and 5. As well, the control information may be similar to that described previously.
[0173] FIG. 8 is a flowchart illustrating an example method 800, which may be performed by an apparatus (e.g., the apparatus 200 of FIG. 2) that is a transmitter node. For example, the method 800 may be performed by a BS 170 for DL transmissions, or may be performed by a UE 110 for UL or SL transmissions. The method 800 may be performed for unicast, multicast, groupcast or broadcast transmissions. The method 800 may be used to perform a set of transmissions (which may involve one or more initial transmissions of data in TBs and one or more retransmissions of cross-block check blocks) in a retransmission scheme using a window that is defined by the transmitter node based on feedback from one or more receiver nodes. The method 800 may be performed by the transmitter node 402 in any of the previously described examples.
[0174] Optionally, at 802, the transmitter node may transmit control information (e.g., in a DCI signal, UCI signal or SCI signal) to the one or more receiver nodes. The control information may include, for example, information about the resource block on which each receiver node may receive data as well as information (e.g., MCS, RV, etc. ) to enable each receiver node to decode the received data.
[0175] In examples of unicast transmission, if the retransmission scheme does not require feedback from the receiver node after every transmission, the control information may also include an indicator of the number of transmissions sent by the transmitter node (e.g., DAI may be used as an indicator of the accumulated number of transmissions sent by the transmitter node since the last feedback) , which may enable the receiver node to detect if any transmission has been missed.
[0176] In some examples, step 802 may be omitted. For example, the control information may be sent by another network entity instead of the transmitter node.
[0177] At 804, the transmitter node transmits an initial transmission of a TB having a plurality of CBs. The transmission may be a multicast, groupcast, broadcast or unicast transmission. Each of the CBs may be indexed according to the order of transmission. In some examples, the CBs may be grouped into CBGs within the TB, and each CBG may be indexed according to the order of transmission.
[0178] The transmitter node may repeat optional step 802 and step 804 to transmit multiple TBs until feedback is received indicating that at least one receiver node failed to successfully decode a code block. For example, if, after step 804, the transmitter node receives only ACK feedback, the transmitter node may transmit another initial transmission of a new TB.
[0179] In examples of unicast transmission, the feedback may indicate that the initial transmission was missed (e.g., MISS feedback) , in which case the transmitter node may repeat step 804 (with or without repeating step 802) to resend the initial transmission of the same TB.
[0180] At 806, the transmitter node receives feedback from at least one receiver node indicating that decoding of at least one CB was unsuccessful. The feedback indicates the unsuccessfully decoded CB having the smallest index relative to the transmitted TB. For example, the feedback received from the at least one receiver node may indicate the relative index of the unsuccessfully decoded CB having the smallest index or the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index, where the relative index is relative to the transmitted TB.
[0181] In examples of unicast transmission, the feedback from the receiver node may be multiplexed feedback that includes feedback for multiple transmissions. For example, two feedback for the last two transmitted TBs may be multiplexed together. The feedback for the first of the two TBs may indicate the unsuccessfully decoded CB with the smallest index within the first of the two TBs, and the feedback for the second of the two TBs may indicate the unsuccessfully decoded CB with the smallest index within the second of the two TBs. It should also be appreciated that the multiplexed feedback may indicate NACK for one TB together with ACK or MISS for another TB.
[0182] At 808, the transmitter node defines a window for selecting the CBs that are to be used for generating a set of CCBs, where the starting point of the window is defined according to the indication of the CB having the smallest index in the feedback. If the feedback indicated the unsuccessfully decoded CB with the smallest index using a relative CB index, the transmitter node may determine the corresponding actual CB index and define the window starting from that actual CB index. If the feedback indicated with the unsuccessfully decoded CB with the smallest index using a relative CBG index, the transmitter node may determine the corresponding CBG and define the window starting from the smallest CB index within that CBG.
[0183] If the transmitter node receives multiple NACK feedback (e.g., NACK feedback is received from two or more receiver nodes, or multiple NACK feedback is multiplexed together in feedback from one receiver node) , the transmitter node may select, from among the multiple NACK feedback, the CB or CBG having the smallest actual index as the basis for defining the window.
[0184] The size of the window (i.e., the number of CBs selected by the window) may be fixed (e.g., defined by a standard or preconfigured) or may be variable. If the size of the window is variable, the transmitter node may set the size of the window based on, for example, the number of CBs expected to be transmitted in a next TB. Other techniques for setting a variable window size may be used by the transmitter node (e.g., there may be a maximum and / or minimum window size) .
[0185] If there is already a currently defined window that has not yet been used for at least one retransmission, step 808 may be skipped.
[0186] If the CBs selected by the defined window have all been transmitted (e.g., have all been transmitted in one or more prior initial transmissions) , then the method 800 may proceed to step 810. If at least one CB selected by the defined window has not yet been transmitted, the method 800 may return to step 802 to optionally transmit control information and step 804 to transmit an initial transmission of the next TB.
[0187] At 810, the transmitter node generates a set of one or more CCBs using the CBs selected by the defined window. The set of CCB (s) is generated by selecting at least one information bit from each of the CBs selected by the defined window, and combining the selected information bits (e.g., using XOR or encoding) to generate one or more CCBs.
[0188] Optionally, at 812, the transmitter node may transmit control information (e.g., in a DCI signal, UCI signal or SCI signal) to the one or more receiver nodes. The control information may include information about how the transmitter node generated the set of CCBs (e.g., information about the selected CBs, any interleaver used, etc. ) as well as information to enable each receiver node to decode the retransmission (e.g., MCS, etc. ) .
[0189] In examples of unicast transmission, the control information may also include an indicator of the number of transmissions sent by the transmitter node (e.g., DAI) , which may enable the receiver node to detect if any transmission has been missed.
[0190] At 814, the transmitter node transmits a retransmission of one or more CCBs. The retransmission may include all CCBs in the generated set of CCBs, or may be a subset of the generated CCBs.
[0191] If, following the retransmission at step 814, the transmitter node does not receive any feedback indicating any unsuccessfully decoded CBs (e.g., the transmitter node only receives ACK feedback and / or the transmitter node does not receive any NACK feedback) , the method 800 may return to the start of the method 800 to transmit an initial transmission of the next TB.
[0192] At 816, the transmitter node may receive feedback from at least one receiver node indicating that decoding of a CB was unsuccessful. The feedback indicates the unsuccessfully decoded CB having the smallest index relative to the last two transmitted TBs. For example, the feedback received from the at least one receiver node may indicate the relative index of the unsuccessfully decoded CB having the smallest index or the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index, where the relative index is relative to the total of the last two transmitted TBs.
[0193] In examples of unicast transmission, the feedback from the receiver node may be multiplexed feedback that includes feedback for multiple transmissions. For example, feedback for the retransmission may be multiplexed together with feedback for the initial transmission of a prior TB. The feedback for the retransmission may indicate the unsuccessfully decoded CB with the smallest index relative to the last two TBs, and the feedback for the prior TBs may indicate the unsuccessfully decoded CB with the smallest index within the prior TB. It should also be appreciated any combination of ACK, MISS and / or NACK feedback may be multiplexed together.
[0194] In examples of unicast transmission, the transmitter node may receive feedback indicating that the retransmission was missed (e.g., MISS feedback) , in which case the transmitter node may repeat step 814 (with or without repeating step 812) to resend the same retransmission.
[0195] If the feedback indicates a CB that is within the currently defined window, the transmitter node may transmit one or more further retransmissions. For example, if a subset of the generated CCBs was sent in a prior retransmission, then the method 800 may return to step 814 to transmit a further retransmission using a different (non-overlapping) subset of generated CCBs using the same RV. If all of the generated CCBs was sent in a prior retransmission, the method 800 may return to step 810 to generate another set of CCBs using the same defined window but with a different RV (e.g., using a different interleaver) .
[0196] The transmitter node may transmit retransmissions using the same window until a maximum number of retransmissions have been reached, until there is no further NACK feedback received, or until the CB with the smallest index indicated in among the received NACK feedback is outside of the currently defined window.
[0197] If the feedback indicates a CB that is outside of the currently defined window, the method 800 may return to step 808 to define a new window.
[0198] The method 800 may be performed until all TBs have been transmitted.
[0199] FIG. 9 is a flowchart illustrating an example method 900, which may be performed by an apparatus (e.g., the apparatus 200of FIG. 2) that is a receiver node. For example, the method 900 may be performed by a UE 110 receiving DL transmissions or SL transmissions, or may be performed by a BS 170 receiving UL transmissions. The method 900 may be performed in unicast, multicast, groupcast or broadcast scenarios. The method 900 may be used to receive a set of transmissions (which may involve one or more initial transmissions of data in TBs and one or more retransmissions of cross-block check blocks) in a retransmission scheme where feedback indicates the unsuccessfully decoded CB having the smallest index relative to a transmitted TB. The method 900 may be performed by any one receiver node 404 in any of the previously described examples.
[0200] At 902, the receiver node receives control information (e.g., in a DCI signal, UCI signal or SCI signal) from the transmitter node (or another network entity) . The control information may include, for example, information about the resource block on which the receiver node may receive data as well as information (e.g., MCS, RV, etc. ) to enable the receiver node to decode the received data.
[0201] In examples of unicast transmission, if the retransmission scheme does not require feedback from the receiver node after every transmission, the control information may also include an indicator of the number of transmissions sent by the transmitter node (e.g., DAI) , which may enable the receiver node to detect if any transmission has been missed (if a transmission has been missed, the receiver node may send MISS feedback to indicate this) .
[0202] At 904, the receiver node receives an initial transmission of a TB having a plurality of CBs. The transmission may be a multicast, groupcast, broadcast or unicast transmission. Each of the CBs may be indexed according to the order of transmission. In some examples, the CBs may be grouped into CBGs within the TB, and each CBG may be indexed according to the order of transmission.
[0203] At 906, the receiver node performs a decoding operation (also referred to as a decoding attempt) to decode the CBs.
[0204] If decoding of all the CBs is successful, the receiver node may send ACK feedback to indicate to the transmitter node that all CBs were successfully decoded. In examples of unicast transmission, the receiver node may not need to send any feedback if all CBs were successfully decoded, or the receiver node may wait for additional transmissions in order to send multiplexed feedback to the transmitter node.
[0205] At 908, if the receiver node did not successfully decode all the CBs, the receiver node transmits feedback to the transmitter node where the feedback indicates the unsuccessfully decoded CB having the smallest index relative to the transmitted TB. For example, the feedback may indicate the relative index of the unsuccessfully decoded CB having the smallest index or the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index, where the relative index is relative to the transmitted TB.
[0206] In examples of unicast transmission, the feedback transmitted at step 908 may be multiplexed feedback that includes feedback for multiple transmissions. For example, two feedback for the last two transmitted TBs may be multiplexed together. The feedback for the first of the two TBs may indicate the unsuccessfully decoded CB with the smallest index within the first of the two TBs, and the feedback for the second of the two TBs may indicate the unsuccessfully decoded CB with the smallest index within the second of the two TBs. It should also be appreciated that the multiplexed feedback may indicate NACK for one TB together with ACK or MISS for another TB.
[0207] Optionally, the method 900 may return to step 902 to receive control information for an initial transmission of a next TB. For example, if the transmitter node determines that another TB should be transmitted prior to performing a retransmission (e.g., the defined window for selecting CBs for generating CCBs includes at least one CB that has not yet been transmitted) , the receiver node may receive control information for another TB.
[0208] At 910, the receiver node receives control information (e.g., in a DCI signal, UCI signal or SCI signal) from the transmitter node (or another network entity) . The control information may include information about how the transmitter node generated the set of CCBs (e.g., information about the selected CBs, any interleaver used, etc. ) as well as information to enable the receiver node to decode the retransmission (e.g., MCS, etc. ) .
[0209] In examples of unicast transmission, the control information may also include an indicator of the number of transmissions sent by the transmitter node (e.g., DAI) , which may enable the receiver node to detect if any transmission has been missed (if a transmission has been missed, the receiver node may send MISS feedback to indicate this) .
[0210] At 912, the receiver node receives a retransmission of one or more CCBs.
[0211] At 914, the receiver node uses the received CCB (s) to assist in decoding the unsuccessfully decoded CB (s) . If all CBs are now successfully decoded, the receiver node may transmit ACK feedback and the method may return to step 902 for an initial transmission of a next TB.
[0212] At 916, if the receiver node did not successfully decode all the CBs, the receiver node transmits feedback to the transmitter node where the feedback indicates the unsuccessfully decoded CB having the smallest index relative to the last two transmitted TBs. For example, the feedback may indicate the relative index of the unsuccessfully decoded CB having the smallest index or the relative index of the CBG containing the unsuccessfully decoded CB having the smallest index, where the relative index is relative to the total of the last two transmitted TBs.
[0213] In examples of unicast transmission, the feedback may be multiplexed feedback that includes feedback for multiple transmissions. For example, feedback for the retransmission may be multiplexed together with feedback for the initial transmission of a prior TB. The feedback for the retransmission may indicate the unsuccessfully decoded CB with the smallest index relative to the last two TBs, and the feedback for the prior TBs may indicate the unsuccessfully decoded CB with the smallest index within the prior TB. It should also be appreciated any combination of ACK, MISS and / or NACK feedback may be multiplexed together.
[0214] Depending on operation of the transmitter node, the method 900 may return to step 910 to receive control information for another retransmission (e.g., if another retransmission is performed using the same window) or may return to step 902 to receive control information for an initial transmission of a new TB (e.g., if a new window is defined that includes at least one CB that has not been transmitted) .
[0215] The method 900 may be performed until all TBs have been received.
[0216] In various examples, the present disclosure describes a retransmission scheme using window-based CCBs, in multicast, groupcast, broadcast and unicast applications, as well as network coding applications. Examples of the disclosure may enable retransmission resources to be saved, compared to conventional HARQ retransmission schemes.
[0217] The present disclosure also describes example feedback mechanisms in which only the unsuccessfully decoded CB having the smallest index is indicated in NACK feedback (using relative CB index or relative CBG index) . This may enable a reduction in feedback overhead compared to conventional HARQ.
[0218] It should be understood that examples of the present disclosure may be embodied as a method, an apparatus, a non-transitory computer readable medium, a processing module, a chipset, a system chip or a computer program, among others. An apparatus may include a transmitting module configured to carry out transmitting steps described above and a receiving module configured to carry out receiving steps described above. An apparatus may include a processing module, processor or processing unit configured to control or cause the apparatus to carry out examples disclosed herein.
[0219] Although the present disclosure describes methods and processes with steps in a certain order, one or more steps of the methods and processes may be omitted or altered as appropriate. One or more steps may take place in an order other than that in which they are described, as appropriate.
[0220] Although the present disclosure is described, at least in part, in terms of methods, a person of ordinary skill in the art will understand that the present disclosure is also directed to the various components for performing at least some of the aspects and features of the described methods, be it by way of hardware components, software or any combination of the two. Accordingly, the technical solution of the present disclosure may be embodied in the form of a software product. A suitable software product may be stored in a pre-recorded storage device or other similar non-volatile or non-transitory computer readable medium, including DVDs, CD-ROMs, USB flash disk, a removable hard disk, or other storage media, for example. The software product includes instructions tangibly stored thereon that enable a processing device (e.g., a personal computer, a server, or a network device) to execute examples of the methods disclosed herein. The machine-executable instructions may be in the form of code sequences, configuration information, or other data, which, when executed, cause a machine (e.g., a processor or other processing device) to perform steps in a method according to examples of the present disclosure.
[0221] The present disclosure may be embodied in other specific forms without departing from the subject matter of the claims. The described example embodiments are to be considered in all respects as being only illustrative and not restrictive. Selected features from one or more of the above-described embodiments may be combined to create alternative embodiments not explicitly described, features suitable for such combinations being understood within the scope of this disclosure.
[0222] All values and sub-ranges within disclosed ranges are also disclosed. Also, although the systems, devices and processes disclosed and shown herein may comprise a specific number of elements / components, the systems, devices and assemblies could be modified to include additional or fewer of such elements / components. For example, although any of the elements / components disclosed may be referenced as being singular, the embodiments disclosed herein could be modified to include a plurality of such elements / components. The subject matter described herein intends to cover and embrace all suitable changes in technology.
Claims
1.A method at a transmitter node, the method comprising:transmitting an initial transmission of a first transport block having a first plurality of code blocks to one or more receiver nodes;receiving, from at least one receiver node, feedback indicating that decoding of at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to the first transport block; andtransmitting a retransmission of one or more cross-block check blocks from a set of one or more cross-block check blocks, the set of one or more cross-block check blocks being generated from selected code blocks selected by a window, a starting point of the window being defined according to the indication of the unsuccessfully decoded code block in the feedback.2.The method of claim 1, wherein the unsuccessfully decoded code block having the smallest index is indicated as a relative code block index relative to the first transport block.3.The method of claim 2, wherein the feedback is a set of bits having bit value equal to the relative code block index relative to the first transport block.4.The method of claim 3, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus one.5.The method of claim 3, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus two.6.The method of any one of claims 2 to 5, wherein the starting point of the window is defined to be a code block at an actual code block index corresponding to the relative code block index.7.The method of claim 1, wherein the unsuccessfully decoded code block having the smallest index belongs to a code block group of the first transport block and the unsuccessfully decoded code is indicated as a relative code block group index relative to the first transport block.8.The method of claim 7, wherein the feedback is a set of bits having bit value equal to the relative code block group index relative to the first transport block.9.The method of claim 8, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus one.10.The method of claim 8, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus two.11.The method of any one of claims 7 to 10, wherein the starting point of the window is defined to be a first code bock of the code block group.12.The method of any one of claims 1 to 11, wherein the window selects code blocks from the first transport block and a second transport block, the method further comprising:prior to transmitting the retransmission, transmitting an initial transmission of the second transport block having a second plurality of code blocks to the one or more receiver nodes.13.The method of claim 12, further comprising:after transmitting the retransmission, receiving, from a same or different at least one receiver node, feedback indicating that decoding of a same or different at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to a total of the first and the second transport block.14.The method of any one of claims 12 to 13, wherein feedback for the first transport block and feedback for the second transport block are received together from a single receiver node as multiplexed feedback.15.The method of any one of claims 1 to 14, further comprising:prior to transmitting the initial transmission of the first transport block, transmitting control information to the one or more receiver nodes, the control information including an indicator of a number of transmissions by the transmitter node.16.The method of any one of claims 1 to 15, further comprising:after transmitting the retransmission, receiving, from a same or different at least one receiver node, feedback indicating that decoding of a same or different at least one code block was unsuccessful, wherein the indicated at least one code block is within the window; andtransmitting another retransmission of different one or more cross-block check blocks from a same or different set of one or more cross-block check blocks, the same or different set of one or more cross-block check blocks being generated from selected code blocks selected by the window.17.The method of claim 16, wherein the retransmission is a different subset of one or more cross-block check blocks from the same set of one or more cross-block check blocks.18.The method of any one of claims 1 to 17, wherein a size of the window is defined to be equal to a number of code blocks to be transmitted in a next transport block.19.A method at a receiver node, the method comprising:receiving, from a transmitter node, an initial transmission of a first transport block having a first plurality of code blocks; andtransmitting, to the transmitter node, feedback indicating that decoding of at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to the first transport block.20.The method of claim 19, wherein the unsuccessfully decoded code block having the smallest index is indicated as a relative code block index relative to the first transport block.21.The method of claim 20, wherein the feedback is a set of bits having bit value equal to the relative code block index relative to the first transport block.22.The method of claim 21, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus one.23.The method of claim 21, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code blocks in the first transport block plus two.24.The method of claim 19, wherein the unsuccessfully decoded code block having the smallest index belongs to a code block group of the first transport block and the unsuccessfully decoded code is indicated as a relative code block group index relative to the first transport block.25.The method of claim 24, wherein the feedback is a set of bits having bit value equal to the relative code block group index relative to the first transport block.26.The method of claim 25, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus one.27.The method of claim 25, wherein the feedback is defined to have a number of bits sufficient to indicate a total number of code block groups in the first transport block plus two.28.The method of any one of claims 19 to 27, further comprising:receiving, from the transmitter node, an initial transmission of a second transport block having a second plurality of code blocks; andreceiving, from the transmitter node, a retransmission of one or more cross-block check blocks generated from selected code blocks selected from the first transport block and the second transport block, the one or more cross-block check blocks being useable to assist in decoding the selected code blocks, the selected code blocks including at least the unsuccessfully decoded code block indicated in the feedback.29.The method of claim 28, further comprising:transmitting, to the transmitter node, feedback indicating that decoding of a same or different at least one code block was unsuccessful, the feedback including indication of an unsuccessfully decoded code block having a smallest index relative to a total of the first and the second transport block.30.The method of any one of claims 28 to 29, wherein feedback for the first transport block and feedback for the second transport block are transmitted together as multiplexed feedback.31.The method of any one of claims 19 to 30, further comprising:prior to receiving the initial transmission of the first transport block, receiving control information including an indicator of a number of transmissions by the transmitter node.32.The method of claim 31, further comprising:after receiving the control information, transmitting, to the transmitter node, feedback indicating that a previous transmission was missed.33.An apparatus comprising:a processing unit; anda memory including instructions that, when executed by the processing unit, cause the apparatus to perform the method of any one of claims 1 to 32.34.A non-transitory computer readable medium having machine-executable instructions stored thereon, wherein the instructions, when executed by an apparatus, cause the apparatus to perform the method of any one of claims 1 to 32.35.An apparatus comprising:a transmitting module configured to carry out the transmitting steps of the method of any one of claims 1 to 32; anda receiving module configured to carry out the receiving steps of the method of any one of claims 1 to 32.36.A processing module configured to control an apparatus to cause the apparatus to carry out the method of any one of claims 1 to 32.37.A system chip comprising a processing unit configured to execute instructions to cause an apparatus to carry out the method of any one of claims 1 to 32.38.A computer program characterized in that, when the computer program is run on a computer, the computer is caused to execute the method of any one of claims 1 to 32.