Arithmetic coding with multistep splitting

The multistep splitting technique in arithmetic coding addresses high complexity and latency issues in probabilistic shaping by dividing encoding into parallel procedures, improving efficiency and reducing latency in wireless communication systems.

WO2025260275A1PCT designated stage Publication Date: 2025-12-26QUALCOMM INC +4
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/100057
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-19
Publication Date
2025-12-26

AI Technical Summary

Technical Problem

Existing arithmetic coding techniques for probabilistic shaping in wireless communication face challenges with high complexity and latency due to serial processing of transition probability kernels, which degrade performance in latency-sensitive applications.

Method used

Implement a multistep splitting technique for arithmetic coding, dividing the encoding process into separate parallel procedures to reduce complexity and latency, and enable efficient approximate modeling of transition probability kernels.

Benefits of technology

The multistep splitting technique reduces processing complexity and latency, enhances spectrum efficiency, and improves energy efficiency by generating an energy-constrained sequence.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024100057_26122025_PF_FP_ABST
    Figure CN2024100057_26122025_PF_FP_ABST
Patent Text Reader

Abstract

Various aspects of the present disclosure generally relate to wireless communication. In some aspects, a transmitter may obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits. The transmitter may identify a first quantity of first candidate elements. The transmitter may perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements. The transmitter may process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements. The transmitter may transmit, to a receiver, a signal based at least in part on the first element and the second element. Numerous other aspects are described.
Need to check novelty before this filing date? Find Prior Art

Description

ARITHMETIC CODING WITH MULTISTEP SPLITTING

[0001] FIELD OF THE DISCLOSURE

[0002] Aspects of the present disclosure generally relate to wireless communication and specifically relate to techniques, apparatuses, and methods for arithmetic coding with multistep splitting.BACKGROUND

[0003] Wireless communication systems are widely deployed to provide various services that may include carrying voice, text, messaging, video, data, and / or other traffic. The services may include unicast, multicast, and / or broadcast services, among other examples. Typical wireless communication systems may employ multiple-access radio access technologies (RATs) capable of supporting communication with multiple users by sharing available system resources (for example, time domain resources, frequency domain resources, spatial domain resources, and / or device transmit power, among other examples) . Examples of such multiple-access RATs include code division multiple access (CDMA) systems, time division multiple access (TDMA) systems, frequency division multiple access (FDMA) systems, orthogonal frequency division multiple access (OFDMA) systems, single-carrier frequency division multiple access (SC-FDMA) systems, and time division synchronous code division multiple access (TD-SCDMA) systems.

[0004] The above multiple-access RATs have been adopted in various telecommunication standards to provide common protocols that enable different wireless communication devices to communicate on a municipal, national, regional, or global level. An example telecommunication standard is New Radio (NR) . NR, which may also be referred to as 5G, is part of a continuous mobile broadband evolution promulgated by the Third Generation Partnership Project (3GPP) . NR (and other mobile broadband evolutions beyond NR) may be designed to better support Internet of things (IoT) and reduced capability device deployments, industrial connectivity, millimeter wave (mmWave) expansion, licensed and unlicensed spectrum access, non-terrestrial network (NTN) deployment, sidelink and other device-to-device direct communication technologies (for example, cellular vehicle-to-everything (CV2X) communication) , massive multiple-input multiple-output (MIMO) , disaggregated network architectures and network topology expansions, multiple-subscriber implementations, high-precision positioning, and / or radio frequency (RF) sensing, among other examples. As the demand for mobile broadband access continues to increase, further improvements in NR may be implemented, and other radio access technologies such as 6G may be introduced, to further advance mobile broadband evolution.SUMMARY

[0005] Some aspects described herein relate to an apparatus for communication at a transmitter. The apparatus may include one or more memories and one or more processors coupled to the one or more memories. The one or more processors may be configured to obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements. The one or more processors may be configured to identify a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation. The one or more processors may be configured to perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation. The one or more processors may be configured to process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements. The one or more processors may be configured to transmit, to a receiver, a signal based at least in part on the first element and the second element.

[0006] Some aspects described herein relate to a method of communication performed by a transmitter. The method may include obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements. The method may include identifying a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation. The method may include performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation. The method may include processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements. The method may include transmitting, to a receiver, a signal based at least in part on the first element and the second element.

[0007] Some aspects described herein relate to a non-transitory computer-readable medium that stores a set of instructions for communication by a transmitter. The set of instructions, when executed by one or more processors of the transmitter, may cause the transmitter to obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial  candidate elements. The set of instructions, when executed by one or more processors of the transmitter, may cause the transmitter to identify a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation. The set of instructions, when executed by one or more processors of the transmitter, may cause the transmitter to perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation. The set of instructions, when executed by one or more processors of the transmitter, may cause the transmitter to process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements. The set of instructions, when executed by one or more processors of the transmitter, may cause the transmitter to transmit, to a receiver, a signal based at least in part on the first element and the second element.

[0008] Some aspects described herein relate to an apparatus for communication. The apparatus may include means for obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements. The apparatus may include means for identifying a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation. The apparatus may include means for performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation. The apparatus may include means for processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements. The apparatus may include means for transmitting, to a receiver, a signal based at least in part on the first element and the second element.

[0009] Some aspects described herein relate to an apparatus for communication at a receiver. The apparatus may include one or more memories and one or more processors coupled to the one or more memories. The one or more processors may be configured to receive a signal associated with a concatenated element. The one or more processors may be configured to de-concatenate the concatenated element to obtain a first element and a second element. The one or more processors may be configured to decode the first element to a first index, and the second element to a second index. The one or more processors may be configured to combine the first index and the second index to generate an initial index. The one or more processors may be configured to generate an original index based at least in part on the initial index, where  the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.

[0010] Some aspects described herein relate to a method of communication performed by a receiver. The method may include receiving a signal associated with a concatenated element. The method may include de-concatenating the concatenated element to obtain a first element and a second element. The method may include decoding the first element to a first index, and the second element to a second index. The method may include combining the first index and the second index to generate an initial index. The method may include generating an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.

[0011] Some aspects described herein relate to a non-transitory computer-readable medium that stores a set of instructions for communication by a receiver. The set of instructions, when executed by one or more processors of the receiver, may cause the receiver to receive a signal associated with a concatenated element. The set of instructions, when executed by one or more processors of the receiver, may cause the receiver to de-concatenate the concatenated element to obtain a first element and a second element. The set of instructions, when executed by one or more processors of the receiver, may cause the receiver to decode the first element to a first index, and the second element to a second index. The set of instructions, when executed by one or more processors of the receiver, may cause the receiver to combine the first index and the second index to generate an initial index. The set of instructions, when executed by one or more processors of the receiver, may cause the receiver to generate an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.

[0012] Some aspects described herein relate to an apparatus for communication. The apparatus may include means for receiving a signal associated with a concatenated element. The apparatus may include means for de-concatenating the concatenated element to obtain a first element and a second element. The apparatus may include means for decoding the first element to a first index, and the second element to a second index. The apparatus may include means for combining the first index and the second index to generate an initial index. The apparatus may include means for generating an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.

[0013] Aspects of the present disclosure may generally be implemented by or as a method, apparatus, system, computer program product, non-transitory computer-readable medium, user equipment, base station, network node, network entity, wireless communication device, and / or processing system as substantially described with reference to, and as illustrated by, the specification and accompanying drawings.

[0014] The foregoing paragraphs of this section have broadly summarized some aspects of the present disclosure. These and additional aspects and associated advantages will be described hereinafter. The disclosed aspects may be used as a basis for modifying or designing other aspects for carrying out the same or similar purposes of the present disclosure. Such equivalent aspects do not depart from the scope of the appended claims. Characteristics of the aspects disclosed herein, both their organization and method of operation, together with associated advantages, will be better understood from the following description when considered in connection with the accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The appended drawings illustrate some aspects of the present disclosure, but are not limiting of the scope of the present disclosure because the description may enable other aspects. Each of the drawings is provided for purposes of illustration and description, and not as a definition of the limits of the claims. The same or similar reference numbers in different drawings may identify the same or similar elements.

[0016] Fig. 1 is a diagram illustrating an example of a wireless communication network, in accordance with the present disclosure.

[0017] Fig. 2 is a diagram illustrating an example network node in communication with an example user equipment (UE) in a wireless network, in accordance with the present disclosure.

[0018] Fig. 3 is a diagram illustrating an example disaggregated base station architecture, in accordance with the present disclosure.

[0019] Fig. 4 is a diagram illustrating an example of a transmit (Tx) chain and a receive (Rx) chain of a wireless device, in accordance with the present disclosure.

[0020] Fig. 5 is a diagram illustrating an example of shaping gain over an additive white Gaussian noise (AWGN) channel, in accordance with the present disclosure.

[0021] Fig. 6 is a diagram illustrating an example of distribution matching (DM) in a probabilistic shaping (PS) transmission architecture, in accordance with the present disclosure.

[0022] Fig. 7A is a diagram of an example associated with arithmetic coding with multistep splitting, in accordance with the present disclosure.

[0023] Fig. 7B is a diagram of an example associated with arithmetic coding with multistep splitting, in accordance with the present disclosure.

[0024] Fig. 7C is a diagram of an example associated with encoding using uneven splitting, in accordance with the present disclosure.

[0025] Fig. 7D is a diagram of an example associated with encoding using even or uneven splitting followed by uneven splitting, in accordance with the present disclosure.

[0026] Fig. 8 is a diagram illustrating an example process performed, for example, at a transmitter or an apparatus of a transmitter, in accordance with the present disclosure.

[0027] Fig. 9 is a diagram of an example apparatus for wireless communication, in accordance with the present disclosure.

[0028] Fig. 10 is a diagram illustrating an example process performed, for example, at a receiver or an apparatus of a receiver, in accordance with the present disclosure.

[0029] Fig. 11 is a diagram of an example apparatus for wireless communication, in accordance with the present disclosure.DETAILED DESCRIPTION

[0030] Various aspects of the present disclosure are described hereinafter with reference to the accompanying drawings. However, aspects of the present disclosure may be embodied in many different forms and is not to be construed as limited to any specific aspect illustrated by or described with reference to an accompanying drawing or otherwise presented in this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. One skilled in the art may appreciate that the scope of the disclosure is intended to cover any aspect of the disclosure disclosed herein, whether implemented independently of or in combination with any other aspect of the disclosure. For example, an apparatus may be implemented or a method may be practiced using various combinations or quantities of the aspects set forth herein. In addition, the scope of the disclosure is intended to cover an apparatus having, or a method that is practiced using, other structures and / or functionalities in addition to or other than the structures and / or functionalities with which various aspects of the disclosure set forth herein may be practiced. Any aspect of the disclosure disclosed herein may be embodied by one or more elements of a claim.

[0031] Several aspects of telecommunication systems will now be presented with reference to various methods, operations, apparatuses, and techniques. These methods, operations, apparatuses, and techniques will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, modules, components, circuits, steps, processes, or algorithms (collectively referred to as “elements” ) . These elements may be implemented using hardware, software, or a combination of hardware and software. Whether such elements are implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.

[0032] Energy shaping schemes, such as energy-based probabilistic amplitude shaping (PAS) schemes may be used for achieving a large shaping gain in wireless systems (e.g., 6G wireless systems) . PAS is a coded modulation technique in which constellation shaping is combined  with channel coding. For example, in existing wireless networks, coherent transmission is typically based on quadrature amplitude modulation (QAM) , where data bits are encoded into a constellation in which each point is a unique combination of phase and amplitude. In QAM and other traditional modulation techniques, each constellation point has the same probability of being used, whereby outer constellation points that have a higher amplitude and consume more energy and / or power have the same probability of being used as inner constellation points that have a lower amplitude and consume less energy and / or power. In an architecture that uses PAS, referred to herein as a PAS architecture, lower energy / power constellations may be used more frequently, enabling benefits such as enhanced granularity and improved noise tolerance. For example, in a PAS architecture, a distribution matching (DM) component may receive a uniform bit sequence with equal probabilities, and the DM component may convert the uniform bit sequence into symbols with a desired probability distribution (e.g., Gaussian) . Accordingly, by using inner constellation points associated with a lower energy and / or a lower power more frequently than outer constellation points associated with a higher energy and / or a higher power, a PAS architecture may enable granular control over a quantity of bits per symbol and improved spectral efficiency with better noise tolerance and / or fewer nonlinearities relative to traditional QAM, among other examples.

[0033] Arithmetic coding (AC) is a form of entropy encoding used in lossless data compression. Probabilistic shaping may utilize AC methods to improve performance (e.g., using energy-based AC methods for achieving a large shaping gain) . In some AC for probabilistic shaping techniques, an input sequence of bits may be interpreted as a dyadic number q, where 0 ≤ q < 1, and may be encoded into an output sequence. However, issues with AC for probabilistic shaping (e.g., various probabilistic shaping schemes) include the calculation of transition probability kernels as well as serial (e.g., sequential) processing for encoding and decoding operations. Serial transition probability determination used in AC may introduce complexity and increase latency, thereby degrading performance for latency-stringent applications.

[0034] Various aspects relate generally to a multistep splitting technique that can be applied in indexing scenarios (e.g., for resolving an indexed element from a set of elements based on enumeration) . Some aspects more specifically relate to AC using a multistep splitting technique. Some aspects more specifically relate to a multistep splitting technique that can be used in energy shaping schemes, such as energy-based PAS schemes. In some aspects, encoding and decoding operations may be performed by splitting an encoding or decoding procedure into separate parallel procedures using segment boundary estimation. In some aspects, to encode an initial index of a sequence of information bits, an encoder may perform an algorithmic splitting operation on the initial index to generate a first index indicating a first element of a quantity of first candidate elements and a second index indicating a second element  of a quantity of second candidate elements. In some aspects, the encoder may process (e.g., using a direct indexing operation) the first index and the second index, independently (e.g., in parallel) , to generate the first element and the second element. In some aspects, a signal resulting from the encoding may represent an energy-constrained sequence.

[0035] Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, by using a multistep splitting technique, the described techniques can be used to perform encoding with low-complexity processing. In some examples, by performing separate parallel encoding procedures, the described techniques can be used to reduce processing latency. In some examples, by using a multistep splitting technique, the described techniques can be used to perform arithmetic coding with efficient approximate modeling of transition probability kernels and online energy adjustment. In some examples, by generating a signal that represents an energy-constrained sequence, the described techniques can be used to improve spectrum efficiency and / or enhance energy efficiency.

[0036] Multiple-access radio access technologies (RATs) have been adopted in various telecommunication standards to provide common protocols that enable wireless communication devices to communicate on a municipal, enterprise, national, regional, or global level. For example, 5G New Radio (NR) is part of a continuous mobile broadband evolution promulgated by the Third Generation Partnership Project (3GPP) . 5G NR supports various technologies and use cases including enhanced mobile broadband (eMBB) , ultra-reliable low-latency communication (URLLC) , massive machine-type communication (mMTC) , millimeter wave (mmWave) technology, beamforming, network slicing, edge computing, Internet of Things (IoT) connectivity and management, and network function virtualization (NFV) .

[0037] As the demand for broadband access increases and as technologies supported by wireless communication networks evolve, further technological improvements may be adopted in or implemented for 5G NR or future RATs, such as 6G, to further advance the evolution of wireless communication for a wide variety of existing and new use cases and applications. Such technological improvements may be associated with new frequency band expansion, licensed and unlicensed spectrum access, overlapping spectrum use, small cell deployments, non-terrestrial network (NTN) deployments, disaggregated network architectures and network topology expansion, device aggregation, advanced duplex communication, sidelink and other device-to-device direct communication, IoT (including passive or ambient IoT) networks, reduced capability (RedCap) user equipment (UE) functionality, industrial connectivity, multiple-subscriber implementations, high-precision positioning, radio frequency (RF) sensing, and / or artificial intelligence or machine learning (AI / ML) , among other examples. These technological improvements may support use cases such as wireless backhauls, wireless data centers, extended reality (XR) and metaverse applications, meta services for supporting vehicle  connectivity, holographic and mixed reality communication, autonomous and collaborative robots, vehicle platooning and cooperative maneuvering, sensing networks, gesture monitoring, human-brain interfacing, digital twin applications, asset management, and universal coverage applications using non-terrestrial and / or aerial platforms, among other examples. The methods, operations, apparatuses, and techniques described herein may enable one or more of the foregoing technologies and / or support one or more of the foregoing use cases.

[0038] Fig. 1 is a diagram illustrating an example of a wireless communication network 100, in accordance with the present disclosure. The wireless communication network 100 may be or may include elements of a 5G (or NR) network or a 6G network, among other examples. The wireless communication network 100 may include multiple network nodes 110, shown as a network node (NN) 110a, a network node 110b, a network node 110c, and a network node 110d. The network nodes 110 may support communications with multiple UEs 120, shown as a UE 120a, a UE 120b, a UE 120c, a UE 120d, and a UE 120e.

[0039] The network nodes 110 and the UEs 120 of the wireless communication network 100 may communicate using the electromagnetic spectrum, which may be subdivided by frequency or wavelength into various classes, bands, carriers, and / or channels. For example, devices of the wireless communication network 100 may communicate using one or more operating bands. In some aspects, multiple wireless communication networks 100 may be deployed in a given geographic area. Each wireless communication network 100 may support a particular RAT (which may also be referred to as an air interface) and may operate on one or more carrier frequencies in one or more frequency ranges. Examples of RATs include a 4G RAT, a 5G / NR RAT, and / or a 6G RAT, among other examples. In some examples, when multiple RATs are deployed in a given geographic area, each RAT in the geographic area may operate on different frequencies to avoid interference with one another.

[0040] Various operating bands have been defined as frequency range designations FR1 (410 MHz through 7.125 GHz) , FR2 (24.25 GHz through 52.6 GHz) , FR3 (7.125 GHz through 24.25 GHz) , FR4a or FR4-1 (52.6 GHz through 71 GHz) , FR4 (52.6 GHz through 114.25 GHz) , and FR5 (114.25 GHz through 300 GHz) . Although a portion of FR1 is greater than 6 GHz, FR1 is often referred to (interchangeably) as a “Sub-6 GHz” band in some documents and articles. Similarly, FR2 is often referred to (interchangeably) as a “millimeter wave” band in some documents and articles, despite being different than the extremely high frequency (EHF) band (30 GHz through 300 GHz) , which is identified by the International Telecommunications Union (ITU) as a “millimeter wave” band. The frequencies between FR1 and FR2 are often referred to as mid-band frequencies, which include FR3. Frequency bands falling within FR3 may inherit FR1 characteristics or FR2 characteristics, and thus may effectively extend features of FR1 or FR2 into mid-band frequencies. Thus, “sub-6 GHz, ” if used herein, may broadly refer to frequencies that are less than 6 GHz, that are within FR1, and / or that are included in mid-band  frequencies. Similarly, the term “millimeter wave, ” if used herein, may broadly refer to frequencies that are included in mid-band frequencies, that are within FR2, FR4, FR4-a or FR4-1, or FR5, and / or that are within the EHF band. Higher frequency bands may extend 5G NR operation, 6G operation, and / or other RATs beyond 52.6 GHz. For example, each of FR4a, FR4-1, FR4, and FR5 falls within the EHF band. In some examples, the wireless communication network 100 may implement dynamic spectrum sharing (DSS) , in which multiple RATs (for example, 4G / Long Term Evolution (LTE) and 5G / NR) are implemented with dynamic bandwidth allocation (for example, based on user demand) in a single frequency band. It is contemplated that the frequencies included in these operating bands (for example, FR1, FR2, FR3, FR4, FR4-a, FR4-1, and / or FR5) may be modified, and techniques described herein may be applicable to those modified frequency ranges.

[0041] A network node 110 may include one or more devices, components, or systems that enable communication between a UE 120 and one or more devices, components, or systems of the wireless communication network 100. A network node 110 may be, may include, or may also be referred to as an NR network node, a 5G network node, a 6G network node, a Node B, an eNB, a gNB, an access point (AP) , a transmission reception point (TRP) , a mobility element, a core, a network entity, a network element, a network equipment, and / or another type of device, component, or system included in a radio access network (RAN) .

[0042] A network node 110 may be implemented as a single physical node (for example, a single physical structure) or may be implemented as two or more physical nodes (for example, two or more distinct physical structures) . For example, a network node 110 may be a device or system that implements part of a radio protocol stack, a device or system that implements a full radio protocol stack (such as a full gNB protocol stack) , or a collection of devices or systems that collectively implement the full radio protocol stack. For example, and as shown, a network node 110 may be an aggregated network node (having an aggregated architecture) , meaning that the network node 110 may implement a full radio protocol stack that is physically and logically integrated within a single node (for example, a single physical structure) in the wireless communication network 100. For example, an aggregated network node 110 may consist of a single standalone base station or a single TRP that uses a full radio protocol stack to enable or facilitate communication between a UE 120 and a core network of the wireless communication network 100.

[0043] Alternatively, and as also shown, a network node 110 may be a disaggregated network node (sometimes referred to as a disaggregated base station) , meaning that the network node 110 may implement a radio protocol stack that is physically distributed and / or logically distributed among two or more nodes in the same geographic location or in different geographic locations. For example, a disaggregated network node may have a disaggregated architecture. In some deployments, disaggregated network nodes 110 may be used in an integrated access  and backhaul (IAB) network, in an open radio access network (O-RAN) (such as a network configuration in compliance with the O-RAN Alliance) , or in a virtualized radio access network (vRAN) , also known as a cloud radio access network (C-RAN) , to facilitate scaling by separating base station functionality into multiple units that can be individually deployed.

[0044] The network nodes 110 of the wireless communication network 100 may include one or more central units (CUs) , one or more distributed units (DUs) , and / or one or more radio units (RUs) . A CU may host one or more higher layer control functions, such as radio resource control (RRC) functions, packet data convergence protocol (PDCP) functions, and / or service data adaptation protocol (SDAP) functions, among other examples. A DU may host one or more of a radio link control (RLC) layer, a medium access control (MAC) layer, and / or one or more higher physical (PHY) layers depending, at least in part, on a functional split, such as a functional split defined by the 3GPP. In some examples, a DU also may host one or more lower PHY layer functions, such as a fast Fourier transform (FFT) , an inverse FFT (iFFT) , beamforming, physical random access channel (PRACH) extraction and filtering, and / or scheduling of resources for one or more UEs 120, among other examples. An RU may host RF processing functions or lower PHY layer functions, such as an FFT, an iFFT, beamforming, or PRACH extraction and filtering, among other examples, according to a functional split, such as a lower layer functional split. In such an architecture, each RU can be operated to handle over the air (OTA) communication with one or more UEs 120.

[0045] In some aspects, a single network node 110 may include a combination of one or more CUs, one or more DUs, and / or one or more RUs. Additionally or alternatively, a network node 110 may include one or more Near-Real Time (Near-RT) RAN Intelligent Controllers (RICs) and / or one or more Non-Real Time (Non-RT) RICs. In some examples, a CU, a DU, and / or an RU may be implemented as a virtual unit, such as a virtual central unit (VCU) , a virtual distributed unit (VDU) , or a virtual radio unit (VRU) , among other examples. A virtual unit may be implemented as a virtual network function, such as associated with a cloud deployment.

