Data modulation and coding method and device
By disassembling the first data on the high -density disc into the secondary data of multi -way, and inserting the polar control bit into each road, the value is adjusted to meet the preset conditions. , Solving the problem of slow -encoding speed in existing technology, significantly increased the data reading and writing rate.
Patent Information
- Application Number
- CN202310923936.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-25
- Publication Date
- 2025-01-28
AI Technical Summary
The prior art is difficult to improve the read and write rate of data on high-density optical disks, especially since it can only be processed serially during the modulation and encoding process, resulting in a lower speed.
By disassembling the first data into multi -way second data, and inserting the polar control bits in each road second data, the value of the polar control bit is adjusted to meet the preset value and spectacularity, so as to achieve multiple The parallel adjustment code of the road second data.
The parallel adjustment coding of data is realized, which significantly increases the rate of data modulation coding, and solves the problem of low -speed problems caused by serial modulation codes.
Smart Images

Figure CN119382716A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing, and in particular to a method and device for data modulation and coding. Background Art
[0002] As the demand for the use of high-density optical discs continues to increase, the requirements for the read and write speed of data on high-density optical discs are getting higher and higher, which also puts higher requirements on the processing rate of channel encoding and decoding. Modulation coding is an important part of channel encoding and decoding. Improving the efficiency of modulation coding is an effective way to improve the read and write speed of data on high-density optical discs.
[0003] How to increase the modulation and coding speed of data becomes a problem that needs to be solved. Summary of the invention
[0004] The present application provides a method and device for data modulation and coding, which can improve the modulation and coding speed of data.
[0005] In a first aspect, the present application provides a method for data modulation and coding, comprising: splitting first data into multiple paths of second data; inserting a polarity control bit into each path of the second data after the splitting, and the value carried by the polarity control bit is used to adjust the number of first values in the corresponding path of the second data to meet the parity of the preset sum of the first value numbers; modulating and coding the multiple paths of second data according to the parity of the preset sum of the first value numbers.
[0006] Based on the characteristics of the modulation code with parity retention characteristics, the first data is split into multiple second data, and the value on the polarity control bit is adjusted so that the parity of the sum of the number of first numerical values in each second data conforms to the parity of the sum of the number of preset first numerical values. This is equivalent to being able to determine whether the starting state of the data to be encoded is the first state or the second state based on the known parity of the sum of the number of preset first numerical values, and then starting encoding based on the determined state. Therefore, parallel modulation and coding of multiple second data can be achieved, which effectively solves the low-speed problem caused by only serial modulation and coding of the first data, and effectively improves the data modulation and coding rate.
[0007] Optionally, the first data can be split into multiple paths of second data of the same number according to a preset first data splitting rule, such as dividing the first data equally into two, four or six paths of second data, etc.; or, the first data splitting rule can be set according to actual use requirements, and the data in the split multiple paths of second data can be the same or different, so as to flexibly respond to different modulation and coding requirements.
[0008] Optionally, a polarity control bit is inserted into the last bit of each path of second data, and is used to adjust the value on the corresponding polarity control bit after determining the parity of the first value in each path of split second data, so that the parity of the first value in each path of second data meets the parity of the sum of the preset first value quantity. In this way, it can be ensured that the starting state of the data to be modulated and coded is a certain value, based on which, modulation and coding can be started for multiple paths of data.
[0009] Optionally, performing modulation and coding on multiple channels of data simultaneously can maximize the speed of modulation and coding.
[0010] In a possible implementation, after the multiple channels of second data are modulated and encoded simultaneously, the multiple channels of modulated and encoded data are merged to obtain the required data, such as obtaining a sequence to be recorded on a disc and recording it on the disc.
[0011] In one possible implementation, the modulation and encoding of the multiple second data according to the parity of the sum of the preset first numerical quantity includes: splitting each of the second data into multiple direct current (DC) control blocks, and inserting a direct current control bit in each of the direct current control blocks, wherein each of the second data includes multiple rows, and each row includes a synchronization code; during modulation, judging each of the direct current control blocks to determine whether the value on the direct current control bit of each of the direct current control blocks is the first numerical value; if the parity of the sum of the preset first numerical quantity is is an odd number, encoding the multiple second data starts from the first state, and by adjusting whether the value on the polarity control bit is the first value, the sum of the first values in each parallel area is an odd number, and the parallel area includes the second data of the corresponding path, the synchronization code, the multiple DC component control bits and the polarity control bit; if the parity of the sum of the preset first values is an even number, encoding the multiple second data starts from the second state, and by adjusting whether the value on the polarity control bit is the first value, the sum of the first values in each parallel area is an even number.
[0012] Optionally, after the first data is split, multiple parallel second data are obtained, each of which is equivalent to being in a parallel region, each of which contains multiple rows of second data, and a synchronization code (SYNC) can be inserted at the first position of each row. In each region, the second data can be split into multiple DC component control blocks, and a DC component control bit is inserted at the end of each DC component control block, and a polarity control bit is inserted at the end of each second data. When comparing whether the parity of the sum of the first numerical quantity in each parallel region meets the parity of the preset sum of the first numerical quantity, the parity of the sum of the first numerical quantity in each second data, the first numerical quantity in the synchronization code, the first numerical quantity on the multiple DC component control bits, and the first numerical quantity on the polarity control bit should be compared with the parity of the preset sum of the first numerical quantity.
[0013] In one possible implementation, it also includes: setting a sliding window including multiple DC component control blocks, the sliding window contains the current DC component control block being modulated; setting a weight for each DC component control block in the sliding window, the weight of each DC component control block is determined according to the position of each corresponding DC component control block in the sliding window; obtaining a current total digital sum value according to the digital sum value (Digital SumValue, DSV) of the sliding window and the global digital sum value, wherein the current total digital sum value is used for the modulation, the digital sum value of the sliding window is obtained according to the weights of each DC component control block in the sliding window, and the global digital sum value is obtained according to the current DC component control block.
[0014] Optionally, the weight of each DC component control block can be preset, and then adjusted in real time according to current resources, delay and other requirements during modulation coding, so that the digital sum value calculated according to the weight is more accurate.
[0015] In a possible implementation, the plurality of DC component control blocks included in the sliding window are determined according to the current DC component block. The DC component control block included in the sliding window changes with the change of the DC component control block currently modulated. Optionally, the DC component control block currently modulated can be set in the middle position of the sliding window.
[0016] Optionally, the weights of each DC component control block in the sliding window can be set so that the weight of the first half of the sliding window increases from 0 to 1, and the weight of the second half decreases from 1 to 0. Since the weights of other DC component blocks adjacent to the current DC component block are high and the weights of other DC component blocks farther away are close to zero, the calculated digital sum value can be made more stable.
[0017] In one possible implementation, obtaining the current total digital sum value based on the weights of the DC component control blocks in the sliding window and the global digital sum value includes: for the first part of each parallel region, calculating according to a first preset algorithm to obtain the current total digital sum value; for the second part of each parallel region, calculating according to a second preset algorithm to obtain the current total digital sum value.
[0018] The first part and the second part in each parallel region can be set according to the use requirements, and the second part in each parallel region can be set to be the same or different. Optionally, the second part can be set to the last K DC component control blocks in each parallel region (K is a positive integer), and the first part is the DC component control blocks in each parallel region except the first part. The total digital sum value is calculated by assisting the sliding window with weights, and different weights are given to the DC component control blocks at different positions in the sliding window at different positions in the modulation process, which can reduce the drastic changes that may occur in the calculation of the total digital sum value when multiple parallel paths are used, and achieve better control effects of component control block control.
[0019] In a second aspect, the present application provides a device, comprising: a first splitting module, configured to split first data into multiple second data;
[0020] A first inserting module, used for inserting a polarity control bit into each of the split second data, wherein the value carried by the polarity control bit is used for adjusting the number of first values in the second data of the corresponding path to meet the parity of the sum of the preset first value number, and the value is determined by the processing module;
[0021] The modulation and coding module is used to modulate and code the multiple channels of second data according to the parity of the sum of the preset first numerical quantities.
[0022] In a possible implementation, the method further includes: a second splitting module, which is used to split each of the second data into multiple DC component control blocks; a second inserting module, which is used to insert a DC component control bit into each of the DC component control blocks, wherein each of the second data includes multiple rows, and each row includes a synchronization code; a DC component judgment module, which is used to judge each of the DC component control blocks during modulation to determine whether the value on the DC component control bit of each DC component control block is the first value; and the modulation coding module, which is specifically used to, if the parity of the sum of the number of preset first values is an odd number, The encoding of the multiple second data begins in the first state, and by adjusting whether the numerical value on the polarity control bit is the first numerical value, the sum of the number of the first numerical values in each parallel area is an odd number, and the parallel area includes the second data of the corresponding path, the synchronization code, the multiple DC component control bits and the polarity control bit; if the parity of the sum of the preset first numerical values is an even number, the encoding of the multiple second data begins in the second state, and by adjusting whether the value on the polarity control bit is the first numerical value, the sum of the number of the first numerical values in each parallel area is an even number.
[0023] In one possible implementation, it also includes: a sliding window digital sum value calculation module, which is used to set a sliding window including multiple DC component control blocks, and the sliding window contains the current DC component control block being modulated; a weight is set for each DC component control block in the sliding window, and the weight of each DC component control block is determined according to the position of each corresponding DC component control block in the sliding window; the DC component judgment module is specifically used to obtain a current total digital sum value according to the digital sum value of the sliding window and the global digital sum value, wherein the current total digital sum value is used for the modulation, the digital sum value of the sliding window is obtained according to the weights of each DC component control block in the sliding window, and the global digital sum value is obtained according to the current DC component control block.
[0024] In a possible implementation manner, the multiple DC component control blocks included in the sliding window are determined according to the current DC component block.
[0025] In one possible implementation, the DC component judgment module is specifically used to calculate the current total digital sum value for the first part of each parallel region according to a first preset algorithm; and to calculate the current total digital sum value for the second part of each parallel region according to a second preset algorithm.
[0026] In a third aspect, the present application provides a device, the device comprising at least one processing unit and a transceiver unit, the at least one processing unit and the transceiver unit are coupled, and when the at least one processing unit executes a program or instruction, the device implements part or all of the operations of the first aspect and any possible implementation of the first aspect. The device can be a device or a chip in a device.
[0027] In a fourth aspect, the present application provides a device, the device comprising a communication port and a processor, the communication port is used to perform the transceiver operations involved in the method described in any of the above aspects and any possible implementation of any aspect, and the processor is used to perform other operations other than the transceiver operations involved in the method described in any of the above aspects and any possible implementation of any aspect. For example, when the device is used as an apparatus to perform the method described in the first aspect, the processor is used to split the first data into multiple second data; insert a polarity control bit into each of the split second data, and the value carried on the polarity control bit is used to adjust the number of first values in the second data of the corresponding path to meet the parity of the sum of the preset first value number; according to the parity of the sum of the preset first value number, the multiple second data are modulated and encoded.
[0028] In a fifth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements part or all of the operations included in the method described in any of the preceding aspects and any possible implementation method of any of the preceding aspects.
[0029] In a sixth aspect, the present application provides a computer program product, which includes instructions, and when the computer program product is executed on a processor, implements part or all of the operations included in the method described in any of the preceding aspects and any possible implementation method of any of the preceding aspects.
[0030] In a seventh aspect, the present application provides a chip, comprising: a port circuit and a processor. The port circuit is connected to the processor, and the processor is used to enable the chip to execute part or all of the operations included in the method described in any of the above aspects and any possible implementation of any of the above aspects.
[0031] It should be understood that the second to seventh aspects of the present application are consistent with or corresponding to the technical solutions of the first aspect of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar, which will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0033] Figure 1 It is a flowchart of a data modulation and coding method provided in an embodiment of the present application;
[0034] Figure 2 This is a schematic diagram of a data structure of two paths of second data obtained after splitting provided by an embodiment of the present application;
[0035] Figure 3 It is a schematic diagram of a DC judgment process provided by an embodiment of the present application;
[0036] Figure 4 It is a flowchart of a DSV calculation method provided in an embodiment of the present application;
[0037] Figure 5 is a structural schematic diagram of a sliding window provided in an embodiment of the present application;
[0038] Figure 6 It is a flowchart of a total DSV calculation method provided in an embodiment of the present application;
[0039] Figure 7 is a schematic diagram of the structure of another device provided in an embodiment of the present application;
[0040] Figure 8 The embodiment of the present application provides a flow chart of another method for data modulation and coding;
[0041] Fig. 9 is a schematic diagram of the structure of another device provided in an embodiment of the present application;
[0042] Fig.10 is a schematic diagram of the structure of the device 20 according to an embodiment of the present application;
[0043] Fig.11 is a schematic diagram of the structure of the device 30 according to an embodiment of the present application;
[0044] Fig.12 It is a structural schematic diagram of a device 40 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0045] In order to enable those skilled in the art to better understand the solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments.
[0046] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0047] The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects rather than to describe a specific order of objects. For example, a first target object and a second target object are used to distinguish different target objects rather than to describe a specific order of target objects.
[0048] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0049] In the description of the embodiments of the present application, unless otherwise specified, the meaning of "multiple" refers to two or more than two. For example, multiple processing units refer to two or more processing units; multiple systems refer to two or more systems.
[0050] For ease of understanding, the following first explains the relevant nouns or terms used in the embodiments of the present application:
[0051] 1. Error Correction Code (ECC) Cluster
[0052] A single data block obtained by error correction coding of a data stream is defined as an ECC cluster. In the embodiment of the present application, the ECC cluster can be used as the original data input for modulation.
[0053] 2. Non Return to Zero Inverting (NRZI) encoding
[0054] This coding method is for modulation coding, and a jump occurs every time a "1" signal is encountered; it remains unchanged when a "0" signal is encountered.
[0055] 3.DSV
[0056] For NRZI-encoded data, every time a "1" DSV is encountered, 1 is added, and every time a "0" DSV is encountered, 1 is subtracted.
[0057] 4. DC control bit
[0058] The DC control bit is used to be inserted into the ECC cluster. Its value can be "0" or "1". Its function is to help control DSV through its value.
[0059] 5. DC control block: 45 bits of original data and 1 bit of DC control bit form a DC control block. During modulation, the data of a DC control block is sent to the modulation unit together.
[0060] 6. Polarity control bit: It replaces the function of part of the DC control bit. Its value can be "0" or "1". Its function is to control the parity of the number of "1" in the modulated original data.
[0061] 7. Synchronous code
[0062] It is a special 30-bit code used to identify the start of a data frame.
[0063] 8. Parity
[0064] The number of "1"s in the data is an odd number or an even number, or the number of "0"s in the data is an odd number or an even number.
[0065] The data modulation and coding method provided in the embodiment of the present application can be applied in different data modulation and coding scenarios. The embodiment of the present application takes the case where the data to be modulated and coded is the first data, and when performing modulation and coding, the encoding is started based on the parity of the number of "0" or "1" in the data (such as modulation and coding through NRZI coding) as an example for explanation. Figure 1 is a flow chart of a data modulation and coding method provided in an embodiment of the present application, such as Figure 1 As shown, the method includes but is not limited to steps S101 to S103.
[0066] Optionally, the subject that performs the following operations may be a device, equipment, chip, etc. The embodiment of the present application is described using the subject as a device as an example. When other forms of subjects perform operations, they can refer to this example and are not limited to the example.
[0067] S101. The device splits first data into multiple second data.
[0068] Optionally, the first data may be various types of data that need to be modulated and coded, such as the first data may be an ECC cluster.
[0069] In some examples, first data, such as an ECC cluster, can be split according to a first data splitting rule to obtain multiple second data. For example, the first data splitting rule can be to divide the ECC cluster into two equal-sized areas, each area including the same amount of data. Assume that an ECC cluster includes 496 rows, each row includes N bits of data, where N is a positive integer greater than 1. According to the first data splitting rule, the ECC cluster can be evenly divided into two areas. The first area includes rows 1 to 298, each row includes N bits of data, and the second area includes rows 299 to 496, each row includes N bits of data, which is equivalent to splitting the first data to obtain two parallel second data. The first second data can be recorded as second data A, including data in the first area, and the second second data can be recorded as second data B, including data in the second area. Alternatively, the first preset rule may be to divide the ECC cluster into four areas of equal size, each area including the same amount of data, or the first preset rule may be to divide the ECC cluster into six areas of different sizes, each two areas including the same amount of data, etc. The first data splitting rule may be set according to actual usage requirements and is not limited to the examples in the embodiments of the present application.
[0070] S102, the device inserts a polarity control bit into each split second data, and the value carried by the polarity control bit is used to adjust the number of first values in the second data of the corresponding path to meet the parity of the preset sum of the first value number.
[0071] In some actual usage scenarios, the first data is processed serially and modulation and coding are performed. The method of serial modulation and coding includes: before the modulation starts, the unmodulated original data (such as the first data provided in the embodiment of the present application) can be divided into multiple DC control blocks, and a DC control bit is inserted at the end of each DC control block. If each DC control block includes 45 bits of first data, it is necessary to insert a 1-bit DC control bit after every 45 bits of data, and the value carried by the DC control bit can be 0 or 1. Taking one of the DC control blocks as an example, if the DC control block is recorded as DC control block 1, and DC control block 1 also includes DC control block 2, the value carried on the DC control bit of DC control block 1 is first taken as 0 and 1 respectively, and the DSV of DC control block 1 when the value on the DC control bit of DC control block 1 is 0, and the DSV of DC control block 1 when the value on the DC control bit of DC control block 1 is 1 are calculated respectively, and then the obtained DSV of DC control block 1 is summed with the total DSV obtained previously, and the DC control bit value corresponding to the value with the smallest absolute value in the summation result is selected as the value result of the DC control bit, and the total DSV is updated. For example, after calculating the DSV of DC control block 2, the total DSV is -7. When the value of the DC control bit of DC control block 1 is 0, the DSV of DC control block 1 is 5. When the value of the DC control bit of DC control block 1 is 1, the DSV is 3. After summing with the total DSV of -7, -2 and -4 are obtained respectively. The value of DC control block 1 corresponding to the smaller absolute value, i.e., -2, is selected. That is, the value of the DC control bit of DC control block 1 is confirmed to be 0 after DC judgment, and the total DSV is updated to -2, and so on, until the first data is completely calculated. Since in this method, the calculation result of the total DSV depends on the calculation result of the DSV of the previous DC control block, when performing modulation coding in this way, all data in the first data must be processed in serial order (i.e., during modulation coding, only one NRZI encoder can be used to serially process the entire first data). If the processing of the previous data is not completed, the subsequent data cannot be calculated, and the first data cannot be processed in parallel, resulting in slow processing speed and low efficiency. In order to solve this problem, the embodiment of the present application splits the first data into multiple second data according to the method of S101, and inserts a polarity control bit into each second data, such as at the end of the second data, so as to adjust the parity of the sum of the number of first values in the corresponding second data to conform to the parity of the sum of the number of first values by adjusting the value on each polarity control bit to 0 or 1, so that after splitting, modulation and coding of multiple second data are realized. Furthermore, the device can realize modulation and coding of multiple parallel second data at the same time based on the value on the modulation polarity control bit to improve the speed of modulation and coding.
[0072] For example, if an ECC cluster is split into two parallel second data according to the first data splitting rule, parallel regions (including parallel region A and parallel region B) are obtained, Figure 2 is a schematic diagram of a data structure of a two-way parallel region obtained after splitting provided by an embodiment of the present application, such as Figure 2 As shown, each parallel region (including parallel region A and parallel region B) includes multiple rows of second data, a synchronization code (SYNC) can be inserted into the first position of each row, and each row includes a plurality of DC control blocks, each DC control block includes a bit carrying the second data and a DC control bit ( Figure 2 A polarity control bit ( Figure 2 (Simply denoted as X in the figure).
[0073] S103: The device presets the parity of the sum of the first numerical quantities and performs modulation and encoding on multiple channels of second data.
[0074] In some examples, there is a modulation code with parity preservation characteristics, such as a 17PP modulation code. The second data is modulated and encoded using a 17PP modulation code, and the number parity of "1" in the second data is the same as the number parity of "1" after modulation and encoding, and the number parity of "0" in the second data is also the same as the number parity of "0" after modulation and encoding. Based on the characteristics of the modulation code with such parity preservation characteristics, it is possible to adjust whether the polarity control bit is the first value (i.e., the polarity control bit is the first value or the second value, when the first value is 1, the second value is 0, and when the second value is 0, the first value is 1), so that the parity of the sum of the number of first values in each parallel region meets the parity of the preset sum of the number of first values, and the sum of the number of first values in the parallel region mentioned here includes: the sum of the first value in the second data, the number of first values on the DC control bit inserted in the second data, the number of first values in the synchronization code, and the number of first values on the polarity control bit. For example, there are 100 "1"s in the second data, and after modulation and encoding, there are still 100 "1"s. If NRZI encoding is used, according to the characteristic of NRZI encoding that it jumps once when encountering a "1" signal and remains unchanged when encountering a "0", it is only necessary to determine whether the sum of the number of "1" or "0" in each second data is an odd number or an even number, so as to determine the number of jumps to be performed for NRZI encoding. If the sum of the number of "1" is an odd number, the NRZI encoding can be set to start from the first state, and the first state can be a jump, that is, the NRZI encoding starts from the jump. If the sum of the number of "1" is an even number, the NRZI encoding can be set to start from the second state, and the second state can be unchanged, that is, the NRZI encoding starts from remaining unchanged. For example, if the current input voltage is a low voltage and encounters a "1", the next NRZI encoding starts from a jump, that is, a jump to a high voltage. On the contrary, if it encounters a "0", it will remain at a low voltage. Based on this feature, the device can set the preset sum of the first numerical values in advance, and by adjusting the value on the polarity control bit of each channel of second data, the parity of the sum of the first numerical values in each parallel area is made the same as the preset sum of the first numerical values. This can ensure that each NRZI encoding starts with a jump, or starts from keeping the current voltage unchanged. Based on the known starting state of NRZI encoding for each channel of data, each channel of second data can start modulation encoding at the same time.For example, the first value is set to 1, and each NRZI encoding needs to start from keeping the current voltage unchanged, and the parity of the sum of the number of preset first values is an even number, that is, the sum of the number of "1" is an even number, then the sum of the number of "1" in each second data should be an even number. Assume that the second data A includes 100 "1", and the number of "1" in the inserted synchronization code and DC control bit is an odd number, then in order to make the parity of the sum of the number of preset first values an even number, the value on the polarity control bit of the second data A is determined to be 1; the second data B includes 102 "1", and the number of "1" in the inserted synchronization code and DC control bit is an even number, then in order to make the parity of the sum of the number of preset first values an even number, the value on the polarity control bit of the second data B is determined to be 0. The first value is set to 0, or the parity is determined to be an even number, and so on, which will not be repeated.
[0075] In a possible implementation, the device determines the sum of the number of first values in each parallel region and also needs to determine the value carried by the DC control bit of each DC control block, wherein the DC control bit can be inserted at the end of each DC control block. That is, the device inserts 0 or 1 into the DC control bit of each DC block in each channel of second data to determine the value of the DC control bit of each DC block, that is, to perform a DC judgment to determine whether the value of the DC control bit is the first value (that is, the DC control bit is the first value or the second value, when the first value is 1, the second value is 0, and when the second value is 0, the first value is 1). If reference Figure 2 The first data is split into parallel region A and parallel region B, and the value of the DC control bit of each DC block can be determined by referring to the following example: Taking parallel region A as an example for explanation, the modulation coding of the data in parallel region B refers to the first data A and is not expanded. On each DC control bit in parallel region A, write data "0" and data "1" respectively for DC judgment. For example, taking the judgment of DC control block 1 as an example, the DC control bit of DC control block 1 takes values of 0 and 1 respectively, corresponding to the first data stream with a DC control bit of "0" and the second data stream with a DC control bit of "1". Then, the DSV calculation is performed on the first data stream and the second data stream respectively, and the DSV calculation result includes the sum of the current first data stream and the current total DSV. For example, a DC control block can be composed of 45 bits of pre-modulation data (i.e., the second data of the corresponding path) and 1 bit of DC control bit. Each 46-bit DC control block is the minimum unit for DC judgment. Reference Figure 2In the parallel region A in the current window, the DC control block currently performing DC judgment (including DSV calculation) is defined as the DC control block performing modulation in the current window, and the first DC control block in the parallel region A is defined as DC control block 1. By analogy, if the current window is calculating DC control block 298, the DVS of the first data stream with a DC control bit of 0 is 10, and the DVS of the second data stream with a DC control bit of 1 is -6. The current total DSV (i.e., the sum of the DSVs from DC control block 1 to DC control block 297, such as -7) calculated previously are added together, and the DSV with the smallest absolute value of the sum of DSVs is selected to update the current total DSV, and the corresponding DC control bit value is determined. For example, the sum of the DVS of the first data stream and the current total DSV is 3, and the sum of the DSV of the second data stream and the current total DSV is -13. No further details are given. During modulation, in order to make the number of "1" and "0" in the data finally encoded by NRZI as close as possible, the DSV with the smallest absolute value is selected as the value on the DC control bit. Therefore, the value with a small absolute value, i.e. -13, is selected as the current total DSV, and the DC control bit value of DC control block 298 is judged to be 0, and the decisions of other DC control blocks are similar.
[0076] In a possible implementation, the device inserts 0 or 1 into the DC control bit of each DC block in each channel of the second data, and determines which modulation code is used by the DC control block when the DC control bit of a DC control block is inserted with "0", and which modulation code is used by the DC control block when the DC control bit of a DC control block is inserted with "1". The process of making a DC decision can refer to Figure 3 , Figure 3 is a schematic diagram of a DC decision process provided by an embodiment of the present application, such as Figure 3 As shown, the device can make judgments on each DC control block under different DC control bit values, that is, make judgments on variable length codes based on each DC control block to determine the modulation code suitable for each DC control block. For example, referring to the modulation code table, it is determined which modulation code is used when the DC control bit of a DC control block is inserted into "1" and "0" respectively. After calculating the DSV and determining the value according to the above example, the DC control block is encoded according to the modulation code corresponding to "1" or "0". For example, the DC judgment can be made by referring to the 17PP modulation code table. Table 1 is an example of the 17PP modulation code table.
[0077] Table 1
[0078]
[0079] For example, if a DC control block 1 is judged, the DC control block 1 includes 45 bits of data and 1 is a DC control bit, and the DC control bit has a value of "1" or "0", the DC judgment can be performed from short to long, for example, referring to Table 1, the data before modulation coding in the DC control block 1, called the original data (including the second data obtained by splitting before and the "1" or "0" carried on the DC control bit) is converted into a modulation code, referring to Figure 3 , the 2-bit original data can be converted into a 3-bit modulation code in sequence. If the first two bits of original data in DC control block 1 meet the requirements of converting the 2-bit original data into a 3-bit modulation code, then 2-to-3 encoding can be performed, such as modulating and encoding the second data in DC control block 1 through a 2-3 encoder. If the original data in control block 1 does not meet the requirements of converting the 2-bit original data into a 3-bit modulation code, then the replacement table is used to replace whether it meets the requirements of converting the 6-bit original data into a 9-bit modulation code. If it does not meet the requirements, then look back two bits, that is, make a judgment through the first four bits of data in DC control block 1, until the corresponding modulation code is found, and so on. The judgment can refer to Figure 3 , and decisions such as 4 to 6, 6 to 8, or 8 to 12 can also be made according to code tables of other variable-length codes, until the modulation code of the DC control block 1 is found, and then the next DC control block is decided to obtain the modulation code of each DC control block, and then NRZI encoding is performed according to the modulation code corresponding to the final DC control bit value of each DC control block.
[0080] Optionally, based on the fact that the parity of the sum of the first numerical quantities in each channel of second data meets the parity of the sum of the preset first numerical quantities, multiple channels of second data can be NRZI encoded. For example, after the first data is split into two channels of second data, the two channels of second data are NRZI encoded at the same time, and finally the two channels of encoded data are merged to obtain the data to be used, such as the sequence recorded on the optical disc. Alternatively, after the first data is split into four channels of second data, the four channels of second data are NRZI encoded at the same time, and finally the four channels of encoded data are merged to obtain the data to be used. When merging data, the order of splitting can be referred to for restoration and merging. For example, if the first data is split into the following: Figure 2 As shown in the parallel region A and the parallel region B, and the parallel region A is the first half of the first data, and the parallel region B is the second half of the first data, then when merging, the data modulated and encoded according to the parallel region A are placed in front, and the data modulated and encoded according to the parallel region B are placed in the back for merging.
[0081] By splitting the first data into multiple channels of second data, based on the adjustment of the value on the polarity control bit, the parity of the sum of the number of first values in each channel of second data meets the parity of the preset sum of the number of first values. When each channel of second data uses the preset sum of the first values to determine the start of NRZI encoding, although it is impossible to determine the exact number and position of the first value ("1" or "0") appearing in each channel of second data, by knowing the parity of the number of first values in each channel of second data, it is possible to know whether the NRZI encoding will jump before and after the second data, and then start modulation and encoding with a determined starting state (jump or unchanged). Therefore, it is possible to modulate and encode multiple parallel channels of second data at the same time, effectively improving the speed of modulation and encoding. When used in scenarios such as high-density optical disc reading and writing, it can also effectively improve the reading and writing rate of data on high-density optical discs.
[0082] In a possible implementation, based on the method provided in the embodiment of the present application, the data after multi-channel parallel modulation and encoding needs to be written in serial order, such as referring to Figure 1 The method provided finally merges the recorded sequences after modulation and coding, and the recorded sequences need to be written into the optical disc in serial order. Therefore, when performing DSV calculation, the embodiment of the present application provides a DSV calculation and selection strategy, which can obtain output data with a smaller DSV in the serial sequence when multiple channels are modulated and coded in parallel, so as to ensure that after multiple channels are modulated and coded in parallel, the overall data fluctuation is not large when written in serial, and maintain good writing stability.
[0083] Figure 4 is a flow chart of a DSV calculation method provided in an embodiment of the present application, such as Figure 4 As shown, the method includes: S201 to S203.
[0084] S201. The device sets a sliding window including multiple DC control blocks, where the sliding window includes a current DC control block being modulated.
[0085] In some examples, the size of the sliding window, that is, the number of DC control blocks included in the sliding window, can be determined according to the first data splitting rule. Figure 2 If there are two parallel regions as shown, the size of the sliding window can be set to the size of each parallel region, or the sliding window can include Figure 2 The size of the partial data included in the parallel region A or the parallel region B shown, for example, the sliding window may include the synchronization code of each row in the parallel region A, the inserted DC control bit and the second data in the region.
[0086] For example, if an ECC cluster is split into four parallel second data according to the first data splitting rule, the size of the sliding window is 1 / 4 of the length of the ECC cluster, that is, when an ECC cluster includes 13888 DC control blocks, a sliding window includes 3472 DC control blocks. If the current DC control block is the 3000th DC control block in each second data, then the first sliding window can be set to a window containing the 3000th DC control block in the first second data, such as Figure 5 As shown ( Figure 5 The number of DC control blocks is an example, not all of them are shown, and Figure 5 Taking the first sliding window in the first path of second data as an example, the other three sliding windows are respectively located on the corresponding paths of second data and at corresponding positions of the first sliding window. Figure 5 (not shown), the first sliding window includes 1736 DC control blocks before the 3000th DC control block and 1735 control blocks after the 3000th DC control block. The second sliding window in the second path of second data, the third sliding window in the third path of second data, and the fourth sliding window in the fourth path of second data can all refer to the first sliding window, and will not be repeated here.
[0087] Optionally, the DC control blocks included in the sliding window will change with the change of the currently modulated DC control block. For example, when the modulation reaches the Mth DC control block, the sliding window contains the (M-1736) DC control blocks before the current DC control block and the (M-1735) DC control blocks after the current DC control block, where M is a positive integer determined according to the size of the sliding window, 1736 and 1735 are examples, and the size of the sliding window is determined according to the first data splitting rule and the size of the first data. Taking the currently modulated DC control block as the center of the sliding window is an example, but it is not limited to this.
[0088] S202: The device sets a weight for each DC control block in the sliding window, and the weight of each DC control block is determined according to the position of each corresponding DC control block in the sliding window.
[0089] Optionally, when setting the device, the weight of the first half of the sliding window (i.e., the DC control block before the current DC control block) can be increased from 0 to 1, and the weight of the second half (i.e., the DC control block after the current DC control block) can be decreased from 1 to 0. For example, in the first half of the sliding window, the weight of the p-th DC control block is p / 1736 according to the position, and in the second half of the sliding window, the weight of the q-to-last DC control block is q / 1735 according to the position, where 0≤p≤1736 and 0≤q≤1735. Alternatively, in the front part of the sliding window, the weight changes from 0 to 1 times, and in the second half of the sliding window, the weight decreases from 2 times to 1 times. Setting the weight of each DC control block in the sliding window in this way can reduce the dependence on the calculation results of the DC control block before the current DC control block, that is, whether the DVS value of the DC control block before the current DC control block is well controlled or not, it belongs to the calculated value and does not need too much reference, so the weight is set smaller, and after the current DC control block, the DSV of the DC control block that has not been modulated needs to be controlled better, so the weight of the second half of the sliding window is increased. Setting the weight of each DC control block in the sliding window in this way is conducive to better control of the DSV of the sliding window.
[0090] Optionally, the weights of the DC control blocks at each position in the sliding window can be predetermined before modulation, and during real-time calculation, the weights can be adjusted and determined according to current resource, delay and other requirements. When the current DC control block changes, since the total number of DC control blocks in the sliding window does not change, the weights of each DC control block in the sliding window are still determined according to the preset and changed positions of the current DC control block, and the DSV is calculated.
[0091] S203. The device obtains a current total DSV according to the DSV of the sliding window and the global DSV, wherein the DSV of the sliding window is obtained according to the weight of each DC control block in the sliding window, and the global DSV is obtained according to the current DC control block.
[0092] For example, the total DSV can be referenced Figure 6 And formula 1 is obtained.
[0093] Total DSV = sliding window DSV * weight + global DSV * weight Formula 1
[0094] Among them, the DC control blocks included in the sliding window and their weights are determined with reference to the S202 example. If there are 3472 DC control blocks in the sliding window, the sliding window DSV is obtained by multiplying the 3472 DC control blocks by their corresponding weights and then adding them together, that is, the sliding window DSV is obtained by multiplying each DC control block in the sliding window by its weight and finally adding them together. The global DSV is obtained according to the current DC control block of each parallel region, which means the DSV of all DC control blocks starting from the first DC control block of the second data of the first path to the current DC control block of each path. For example, if there are four parallel paths of second data, for each path of second data, the DC control block currently being modulated is the 3000th DC control block of the path. For the first path of second data, the global DSV refers to the sum of the DSVs from the first DC control block in the first path of second data to the 3000th DC control block in the first path of second data. For the second path of second data, the global DSV refers to the sum of the DSVs from the first DC control block in the first path of second data to the 3000th DC control block in the second path of second data. The DSV sum of the DC control blocks that have not started modulation is optionally taken as 0. Assuming that there are 3472 DC control blocks in each path of second data, the global DSV of the second data of the second path should be the sum of the DSVs of the first 3000 DC control blocks of the first path, the sum of the 3001st DC control block of the first path to the 3472nd DC control block of the first path (i.e., the DSV of the DC control block that has not started modulation is 0) and the sum of the DSVs of the first 3000 DC control blocks of the second path.
[0095] Optionally, in order to better balance the smooth change of DSV within and between parallel regions, the total DSV can also be calculated for different parts of the data in each parallel region according to the first preset algorithm or the second preset algorithm. As shown in the above example, the first data is split into four paths of second data, and four paths of parallel second data are obtained. Each path of parallel second data and the data on the inserted DC control bit (i.e., "1" or "0" value) are taken as a parallel region. For the first part in each parallel region, the total DSV is obtained according to the first preset algorithm, and the first preset algorithm includes formula 2. For the second part in each parallel region, the total DSV can be obtained according to the second preset algorithm, and the second preset algorithm includes formula 3.
[0096] Total DSV = sliding window DSV * 90% + global DSV * 10% Formula 2
[0097] Total DSV = sliding window DSV * 50% + global DSV * 50% Formula 3
[0098] Optionally, the first part and the second part in each parallel region can be set according to the use requirements, and the second part in each parallel region can be set to be the same or different. In the embodiment of the present application, the second part is the last K (positive integer) DC control blocks in each parallel region, such as 70, and the first part is the DC control blocks in each parallel region except the first part. Figure 5 As shown, in the first sliding window of the first parallel area, in the second half of the first parallel area, the total DSV belonging to the last 70 DC control blocks is calculated according to formula three, and the total DSV not belonging to the last 70 DC control blocks is calculated according to formula two.
[0099] Optionally, if the second half of the sliding window includes the last DC control block of a certain parallel region, such as the last 70 DC control blocks of the first parallel region, the weight of the DC control blocks in the second half gradually decreases from 1 to 0, and if the second half of the sliding window includes the first DC control blocks of a certain parallel region, such as the first 1000 DC control blocks of the second parallel region, the weight of the DC control blocks in the second half of the sliding window gradually decreases from 2 to 1. According to the different positions of the sliding window, DSV is calculated according to different budget algorithms and the weight of each DC control block is assigned according to different weights, which can achieve better DC control effect.
[0100] The embodiment of the present application obtains the total DSV by jointly calculating the sliding window DSV and the global DSV, so that when modulation and coding are performed in parallel on multiple channels, the values between each channel of second data are relatively stable and will not undergo drastic changes. For example, after splitting the first data, two channels of parallel second data are obtained, and 4 DC control blocks are divided out of each channel of second data. That is to say, the first data includes a total of 8 DC control blocks. Assuming that the DSV of each DC control block of the first channel of second data is -2, -1, 3, 0, the total DSV is 0, and the DSV of each DC control block of the second channel of second data is 4, 2, -3, -3, and the total DSV is still 0. However, when serially writing to the optical disc, the first channel of second data is written first, and then the second channel of second data is written. At the position near the end of the first channel of second data and the beginning of the second channel of second data, the total DSV may be the last two DC control blocks of the first channel of second data and the first two DC control blocks of the second channel of second data, that is, 3+0+4+2=9. This means that the number of "1"s in this interval is much greater than that of "0". The total DSV control is poor when writing this section, which affects the writing. Therefore, the total DSV is obtained by jointly calculating the sliding window DSV and the global DSV. Based on the continuously sliding sliding window, the total DSV of the DC control block in each path and the total DSV when each path intersect can be taken into account, so that the total DSV of each part of the parallel area is relatively smoothly controlled within a small absolute value range, that is, when calculating the total DSV, the global situation of the entire first data (such as the entire ECC cluster) can be perceived, avoiding the situation where the DSV control in one parallel area is very good, but the DSV control between the second data of the entire multi-path parallel is poor due to the inability to perceive the global situation. The embodiment of the present application assists the calculation of the total DSV through a sliding window with weights, and during the modulation process, according to the changes of the current DC control block being modulated, the weights of the DC control blocks at different positions in the sliding window are changed in real time, so that the calculation of the total DSV can assist in obtaining a better DC control effect, thereby ensuring that after the modulation encoding of the multi-path parallel, the efficiency of serial writing is higher.
[0101] Figure 7 is a schematic diagram of the structure of a device provided in an embodiment of the present application, such as Figure 7 As shown, the device 10 includes: a first splitting module 101 , a first inserting module 102 , a processing module 103 and a modulation and coding module 104 .
[0102] The first splitting module 101 is used to split the first data into multiple paths of second data.
[0103] For example, the first splitting module 101 may split the first data into multiple paths of second data according to the first data splitting rule.
[0104] The first insertion module 102 is used to insert a polarity control bit into each path of second data after splitting. The value carried by the polarity control bit is used to adjust the number of first values in the second data of the corresponding path to meet the parity of the sum of the preset first value numbers. The value is determined by the processing module 103.
[0105] The value of the polarity control bit of each path is determined by the processing module 103 according to the parity of the preset first numerical quantity and the quantity of first numerical quantities in the second data of the corresponding path and the quantity of first numerical quantities in the synchronization code. The adjustment method is referred to S103 and will not be expanded.
[0106] Optionally, the first inserting module 102 inserts a polarity control bit at the end of each channel of second data.
[0107] The modulation and coding module 104 is used to modulate and code the multiple channels of second data according to the sum of the number and parity of the preset first numerical values.
[0108] Optionally, the modulation and coding module 104 may include multiple modulation submodules and coding submodules to modulate and code each path of second data respectively, or multiple modulation and coding modules 104 are provided in the device to modulate and code each path of second data respectively.
[0109] The modulation and coding module 104 can perform modulation and coding on multiple channels of second data simultaneously.
[0110] refer to Figure 1 The method of steps S101 to S103, combined with Figure 7 The device 10 of the present application embodiment provides a flow chart of another method for data modulation and coding, such as Figure 8 As shown, after the first data enters the first splitting module 101, it is split into multiple second data, each of which is inserted with a polarity control bit by a first insertion module 102, and the multiple second data enter the modulation and coding module 104 for modulation and coding, and the polarity control bit value of each second data is determined by the processing module 103 according to the parity of the sum of the preset first numerical quantity.
[0111] It should be understood that Figure 7 The modules shown are only examples. The first splitting module 101, the first inserting module 102, the processing module 103 and the modulation and coding module 104 can refer to the method part in the embodiment of the present application to perform their operations, or perform variations of their operations. The first trusted node includes a pure trusted node and a terminal trusted node, which can be applied in Figure 1 or Figure 4 In the provided methods, as well as as apparatus for performing their operations, or performing variations of their operations.
[0112] In one possible implementation, Fig. 9 is a schematic diagram of the structure of another device provided in an embodiment of the present application, such as Fig. 9 As shown, the device 10 is Figure 7 On the basis of, it also includes: a second splitting module 105, a second inserting module 106, a DC component judgment module 107 and a sliding window digital sum value calculation module 108.
[0113] The second splitting module 105 is used to split each channel of second data into multiple DC control blocks.
[0114] The second inserting module 106 is configured to insert a DC control bit into each DC control block, wherein each channel of second data includes a plurality of rows, and each row includes a synchronization code.
[0115] Optionally, the second inserting module 106 inserts a DC control bit at the end of each DC control block.
[0116] The DC component determination module 107 is used to determine each DC control block during modulation to determine whether the value on the DC control bit of each DC control block is the first value.
[0117] The modulation and coding module 104 is specifically used to encode multiple channels of second data starting from the first state if the parity of the sum of the preset first numerical quantities is an odd number, and adjust the numerical value on the polarity control bit to be the first numerical value through the processing module 103, so that the sum of the number of first numerical values in each parallel area is an odd number, and the parallel area includes the second data of the corresponding path, a synchronization code, multiple DC control bits and a polarity control bit; if the parity of the sum of the preset first numerical quantities is an even number, the multiple channels of second data are encoded starting from the second state, and adjust the value on the polarity control bit to be the first numerical value through the processing module 103, so that the sum of the number of first numerical values in each parallel area is an even number.
[0118] In one possible implementation, the sliding window digital sum value calculation module 108 is used to set a sliding window including multiple DC control blocks, where the sliding window includes a sliding window of the current DC control block being modulated; a weight is set for each DC control block in the sliding window, and the weight of each DC control block is determined according to the position of each corresponding DC control block in the sliding window.
[0119] The DC component determination module 107 is specifically used to obtain the current total DSV according to the DSV of the sliding window and the global DSV, wherein the current total DSV is used to determine the DC control block during modulation, the DSV of the sliding window is obtained according to the weights of each DC control block in the sliding window, and the global DSV is obtained according to the current DC control block.
[0120] In one possible implementation, the sliding window includes multiple DC control blocks, and the multiple DC control blocks included are determined according to the current DC control block. When the current DC control block changes, the DC control blocks included in the sliding window also change with the change of the current DC control block. The number of DC control blocks included in the sliding window can be determined according to the first data splitting rule.
[0121] In a possible implementation, the DC component determination module 107 is specifically configured to calculate the current total DSV for the first part of each parallel region according to a first preset algorithm; and calculate the current total DSV for the second part of each parallel region according to a second preset algorithm.
[0122] It should be understood that Fig. 9 The modules shown are only examples, including the first splitting module 101, the first inserting module 102, the processing module 103, the modulation and coding module 104, the second splitting module 105, the second inserting module 106, the DC component determination module 107, and the sliding window digital sum value calculation module 108. The method in the embodiment of the present application can be referred to to perform its operation, or to perform a variation of its operation, such as the device 10 can be applied to Figure 1 or Figure 4 The operations performed in the provided methods, or variations of the operations performed, will not be described in detail.
[0123] In addition, if Fig.10 As shown, Fig.10 It is a schematic diagram of the structure of the device 20 according to an embodiment of the present application. Fig.10 The device 20 shown includes a transceiver unit 201 and a processing unit 202. The device 20 can be used to execute the methods S101 to S103 or S201 to S203 in the above embodiments. When the device 20 is used to execute the methods S101 to S103 or S201 to S203 in the above embodiments, the device 20 is equivalent to the device exemplified in the method.
[0124] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. The functional units in the embodiments of the present application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. For example, in the above embodiment, the transceiver unit 201 and the processing unit 202 can be the same unit or different units; the transceiver unit 201 and the processing unit 202 can be the same unit or different units. The above-mentioned integrated units can be implemented in the form of hardware, such as a chip, or in the form of software functional units.
[0125] In addition, the present application embodiment also provides a device 30, see Fig.11 As shown, Fig.11 It is a structural diagram of the device 30 of an embodiment of the present application. The device 30 includes a communication interface 301 and a processor 302 connected to the communication interface 301. The communication interface 301 can be a device such as a transceiver. The communication interface 301 can be used to execute the method in the above embodiment, and the processor 302 can be used to split the first data into multiple second data; insert a polarity control bit into each second data after the split, and the value carried on the polarity control bit is used to adjust the number of first values in the second data of the corresponding path to meet the parity of the preset first value number and the sum; according to the parity of the preset first value number and the sum, the multiple second data are modulated and encoded. Specifically, the communication interface 301 executes the operations for sending and receiving data in the method, and the processor 302 is used to perform operations other than the sending and receiving operations performed in the method provided in the above embodiment.
[0126] Optionally, the device may further include an encoder for performing modulation coding with reference to S103 and S201 - S203 .
[0127] In addition, the present application embodiment also provides a device 40, see Fig.12 As shown, Fig.12 40 is a schematic diagram of the structure of a device 40 provided in an embodiment of the present application. Fig.12As shown, the device 40 may include a processor 401, a memory 402 coupled to the processor 401, and a transceiver 403. The transceiver 403 may be a communication interface, an optical module, etc., for receiving messages or data information, etc. The processor 401 may be a central processing unit (CPU), a network processor (NP) or a combination of a CPU and a NP, for executing the forwarding processing related steps in the device exemplified in the above embodiment. The processor may also be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above PLD may be a complex programmable logic device (CPLD), a field programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof. The processor 401 may refer to one processor or may include multiple processors. The memory 402 may include a volatile memory, such as a random access memory (RAM); the memory may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); the memory 402 may also include a combination of the above-mentioned types of memories. The memory 402 may refer to a memory, or may include multiple memories for storing program instructions. In one embodiment, the memory 402 stores computer-readable instructions, and the computer-readable instructions include multiple software modules, such as a sending module, a processing module and a receiving module. After executing each software module, the processor 401 may perform corresponding operations according to the instructions of each software module. In this embodiment, the operation performed by a software module actually refers to the operation performed by the processor 401 according to the instructions of the software module. Optionally, the processor 401 may also store program codes or instructions for executing the embodiments of the present application. In this case, the processor 401 does not need to read the program codes or instructions from the memory 402.
[0128] The device 40 can be used to execute the method in the above embodiment. Specifically, the device 40 can be used as a device to execute the operations of methods S101 to S103, or the device 40 can be used as a device to execute the operations performed by the device in methods S101 to S203. For example, the device 40 is used to split the first data into multiple second data; insert a polarity control bit into each second data after the split, and the value carried by the polarity control bit is used to adjust the number of first values in the second data of the corresponding path to meet the parity of the preset sum of the first value number; modulate and encode the multiple second data according to the parity of the preset sum of the first value number.
[0129] An embodiment of the present application also provides a computer-readable storage medium, in which instructions are stored. When the computer-readable storage medium is executed on a processor, part or all of the operations in any of the methods in any of the aforementioned embodiments are implemented.
[0130] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed on a processor, implements part or all of the operations in any of the methods in any of the aforementioned embodiments.
[0131] The embodiment of the present application further provides a chip, including: an interface circuit and a processor. The interface circuit and the processor are connected, and the processor is used to enable the chip to perform part or all of the operations in any method of any of the above embodiments.
[0132] An embodiment of the present application also provides a chip system, including: a processor, the processor is coupled to a memory, the memory is used to store programs or instructions, when the program or instructions are executed by the processor, the chip system implements part or all of the operations of any one of the methods of any one of the embodiments described above.
[0133] Optionally, the processor in the chip system may be one or more. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0134] Optionally, the memory in the chip system may also be one or more. The memory may be integrated with the processor or may be separately arranged with the processor, which is not limited in the embodiments of the present application. Exemplarily, the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be arranged on different chips respectively. The embodiments of the present application do not specifically limit the type of memory and the arrangement of the memory and the processor.
[0135] Exemplarily, the chip system can be an FPGA, an ASIC, a system on chip (SoC), a CPU, an NP, a digital signal processing circuit (DSP), a microcontroller (MCU), a programmable logic device (PLD) or other integrated chips.
[0136] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0137] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0138] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical business division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0139] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0140] In addition, each business unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software business units.
[0141] If the integrated unit is implemented in the form of a software business unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the technical solution of the present application can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, ROM, RAM, Random Access Memory, disk or CD-ROM and other media that can store program codes.
[0142] Those skilled in the art should be aware that in one or more of the above examples, the services described in this application can be implemented with hardware, software, firmware, or any combination thereof. When implemented using software, these services can be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any media that facilitates the transmission of computer programs from one place to another. Storage media can be any available media that a general or special-purpose computer can access.
[0143] The above specific implementation methods further describe in detail the purpose, technical solutions and beneficial effects of the present application. It should be understood that the above are only specific implementation methods of the present application.
[0144] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features thereof may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for data modulation and coding, characterized in that: include: Splitting the first data into multiple second data; Inserting a polarity control bit into each of the split second data, wherein the value carried by the polarity control bit is used to adjust the number of first values in the second data of the corresponding path to meet the parity of the sum of the preset first value number; The multiple channels of second data are modulated and encoded according to the parity of the sum of the preset first numerical quantities.
2. The method according to claim 1, characterized in that The modulating and encoding the multiple paths of second data according to the sum of the number and parity of the preset first numerical values comprises: Splitting each of the second data into a plurality of DC component control blocks, and inserting a DC component control bit into each of the DC component control blocks, wherein each of the second data includes a plurality of rows, and each row includes a synchronization code; During modulation, a judgment is made on each of the DC component control blocks to determine whether the value on the DC component control bit of each of the DC component control blocks is the first value; If the parity of the sum of the number of the preset first values is an odd number, the plurality of second data are encoded starting from the first state, and by adjusting whether the value on the polarity control bit is the first value, the sum of the number of the first values in each parallel region is an odd number, and the parallel region includes the second data of the corresponding path, the synchronization code, the plurality of DC component control bits and the polarity control bit; If the parity of the sum of the preset first numerical values is an even number, the multiple second data are encoded starting from the second state, and by adjusting whether the value on the polarity control bit is the first numerical value, the sum of the first numerical values in each parallel area is an even number.
3. The method according to claim 1 or 2, characterized in that: Also includes: Setting a sliding window including a plurality of DC component control blocks, wherein the sliding window includes the DC component control block currently being modulated; Setting a weight for each of the DC component control blocks in the sliding window, wherein the weight of each of the DC component control blocks is determined according to a position of each of the corresponding DC component control blocks in the sliding window; A current total digital sum value is obtained according to the digital sum value of the sliding window and the global digital sum value, wherein the current total digital sum value is used for the modulation, the digital sum value of the sliding window is obtained according to the weights of each DC component control block in the sliding window, and the global digital sum value is obtained according to the current DC component control block.
4. The method according to claim 3, characterized in that The plurality of DC component control blocks included in the sliding window are determined according to the current DC component block.
5. The method according to claim 3 or 4, characterized in that: The step of obtaining the current total digital sum value according to the weight of each DC component control block in the sliding window and the global digital sum value comprises: For the first part of each parallel region, the current total digital sum value is calculated according to a first preset algorithm; for the second part of each parallel region, the current total digital sum value is calculated according to a second preset algorithm.
6. A device, characterized in that: include: A first splitting module, used for splitting the first data into multiple second data; A first inserting module, used for inserting a polarity control bit into each of the split second data, wherein the value carried by the polarity control bit is used for adjusting the number of first values in the second data of the corresponding path to meet the parity of the sum of the preset first value number, and the value is determined by the processing module; The modulation and coding module is used to modulate and code the multiple channels of second data according to the parity of the sum of the preset first numerical quantities.
7. The device according to claim 6, characterized in that Also includes: A second splitting module, used for splitting each channel of the second data into a plurality of DC component control blocks; A second inserting module, configured to insert a DC component control bit into each of the DC component control blocks, wherein each of the second data includes a plurality of rows, and each row includes a synchronization code; a DC component determination module, used for determining each of the DC component control blocks during modulation to determine whether the value on the DC component control bit of each of the DC component control blocks is the first value; The modulation and coding module is specifically used to, if the parity of the sum of the preset first numerical quantities is an odd number, encode the multiple second data starting from the first state, and adjust whether the numerical value on the polarity control bit is the first numerical value so that the sum of the first numerical quantities in each parallel area is an odd number, and the parallel area includes the second data of the corresponding path, the synchronization code, the multiple DC component control bits and the polarity control bit; if the parity of the sum of the preset first numerical quantities is an even number, encode the multiple second data starting from the second state, and adjust whether the value on the polarity control bit is the first numerical value so that the sum of the first numerical quantities in each parallel area is an even number.
8. The device according to claim 6 or 7, characterized in that Also includes: A sliding window digital sum value calculation module, used for setting a sliding window including a plurality of DC component control blocks, wherein the sliding window includes the DC component control block currently being modulated; Setting a weight for each of the DC component control blocks in the sliding window, wherein the weight of each of the DC component control blocks is determined according to a position of each of the corresponding DC component control blocks in the sliding window; The DC component judgment module is specifically used to obtain a current total digital sum value based on the digital sum value of the sliding window and the global digital sum value, wherein the current total digital sum value is used for the modulation, the digital sum value of the sliding window is obtained based on the weights of each DC component control block in the sliding window, and the global digital sum value is obtained based on the current DC component control block.
9. The device according to claim 8, characterized in that The plurality of DC component control blocks included in the sliding window are determined according to the current DC component block.
10. The device according to claim 8 or 9, characterized in that The DC component determination module is specifically used to calculate the first part of each parallel region according to a first preset algorithm to obtain the current total digital sum value; For the second part of each parallel region, the current total digital sum value is calculated according to a second preset algorithm.