Probability Shaping Encoding Device, System and Method
By designing a probability shaping and encoding device, using multiple buffers and scheduling modules for data scheduling and encoding, the problem that the prior art is difficult to meet the needs of large throughput data encoding is solved, and efficient probability shaping and encoding and transmission performance are achieved.
Patent Information
- Application Number
- CN202010479404.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-05-29
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2040-05-29
AI Technical Summary
The existing probabilistic shaping and coding technology is difficult to meet the coding needs of large throughput data, and traditional time-domain hybrid modulation technology cannot effectively narrow the gap with Shannon's limit.
A probability shaping encoding device is designed, including multiple data buffers, data scheduling modules and probability shaping encoding modules. By buffering input data, scheduling data according to priority rules, and encoding it according to bitstream and symbol probability intervals, the probability shaping encoding during data transmission is realized.
The encoding rate is improved, efficient encoding of large throughput data is achieved, and the minimum Euclidean distance is increased by adjusting the symbol probability interval, and the transmission performance is improved.
Smart Images

Figure CN113746594B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of optical communication technologies, and in particular, to a probability shaping encoding device, system, and method. Background Art
[0002] In an optical fiber line, the most important factor affecting the transmission system is non - linear interference, and the non - linear interference mainly depends on the magnitude and symbol distribution of the input signal optical power, thereby limiting the maximum signal - to - noise ratio that can be transmitted. The traditional method for achieving different equivalent spectral efficiencies is to combine two Quadrature Amplitude Modulations (QAMs) to obtain an equivalent QAM signal, and this technology is also called Time - domain hybrid modulation (TDHM). However, TDHM is still based on the combination of ordinary QAMs, and its performance is between the two combined QAMs. It is equivalent to trading rate for transmission distance and cannot narrow the gap with the Shannon limit.
[0003] Using probability shaping technology to change the probabilities of symbols appearing at different positions in the constellation diagram, reducing the appearance frequency of outer - circle constellation points is beneficial to reducing the average power, which is equivalent to increasing the minimum Euclidean distance, thus having better transmission performance. Existing probability shaping encoding technologies encode data at an inherent rate and are difficult to meet the requirements of large - throughput data. Summary of the Invention
[0004] Embodiments of this application provide a probability shaping encoding device, system, and method, which can implement probability shaping encoding during the data transmission process and improve the encoding rate.
[0005] To achieve the above object, an embodiment of this application provides a probability shaping encoding device, which is characterized by including: a plurality of data buffers, a data scheduling module, and a probability shaping encoding module;
[0006] The plurality of buffers are used to buffer input data blocks; the data scheduling module is used to determine a target buffer according to a set priority rule and schedule the data in the target buffer; the probability shaping module is used to obtain a bit - stream probability interval and a symbol probability interval according to the target buffer, and perform probability shaping encoding on the currently scheduled data according to the bit - stream probability interval and the symbol probability interval; wherein, the number of the buffers is determined by the pulse period required when the probability shaping encoding module encodes.
[0007] To achieve the above object, an embodiment of this application provides a probability shaping encoding system, which is characterized by including at least one probability shaping encoding device according to an embodiment of this application; the at least one probability shaping encoding device operates in parallel.
[0008] To achieve the above object, an embodiment of the present application provides a probability shaping encoding method, including:
[0009] Dividing the input data into blocks according to the transmission requirement and probability distribution parameters to obtain a plurality of data blocks;
[0010] Inputting the plurality of data blocks into a plurality of buffers for buffering;
[0011] Determining a target buffer according to a set priority rule; wherein, the target buffer is the currently scheduled buffer;
[0012] Obtaining a bitstream probability interval and a symbol probability interval according to the target buffer;
[0013] Performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval.
[0014] The probability shaping encoding device, system and method provided by the embodiment of the present application include: a plurality of data buffers, a data scheduling module and a probability shaping encoding module; the plurality of buffers are used for buffering input data blocks; the data scheduling module is used for determining a target buffer according to a set priority rule and scheduling the data in the target buffer; the probability shaping module is used for obtaining a bitstream probability interval and a symbol probability interval according to the target buffer and performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval; wherein, the number of buffers is determined by the pulse period required when the probability shaping encoding module performs encoding. By buffering the input data into a plurality of buffers, scheduling the data in each buffer according to a set priority by using the data scheduling module, and then performing encoding by the probability shaping encoding module, the input data can be encoded in parallel at the same time, which not only realizes probability shaping encoding in the data transmission process, but also can improve the encoding rate. Description of the Drawings
[0015] Figure 1 is a schematic structural diagram of a probability shaping encoding device provided in an embodiment of the present application;
[0016] Figure 2 is a schematic structural diagram of a probability shaping encoding device provided in an embodiment of the present application;
[0017] Figure 3 is a schematic diagram of the update process of the number of symbol probability intervals provided in an embodiment of the present application;
[0018] Figure 4 is a schematic structural diagram of a probability shaping encoding device provided in an embodiment of the present application;
[0019] Figure 5It is an example diagram of probability shaping coding provided in the embodiments of the present application;
[0020] Figure 6 It is a schematic structural diagram of a probability shaping coding system provided in the embodiments of the present application;
[0021] Figure 7 It is a flowchart of a probability shaping coding method provided in the embodiments of the present application. Detailed implementation manners
[0022] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0023] In the following description, suffixes such as "module", "component" or "unit" used to represent elements are only for the convenience of explaining the present invention, and they have no specific meaning by themselves. Therefore, "module", "component" or "unit" can be used interchangeably.
[0024] To make the objectives, technical solutions and advantages of the present application clearer and more understandable, the embodiments of the present application will be described in detail below with reference to the accompanying drawings. It should be noted that, without conflict, the embodiments in the present application and the features in the embodiments can be combined arbitrarily with each other.
[0025] In one embodiment, Figure 1 It is a schematic structural diagram of a probability shaping coding device provided in the embodiments of the present application. As Figure 1 shown, the device includes: a plurality of data buffers 110, a data scheduling module 120, and a probability shaping coding module 130.
[0026] The plurality of buffers 110 are used to buffer the input data blocks; the data scheduling module 120 is used to determine the target buffer according to the set priority rules and schedule the data in the target buffer; the probability shaping module 130 is used to obtain the bitstream probability interval and the symbol probability interval according to the target buffer, and perform probability shaping coding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval; wherein, the number of data buffers is determined by the pulse period required when the probability shaping coding module performs coding.
[0027] In one embodiment, the input data is first chunked to obtain multiple data chunks, and then the multiple data chunks are respectively cached in a buffer. The buffer 110 uses a buffer to ensure that when the subsequent probability shaping encoding module 130 is occupied, the previous-stage data can still be input without being blocked. The probability shaping encoding module 130 usually takes multiple clock cycles to complete encoding using a divider. Assuming it takes P clock cycles, then P buffers 110 are configured. The storage depth of each buffer 110 can be set to the size of the data chunk. Or it can be set to the continuous probability shaping times K and the time consumed by the divider to complete one division encoding, that is, P clock cycles, so the storage depth of the buffer 110 is K * P.
[0028] Among them, the set priority rule can be that the smaller the amount of data already scheduled in the buffer, the higher the priority. Or, the buffers 110 are sorted, and the buffer with a higher sorting position has a higher priority.
[0029] In one embodiment, the data scheduling module 120 includes a first scheduling unit and a second scheduling unit. Among them, the first scheduling unit is used to determine the buffer with the smallest amount of data already scheduled in each buffer as the target buffer; the second scheduling unit is used to, when there are multiple target buffers, determine the buffer with the lowest sorting position among the target buffers as the finally scheduled buffer.
[0030] In one embodiment, Figure 2 This is a schematic structural diagram of a probability shaping encoding device provided by an embodiment of the present application. As Figure 2 shown, the probability shaping encoding module 130 includes: a first bitstream probability interval generation unit 131, a symbol probability interval generation unit 132, a comparison unit 133, a second bitstream probability interval generation unit 134, a bitstream probability interval update unit 135, and a symbol probability interval update unit 136;
[0031] The first bitstream probability interval generation unit 121 is respectively connected to the data scheduling module 120 and the comparison unit 133, and is used to initialize the bitstream probability interval according to the scheduled data and send the initialized bitstream probability interval to the comparison unit 133.
[0032] The symbol probability interval generation unit 132 is connected to the comparison unit 133, and is used to initialize the symbol probability interval and send the initialized symbol probability interval to the comparison unit 133.
[0033] The comparison unit 133 is respectively connected to the second bitstream probability interval generation unit 134, the bitstream probability interval update unit 135, and the symbol probability interval update unit 136. The comparison unit 133 is configured to compare the bitstream probability interval and the symbol probability interval. If the bitstream probability interval is not a subset of the symbol probability interval, it generates a first signal and sends the first signal to the second bitstream probability interval generation unit 134. If the bitstream probability interval is a subset of the symbol probability interval, it generates a second signal and output data, and sends the second signal to the bitstream probability interval update unit 135 and the symbol probability interval update unit 136, and outputs the output data.
[0034] The second bitstream probability interval generation unit 134 is also connected to the data scheduling module 120, and is configured to update the bitstream probability interval according to the scheduled data when receiving the first signal, and send the updated bitstream probability interval to the comparison unit 133. The bitstream probability interval update unit 135 is configured to update the bitstream probability interval update unit when receiving the second signal. The symbol probability interval update unit 136 is configured to update the symbol probability interval when receiving the second signal.
[0035] Among them, the first signal can be understood as a "non-signal", and the second signal can be understood as a "yes-signal".
[0036] In one embodiment, the input bit data is "0" or "1", and the first bitstream probability interval generation unit 121 initializes the bitstream probability interval according to the value of the bit data, that is, selects an interval from the probability intervals corresponding to the value of the bit data. The second bitstream probability interval generation unit 134 updates the bitstream probability interval according to the value of the bit data, that is, reselects an interval from the probability intervals corresponding to the value of the bit data.
[0037] In one embodiment, the bitstream probability interval update unit 135 includes a first divider and a second divider. Among them, the first divider is used to update the upper limit of the bitstream probability interval; the second divider is used to update the lower limit of the bitstream probability interval. Specifically, the upper and lower limits of the bitstream probability interval are updated according to the upper and lower limits of the bitstream probability interval before update and the upper and lower limits of the symbol probability interval.
[0038] In one embodiment, the symbol probability interval updating unit 136 may update the symbol probability interval by using a divider. In this embodiment, in order to reduce the number of dividers used in the system, the symbol probability interval updating unit 136 is a look-up table updating unit; the look-up table updating unit is used to generate a look-up table address according to the symbol probability interval before updating, and look up the updated symbol probability interval according to the look-up table address. That is, the symbol probability interval updating unit 136 adopts the hardware design of a LUT. For multiple parallel probability shaping modules, the LUT table can be reused, thereby reducing resource consumption. In an optical communication system, the probability shaping module can output a fixed number of symbols. Assuming the total number is n, the number of symbol 1 is n1, the number of symbol 3 is n3, and n1 + n3 = n. Then the number of probability intervals included in the symbol probability interval is Exemplarily, Figure 3 is the updating process of the number of symbol probability intervals corresponding to symbol 1.
[0039] In one embodiment, Figure 4 is a schematic structural diagram of a probability shaping encoding device in an embodiment of the present application, as Figure 4 shown, the probability shaping encoding module 130 further includes a plurality of bitstream probability interval buffers 137, a plurality of symbol probability interval buffers 138, and a probability interval scheduling unit 139; the number of bitstream probability interval buffers 137 and the symbol probability interval buffers 138 are the same as the number of data buffers, and they correspond one by one.
[0040] The plurality of bitstream probability interval buffers 137 and the plurality of symbol probability interval buffers 138 are both connected to the probability interval scheduling unit 139; the bitstream probability interval buffer 137 is used to cache the updated bitstream probability interval; the symbol probability interval buffer 138 is used to cache the updated symbol probability interval; the probability interval scheduling unit 139 is used to schedule the bitstream probability interval to the bitstream probability interval updating unit 135 for updating and schedule the symbol probability interval to the symbol probability interval updating unit 136 for updating when the comparison unit generates a plurality of second signals.
[0041] Wherein, the second signal carries information of the data buffer, and the set priority rule may be that the smaller the amount of data scheduled in the buffer, the higher the priority. Or, the buffer 110 is sorted, and the buffer with a higher ranking has a higher priority.
[0042] Exemplarily, Figure 5 is an example diagram of a probability shaping encoding in an embodiment of the present application, as Figure 5As shown, the divider in this embodiment realizes the utilization of the maximum speed limit, avoiding the idle state of any stage of the pipeline in the divider. In the embodiment of the present application, the data blocks are encoded in a pipelined manner, and the data within the data blocks are encoded serially. The device encodes the data blocks in parallel, thereby improving the encoding rate.
[0043] In one embodiment, it further includes: a dual buffer. The dual buffer is used to store the output data. Among them, the dual buffer can adopt a ping pong buffer. For each channel, an output ping pong buffer is configured. When the ping buffer outputs the encoded data, the pong buffer can cache the data for encoding. The data is output in a ping pong manner according to this method.
[0044] The probability shaping encoding device provided by the embodiment of the present application includes: a plurality of data buffers, a data scheduling module, and a probability shaping encoding module; the plurality of buffers are used to cache the input data blocks; the data scheduling module is used to determine the target buffer according to the set priority rule and schedule the data in the target buffer; the probability shaping module is used to obtain the bit stream probability interval and the symbol probability interval according to the target buffer, and perform probability shaping encoding on the currently scheduled data according to the bit stream probability interval and the symbol probability interval; wherein, the number of buffers is determined by the pulse period required when the probability shaping encoding module encodes. The input data is cached in a plurality of buffers. After the data in each buffer is scheduled according to the set priority by the data scheduling module, it is encoded by the probability shaping encoding module, which can encode the input data in parallel at the same time, not only realizing the probability shaping encoding during the data transmission process, but also improving the encoding rate.
[0045] In one embodiment, Figure 6 is a schematic structural diagram of a probability shaping encoding system in the embodiment of the present application. As Figure 6 shown, the system includes at least one probability shaping encoding device described in the above embodiment; and at least one probability shaping encoding device works in parallel.
[0046] For each probability shaping encoding device, two register groups with a bit width of n are configured as the pingpong buffer output. Using n groups of ping pong buffer outputs can ensure that the output parallelism of the probability shaping encoding device meets the requirements of L. Using this structure for output realizes the encoding requirements of any parallelism structure under high throughput.
[0047] In one embodiment, Figure 7 is a flowchart of a probability shaping encoding method in the embodiment of the present application. Based on the above embodiment, the method includes the following steps:
[0048] S210. Divide the input data according to the transmission requirements and probability distribution parameters to obtain multiple data blocks.
[0049] Among them, the transmission requirements may include bit rate and frequency efficiency. Specifically, the method of dividing the input data according to the transmission requirements and probability distribution parameters may be: determining the amount of data contained in each data block according to the transmission requirements and probability distribution parameters; dividing the input data according to the amount of data contained in each data block. Exemplarily, the amount of data contained in a data block is 128 bits.
[0050] S220. Input the multiple data blocks into multiple buffers for caching.
[0051] Among them, the number of buffers is determined by the pulse period required for probability shaping coding. For example, assuming that P pulse periods are required to complete one probability shaping coding, the number of buffers is P. The storage depth of the buffer can be set to the size of the data block.
[0052] Specifically, after dividing the input quantity into blocks, input the data blocks into multiple buffers for caching respectively.
[0053] S230. Determine the target buffer according to the set priority rule.
[0054] Among them, the target buffer is the currently scheduled buffer. The set priority rule may be that the buffer with the smallest amount of scheduled data in the buffer has the highest priority. Or, sort the buffers, and the buffer with a higher sorting order has a higher priority.
[0055] In one embodiment, the method of determining the currently scheduled buffer according to the set priority principle may be: obtaining the amount of scheduled data for each buffer; determining the buffer with the smallest amount of scheduled data as the target buffer.
[0056] In one embodiment, if there are multiple target buffers, determine the buffer with the lowest sorting order in the target buffers as the finally scheduled buffer.
[0057] S240. Obtain the bitstream probability interval and symbol probability interval according to the target buffer.
[0058] The method of obtaining the bitstream probability interval and symbol probability interval according to the target buffer may be the updated bitstream probability interval and symbol probability interval after the previous data in the target buffer is probability shaped and encoded. In this embodiment, the updated bitstream probability interval and symbol probability interval are stored in the register, and the bitstream probability interval and symbol probability interval can be obtained according to the information of the target buffer.
[0059] S250. Perform probability shaping coding on the currently scheduled data according to the bitstream probability interval and symbol probability interval.
[0060] The method of performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval may be: determining whether the bitstream probability interval is a subset of the symbol probability interval; if so, performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval; if not, updating the bitstream probability interval according to the currently scheduled data, and returning to perform the operation of determining whether the bitstream probability interval is a subset of the symbol probability interval until the bitstream probability interval is a subset of the symbol probability interval.
[0061] In one embodiment, after performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval, the following steps are further included: recombining the data after shaping encoding according to the buffer channels. Outputting the recombined data to the lower-level module.
[0062] The technical solution of the embodiment of the present application divides the input data according to the transmission requirements and probability distribution parameters to obtain multiple data blocks; inputs the multiple data blocks into multiple buffers for caching; determines the target buffer according to the set priority rule; where the target buffer is the currently scheduled buffer; obtains the bitstream probability interval and the symbol probability interval according to the target buffer; performs probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval. The probability shaping encoding in the data transmission process can be realized, and the encoding rate can be improved.
Claims
1. A probability shaping encoding device, characterized in that, Including: Multiple data buffers, a data scheduling module, and a probability shaping encoding module; The multiple data buffers are used to cache input data blocks; The data scheduling module is used to determine a target buffer according to a set priority rule and schedule the data in the target buffer; The probability shaping encoding module is used to obtain a bitstream probability interval and a symbol probability interval according to the target buffer, and perform probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval; wherein, the number of the data buffers is determined by the pulse period required when the probability shaping encoding module encodes; The probability shaping encoding module includes: a comparison unit, a second bitstream probability interval generation unit, a bitstream probability interval update unit, and a symbol probability interval update unit; The comparison unit is respectively connected to the second bitstream probability interval generation unit, the bitstream probability interval update unit, and the symbol probability interval update unit; The comparison unit is used to compare the bitstream probability interval and the symbol probability interval. If the bitstream probability interval is not a subset of the symbol probability interval, a first signal is generated and sent to the second bitstream probability interval generation unit; if the bitstream probability interval is a subset of the symbol probability interval, a second signal and output data are generated, the second signal is sent to the bitstream probability interval update unit and the symbol probability interval update unit, and the output data is output; The second bitstream probability interval generation unit is further connected to the data scheduling module and is used to update the bitstream probability interval according to the scheduled data when receiving the first signal and send the updated bitstream probability interval to the comparison unit; The bitstream probability interval update unit is used to update the bitstream probability interval update unit when receiving the second signal; The symbol probability interval update unit is used to update the symbol probability interval when receiving the second signal.
2. The device according to claim 1, characterized in that, The data scheduling module includes a first scheduling unit and a second scheduling unit; The first scheduling unit is used to determine the buffer with the smallest amount of scheduled data in each buffer as the target buffer; The second scheduling unit is used to, when there are multiple target buffers, determine the buffer with the lowest ranking in the target buffers as the finally scheduled buffer.
3. The device according to claim 1, characterized in that, The probability shaping encoding module further includes: a first bitstream probability interval generation unit; The first bitstream probability interval generation unit is respectively connected to the data scheduling module and the comparison unit and is used to initialize the bitstream probability interval according to the scheduled data and send the initialized bitstream probability interval to the comparison unit; The symbol probability interval generation unit is connected to the comparison unit and is used to initialize the symbol probability interval and send the initialized symbol probability interval to the comparison unit.
4. The device according to claim 1, characterized in that, The bitstream probability interval update unit includes a first divider and a second divider; The first divider is used to update the upper limit of the bitstream probability interval; the second divider is used to update the lower limit of the bitstream probability interval.
5. The device according to claim 1, characterized in that, The symbol probability interval updating unit is a look-up table updating unit; the look-up table updating unit is used to generate a look-up table address according to the symbol probability interval before updating, and look up the updated symbol probability interval according to the look-up table address.
6. The device according to claim 3, characterized in that, The probability shaping encoding module further includes a plurality of bitstream probability interval buffers, a plurality of symbol probability interval buffers, and a probability interval scheduling unit; the number of the bitstream probability interval buffers and the symbol probability interval buffers is the same as that of the data buffers, and they are in one-to-one correspondence; The plurality of bitstream probability interval buffers and the plurality of symbol probability interval buffers are both connected to the probability interval scheduling unit; The bitstream probability interval buffer is used to cache the updated bitstream probability interval; the symbol probability interval buffer is used to cache the updated symbol probability interval; The probability interval scheduling unit is used to, when the comparison unit generates a plurality of second signals, schedule the bitstream probability interval to the bitstream probability interval updating unit for updating according to the set priority rule, and schedule the symbol probability interval to the symbol probability interval updating unit for updating.
7. The device according to claim 3, characterized in that, Further included is: A dual buffer; the dual buffer is used to store output data.
8. A probability shaping encoding system, characterized in that, Including at least one probability shaping encoding device according to any one of claims 1-7; the at least one probability shaping encoding device works in parallel.
9. A probability shaping encoding method, characterized in that, Including: Partition the input data according to the transmission requirement and the probability distribution parameter to obtain a plurality of data blocks; Input the plurality of data blocks into a plurality of buffers for caching; Determine the target buffer according to the set priority rule; wherein, the target buffer is the currently scheduled buffer; Obtain the bitstream probability interval and the symbol probability interval according to the target buffer; Perform probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval; Performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval includes: Judge whether the bitstream probability interval is a subset of the symbol probability interval; If so, perform probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval; If not, update the bitstream probability interval according to the currently scheduled data, and return to execute the operation of judging whether the bitstream probability interval is a subset of the symbol probability interval.
10. The method according to claim 9, wherein Partitioning the input data according to the transmission requirement and the probability distribution parameter includes: Determine the data volume included in each data block according to the transmission requirement and the probability distribution parameter; wherein, the transmission requirement includes the bit rate and the frequency efficiency; Partition the input data according to the data volume included in each data block.
11. The method according to claim 9, wherein Determining the currently scheduled buffer according to the set priority principle includes: Obtain the data volume that has been scheduled for each buffer; Determine the buffer with the smallest scheduled data volume as the target buffer.
12. The method according to claim 9, wherein Determining the buffer with the smallest scheduled data volume as the target buffer includes: If there are multiple target buffers, determine the buffer with the lowest sorting in the target buffers as the finally scheduled buffer.
13. The method according to claim 9, wherein After performing probability shaping encoding on the currently scheduled data according to the bitstream probability interval and the symbol probability interval, further included is: Recombine the integer-encoded data according to the buffer channels.
Citation Information
Patent Citations
JPEG2000 image compression processing system
CN101365138A
Apparatus and method for shaping the probability distribution of a data sequence
CN110140330A