[0046] Some network nodes 110 (for example, a base station, an RU, or a TRP) may provide communication coverage for a particular geographic area. In the 3GPP, the term “cell” can refer to a coverage area of a network node 110 or to a network node 110 itself, depending on the context in which the term is used. A network node 110 may support one or multiple (for example, three) cells. In some examples, a network node 110 may provide communication coverage for a macro cell, a pico cell, a femto cell, or another type of cell. A macro cell may cover a relatively large geographic area (for example, several kilometers in radius) and may allow unrestricted access by UEs 120 with service subscriptions. A pico cell may cover a relatively small geographic area and may allow unrestricted access by UEs 120 with service subscriptions. A femto cell may cover a relatively small geographic area (for example, a home)  and may allow restricted access by UEs 120 having association with the femto cell (for example, UEs 120 in a closed subscriber group (CSG) ) . A network node 110 for a macro cell may be referred to as a macro network node. A network node 110 for a pico cell may be referred to as a pico network node. A network node 110 for a femto cell may be referred to as a femto network node or an in-home network node. In some examples, a cell may not necessarily be stationary. For example, the geographic area of the cell may move according to the location of an associated mobile network node 110 (for example, a train, a satellite base station, an unmanned aerial vehicle, or an NTN network node) .

[0047] The wireless communication network 100 may be a heterogeneous network that includes network nodes 110 of different types, such as macro network nodes, pico network nodes, femto network nodes, relay network nodes, aggregated network nodes, and / or disaggregated network nodes, among other examples. In the example shown in Fig. 1, the network node 110a may be a macro network node for a macro cell 130a, the network node 110b may be a pico network node for a pico cell 130b, and the network node 110c may be a femto network node for a femto cell 130c. Various different types of network nodes 110 may generally transmit at different power levels, serve different coverage areas, and / or have different impacts on interference in the wireless communication network 100 than other types of network nodes 110. For example, macro network nodes may have a high transmit power level (for example, 5 to 40 watts) , whereas pico network nodes, femto network nodes, and relay network nodes may have lower transmit power levels (for example, 0.1 to 2 watts) .

[0048] In some examples, a network node 110 may be, may include, or may operate as an RU, a TRP, or a base station that communicates with one or more UEs 120 via a radio access link (which may be referred to as a “Uu” link) . The radio access link may include a downlink and an uplink. “Downlink” (or “DL” ) refers to a communication direction from a network node 110 to a UE 120, and “uplink” (or “UL” ) refers to a communication direction from a UE 120 to a network node 110. Downlink channels may include one or more control channels and one or more data channels. A downlink control channel may be used to transmit downlink control information (DCI) (for example, scheduling information, reference signals, and / or configuration information) from a network node 110 to a UE 120. A downlink data channel may be used to transmit downlink data (for example, user data associated with a UE 120) from a network node 110 to a UE 120. Downlink control channels may include one or more physical downlink control channels (PDCCHs) , and downlink data channels may include one or more physical downlink shared channels (PDSCHs) . Uplink channels may similarly include one or more control channels and one or more data channels. An uplink control channel may be used to transmit uplink control information (UCI) (for example, reference signals and / or feedback corresponding to one or more downlink transmissions) from a UE 120 to a network node 110. An uplink data channel may be used to transmit uplink data (for example, user data associated  with a UE 120) from a UE 120 to a network node 110. Uplink control channels may include one or more physical uplink control channels (PUCCHs) , and uplink data channels may include one or more physical uplink shared channels (PUSCHs) . The downlink and the uplink may each include a set of resources on which the network node 110 and the UE 120 may communicate.

[0049] Downlink and uplink resources may include time domain resources (frames, subframes, slots, and / or symbols) , frequency domain resources (frequency bands, component carriers, subcarriers, resource blocks, and / or resource elements) , and / or spatial domain resources (particular transmit directions and / or beam parameters) . Frequency domain resources of some bands may be subdivided into bandwidth parts (BWPs) . A BWP may be a continuous block of frequency domain resources (for example, a continuous block of resource blocks) that are allocated for one or more UEs 120. A UE 120 may be configured with both an uplink BWP and a downlink BWP (where the uplink BWP and the downlink BWP may be the same BWP or different BWPs) . A BWP may be dynamically configured (for example, by a network node 110 transmitting a DCI configuration to the one or more UEs 120) and / or reconfigured, which means that a BWP can be adjusted in real-time (or near-real-time) based on changing network conditions in the wireless communication network 100 and / or based on the specific requirements of the one or more UEs 120. This enables more efficient use of the available frequency domain resources in the wireless communication network 100 because fewer frequency domain resources may be allocated to a BWP for a UE 120 (which may reduce the quantity of frequency domain resources that a UE 120 is required to monitor) , leaving more frequency domain resources to be spread across multiple UEs 120. Thus, BWPs may also assist in the implementation of lower-capability UEs 120 by facilitating the configuration of smaller bandwidths for communication by such UEs 120.

[0050] As described above, in some aspects, the wireless communication network 100 may be, may include, or may be included in, an IAB network. In an IAB network, at least one network node 110 is an anchor network node that communicates with a core network. An anchor network node 110 may also be referred to as an IAB donor (or “IAB-donor” ) . The anchor network node 110 may connect to the core network via a wired backhaul link. For example, an Ng interface of the anchor network node 110 may terminate at the core network. Additionally or alternatively, an anchor network node 110 may connect to one or more devices of the core network that provide a core access and mobility management function (AMF) . An IAB network also generally includes multiple non-anchor network nodes 110, which may also be referred to as relay network nodes or simply as IAB nodes (or “IAB-nodes” ) . Each non-anchor network node 110 may communicate directly with the anchor network node 110 via a wireless backhaul link to access the core network, or may communicate indirectly with the anchor network node 110 via one or more other non-anchor network nodes 110 and associated  wireless backhaul links that form a backhaul path to the core network. Some anchor network node 110 or other non-anchor network node 110 may also communicate directly with one or more UEs 120 via wireless access links that carry access traffic. In some examples, network resources for wireless communication (such as time resources, frequency resources, and / or spatial resources) may be shared between access links and backhaul links.

[0051] In some examples, any network node 110 that relays communications may be referred to as a relay network node, a relay station, or simply as a relay. A relay may receive a transmission of a communication from an upstream station (for example, another network node 110 or a UE 120) and transmit the communication to a downstream station (for example, a UE 120 or another network node 110) . In this case, the wireless communication network 100 may include or be referred to as a “multi-hop network. ” In the example shown in Fig. 1, the network node 110d (for example, a relay network node) may communicate with the network node 110a (for example, a macro network node) and the UE 120d in order to facilitate communication between the network node 110a and the UE 120d. Additionally or alternatively, a UE 120 may be or may operate as a relay station that can relay transmissions to or from other UEs 120. A UE 120 that relays communications may be referred to as a UE relay or a relay UE, among other examples.

[0052] The UEs 120 may be physically dispersed throughout the wireless communication network 100, and each UE 120 may be stationary or mobile. A UE 120 may be, may include, or may be included in an access terminal, another terminal, a mobile station, or a subscriber unit. A UE 120 may be, include, or be coupled with a cellular phone (for example, a smart phone) , a personal digital assistant (PDA) , a wireless modem, a wireless communication device, a handheld device, a laptop computer, a cordless phone, a wireless local loop (WLL) station, a tablet, a camera, a gaming device, a netbook, a smartbook, an ultrabook, a medical device, a biometric device, a wearable device (for example, a smart watch, smart clothing, smart glasses, a smart wristband, and / or smart jewelry, such as a smart ring or a smart bracelet) , an entertainment device (for example, a music device, a video device, and / or a satellite radio) , an XR device, a vehicular component or sensor, a smart meter or sensor, industrial manufacturing equipment, a Global Navigation Satellite System (GNSS) device (such as a Global Positioning System device or another type of positioning device) , a UE function of a network node, and / or any other suitable device or function that may communicate via a wireless medium.

[0053] A UE 120 and / or a network node 110 may include one or more chips, system-on-chips (SoCs) , chipsets, packages, or devices that individually or collectively constitute or comprise a processing system. The processing system includes processor (or “processing” ) circuitry in the form of one or multiple processors, microprocessors, processing units (such as central processing units (CPUs) , graphics processing units (GPUs) , neural processing units (NPUs) and / or digital signal processors (DSPs) ) , processing blocks, application-specific  integrated circuits (ASIC) , programmable logic devices (PLDs) (such as field programmable gate arrays (FPGAs) ) , or other discrete gate or transistor logic or circuitry (all of which may be generally referred to herein individually as “processors” or collectively as “the processor” or “the processor circuitry” ) . One or more of the processors may be individually or collectively configurable or configured to perform various functions or operations described herein. A group of processors collectively configurable or configured to perform a set of functions may include a first processor configurable or configured to perform a first function of the set and a second processor configurable or configured to perform a second function of the set, or may include the group of processors all being configured or configurable to perform the set of functions.

[0054] The processing system may further include memory circuitry in the form of one or more memory devices, memory blocks, memory elements or other discrete gate or transistor logic or circuitry, each of which may include tangible storage media such as random-access memory (RAM) or read-only memory (ROM) , or combinations thereof (all of which may be generally referred to herein individually as “memories” or collectively as “the memory” or “the memory circuitry” ) . One or more of the memories may be coupled (for example, operatively coupled, communicatively coupled, electronically coupled, or electrically coupled) with one or more of the processors and may individually or collectively store processor-executable code (such as software) that, when executed by one or more of the processors, may configure one or more of the processors to perform various functions or operations described herein. Additionally or alternatively, in some examples, one or more of the processors may be preconfigured to perform various functions or operations described herein without requiring configuration by software. The processing system may further include or be coupled with one or more modems (such as a Wi-Fi (for example, Institute of Electrical and Electronics Engineers (IEEE) compliant) modem or a cellular (for example, 3GPP 4G LTE, 5G, or 6G compliant) modem) . In some implementations, one or more processors of the processing system include or implement one or more of the modems. The processing system may further include or be coupled with multiple radios (collectively “the radio” ) , multiple RF chains, or multiple transceivers, each of which may in turn be coupled with one or more of multiple antennas. In some implementations, one or more processors of the processing system include or implement one or more of the radios, RF chains or transceivers. The UE 120 may include or may be included in a housing that houses components associated with the UE 120 including the processing system.

[0055] Some UEs 120 may be considered machine-type communication (MTC) UEs, evolved or enhanced machine-type communication (eMTC) , UEs, further enhanced eMTC (feMTC) UEs, or enhanced feMTC (efeMTC) UEs, or further evolutions thereof, all of which may be simply referred to as “MTC UEs” . An MTC UE may be, may include, or may be  included in or coupled with a robot, an uncrewed aerial vehicle, a remote device, a sensor, a meter, a monitor, and / or a location tag. Some UEs 120 may be considered IoT devices and / or may be implemented as NB-IoT (narrowband IoT) devices. An IoT UE or NB-IoT device may be, may include, or may be included in or coupled with an industrial machine, an appliance, a refrigerator, a doorbell camera device, a home automation device, and / or a light fixture, among other examples. Some UEs 120 may be considered Customer Premises Equipment, which may include telecommunications devices that are installed at a customer location (such as a home or office) to enable access to a service provider's network (such as included in or in communication with the wireless communication network 100) .

[0056] Some UEs 120 may be classified according to different categories in association with different complexities and / or different capabilities. UEs 120 in a first category may facilitate massive IoT in the wireless communication network 100, and may offer low complexity and / or cost relative to UEs 120 in a second category. UEs 120 in a second category may include mission-critical IoT devices, legacy UEs, baseline UEs, high-tier UEs, advanced UEs, full-capability UEs, and / or premium UEs that are capable of URLLC, eMBB, and / or precise positioning in the wireless communication network 100, among other examples. A third category of UEs 120 may have mid-tier complexity and / or capability (for example, a capability between UEs 120 of the first category and UEs 120 of the second capability) . A UE 120 of the third category may be referred to as a reduced capacity UE ( “RedCap UE” ) , a mid-tier UE, an NR-Light UE, and / or an NR-Lite UE, among other examples. RedCap UEs may bridge a gap between the capability and complexity of NB-IoT devices and / or eMTC UEs, and mission-critical IoT devices and / or premium UEs. RedCap UEs may include, for example, wearable devices, IoT devices, industrial sensors, and / or cameras that are associated with a limited bandwidth, power capacity, and / or transmission range, among other examples. RedCap UEs may support healthcare environments, building automation, electrical distribution, process automation, transport and logistics, and / or smart city deployments, among other examples.

[0057] In some examples, two or more UEs 120 (for example, shown as UE 120a and UE 120e) may communicate directly with one another using sidelink communications (for example, without communicating by way of a network node 110 as an intermediary) . As an example, the UE 120a may directly transmit data, control information, or other signaling as a sidelink communication to the UE 120e. This is in contrast to, for example, the UE 120a first transmitting data in an UL communication to a network node 110, which then transmits the data to the UE 120e in a DL communication. In various examples, the UEs 120 may transmit and receive sidelink communications using peer-to-peer (P2P) communication protocols, device-to-device (D2D) communication protocols, vehicle-to-everything (V2X) communication protocols (which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, and / or vehicle-to-pedestrian (V2P) protocols) , and / or mesh network communication  protocols. In some deployments and configurations, a network node 110 may schedule and / or allocate resources for sidelink communications between UEs 120 in the wireless communication network 100. In some other deployments and configurations, a UE 120 (instead of a network node 110) may perform, or collaborate or negotiate with one or more other UEs to perform, scheduling operations, resource selection operations, and / or other operations for sidelink communications.

[0058] In various examples, some of the network nodes 110 and the UEs 120 of the wireless communication network 100 may be configured for full-duplex operation in addition to half-duplex operation. A network node 110 or a UE 120 operating in a half-duplex mode may perform only one of transmission or reception during particular time resources, such as during particular slots, symbols, or other time periods. Half-duplex operation may involve time-division duplexing (TDD) , in which DL transmissions of the network node 110 and UL transmissions of the UE 120 do not occur in the same time resources (that is, the transmissions do not overlap in time) . In contrast, a network node 110 or a UE 120 operating in a full-duplex mode can transmit and receive communications concurrently (for example, in the same time resources) . By operating in a full-duplex mode, network nodes 110 and / or UEs 120 may generally increase the capacity of the network and the radio access link. In some examples, full-duplex operation may involve frequency-division duplexing (FDD) , in which DL transmissions of the network node 110 are performed in a first frequency band or on a first component carrier and transmissions of the UE 120 are performed in a second frequency band or on a second component carrier different than the first frequency band or the first component carrier, respectively. In some examples, full-duplex operation may be enabled for a UE 120 but not for a network node 110. For example, a UE 120 may simultaneously transmit an UL transmission to a first network node 110 and receive a DL transmission from a second network node 110 in the same time resources. In some other examples, full-duplex operation may be enabled for a network node 110 but not for a UE 120. For example, a network node 110 may simultaneously transmit a DL transmission to a first UE 120 and receive an UL transmission from a second UE 120 in the same time resources. In some other examples, full-duplex operation may be enabled for both a network node 110 and a UE 120.

[0059] In some examples, the UEs 120 and the network nodes 110 may perform MIMO communication. “MIMO” generally refers to transmitting or receiving multiple signals (such as multiple layers or multiple data streams) simultaneously over the same time and frequency resources. MIMO techniques generally exploit multipath propagation. MIMO may be implemented using various spatial processing or spatial multiplexing operations. In some examples, MIMO may support simultaneous transmission to multiple receivers, referred to as multi-user MIMO (MU-MIMO) . Some RATs may employ advanced MIMO techniques, such as mTRP operation (including redundant transmission or reception on multiple TRPs) ,  reciprocity in the time domain or the frequency domain, single-frequency-network (SFN) transmission, or non-coherent joint transmission (NC-JT) .

[0060] In some aspects, the UE 120 may include a communication manager 140. As described in more detail elsewhere herein, the communication manager 140 may obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements; identify a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation; perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation; process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; and transmit, to a receiver, a signal based at least in part on the first element and the second element. As described in more detail elsewhere herein, the communication manager 140 may receive a signal associated with a concatenated element; de-concatenate the concatenated element to obtain a first element and a second element; decode the first element to a first index, and the second element to a second index; combine the first index and the second index to generate an initial index; and generate an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length. Additionally, or alternatively, the communication manager 140 may perform one or more other operations described herein.

[0061] In some aspects, the network node 110 may include a communication manager 150. As described in more detail elsewhere herein, the communication manager 150 may obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements; identify a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation; perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation; process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; and transmit, to a receiver, a signal based at least in part on the first element and the second element. As described in more detail elsewhere herein, the communication manager 150 may receive a signal associated with a concatenated element; de- concatenate the concatenated element to obtain a first element and a second element; decode the first element to a first index, and the second element to a second index; combine the first index and the second index to generate an initial index; and generate an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length. Additionally, or alternatively, the communication manager 150 may perform one or more other operations described herein.

[0062] As indicated above, Fig. 1 is provided as an example. Other examples may differ from what is described with regard to Fig. 1.

[0063] Fig. 2 is a diagram illustrating an example network node 110 in communication with an example UE 120 in a wireless network, in accordance with the present disclosure.

[0064] As shown in Fig. 2, the network node 110 may include a data source 212, a transmit processor 214, a transmit (TX) MIMO processor 216, a set of modems 232 (shown as 232a through 232t, where t ≥ 1) , a set of antennas 234 (shown as 234a through 234v, where v ≥ 1) , a MIMO detector 236, a receive processor 238, a data sink 239, a controller / processor 240, a memory 242, a communication unit 244, a scheduler 246, and / or a communication manager 150, among other examples. In some configurations, one or a combination of the antenna (s) 234, the modem (s) 232, the MIMO detector 236, the receive processor 238, the transmit processor 214, and / or the TX MIMO processor 216 may be included in a transceiver of the network node 110. The transceiver may be under control of and used by one or more processors, such as the controller / processor 240, and in some aspects in conjunction with processor-readable code stored in the memory 242, to perform aspects of the methods, processes, and / or operations described herein. In some aspects, the network node 110 may include one or more interfaces, communication components, and / or other components that facilitate communication with the UE 120 or another network node.

[0065] The terms “processor, ” “controller, ” or “controller / processor” may refer to one or more controllers and / or one or more processors. For example, reference to “a / the processor, ” “a / the controller / processor, ” or the like (in the singular) should be understood to refer to any one or more of the processors described in connection with Fig. 2, such as a single processor or a combination of multiple different processors. Reference to “one or more processors” should be understood to refer to any one or more of the processors described in connection with Fig. 2. For example, one or more processors of the network node 110 may include transmit processor 214, TX MIMO processor 216, MIMO detector 236, receive processor 238, and / or controller / processor 240. Similarly, one or more processors of the UE 120 may include MIMO detector 256, receive processor 258, transmit processor 264, TX MIMO processor 266, and / or controller / processor 280.

[0066] In some aspects, a single processor may perform all of the operations described as being performed by the one or more processors. In some aspects, a first set of (one or more) processors of the one or more processors may perform a first operation described as being performed by the one or more processors, and a second set of (one or more) processors of the one or more processors may perform a second operation described as being performed by the one or more processors. The first set of processors and the second set of processors may be the same set of processors or may be different sets of processors. Reference to “one or more memories” should be understood to refer to any one or more memories of a corresponding device, such as the memory described in connection with Fig. 2. For example, operation described as being performed by one or more memories can be performed by the same subset of the one or more memories or different subsets of the one or more memories.

[0067] For downlink communication from the network node 110 to the UE 120, the transmit processor 214 may receive data ( “downlink data” ) intended for the UE 120 (or a set of UEs that includes the UE 120) from the data source 212 (such as a data pipeline or a data queue) . In some examples, the transmit processor 214 may select one or more modulation and coding schemes (MCSs) for the UE 120 in accordance with one or more channel quality indicators (CQIs) received from the UE 120. The network node 110 may process the data (for example, including encoding the data) for transmission to the UE 120 on a downlink in accordance with the MCS (s) selected for the UE 120 to generate data symbols. The transmit processor 214 may process system information (for example, semi-static resource partitioning information (SRPI) ) and / or control information (for example, CQI requests, grants, and / or upper layer signaling) and provide overhead symbols and / or control symbols. The transmit processor 214 may generate reference symbols for reference signals (for example, a cell-specific reference signal (CRS) , a demodulation reference signal (DMRS) , or a channel state information (CSI) reference signal (CSI-RS) ) and / or synchronization signals (for example, a primary synchronization signal (PSS) or a secondary synchronization signals (SSS) ) .

[0068] The TX MIMO processor 216 may perform spatial processing (for example, precoding) on the data symbols, the control symbols, the overhead symbols, and / or the reference symbols, if applicable, and may provide a set of output symbol streams (for example, T output symbol streams) to the set of modems 232. For example, each output symbol stream may be provided to a respective modulator component (shown as MOD) of a modem 232. Each modem 232 may use the respective modulator component to process (for example, to modulate) a respective output symbol stream (for example, for orthogonal frequency division multiplexing (OFDM) ) to obtain an output sample stream. Each modem 232 may further use the respective modulator component to process (for example, convert to analog, amplify, filter, and / or upconvert) the output sample stream to obtain a time domain downlink signal. The modems  232a through 232t may together transmit a set of downlink signals (for example, T downlink signals) via the corresponding set of antennas 234.

[0069] A downlink signal may include a DCI communication, a MAC control element (MAC-CE) communication, an RRC communication, a downlink reference signal, or another type of downlink communication. Downlink signals may be transmitted on a PDCCH, a PDSCH, and / or on another downlink channel. A downlink signal may carry one or more transport blocks (TBs) of data. A TB may be a unit of data that is transmitted over an air interface in the wireless communication network 100. A data stream (for example, from the data source 212) may be encoded into multiple TBs for transmission over the air interface. The quantity of TBs used to carry the data associated with a particular data stream may be associated with a TB size common to the multiple TBs. The TB size may be based on or otherwise associated with radio channel conditions of the air interface, the MCS used for encoding the data, the downlink resources allocated for transmitting the data, and / or another parameter. In general, the larger the TB size, the greater the amount of data that can be transmitted in a single transmission, which reduces signaling overhead. However, larger TB sizes may be more prone to transmission and / or reception errors than smaller TB sizes, but such errors may be mitigated by more robust error correction techniques.

[0070] For uplink communication from the UE 120 to the network node 110, uplink signals from the UE 120 may be received by an antenna 234, may be processed by a modem 232 (for example, a demodulator component, shown as DEMOD, of a modem 232) , may be detected by the MIMO detector 236 (for example, a receive (Rx) MIMO processor) if applicable, and / or may be further processed by the receive processor 238 to obtain decoded data and / or control information. The receive processor 238 may provide the decoded data to a data sink 239 (which may be a data pipeline, a data queue, and / or another type of data sink) and provide the decoded control information to a processor, such as the controller / processor 240.

[0071] The network node 110 may use the scheduler 246 to schedule one or more UEs 120 for downlink or uplink communications. In some aspects, the scheduler 246 may use DCI to dynamically schedule DL transmissions to the UE 120 and / or UL transmissions from the UE 120. In some examples, the scheduler 246 may allocate recurring time domain resources and / or frequency domain resources that the UE 120 may use to transmit and / or receive communications using an RRC configuration (for example, a semi-static configuration) , for example, to perform semi-persistent scheduling (SPS) or to configure a configured grant (CG) for the UE 120.

[0072] One or more of the transmit processor 214, the TX MIMO processor 216, the modem 232, the antenna 234, the MIMO detector 236, the receive processor 238, and / or the controller / processor 240 may be included in an RF chain of the network node 110. An RF chain may include one or more filters, mixers, oscillators, amplifiers, analog-to-digital converters  (ADCs) , and / or other devices that convert between an analog signal (such as for transmission or reception via an air interface) and a digital signal (such as for processing by one or more processors of the network node 110) . In some aspects, the RF chain may be or may be included in a transceiver of the network node 110.

[0073] In some examples, the network node 110 may use the communication unit 244 to communicate with a core network and / or with other network nodes. The communication unit 244 may support wired and / or wireless communication protocols and / or connections, such as Ethernet, optical fiber, common public radio interface (CPRI) , and / or a wired or wireless backhaul, among other examples. The network node 110 may use the communication unit 244 to transmit and / or receive data associated with the UE 120 or to perform network control signaling, among other examples. The communication unit 244 may include a transceiver and / or an interface, such as a network interface.

[0074] The UE 120 may include a set of antennas 252 (shown as antennas 252a through 252r, where r ≥ 1) , a set of modems 254 (shown as modems 254a through 254u, where u ≥ 1) , a MIMO detector 256, a receive processor 258, a data sink 260, a data source 262, a transmit processor 264, a TX MIMO processor 266, a controller / processor 280, a memory 282, and / or a communication manager 140, among other examples. One or more of the components of the UE 120 may be included in a housing 284. In some aspects, one or a combination of the antenna (s) 252, the modem (s) 254, the MIMO detector 256, the receive processor 258, the transmit processor 264, or the TX MIMO processor 266 may be included in a transceiver that is included in the UE 120. The transceiver may be under control of and used by one or more processors, such as the controller / processor 280, and in some aspects in conjunction with processor-readable code stored in the memory 282, to perform aspects of the methods, processes, or operations described herein. In some aspects, the UE 120 may include another interface, another communication component, and / or another component that facilitates communication with the network node 110 and / or another UE 120.

[0075] For downlink communication from the network node 110 to the UE 120, the set of antennas 252 may receive the downlink communications or signals from the network node 110 and may provide a set of received downlink signals (for example, R received signals) to the set of modems 254. For example, each received signal may be provided to a respective demodulator component (shown as DEMOD) of a modem 254. Each modem 254 may use the respective demodulator component to condition (for example, filter, amplify, downconvert, and / or digitize) a received signal to obtain input samples. Each modem 254 may use the respective demodulator component to further demodulate or process the input samples (for example, for OFDM) to obtain received symbols. The MIMO detector 256 may obtain received symbols from the set of modems 254, may perform MIMO detection on the received symbols if applicable, and may provide detected symbols. The receive processor 258 may process (for  example, decode) the detected symbols, may provide decoded data for the UE 120 to the data sink 260 (which may include a data pipeline, a data queue, and / or an application executed on the UE 120) , and may provide decoded control information and system information to the controller / processor 280.

[0076] For uplink communication from the UE 120 to the network node 110, the transmit processor 264 may receive and process data ( “uplink data” ) from a data source 262 (such as a data pipeline, a data queue, and / or an application executed on the UE 120) and control information from the controller / processor 280. The control information may include one or more parameters, feedback, one or more signal measurements, and / or other types of control information. In some aspects, the receive processor 258 and / or the controller / processor 280 may determine, for a received signal (such as received from the network node 110 or another UE) , one or more parameters relating to transmission of the uplink communication. The one or more parameters may include a reference signal received power (RSRP) parameter, a received signal strength indicator (RSSI) parameter, a reference signal received quality (RSRQ) parameter, a CQI parameter, or a transmit power control (TPC) parameter, among other examples. The control information may include an indication of the RSRP parameter, the RSSI parameter, the RSRQ parameter, the CQI parameter, the TPC parameter, and / or another parameter. The control information may facilitate parameter selection and / or scheduling for the UE 120 by the network node 110.

[0077] The transmit processor 264 may generate reference symbols for one or more reference signals, such as an uplink DMRS, an uplink sounding reference signal (SRS) , and / or another type of reference signal. The symbols from the transmit processor 264 may be precoded by the TX MIMO processor 266, if applicable, and further processed by the set of modems 254 (for example, for DFT-s-OFDM or CP-OFDM) . The TX MIMO processor 266 may perform spatial processing (for example, precoding) on the data symbols, the control symbols, the overhead symbols, and / or the reference symbols, if applicable, and may provide a set of output symbol streams (for example, U output symbol streams) to the set of modems 254. For example, each output symbol stream may be provided to a respective modulator component (shown as MOD) of a modem 254. Each modem 254 may use the respective modulator component to process (for example, to modulate) a respective output symbol stream (for example, for OFDM) to obtain an output sample stream. Each modem 254 may further use the respective modulator component to process (for example, convert to analog, amplify, filter, and / or upconvert) the output sample stream to obtain an uplink signal.

[0078] The modems 254a through 254u may transmit a set of uplink signals (for example, R uplink signals or U uplink symbols) via the corresponding set of antennas 252. An uplink signal may include a UCI communication, a MAC-CE communication, an RRC communication, or another type of uplink communication. Uplink signals may be transmitted on a PUSCH, a  PUCCH, and / or another type of uplink channel. An uplink signal may carry one or more TBs of data. Sidelink data and control transmissions (that is, transmissions directly between two or more UEs 120) may generally use similar techniques as were described for uplink data and control transmission, and may use sidelink-specific channels such as a physical sidelink shared channel (PSSCH) , a physical sidelink control channel (PSCCH) , and / or a physical sidelink feedback channel (PSFCH) .

[0079] One or more antennas of the set of antennas 252 or the set of antennas 234 may include, or may be included within, one or more antenna panels, one or more antenna groups, one or more sets of antenna elements, or one or more antenna arrays, among other examples. An antenna panel, an antenna group, a set of antenna elements, or an antenna array may include one or more antenna elements (within a single housing or multiple housings) , a set of coplanar antenna elements, a set of non-coplanar antenna elements, or one or more antenna elements coupled with one or more transmission or reception components, such as one or more components of Fig. 2. As used herein, “antenna” can refer to one or more antennas, one or more antenna panels, one or more antenna groups, one or more sets of antenna elements, or one or more antenna arrays. “Antenna panel” can refer to a group of antennas (such as antenna elements) arranged in an array or panel, which may facilitate beamforming by manipulating parameters of the group of antennas. “Antenna module” may refer to circuitry including one or more antennas, which may also include one or more other components (such as filters, amplifiers, or processors) associated with integrating the antenna module into a wireless communication device.

[0080] In some examples, each of the antenna elements of an antenna 234 or an antenna 252 may include one or more sub-elements for radiating or receiving radio frequency signals. For example, a single antenna element may include a first sub-element cross-polarized with a second sub-element that can be used to independently transmit cross-polarized signals. The antenna elements may include patch antennas, dipole antennas, and / or other types of antennas arranged in a linear pattern, a two-dimensional pattern, or another pattern. A spacing between antenna elements may be such that signals with a desired wavelength transmitted separately by the antenna elements may interact or interfere constructively and destructively along various directions (such as to form a desired beam) . For example, given an expected range of wavelengths or frequencies, the spacing may provide a quarter wavelength, a half wavelength, or another fraction of a wavelength of spacing between neighboring antenna elements to allow for the desired constructive and destructive interference patterns of signals transmitted by the separate antenna elements within that expected range.

[0081] The amplitudes and / or phases of signals transmitted via antenna elements and / or sub-elements may be modulated and shifted relative to each other (such as by manipulating phase shift, phase offset, and / or amplitude) to generate one or more beams, which is referred to as  beamforming. The term “beam” may refer to a directional transmission of a wireless signal toward a receiving device or otherwise in a desired direction. “Beam” may also generally refer to a direction associated with such a directional signal transmission, a set of directional resources associated with the signal transmission (for example, an angle of arrival, a horizontal direction, and / or a vertical direction) , and / or a set of parameters that indicate one or more aspects of a directional signal, a direction associated with the signal, and / or a set of directional resources associated with the signal. In some implementations, antenna elements may be individually selected or deselected for directional transmission of a signal (or signals) by controlling amplitudes of one or more corresponding amplifiers and / or phases of the signal (s) to form one or more beams. The shape of a beam (such as the amplitude, width, and / or presence of side lobes) and / or the direction of a beam (such as an angle of the beam relative to a surface of an antenna array) can be dynamically controlled by modifying the phase shifts, phase offsets, and / or amplitudes of the multiple signals relative to each other.

[0082] Different UEs 120 or network nodes 110 may include different numbers of antenna elements. For example, a UE 120 may include a single antenna element, two antenna elements, four antenna elements, eight antenna elements, or a different number of antenna elements. As another example, a network node 110 may include eight antenna elements, 24 antenna elements, 64 antenna elements, 128 antenna elements, or a different number of antenna elements. Generally, a larger number of antenna elements may provide increased control over parameters for beam generation relative to a smaller number of antenna elements, whereas a smaller number of antenna elements may be less complex to implement and may use less power than a larger number of antenna elements. Multiple antenna elements may support multiple-layer transmission, in which a first layer of a communication (which may include a first data stream) and a second layer of a communication (which may include a second data stream) are transmitted using the same time and frequency resources with spatial multiplexing.

[0083] While blocks in Fig. 2 are illustrated as distinct components, the functions described above with respect to the blocks may be implemented in a single hardware, software, or combination component or in various combinations of components. For example, the functions described with respect to the transmit processor 264, the receive processor 258, and / or the TX MIMO processor 266 may be performed by or under the control of the controller / processor 280.

[0084] Fig. 3 is a diagram illustrating an example disaggregated base station architecture 300, in accordance with the present disclosure. One or more components of the example disaggregated base station architecture 300 may be, may include, or may be included in one or more network nodes (such one or more network nodes 110) . The disaggregated base station architecture 300 may include a CU 310 that can communicate directly with a core network 320 via a backhaul link, or that can communicate indirectly with the core network 320 via one or more disaggregated control units, such as a Non-RT RIC 350 associated with a Service  Management and Orchestration (SMO) Framework 360 and / or a Near-RT RIC 370 (for example, via an E2 link) . The CU 310 may communicate with one or more DUs 330 via respective midhaul links, such as via F1 interfaces. Each of the DUs 330 may communicate with one or more RUs 340 via respective fronthaul links. Each of the RUs 340 may communicate with one or more UEs 120 via respective RF access links. In some deployments, a UE 120 may be simultaneously served by multiple RUs 340.

[0085] Each of the components of the disaggregated base station architecture 300, including the CUs 310, the DUs 330, the RUs 340, the Near-RT RICs 370, the Non-RT RICs 350, and the SMO Framework 360, may include one or more interfaces or may be coupled with one or more interfaces for receiving or transmitting signals, such as data or information, via a wired or wireless transmission medium.

[0086] In some aspects, the CU 310 may be logically split into one or more CU user plane (CU-UP) units and one or more CU control plane (CU-CP) units. A CU-UP unit may communicate bidirectionally with a CU-CP unit via an interface, such as the E1 interface when implemented in an O-RAN configuration. The CU 310 may be deployed to communicate with one or more DUs 330, as necessary, for network control and signaling. Each DU 330 may correspond to a logical unit that includes one or more base station functions to control the operation of one or more RUs 340. For example, a DU 330 may host various layers, such as an RLC layer, a MAC layer, or one or more PHY layers, such as one or more high PHY layers or one or more low PHY layers. Each layer (which also may be referred to as a module) may be implemented with an interface for communicating signals with other layers (and modules) hosted by the DU 330, or for communicating signals with the control functions hosted by the CU 310. Each RU 340 may implement lower layer functionality. In some aspects, real-time and non-real-time aspects of control and user plane communication with the RU (s) 340 may be controlled by the corresponding DU 330.

[0087] The SMO Framework 360 may support RAN deployment and provisioning of non-virtualized and virtualized network elements. For non-virtualized network elements, the SMO Framework 360 may support the deployment of dedicated physical resources for RAN coverage requirements, which may be managed via an operations and maintenance interface, such as an O1 interface. For virtualized network elements, the SMO Framework 360 may interact with a cloud computing platform (such as an open cloud (O-Cloud) platform 390) to perform network element life cycle management (such as to instantiate virtualized network elements) via a cloud computing platform interface, such as an O2 interface. A virtualized network element may include, but is not limited to, a CU 310, a DU 330, an RU 340, a non-RT RIC 350, and / or a Near-RT RIC 370. In some aspects, the SMO Framework 360 may communicate with a hardware aspect of a 4G RAN, a 5G NR RAN, and / or a 6G RAN, such as an open eNB (O-eNB) 380, via an O1 interface. Additionally or alternatively, the SMO Framework 360 may  communicate directly with each of one or more RUs 340 via a respective O1 interface. In some deployments, this configuration can enable each DU 330 and the CU 310 to be implemented in a cloud-based RAN architecture, such as a vRAN architecture.

[0088] The Non-RT RIC 350 may include or may implement a logical function that enables non-real-time control and optimization of RAN elements and resources, AI / ML workflows including model training and updates, and / or policy-based guidance of applications and / or features in the Near-RT RIC 370. The Non-RT RIC 350 may be coupled to or may communicate with (such as via an A1 interface) the Near-RT RIC 370. The Near-RT RIC 370 may include or may implement a logical function that enables near-real-time control and optimization of RAN elements and resources via data collection and actions via an interface (such as via an E2 interface) connecting one or more CUs 310, one or more DUs 330, and / or an O-eNB with the Near-RT RIC 370.

[0089] In some aspects, to generate AI / ML models to be deployed in the Near-RT RIC 370, the Non-RT RIC 350 may receive parameters or external enrichment information from external servers. Such information may be utilized by the Near-RT RIC 370 and may be received at the SMO Framework 360 or the Non-RT RIC 350 from non-network data sources or from network functions. In some examples, the Non-RT RIC 350 or the Near-RT RIC 370 may tune RAN behavior or performance. For example, the Non-RT RIC 350 may monitor long-term trends and patterns for performance and may employ AI / ML models to perform corrective actions via the SMO Framework 360 (such as reconfiguration via an O1 interface) or via creation of RAN management policies (such as A1 interface policies) .

[0090] The network node 110, the controller / processor 240 of the network node 110, the UE 120, the controller / processor 280 of the UE 120, the CU 310, the DU 330, the RU 340, or any other component (s) of Figs. 1, 2, or 3 may implement one or more techniques or perform one or more operations associated with arithmetic coding with multistep splitting (or multistep splitting for other indexing scenarios, such as resolving an indexed element from a set of elements based on enumeration) , as described in more detail elsewhere herein. For example, the controller / processor 240 of the network node 110, the controller / processor 280 of the UE 120, any other component (s) of Fig. 2, the CU 310, the DU 330, or the RU 340 may perform or direct operations of, for example, process 800 of Fig. 8, process 1000 of Fig. 10, or other processes as described herein (alone or in conjunction with one or more other processors) . In some aspects, a transmitter and / or a receiver described herein is the UE 120, is included in the UE 120, or includes one or more components of the UE 120 shown in Fig. 2. In some aspects, a transmitter and / or a receiver described herein is the network node 110, is included in the network node 110, or includes one or more components of the network node 110 shown in Fig. 2. The memory 242 may store data and program codes for the network node 110, the network node 110, the CU 310, the DU 330, or the RU 340. The memory 282 may store data and  program codes for the UE 120. In some examples, the memory 242 or the memory 282 may include a non-transitory computer-readable medium storing a set of instructions (for example, code or program code) for wireless communication. The memory 242 may include one or more memories, such as a single memory or multiple different memories (of the same type or of different types) . The memory 282 may include one or more memories, such as a single memory or multiple different memories (of the same type or of different types) . For example, the set of instructions, when executed (for example, directly, or after compiling, converting, or interpreting) by one or more processors of the network node 110, the UE 120, the CU 310, the DU 330, or the RU 340, may cause the one or more processors to perform process 800 of Fig. 8, process 1000 of Fig. 10, or other processes as described herein. In some examples, executing instructions may include running the instructions, converting the instructions, compiling the instructions, and / or interpreting the instructions, among other examples.

[0091] In some aspects, the UE 120 includes means for obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements; means for identifying a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation; means for performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation; means for processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; and / or means for transmitting, to a receiver, a signal based at least in part on the first element and the second element. In some aspects, the UE 120 includes means for receiving a signal associated with a concatenated element; means for de-concatenating the concatenated element to obtain a first element and a second element; means for decoding the first element to a first index, and the second element to a second index; means for combining the first index and the second index to generate an initial index; and / or means for generating an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length. The means for the UE 120 to perform operations described herein may include, for example, one or more of communication manager 140, antenna 252, modem 254, MIMO detector 256, receive processor 258, transmit processor 264, TX MIMO processor 266, controller / processor 280, or memory 282.

[0092] In some aspects, the network node 110 includes means for obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, where the initial quantity has an initial finite-precision data  representation, and the initial index is indicative of an initial element of the initial candidate elements; means for identifying a first quantity of first candidate elements, where the first quantity has a first finite-precision data representation; means for performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, where the second quantity has a second finite-precision data representation; means for processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; and / or means for transmitting, to a receiver, a signal based at least in part on the first element and the second element. In some aspects, the network node 110 includes means for receiving a signal associated with a concatenated element; means for de-concatenating the concatenated element to obtain a first element and a second element; means for decoding the first element to a first index, and the second element to a second index; means for combining the first index and the second index to generate an initial index; and / or means for generating an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length. The means for the network node 110 to perform operations described herein may include, for example, one or more of communication manager 150, transmit processor 214, TX MIMO processor 216, modem 232, antenna 234, MIMO detector 236, receive processor 238, controller / processor 240, memory 242, or scheduler 246.

[0093] As indicated above, Fig. 3 is provided as an example. Other examples may differ from what is described with regard to Fig. 3.

[0094] Fig. 4 is a diagram illustrating an example 400 of a transmit (Tx) chain 402 and a receive (Rx) chain 404 of a wireless device, in accordance with the present disclosure. In some aspects, one or more components of Tx chain 402 may be implemented in transmit processor 264, TX MIMO processor 266, modem 254, controller / processor 280, transmit processor 214, TX MIMO processor 216, modem 232, and / or controller / processor 240, as described above in connection with Fig. 2. In some aspects, Tx chain 402 may be implemented in a UE 120 for transmitting data 406 (e.g., uplink data, an uplink reference signal, and / or uplink control information to a network node 110 on an uplink channel and / or sidelink data, a sidelink reference signal, and / or sidelink control information to another UE 120 on a sidelink channel) . Additionally or alternatively, Tx chain 402 may be implemented in a network node 110 for transmitting data 406 (e.g., downlink data, a downlink reference signal, and / or downlink control information to a UE 120 on a downlink channel) .

[0095] An encoder 407 may alter a signal (e.g., a bitstream) 403 into data 406. Data 406 to be transmitted is provided from encoder 407 as input to a serial-to-parallel (S / P) converter 408.  In some aspects, S / P converter 408 may split the transmission data into N parallel data streams 410.

[0096] The N parallel data streams 410 may then be provided as input to a mapper 412. Mapper 412 may map the N parallel data streams 410 onto N constellation points. The mapping may be done using a modulation constellation, such as binary phase-shift keying (BPSK) , quadrature phase-shift keying (QPSK) , 8 phase-shift keying (8PSK) , and / or quadrature amplitude modulation (QAM) . Thus, mapper 412 may output N parallel symbol streams 416, each symbol stream 416 corresponding to one of N orthogonal subcarriers of an iFFT component 420. The N parallel symbol streams 416 are represented in the frequency domain and may be converted into N parallel time domain sample streams 418 by iFFT component 420.

[0097] In some aspects, N parallel modulations in the frequency domain correspond to N modulation symbols in the frequency domain, which are equal to N mapping and N-point iFFT in the frequency domain, which are equal to one (useful) OFDM symbol in the time domain, which are equal to N samples in the time domain. One OFDM symbol in the time domain, Ns, is equal to Ncp (the number of guard samples per OFDM symbol) + N (the number of useful samples per OFDM symbol) .

[0098] The N parallel time domain sample streams 418 may be converted into an OFDM / OFDMA symbol stream 422 by a parallel-to-serial (P / S) converter 424. A guard insertion component 426 may insert a guard interval between successive OFDM / OFDMA symbols in the OFDM / OFDMA symbol stream 422. The output of guard insertion component 426 may then be upconverted to a desired transmit frequency band by an RF front end 428. An antenna 430 may then transmit the resulting signal 432.

[0099] In some aspects, Rx chain 404 may utilize OFDM / OFDMA. In some aspects, one or more components of Rx chain 404 may be implemented in receive processor 258, MIMO detector 256, modem 254, controller / processor 280, receive processor 238, MIMO detector 236, modem 232, and / or controller / processor 240, as described above in connection with Fig. 2. In some aspects, Rx chain 404 may be implemented in a UE 120 for receiving data 406 (e.g., downlink data, a downlink reference signal, and / or downlink control information from a network node 110 on a downlink channel) . Additionally or alternatively, Rx chain 404 may be implemented in a network node 110 for receiving data 406 (e.g., uplink data, an uplink reference signal, and / or uplink control information from a UE 120 on an uplink channel) .

[0100] A transmitted signal 432 is shown traveling over a wireless channel 434 from Tx chain 402 to Rx chain 404. When a signal 432' is received by an antenna 430', the received signal 432' may be downconverted to a baseband signal by an RF front end 428'. A guard removal component 426' may then remove the guard interval that was inserted between OFDM / OFDMA symbols by guard insertion component 426.

[0101] The output of guard removal component 426' may be provided to an S / P converter 424'. The output may include an OFDM / OFDMA symbol stream 422', and S / P converter 424' may divide the OFDM / OFDMA symbol stream 422' into N parallel time-domain symbol streams 418', each of which corresponds to one of the N orthogonal subcarriers. An FFT component 420' may convert the N parallel time-domain symbol streams 418' into the frequency domain and output N parallel frequency-domain symbol streams 416'.

[0102] A demapper 412' may perform the inverse of the symbol mapping operation that was performed by mapper 412, thereby outputting N parallel data streams 410'. A P / S converter 408' may combine the N parallel data streams 410' into a single data stream 406'. Ideally, data stream 406' corresponds to data 406 that was provided as input to Tx chain 402. Data stream 406' may be decoded into a decoded data stream 403' by decoder 407'.

[0103] The number and arrangement of components shown in Fig. 4 are provided as an example. In practice, there may be additional components, fewer components, different components, or differently arranged components than those shown in Fig. 4. Furthermore, two or more components shown in Fig. 4 may be implemented within a single component, or a single component shown in Fig. 4 may be implemented as multiple, distributed components. Additionally or alternatively, a set of components (e.g., one or more components) shown in Fig. 4 may perform one or more functions described as being performed by another set of components shown in Fig. 4.

[0104] Fig. 5 is a diagram illustrating an example 500 of shaping gain over an additive white Gaussian noise (AWGN) channel, in accordance with the present disclosure. In some wireless communications, high-order modulation may be combined with binary forward-error-correction (FEC) to achieve a high spectral efficiency for mobile data transmission. When higher-order coded modulation is used, a transmitter device may encode information bits using fixed constellation points. For example, fixed constellation points may be used with QAM-16, QAM-64, QAM-256, or other coded modulation schemes. As shown in Fig. 5, the coded modulation scheme usually endows a uniform distribution 505 over per-dimension constellations (shown for an amplitude shift keying (ASK) constellation with 8 points, or ASK-8) , where the fixed constellation points each have an equal probability of being used to encode information bits. However, the information rate associated with uniform constellation signaling may lead to a shaping gap relative to a channel capacity (or “Shannon capacity” ) . The shaping gap may represent a difference between a signal-to-noise ratio (SNR) to achieve a given rate with a given MCS and an SNR at which an optimal capacity-achieving scheme could operate, also known as the Shannon capacity or “Shannon limit” . Referring to Fig. 5, example 510 illustrates the relationship between an SNR and an information rate (bits / channel use) when uniform constellation signaling is used. In particular, for uniform ASK-4 through uniform ASK-32 over AWGN channels, uniform constellation signaling can lead to a shaping gap 515 relative to  AWGN capacity, resulting in an SNR loss that can asymptotically approach πe / 6 ≈ 1.53 decibels (dB) .

[0105] Accordingly, in some cases, a transmitter may use probabilistic shaping to generate a target non-uniform distribution on equidistant constellation points and thereby achieve a shaping gain relative to constellations with a uniform distribution. For example, Fig. 5 illustrates an example non-uniform distribution 520 for ASK-8, where inner constellation points associated with a lower energy and / or a lower power are used more frequently than outer constellation points associated with a higher energy and / or a higher power. In some cases, the non-uniform distribution may have a Maxwell-Boltzmann (MB) probability distribution,  where PMB (x) is a probability of a constellation point x, v is a non-negative real number, Zv is a normalizing parameter, and x∈ {±1, ±3, …, ± (2M-1) } . As shown by example 525, over the AWGN channel, the mutual information obtained by optimizing the non-uniform MB distribution exhibits negligible difference from the capacity-achieving input distribution over ASK constellations (e.g., an MB distribution exhibits an approximately 1.243 dB shaping gain at an ASK-32 modulation) .

[0106] According to an MB distribution and maximum entropy principle, for a given constellation, the probability distribution over the constellation that maximizes the Shannon entropy, subject to an average energy constraint, is an MB distribution PMB. In other words, PMB is a solution to an optimization problem given by subject to where an optimal solution is  (where X is a random variable associated with probability distribution P, and is an expectation operator; and is over the set of all probability distributions over the constellation) . Among all sequences having length n and “energy” E, the set of sequences composed according to typical realizations of the MB distribution PMB has the largest cardinality.

[0107] For sequences of constellation points, over the constellation, having length n, where H (PMB) is the Shannon entropy of PMB and E is a closest integer to ωMBn that may be interpreted as a sequence energy,

[0108] where N (n, E) is a total number of all such sequences of length n and energy equal to E. Thus, a uniform distribution over energy-constrained sequences of a fixed length exhibits statistical resemblance of independent and identically distributed sequences according to the underlying MB distribution.

[0109] As indicated above, Fig. 5 is provided as an example. Other examples may differ from what is described with regard to Fig. 5.

[0110] Fig. 6 is a diagram illustrating an example 600 of distribution matching (DM) in a probabilistic shaping (PS) transmission architecture, in accordance with the present disclosure. A DM component may be a key component in a PS transmission architecture, and is generally configured to transform sequences of uniform bits to sequences of per-dimension amplitudes, aiming at inducing a target probability distribution over an underlying amplitude alphabet However, the transformation from uniform bits to per-dimension amplitudes needs to be invertible such that the input (e.g., the uniform bits) can be correctly reconstructed given the output (e.g., the per-dimension amplitudes) . Accordingly, in some cases, a DM component in a PS transmission architecture may perform fixed-length DM 605, which imposes deterministic lengths for input and output sequences. For example, as shown in Fig. 6, an input sequence u= (u1, u2, …, uk) received at the DM component has a length k, where ui∈ {0, 1} , and an output sequence s= (s1, s2, …, sn) generated by the DM component has a length n, where In such examples, when the DM component performs fixed-length DM, the length of the input sequence, k, and the length of the output sequence, n, are deterministic quantities. In one example 610, given an ASK-8 amplitude alphabet the target probability distribution over the underlying amplitude alphabet may be defined as In such an example, where the DM component generates an output sequence s with a length n=100, the symbol 1 would be expected to occur 50 times, the symbol 3 would be expected to occur 25 times, the symbol 5 would be expected to occur 15 times, and the symbol 7 would be expected to occur 10 times.

[0111] Accordingly, in some examples, a DM component may be designed to perform low-complexity and invertible fixed-to-fixed DM, with a rate k / n that is close to entropy bits per symbol (e.g., the output is close to independent and identically distributed in accordance with the target probability distribution ) .

[0112] Sequences of symbols may be from an alphabet of a size m. Each element of the alphabet may be referred to as a symbol. A symbol ai may have a weight or energy (weight / energy) E (ai) , and symbol weights / energies are nonnegative and mutually distinct. For example, for ASK-8, or QAM-64, and an alphabet where m=4, the symbol weights / energies may be defined as E (1) =0, E (3) =1, E (5) =3, and E (7) =6. A sequence over the alphabet (which can be used as a proxy for a sequence of symbols from the alphabet) may be an ordered tuple of elements, where each element of the sequence is from the alphabet (i.e., each element of the sequence is an element of the alphabet) . A length of a sequence may be the total number of elements of the sequence. For example, a sequence s= (1, 1, 1, 1, 3, 3, 3, 5, 5, 7) , over the alphabet {1, 3, 5, 7} , has a length equal to 10.

[0113] As an example of symbol energy, for any i, the energy E (ai) of a symbol ai (from the alphabet ) may be given by E (ai) = (2i-1) 2. As another example of symbol energy, for any i, the energy E (ai) of a symbol ai (from the alphabet ) may be given by:

[0114] In the latter example, E (ai) involves a shifted scaling of (2i-1) 2 of the former example.

[0115] An alphabet may be associated with energy-based cardinalities N (n, E) and Nc (n, E) . The weight / energy of a sequence s= (s1, s2, …, sn) may be the accumulation of all the symbol weights / energies along the sequence s:

[0116] Over the alphabet the number of sequences of length n and energy equal to E, and less than or equal to E, are respectively:

[0117] where the superscript “ [m] ” indicates that the underlying alphabet is having size m, and indicates a set of all sequences of length n where any entry of a sequence is from When the underlying alphabet is clear from context, the superscript may be omitted, and the energy-based cardinalities may be written as N (n, E) and Nc (n, E) , respectively. For a determined alphabet size m, N (n, E) and Nc (n, E) may be viewed as a two-variable function of n and E.

[0118] N (n, E) (e.g., a quantity, an approximation of which may be used in multistep splitting techniques described herein, as described further in connection with Fig. 7B) may satisfy the following characteristic equation:

[0119] In a particular case when n′ is specialized to 1 (i.e., n′=1) :

[0120] N [m] (n, E) may satisfy the following characteristic equation:

[0121] The binomial coefficient “n choose κ” is also N [2] (n, κ) , which denotes the number of sequences of length n and energy κ, and the underlying symbol energies are 0 and 1, respectively. N [m] (n, E) is equal to 0 when n<0 or E<0.

[0122] Nc (n, E) (e.g., a quantity, an approximation of which may be used in multistep splitting techniques described herein, as described further in connection with Fig. 7B) may satisfy the following characteristic equation:

[0123] In a particular case when n′ is specialized to 1 (i.e., n′=1) :

[0124] also satisfies the following characteristic equation:

[0125] The binomial coefficient “n choose κ” is also N [2] (n, κ) , which denotes the number of sequences of length n and energy κ, and the underlying symbol energies are 0 and 1, respectively.  is equal to 0 when n<0 or E<0.

[0126] As described herein, an encoder may process (e.g., compute values of) finite-precision (FP) -K numbers with limited bit-resolution. For an FP-K number, K may be an integer such that K≥2 (e.g., K=8) . A real number z may be referred to as an FP-K number if z satisfies the following conditions: z can be written in the form of z=a2L, L is an integer, a is either 0 or is a real number satisfying 1≤a<2 and a2K-1 is a positive integer, and a binary expansion of a is of the form a=1. b1b2…bK-1 where the bi are bits. An FP-K number can be written as  with k1>k2>…>kd>k1-K, and the FP-K number is an integer if and only if kd≥0. An FP-K number may be associated with various rounding operations. For example, a non-negative real number y may have the following three related FP-K numbers:  the largest FP-K number less than or equal to y;  the smallest FP-K number larger than or equal to y; and the closest FP-K number to z (with ties rounded up) , with closeness measured by absolute difference in value.

[0127] As described herein, an encoder may compute an inverse of an FP number by performing an operation involving reading (e.g., looking up) a table entry. For example, the table entry may be in a look-up table (LUT) , referred to as an (L, L′) -table. The (L, L′) -table 2L-1 may include entries that approximate the inverse of 1+21-Lj, for j∈ {0, 1, 2, …, 2L-1-1} . L may be a positive integer (e.g., L=5, L=8, or L=10) , and L′ may be a positive integer (e.g., L′=8) . Entry j (e.g., row j) of the table may correspond to an approximate inverse of 1+21-Lj. For example, entry j may correspond to the nearest FP-L′ number to the true inverse of 1+21-Lj (i.e., entry j may correspond to ) . The (L, L′) -table can be used to determine an approximate inverse for any FP-L number as an FP-L′ number.

[0128] In some cases, an encoder may perform a finite-precision inverse operation, where L and L′ may be unequal (a direct look up may be used where L and L′ are equal) . For example, if y is a positive real number (e.g., an FP-K number for some positive integer K) , an encoder may apply the following sequence of operations to obtain an FP-L′ number as an approximate inverse of y (e.g., a finite-precision approximation of 1 / y) . In a first operation, the encoder may perform an FP rounding operation to y and denote the result by as an FP-L number. In a second operation, the encoder may subtract yL from y and perform an FP rounding operation to the result:  as an FP-L′ number. In a third operation, the encoder may perform a (L, L′) -table look-up to obtain table entry χ that corresponds to the L-bit significands of yL. In a fourth operation, the encoder may perform a multiplication of δ and χ and perform an FP rounding operation:  In a fifth operation, the encoder may perform a multiplication of a and χ and perform an FP rounding operation:  In a sixth operation, the encoder may output

[0129] An FP K-bit number (e.g., with limited bit-resolution) is a positive integer z that satisfies the following conditions: z can be written in the form of z=a2L, K is an integer such that K≥2, a is a K-bit unsigned integer such that a is either equal to 0 or the most-significant bit (MSB) in the binary expansion of a is 1, and L is an integer such that L>-K. An FP K-bit number can also be written as with k1>k2>…>kd>k1-K. Additionally, a may satisfy 0≤a≤2K-1. If K1≥K2, then any FP K2-bit number can be exactly represented as an FP K1-bit number. For example, z=2503×224696 can be viewed as a FP K1-bit number with K1=12. In this example, a binary expansion of 2503 can be written as (1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1) , and a binary expansion of 24696 can be written as (0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0) .

[0130] In some examples, FP addition with upward rounding may be performed. For example, let and be FP K-bit numbers; and it may be assumed without loss of generality that z1≥z2. The FP addition with upward rounding operation, denoted by  is a pairwise operation. It takes as its input two FP K-bit numbers and determines a FP K-bit number as its output. If then If  then In another example, FP addition with downward rounding may be performed. For example, let and be FP K-bit numbers; and it may be assumed without loss of generality that z1≥z2. The FP addition with downward rounding operation, denoted by AK, is a pairwise operation. The operation takes as an input two FP K-bit numbers and determines an FP K-bit number as an output. If then then

[0131] In some examples, FP-K addition with upward rounding denoted by FP-K addition with downward rounding denoted by or FP-K addition with nearest rounding denoted by may be performed (e.g., by an encoder) . Each of these operations is a pairwise operation, which takes as an input two FP-K numbers and determines an FP-K number as an output. For example, let z1 and z2 be FP-K numbers. An FP-K addition with upward rounding operation, on z1 and z2, is defined as In other words,  is equal to the smallest FP-K number larger than or equal to z1+z2 (e.g., an addition of z1 and z2) . Additionally, an FP-K addition with downward rounding operation, on z1 and z2, is defined as In other words,  is equal to the largest FP-K number less than or equal to z1+z2. Additionally, an FP-K addition with nearest rounding operation, on z1 and z2, is defined as In other words,  is equal to the closest FP-K number to z1+z2 (with ties rounded up) .

[0132] In another example, FP-K subtraction with upward rounding denoted by FP-K subtraction with downward rounding denoted by or FP-K subtraction with nearest rounding denoted by may be performed (e.g., by an encoder) . Each of these operations is a pairwise operation, which takes as an input two FP-K numbers and determines an FP-K number as an output. For example, let z1 and z2 be FP-K numbers, and it may be assumed without loss of generality that z1≥z2. An FP-K subtraction with upward rounding operation, on z1 and z2, is defined as In other words,  is equal to the smallest FP-K number larger than or equal to z1-z2 (e.g., a subtraction of z1 and z2) . Additionally, an FP-K subtraction with downward rounding operation, on z1 and z2, is defined as In other words,  is equal to the largest FP-K number less than or equal to z1-z2. Additionally, an FP-K subtraction with nearest rounding operation, on z1 and z2, is defined as In other words,  is equal to the closest FP-K number to z1-z2 (with ties rounded up) .

[0133] In another example, FP-K multiplication with upward rounding denoted by FP-K multiplication with downward rounding denoted by or FP-K multiplication with nearest rounding denoted by may be performed (e.g., by an encoder) . Each of these operations is a pairwise operation, which takes as an input two FP-K numbers and determines an FP-K number as an output. For example, let z1 and z2 be FP-K numbers. An FP-K multiplication with upward rounding operation, on z1 and z2, is defined as In other words,  is equal to the smallest FP-K number larger than or equal to z1·z2 (e.g., a multiplication of z1 and z2) . Additionally, an FP-K multiplication with downward rounding operation, on z1 and z2, is defined as In other words,  is equal to the largest FP-K number less than or equal to z1·z2. Additionally, an FP-K  multiplication with nearest rounding operation, on z1 and z2, is defined as In other words,  is equal to the closest FP-K number to z1·z2 (with ties rounded up) .

[0134] Probabilistic shaping is a technique that can be used for coding and modulation in a physical layer of wireless cellular systems (e.g., 6G wireless systems) . Probabilistic shaping may utilize arithmetic coding methods to improve performance (e.g., using energy-based arithmetic coding methods for approaching an optimal shaping gain) . However, issues with arithmetic coding for probabilistic shaping (e.g., various probabilistic shaping schemes) include the calculation of transition probability kernels as well as serial (e.g., sequential) processing for encoding and decoding operations. Serial transition probability determination used in arithmetic coding may introduce complexity and increase latency, thereby degrading performance for latency-stringent applications.

[0135] Various aspects relate generally to a multistep splitting technique that can be applied in indexing scenarios (e.g., for resolving an indexed element from a set of elements based on enumeration) . Some aspects more specifically relate to AC using a multistep splitting technique. Some aspects more specifically relate to a multistep splitting technique that can be used in energy shaping schemes, such as energy-based PAS schemes. In some aspects, encoding and decoding operations may be performed by splitting an encoding or decoding procedure into separate parallel procedures using segment boundary estimation. In some aspects, to encode an initial index of a sequence of information bits, an encoder may perform an algorithmic splitting operation on the initial index to generate a first index indicating a first element of a quantity of first candidate elements and a second index indicating a second element of a quantity of second candidate elements. In some aspects, the encoder may process (e.g., using a direct indexing operation) the first index and the second index, independently (e.g., in parallel) , to generate the first element and the second element. In some aspects, a signal resulting from the encoding may represent an energy-constrained sequence.

[0136] Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, by using a multistep splitting technique, the described techniques can be used to perform encoding with low-complexity processing. In some examples, by performing separate parallel encoding procedures, the described techniques can be used to reduce processing latency. In some examples, by using a multistep splitting technique, the described techniques can be used to perform arithmetic coding with efficient approximate modeling of transition probability kernels and online energy adjustment. In some examples, by generating a signal that represents an energy-constrained sequence, the described techniques can be used to improve spectrum efficiency and / or enhance energy efficiency.

[0137] As indicated above, Fig. 6 is provided as an example. Other examples may differ from what is described with regard to Fig. 6.

[0138] Fig. 7A is a diagram of an example 700 associated with arithmetic coding with multistep splitting, in accordance with the present disclosure. In some aspects, the multistep splitting techniques described herein may be used in arithmetic coding and / or other indexing scenarios. The multistep splitting described herein may include multiple steps of a splitting operation described herein; however, in some examples, techniques described herein may use only a single step of the splitting operation. In some aspects, the techniques of example 700 may be used in a communication system, such as a cellular wireless network or an optical network. As shown in Fig. 7A, example 700 includes communication between a transmitter and a receiver. In some aspects, the transmitter may correspond to a UE 120 and the receiver may correspond to a network node 110. Additionally or alternatively, the transmitter may correspond to a network node 110 and the receiver may correspond to a UE 120, the transmitter may correspond to a first UE 120 and the receiver may correspond to a second UE 120, and / or the transmitter may correspond to a first wireless device and the receiver may correspond to a second wireless device. Encoding operations described herein performed by the transmitter may be performed by an encoder of the transmitter.

[0139] As shown by reference number 705, the transmitter and the receiver may communicate to configure or otherwise align a set of encoding and decoding parameters. For example, in some aspects, the encoding and decoding parameters may include a symbol alphabet atarget sequence length and a target energy  (e.g., these parameters may be configured) . In some aspects, the encoding and decoding parameters may include an energy correction value δE (e.g., a positive quantity) . In some aspects, the encoding and decoding parameters may indicate whether encoding and decoding are to be performed with respect to an energy boundary (e.g.,  stands for a maximum target energy and any output sequence is constrained of having energy not exceeding, that is, bounded by, the maximum target energy ) , or are to be performed with respect to a fixed energy (e.g., instead of constraining an energy upper bound, the energy of any output sequence may be required to exactly equal a target energy ) . In some aspects, the encoding and decoding parameters may indicate whether encoding and decoding are to be performed with respect to an even sequence split size or an uneven sequence split size. In some aspects, the encoding and decoding parameters may include a margin or backoff value Δ or Λ used to determine a length k of information bits to be conveyed. The encoding and decoding parameters may be communicated via one or more of system information (e.g., a master information block (MIB) and / or a system information block (SIB) , among other examples) , RRC signaling, one or more MAC-CEs, and / or DCI, among other examples.

[0140] As shown by reference number 710, the transmitter may obtain an initial sequence that includes a plurality of information bits u1, u2, …, uk available for encoding. As described in further detail herein, the transmitter may encode the input sequence using arithmetic coding with multistep splitting.

[0141] As shown by reference number 715, the transmitter may obtain an initial quantity of initial candidate elements (M′) , and obtain an initial index (x′) that is a numeric representation of the initial sequence of bits. The initial quantity may have an initial FP data representation. The initial FP data representation may be an initial FP-K number that is equal to a multiplication of an initial number, having a binary expansion having length K, and 2 to a power of an initial integer. K may be an integer multiple of a prime number.

[0142] The initial index may be indicative of an initial element of the initial candidate elements. The initial index may be nonnegative and may be less than the initial quantity. The numeric representation of the initial sequence of bits may be an unsigned integer representation of the initial sequence of bits. As described herein, the transmitter may perform an algorithmic splitting operation on the initial index to generate a first index and a second index.

[0143] The initial candidate elements may be mutually distinct. Each element of the initial candidate elements may include (e.g., may be) a respective sequence. Each respective sequence may include a respective ordered set of entries from an alphabet of symbols. Each sequence that corresponds to a respective element of the initial candidate elements may have a respective length equal to an initial length parameter. Moreover, each sequence that corresponds to a respective element of the initial candidate elements may have a respective energy equal to an initial energy parameter. Alternatively, each sequence that corresponds to a respective element of the initial candidate elements may have a respective energy less than the initial energy parameter.

[0144] The alphabet of symbols may have a finite cardinality. Additionally, or alternatively, the alphabet of symbols may be associated with an alphabetical ordering. Additionally, or alternatively, the symbols of the alphabet of symbols may be mutually distinct. Additionally, or alternatively, each symbol of the alphabet of symbols may include a numeric value. The alphabet of symbols may have a cardinality equal to where is in accordance with a  ASK constellation or a QAM constellation. Additionally, or alternatively, the alphabet of symbols may be associated with an energy (or weight) function E over the alphabet of symbols. As an example, an energy value of a first symbol a1 of the alphabet of symbols may be 0: E (a1) =0; an energy value of a second symbol a2 of the alphabet of symbols may be 1: E (a2) =1; an energy value of a third symbol a3 of the alphabet of symbols may be 3: E (a3) =3; and / or an energy value of a fourth symbol a4 of the alphabet of symbols may be 6: E (a4) =6.

[0145] As shown by reference number 720, the transmitter may identify a first quantity of first candidate elements (N1) (e.g., subsequences) . The transmitter may identify the numerical quantity, without identifying the first candidate elements themselves. The first quantity may have a first FP data representation. The first FP data representation may include a first FP-K number. The first FP-K number may be equal to a multiplication of a first number, having a binary expansion having length K, and 2 to a power of a first integer. K may be an integer multiple of a prime number, as described herein.

[0146] The first candidate elements may be mutually distinct. Each element of the first candidate elements may include a respective sequence. Each respective sequence may include a respective ordered set of entries from the alphabet of symbols. Each sequence that corresponds to a respective element of the first candidate elements may have a respective length equal to a first length parameter. The first length parameter may be an integer multiple of a prime number (e.g., the first length parameter may be 16, 24, or 32) . Additionally, or alternatively, the first length parameter may have a ceiling or a flooring of a fraction of the initial length parameter. The fraction may be an inverse of a power of 2, such as one half. Moreover, each sequence that corresponds to a respective element of the first candidate elements may have a respective energy equal to a first energy parameter.

[0147] As shown by reference number 725, the transmitter may perform an algorithmic splitting operation on the initial index, as described further in connection with Fig. 7B. The algorithmic splitting operation may be based at least in part on (e.g., may use) the initial quantity of the initial candidate elements and the first quantity of the first candidate elements. The algorithmic splitting operation may generate a first index (z1) , a second index (z2) , and a second quantity of second candidate elements (N2) (e.g., subsequences) . The first index may be indicative of a first element (s1) of the first candidate elements. The first index may be nonnegative and may be less than the first quantity. The second index may be indicative of a second element (s2) of the second candidate elements. The second index may be nonnegative and may be less than the second quantity.

[0148] The transmitter may identify the numerical quantity of the second candidate elements, without identifying the second candidate elements themselves. The second quantity may have a second FP data representation. The second FP data representation may include a second FP-K number. The second FP-K number may be equal to a multiplication of a second number, having a binary expansion having length K, and 2 to a power of a second integer. K may be an integer multiple of a prime number, as described herein.

[0149] The second candidate elements may be mutually distinct. Each element of the second candidate elements may include a respective sequence. Each respective sequence may include a respective ordered set of entries from the alphabet of symbols. Each sequence that corresponds  to a respective element of the second candidate elements may have a respective length equal to a second length parameter. Moreover, each sequence that corresponds to a respective element of the second candidate elements may have a respective energy equal to a second energy parameter. Alternatively, each sequence that corresponds to a respective element of the second candidate elements may have a respective energy less than the second energy parameter.

[0150] The initial quantity of the initial candidate elements, described herein, may be less than or equal to a multiplication of the first quantity of the first candidate elements and the second quantity of the second candidate elements. The initial length parameter, described herein, may be equal to a sum of the first length parameter and the second length parameter.

[0151] In some aspects, to perform the algorithmic splitting operation, the transmitter may identify, using a recursive comparisons, a largest integer (k1) such that the initial quantity is larger than or equal to a value based at least in part on the first quantity and the largest integer (e.g., the value may be a multiplication of the first quantity and 2 to a power of the largest integer) . For example, the transmitter may identify the largest integer such that the initial quantity is greater than or equal to Furthermore, after identifying the largest integer, the transmitter may generate the first index and the second index based at least in part on (e.g., using) the largest integer, and generate the second quantity based at least in part on (e.g., using) the largest integer (e.g., the second quantity may be based at least in part on 2 to the power of the largest integer) .

[0152] In some aspects, to obtain the initial quantity of the initial candidate elements and to obtain the initial index, described at reference number 715, the transmitter may obtain an original quantity of original candidate elements (M) and obtain an original index (x) that is a numeric representation of an original sequence of bits. The original quantity may have an original finite-precision data representation. The original index may be indicative of an original element of the original candidate elements. To obtain the original quantity of the original candidate elements prior to an initial iteration of the algorithmic splitting operation, the transmitter may identify an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter, receive a sequence of information bits of length equal to the input sequence length, and derive the original quantity of original candidate elements as 2 to a power of the input sequence length. To obtain the original quantity of the original candidate elements for an iteration after the initial iteration of the algorithmic splitting operation, the transmitter may assign a value of the second quantity of second candidate elements to a value of the original quantity of original candidate elements, thereby obtaining the original quantity of original candidate elements. To obtain the original index prior to an initial iteration of the  algorithmic splitting operation, the transmitter may identify an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter, receive a sequence of information bits of length equal to the input sequence length, and derive the original index as an unsigned integer representation of the sequence of information bits. To obtain the original index for an iteration after the initial iteration of the algorithmic splitting operation, the transmitter may assign a value of the second index to a value of the original index, thereby obtaining the original index. Additionally, the transmitter may derive the initial quantity of the initial candidate elements and the initial index based at least in part on (e.g., using) the original quantity of the original candidate elements and the original index.

[0153] To derive the initial quantity of the initial candidate elements and the initial index, the transmitter may obtain one or more original set property parameters. The transmitter may identify a cumulative probability distribution model based at least in part on (e.g., using) one or more first set property parameters that partition (in effect) the set of original candidate elements into one or more subsets of the original candidate elements that are mutually disjoint. Each of the one or more subsets may correspond to a respective value of the one or more first set property parameters. The one or more subsets may be ordered in accordance with a partial order imposed on the respective values of the one or more first set property parameters, over which the cumulative probability distribution model is defined. The transmitter may identify a value of the one or more first set property parameters based at least in part on (e.g., using) the original index, the original quantity, the partial order, and the cumulative probability distribution model. Accordingly, the transmitter may derive the initial quantity of the initial candidate elements and the initial index based at least in part on (e.g., using) the value of the one or more first set property parameters.

[0154] A first parameter of the one or more original set parameters may be an original length parameter (n) , and a second parameter of the one or more original set property parameters may be an original energy parameter (E) . A first parameter of the one or more first set property parameters may be a first length parameter (nsub) , and a second parameter of the one or more first set property parameters may be a first energy parameter (Esub) . The first length parameter may be equal, in value, to an integer multiple of a prime number (e.g., the first length parameter may be 16, 24, or 32) , or the first length parameter may be equal, in value, to a ceiling or a flooring of a fraction of the original length parameter. The fraction may be an inverse of a power of 2, such as one half.

[0155] The transmitter may compute the value of first energy parameter by selecting a mean parameter model (Gu) and a standard deviation parameter model (Gσ) based at least in part on  (e.g., using) the first length parameter, the original length parameter, and the original energy parameter. Furthermore, the transmitter may identify a value of the mean parameter model and a value of the standard deviation parameter model. In addition, the transmitter may identify a value of the first energy parameter. In some aspects, the transmitter may identify the value of the first energy parameter based at least in part on (e.g., using) the value of the mean parameter model and the value of the standard deviation parameter model. To identify the value of the mean parameter model and the value of the standard deviation parameter model, the transmitter may determine a ratio of the original energy parameter to the original length parameter (ω=E / n) . The transmitter may identify the value of the first energy parameter based at least in part on (e.g., using) a tabulation of the cumulative distribution model over a discrete set of points. Respective values of the discrete set of points may have the form of an integer multiplied by 2 to a power of a negative of a positive integer.

[0156] The transmitter may obtain the original length parameter by configuring the original length parameter as an input sequence length Alternatively, the transmitter may update the value of original length parameter as the original length parameter minus a previous value of the first length parameter. The transmitter may obtain the original energy parameter by configuring the original energy parameter as an input target energy Alternatively, the transmitter may update the value of the original energy parameter as a previous value of the original energy parameter minus a value of the first energy parameter plus the energy correction value (δE) .

[0157] In some aspects, the transmitter may perform a finite-precision inversion operation on the original length parameter, and identify a value of an inverse of the original length parameter based at least in part on the finite-precision inversion operation. The inverse of the original length parameter may have a finite-precision data representation. Furthermore, the transmitter may identify a value of a normalized energy parameter based at least in part on a multiplication of the original energy parameter and the value of the inverse of the original length parameter.

[0158] In some aspects, the transmitter may identify (e.g., after selecting the mean parameter model and the standard deviation parameter model) the value of the mean parameter model and the value of the standard deviation parameter model based at least in part on the original length parameter and the value of the normalized energy parameter. Furthermore, the transmitter may identify a value of an inverse standard deviation parameter based at least in part on the value of the standard deviation parameter model and the value of the normalized energy parameter.

[0159] Moreover, the transmitter may identify a value of the first energy parameter based at least in part on the original index, the original quantity of the original candidate elements, the mean parameter model, and the standard deviation parameter model. For example, to identify the value of the first energy parameter, the transmitter may perform one or more operations (e.g., arithmetic operations) to obtain an approximate value of a multiplication of the original  index and an inverse of the original quantity of the original candidate elements (e.g., xM-1) , and identify a value of a first candidate number based at least in part on the one or more operations, the mean parameter model, and the standard deviation model (e.g., an initial guess for Esub) . To identify the value of the first candidate number, the transmitter may obtain a first integer based at least in part on the one or more operations (e.g., identify using the approximation of xM-1) , and perform a first linear interpolation operation based at least in part on the first integer and using a first look-up table of the cumulative probability distribution model over a first discrete set of points (e.g., using a backward look-up table, as described herein) . Furthermore, to identify the value of the first energy parameter, the transmitter may identify a value of a first quantity parameter based at least in part on the first candidate number and the original quantity of the original candidate elements, and obtain a value of a second quantity parameter based at least in part on the first candidate number plus one, and the original quantity of the original candidate elements. To identify the value of the first quantity parameter, the transmitter may obtain a second integer based at least in part on the first candidate number, and perform a second linear interpolation operation based at least in part on the second integer and using a second look-up table of the cumulative probability distribution model over a second discrete set of points (e.g., using a forward look-up table, as described herein) . Furthermore, to identify the value of the first energy parameter, the transmitter may identify a value of the initial quantity of the initial candidate elements in accordance with a difference between the value of the second quantity parameter and the value of the first quantity parameter and identify a value of the initial index in accordance with a difference between the original index and the first quantity parameter

[0160] As shown by reference number 730, the transmitter may process the first index to generate the first element of the first candidate elements, and the second index to generate the second element of the second candidate elements. The transmitter may process the first index and the second index independently (e.g., independently and in parallel, or independently but at different times) . For example, “independently” may refer to processing the first index and the second index as separate encoding problems (e.g., solving one problem does not rely on solving the other problem) . The first element may include a first sequence having a length equal to the first length parameter. The first sequence may have an energy equal, in value, to the first energy parameter.

[0161] In some aspects, to process the first index to generate the first element, the transmitter may progressively encode the first index to the first element. To progressively encode the first index to the first element, the transmitter may perform a direct indexing operation with an initialization based at least in part on (e.g., using) the first index, a first length parameter, and a first energy parameter. For example, progressively encoding the first index to the first element  may be based at least in part on an application of the direct indexing operation. In some aspects, to process the second index to generate the second element, the transmitter may perform a rounding operation on a residual energy parameter, perform an energy selection operation to obtain a value of a second energy parameter, and progressively encode the second index to the second element. To progressively encode the second index to the second element, the transmitter may perform a direct indexing operation with an initialization based at least in part on the second index, a second length parameter, and the value of the second energy parameter.

[0162] As shown by reference number 735, the transmitter may transmit, and the receiver may receive, a signal based at least in part on (e.g., derived from) the first element and the second element. The transmitter may transmit the signal over a channel (e.g., a wireless channel) . In some aspects, the signal may be derived from a concatenation of the first element and the second element. For example, transmitting the concatenation of the first element and the second element may be equivalent to transmitting the initial element. In some aspects, the receiver may use the encoding and decoding parameters that were configured in connection with reference number 705 to perform decoding of the signal. For example, to decode the signal, the receiver may perform decoding operations that are the reverse of the encoding operations described herein. As an example, to decode the signal, the receiver may use an algorithmic combining operation that is the reverse of the algorithmic splitting operation described herein. In particular, the receiver may receive a signal associated with a concatenated element, de-concatenate the concatenated element to obtain a first element and a second element, decode the first element to a first index, and the second element to a second index, combine the first index and the second index to generate an initial index, and generate an original index based at least in part on the initial index. The original index may represent a numeric representation of an output sequence of bits of length equal to an output sequence length (k) . In some aspects, the receiver may obtain the output sequence length by identifying the output sequence length in accordance with a difference between an estimate value based at least in part on a quantity of elements satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter.

[0163] In this way, the transmitter may perform an encoding operation and the receiver may perform a decoding operation using low-complexity processing. By using the parallelization described herein, the encoding operation and the decoding operation may be performed with reduced processing latency.

[0164] As indicated above, Fig. 7A is provided as an example. Other examples may differ from what is described with respect to Fig. 7A.

[0165] Fig. 7B is a diagram of an example 750 associated with arithmetic coding with multistep splitting, in accordance with the present disclosure. In some aspects, the multistep splitting techniques described herein may be used in arithmetic coding and / or other indexing  scenarios. In particular, example 750 relates to encoding operations performed by the transmitter described in connection with Fig. 7A. The encoding operations may provide arithmetic coding using multistep splitting methods for energy shaping. The multistep splitting methods enable parallelized encoding and decoding operations, as well as efficient approximate modeling of transition probability kernels and online energy adjustment.

[0166] As described herein, a symbol alphabet atarget sequence length and a maximum target energy or target energy may be configured for the transmitter. Moreover, the transmitter may have information bits u1, u2, …, uk of length k that are available for encoding, where k satisfies and k can be the largest integer such that this inequality holds and is aligned between the transmitter and the receiver.  may represent an estimate (e.g., an approximation) of the logarithm of the number of sequences of length n and energy at most (or exactly) equal to may represent a parametrized function of length and energy as variables (e.g., a piecewise polynomial) , which ensures unique encodability and invertibility. The function can be simplified to be of the form such that the function only depends on length and is a piecewise constant or linear function of length. An initial index x may be an unsigned integer representation of the information bits u1, u2, …, uk and an initial number of sequences M=2k and x represents the information to be encoded.

[0167] For fixed-energy multistep splitting, a symbol alphabet atarget sequence length and a target energy may be configured for the transmitter. Moreover, the transmitter may have information bits u1, u2, …, uk of length k that are available for encoding, where the input sequence has a length k that satisfies the constraint and k may be the largest integer such that this inequality holds and is aligned between the transmitter and the receiver.  represents an estimate (e.g., an approximation) of the logarithm of the number of sequences of length n and energy exactly equal to represents a parametrized function of length and energy as variables (e.g., a piecewise polynomial) , which ensures unique encodability and invertibility. The function can be simplified to be of the form  such that the function only depends on length and is a piecewise constant function of length. The encoding process may use an original index x, which is an unsigned integer representation of the information bits u1, u2, …, uk, and may use an original number of sequences M=2k, where x represents the information to be encoded.

[0168] As shown by reference number 755, a step of the arithmetic coding with multistep splitting may begin with the transmitter (e.g., the encoder) obtaining values for the parameters (x, M; n, E) . For example, the transmitter may obtain an original index (x) and an original quantity of original candidate elements (M) , as described in connection with Fig. 7A. In some aspects, x and M may be respectively initialized to:  and M=2k. In some aspects, n may be initialized to and E may be initialized to The transmitter (e.g., the  encoder) may obtain a sequence length n and a maximum sequence energy E. The sequence length n may be a multiple of a small integer, such as 2 or 16. The sequence length n may be smaller than or equal to a maximum sequence length For example, n=16L for a positive integer L≤64 and The maximum sequence energy E may be nonnegative and no larger than a maximum target energy The maximum target energy may be a multiple of the sequence length n. In some aspects, the transmitter (e.g., the encoder) may determine an inverse of n (e.g., a multiplicative inverse of n) . For example, the transmitter may determine an FP-K number ninv that serves as an approximate inverse of n (i.e., 1 / n) . ninv may be based on an FP inverse operation, as described herein. In some aspects, the transmitter (e.g., the encoder) may determine a normalized energy parameter ω (e.g., an approximate E·1 / n) . For example, the transmitter may approximate a value of a normalized energy variable ω=E / n based on ninv and E. For example, the transmitter may perform a finite-precision multiplication of ninvand E (e.g., by an FP-K multiplication with nearest rounding operation) .

[0169] The transmitter (e.g., the encoder) may obtain an original number of sequences over an alphabet The original number of sequences may be denoted by M which may depend on n and E (M≡M (n, E) ) , where “original” refers to the number of sequences being for the current step of the multistep splitting. M may quantify a total number of candidate sequences (e.g., needed candidate sequences) over the alphabet each of which has length equal to n and an energy less than or equal to E (e.g., M stands for an approximation of Nc (n, E) ) . M may have a finite precision. For example, M may be an FP-KM number (e.g., an FP-8 number) for KM=8. The FP-KM number may be a product of a first number, having a binary expansion having length KM, and a second number, where the second number is equal to 2 to the power of a third number that is a positive integer (e.g., the FP-KM number may be of the form a2l and is an integer) .

[0170] The transmitter (e.g., the encoder) may obtain the original index x. The index x may be numeric and may represent a sequence of bits. The index x may represent a decimal number (e.g., an integer) representation of the sequence of bits. For example, the sequence of bits may be (1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1) to represent an integer part and (0, 0, 0, 0) to represent a decimal part, or the sequence of bits may be (1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0) . The obtaining of x may be a part of an energy shaping scheme (e.g., energy-based probabilistic shaping) . The original index x may satisfy 0≤x<M, that is, x may satisfy the property that xis nonnegative and is strictly smaller than the initial number of sequences.

[0171] The transmitter (e.g., the encoder) may choose a subsequence length nsub. The subsequence length nsub may be a multiple of the same small integer of the sequence length n, and nsub may also be smaller than or equal to the sequence length n. The subsequence length  nsub may be chosen a priori and may be fixed. For example, in some cases nsub may be equal to 16, 24, or 32.

[0172] In some aspects, the transmitter (e.g., the encoder) may compute a mean parameter Guand a standard deviation (e.g., variation) parameter Gσ. For example, the transmitter may identify a value of a mean parameter model and a value of a standard deviation parameter model, as described in connection with Fig. 7A. The transmitter may determine these parameters based on the alphabet  (or its alphabet size m) , the sequence length n, and the sequence energy E, and one or more pre-designed and parametrized smooth functions (e.g., that impose little storage burden) that are designed based on the fixed size nsub (i.e., a different configuration of nsub results in different models) . A mean parameter Gu value may be obtained by evaluating one of multiple (e.g., a limited number of) low-degree piecewise polynomials (e.g., splines) , with each polynomial corresponding to a respective range of values of n, and each polynomial may be a function of n and E (e.g., a function ω=E / n as a normalized energy variable) . A standard deviation parameter Gσ value may be obtained in a similar manner using a different set of polynomials. The polynomials may be pre-determined, and evaluation methods for the polynomials may be stored by the transmitter so that an online determination of Gu and Gσ can be made very efficient. The mean and standard deviation parameters (e.g., Gaussian mean and standard deviation parameters) may provide approximations of their “ideal counterparts” from the sequence fractions pAC (nsub, K|n, E) , as described below. In some aspects, Gu and Gσ have finite precision (e.g., Gu and Gσ may be FP-KM numbers) . In some aspects, the transmitter may determine Gu≡Gu (n, ω) by evaluating one or more polynomials of ω (e.g., Au (ω) and ninvBu (ω) ) . In some aspects, the transmitter may determine Gσ≡Gσ (n, ω) by evaluating one or more polynomials of ω (e.g., Aσ (ω) and ninvBσ (ω) ) .

[0173] In some implementations, the transmitter (e.g., the encoder) may compute an inverse standard deviation parameter The transmitter may determine the inverse standard deviation parameter based on the standard deviation parameter Gσ. That is, the inverse standard deviation parameter may serve as an inverse of Gσ. The inverse standard deviation parameter may be based on an FP inverse operation, as described herein.

[0174] Determination of a transition probability may use approximate Gaussian modeling. For subsequence energy selection, there may be a total amount of M candidate sequences of length n and energy at most E. The fraction of candidate sequences such that each respective candidate sequence has a prefix subsequence of length nsub and energy equal to K, denoted by pAC (nsub, K|n, E) , is given by:

[0175] Thus, these fractions partition the total amount M of candidate sequences, and x behaves as an index for identifying the relative rank of candidate subsequence energy values according to natural ordering.

[0176] Gaussian modeling may be used for the sequence fractions. For a wide range of sequence energy values of E, the above sequence fractions can be closely and efficiently approximated by a Gaussian-like probability distribution Φv and an approximation of Φv (e.g., Φv and / or the approximation of Φv may be a cumulative probability distribution model, as described in connection with Fig. 7A) . This allows for efficiently approximating the sequence fractions pAC. In some aspects, a truncated error function and approximate cumulative distribution for approximating pAC (nsub, K|n, E) may be used. For a standard-deviation scaling parameter v, the function Φv: [-λ, λ] → [0, 1] may be defined as: Φv (z) =0 if z<-v and Φv (z) =1 if z>v, and for z∈ [-v, v] , Φv may be defined as:

[0177] For example, the standard-deviation scaling parameter v=2.1, or another value such as 2, 2.05, 2.15, etc. In addition, Φv may be an increasing function and may also have alternative forms. In terms of one or more functions, such as the Q-function and the error function erf, Φv may be respectively written as:

[0178] In another example, Φv may capture skewed distributions and may be defined in terms of a kernel function ker. Additionally, the kernel function ker may be defined based on the error function erf and a numeric scaling parameter α:

[0179] For z∈ [-v, v] , Φv may be defined as:

[0180] In other words, Φv may be defined differently than the description herein.

[0181] As shown by reference number 760, the transmitter (e.g., the encoder) may determine a subsequence energy Esub (e.g., the transmitter may perform a prefix subsequence energy selection) . The transmitter (e.g., the encoder) may select Esub as the closest integer to  where denotes an inverse function of Φv. In other words, a determination of Esub may be based on the mean parameter Gu, the standard deviation parameter Gσ, the function Φv, x (e.g., the original index) , and M (e.g., the original quantity of original candidate elements) . Additionally, or alternatively, the transmitter may determine a range [E-, E+] , that is, two numbers E- and E+ as closed interval boundaries, where each integer in the range serves as a candidate value for Esub. The range [E-, E+] may include all integers K such that the interval [K-0.5, K+0.5] overlaps with the interval [Gu-vGσ, Gu+vGσ] .

[0182] The transmitter (e.g., the encoder) may choose the integer Esub (e.g., the first energy parameter) within the range [E-, E+] such that:

[0183] where denotes an approximate truncated error function (e.g., where is related to Φv, for example, as an approximation of Φv or the like) . In other words, Esub stands for the largest integer such that:

[0184] As described elsewhere herein, a fast implementation to select Esub may be used. Additionally, or alternatively, the range [E-, E+] may be simplified to only include integers within the interval [Gu-vGσ, Gu+vGσ] , and in this case, the above decision rule could alternatively take the form:

[0185] In some aspects, the transmitter (e.g., the encoder) may use a backward LUT, denoted by (which may depend on B, an integer such as B=8, and v, which may be the design parameter) , to tabulate (b, T (b) ) for all integers b∈ {0, 1, …, 2B-1} , where T (b) is defined as:

[0186] where may be the set of all integers, and may represent an approximate value of Φv (j2-B) as usual of For example,  may be an FP-KΦ number for some integer KΦ (e.g., KΦ=8) , and The transmitter (e.g., the encoder) may determine an integer  (e.g., a first candidate number) as an initial candidate of Esub. For example, the transmitter may determine the integer based on (e.g., approximately) evaluating  (i.e., as a closest integer to The transmitter may determine an integer  (e.g., a first integer) such that In some aspects, the transmitter may perform this determination efficiently by approximately evaluating xM-1 (e.g., with K-bit resolution, such as K=B=8) . For example, the transmitter  may first obtain an approximate inverse of M via an FP inverse operation (as described herein) , and then perform a finite-precision multiplication (e.g., an FP-K multiplication with nearest rounding) with a finite-precision approximation of x (e.g.,  ) . The result of the finite-precision multiplication may be an FP-K number denoted by zM. The transmitter may extract backward LUT entries that correspond to and to respectively obtain and The transmitter may perform a first linear interpolation between and to obtain an approximation of where the result may be an FP-K number denoted by φinv. The first linear interpolation (e.g., which is generally of the form a (b –c) + d (e –f ) ) may be based on:

[0187] where and either or The transmitter may perform a multiplication of φinv and Gσ (e.g., an FP-K multiplication) , perform additions with Gu and 1 / 2, and perform a rounding-down operation.

[0188] In some aspects, the transmitter (e.g., the encoder) may use a forward LUT, denoted by to tabulate for all integers j such that j2-B∈ (-v, v) . The transmitter may determine FP-KM numbers and For example, the transmitter may determine  based on (e.g., approximately) evaluating and the forward LUT The transmitter may perform a finite-precision multiplication of the inverse standard deviation parameter and the result of a finite-precision subtraction the result being an FP-K number denoted by zG. The transmitter may determine an integer  (e.g., a second integer) according to and therefore The transmitter may extract forward LUT entries that correspond to and to obtain and The transmitter may perform a second linear interpolation to obtain an approximation of where the result is an FP-K number denoted by φfwd. The second linear interpolation (e.g., which is generally of the form a (b –c) + d (e –f ) ) may be based on:

[0189] where and are obtained from the LUT. The transmitter may perform a finite-precision multiplication of φfwd and M (e.g., an FP-KM multiplication) to obtain the FP-KM number  (e.g., a first quantity parameter) . The transmitter may perform similar arithmetic operations to obtain the FP-KM number  (e.g., a second quantity parameter) . In some aspects, the transmitter may perform an iterative adjustment to increase or decrease until holds. For example, if holds, then the transmitter sets Esub to be equal to If does not hold, then the transmitter may determine  (e.g., where a determination of or the like is similar, as for and  ) and check if or determine and check if and so forth. The value of Esub may be given by a value of  after adjustment and satisfying the constraints. Here, a first final FP-KM number may be denoted by and a second final FP-KM number may be denoted by so that holds. In other words, Esub may be determined based on the iterative adjustment.

[0190] In connection with use of a backward LUT, there may be non-uniform spacing of tabulated values. Due to rapid decay of Gaussian-like distributions, non-uniform spacing may increase implementation speed. For example,  values within the ranges [0, 1 / 8) , [1 / 8, 1 / 4) , [1 / 4, 3 / 4) , [3 / 4, 7 / 8) , and [7 / 8, 1) may correspond to spacings of 2-8, 2-7, 2-6, 2-7, and 2-8, respectively. Accordingly, the backward LUT may include for integers i=224, 225, …, 255;  for integers i=96, 97, …, 111; the backward LUT may include for integers i=16, 17, …, 47;  for integers i=16, 17, …, 31; and for integers i=0, 1, …, 31.

[0191] In some aspects, the transmitter (e.g., the encoder) may determine an initial (updated) index x′ (e.g., an update of the index from x to x′) . For example, the transmitter may obtain an initial index, as described in connection with Fig. 7A. The transmitter may determine the initial index x′ based on the following:

[0192] Because  (e.g., as an FP-KM number) is of limited bit-resolution, the subtraction above may involve a limited number of bit operations that depends on the bit width KM.

[0193] Similarly, the transmitter (e.g., the encoder) may determine an initial (updated) number of sequences M′ over  (e.g., an update of the amount of candidate sequences from M to M′) . For example, the transmitter may obtain an initial quantity of initial candidate elements, as described in connection with Fig. 7A. The transmitter may determine the initial number of sequences M′ over based on the following:

[0194] The subtraction may be a finite-precision subtraction (e.g., an FP-KM subtraction with upward rounding or an FP-KM′ subtraction with upward rounding, as described herein, for example, KM′=10 or KM′=8) . The subtraction above may involve only a limited number of bit operations, since both terms of the equation can be made of finite precision and each of the terms is an FP-KM number for some positive integer KM (e.g., KM=8) , as described in connection with Fig. 7A. Additionally, the initial index x′ is smaller than or equal to a  difference between  (e.g., the second quantity parameter) and  (e.g., the first quantity parameter) . That is, x′ satisfies that and x′ is non-negative.

[0195] As shown by reference number 765, the transmitter (e.g., the encoder) may perform an algorithmic splitting operation on the initial index (x′) , in accordance with the subsequence length nsub (e.g., a first length parameter, as described herein) and the subsequence energy Esub(e.g., a first energy parameter, as described herein) . For example, the transmitter may perform an algorithmic splitting operation on the initial index, as described in connection with Fig. 7A. The transmitter (e.g., the encoder) may determine a first number of candidate sequences N1 (e.g., a first quantity of first candidate elements, as described herein) , which represents a total number of candidate sequences of length nsub and energy equal to the selected Esub needed for one subsequent encoding. N1 may be a tabulated approximate value of N (nsub, Esub) , and the determination of N1 may use a look-up table, as described herein. N1 may have a finite precision and may be represented as an FP-KM number of some positive integer KM (e.g., KM=8) . The finite precision number format for N1 may have properties that enable unique encoding and invertibility through a direct indexing method, as described herein. A tabulation for energy-based cardinalities N may cover all integers n up to nsub (e.g., nsub=16, 24, or 32, etc. ) , and for each n, the tabulation may cover all integers E up to ωm for some fixed ωm depending on the alphabet (e.g., for m=8, ωm=15, that is, for ASK-16, or QAM-256 modulation) . The tabulation may store all N (n, E) using the finite-precision number format (e.g., FP-KM numbers) for all such n and E values.

[0196] In some aspects, the transmitter (e.g., the encoder) may use a post-subsequence energy-adjustment parameter δE (e.g., which may depend on (n, ω) , for example, δE ≡ δE (n, ω) ) . For example, the transmitter may adjust the remaining energy E-Esub by adding to the remaining energy a positive quantity δE (i.e., the remaining energy is adjusted to E-Esub+δE) . Here, the δE quantity (e.g., a small fixed value) adjusts the post-selection energy to produce a smaller approximation loss. δE may depend on current values, for a current step of the multistep splitting, of n and E. For example, δE=0.5 for E≤nω* and δE=0 otherwise, in which ω* is a design parameter fixed a priori (e.g., ω*=3 for m=8, that is, for ASK-16, or QAM-256 modulation) .

[0197] The transmitter (e.g., the encoder) may determine (e.g., concurrently) a number of candidate sequences N2 (e.g., a second quantity of second candidate elements, as described herein) and use index splitting to obtain a subsequence prefix index z1 and a subsequence postfix index z2. N2 represents a total number of candidate sequences of length equal to n-nsub and energy at most equal to E-Esub+δE that are needed for the other subsequent encoding (e.g., recurrent to a next step that repeats the current step described herein, if the current step is not the last step) . N2 may be an approximate value of Nc (n-nsub, E-Esub+ δE) . Accordingly, for the current step, the transmitter (e.g., the encoder) may determine an FP-KM number N2, and may concurrently (e.g., simultaneously) split the initial index x′ to an index z1 (e.g., a first index, as described herein) and an index z2 (e.g., a second index, as described herein) .

[0198] In particular, the transmitter (e.g., the encoder) may extract the index z1 and the index z2 from x′ and may compute N2. The initial index x′ may satisfy 0≤x′<M′ and M′≥N1. Thus, stated one way, the transmitter may determine N2 as the smallest FP-KM number such that N1N2≥M′. In some aspects, the transmitter (e.g., the encoder) may initialize parameters and i=1. The transmitter may perform several operations. In an initial operation, the transmitter may identify an integer k1 such that  (i.e., k1 is the largest integer such that ) . If then N2 is determined and is set to  (i.e.,  ) by the transmitter. Furthermore, under the same condition is given by the lower k1 bits of a binary expansion of x′ (e.g., an unsigned integer representation) , and z1is given by the remaining higher-order bits of the binary expansion of x′. The transmitter may terminate an N2 generation (e.g., because N2 is determined by the transmitter) and may terminate an index splitting process (e.g., because z1 and z2 are both determined by the transmitter) . Otherwise (i.e.,  ) , there are three possible mutually exclusive cases, and the transmitter may perform a respective operation for each case. For a first case, if then in a first operation, the transmitter may generate while z2 is given (e.g., generated) by the lower k1+1 bits of a binary expansion of x′, and z1 is given by the remaining higher-order bits of the binary expansion of x′. Furthermore, the transmitter may terminate the N2 determination that is concurrent with the index splitting process (e.g., because N2 is determined by the transmitter) and may terminate the index splitting process (e.g., because z1 and z2 are determined by the transmitter) . For a second case, if then in a second operation, the transmitter may set Then the transmitter may terminate the N2 determination that is concurrent with the index splitting process (e.g., because N2 is determined by the transmitter) . The transmitter may continue with the index splitting process to determine z1 and z2 as follows. For each i∈ {2, …, KM} , the transmitter may define ki=k1-i+1, and then may recursively perform the following steps starting from i=1 until i=KM (e.g., each of the steps are performed for each iteration) . In a first step, if then z2 is given by the lower ki bits of a binary expansion of x′, and z1 is given by the remaining higher-order bits of the binary expansion of x′. The transmitter may terminate the index splitting process with no further steps. In a second step, x′ is updated to In a third step,  is updated to In a fourth step, i is updated to i+1. Otherwise (i.e.,  ) , in a third operation, the transmitter (e.g., the encoder) may update M′ to update to  (e.g.,  increase by ) , and increase i by 1 (e.g., update i to i+1) . The transmitter may initialize a Boolean parameter TF=1. While the Boolean parameter TF=1, the transmitter may recursively perform the following in the third operation. The transmitter may identify an integer ki such that the condition holds. If the integer ki satisfies that ki≤k1-KM, then the transmitter may set the Boolean parameter TF to 0, update to  (e.g., increase by ) , and set Then the transmitter may terminate the N2 determination, and then terminate the third operation. Otherwise (e.g., ki>k1-KM) , in a first step of the third operation, if and the index splitting process has not been terminated, then z2 is given by the lower ki bits of a binary expansion of x′, and z1 is given by the remaining higher-order bits of the binary expansion of x′. The transmitter may then terminate the index splitting process (e.g., because z1 and z2 are determined by the transmitter) . Else if then the transmitter may update x′ to In a second step of the third operation, the transmitter may update to  (e.g., increase by ) , update M′ to  (e.g., decrease M′ by ) , and increase i by 1. The third operation may be represented by the following pseudocode:

[0199] In one example, the transmitter (e.g., the encoder) may determine N2 with a finite-precision data representation. The determination of N2 may be either as described herein, or as  where is an inverse of N1 (e.g., which may be determined based on an FP  inversion operation, described herein, on N1, and a finite-precision multiplication with M′, for example, an FP-KM multiplication with upward rounding) . Additionally, or alternatively, N2may be written as a sum where k1, k2, …, kd are integers such that k1>...>kd>k1-KM, and d is a positive integer at most equal to KM. In other words, N2 may be written as:

[0200] Additionally, the transmitter (e.g., the encoder) may determine a unique integer j such that: N1N2 [j-1] ≤x′<N1N2 [j]

[0201] Here, N2 [0] =0, and denotes a partial sum for j∈ {1, 2, …, d} . Additionally, the transmitter (e.g., the encoder) may determine the index z1, in effect, as:

[0202] In other words, all higher-order bits (kj and above) of a binary expansion of x′-N1N2 [j-1] may determine z1. In addition, the transmitter (e.g., the encoder) may determine the index z2, in effect, as:

[0203] This may be equivalent to setting bits, of a binary expansion of x′-N1N2 [j-1] higher than or equal to kj, to 0. A binary expansion of N2 [j-1] may prepend to such that the further addition with N2 [j-1] is equivalent to bit vector concatenation.

[0204] In this way, the transmitter (e.g., the encoder) begins with an original (x, M; n, E) encoding problem, in which the transmitter knows the index x and is trying to find a sequence s to which the index x corresponds, where the sequence s satisfies the properties of having a length n and an energy at most E, and where a total amount of candidate sequences needed is M. As described herein, to solve the (x, M; n, E) encoding problem, the transmitter may derive two encoding subproblems that the transmitter may solve in parallel. A (z1, N1; nsub, Esub) split-off encoding problem may be a first encoding subproblem. In the (z1, N1; nsub, Esub) encoding problem, the transmitter may try to find a subsequence s1 (e.g., where a subsequence corresponds to a part of a sequence that is to be formed) to which the index z1 corresponds (i.e., the transmitter encodes z1 to s1) , where the subsequence s1 satisfies the properties of having a length nsub and an energy exactly equal to Esub, and where a total amount of needed candidate sequences is N1 with the index z1 satisfying 0≤z1<N1. A (z2, N2; n-nsub, E-Esub+δE) split-off encoding problem may be a second encoding subproblem. In the (z2, N2; n-nsub, E-Esub+δE) encoding problem, the transmitter may try to find a subsequence s2 to which the index z2 corresponds (i.e., the transmitter encodes z2 to s2) , where the subsequence s2 satisfies the properties of having a length n-nsub and an energy at most E-Esub+δE, and  where the total amount of needed candidate sequences is N2 with the index z2 satisfying 0≤z2<N2.

[0205] As shown by reference number 770, the transmitter (e.g., the encoder) may perform a direct indexing operation (e.g., in accordance with N) . For example, the transmitter may encode the index z1 to the subsequence s1. As an example, the transmitter may process a first index to generate a first element of the first candidate elements, as described in connection with Fig. 7A. As described herein, the subsequence s1 may have a length equal to nsub and an energy equal to the selected Esub. The determination of s1 may be based on the direct indexing operation. The transmitter may perform the direct indexing operation based on initializations and and may use a total of nsub iterations, with each iteration determining a proceeding element of s1 and where performing the iterations is inductive from the first iteration (e.g., the transmitter may progressively encode the first index to the first element, as described in connection with Fig. 7A) . For each ongoing current iteration, the transmitter determines an integer i∈ {1, 2, …, m} such that:

[0206] where the summations can be taken as a finite-precision arithmetic using one or more finite-precision addition operations (e.g., one or more FP-KT addition with downward rounding operations, as described herein) . Next, the transmitter may select ai from the alphabet as the proceeding element of s1 for the current iteration. The transmitter may then update and respectively, according to the following:

[0207] where  is set to  and is set to The direct indexing operation may then proceed to the next iteration and iterate accordingly, until reaches 0, at which point the transmitter may terminate the direct indexing operation. As used herein, an update to a parameter may refer to an update to a value of that parameter. The direct indexing operation may be represented by the following pseudocode:

[0208] In some aspects, addition operations in this pseudocode may use finite-precision addition operations, as described herein.

[0209] The direct indexing operation may involve tabulation of energy-based cardinalities with finite precision. The direct indexing operation may use an exact or approximate and for all in which nsub is small (e.g., nsub=16, 24, or 32, etc. ) , and max {E (ai) } with the maximum taken over the alphabet symbols or for some ωmsmaller than the maximum symbol energy. These quantities may be pre-determined and tabulated, and may be stored by the transmitter for efficient indexing (e.g., because nsub is small, such tabulation has a small storage complexity) . Tabulated approximate values of  and may be denoted by and respectively. These values may be of finite precision and may, for example, be FP-KT numbers of some positive integer KT (e.g., KT=12 or 8) . As an example, the values that may be tabulated are the a and l in the expression a2l. In some aspects, the direct indexing may have properties for unique and invertible encoding. For example, for generic  and max {E (ai) } , there may be the following conditions on the tabulated values:

[0210] In some examples of the tabulation,  may be initialized as for all For  increasing from 2 to nsub, and each between 0 and may be recursively defined by defining the partial sums:  and for j increasing from 1 to m, with an increment step size 1:

[0211] where π stands for a permutation on {1, 2, …, m} , which is specified and applied by the direct indexing operation. For example, π (j) =j for each j, or π (j) =m+1-j for each j.  may be set to be equal to In some aspects, the nsub above may be interpreted as a maximum of its various configurations (e.g., 24 for {12, 16, 24} , 32 for {16, 24, 32} , etc. ) .

[0212] A step (e.g., an iteration) of the multistep splitting may be part of an energy shaping scheme. As an example, an arithmetic coding with multistep splitting scheme may use the step of the multiple splitting described herein, and the energy shaping scheme may iteratively apply the step. As shown, the iterations may continue until a last subsequence is reached. For example, Fig. 7B shows a feedback loop, whereby steps of the multistep splitting are performed recursively by updating the parameters, described at reference number 755, as shown (e.g., x is updated to z2, M is updated to N2, n is updated to n-nsub, and E is updated to E-Esub+δE) . As an example, the transmitter may assign a value of the second index to a value of the original index to obtain another original index, assign a value of the second quantity of the second candidate elements to a value of the original quantity of the original candidate elements to obtain another original quantity of the original candidate elements, update a value of the original length parameter as the original length parameter minus a previous value of a first length parameter, and / or update a value of the original energy parameter as a previous value of the original energy parameter minus a previous value of a first energy parameter plus an energy correction value, as described in connection with Fig. 7A. The multistep splitting may use a bounded energy and a fixed-size splitting, as shown in Fig. 7C. However, other splitting schemes may be used, as described herein. The last subsequence may correspond to the determination of a split. Each direct indexing, other than the last direct indexing, may be based on N quantities, whereas the last direct indexing may be based on Nc quantities.

[0213] A direct indexing operation (e.g., for a bounded energy case) for a last subsequence may be based on Nc (e.g., a quantity of sequences of length n and energy less than or equal to a residual energy) . In some aspects, the transmitter (e.g., the encoder) may encode the index z2 to a last subsequence denoted by sT. For example, the transmitter may process a second index to generate a second element of the second candidate elements, as described in connection with Fig. 7A. The subsequence sT may have a length equal to n-nsub and an energy at most E-Esub+δE (e.g., a value of the residual energy) . The transmitter may determine sT using a direct indexing operation. The direct indexing operation may use the initializations and and the transmitter may perform the direct indexing operation using a total to nsub iterations with each iteration determining a proceeding element of sT and where performing the iterations is inductive from the first iteration. For each ongoing current iteration, the direct indexing operation seeks an integer i∈ {1, 2, …, m} such that:

[0214] Next, the transmitter may select ai from the alphabet as the proceeding element of sT for the current iteration. The transmitter may then update and respectively, according to the following:

[0215] where is set to and is set to The direct indexing operation may then proceed to the next iteration.

[0216] In some aspects, an alternative direct indexing operation for a last subsequence may be utilized. The alternative direct indexing operation may include a first stage of energy selection (e.g., such that a tabulation of Nc can be omitted) . At initialization, the first stage takes as input and The first stage may apply an upward rounding on for example,  For example, a value of may be updated to the smallest integer above and the first stage may proceed according to the following pseudocode:

[0217] Thereafter, direct indexing may be performed as described above, with the selected ε being an initial value of In some aspects, addition operations in this pseudocode may use finite-precision addition operations, as described herein.

[0218] An encoding process may result in an output. For example, in the encoding process, the transmitter may interpret the information bits u1, u2, …, uk as the integer-valued index x, and then encode the index x to a sequence over according to the general encoding scheme described herein. The transmitter (e.g., the encoder) may form the sequence  by concatenating all subsequences at the outputs of the direct indexing operations as follows:

[0219] where s (1) is a subsequence of length nsub and energy Esub (1) , s (2) is a subsequence of length nsub and energy Esub (2) , and so forth, and s (T) is a subsequence of length nsub and energy at most Esub (T) . The total number T of subsequences is in accordance with the ratio In some examples, the last subsequence may have a length shorter than the fixed size nsub.  may represent an energy-constrained sequence.

[0220] An initial n value,  may dictate the fixed split size nsub, which in turn dictates the associated mean and standard deviation models Gu and Gσ, respectively (e.g., for a bounded energy and fixed-size splitting scheme) . An initial E value,  may indicate a maximum target  energy. For example, if for (x, M; n, E) n<25, then the transmitter may use one or more look-up tables (storing quantities Nc) , or the alternative direct indexing operation, to encode by the direct indexing method (e.g., using the direct indexing for a last subsequence described herein, with the initializations and ) . As another example, if for (x, M; n, E) 25≤n<48, then the transmitter may configure nsub=12, configure the mean and standard deviation models Gu and Gσ, respectively, based on the selected nsub, and perform the multistep splitting described herein. As a further example, if for (x, M; n, E) n≥48, then the transmitter may configure nsub=24, configure the mean and standard deviation models Gu and Gσ, respectively, based on the selected nsub, and perform the multistep splitting described herein.

[0221] In some aspects, the multistep splitting described herein may be in accordance with a bounded energy. That is,  stands for a maximum target energy and any output sequence is constrained to having energy not exceeding (i.e., bounded by) the maximum target energy In some aspects, the multistep splitting described herein may be in accordance with a fixed energy. For example, instead of constraining an energy upper bound, the energy of any output sequence may be required to be exactly equal to a target energy, also denoted by In the fixed energy case, the last subsequence encoding may be in accordance with N cardinalities (e.g., instead of Nc cardinalities as in the bounded energy case) . The mean and standard deviation models, as well as the approximate for the fixed energy case may be different from those used for the bounded energy case, but the mean and standard deviation models, as well as the approximate  may be applied in the fixed energy case in a similar manner as described herein for the bounded energy case.

[0222] In some aspects, the multistep splitting described herein may use even splitting (e.g., half-size splitting) . In some other aspects, the multistep splitting described herein may use uneven splitting (e.g., fixed-size splitting) . In some aspects, a split size nsub may not be fixed (e.g., uneven split of size 16) , such as a half splitting with nsub=n / 2 (e.g., a ceiling or a floor of n / 2) . The mean and standard deviation models, as well as the approximate for an even splitting case may be different from those used for an uneven splitting case.

[0223] As indicated above, Fig. 7B is provided as an example. Other examples may differ from what is described with respect to Fig. 7B.

[0224] Fig. 7C is a diagram of an example 780 associated with encoding using uneven splitting, in accordance with the present disclosure. In particular, example 780 includes encoding tree structures relating to an example encoding architecture with uneven splitting (e.g., a non-half split size) . In example 780, a circle represents a starting sequence for an iteration, and a square represents an encoded subsequence for the iteration. Each subsequence, other than a last subsequence, may have a subsequence energy Esub, which may be different for each iteration (e.g., subsequences may have different energies) . The last subsequence (shown with  shading) may have an energy at most E-Esub+δE, in a bounded energy case, or a fixed subsequence energy (e.g., an integer) in a fixed energy case. Reference number 782 shows encoding iterations using multistep splitting with and nsub=16 (e.g., an uneven, but fixed sized split of 16) . Reference number 784 shows encoding iterations using multistep splitting with and nsub=32 (e.g., an uneven, but fixed sized split of 32) .

[0225] As indicated above, Fig. 7C is provided as an example. Other examples may differ from what is described with respect to Fig. 7C.

[0226] Fig. 7D is a diagram of an example 790 associated with encoding using even or uneven splitting followed by uneven splitting, in accordance with the present disclosure. In particular, example 790 includes encoding tree structures relating to an example encoding architecture with even splitting (e.g., a halved split size) or uneven splitting (e.g., a non-half split size) followed by uneven splitting. Reference number 792 shows encoding iterations with an uneven, fixed size split of 256, resulting in leaf nodes representing sequences with a size of 256. Reference number 794 shows encoding iterations with an even (e.g., halved) , non-fixed size, resulting in leaf nodes representing sequences with a size of 256. For example, at a first tier of the tree, the split size is 512 (half of 1024) , and at a second tier of the tree, the split size is 256 (half of 512) . As an example, the split size may be where the split size depends on n. For each branching (e.g., 1024 branching to 256 and 768 in connection with reference number 792, or 1024 branching to 512 and 512 in connection with reference number 794) , energy selection or determination operations followed by index splitting operations may be performed, in a similar manner as described in connection with reference numbers 760 and 765 of Fig. 7B. Moreover, each resulting leaf node (e.g., of size 256) may be followed by other shaping methods. For example, as shown by reference number 796, each resulting leaf node (e.g., of size 256) may be used as a root node for encoding iterations using multistep splitting with an uneven split size, as described in connection with Fig. 7C.

[0227] In some aspects, a bounded energy case or a fixed energy case may use a timing of performing a fixed-size split or a half-size split. The timing may be based at least in part on a threshold value n* (e.g., a threshold on input sequence length ) , such as 512. For example, if  then fixed size splitting with a small nsub may be used. Otherwise, if then one or more half splits or one or more fixed splits may be performed with a large nsub, where the number of splits depends on

[0228] As indicated above, Fig. 7D is provided as an example. Other examples may differ from what is described with respect to Fig. 7D.

[0229] Fig. 8 is a diagram illustrating an example process 800 performed, for example, at a transmitter or an apparatus of a transmitter, in accordance with the present disclosure. Example process 800 is an example where the apparatus or the transmitter (e.g., UE 120 or network node  110) performs operations associated with arithmetic coding and / or other indexing with multistep splitting.

[0230] As shown in Fig. 8, in some aspects, process 800 may include obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits (block 810) . For example, the transmitter (e.g., using communication manager 906, depicted in Fig. 9) may obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, as described above. In some aspects, the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements.

[0231] As further shown in Fig. 8, in some aspects, process 800 may include identifying a first quantity of first candidate elements (block 820) . For example, the transmitter (e.g., using communication manager 906, depicted in Fig. 9) may identify a first quantity of first candidate elements, as described above. In some aspects, the first quantity has a first finite-precision data representation.

[0232] As further shown in Fig. 8, in some aspects, process 800 may include performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements (block 830) . For example, the transmitter (e.g., using communication manager 906, depicted in Fig. 9) may perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, as described above. In some aspects, the second quantity has a second finite-precision data representation.

[0233] As further shown in Fig. 8, in some aspects, process 800 may include processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements (block 840) . For example, the transmitter (e.g., using communication manager 906, depicted in Fig. 9) may process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements, as described above.

[0234] As further shown in Fig. 8, in some aspects, process 800 may include transmitting, to a receiver, a signal based at least in part on the first element and the second element (block 850) . For example, the transmitter (e.g., using transmission component 904 and / or communication manager 906, depicted in Fig. 9, depicted in Fig. 9) may transmit, to a receiver, a signal based at least in part on the first element and the second element, as described above.

[0235] Process 800 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in connection with one or more other processes described elsewhere herein.

[0236] In a first aspect, performing the algorithmic splitting operation includes identifying, using recursive comparisons, a largest integer such that the initial quantity is larger than or equal to a value based at least in part on the first quantity and the largest integer, generating the first index and the second index based at least in part on the largest integer, and generating the second quantity based at least in part on the largest integer.

[0237] In a second aspect, alone or in combination with the first aspect, processing the first index and the second index includes processing the first index and the second index independently.

[0238] In a third aspect, alone or in combination with one or more of the first and second aspects, process 800 includes concatenating the first element and the second element to derive the signal.

[0239] In a fourth aspect, alone or in combination with one or more of the first through third aspects, processing the first index to generate the first element includes progressively encoding the first index to the first element.

[0240] In a fifth aspect, alone or in combination with one or more of the first through fourth aspects, progressively encoding the first index to the first element includes performing a direct indexing operation with an initialization based at least in part on the first index, a first length parameter, and a first energy parameter.

[0241] In a sixth aspect, alone or in combination with one or more of the first through fifth aspects, at least one of: the numeric representation of the initial sequence of bits is an unsigned integer representation of the initial sequence of bits, the initial index is nonnegative and is less than the initial quantity, the first index is nonnegative and is less than the first quantity, the second index is nonnegative and is less than the second quantity, or the initial quantity is less than or equal to a multiplication of the first quantity and the second quantity.

[0242] In a seventh aspect, alone or in combination with one or more of the first through sixth aspects, K is an integer multiple of a prime number and at least one of: the initial finite-precision data representation is an initial finite-precision-K number that is equal to a multiplication of an initial number, having a binary expansion having length K, and 2 to a power of an initial integer, the first finite-precision data representation is a first finite-precision-K number that is equal to a multiplication of a first number, having a binary expansion having length K, and 2 to a power of a first integer, or the second finite-precision data representation is a second finite-precision-K number that is equal to a multiplication of a second number, having a binary expansion having length K, and 2 to a power of a second integer.

[0243] In an eighth aspect, alone or in combination with one or more of the first through seventh aspects, the initial candidate elements are mutually distinct, the first candidate elements are mutually distinct, or the second candidate elements are mutually distinct, and each element  of the initial candidate elements, of the first candidate elements, or of the second candidate elements includes a respective sequence that is a respective ordered set of entries from an alphabet of symbols.

[0244] In a ninth aspect, alone or in combination with one or more of the first through eighth aspects, the alphabet of symbols satisfies at least one of: the alphabet of symbols has a finite cardinality, the alphabet of symbols is associated with an alphabetical ordering, symbols of the alphabet of symbols are mutually distinct, or each symbol of the alphabet of symbols is a numeric value.

[0245] In a tenth aspect, alone or in combination with one or more of the first through ninth aspects, each sequence that corresponds to a respective element of the initial candidate elements, of the first candidate elements, or of the second candidate elements has a respective length equal to an initial length parameter, a first length parameter, or a second length parameter, respectively, the initial length parameter is equal to a sum of the first length parameter and the second length parameter, the first element includes a first sequence having a length equal to the first length parameter, and the first length parameter is an integer multiple of a prime number, or the first length parameter is a ceiling or a flooring of a fraction of the initial length parameter that is an inverse of a power of 2.

[0246] In an eleventh aspect, alone or in combination with one or more of the first through tenth aspects, each sequence that corresponds to a respective element of the initial candidate elements has a respective energy equal to or less than an initial energy parameter, each sequence that corresponds to a respective element of the first candidate elements has a respective energy equal to a first energy parameter, and the first element includes a first sequence having an energy equal, in value, to the first energy parameter, and each sequence that corresponds to a respective element of the second candidate elements has a respective energy equal to or less than a second energy parameter.

[0247] In a twelfth aspect, alone or in combination with one or more of the first through eleventh aspects, obtaining the initial quantity of the initial candidate elements, and the initial index includes obtaining an original quantity of original candidate elements, where the original quantity has an original finite-precision data representation, obtaining an original index that is a numeric representation of an original sequence of bits, where the original index is indicative of an original element of the original candidate elements, and deriving the initial quantity of the initial candidate elements and the initial index based at least in part on the original quantity of the original candidate elements and the original index.

[0248] In a thirteenth aspect, alone or in combination with one or more of the first through twelfth aspects, obtaining the original index prior to an initial iteration of the algorithmic splitting operation includes identifying an input sequence length in accordance with a difference  between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter, receiving a sequence of information bits of length equal to the input sequence length, and deriving the original index as an unsigned integer representation of the sequence of information bits, and obtaining the original index for an iteration after the initial iteration of the algorithmic splitting operation includes assigning a value of the second index to a value of the original index to obtain the original index.

[0249] In a fourteenth aspect, alone or in combination with one or more of the first through thirteenth aspects, obtaining the original quantity of the original candidate elements prior to an initial iteration of the algorithmic splitting operation includes identifying an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter, receiving a sequence of information bits of length equal to the input sequence length, and deriving the original quantity of the original candidate elements as 2 to a power of the input sequence length, and obtaining the original quantity of the original candidate elements for an iteration after the initial iteration of the algorithmic splitting operation includes assigning a value of the second quantity of the second candidate elements to a value of the original quantity of the original candidate elements to obtain the original quantity of the original candidate elements.

[0250] In a fifteenth aspect, alone or in combination with one or more of the first through fourteenth aspects, deriving the initial quantity of the initial candidate elements and the initial index includes obtaining one or more original set property parameters, identifying a cumulative probability distribution model based at least in part on one or more first set property parameters that partition the set of original candidate elements into one or more subsets of the original candidate elements that are mutually disjoint, where each of the one or more subsets corresponds to a respective value of the one or more first set property parameters, and where the one or more subsets are ordered in accordance with a partial order imposed on the respective values of the one or more first set property parameters, over which the cumulative probability distribution model is defined, identifying a value of the one or more first set property parameters based at least in part on the original index, the original quantity, the partial order, and the cumulative probability distribution model, and deriving the initial quantity of the initial candidate elements and the initial index based at least in part on the value of the one or more first set property parameters.

[0251] In a sixteenth aspect, alone or in combination with one or more of the first through fifteenth aspects, the one or more original set property parameters include an original length parameter and an original energy parameter, where the one or more first set property parameters include a first length parameter and a first energy parameter, and where the first length  parameter is equal, in value, to an integer multiple of a prime number, or the first length parameter is equal, in value, to a ceiling or a flooring of a fraction of the original length parameter that is an inverse of a power of 2.

[0252] In a seventeenth aspect, alone or in combination with one or more of the first through sixteenth aspects, process 800 includes selecting a mean parameter model and a standard deviation parameter model based at least in part on the first length parameter, the original length parameter, and the original energy parameter, identifying a value of the mean parameter model and a value of the standard deviation parameter model based at least in part on the original length parameter and the value of the normalized energy parameter, and identifying a value of an inverse standard deviation parameter based at least in part on the value of the standard deviation parameter model and the value of the normalized energy parameter.

[0253] In an eighteenth aspect, alone or in combination with one or more of the first through seventeenth aspects, identifying the value of the mean parameter model and the value of the standard deviation parameter model includes identifying a ratio of the original energy parameter to the original length parameter.

[0254] In a nineteenth aspect, alone or in combination with one or more of the first through eighteenth aspects, process 800 includes identifying a value of the first energy parameter based at least in part on the original index, the original quantity of the original candidate elements, the mean parameter model, and the standard deviation parameter model.

[0255] In a twentieth aspect, alone or in combination with one or more of the first through nineteenth aspects, obtaining the one or more original set property parameters includes obtaining the original length parameter by configuring the original length parameter as an input sequence length, or updating a value of the original length parameter as the original length parameter minus a previous value of the first length parameter, and obtaining the original energy parameter by configuring the original energy parameter as an input target energy, or updating a value of the original energy parameter as a previous value of the original energy parameter minus a value of the first energy parameter plus an energy correction value.

[0256] In a twenty-first aspect, alone or in combination with one or more of the first through twentieth aspects, identifying the value of the first energy parameter includes performing one or more operations to obtain an approximate value of a multiplication of the original index and an inverse of the original quantity of the original candidate elements, and identifying a value of a first candidate number based at least in part on the one or more operations, the mean parameter model, and the standard deviation parameter model.

[0257] In a twenty-second aspect, alone or in combination with one or more of the first through twenty-first aspects, identifying the value of the first candidate number includes obtaining an integer based at least in part on the one or more operations, and performing a linear  interpolation operation based at least in part on the integer and using a look-up table of the cumulative probability distribution model over a discrete set of points.

[0258] In a twenty-third aspect, alone or in combination with one or more of the first through twenty-second aspects, identifying the value of the first energy parameter includes identifying a value of a first quantity parameter based at least in part on the first candidate number and the original quantity of the original candidate elements, and obtaining a value of a second quantity parameter based at least in part on the first candidate number plus one and the original quantity of the original candidate elements.

[0259] In a twenty-fourth aspect, alone or in combination with one or more of the first through twenty-third aspects, identifying the value of the first quantity parameter includes obtaining an integer based at least in art on the first candidate number, and performing a linear interpolation operation based at least in part on the integer and using a look-up table of the cumulative probability distribution model over a discrete set of points.

[0260] In a twenty-fifth aspect, alone or in combination with one or more of the first through twenty-fourth aspects, identifying the value of the first energy parameter includes identifying a value of the initial quantity of the initial candidate elements in accordance with a difference between the value of the second quantity parameter and the value of the first quantity parameter, and identifying a value of the initial index in accordance with a difference between the original index and the first quantity parameter.

[0261] In a twenty-sixth aspect, alone or in combination with one or more of the first through twenty-fifth aspects, processing the second index to generate the second element includes performing a rounding operation on a residual energy parameter, performing an energy selection operation to obtain a value of a second energy parameter, and progressively encoding the second index to the second element.

[0262] In a twenty-seventh aspect, alone or in combination with one or more of the first through twenty-sixth aspects progressively encoding the second index to the second element includes performing a direct indexing operation with an initialization based at least in part on the second index, a second length parameter, and the value of the second energy parameter.

[0263] Although Fig. 8 shows example blocks of process 800, in some aspects, process 800 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in Fig. 8. Additionally, or alternatively, two or more of the blocks of process 800 may be performed in parallel.

[0264] Fig. 9 is a diagram of an example apparatus 900 for wireless communication, in accordance with the present disclosure. The apparatus 900 may be a transmitter, or a transmitter may include the apparatus 900. In some aspects, the apparatus 900 includes a reception component 902, a transmission component 904, and / or a communication manager 906, which  may be in communication with one another (for example, via one or more buses and / or one or more other components) . In some aspects, the communication manager 906 is the communication manager 140 or the communication manager 150 described in connection with Fig. 1. As shown, the apparatus 900 may communicate with another apparatus 908, such as a UE or a network node (such as a CU, a DU, an RU, or a base station) , using the reception component 902 and the transmission component 904.

[0265] In some aspects, the apparatus 900 may be configured to perform one or more operations described herein in connection with Figs. 7A-7D. Additionally, or alternatively, the apparatus 900 may be configured to perform one or more processes described herein, such as process 800 of Fig. 8, or a combination thereof. In some aspects, the apparatus 900 and / or one or more components shown in Fig. 9 may include one or more components of the transmitter described in connection with Fig. 2. Additionally, or alternatively, one or more components shown in Fig. 9 may be implemented within one or more components described in connection with Fig. 2. Additionally, or alternatively, one or more components of the set of components may be implemented at least in part as software stored in one or more memories. For example, a component (or a portion of a component) may be implemented as instructions or code stored in a non-transitory computer-readable medium and executable by one or more controllers or one or more processors to perform the functions or operations of the component.

[0266] The reception component 902 may receive communications, such as reference signals, control information, data communications, or a combination thereof, from the apparatus 908. The reception component 902 may provide received communications to one or more other components of the apparatus 900. In some aspects, the reception component 902 may perform signal processing on the received communications (such as filtering, amplification, demodulation, analog-to-digital conversion, demultiplexing, deinterleaving, de-mapping, equalization, interference cancellation, or decoding, among other examples) , and may provide the processed signals to the one or more other components of the apparatus 900. In some aspects, the reception component 902 may include one or more antennas, one or more modems, one or more demodulators, one or more MIMO detectors, one or more receive processors, one or more controllers / processors, one or more memories, or a combination thereof, of the transmitter described in connection with Fig. 2.

[0267] The transmission component 904 may transmit communications, such as reference signals, control information, data communications, or a combination thereof, to the apparatus 908. In some aspects, one or more other components of the apparatus 900 may generate communications and may provide the generated communications to the transmission component 904 for transmission to the apparatus 908. In some aspects, the transmission component 904 may perform signal processing on the generated communications (such as filtering, amplification, modulation, digital-to-analog conversion, multiplexing, interleaving, mapping, or  encoding, among other examples) , and may transmit the processed signals to the apparatus 908. In some aspects, the transmission component 904 may include one or more antennas, one or more modems, one or more modulators, one or more transmit MIMO processors, one or more transmit processors, one or more controllers / processors, one or more memories, or a combination thereof, of the transmitter described in connection with Fig. 2. In some aspects, the transmission component 904 may be co-located with the reception component 902 in one or more transceivers.

[0268] The communication manager 906 may support operations of the reception component 902 and / or the transmission component 904. For example, the communication manager 906 may receive information associated with configuring reception of communications by the reception component 902 and / or transmission of communications by the transmission component 904. Additionally, or alternatively, the communication manager 906 may generate and / or provide control information to the reception component 902 and / or the transmission component 904 to control reception and / or transmission of communications.

[0269] The communication manager 906 may obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits. In some aspects, the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements. The communication manager 906 may identify a first quantity of first candidate elements. In some aspects, the first quantity has a first finite-precision data representation. The communication manager 906 may perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements. In some aspects, the second quantity has a second finite-precision data representation. The communication manager 906 may process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements. The transmission component 904 may transmit a signal based at least in part on the first element and the second element.

[0270] The communication manager 906 may concatenate the first element and the second element to derive the signal. The communication manager 906 may select a mean parameter model and a standard deviation parameter model based at least in part on a first length parameter, an original length parameter, and an original energy parameter. The communication manager 906 may identify a value of the mean parameter model and a value of the standard deviation parameter model. The communication manager 906 may identify a value of a first energy parameter based at least in part on the value of the mean parameter model and the value of the standard deviation parameter model.

[0271] The number and arrangement of components shown in Fig. 9 are provided as an example. In practice, there may be additional components, fewer components, different  components, or differently arranged components than those shown in Fig. 9. Furthermore, two or more components shown in Fig. 9 may be implemented within a single component, or a single component shown in Fig. 9 may be implemented as multiple, distributed components. Additionally, or alternatively, a set of (one or more) components shown in Fig. 9 may perform one or more functions described as being performed by another set of components shown in Fig. 9.

[0272] Fig. 10 is a diagram illustrating an example process 1000 performed, for example, at a receiver or an apparatus of a receiver, in accordance with the present disclosure. Example process 1000 is an example where the apparatus or the receiver (e.g., UE 120 or network node 110) performs operations associated with arithmetic coding and / or other indexing with multistep splitting.

[0273] As shown in Fig. 10, in some aspects, process 1000 may include receiving a signal associated with a concatenated element (block 1010) . For example, the receiver (e.g., using reception component 1102 and / or communication manager 1106, depicted in Fig. 11) may receive a signal associated with a concatenated element, as described above.

[0274] As further shown in Fig. 10, in some aspects, process 1000 may include de-concatenating the concatenated element to obtain a first element and a second element (block 1020) . For example, the receiver (e.g., using communication manager 1106, depicted in Fig. 11) may de-concatenate the concatenated element to obtain a first element and a second element, as described above.

[0275] As further shown in Fig. 10, in some aspects, process 1000 may include decoding the first element to a first index, and the second element to a second index (block 1030) . For example, the receiver (e.g., using communication manager 1106, depicted in Fig. 11) may decode the first element to a first index, and the second element to a second index, as described above.

[0276] As further shown in Fig. 10, in some aspects, process 1000 may include combining the first index and the second index to generate an initial index (block 1040) . For example, the receiver (e.g., using communication manager 1106, depicted in Fig. 11) may combine the first index and the second index to generate an initial index, as described above.

[0277] As further shown in Fig. 10, in some aspects, process 1000 may include generating an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length (block 1050) . For example, the receiver (e.g., using communication manager 1106, depicted in Fig. 11) may generate an original index based at least in part on the initial index, where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length, as described above.

[0278] Process 1000 may include additional aspects, such as any single aspect or any combination of aspects described below and / or in connection with one or more other processes described elsewhere herein.

[0279] In a first aspect, process 1000 includes obtaining the output sequence length by identifying the output sequence length in accordance with a difference between an estimate value based at least in part on a quantity of elements satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter.

[0280] Although Fig. 10 shows example blocks of process 1000, in some aspects, process 1000 may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in Fig. 10. Additionally, or alternatively, two or more of the blocks of process 1000 may be performed in parallel.

[0281] Fig. 11 is a diagram of an example apparatus 1100 for wireless communication, in accordance with the present disclosure. The apparatus 1100 may be a receiver, or a receiver may include the apparatus 1100. In some aspects, the apparatus 1100 includes a reception component 1102, a transmission component 1104, and / or a communication manager 1106, which may be in communication with one another (for example, via one or more buses and / or one or more other components) . In some aspects, the communication manager 1106 is the communication manager 140 or the communication manager 150 described in connection with Fig. 1. As shown, the apparatus 1100 may communicate with another apparatus 1108, such as a UE or a network node (such as a CU, a DU, an RU, or a base station) , using the reception component 1102 and the transmission component 1104.

[0282] In some aspects, the apparatus 1100 may be configured to perform one or more operations described herein in connection with Figs. 7A-7D. Additionally, or alternatively, the apparatus 1100 may be configured to perform one or more processes described herein, such as process 1000 of Fig. 10, or a combination thereof. In some aspects, the apparatus 1100 and / or one or more components shown in Fig. 11 may include one or more components of the receiver described in connection with Fig. 2. Additionally, or alternatively, one or more components shown in Fig. 11 may be implemented within one or more components described in connection with Fig. 2. Additionally, or alternatively, one or more components of the set of components may be implemented at least in part as software stored in one or more memories. For example, a component (or a portion of a component) may be implemented as instructions or code stored in a non-transitory computer-readable medium and executable by one or more controllers or one or more processors to perform the functions or operations of the component.

[0283] The reception component 1102 may receive communications, such as reference signals, control information, data communications, or a combination thereof, from the apparatus  1108. The reception component 1102 may provide received communications to one or more other components of the apparatus 1100. In some aspects, the reception component 1102 may perform signal processing on the received communications (such as filtering, amplification, demodulation, analog-to-digital conversion, demultiplexing, deinterleaving, de-mapping, equalization, interference cancellation, or decoding, among other examples) , and may provide the processed signals to the one or more other components of the apparatus 1100. In some aspects, the reception component 1102 may include one or more antennas, one or more modems, one or more demodulators, one or more MIMO detectors, one or more receive processors, one or more controllers / processors, one or more memories, or a combination thereof, of the receiver described in connection with Fig. 2.

[0284] The transmission component 1104 may transmit communications, such as reference signals, control information, data communications, or a combination thereof, to the apparatus 1108. In some aspects, one or more other components of the apparatus 1100 may generate communications and may provide the generated communications to the transmission component 1104 for transmission to the apparatus 1108. In some aspects, the transmission component 1104 may perform signal processing on the generated communications (such as filtering, amplification, modulation, digital-to-analog conversion, multiplexing, interleaving, mapping, or encoding, among other examples) , and may transmit the processed signals to the apparatus 1108. In some aspects, the transmission component 1104 may include one or more antennas, one or more modems, one or more modulators, one or more transmit MIMO processors, one or more transmit processors, one or more controllers / processors, one or more memories, or a combination thereof, of the receiver described in connection with Fig. 2. In some aspects, the transmission component 1104 may be co-located with the reception component 1102 in one or more transceivers.

[0285] The communication manager 1106 may support operations of the reception component 1102 and / or the transmission component 1104. For example, the communication manager 1106 may receive information associated with configuring reception of communications by the reception component 1102 and / or transmission of communications by the transmission component 1104. Additionally, or alternatively, the communication manager 1106 may generate and / or provide control information to the reception component 1102 and / or the transmission component 1104 to control reception and / or transmission of communications.

[0286] The reception component 1102 may receive a signal associated with a concatenated element. The communication manager 1106 may de-concatenate the concatenated element to obtain a first element and a second element. The communication manager 1106 may decode the first element to a first index, and the second element to a second index. The communication manager 1106 may combine the first index and the second index to generate an initial index. The communication manager 1106 may generate an original index based at least in part on the  initial index where the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.

[0287] The communication manager 106 may obtain the output sequence length by identifying the output sequence length in accordance with a difference between an estimate value based at least in part on a quantity of elements satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter.

[0288] The number and arrangement of components shown in Fig. 11 are provided as an example. In practice, there may be additional components, fewer components, different components, or differently arranged components than those shown in Fig. 11. Furthermore, two or more components shown in Fig. 11 may be implemented within a single component, or a single component shown in Fig. 11 may be implemented as multiple, distributed components. Additionally, or alternatively, a set of (one or more) components shown in Fig. 11 may perform one or more functions described as being performed by another set of components shown in Fig. 11.

[0289] The following provides an overview of some Aspects of the present disclosure:

[0290] Aspect 1: A method of communication performed by a transmitter, comprising: obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, wherein the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements; identifying a first quantity of first candidate elements, wherein the first quantity has a first finite-precision data representation; performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, wherein the second quantity has a second finite-precision data representation; processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; and transmitting, to a receiver, a signal based at least in part on the first element and the second element.

[0291] Aspect 2: The method of Aspect 1, wherein performing the algorithmic splitting operation comprises: identifying, using recursive comparisons, a largest integer such that the initial quantity is larger than or equal to a value based at least in part on the first quantity and the largest integer; generating the first index and the second index based at least in part on the largest integer; and generating the second quantity based at least in part on the largest integer.

[0292] Aspect 3: The method of any of Aspects 1-2, wherein processing the first index and the second index comprises: processing the first index and the second index independently.

[0293] Aspect 4: The method of any of Aspects 1-3, further comprising: concatenating the first element and the second element to derive the signal.

[0294] Aspect 5: The method of any of Aspects 1-4, wherein processing the first index to generate the first element comprises: progressively encoding the first index to the first element.

[0295] Aspect 6: The method of Aspect 5, wherein progressively encoding the first index to the first element comprises: performing a direct indexing operation with an initialization based at least in part on the first index, a first length parameter, and a first energy parameter.

[0296] Aspect 7: The method of any of Aspects 1-6, wherein at least one of: the numeric representation of the initial sequence of bits is an unsigned integer representation of the initial sequence of bits, the initial index is nonnegative and is less than the initial quantity, the first index is nonnegative and is less than the first quantity, the second index is nonnegative and is less than the second quantity, or the initial quantity is less than or equal to a multiplication of the first quantity and the second quantity.

[0297] Aspect 8: The method of any of Aspects 1-7, wherein K is an integer multiple of a prime number and wherein at least one of: the initial finite-precision data representation is an initial finite-precision-K number that is equal to a multiplication of an initial number, having a binary expansion having length K, and 2 to a power of an initial integer, the first finite-precision data representation is a first finite-precision-K number that is equal to a multiplication of a first number, having a binary expansion having length K, and 2 to a power of a first integer, or the second finite-precision data representation is a second finite-precision-K number that is equal to a multiplication of a second number, having a binary expansion having length K, and 2 to a power of a second integer.

[0298] Aspect 9: The method of any of Aspects 1-8, wherein the initial candidate elements are mutually distinct, the first candidate elements are mutually distinct, or the second candidate elements are mutually distinct, and wherein each element of the initial candidate elements, of the first candidate elements, or of the second candidate elements comprises a respective sequence that is a respective ordered set of entries from an alphabet of symbols.

[0299] Aspect 10: The method of Aspect 9, wherein the alphabet of symbols satisfies at least one of: the alphabet of symbols has a finite cardinality, the alphabet of symbols is associated with an alphabetical ordering, symbols of the alphabet of symbols are mutually distinct, or each symbol of the alphabet of symbols is a numeric value.

[0300] Aspect 11: The method of any of Aspects 9-10, wherein each sequence that corresponds to a respective element of the initial candidate elements, of the first candidate elements, or of the second candidate elements has a respective length equal to an initial length parameter, a first length parameter, or a second length parameter, respectively, wherein the initial length parameter is equal to a sum of the first length parameter and the second length  parameter, wherein the first element comprises a first sequence having a length equal to the first length parameter, and wherein the first length parameter is an integer multiple of a prime number, or the first length parameter is a ceiling or a flooring of a fraction of the initial length parameter that is an inverse of a power of 2.

[0301] Aspect 12: The method of any of Aspects 9-11, wherein each sequence that corresponds to a respective element of the initial candidate elements has a respective energy equal to or less than an initial energy parameter, wherein each sequence that corresponds to a respective element of the first candidate elements has a respective energy equal to a first energy parameter, and the first element comprises a first sequence having an energy equal, in value, to the first energy parameter, and wherein each sequence that corresponds to a respective element of the second candidate elements has a respective energy equal to or less than a second energy parameter.

[0302] Aspect 13: The method of any of Aspects 1-12, wherein obtaining the initial quantity of the initial candidate elements, and the initial index comprises: obtaining an original quantity of original candidate elements, wherein the original quantity has an original finite-precision data representation; obtaining an original index that is a numeric representation of an original sequence of bits, wherein the original index is indicative of an original element of the original candidate elements; and deriving the initial quantity of the initial candidate elements and the initial index based at least in part on the original quantity of the original candidate elements and the original index.

[0303] Aspect 14: The method of Aspect 13, wherein obtaining the original index prior to an initial iteration of the algorithmic splitting operation comprises: identifying an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter, receiving a sequence of information bits of length equal to the input sequence length, and deriving the original index as an unsigned integer representation of the sequence of information bits; and obtaining the original index for an iteration after the initial iteration of the algorithmic splitting operation comprises: assigning a value of the second index to a value of the original index to obtain the original index.

[0304] Aspect 15: The method of any of Aspects 13-14, wherein obtaining the original quantity of the original candidate elements prior to an initial iteration of the algorithmic splitting operation comprises: identifying an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter, receiving a sequence of information bits of length equal to the input sequence length, and deriving the original quantity of the original candidate elements  as 2 to a power of the input sequence length; and obtaining the original quantity of the original candidate elements for an iteration after the initial iteration of the algorithmic splitting operation comprises: assigning a value of the second quantity of the second candidate elements to a value of the original quantity of the original candidate elements to obtain the original quantity of the original candidate elements.

[0305] Aspect 16: The method of any of Aspects 13-15, wherein deriving the initial quantity of the initial candidate elements and the initial index comprises: obtaining one or more original set property parameters; identifying a cumulative probability distribution model based at least in part on one or more first set property parameters that partition the set of original candidate elements into one or more subsets of the original candidate elements that are mutually disjoint, wherein each of the one or more subsets corresponds to a respective value of the one or more first set property parameters, and wherein the one or more subsets are ordered in accordance with a partial order imposed on the respective values of the one or more first set property parameters, over which the cumulative probability distribution model is defined; identifying a value of the one or more first set property parameters based at least in part on the original index, the original quantity, the partial order, and the cumulative probability distribution model; and deriving the initial quantity of the initial candidate elements and the initial index based at least in part on the value of the one or more first set property parameters.

[0306] Aspect 17: The method of Aspect 16, wherein the one or more original set property parameters include an original length parameter and an original energy parameter, wherein the one or more first set property parameters include a first length parameter and a first energy parameter, and wherein the first length parameter is equal, in value, to an integer multiple of a prime number, or the first length parameter is equal, in value, to a ceiling or a flooring of a fraction of the original length parameter that is an inverse of a power of 2.

[0307] Aspect 18: The method of Aspect 17, further comprising: selecting a mean parameter model and a standard deviation parameter model based at least in part on the first length parameter, the original length parameter, and the original energy parameter; identifying a value of the mean parameter model and a value of the standard deviation parameter model based at least in part on the original length parameter and the value of the normalized energy parameter; and identifying a value of an inverse standard deviation parameter based at least in part on the value of the standard deviation parameter model and the value of the normalized energy parameter.

[0308] Aspect 19: The method of Aspect 18, wherein identifying the value of the mean parameter model and the value of the standard deviation parameter model comprises: identifying a ratio of the original energy parameter to the original length parameter.

[0309] Aspect 20: The method of any of Aspects 18-19, further comprising: identifying a value of the first energy parameter based at least in part on the original index, the original quantity of the original candidate elements, the mean parameter model, and the standard deviation parameter model.

[0310] Aspect 21: The method of any of Aspects 18-20, wherein obtaining the one or more original set property parameters comprises: obtaining the original length parameter by: configuring the original length parameter as an input sequence length; or updating a value of the original length parameter as the original length parameter minus a previous value of the first length parameter; and obtaining the original energy parameter by: configuring the original energy parameter as an input target energy; or updating a value of the original energy parameter as a previous value of the original energy parameter minus a value of the first energy parameter plus an energy correction value.

[0311] Aspect 22: The method of Aspect 20, wherein identifying the value of the first energy parameter comprises: performing one or more operations to obtain an approximate value of a multiplication of the original index and an inverse of the original quantity of the original candidate elements; and identifying a value of a first candidate number based at least in part on the one or more operations, the mean parameter model, and the standard deviation parameter model.

[0312] Aspect 23: The method of Aspect 22, wherein identifying the value of the first candidate number comprises: obtaining an integer based at least in part on the one or more operations; and performing a linear interpolation operation based at least in part on the integer and using a look-up table of the cumulative probability distribution model over a discrete set of points.

[0313] Aspect 24: The method of any of Aspects 22-23, wherein identifying the value of the first energy parameter comprises: identifying a value of a first quantity parameter based at least in part on the first candidate number and the original quantity of the original candidate elements; and obtaining a value of a second quantity parameter based at least in part on the first candidate number plus one and the original quantity of the original candidate elements.

[0314] Aspect 25: The method of Aspect 24: wherein identifying the value of the first quantity parameter comprises: obtaining an integer based at least in part on the first candidate number; and performing a linear interpolation operation based at least in part on the integer and using a look-up table of the cumulative probability distribution model over a discrete set of points.

[0315] Aspect 26: The method of any of Aspects 24-25, wherein identifying the value of the first energy parameter comprises: identifying a value of the initial quantity of the initial candidate elements in accordance with a difference between the value of the second quantity  parameter and the value of the first quantity parameter; and identifying a value of the initial index in accordance with a difference between the original index and the first quantity parameter.

[0316] Aspect 27: The method of any of Aspects 1-26, wherein processing the second index to generate the second element comprises: performing a rounding operation on a residual energy parameter; performing an energy selection operation to obtain a value of a second energy parameter; and progressively encoding the second index to the second element.

[0317] Aspect 28: The method of Aspect 27, wherein progressively encoding the second index to the second element comprises: performing a direct indexing operation with an initialization based at least in part on the second index, a second length parameter, and the value of the second energy parameter.

[0318] Aspect 29: A method of communication performed by a receiver, comprising: receiving a signal associated with a concatenated element; de-concatenating the concatenated element to obtain a first element and a second element; decoding the first element to a first index, and the second element to a second index; combining the first index and the second index to generate an initial index; and generating an original index based at least in part on the initial index, wherein the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.

[0319] Aspect 30: The method of Aspect 29, further comprising: obtaining the output sequence length by identifying the output sequence length in accordance with a difference between an estimate value based at least in part on a quantity of elements satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter.

[0320] Aspect 31: An apparatus for wireless communication at a device, the apparatus comprising one or more processors; one or more memories coupled with the one or more processors; and instructions stored in the one or more memories and executable by the one or more processors to cause the apparatus to perform the method of one or more of Aspects 1-30.

[0321] Aspect 32: An apparatus for wireless communication at a device, the apparatus comprising one or more memories and one or more processors coupled to the one or more memories, the one or more processors configured to cause the device to perform the method of one or more of Aspects 1-30.

[0322] Aspect 33: An apparatus for wireless communication, the apparatus comprising at least one means for performing the method of one or more of Aspects 1-30.

[0323] Aspect 34: A non-transitory computer-readable medium storing code for wireless communication, the code comprising instructions executable by one or more processors to perform the method of one or more of Aspects 1-30.

[0324] Aspect 35: A non-transitory computer-readable medium storing a set of instructions for wireless communication, the set of instructions comprising one or more instructions that, when executed by one or more processors of a device, cause the device to perform the method of one or more of Aspects 1-30.

[0325] Aspect 36: A device for wireless communication, the device comprising a processing system that includes one or more processors and one or more memories coupled with the one or more processors, the processing system configured to cause the device to perform the method of one or more of Aspects 1-30.

[0326] Aspect 37: An apparatus for wireless communication at a device, the apparatus comprising one or more memories and one or more processors coupled to the one or more memories, the one or more processors individually or collectively configured to cause the device to perform the method of one or more of Aspects 1-30.

[0327] The foregoing disclosure provides illustration and description but is not intended to be exhaustive or to limit the aspects to the precise forms disclosed. Modifications and variations may be made in light of the above disclosure or may be acquired from practice of the aspects.

[0328] As used herein, the term “component” is intended to be broadly construed as hardware or a combination of hardware and at least one of software or firmware. “Software” shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, or functions, among other examples, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. As used herein, a “processor” is implemented in hardware or a combination of hardware and software. It will be apparent that systems or methods described herein may be implemented in different forms of hardware or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems or methods is not limiting of the aspects. Thus, the operation and behavior of the systems or methods are described herein without reference to specific software code, because those skilled in the art will understand that software and hardware can be designed to implement the systems or methods based, at least in part, on the description herein. A component being configured to perform a function means that the component has a capability to perform the function, and does not require the function to be actually performed by the component, unless noted otherwise.

[0329] As used herein, “satisfying a threshold” may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, or not equal to the threshold, among other examples.

[0330] As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover a, b, c, a + b, a + c, b + c, and a + b + c, as well as any combination with multiples of the same element (for example, a + a, a + a + a, a + a + b, a + a + c, a + b + b, a + c + c, b + b, b + b + b, b + b + c, c + c, and c + c + c, or any other ordering of a, b, and c) .

[0331] No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more. ” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more. ” Furthermore, as used herein, the terms “set” and “group” are intended to include one or more items and may be used interchangeably with “one or more. ” Where only one item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has, ” “have, ” “having, ” and similar terms are intended to be open-ended terms that do not limit an element that they modify (for example, an element “having” A may also have B) . Further, the phrase “based on” is intended to mean “based on or otherwise in association with” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with “and / or, ” unless explicitly stated otherwise (for example, if used in combination with “either” or “only one of” ) . It should be understood that “one or more” is equivalent to “at least one. ”

[0332] Even though particular combinations of features are recited in the claims or disclosed in the specification, these combinations are not intended to limit the disclosure of various aspects. Many of these features may be combined in ways not specifically recited in the claims or disclosed in the specification. The disclosure of various aspects includes each dependent claim in combination with every other claim in the claim set.

Claims

1.An apparatus for communication at a transmitter, comprising:one or more memories; andone or more processors, coupled to the one or more memories, configured to cause the transmitter to:obtain an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, wherein the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements;identify a first quantity of first candidate elements, wherein the first quantity has a first finite-precision data representation;perform an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, wherein the second quantity has a second finite-precision data representation;process the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; andtransmit, to a receiver, a signal based at least in part on the first element and the second element.2.The apparatus of claim 1, wherein the one or more processors, to cause the transmitter to perform the algorithmic splitting operation, are configured to cause the transmitter to:identify, using recursive comparisons, a largest integer such that the initial quantity is larger than or equal to a value based at least in part on the first quantity and the largest integer;generate the first index and the second index based at least in part on the largest integer; andgenerate the second quantity based at least in part on the largest integer.3.The apparatus of claim 1, wherein the one or more processors, to cause the transmitter to process the first index and the second index, are configured to cause the transmitter to:process the first index and the second index independently.4.The apparatus of claim 1, wherein the one or more processors are further configured to cause the transmitter to:concatenate the first element and the second element to derive the signal.5.The apparatus of claim 1, wherein the one or more processors, to cause the transmitter to process the first index to generate the first element, are configured to cause the transmitter to:progressively encode the first index to the first element.6.The apparatus of claim 5, wherein the one or more processors, to cause the transmitter to progressively encode the first index to the first element, are configured to cause the transmitter to:perform a direct indexing operation with an initialization based at least in part on the first index, a first length parameter, and a first energy parameter.7.The apparatus of claim 1, wherein the initial candidate elements are mutually distinct, the first candidate elements are mutually distinct, or the second candidate elements are mutually distinct, andwherein each element of the initial candidate elements, of the first candidate elements, or of the second candidate elements comprises a respective sequence that is a respective ordered set of entries from an alphabet of symbols.8.The apparatus of claim 1, wherein the one or more processors, to cause the transmitter to obtain the initial quantity of the initial candidate elements, and the initial index, are configured to cause the transmitter to:obtain an original quantity of original candidate elements, wherein the original quantity has an original finite-precision data representation;obtain an original index that is a numeric representation of an original sequence of bits, wherein the original index is indicative of an original element of the original candidate elements; andderive the initial quantity of the initial candidate elements and the initial index based at least in part on the original quantity of the original candidate elements and the original index.9.The apparatus of claim 8, wherein the one or more processors, to cause the transmitter to obtain the original index prior to an initial iteration of the algorithmic splitting operation, are configured to cause the transmitter to:identify an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter;receive a sequence of information bits of length equal to the input sequence length; andderive the original index as an unsigned integer representation of the sequence of information bits, andwherein the one or more processors, to cause the transmitter to obtain the original index for an iteration after the initial iteration of the algorithmic splitting operation, are configured to cause the transmitter to:assign a value of the second index to a value of the original index to obtain the original index.10.The apparatus of claim 8, wherein the one or more processors, to cause the transmitter to obtain the original quantity of the original candidate elements prior to an initial iteration of the algorithmic splitting operation, are configured to cause the transmitter to:identify an input sequence length in accordance with a difference between an estimate value based at least in part on a quantity of sequences satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter;receive a sequence of information bits of length equal to an input sequence length; andderive the original quantity of the original candidate elements as 2 to a power of the input sequence length, andwherein the one or more processors, to cause the transmitter to obtain the original quantity of the original candidate elements for an iteration after the initial iteration of the algorithmic splitting operation, are configured to cause the transmitter to:assign a value of the second quantity of the second candidate elements to a value of the original quantity of the original candidate elements to obtain the original quantity of the original candidate elements.11.The apparatus of claim 8, wherein the one or more processors, to cause the transmitter to derive the initial quantity of the initial candidate elements and the initial index, are configured to cause the transmitter to:obtain one or more original set property parameters;identify a cumulative probability distribution model based at least in part on one or more first set property parameters that partition the set of original candidate elements into one or more subsets of the original candidate elements that are mutually disjoint,wherein each of the one or more subsets corresponds to a respective value of the one or more first set property parameters, andwherein the one or more subsets are ordered in accordance with a partial order imposed on the respective values of the one or more first set property parameters, over which the cumulative probability distribution model is defined;identify a value of the one or more first set property parameters based at least in part on the original index, the original quantity, the partial order, and the cumulative probability distribution model; andderive the initial quantity of the initial candidate elements and the initial index based at least in part on the value of the one or more first set property parameters.12.The apparatus of claim 11, wherein the one or more original set property parameters include an original length parameter and an original energy parameter,wherein the one or more first set property parameters include a first length parameter and a first energy parameter, andwherein the first length parameter is equal, in value, to an integer multiple of a prime number, or the first length parameter is equal, in value, to a ceiling or a flooring of a fraction of the original length parameter that is an inverse of a power of 2.13.The apparatus of claim 12, wherein the one or more processors are further configured to cause the transmitter to:perform a finite-precision inversion operation on the original length parameter;identify a value of an inverse of the original length parameter based at least in part on the finite-precision inversion operation, wherein the inverse of the original length parameter has a finite-precision data representation; andidentify a value of a normalized energy parameter based at least in part on a multiplication of the original energy parameter and the value of the inverse of the original length parameter.14.The apparatus of claim 13, wherein the one or more processors are further configured to cause the transmitter to:select a mean parameter model and a standard deviation parameter model based at least in part on the first length parameter, the original length parameter, and the original energy parameter; andidentify a value of the mean parameter model and a value of the standard deviation parameter model based at least in part on the original length parameter and the value of the normalized energy parameter; andidentify a value of an inverse standard deviation parameter based at least in part on the value of the standard deviation parameter model and the value of the normalized energy parameter.15.The apparatus of claim 14, wherein the one or more processors are further configured to cause the transmitter to:identify a value of the first energy parameter based at least in part on the original index, the original quantity of the original candidate elements, the mean parameter model, and the standard deviation parameter model.16.The apparatus of claim 15, wherein the one or more processors, to cause the transmitter to identify the value of the first energy parameter, are configured to cause the transmitter to:perform one or more operations to obtain an approximate value of a multiplication of the original index and an inverse of the original quantity of the original candidate elements; andidentify a value of a first candidate number based at least in part on the one or more operations, the mean parameter model, and the standard deviation parameter model.17.The apparatus of claim 16, wherein the one or more processors, to cause the transmitter to identify the value of the first candidate number, are configured to cause the transmitter to:obtain an integer based at least in part on the one or more operations; andperform a linear interpolation operation based at least in part on the integer and using a look-up table of the cumulative probability distribution model over a discrete set of points.18.The apparatus of claim 16, wherein the one or more processors, to cause the transmitter to identify the value of the first energy parameter, are further configured to cause the transmitter to:identify a value of a first quantity parameter based at least in part on the first candidate number and the original quantity of the original candidate elements; andobtain a value of a second quantity parameter based at least in part on the first candidate number plus one and the original quantity of the original candidate elements.19.The apparatus of claim 18, wherein the one or more processors, to cause the transmitter to identify the value of the first quantity parameter, are configured to cause the transmitter to:obtain an integer based at least in part on the first candidate number; andperform a linear interpolation operation based at least in part on the integer and using a look-up table of the cumulative probability distribution model over a discrete set of points.20.The apparatus of claim 18, wherein the one or more processors, to cause the transmitter to identify the value of the first energy parameter, are configured to cause the transmitter to:identify a value of the initial quantity of the initial candidate elements in accordance with a difference between the value of the second quantity parameter and the value of the first quantity parameter; andidentify a value of the initial index in accordance with a difference between the original index and the first quantity parameter.21.The apparatus of claim 14, wherein the one or more processors, to cause the transmitter to obtain the one or more original set property parameters, are configured to cause the transmitter to:obtain the original length parameter by:configuring the original length parameter as an input sequence length; orupdating a value of the original length parameter as the original length parameter minus a previous value of the first length parameter; andobtain the original energy parameter by:configuring the original energy parameter as an input target energy; orupdating a value of the original energy parameter as a previous value of the original energy parameter minus a value of the first energy parameter plus an energy correction value.22.The apparatus of claim 1, wherein the one or more processors, to cause the transmitter to process the second index to generate the second element, are configured to cause the transmitter to:perform a rounding operation on a residual energy parameter;perform an energy selection operation to obtain a value of a second energy parameter; andprogressively encode the second index to the second element.23.The apparatus of claim 22, wherein the one or more processors, to cause the transmitter to progressively encode the second index to the second element, are configured to cause the transmitter to:perform a direct indexing operation with an initialization based at least in part on the second index, a second length parameter, and the value of the second energy parameter.24.A method of communication performed by a transmitter, comprising:obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, wherein the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements;identifying a first quantity of first candidate elements, wherein the first quantity has a first finite-precision data representation;performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, wherein the second quantity has a second finite-precision data representation;processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; andtransmitting, to a receiver, a signal based at least in part on the first element and the second element.25.The method of claim 24, wherein performing the algorithmic splitting operation comprises:identifying, using recursive comparisons, a largest integer such that the initial quantity is larger than or equal to a value based at least in part on the first quantity and the largest integer;generating the first index and the second index based at least in part on the largest integer; andgenerating the second quantity based at least in part on the largest integer.26.The method of claim 24, wherein processing the first index and the second index comprises:processing the first index and the second index independently.27.An apparatus for communication, comprising:means for obtaining an initial quantity of initial candidate elements, and an initial index that is a numeric representation of an initial sequence of bits, wherein the initial quantity has an initial finite-precision data representation, and the initial index is indicative of an initial element of the initial candidate elements;means for identifying a first quantity of first candidate elements, wherein the first quantity has a first finite-precision data representation;means for performing an algorithmic splitting operation on the initial index, based at least in part on the initial quantity and the first quantity, to generate a first index, a second index, and a second quantity of second candidate elements, wherein the second quantity has a second finite-precision data representation;means for processing the first index to generate a first element of the first candidate elements, and the second index to generate a second element of the second candidate elements; andmeans for transmitting, to a receiver, a signal based at least in part on the first element and the second element.28.The apparatus of claim 27, wherein the means for performing the algorithmic splitting operation comprise:means for identifying, using recursive comparisons, a largest integer such that the initial quantity is larger than or equal to a value based at least in part on the first quantity and the largest integer;means for generating the first index and the second index based at least in part on the largest integer; andmeans for generating the second quantity based at least in part on the largest integer.29.An apparatus for communication at a receiver, comprising:one or more memories; andone or more processors, coupled to the one or more memories, configured to cause the receiver to:receive a signal associated with a concatenated element;de-concatenate the concatenated element to obtain a first element and a second element;decode the first element to a first index, and the second element to a second index;combine the first index and the second index to generate an initial index; andgenerate an original index based at least in part on the initial index,wherein the original index represents a numeric representation of an output sequence of bits of length equal to an output sequence length.30.The apparatus of claim 29, wherein the one or more processors are further configured to cause the receiver to:obtain the output sequence length by identifying the output sequence length in accordance with a difference between an estimate value based at least in part on a quantity of elements satisfying an original length parameter and an original energy parameter, and a deviation function based at least in part on the original length parameter.

Citation Information

Patent Citations

  • Binary arithmetic coding with parameterized probability estimation finite state machines

    CN110419216A

  • Method and device for arithmetic coding of video, and method and device for arithmetic decoding of video

    US20140334539A1

  • Arithmetic decoding device and arithmetic coding device

    US20180160118A1